Keine Beschreibung

Ramin Halavati f810dae272 Add two items to licenses allow list. vor 3 Monaten
bootstrap 7c4bd3f94e [win-bootstrap] Update the comments in update_depot_tools.bat vor 6 Monaten
fetch_configs 5982a1aeb3 Add fetch config for web-tests vor 3 Monaten
hooks 03a1a8936e pre-commit: do not ignore submodule when running diff-index vor 1 Jahr
infra 14bfda1708 Roll recipe dependencies (trivial). vor 3 Monaten
infra_lib d495580f42 Add telemetry initialization and opt out utility vor 10 Monaten
man 7d94687e8d python -> python3 in depot_tools tutorial, and regenerate docs. vor 3 Monaten
metadata f810dae272 Add two items to licenses allow list. vor 3 Monaten
python-bin e6596746dc better error message from python3 when not initialized vor 3 Monaten
python2-bin 67702834cc cipd/python: optimize cat usage vor 2 Jahren
recipes 14bfda1708 Roll recipe dependencies (trivial). vor 3 Monaten
testing_support e5159abea6 Add CheckNewDEPSHooksHasRequiredReviewers canned check vor 5 Monaten
tests 21c86aad65 Specify full dirmd path in CheckDirMetadataFormat vor 3 Monaten
third_party ee429f3694 updating license id for colorama vor 6 Monaten
win_toolchain 18580cf9c4 DEPOT_TOOLS_WIN_TOOLCHAIN=0 does not work with remote execution vor 3 Monaten
zsh-goodies 6e043f755b Remove unmaintained "gclient export" command, vor 14 Jahren
.cipd_impl.ps1 af5e0b1f0f [cipd] support proxy for .cipd_impl.ps1 vor 8 Monaten
.flake8 2ef0787c49 Add a config file for the flake8 linter. vor 1 Jahr
.git-blame-ignore-revs 80f3b57068 Reuse GIT_BLAME_IGNORE_REV_FILE variable vor 11 Monaten
.gitattributes c273e3eb62 Make dirmd available in recipe bundle vor 3 Monaten
.gitignore 61fad561d6 autoninja: check RBE project, not account vor 11 Monaten
.isort.cfg 9a7b7675ba isort: make available to users vor 3 Jahren
.style.yapf 124bb8e53c switch to 4 space indent vor 1 Jahr
.vpython3 53c3b05869 Add hjson wheel for web-tests presubmit support vor 3 Monaten
BUILD_OWNERS 3ca8d0d0ca add siso wrapper vor 2 Jahren
CROS_OWNERS de38174544 CROS_OWNERS: switch to our common shared lists vor 3 Jahren
DIR_METADATA 364205c70e [depot_tools] Migrate metadata to DIR_METADATA. vor 4 Jahren
LICENSE fb2b8eb2e2 Create the Next Generation of depot_tools. Eh. vor 16 Jahren
LUCI_OWNERS e5d7ea3c01 add peep-software-deploy team to luci owners vor 1 Jahr
OWNERS 3b73c8d8eb android: Add wnwen to OWNERS vor 3 Monaten
PRESUBMIT.py 9f715f8017 Revert "Add AffectedFile.Extension() in presubmit_support" vor 6 Monaten
README.gclient.md 186449d3e7 docs: Removing references to SVN vor 9 Jahren
README.git-cl.md 9c0dc3026e Replace non-inclusive terms vor 4 Jahren
README.google_cloud_storage.md b123624ac6 Document the current state of LUCI GCS integration vor 5 Monaten
README.md d5d4b956e2 explain build tools and depot_tools installations vor 3 Monaten
RECLIENT_OWNERS 9e36ef60d0 Add convenience wrapper for reclientreport for autoninja users vor 2 Jahren
WATCHLISTS bb27381a20 Update WATCHLISTS for ninja, siso and reclient changes vor 2 Jahren
android_build_server_helper.py d6a7a6bd9c android: Allow anonymous pipes for benchmarking vor 3 Monaten
auth.py 0f344dbf8a [auth] Delete unused _run_luci_auth_login method vor 5 Monaten
autoninja e636a67972 autoninja: Use bundled Python to invoke autoninja.py vor 4 Monaten
autoninja.bat 61fad561d6 autoninja: check RBE project, not account vor 11 Monaten
autoninja.py 73a3fbf1fa autoninja.py: Make use_android_build_server enabled by default vor 4 Monaten
bazel 6a505ad9ab [ChromiumOS] Add a launcher for Bazel vor 2 Jahren
bazel.py 124bb8e53c switch to 4 space indent vor 1 Jahr
bb 1790a4b687 provide a way to override cipd root for *nix systems. vor 1 Jahr
bb.bat 47a4b0bc59 Add revert instructions vor 4 Jahren
black 9997ceb9a1 black: add helper for formatting Python vor 3 Jahren
bootstrap_python3 f7b9e70a2e Use relative path for cipd vor 2 Jahren
breakpad.py 124bb8e53c switch to 4 space indent vor 1 Jahr
build_telemetry 01e29c8b5d autoninja: Implement build_telemetry utils vor 1 Jahr
build_telemetry.bat 01e29c8b5d autoninja: Implement build_telemetry utils vor 1 Jahr
build_telemetry.py 46f5de67e1 build_telemetry: Do not print warning message for cipd auth-info error vor 11 Monaten
cbuildbot 76c2e50d3b simplify the chromite wrappers vor 5 Jahren
cipd 2aba33b703 cipd: allow overriding the location of where cipd binary is installed vor 1 Jahr
cipd.bat ead9b43bd5 [cipd] Run cipd_impl.ps1 in constrained language mode vor 2 Jahren
cipd_bin_setup.bat 93fbd989e0 Revert "Retry switching to use CIPD ninja v1.8.2" vor 3 Jahren
cipd_bin_setup.sh 1790a4b687 provide a way to override cipd root for *nix systems. vor 1 Jahr
cipd_client_version 17226d7965 [depot_tools] Roll CIPD. vor 11 Monaten
cipd_client_version.digests 17226d7965 [depot_tools] Roll CIPD. vor 11 Monaten
cipd_manifest.txt eefd2ed010 [cipd] Update lucicfg to v1.45.0. vor 3 Monaten
cipd_manifest.versions eefd2ed010 [cipd] Update lucicfg to v1.45.0. vor 3 Monaten
cipd_manifest_cros_python2.txt 495b23b39a remove goma CIPD package vor 1 Jahr
cipd_manifest_cros_python2.versions 252b19866a Redirect cros calls to py2.7 scripts to the vpython2.7 package. vor 2 Jahren
clang-format 3912091152 Use py3 for remaining tools in depot_tools path vor 4 Jahren
clang-format.bat 3912091152 Use py3 for remaining tools in depot_tools path vor 4 Jahren
clang_format.py 9428cf648b [clang_format] Update clang path vor 1 Jahr
codereview.settings fdd89469d6 update stale codereview.chromium.org links vor 4 Jahren
compile_single_file f5dd9dda9e Make 'compile_single_file' use vpython3 vor 1 Jahr
compile_single_file.bat f5dd9dda9e Make 'compile_single_file' use vpython3 vor 1 Jahr
compile_single_file.py f5dd9dda9e Make 'compile_single_file' use vpython3 vor 1 Jahr
cpplint.bat 6a8680a80e Use python3 for cpplint and get_toolchain on Win vor 3 Jahren
cpplint.py f088ff9f1b [cpplint] add nolint region support vor 4 Monaten
cpplint_chromium.py 124bb8e53c switch to 4 space indent vor 1 Jahr
cros 0929ef8d84 cros: start pushing people to 3.11 vor 7 Monaten
cros_python2.vpython 252b19866a Redirect cros calls to py2.7 scripts to the vpython2.7 package. vor 2 Jahren
cros_sdk 76c2e50d3b simplify the chromite wrappers vor 5 Jahren
detect_host_arch.py 9d64acedea enable fetch and gclient to run on z/OS part 1 vor 1 Jahr
dirmd 1790a4b687 provide a way to override cipd root for *nix systems. vor 1 Jahr
dirmd.bat 47a4b0bc59 Add revert instructions vor 4 Jahren
download_from_google_storage bc8802fd81 Switch download_from_google_storage to py3 vor 4 Jahren
download_from_google_storage.bat 68df7954e3 use python3 for download_from_google_storage.bat vor 3 Jahren
download_from_google_storage.py cb5069bb8e [auth-unify] deprecate no_auth options in download_for_google_storage vor 4 Monaten
ensure_bootstrap 792831e176 ensure_bootstrap: basic argument processing vor 7 Monaten
fetch 06001cda91 [py2] Drop envvar to run scripts with py2 vor 2 Jahren
fetch.bat 06001cda91 [py2] Drop envvar to run scripts with py2 vor 2 Jahren
fetch.py aa89e07e15 fail if fetch command is called in Cog vor 1 Jahr
gclient 06001cda91 [py2] Drop envvar to run scripts with py2 vor 2 Jahren
gclient-new-workdir.py dd8b5ea401 fail gracefully if gclient-new-workdir.py is called in non-git env vor 1 Jahr
gclient.bat 06001cda91 [py2] Drop envvar to run scripts with py2 vor 2 Jahren
gclient.py 474ecb8462 Add --ignore-dep-type option to gclient sync vor 4 Monaten
gclient_completion.sh 2dca41cf70 Added basic completion (the commands) for gclient. vor 11 Jahren
gclient_eval.py da85282643 gclient_eval.py: Add "new_usages_require_review" to DEPS file schema vor 10 Monaten
gclient_paths.py 4edb194e91 Set rootRepo custom-keyed-value push option on upload vor 3 Monaten
gclient_scm.py 829b580b57 set verbose=False for mirror.populate in _UpdateMirrorIfNotContains() vor 3 Monaten
gclient_utils.py 998f7bfaf2 Improve ensure_gsutil reliability vor 3 Monaten
gerrit ae46c3cecd Symlink gerrit CLI into depot_tools vor 2 Jahren
gerrit_client.py 232ffd8df3 gerrit: addmessage: support attention set control vor 7 Monaten
gerrit_util.py 6cc266569e git cl cherry-pick: Use base parameter to fix identical tree errors vor 4 Monaten
git-cache 648b4cd2ca Add quotes around paths in bash scripts vor 5 Jahren
git-cl 11f4a84bb1 Add quotes around paths in bash scripts. vor 5 Jahren
git-credential-luci 463ce5a855 [git-credential-luci] Redirect to batch file on Windows vor 4 Monaten
git-credential-luci.bat 02b791b756 [cipd] Add git-credential-luci (reland) vor 1 Jahr
git-crrev-parse eee67fe5a5 Fix git-crrev-parse to work with both master & main branches vor 3 Jahren
git-drover 648b4cd2ca Add quotes around paths in bash scripts vor 5 Jahren
git-find-releases 648b4cd2ca Add quotes around paths in bash scripts vor 5 Jahren
git-footers 648b4cd2ca Add quotes around paths in bash scripts vor 5 Jahren
git-freeze 648b4cd2ca Add quotes around paths in bash scripts vor 5 Jahren
git-gs 7a9218d13f Enable searching starlark files with git gs. vor 1 Jahr
git-hyper-blame 648b4cd2ca Add quotes around paths in bash scripts vor 5 Jahren
git-map 648b4cd2ca Add quotes around paths in bash scripts vor 5 Jahren
git-map-branches 648b4cd2ca Add quotes around paths in bash scripts vor 5 Jahren
git-mark-merge-base 648b4cd2ca Add quotes around paths in bash scripts vor 5 Jahren
git-nav-downstream 648b4cd2ca Add quotes around paths in bash scripts vor 5 Jahren
git-nav-upstream e0038c0721 print slightly better message if git nav-upstream is not called in git repo vor 1 Jahr
git-new-branch 648b4cd2ca Add quotes around paths in bash scripts vor 5 Jahren
git-number 648b4cd2ca Add quotes around paths in bash scripts vor 5 Jahren
git-rebase-update 648b4cd2ca Add quotes around paths in bash scripts vor 5 Jahren
git-rename-branch 648b4cd2ca Add quotes around paths in bash scripts vor 5 Jahren
git-reparent-branch 648b4cd2ca Add quotes around paths in bash scripts vor 5 Jahren
git-retry 648b4cd2ca Add quotes around paths in bash scripts vor 5 Jahren
git-runhooks a59e9ea222 Revert "Remove unused functionality in bot_update.py" vor 3 Jahren
git-squash-branch 648b4cd2ca Add quotes around paths in bash scripts vor 5 Jahren
git-squash-branch-tree 367c6f720d Add git squash-branch-tree vor 1 Jahr
git-thaw 648b4cd2ca Add quotes around paths in bash scripts vor 5 Jahren
git-upstream-diff 648b4cd2ca Add quotes around paths in bash scripts vor 5 Jahren
git_auth.py f55de362c1 [git_auth] Check and fix auth on GCE vor 3 Monaten
git_cache.py 8a150ad9d7 Reland "git-cache: contains_revision returns False if sentient file exists" vor 3 Monaten
git_cl.py a9cc320bf7 git cl format: Fix return code when using both --dry-run and --diff vor 3 Monaten
git_cl_completion.sh cdaf0be1f4 Add git completion helper to cl upload vor 5 Jahren
git_common.py a7460c638b git_common: raise CalledProcessError with the given cwd, if set vor 3 Monaten
git_completion.sh 272e6ab3cb Bash autocompletion for 'git new-branch' and 'git reparent-branch' vor 1 Jahr
git_dates.py edba22d4eb Fix multiline comment formatting vor 1 Jahr
git_find_releases.py f37d3b325f fail gracefully if git find-releases is called in cog vor 1 Jahr
git_footers.py 562c59c76c [git_footers] add support for multiline footers vor 8 Monaten
git_freezer.py 2ea2ccaa3d fail gracefully if git freeze or git thaw are called in cog vor 1 Jahr
git_hyper_blame.py 80f3b57068 Reuse GIT_BLAME_IGNORE_REV_FILE variable vor 11 Monaten
git_map.py 718d2c81de fail gracefully if git map is called in cog vor 1 Jahr
git_map_branches.py 097e207237 [git-map-branches] Fix coloring of root branch vor 5 Monaten
git_mark_merge_base.py 25120f4278 fail gracefully if git mark-merge-base is called in cog vor 1 Jahr
git_nav_downstream.py 60997ea745 fail gracefully if git nav-downstream is called in cog vor 1 Jahr
git_new_branch.py bba50600f8 Track origin/lkgr when using --lkgr flag in new-branch vor 11 Monaten
git_number.py f0f34c47f7 Revert "[git-number] Remove unused git-number script." vor 1 Jahr
git_rebase_update.py 237b84e76c Colorize branch names for rebase-update vor 6 Monaten
git_rename_branch.py 7f95b88c66 fail gracefully if git rename-branch is called in cog vor 1 Jahr
git_reparent_branch.py 0c999fd71a fail gracefully if git reparent-branch is called in cog vor 1 Jahr
git_retry.py edba22d4eb Fix multiline comment formatting vor 1 Jahr
git_squash_branch.py 380df04b62 Modify git squash-branch to perform reparenting vor 6 Monaten
git_squash_branch_tree.py 380df04b62 Modify git squash-branch to perform reparenting vor 6 Monaten
git_upstream_diff.py 5773197a10 fail gracefully if git upstream-diff is called in cog vor 1 Jahr
gn a7571b1596 Reland "Reland "Use bundled python to run gn"" vor 3 Monaten
gn.bat a7571b1596 Reland "Reland "Use bundled python to run gn"" vor 3 Monaten
gn.py 13f6ecbbbb Reland "[depot_tools] Support both gn paths in gn.py" vor 1 Jahr
gn_helper.py 823adab6bd gn_helper: add missing sys import vor 5 Monaten
google-java-format a76c50e296 [depot_tools] add google_java_format.py vor 1 Jahr
google-java-format.bat a76c50e296 [depot_tools] add google_java_format.py vor 1 Jahr
google_java_format.py 705b8d2d85 Fix google-java-format/cipd exists check. vor 1 Jahr
gsutil.py 998f7bfaf2 Improve ensure_gsutil reliability vor 3 Monaten
gsutil.py.bat 544594e0b2 Reland "Make depot_tools scripts return exit codes properly on all platforms." vor 3 Jahren
gsutil.vpython3 1909696991 Reland "Update gsutil to use gsutil version 4.68" vor 3 Jahren
isort 124bb8e53c switch to 4 space indent vor 1 Jahr
led 1790a4b687 provide a way to override cipd root for *nix systems. vor 1 Jahr
led.bat 47a4b0bc59 Add revert instructions vor 4 Jahren
lockfile.py df1785bdc2 lockfile: release the lock before closing the file handler vor 3 Monaten
luci-auth 1790a4b687 provide a way to override cipd root for *nix systems. vor 1 Jahr
luci-auth.bat 47a4b0bc59 Add revert instructions vor 4 Jahren
lucicfg 1790a4b687 provide a way to override cipd root for *nix systems. vor 1 Jahr
lucicfg.bat 47a4b0bc59 Add revert instructions vor 4 Jahren
mac_toolchain 1790a4b687 provide a way to override cipd root for *nix systems. vor 1 Jahr
metrics-xml-format bf32de3167 add metrics_xml_formatter vor 8 Monaten
metrics.README.md 04a2e71a92 [metrics] Add new auth metric vor 1 Jahr
metrics.py 04a2e71a92 [metrics] Add new auth metric vor 1 Jahr
metrics_utils.py 04a2e71a92 [metrics] Add new auth metric vor 1 Jahr
metrics_xml_format.py 000a266e69 metrics_xml_format: check the XML path against realpath vor 6 Monaten
my_activity.py 0b3c297363 my_activity.py: Handle JSON parse errors vor 8 Monaten
newauth.py acdf15a207 [newauth] Enable by default (reland) (include bots) vor 4 Monaten
ninja c768fd8fc9 Revert "Use depot_tools python3 to call ninja.py" vor 2 Jahren
ninja.bat 2b1aa8dcab Add single file compile support for Windows in ninja wrappers vor 2 Jahren
ninja.py 664154a905 ninja: Improve depot_tools directory detection vor 6 Monaten
ninjalog_uploader.py 032eddc73b Attach siso metadata to the metadata, if provided. vor 3 Monaten
owners_client.py c48f866fcf Select a minimal number of owners for a set of files vor 5 Monaten
owners_finder.py f936d540e1 Remove __future__ imports vor 1 Jahr
pinpoint 1790a4b687 provide a way to override cipd root for *nix systems. vor 1 Jahr
pinpoint.bat 47a4b0bc59 Add revert instructions vor 4 Jahren
post_build_ninja_summary.py a5519ca872 post_build_ninja_summary: run siso.py instead of siso command vor 6 Monaten
presubmit_canned_checks.py 21c86aad65 Specify full dirmd path in CheckDirMetadataFormat vor 3 Monaten
presubmit_diff.py 80d1969422 presubmit_diff: add support for -U vor 7 Monaten
presubmit_support.py d49e17e19f presubmit: add location data to presubmit result vor 4 Monaten
prpc 1790a4b687 provide a way to override cipd root for *nix systems. vor 1 Jahr
prpc.bat 47a4b0bc59 Add revert instructions vor 4 Jahren
pylint-2.17 a52cc055e4 pylint: Add pylint 2.17 vor 1 Jahr
pylint-2.17.bat a52cc055e4 pylint: Add pylint 2.17 vor 1 Jahr
pylint-2.6 124bb8e53c switch to 4 space indent vor 1 Jahr
pylint-2.6.bat d60b99cd5a Get pylint-2.6 to work under vpython3 on Windows. vor 4 Jahren
pylint-2.7 124bb8e53c switch to 4 space indent vor 1 Jahr
pylint-2.7.bat 59e3296a7e Add pylint-2.7 vor 3 Jahren
pylint-3.2 0d07dd258c pylint: add v3.2 support vor 7 Monaten
pylint-3.2.bat 0d07dd258c pylint: add v3.2 support vor 7 Monaten
pylint_main.py 423f1e1914 pylint: support versioned pylintrc files vor 7 Monaten
pylintrc-2.17 7f4762b2a1 pylintrc: version all of them vor 7 Monaten
pylintrc-2.6 7f4762b2a1 pylintrc: version all of them vor 7 Monaten
pylintrc-2.7 7f4762b2a1 pylintrc: version all of them vor 7 Monaten
pylintrc-3.2 0d07dd258c pylint: add v3.2 support vor 7 Monaten
python_runner.sh 06001cda91 [py2] Drop envvar to run scripts with py2 vor 2 Jahren
rdb 1790a4b687 provide a way to override cipd root for *nix systems. vor 1 Jahr
rdb.bat 47a4b0bc59 Add revert instructions vor 4 Jahren
rdb_wrapper.py edba22d4eb Fix multiline comment formatting vor 1 Jahr
reclient_helper.py 7109d59981 Revert "reclient_helper: tuning local execution parameter" vor 9 Monaten
reclientreport 9e36ef60d0 Add convenience wrapper for reclientreport for autoninja users vor 2 Jahren
reclientreport.bat 522e12caff Remove unnesisary quotes from propagated args in reclientreport.bat vor 2 Jahren
reclientreport.py 27ea34f94e [reclient] Keep previous 5 builds worth of logs vor 1 Jahr
repo 4a8524d1e9 error if repo command is called in Cog environment vor 1 Jahr
repo_launcher 65c59753a8 repo: Update from upstream vor 4 Monaten
roll-dep 06001cda91 [py2] Drop envvar to run scripts with py2 vor 2 Jahren
roll-dep.bat 06001cda91 [py2] Drop envvar to run scripts with py2 vor 2 Jahren
roll_dep.py 977c37458f Change readme updating to be on by default for roll_dep.py vor 3 Monaten
roll_downstream_gcs_deps.py 76021e34e5 Update roll_downstream_gcs_deps to take a list of source and destination packages. vor 11 Monaten
rustfmt.py 124bb8e53c switch to 4 space indent vor 1 Jahr
scm.py e0c47c138a [scm] Handle empty .gitmodules file vor 10 Monaten
setup_color.py edba22d4eb Fix multiline comment formatting vor 1 Jahr
siso 6058be3e48 siso: Use bundled python to run siso vor 4 Monaten
siso.bat 6058be3e48 siso: Use bundled python to run siso vor 4 Monaten
siso.py cd6685b6c0 [siso]Adding import vor 4 Monaten
split_cl.py 9ae4995888 fix doc-string in GetFilesSplitByOwners vor 3 Monaten
subcommand.py fab0a4296b subcommand: Add type annotations vor 3 Monaten
subprocess2.py edba22d4eb Fix multiline comment formatting vor 1 Jahr
swift-format 0a6b544e20 Support git cl formatting for swift files vor 3 Jahren
swift_format.py 124bb8e53c switch to 4 space indent vor 1 Jahr
update_depot_tools dc2edc59f6 Remove check for canonical depot_tools URL vor 6 Monaten
update_depot_tools.bat 7c4bd3f94e [win-bootstrap] Update the comments in update_depot_tools.bat vor 6 Monaten
update_depot_tools_toggle.py 124bb8e53c switch to 4 space indent vor 1 Jahr
upload_metrics.py 124bb8e53c switch to 4 space indent vor 1 Jahr
upload_to_google_storage.py eb732c3c35 upload_to_google_storage.py: set x-goog-meta-executable during upload instead of using setmeta vor 10 Monaten
upload_to_google_storage_first_class.py 499342211b [GCS] Add prefix option to upload_to_gs_f_c vor 1 Jahr
utils.py 6f180c0a23 Use $HOME/.config/depot_tools on linux for .cfg files vor 1 Jahr
vpython3 c1457823a0 Don't write pyc files if running from Cog vor 11 Monaten
vpython3.bat 8d81365cf0 Use the bundled interpreter instead of passing -vpython-interpreter. vor 3 Jahren
watchlists.py edba22d4eb Fix multiline comment formatting vor 1 Jahr
whitespace.txt 74e3d80019 Change whitespace.txt vor 4 Jahren
win32imports.py 124bb8e53c switch to 4 space indent vor 1 Jahr
yapf 3d6dda8241 Always run yapf with vpython3. vor 1 Jahr
yapf.bat d73d069a76 Run yapf with vpython3 vor 4 Jahren

