This change allows repos that use depot_tools to have submodules. It relies on a "magic" text `SUBMODULE_MIGRATION` and `use_git_submodules`in DEPS file. SUBMODULE_MIGRATION is placed in DEPS file when git submodules should be accepted but parity with DEPS file is expected. We don't rely on gclient getdep as it's too slow for a presubmit check. Instead, we just naively check presence of git submodule commit hash in the DEPS file. use_git_submodules (to be a proper variable in DEPS file) indicates the project migrated to git submodules and no git dependencies are specified in DEPS file. R=aravindvasudev@google.com, jojwang@google.com Bug: 1417051 Change-Id: I03fcd98a001ee8513740108e58bc1dfe3c9a460e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4262472 Reviewed-by: Aravind Vasudevan <aravindvasudev@google.com> Commit-Queue: Josip Sokcevic <sokcevic@chromium.org> |
2 years ago | |
---|---|---|
bootstrap | 2 years ago | |
fetch_configs | 3 years ago | |
git-templates | ||
infra | 2 years ago | |
man | 3 years ago | |
python-bin | 2 years ago | |
python2-bin | 2 years ago | |
recipes | 2 years ago | |
testing_support | 2 years ago | |
tests | 2 years ago | |
third_party | 3 years ago | |
win_toolchain | 2 years ago | |
zsh-goodies | ||
.cipd_impl.ps1 | 2 years ago | |
.gitattributes | 3 years ago | |
.gitignore | 2 years ago | |
.isort.cfg | 3 years ago | |
.style.yapf | ||
.vpython | 4 years ago | |
.vpython3 | 3 years ago | |
CROS_OWNERS | 3 years ago | |
DIR_METADATA | ||
GOMA_OWNERS | 4 years ago | |
LICENSE | ||
LUCI_OWNERS | 3 years ago | |
OWNERS | 2 years ago | |
PRESUBMIT.py | 3 years ago | |
README.gclient.md | ||
README.git-cl.md | ||
README.md | 3 years ago | |
WATCHLISTS | 3 years ago | |
auth.py | 4 years ago | |
autoninja | 3 years ago | |
autoninja.bat | 2 years ago | |
autoninja.py | 2 years ago | |
bb | 4 years ago | |
bb.bat | 4 years ago | |
black | 3 years ago | |
bootstrap_python3 | 4 years ago | |
breakpad.py | ||
cbuildbot | ||
cipd | 2 years ago | |
cipd.bat | 2 years ago | |
cipd_bin_setup.bat | 3 years ago | |
cipd_bin_setup.sh | ||
cipd_client_version | 2 years ago | |
cipd_client_version.digests | 2 years ago | |
cipd_manifest.txt | 2 years ago | |
cipd_manifest.versions | 2 years ago | |
cipd_manifest_cros_python2.txt | 2 years ago | |
cipd_manifest_cros_python2.versions | 2 years ago | |
cit | 4 years ago | |
cit.bat | 4 years ago | |
cit.py | 3 years ago | |
clang-format | 4 years ago | |
clang-format.bat | 4 years ago | |
clang_format.py | 2 years ago | |
clang_format_merge_driver | 4 years ago | |
clang_format_merge_driver.bat | 4 years ago | |
clang_format_merge_driver.py | 3 years ago | |
codereview.settings | ||
compile_single_file | 4 years ago | |
compile_single_file.bat | 4 years ago | |
compile_single_file.py | 2 years ago | |
cpplint.bat | 3 years ago | |
cpplint.py | 2 years ago | |
cpplint_chromium.py | 2 years ago | |
cros | 2 years ago | |
cros_python2.vpython | 2 years ago | |
cros_sdk | ||
crosjobs | 4 years ago | |
detect_host_arch.py | 2 years ago | |
dirmd | 4 years ago | |
dirmd.bat | 4 years ago | |
download_from_google_storage | 4 years ago | |
download_from_google_storage.bat | 3 years ago | |
download_from_google_storage.py | 3 years ago | |
ensure_bootstrap | 3 years ago | |
fetch | ||
fetch.bat | 3 years ago | |
fetch.py | 2 years ago | |
fix_encoding.py | 3 years ago | |
gclient | 2 years ago | |
gclient-new-workdir.py | 3 years ago | |
gclient.bat | 3 years ago | |
gclient.py | 2 years ago | |
gclient_completion.sh | ||
gclient_eval.py | 2 years ago | |
gclient_paths.py | 4 years ago | |
gclient_scm.py | 2 years ago | |
gclient_utils.py | 2 years ago | |
gerrit_client.py | 3 years ago | |
gerrit_util.py | 2 years ago | |
git-cache | ||
git-cl | ||
git-crrev-parse | 3 years ago | |
git-drover | ||
git-find-releases | ||
git-footers | ||
git-freeze | ||
git-gs | 3 years ago | |
git-hyper-blame | ||
git-map | ||
git-map-branches | ||
git-mark-merge-base | ||
git-migrate-default-branch | ||
git-nav-downstream | ||
git-nav-upstream | ||
git-new-branch | ||
git-number | ||
git-rebase-update | ||
git-rename-branch | ||
git-reparent-branch | ||
git-retry | ||
git-runhooks | 3 years ago | |
git-squash-branch | ||
git-thaw | ||
git-upstream-diff | ||
git_cache.py | 2 years ago | |
git_cl.py | 2 years ago | |
git_cl_completion.sh | ||
git_common.py | 2 years ago | |
git_dates.py | ||
git_drover.py | 3 years ago | |
git_find_releases.py | 3 years ago | |
git_footers.py | 3 years ago | |
git_freezer.py | 3 years ago | |
git_hyper_blame.py | 3 years ago | |
git_map.py | 3 years ago | |
git_map_branches.py | 2 years ago | |
git_mark_merge_base.py | 3 years ago | |
git_migrate_default_branch.py | 3 years ago | |
git_nav_downstream.py | 3 years ago | |
git_new_branch.py | 3 years ago | |
git_number.py | 3 years ago | |
git_rebase_update.py | 2 years ago | |
git_rename_branch.py | 3 years ago | |
git_reparent_branch.py | 3 years ago | |
git_retry.py | 3 years ago | |
git_squash_branch.py | 3 years ago | |
git_upstream_diff.py | 3 years ago | |
gn | 4 years ago | |
gn.bat | 3 years ago | |
gn.py | 3 years ago | |
goma_auth | 4 years ago | |
goma_auth.bat | 3 years ago | |
goma_ctl | 4 years ago | |
goma_ctl.bat | 2 years ago | |
gsutil.py | 2 years ago | |
gsutil.py.bat | 3 years ago | |
gsutil.vpython3 | 3 years ago | |
isort | 3 years ago | |
led | 4 years ago | |
led.bat | 4 years ago | |
lockfile.py | ||
luci-auth | 4 years ago | |
luci-auth.bat | 4 years ago | |
lucicfg | 4 years ago | |
lucicfg.bat | 4 years ago | |
mac_toolchain | ||
metrics.README.md | ||
metrics.py | 2 years ago | |
metrics_utils.py | 3 years ago | |
my_activity.py | 3 years ago | |
ninja | 2 years ago | |
ninja.bat | 2 years ago | |
ninja.py | 2 years ago | |
ninja_reclient.py | 2 years ago | |
ninjalog.README.md | 3 years ago | |
ninjalog_uploader.py | 3 years ago | |
ninjalog_uploader_wrapper.py | 3 years ago | |
owners_client.py | 3 years ago | |
owners_finder.py | 3 years ago | |
pinpoint | 4 years ago | |
pinpoint.bat | 4 years ago | |
post_build_ninja_summary.py | 2 years ago | |
presubmit_canned_checks.py | 2 years ago | |
presubmit_support.py | 2 years ago | |
profile.xml | ||
prpc | 4 years ago | |
prpc.bat | 4 years ago | |
pylint-1.5 | 3 years ago | |
pylint-1.5.bat | 4 years ago | |
pylint-2.6 | 3 years ago | |
pylint-2.6.bat | 4 years ago | |
pylint-2.7 | 3 years ago | |
pylint-2.7.bat | 3 years ago | |
pylint_main.py | 3 years ago | |
pylintrc | ||
python_runner.sh | ||
rdb | 4 years ago | |
rdb.bat | 4 years ago | |
rdb_wrapper.py | 2 years ago | |
repo | 4 years ago | |
repo_launcher | 2 years ago | |
roll-dep | ||
roll-dep.bat | ||
roll_dep.py | 2 years ago | |
rustfmt.py | 2 years ago | |
scm.py | 2 years ago | |
setup_color.py | 3 years ago | |
split_cl.py | 2 years ago | |
subcommand.py | 3 years ago | |
subprocess2.py | ||
swift-format | 3 years ago | |
swift_format.py | 3 years ago | |
update_depot_tools | 2 years ago | |
update_depot_tools.bat | 2 years ago | |
update_depot_tools_toggle.py | 3 years ago | |
upload_metrics.py | 3 years ago | |
upload_to_google_storage.py | 3 years ago | |
utils.py | 3 years ago | |
vpython | 2 years ago | |
vpython.bat | 2 years ago | |
vpython3 | 3 years ago | |
vpython3.bat | 3 years ago | |
watchlists.py | 3 years ago | |
weekly | 3 years ago | |
whitespace.txt | 4 years ago | |
win32imports.py | ||
wtf | 3 years ago | |
yapf | 2 years ago | |
yapf.bat |
README.md
depot_tools
Tools for working with Chromium development. It requires python 2.7 or 3.8 for python 3 support.
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
or
run ./update_depot_tools_toggle.py --disable
.
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.