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.
GIT_TRACE=true tells us which internal git command is slow. https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables I got following results in my local repository. Let me confirm the bots show similar behavior. C:\src\chromium\src>set GIT_TRACE=true C:\src\chromium\src>git rebase-update 21:32:36.519698 git.c:576 trace: exec: 'git-rebase-update' 21:32:36.519698 run-command.c:626 trace: run_command: 'git-rebase-update' 21:32:38.889848 git.c:344 trace: built-in: git 'fetch' '--multiple' 'origin' 21:32:38.893846 run-command.c:626 trace: run_command: 'fetch' '--append' 'origin' Fetching origin 21:32:38.911858 git.c:344 trace: built-in: git 'fetch' '--append' 'origin' 21:32:38.983909 run-command.c:626 trace: run_command: 'remote-https' 'origin' 'https://chromium.googlesource.com/chromium/src.git' 21:32:39.002923 git.c:576 trace: exec: 'git-remote-https' 'origin' 'https://chromium.googlesource.com/chromium/src.git' 21:32:39.003923 run-command.c:626 trace: run_command: 'git-remote-https' 'origin' 'https://chromium.googlesource.com/chromium/src.git' 21:32:43.782266 run-command.c:626 trace: run_command: 'rev-list' '--objects' '--stdin' '--not' '--all' '--quiet' 21:32:43.827301 run-command.c:626 trace: run_command: 'fetch-pack' '--stateless-rpc' '--stdin' '--lock-pack' '--include-tag' '--thin' 'https://chromium.googlesource.com/chromium/src.git/' remote: Counting objects: 74400, done remote: Finding sources: 100% (19/19) 21:35:49.348951 run-command.c:626 trace: run_command: 'unpack-objects' '--pack_header=2,19' 21:35:49.368985 git.c:344 trace: built-in: git 'unpack-objects' '--pack_header=2,19' remote: Total 19 (delta 1), reused 18 (delta 1) Unpacking objects: 100% (19/19), done. 21:35:49.597328 run-command.c:626 trace: run_command: 'rev-list' '--objects' '--stdin' '--not' '--all' '--quiet' 21:35:49.612375 git.c:344 trace: built-in: git 'rev-list' '--objects' '--stdin' '--not' '--all' '--quiet' From https://chromium.googlesource.com/chromium/src e8994685157b..fd56d3ad0528 master -> origin/master 21:35:50.281845 run-command.c:1452 run_processes_parallel: preparing to run up to 1 tasks 21:35:50.287848 run-command.c:1484 run_processes_parallel: done 21:35:50.309865 run-command.c:626 trace: run_command: 'gc' '--auto' 21:35:50.328880 git.c:344 trace: built-in: git 'gc' '--auto' 21:35:50.453967 run-command.c:1452 run_processes_parallel: preparing to run up to 1 tasks 21:35:50.460971 run-command.c:1484 run_processes_parallel: done 21:35:50.460971 run-command.c:626 trace: run_command: 'gc' '--auto' 21:35:50.480985 git.c:344 trace: built-in: git 'gc' '--auto' Rebasing: direct_goma Rebasing: python_pool C:\src\chromium\src>git fetch 21:36:23.409703 git.c:344 trace: built-in: git 'fetch' 21:36:23.486758 run-command.c:626 trace: run_command: 'remote-https' 'origin' 'https://chromium.googlesource.com/chromium/src.git' 21:36:23.506772 git.c:576 trace: exec: 'git-remote-https' 'origin' 'https://chromium.googlesource.com/chromium/src.git' 21:36:23.506772 run-command.c:626 trace: run_command: 'git-remote-https' 'origin' 'https://chromium.googlesource.com/chromium/src.git' 21:36:28.542596 run-command.c:626 trace: run_command: 'rev-list' '--objects' '--stdin' '--not' '--all' '--quiet' 21:36:28.578620 run-command.c:626 trace: run_command: 'fetch-pack' '--stateless-rpc' '--stdin' '--lock-pack' '--include-tag' '--thin' 'https://chromium.googlesource.com/chromium/src.git/' 21:36:28.601635 git.c:344 trace: built-in: git 'fetch-pack' '--stateless-rpc' '--stdin' '--lock-pack' '--include-tag' '--thin' 'https://chromium.googlesource.com/chromium/src.git/' remote: Counting objects: 67598, done remote: Finding sources: 100% (28/28) 21:39:29.787441 run-command.c:626 trace: run_command: 'unpack-objects' '--pack_header=2,28' 21:39:29.812462 git.c:344 trace: built-in: git 'unpack-objects' '--pack_header=2,28' remote: Total 28 (delta 2), reused 20 (delta 2) Unpacking objects: 100% (28/28), done. 21:39:30.083690 run-command.c:626 trace: run_command: 'rev-list' '--objects' '--stdin' '--not' '--all' '--quiet' 21:39:30.108704 git.c:344 trace: built-in: git 'rev-list' '--objects' '--stdin' '--not' '--all' '--quiet' From https://chromium.googlesource.com/chromium/src fd56d3ad0528..fbcc09282dc8 master -> origin/master 21:39:30.788186 run-command.c:1452 run_processes_parallel: preparing to run up to 1 tasks 21:39:30.795191 run-command.c:1484 run_processes_parallel: done 21:39:30.813200 run-command.c:626 trace: run_command: 'gc' '--auto' 21:39:30.836212 git.c:344 trace: built-in: git 'gc' '--auto' Bug:749709 Change-Id: I5b94549c42271885365c2354dc3f58399d6aebe0 Reviewed-on: https://chromium-review.googlesource.com/786691 Reviewed-by: Ryan Tseng <hinoka@chromium.org> Commit-Queue: Takuto Ikuta <tikuta@google.com> |
8 years ago | |
---|---|---|
bootstrap/win | 8 years ago | |
fetch_configs | 8 years ago | |
git-templates | ||
infra | 8 years ago | |
man | 8 years ago | |
recipes | 8 years ago | |
support | ||
testing_support | 8 years ago | |
tests | 8 years ago | |
third_party | 8 years ago | |
win_toolchain | 8 years ago | |
zsh-goodies | ||
.gitattributes | 8 years ago | |
.gitignore | 8 years ago | |
.style.yapf | ||
LICENSE | ||
OWNERS | 8 years ago | |
PRESUBMIT.py | 8 years ago | |
README.gclient.md | ||
README.git-cl.md | ||
README.md | 8 years ago | |
README.testing | ||
WATCHLISTS | ||
annotated_gclient.py | ||
appengine_mapper.py | ||
apply_issue | ||
apply_issue.bat | 8 years ago | |
apply_issue.py | 8 years ago | |
auth.py | 8 years ago | |
autoninja | 8 years ago | |
autoninja.bat | 8 years ago | |
autoninja.py | 8 years ago | |
breakpad.py | ||
buildbucket.py | ||
cbuildbot | ||
checkout.py | 8 years ago | |
chrome_set_ver | ||
cipd | 8 years ago | |
cipd.bat | 8 years ago | |
cipd.ps1 | 8 years ago | |
cipd_bin_setup.bat | 8 years ago | |
cipd_bin_setup.sh | 8 years ago | |
cipd_client_version | 8 years ago | |
cipd_manifest.txt | 8 years ago | |
cit | ||
cit.bat | 8 years ago | |
cit.py | 8 years ago | |
clang-format | ||
clang-format.bat | 8 years ago | |
clang_format.py | ||
clang_format_merge_driver | ||
clang_format_merge_driver.bat | 8 years ago | |
clang_format_merge_driver.py | ||
codereview.settings | ||
compile_single_file | 8 years ago | |
compile_single_file.bat | 8 years ago | |
compile_single_file.py | 8 years ago | |
cpplint.bat | 8 years ago | |
cpplint.py | 8 years ago | |
cpplint_chromium.py | ||
cros | ||
cros_sdk | ||
dart_format.py | ||
depot-tools-auth | ||
depot-tools-auth.bat | 8 years ago | |
depot-tools-auth.py | ||
download_from_google_storage | ||
download_from_google_storage.bat | 8 years ago | |
download_from_google_storage.py | 8 years ago | |
ensure_bootstrap | 8 years ago | |
fetch | ||
fetch.bat | 8 years ago | |
fetch.py | 8 years ago | |
fix_encoding.py | ||
gclient | ||
gclient-new-workdir.py | 8 years ago | |
gclient.bat | 8 years ago | |
gclient.py | 8 years ago | |
gclient_completion.sh | ||
gclient_eval.py | 8 years ago | |
gclient_scm.py | 8 years ago | |
gclient_utils.py | 8 years ago | |
gerrit_client.py | 8 years ago | |
gerrit_util.py | 8 years ago | |
git-cache | ||
git-cl | ||
git-crrev-parse | 8 years ago | |
git-crsync | ||
git-drover | ||
git-find-releases | ||
git-footers | ||
git-freeze | ||
git-gs | 8 years ago | |
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 | 8 years ago | |
git_cl.py | 8 years ago | |
git_cl_completion.sh | ||
git_common.py | 8 years ago | |
git_dates.py | ||
git_drover.py | 8 years ago | |
git_find_releases.py | ||
git_footers.py | 8 years ago | |
git_freezer.py | ||
git_hyper_blame.py | 8 years ago | |
git_map.py | 8 years ago | |
git_map_branches.py | 8 years ago | |
git_mark_merge_base.py | ||
git_nav_downstream.py | ||
git_new_branch.py | ||
git_number.py | 8 years ago | |
git_rebase_update.py | 8 years ago | |
git_rename_branch.py | ||
git_reparent_branch.py | ||
git_retry.py | 8 years ago | |
git_squash_branch.py | ||
git_upstream_diff.py | 8 years ago | |
gn | ||
gn.bat | 8 years ago | |
gn.py | ||
gsutil.py | 8 years ago | |
gsutil.vpython | 8 years ago | |
led | 8 years ago | |
led.bat | 8 years ago | |
mac_toolchain | 8 years ago | |
my_activity.py | 8 years ago | |
my_reviews.py | 8 years ago | |
ninja | 8 years ago | |
ninja-linux32 | 8 years ago | |
ninja-linux64 | 8 years ago | |
ninja-mac | 8 years ago | |
ninja.exe | 8 years ago | |
owners.py | 8 years ago | |
owners_finder.py | 8 years ago | |
patch.py | 8 years ago | |
presubmit_canned_checks.py | 8 years ago | |
presubmit_support.py | 8 years ago | |
profile.xml | ||
pylint | ||
pylint.py | ||
pylintrc | ||
python_runner.sh | ||
repo | ||
rietveld.py | 8 years ago | |
roll-dep | ||
roll-dep-svn | ||
roll-dep-svn.bat | 8 years ago | |
roll-dep.bat | 8 years ago | |
roll_dep.py | 8 years ago | |
roll_dep_svn.py | 8 years ago | |
scm.py | 8 years ago | |
setup_color.py | 8 years ago | |
split_cl.py | 8 years ago | |
subcommand.py | 8 years ago | |
subprocess2.py | ||
update_depot_tools | 8 years ago | |
update_depot_tools.bat | 8 years ago | |
update_depot_tools_toggle.py | 8 years ago | |
upload_to_google_storage.py | 8 years ago | |
vpython | 8 years ago | |
vpython.bat | 8 years ago | |
watchlists.py | 8 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
: Agclient
wrapper to checkout a project. Usefetch --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. Usegclient help
for more details and README.gclient.md.git cl
: A code review tool to interact with Rietveld or Gerrit. Usegit 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.