README.gclient.md

gclient

gclient is a tool for managing a modular checkout of source code from multiple source code repositories. It wraps underlying source code management commands to provide support for distributing tree updates, status commands, and diffs across multiple checked-out working directories.

The gclient script is controlled by a .gclient file at the top of a directory tree which will contain source code from multiple locations. A .gclient file is a Python script that defines a list of solutions with the following format:

solutions = [
  { "name"        : "src",
    "url"         : "https://chromium.googlesource.com/chromium/src.git",
    "custom_deps" : {
      # To use the trunk of a component instead of what's in DEPS:
      #"component": "https://github.com/luci/luci-go",
      # To exclude a component from your working copy:
      #"data/really_large_component": None,
    }
  },
]

A solution is a collection of component pieces of software that will be checked out in a specific directory layout for building together.

Each entry in the solutions list is defined by a Python dictionary that contains the following items:

  • name: The name of the directory in which the solution will be checked out.
  • url: The URL from which this solution will be checked out. gclient expects that the checked-out solution will contain a file named DEPS that in turn defines the specific pieces that must be checked out to create the working directory layout for building and developing the solution's software.
  • deps_file: A string containing just the filename (not a path) of the file in the solution dir to use as the list of dependencies. This tag is optional, and defaults to DEPS.
  • custom_deps: A dictionary containing optional custom overrides for entries in the solution's DEPS file. This can be used to have the local working directory not check out and update specific components, or to sync the local working-directory copy of a given component to a different specific revision, or a branch, or the head of a tree. It can also be used to append new entries that do not exist in the DEPS file.

Within each checked-out solution, gclient expects to find a file typically named DEPS (it actually uses the value of the deps_file key above) which defines the different component pieces of software that must be checked out for the solution. The DEPS file is a Python script that defines a dictionary named deps:

deps = {
  "src/outside": "https://outside-server/one/repo.git@12345677890123456778901234567789012345677890",
  "src/component": "https://dont-use-github.com/its/unreliable.git@0000000000000000000000000000000000000000",
  "src/relative": "/another/repo.git@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
}

Each item in the deps dictionary consists of a key-value pair. The key is the directory into which the component will be checked out, relative to the directory containing the .gclient file. The value is the URL from which that directory will be checked out. If there is no address scheme (that is, no http: prefix), then the value must begin with a slash and is treated relative to the root of the solution's repository.

The URL typically contains a specific revision or change number (as appropriate for the underlying SCM system) to freeze the external software at a specific, known state. Alternatively, if there is no revision or change number, the URL will track the latest changes on the specific trunk or branch.