Go to file
recipe-roller b61b09f11d Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/7d75cc6e379d1603027cb39420541ceaa8fd6a2c [swarming] enforce to set server if server is referred (tikuta@chromium.org)


TBR=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I72e8a523c2dd431b75c52a49b7bdb556683f7097
Reviewed-on: https://chromium-review.googlesource.com/c/1402101
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
bootstrap/win Deploy git 2.18 to prod win depot_tools users.
fetch_configs Don't fetch flash when fetching android_internal. (reland)
git-templates
infra Roll recipe dependencies (trivial).
man Update documentation of `git new-branch`
recipes Roll recipe dependencies (trivial).
support chromite_wrapper: add python3 support for except
testing_support owners.py: Use os.path.split to handle file separators correctly
tests [ninjalog_uploader] Add BuildTargetFromCommandLine function
third_party Revert "httplib: Update to 0.11.3"
win_toolchain Improve error message when a toolchain can't be found
zsh-goodies
.gitattributes Add autoninja* to .gitattributes.
.gitignore introduce ninjalog_uploader to autoninja
.style.yapf
CROS_OWNERS OWNERS: start a CrOS specific list for CrOS files in here
LICENSE
OWNERS [ninjalog] add ninjalog.README.md
PRESUBMIT.py [cipd] Bump CIPD client version to 2.2.8, add presubmit check for *.digests.
README.gclient.md
README.git-cl.md
README.md [cpplint] Fix regexp for class decorators
README.testing
WATCHLISTS Remove tandrii@ from watching git cl changes.
annotated_gclient.py
appengine_mapper.py
auth.py auth: request refresh tokens with expiry <3 minutes.
autoninja [ninjalog] disable log upload
autoninja.bat [ninjalog] disable log upload
autoninja.py autoninja: quote the arguments when needed.
breakpad.py
buildbucket.py buildbucket: add --response-json.
cbuildbot
checkout.py Use core.quotePath=false for more git diffs
chrome_set_ver
cipd [cipd] Check CIPD client hash against pinned SHA256 during updates.
cipd.bat [cipd] Check CIPD client hash during updates on Windows.
cipd.ps1 [cipd] More careful error handling during CIPD bootstrap on Windows.
cipd_bin_setup.bat
cipd_bin_setup.sh
cipd_client_version [cipd] Update CIPD client to v2.2.15.
cipd_client_version.digests [cipd] Update CIPD client to v2.2.15.
cipd_manifest.txt [led] Update led to latest version.
cipd_manifest.versions [led] Update led to latest version.
cit
cit.bat
cit.py [cit] Use subprocess2 to properly sink stdout.
clang-format
clang-format.bat
clang_format.py
clang_format_merge_driver
clang_format_merge_driver.bat
clang_format_merge_driver.py
codereview.settings
compile_single_file
compile_single_file.bat
compile_single_file.py
cpplint.bat
cpplint.py Update cpplint.
cpplint_chromium.py
cros
cros_sdk
dart_format.py
depot-tools-auth
depot-tools-auth.bat
depot-tools-auth.py
detect_host_arch.py Use lowercase machine architecture.
download_from_google_storage
download_from_google_storage.bat
download_from_google_storage.py AIX: Enable usage of fetch and gclient
ensure_bootstrap
fetch
fetch.bat
fetch.py Don't fetch tags when using --no-history.
fix_encoding.py
gclient gclient setdep doesn't need to update_depot_tools
gclient-new-workdir.py os.realpath => os.path.realpath in gclient-new-workdir.py
gclient.bat
gclient.py Fix the option name for gclient setdep.
gclient_completion.sh
gclient_eval.py gclient eval: Replace monorail with crbug.com in error message.
gclient_scm.py gclient: set the push url to the actual repository instead of the mirror.
gclient_utils.py Reland "gclient: Add commands to edit dependencies and variables in DEPS"
gerrit_client.py
gerrit_util.py git-cl: Set Code-Review label as a git push argument.
git-cache
git-cl
git-crrev-parse
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 Use system unzip on macOS
git_cl.py Fix git cl format following removal of Rietveld.
git_cl_completion.sh
git_common.py os.realpath => os.path.realpath in gclient-new-workdir.py
git_dates.py
git_drover.py Reland "Use core.quotePath=false when git is listing files"
git_find_releases.py
git_footers.py Let git_footers split final paragraphs in specific cases
git_freezer.py
git_hyper_blame.py git hyper-blame: Fix tabulation of Unicode characters in author name.
git_map.py
git_map_branches.py Extend documentation for `git map-branches`
git_mark_merge_base.py
git_nav_downstream.py metrics: Separate metrics collection and print notice logic.
git_new_branch.py Revert "Fix semantics of git new-branch --upstream"
git_number.py
git_rebase_update.py Add a feature to specify branches to be re-based
git_rename_branch.py
git_reparent_branch.py
git_retry.py
git_squash_branch.py
git_upstream_diff.py Fix minor regression in git_upstream_diff.
gn
gn.bat
gn.py Fix unhelpful error when gn.py run in wrong directory.
gsutil.py gsutil update default version to 4.30
gsutil.py.bat Add windows .bat file for gsutil.py.
gsutil.vpython Add the crcmod wheel for gsutil, to get it to shut up.
led
led.bat
luci-auth [luci-auth] Add statically-linked luci-auth CLI tool.
luci-auth.bat [luci-auth] Add statically-linked luci-auth CLI tool.
mac_toolchain
metrics.README.md metrics: Spell out PII.
metrics.py metrics: Collect git version.
metrics_utils.py [metrics] Use unicode box-drawing chars and goo.gl link instead
my_activity.py Add skia reviews to my_activity
my_reviews.py
ninja [ninja] update ninja repository url
ninja-linux32
ninja-linux64
ninja-mac
ninja.exe
ninjalog.README.md [ninjalog] add ninjalog.README.md
ninjalog_uploader.py [ninjalog_uploader] Add BuildTargetFromCommandLine function
ninjalog_uploader_wrapper.py [ninjalog] add ninjalog.README.md
owners.py owners.py: Use os.path.split to handle file separators correctly
owners_finder.py Skip files owned by reviewers when quering for missing owners.
patch.py
post_build_ninja_summary.py Improve post_build_ninja_summary.py's incremental build handling
presubmit_canned_checks.py Do not validate deleted configs
presubmit_support.py presubmit: Remove EnsureCQIncludeTrybotsAreAdded
profile.xml
prpc [prpc] Add pRPC CLI tool to depot_tools.
prpc.bat [prpc] Add pRPC CLI tool to depot_tools.
pylint
pylint.py
pylintrc pylint: reland upgrade to 1.5.6
python_runner.sh
repo repo: update launcher to v1.13.1
rietveld.py
roll-dep
roll-dep-svn
roll-dep-svn.bat
roll-dep.bat
roll_dep.py roll-dep: Use gclient setdep/getdep.
roll_dep_svn.py
scm.py git cl: add reviewers and ccs to git push command if possible.
setup_color.py
split_cl.py `git cl split`: Fix typos in cq_dry_run code
subcommand.py
subprocess2.py subprocess2: cache the string-escape codec at load time.
update_depot_tools fix fetch on aix
update_depot_tools.bat
update_depot_tools_toggle.py
upload_metrics.py Suppress URLErrors when uploading metrics.
upload_to_google_storage.py
vpython [vpython] Implement developer bypass parser in vpython wrapper.
vpython.bat
watchlists.py
weekly
wtf
yapf Update yapf version 0.22 -> 0.24
yapf.bat Fix git cl format --python on windows

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

Until 2018, our cpplint.py was a copy of the upstream version at https://github.com/google/styleguide/tree/gh-pages/cpplint. Unfortunately, that repository is not maintained any more. If you want to update cpplint.py in depot_tools, just upload a patch to do so. We will figure out a long-term strategy via issue https://crbug.com/916550.