You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Go to file
Aaron Gable 873c28d175 Capture ctrl-c in presubmit multiprocessing pool
Presubmit spins up lots of multiprocessing processes to run
each individual test. If you cancel your presubmit run with
<ctrl>+c, that signal gets passed through to each of those,
which then raises its own KeyboardInterrupt, and prints its
own stacktrace.

This change has each member of the multiprocessing pool instead
exit gracefully (albeit with an error code) so that only the
parent process prints its stacktrace.

R=michaelpg@chromium.org

Bug: 635196
Change-Id: If9081910a359889a43bc1b72c91a859ebe37a1d6
Reviewed-on: https://chromium-review.googlesource.com/651764
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Aaron Gable <agable@chromium.org>
8 years ago
bootstrap/win Bump git on windows to 2.14.1. 8 years ago
fetch_configs Dart: Update the config for the "fetch dart" command. 8 years ago
git-templates
infra Roll recipe dependencies (trivial). 8 years ago
man
recipes Roll recipe dependencies (trivial). 8 years ago
support
testing_support gclient flatten: correctness fixes for OS-specific recursedeps 8 years ago
tests Capture ctrl-c in presubmit multiprocessing pool 8 years ago
third_party Update CQ proto to latest version 8 years ago
win_toolchain win_toolchain: remove old 7z binary 8 years ago
zsh-goodies
.gitattributes [bootstraps] Sync at gclient, suppress output (#2) 8 years ago
.gitignore
.style.yapf
LICENSE
OWNERS Add Nico and Scott to OWNERS for ninja related things 8 years ago
PRESUBMIT.py
README.gclient.md
README.git-cl.md
README.md
README.testing
WATCHLISTS
annotated_gclient.py
appengine_mapper.py
apply_issue
apply_issue.bat
apply_issue.py
auth.py
autoninja
autoninja.bat
autoninja.py
breakpad.py
buildbucket.py
cbuildbot
checkout.py
chrome_set_ver
cipd [cipd] Bump version, log at warning (#2). 8 years ago
cipd.bat Revert "[cipd] Bump version, log at warning." 8 years ago
cipd.ps1 [cipd] Bump version, log at warning (#2). 8 years ago
cipd_bin_setup.bat [cipd] Bump version, log at warning (#2). 8 years ago
cipd_bin_setup.sh [cipd] Bump version, log at warning (#2). 8 years ago
cipd_client_version Bump cipd client to 1.7.1 8 years ago
cipd_manifest.txt Update led tool to c9c1865b81113f02fd618259624170f59e2c832e. 8 years ago
cit
cit.bat
cit.py
clang-format
clang-format.bat
clang_format.py
clang_format_merge_driver
clang_format_merge_driver.bat
clang_format_merge_driver.py
codereview.settings
commit_queue
commit_queue.bat
commit_queue.py Update CQ proto to latest version 8 years ago
cpplint.bat
cpplint.py Remove presubmit check for DISALLOW_* macros 8 years ago
cpplint_chromium.py
cros
cros_sdk
dart_format.py
depot-tools-auth
depot-tools-auth.bat
depot-tools-auth.py
download_from_google_storage
download_from_google_storage.bat
download_from_google_storage.py
fetch
fetch.bat
fetch.py
fix_encoding.py
gclient
gclient-new-workdir.py
gclient.bat
gclient.py gclient: predefine host_os 8 years ago
gclient_completion.sh
gclient_eval.py
gclient_scm.py
gclient_utils.py gclient flatten: fixes for --pin-all-deps 8 years ago
gerrit_client.py depot_tools: Fix executable bit for gerrit_*.py 8 years ago
gerrit_util.py Don't send email from git-cl-description 8 years ago
git-cache
git-cherry-pick-upload
git-cl
git-crrev-parse Fix git-crrev-parse on Mac. 8 years ago
git-crsync
git-drover
git-find-releases
git-footers
git-freeze
git-gs
git-hyper-blame
git-map
git-map-branches
git-mark-merge-base
git-nav-downstream
git-nav-upstream
git-new-branch
git-number
git-rebase-update
git-rename-branch
git-reparent-branch
git-retry
git-runhooks
git-squash-branch
git-thaw
git-upstream-diff
git_cache.py
git_cherry_pick_upload.py
git_cl.py Add a --batch mode to `git-cl owners`. 8 years ago
git_cl_completion.sh
git_common.py
git_dates.py
git_drover.py
git_find_releases.py
git_footers.py git_footers: fix bug stdin-based message input. 8 years ago
git_freezer.py
git_hyper_blame.py
git_map.py
git_map_branches.py Update help text for git-map-branches 8 years ago
git_mark_merge_base.py
git_nav_downstream.py
git_new_branch.py
git_number.py
git_rebase_update.py
git_rename_branch.py
git_reparent_branch.py
git_retry.py
git_squash_branch.py
git_upstream_diff.py
gn
gn.bat
gn.py
gsutil.py
led [bootstraps] Sync at gclient, suppress output (#2) 8 years ago
led.bat [bootstraps] Sync at gclient, suppress output (#2) 8 years ago
my_activity.py Use https for short URLs wherever applicable (MoarTLS). 8 years ago
my_reviews.py
ninja Update ninja to v1.8.0. 8 years ago
ninja-linux32 Update ninja to v1.8.0. 8 years ago
ninja-linux64 Update ninja to v1.8.0. 8 years ago
ninja-mac Update ninja to v1.8.0. 8 years ago
ninja.exe Update ninja to v1.8.0. 8 years ago
owners.py
owners_finder.py
patch.py
presubmit_canned_checks.py [git cl format] Pass --presubmit flag when formatting from presubmit. 8 years ago
presubmit_support.py Capture ctrl-c in presubmit multiprocessing pool 8 years ago
profile.xml
pylint
pylint.py
pylintrc
python_runner.sh
repo
rietveld.py
roll-dep
roll-dep-svn
roll-dep-svn.bat
roll-dep.bat
roll_dep.py [roll-dep] Allow logs in ANGLE rolls 8 years ago
roll_dep_svn.py
scm.py
setup_color.py
split_cl.py Fix typo with --send-email [sic] flags 8 years ago
subcommand.py
subprocess2.py
update_depot_tools Fix quoting in update_depot_tools. 8 years ago
update_depot_tools.bat [bootstraps] Sync at gclient, suppress output (#2) 8 years ago
update_depot_tools_toggle.py
upload_to_google_storage.py
vpython [bootstraps] Sync at gclient, suppress output (#2) 8 years ago
vpython.bat [bootstraps] Sync at gclient, suppress output (#2) 8 years ago
watchlists.py
weekly
wtf

README.md

depot_tools

Tools for working with Chromium development. It requires python 2.7.

Tools

The most important tools are:

  • fetch: A gclient wrapper to checkout a project. Use fetch --help for more details.
  • gclient: A meta-checkout tool. Think repo or git submodules, except that it support OS-specific rules, e.g. do not checkout Windows only dependencies when checking out for Android. Use gclient help for more details and README.gclient.md.
  • git cl: A code review tool to interact with Rietveld or Gerrit. Use git cl help for more details and README.git-cl.md.
  • roll-dep: A gclient dependency management tool to submit a dep roll, updating a dependency to a newer revision.

There are a lot of git utilities included.

Updating

depot_tools updates itself automatically when running gclient tool. To disable auto update, set the environment variable DEPOT_TOOLS_UPDATE=0.

To update package manually, run update_depot_tools.bat on Windows, or ./update_depot_tools on Linux or Mac.

On Windows only, running gclient will install git and python.

Contributing

To contribute change for review:

git new-branch <somename>
# Hack
git add .
git commit -a -m "Fixes goat teleporting"
# find reviewers
git cl owners
git log -- <yourfiles>

# Request a review.
git cl upload -r reviewer1@chromium.org,reviewer2@chromium.org --send-mail

# Edit change description if needed.
git cl desc

# If change is approved, flag it to be committed.
git cl set-commit

# If change needs more work.
git rebase-update
...
git cl upload -t "Fixes goat teleporter destination to be Australia"

See also open bugs, open reviews, forum or report problems.

cpplint.py

To update cpplint.py, please submit the change upstream first at https://github.com/google/styleguide/tree/gh-pages/cpplint then copy it down.