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
Karen Qian 749139969f Stop using compression for git cache update bootstrap.
Change git cache to stop zipping the git directory and instead upload directly to GS.

Bug: 943696
Change-Id: I310fb48ff3d7fd6781914e14e0e17530d5d9b328
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1585029
Commit-Queue: Karen Qian <karenqian@google.com>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
6 years ago
bootstrap/win [gclient] enable git protocol version 2 for windows 6 years ago
fetch_configs Make fetch compatible with Python 3 6 years ago
git-templates
infra Roll recipe dependencies (trivial). 6 years ago
man Update documentation of `git new-branch` 6 years ago
recipes Roll recipe dependencies (trivial). 6 years ago
support chromite_wrapper: add python3 support for except 7 years ago
testing_support fake_repos: Create a new socket for every connection attempt while waiting for a port 6 years ago
tests Use the same git-cache bucket for authenticated and unauthenticated repos. 6 years ago
third_party Reland "httplib: Update to 0.11.3" 6 years ago
win_toolchain Fix a typo 6 years ago
zsh-goodies
.gitattributes Add autoninja* to .gitattributes. 6 years ago
.gitignore introduce ninjalog_uploader to autoninja 6 years ago
.style.yapf
CROS_OWNERS OWNERS: start a CrOS specific list for CrOS files in here 6 years ago
LICENSE
OWNERS [OWNERS] revive agable 6 years ago
PRESUBMIT.py [cipd] Bump CIPD client version to 2.2.8, add presubmit check for *.digests. 7 years ago
README.gclient.md
README.git-cl.md
README.md Update depot_tools README cpplint section 6 years ago
README.testing
WATCHLISTS Remove tandrii@ from watching git cl changes. 7 years ago
annotated_gclient.py
appengine_mapper.py
auth.py auth: request refresh tokens with expiry <3 minutes. 7 years ago
autoninja [autoninja] upload ninjalog even in failed build 6 years ago
autoninja.bat Set NINJA_STATUS for better build performance summarizing 6 years ago
autoninja.py autoninja: limit j value for mac 6 years ago
bb [bb] Deploy bb 6 years ago
bb.bat [bb] Deploy bb 6 years ago
breakpad.py
buildbucket.py buildbucket: add --response-json. 6 years ago
cbuildbot
checkout.py Use core.quotePath=false for more git diffs 7 years ago
chrome_set_ver
cipd [cipd] Check CIPD client hash against pinned SHA256 during updates. 7 years ago
cipd.bat [cipd] Check CIPD client hash during updates on Windows. 7 years ago
cipd.ps1 [cipd] More careful error handling during CIPD bootstrap on Windows. 7 years ago
cipd_bin_setup.bat
cipd_bin_setup.sh Fix depot_tools errors that cause runhooks to be inoperable for Cygwin 7 years ago
cipd_client_version [cipd] Update to 2.2.18. 6 years ago
cipd_client_version.digests [cipd] Update to 2.2.18. 6 years ago
cipd_manifest.txt [lucicfg] Bump lucicfg version v1.7.0 -> v1.7.1. 6 years ago
cipd_manifest.versions [lucicfg] Bump lucicfg version v1.7.0 -> v1.7.1. 6 years ago
cit
cit.bat
cit.py [cit] Use subprocess2 to properly sink stdout. 7 years ago
clang-format
clang-format.bat
clang_format.py Move gclient path access to separate module. 6 years ago
clang_format_merge_driver
clang_format_merge_driver.bat
clang_format_merge_driver.py
codereview.settings
compile_single_file Add a script to make it easier to build a single source file with ninja 8 years ago
compile_single_file.bat Add a script to make it easier to build a single source file with ninja 8 years ago
compile_single_file.py Add a script to make it easier to build a single source file with ninja 8 years ago
cpplint.bat
cpplint.py CppLint changes for VSCode cpplint plugin 6 years ago
cpplint_chromium.py
cros
cros_sdk
dart_format.py Move gclient path access to separate module. 6 years ago
depot-tools-auth
depot-tools-auth.bat
depot-tools-auth.py
detect_host_arch.py Improve gclient Python 3 compatibility 6 years ago
download_from_google_storage
download_from_google_storage.bat
download_from_google_storage.py Improve gclient Python 3 compatibility 6 years ago
ensure_bootstrap [depot_tools] Add "ensure_bootstrap" script. 8 years ago
fetch
fetch.bat
fetch.py depot_tools: bail out if $PATH contains tildes 6 years ago
fix_encoding.py Improve gclient Python 3 compatibility 6 years ago
gclient gclient setdep doesn't need to update_depot_tools 7 years ago
gclient-new-workdir.py os.realpath => os.path.realpath in gclient-new-workdir.py 7 years ago
gclient.bat
gclient.py depot_tools: bail out if $PATH contains tildes 6 years ago
gclient_completion.sh
gclient_eval.py Restore py2/py3 compatibility with basestring 6 years ago
gclient_paths.py Improve gclient Python 3 compatibility 6 years ago
gclient_scm.py Restore py2/py3 compatibility with basestring 6 years ago
gclient_utils.py Fix UTF-8 output in gclient_utils.CheckCallAndFilter 6 years ago
gerrit_client.py Add gerrit.abandon_change command 6 years ago
gerrit_util.py Improve error message for missing gerrit credentials in git-cl. 6 years ago
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 Make git-nav-upstream use the upstream branch name 6 years ago
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 Stop using compression for git cache update bootstrap. 6 years ago
git_cl.py Reland "git cl status: differentiate "dry-run" from generic "commit"." 6 years ago
git_cl_completion.sh
git_common.py Make fetch compatible with Python 3 6 years ago
git_dates.py
git_drover.py Reland "Use core.quotePath=false when git is listing files" 7 years ago
git_find_releases.py
git_footers.py Let git_footers split final paragraphs in specific cases 7 years ago
git_freezer.py
git_hyper_blame.py git hyper-blame: Fix tabulation of Unicode characters in author name. 7 years ago
git_map.py
git_map_branches.py Make `git map-branches` detect and report cycles 6 years ago
git_mark_merge_base.py
git_nav_downstream.py metrics: Separate metrics collection and print notice logic. 7 years ago
git_new_branch.py Revert "Fix semantics of git new-branch --upstream" 6 years ago
git_number.py
git_rebase_update.py Add --current to rebase the current branch 6 years ago
git_rename_branch.py
git_reparent_branch.py Limit the rebase-update call after reparent-branch 6 years ago
git_retry.py
git_squash_branch.py
git_upstream_diff.py Fix minor regression in git_upstream_diff. 7 years ago
gn
gn.bat
gn.py Move gclient path access to separate module. 6 years ago
gsutil.py Improve gclient Python 3 compatibility 6 years ago
gsutil.py.bat Add windows .bat file for gsutil.py. 6 years ago
gsutil.vpython Add the crcmod wheel for gsutil, to get it to shut up. 7 years ago
led
led.bat
luci-auth [luci-auth] Add statically-linked luci-auth CLI tool. 7 years ago
luci-auth.bat [luci-auth] Add statically-linked luci-auth CLI tool. 7 years ago
lucicfg [cipd] Add lucicfg tool. 6 years ago
lucicfg.bat [cipd] Add lucicfg tool. 6 years ago
mac_toolchain depot_tools: add mac_toolchain shim 7 years ago
metrics.README.md metrics: Spell out PII. 6 years ago
metrics.py Improve gclient Python 3 compatibility 6 years ago
metrics_utils.py Improve gclient Python 3 compatibility 6 years ago
my_activity.py my_activity.py: Add date to format 6 years ago
my_reviews.py Use dateutil.parser for parsing dates. 8 years ago
ninja [ninja] update ninja repository url 6 years ago
ninja-linux32 Update ninja to v1.8.2 8 years ago
ninja-linux64 Update ninja to v1.8.2 8 years ago
ninja-mac Update ninja to v1.8.2 8 years ago
ninja.exe Update ninja to v1.8.2 8 years ago
ninjalog.README.md [ninjalog] add ninjalog.README.md 6 years ago
ninjalog_uploader.py [ninjalog_uploader] add path for httplib2 6 years ago
ninjalog_uploader_wrapper.py do not decrements countdown when that is 0 6 years ago
owners.py Speed up some really slow OWNERS operations for large/huge patches 6 years ago
owners_finder.py Add a --ignore-self parameter to "git cl owners" 6 years ago
patch.py Revert "Fix checkout.py issues when p.patchlevel > 1." 8 years ago
post_build_ninja_summary.py Improve post_build_ninja_summary.py's incremental build handling 7 years ago
presubmit_canned_checks.py Add presubmit check that runs 'lucicfg validate <script>'. 6 years ago
presubmit_support.py expose temporary_directory. 6 years ago
profile.xml
prpc [prpc] Add pRPC CLI tool to depot_tools. 7 years ago
prpc.bat [prpc] Add pRPC CLI tool to depot_tools. 7 years ago
pylint
pylint.py
pylintrc pylint: reland upgrade to 1.5.6 7 years ago
python_runner.sh
repo repo: update launcher to v1.13.1 6 years ago
rietveld.py Change rietveld.py to use GET on get_depends_on_patchset 7 years ago
roll-dep
roll-dep-svn
roll-dep-svn.bat
roll-dep.bat
roll_dep.py [roll-dep] Ignore chromium-autoroll rolls 6 years ago
roll_dep_svn.py Update roll_dep_svn for new DEPS syntax 7 years ago
scm.py gclient_scm: Simplify fetching refs. 6 years ago
setup_color.py Improve gclient Python 3 compatibility 6 years ago
split_cl.py Support --enable-auto-submit in `git cl split` 6 years ago
subcommand.py
subprocess2.py Restore py2/py3 compatibility with basestring 6 years ago
update_depot_tools fix fetch on aix 7 years ago
update_depot_tools.bat
update_depot_tools_toggle.py
upload_metrics.py Suppress URLErrors when uploading metrics. 7 years ago
upload_to_google_storage.py Make download_from_google_storage.py print nothing in the happy case where it needs to do nothing. 7 years ago
vpython [vpython] Implement developer bypass parser in vpython wrapper. 7 years ago
vpython.bat
watchlists.py watchlists: Precompile filepath regular expressions before using them. 7 years ago
weekly
wtf
yapf Update yapf version 0.22 -> 0.24 6 years ago
yapf.bat Fix git cl format --python on windows 6 years ago

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.

Note that the cpplint.py here is also used by the Tricium analyzer, so if the cpplint.py here changes, we should also update the copy used there.