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
Andrii Shyshkalov af5c20f5a4 Revert "[win_tools] Use bundled Python CIPD packages."
This reverts commit bf1446791e.

Reason for revert: broke win bots http://o/410053

Original change's description:
> [win_tools] Use bundled Python CIPD packages.
> 
> Enable bundled Python CIPD packages in bleeding-edge mode. This
> replaces the ZIP unpacking approach used before, and introduces
> validation and management through the CIPD tool. The bleeding edge
> version will only install if a sentinel file is present in the
> "depot_tools" root; otherwise, default behavior will continue.
> 
> This method adds a upgrade and downgrade path to/from ZIP and
> CIPD installations. This is done by rewriting the "win_tools.bat"
> process:
> 
> 1) Ensure that a bootstrap Python is present.
> 2) Use it to run "win_tools.py", which has the functionality of
>     "git_bootstrap.py" plus Python installation.
> 3) Run "win_tools.py" with appropriate flags.
> 
> Some tricks were employed to handle cases where there is an
> already-running Python instance that uses the current Python
> installation and executable. This happens on bots because the
> system uses the same "depot_tools" checkout at multiple launch
> layers. To this end, we use the "python.bat" as the "current Python"
> authority and refrain from cleaning up old Python directories if their
> "python.exe" binaries are currently in use.
> 
> We change the Git bleeding edge file to share the same
> sentinel file as Python, ".bleeding_edge".
> 
> The new Python should have the same facilities as the original Python
> bundle.
> 
> BUG=chromium:740171
> TEST=local
> 
> Change-Id: I1b3b7d31d47d1a37a9dba9114d31681bec558736
> Reviewed-on: https://chromium-review.googlesource.com/563036
> Commit-Queue: Daniel Jacques <dnj@chromium.org>
> Reviewed-by: Robbie Iannucci <iannucci@chromium.org>

TBR=iannucci@chromium.org,dnj@chromium.org

Change-Id: I84574a01bbad6596912e4aaa34f019d24720b638
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:740171
Reviewed-on: https://chromium-review.googlesource.com/567009
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
8 years ago
bootstrap/win Revert "[win_tools] Use bundled Python CIPD packages." 8 years ago
fetch_configs
git-templates
infra Roll recipe dependencies (trivial). 8 years ago
man Document drover process for re-landing a CL in a release branch. 9 years ago
recipes Query Gerrit for destination branch in bot_update 8 years ago
support
testing_support gclient flatten: fix a bug with deps_os getting omitted for recursed deps 8 years ago
tests git cl creds-check: improve report and give better recommendation. 8 years ago
third_party Rietveld upload.py: send remote url instead of root hash 8 years ago
win_toolchain Update VC++ packaging script to not package vctip.exe 9 years ago
zsh-goodies
.gitattributes
.gitignore Revert "[win_tools] Use bundled Python CIPD packages." 8 years ago
.style.yapf
LICENSE
OWNERS
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 Fix autoninja.py for ninja -t compatibility 8 years ago
breakpad.py
buildbucket.py
cbuildbot
checkout.py
chrome_set_ver
cipd [cipd] Fix CIPD bootstraps run concurrently. 8 years ago
cipd.bat [cipd] Run client in .bat to preserve STDIN. 8 years ago
cipd.ps1 [cipd] Run client in .bat to preserve STDIN. 8 years ago
cipd_bin_setup.bat
cipd_bin_setup.sh
cipd_client_version Update CIPD client, vpython and "LUCI editor". 8 years ago
cipd_manifest.txt Update CIPD client, vpython and "LUCI editor". 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
cpplint.bat
cpplint.py
cpplint_chromium.py
create-ntfs-junction.c
create-ntfs-junction.exe
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 Use extended path syntax on windows when extracting tarball in download script 9 years ago
fetch
fetch.bat
fetch.py
fix_encoding.py
gclient
gclient-new-workdir.py
gclient.bat
gclient.py gclient flatten: implement --pin-all-deps 8 years ago
gclient_completion.sh
gclient_eval.py gclient flatten: syntax and schema fixes from actual testing 8 years ago
gclient_scm.py
gclient_utils.py Clean up a confusing gclient_utils.py message 9 years ago
gerrit_client.py tryserver: add support for gerrit footers 8 years ago
gerrit_util.py git cl creds-check: improve report and give better recommendation. 8 years ago
git-cache
git-cherry-pick-upload
git-cl
git-crrev-parse
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 git cl creds-check: improve report and give better recommendation. 8 years ago
git_cl_completion.sh
git_common.py
git_dates.py
git_drover.py git-drover: send mail and don't use WIP mode 8 years ago
git_find_releases.py
git_footers.py
git_freezer.py
git_hyper_blame.py
git_map.py
git_map_branches.py
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
led.bat
my_activity.py [activity.py] Identify Gerrit-style bug annotations in commit messages 8 years ago
my_reviews.py
ninja
ninja-linux32
ninja-linux64
ninja-mac
ninja.exe
owners.py Dump reviewers set when failing _check_reviewers 9 years ago
owners_finder.py
patch.py
presubmit_canned_checks.py Remove const NSObject global presubmit. 8 years ago
presubmit_support.py Presubmit: Treat changes with Gerrit-style Tbr: header as TBRed. 9 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_svn.py
scm.py
setup_color.py
split_cl.py
subcommand.py
subprocess2.py
update_depot_tools Remove SVN bootstrapping and some tooling. 8 years ago
update_depot_tools.bat Remove SVN bootstrapping and some tooling. 8 years ago
update_depot_tools_toggle.py
upload_to_google_storage.py
vpython
vpython.bat
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.