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 1853f66efd gclient: diff against hash in DEPS
When someone runs "gclient diff", they expect to be diffing their
local state against the state of a clean gclient checkout.

Up until now, "gclient diff" has been doing... not that. It's been
assuming that the sha1 in DEPS is approximately the head of the
remote's master branch, finding the merge-base between the local
content and that remote master, and diffing against that merge-base.
This makes basically no sense in the context of gclient. With
gclient, we already know exactly what should be checked out: it's
whatever is in DEPS.

This CL updates the behavior of "gclient diff" to do the right thing.

Bug: 731701
Change-Id: I23a43cbc0d6bc7772495097ff615d4d070f5ad19
Reviewed-on: https://chromium-review.googlesource.com/914717
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Aaron Gable <agable@chromium.org>
7 years ago
bootstrap/win Update depot_tools prod win git to 2.15.1.2 7 years ago
fetch_configs add "fetch goma_client" 7 years ago
git-templates
infra Roll recipe dependencies (trivial). 7 years ago
man git-upstream-diff: add optional branch argument 7 years ago
recipes Write target_cpu to .gclient 7 years ago
support
testing_support git_test_utils: Fixed custom git metadata in git commit schemas. 7 years ago
tests git hyper-blame: Fix tabulation of Unicode characters in author name. 7 years ago
third_party [depot_tools] Add mock lib 7 years ago
win_toolchain Add --repackage option to VS packaging script 7 years ago
zsh-goodies
.gitattributes Add gsutil.vpython spec to recipe bundles 8 years ago
.gitignore Add vs_files.ciopfs to gitignore 7 years ago
.style.yapf
LICENSE
OWNERS Remove references to phajdan.jr 7 years ago
PRESUBMIT.py [PRESUBMIT] Add cipd package checks for all known manifests. 7 years ago
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 [depot_tools] Fix timestamp issues related to local auth 7 years ago
autoninja
autoninja.bat Script to summarize performance of ninja builds 7 years ago
autoninja.py Fix autoninja to allow compiling one source file 8 years ago
breakpad.py
buildbucket.py
cbuildbot
checkout.py Use core.quotePath=false for more git diffs 7 years ago
chrome_set_ver
cipd depot_tools: Use armv6 for cipd's GOARCH when on armv7 host. 7 years ago
cipd.bat
cipd.ps1
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 Roll cipd, vpython, led, prpc and luci-auth. 7 years ago
cipd_manifest.txt Roll cipd, vpython, led, prpc and luci-auth. 7 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
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_chromium.py
cros
cros_sdk
dart_format.py
depot-tools-auth
depot-tools-auth.bat
depot-tools-auth.py
detect_host_arch.py Add target_cpu builtin variable to gclient 7 years ago
download_from_google_storage
download_from_google_storage.bat
download_from_google_storage.py download_from_google_storage: allow normal files with .. 7 years ago
ensure_bootstrap [depot_tools] Add "ensure_bootstrap" script. 8 years ago
fetch
fetch.bat
fetch.py Don't fetch tags when using --no-history. 7 years ago
fix_encoding.py
gclient
gclient-new-workdir.py Canonicalize paths before linking in gclient-new-workdir.py 7 years ago
gclient.bat
gclient.py Add target_cpu builtin variable to gclient 7 years ago
gclient_completion.sh
gclient_eval.py Add cipd support to gclient. 7 years ago
gclient_scm.py gclient: diff against hash in DEPS 7 years ago
gclient_utils.py Print git output when cloning a repo. 7 years ago
gerrit_client.py
gerrit_util.py gerrit_util: Slightly modify retry backoff behavior 7 years ago
git-cache
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 Remove windows specific git pack limit 7 years ago
git_cl.py Remove similarity support from git-cl 7 years ago
git_cl_completion.sh
git_common.py Canonicalize paths before linking in gclient-new-workdir.py 7 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 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 Flush stdout before squash attempt 7 years ago
git_rename_branch.py
git_reparent_branch.py
git_retry.py
git_squash_branch.py
git_upstream_diff.py Use core.quotePath=false for more git diffs 7 years ago
gn
gn.bat
gn.py
gsutil.py gsutil.py: bump default version to 4.28 from 4.13 7 years ago
gsutil.vpython [gsutil.vpython] Update packages. 8 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
mac_toolchain depot_tools: add mac_toolchain shim 7 years ago
my_activity.py my_activity: Print status and delta in reviews as well 7 years ago
my_reviews.py Use dateutil.parser for parsing dates. 8 years ago
ninja Update ninja to v1.8.2 8 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
owners.py Also check override files before checking the fs 7 years ago
owners_finder.py Skip files owned by reviewers when quering for missing owners. 7 years ago
patch.py Revert "Fix checkout.py issues when p.patchlevel > 1." 8 years ago
post_build_ninja_summary.py Script to summarize performance of ninja builds 7 years ago
presubmit_canned_checks.py Notify presubmit owners check that we use Gerrit now. 7 years ago
presubmit_support.py Remove prompts to contact maruel 7 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
python_runner.sh
repo
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 Add a '\n' at the end of the roll tool's command line. 7 years ago
roll_dep_svn.py Update roll_dep_svn for new DEPS syntax 7 years ago
scm.py Use core.quotePath=false for more git diffs 7 years ago
setup_color.py
split_cl.py Add a --dry-run option to git cl split 7 years ago
subcommand.py
subprocess2.py
update_depot_tools Revert "update_depot_tools: make cipd_bin_setup failures fatal" 8 years ago
update_depot_tools.bat
update_depot_tools_toggle.py
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.bat
watchlists.py watchlists: Precompile filepath regular expressions before using them. 7 years ago
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.