Nav apraksta

Patrick Monette 367c6f720d Add git squash-branch-tree 1 gadu atpakaļ
bootstrap 61a919010a New cpython3 and vpython3 packages to depot_tools. 1 gadu atpakaļ
fetch_configs f1c7c96958 Add crossbench fetch config 1 gadu atpakaļ
hooks 03a1a8936e pre-commit: do not ignore submodule when running diff-index 1 gadu atpakaļ
infra c3f37c111e Roll recipe dependencies (trivial). 1 gadu atpakaļ
man 6eeb55de17 Add --tree option to rebase-update. 1 gadu atpakaļ
metadata 7e547050e8 Updating Revision presubmit to check for valid commit hash 1 gadu atpakaļ
python-bin 67702834cc cipd/python: optimize cat usage 2 gadi atpakaļ
python2-bin 67702834cc cipd/python: optimize cat usage 2 gadi atpakaļ
recipes c3f37c111e Roll recipe dependencies (trivial). 1 gadu atpakaļ
testing_support 367c6f720d Add git squash-branch-tree 1 gadu atpakaļ
tests 367c6f720d Add git squash-branch-tree 1 gadu atpakaļ
third_party ee5d42b76a schema: pull LICENSE whitespace trim from upstream 1 gadu atpakaļ
win_toolchain 3c79cfc485 Revert "Reland "Add support for GCS deps"" 1 gadu atpakaļ
zsh-goodies 6e043f755b Remove unmaintained "gclient export" command, 14 gadi atpakaļ
.cipd_impl.ps1 02838e6f4e Import Get-FileHash from PowerShell's version specific path 2 gadi atpakaļ
.flake8 2ef0787c49 Add a config file for the flake8 linter. 1 gadu atpakaļ
.gitattributes 02b791b756 [cipd] Add git-credential-luci (reland) 1 gadu atpakaļ
.gitignore 6f180c0a23 Use $HOME/.config/depot_tools on linux for .cfg files 1 gadu atpakaļ
.isort.cfg 9a7b7675ba isort: make available to users 3 gadi atpakaļ
.style.yapf 124bb8e53c switch to 4 space indent 1 gadu atpakaļ
.vpython3 a95979fcc3 Update the CheckInfraFreeze canned check to use datetime & zoneinfo. 1 gadu atpakaļ
BUILD_OWNERS 3ca8d0d0ca add siso wrapper 2 gadi atpakaļ
CROS_OWNERS de38174544 CROS_OWNERS: switch to our common shared lists 3 gadi atpakaļ
DIR_METADATA 364205c70e [depot_tools] Migrate metadata to DIR_METADATA. 4 gadi atpakaļ
LICENSE fb2b8eb2e2 Create the Next Generation of depot_tools. Eh. 16 gadi atpakaļ
LUCI_OWNERS e5d7ea3c01 add peep-software-deploy team to luci owners 1 gadu atpakaļ
OWNERS 495b23b39a remove goma CIPD package 1 gadu atpakaļ
PRESUBMIT.py cb8b22fa77 [PRESUBMIT] Increase unit test timeout 1 gadu atpakaļ
README.gclient.md 186449d3e7 docs: Removing references to SVN 9 gadi atpakaļ
README.git-cl.md 9c0dc3026e Replace non-inclusive terms 4 gadi atpakaļ
README.md 0696c428b0 Switch to using issues.chromium.org bug links 1 gadu atpakaļ
RECLIENT_OWNERS 9e36ef60d0 Add convenience wrapper for reclientreport for autoninja users 2 gadi atpakaļ
WATCHLISTS bb27381a20 Update WATCHLISTS for ninja, siso and reclient changes 2 gadi atpakaļ
auth.py 88a72320ed [gerrit_util] Add dogfoodable luci-auth Authenticator (reland) 1 gadu atpakaļ
autoninja cccca95d8f Revert^2 "autoninja.py: disallow external account from corp machine" 1 gadu atpakaļ
autoninja.bat f8a14d93d5 Remove obsolete autoninja.bat comment 1 gadu atpakaļ
autoninja.py 356ef0324e ninja: error if trying to build for use_remoteexec=true 1 gadu atpakaļ
bazel 6a505ad9ab [ChromiumOS] Add a launcher for Bazel 2 gadi atpakaļ
bazel.py 124bb8e53c switch to 4 space indent 1 gadu atpakaļ
bb 47a4b0bc59 Add revert instructions 4 gadi atpakaļ
bb.bat 47a4b0bc59 Add revert instructions 4 gadi atpakaļ
black 9997ceb9a1 black: add helper for formatting Python 3 gadi atpakaļ
bootstrap_python3 f7b9e70a2e Use relative path for cipd 2 gadi atpakaļ
breakpad.py 124bb8e53c switch to 4 space indent 1 gadu atpakaļ
cbuildbot 76c2e50d3b simplify the chromite wrappers 5 gadi atpakaļ
cipd 9d64acedea enable fetch and gclient to run on z/OS part 1 1 gadu atpakaļ
cipd.bat ead9b43bd5 [cipd] Run cipd_impl.ps1 in constrained language mode 2 gadi atpakaļ
cipd_bin_setup.bat 93fbd989e0 Revert "Retry switching to use CIPD ninja v1.8.2" 3 gadi atpakaļ
cipd_bin_setup.sh 397276fe81 cipd_bin_setup: load cipd script instead of running it 2 gadi atpakaļ
cipd_client_version 2bd782954f Update to 2.6.16 1 gadu atpakaļ
cipd_client_version.digests 2bd782954f Update to 2.6.16 1 gadu atpakaļ
cipd_manifest.txt 5ab4dcc7bf [depot_tools] roll led 1 gadu atpakaļ
cipd_manifest.versions 5ab4dcc7bf [depot_tools] roll led 1 gadu atpakaļ
cipd_manifest_cros_python2.txt 495b23b39a remove goma CIPD package 1 gadu atpakaļ
cipd_manifest_cros_python2.versions 252b19866a Redirect cros calls to py2.7 scripts to the vpython2.7 package. 2 gadi atpakaļ
clang-format 3912091152 Use py3 for remaining tools in depot_tools path 4 gadi atpakaļ
clang-format.bat 3912091152 Use py3 for remaining tools in depot_tools path 4 gadi atpakaļ
clang_format.py 9428cf648b [clang_format] Update clang path 1 gadu atpakaļ
codereview.settings fdd89469d6 update stale codereview.chromium.org links 4 gadi atpakaļ
compile_single_file f5dd9dda9e Make 'compile_single_file' use vpython3 1 gadu atpakaļ
compile_single_file.bat f5dd9dda9e Make 'compile_single_file' use vpython3 1 gadu atpakaļ
compile_single_file.py f5dd9dda9e Make 'compile_single_file' use vpython3 1 gadu atpakaļ
cpplint.bat 6a8680a80e Use python3 for cpplint and get_toolchain on Win 3 gadi atpakaļ
cpplint.py 6cd960fec4 [cpplint] Update for c++20 1 gadu atpakaļ
cpplint_chromium.py 124bb8e53c switch to 4 space indent 1 gadu atpakaļ
cros 007dd45a94 cros: expand to cover more roots 1 gadu atpakaļ
cros_python2.vpython 252b19866a Redirect cros calls to py2.7 scripts to the vpython2.7 package. 2 gadi atpakaļ
cros_sdk 76c2e50d3b simplify the chromite wrappers 5 gadi atpakaļ
detect_host_arch.py 9d64acedea enable fetch and gclient to run on z/OS part 1 1 gadu atpakaļ
dirmd 47a4b0bc59 Add revert instructions 4 gadi atpakaļ
dirmd.bat 47a4b0bc59 Add revert instructions 4 gadi atpakaļ
download_from_google_storage bc8802fd81 Switch download_from_google_storage to py3 4 gadi atpakaļ
download_from_google_storage.bat 68df7954e3 use python3 for download_from_google_storage.bat 3 gadi atpakaļ
download_from_google_storage.py 2f0f9bc0bd [depot_tools] Update GCS dotfile naming 1 gadu atpakaļ
ensure_bootstrap 248aa8ba81 setup & share path to depot_tools checkout 2 gadi atpakaļ
fetch 06001cda91 [py2] Drop envvar to run scripts with py2 2 gadi atpakaļ
fetch.bat 06001cda91 [py2] Drop envvar to run scripts with py2 2 gadi atpakaļ
fetch.py aa89e07e15 fail if fetch command is called in Cog 1 gadu atpakaļ
gclient 06001cda91 [py2] Drop envvar to run scripts with py2 2 gadi atpakaļ
gclient-new-workdir.py dd8b5ea401 fail gracefully if gclient-new-workdir.py is called in non-git env 1 gadu atpakaļ
gclient.bat 06001cda91 [py2] Drop envvar to run scripts with py2 2 gadi atpakaļ
gclient.py 96b30594ce Skip run() for GCS/CIPD dependencies during runhooks and revinfo. 1 gadu atpakaļ
gclient_completion.sh 2dca41cf70 Added basic completion (the commands) for gclient. 11 gadi atpakaļ
gclient_eval.py adfd994f98 [gclient] remove output_file from gcs object setdep 1 gadu atpakaļ
gclient_paths.py e6f497f72b gclient: resolve symlink in gclient_entries before checking with current path 1 gadu atpakaļ
gclient_scm.py 8ff5d0caee [depot_tools] auto correct url always 1 gadu atpakaļ
gclient_utils.py 525b18d46b [gclient] Use lowercase and when merging conditions 1 gadu atpakaļ
gerrit ae46c3cecd Symlink gerrit CLI into depot_tools 2 gadi atpakaļ
gerrit_client.py 1f441eb375 [fix_encoding] Remove fix_encoding 1 gadu atpakaļ
gerrit_util.py ea366e35f0 [gerrit_util] Use shared SSO logic for SSOAuthenticator 1 gadu atpakaļ
git-cache 648b4cd2ca Add quotes around paths in bash scripts 5 gadi atpakaļ
git-cl 11f4a84bb1 Add quotes around paths in bash scripts. 5 gadi atpakaļ
git-credential-luci 02b791b756 [cipd] Add git-credential-luci (reland) 1 gadu atpakaļ
git-credential-luci.bat 02b791b756 [cipd] Add git-credential-luci (reland) 1 gadu atpakaļ
git-crrev-parse eee67fe5a5 Fix git-crrev-parse to work with both master & main branches 3 gadi atpakaļ
git-drover 648b4cd2ca Add quotes around paths in bash scripts 5 gadi atpakaļ
git-find-releases 648b4cd2ca Add quotes around paths in bash scripts 5 gadi atpakaļ
git-footers 648b4cd2ca Add quotes around paths in bash scripts 5 gadi atpakaļ
git-freeze 648b4cd2ca Add quotes around paths in bash scripts 5 gadi atpakaļ
git-gs 7a9218d13f Enable searching starlark files with git gs. 1 gadu atpakaļ
git-hyper-blame 648b4cd2ca Add quotes around paths in bash scripts 5 gadi atpakaļ
git-map 648b4cd2ca Add quotes around paths in bash scripts 5 gadi atpakaļ
git-map-branches 648b4cd2ca Add quotes around paths in bash scripts 5 gadi atpakaļ
git-mark-merge-base 648b4cd2ca Add quotes around paths in bash scripts 5 gadi atpakaļ
git-nav-downstream 648b4cd2ca Add quotes around paths in bash scripts 5 gadi atpakaļ
git-nav-upstream e0038c0721 print slightly better message if git nav-upstream is not called in git repo 1 gadu atpakaļ
git-new-branch 648b4cd2ca Add quotes around paths in bash scripts 5 gadi atpakaļ
git-number 648b4cd2ca Add quotes around paths in bash scripts 5 gadi atpakaļ
git-rebase-update 648b4cd2ca Add quotes around paths in bash scripts 5 gadi atpakaļ
git-rename-branch 648b4cd2ca Add quotes around paths in bash scripts 5 gadi atpakaļ
git-reparent-branch 648b4cd2ca Add quotes around paths in bash scripts 5 gadi atpakaļ
git-retry 648b4cd2ca Add quotes around paths in bash scripts 5 gadi atpakaļ
git-runhooks a59e9ea222 Revert "Remove unused functionality in bot_update.py" 3 gadi atpakaļ
git-squash-branch 648b4cd2ca Add quotes around paths in bash scripts 5 gadi atpakaļ
git-squash-branch-tree 367c6f720d Add git squash-branch-tree 1 gadu atpakaļ
git-thaw 648b4cd2ca Add quotes around paths in bash scripts 5 gadi atpakaļ
git-upstream-diff 648b4cd2ca Add quotes around paths in bash scripts 5 gadi atpakaļ
git_cache.py 6a7597cf9a error if git cache commands are called in cog env. 1 gadu atpakaļ
git_cl.py 6a00e594c9 [gerrit_util] Configure new auth automatically 1 gadu atpakaļ
git_cl_completion.sh cdaf0be1f4 Add git completion helper to cl upload 5 gadi atpakaļ
git_common.py 6355da7032 [git_common] Relocate comment 1 gadu atpakaļ
git_completion.sh 272e6ab3cb Bash autocompletion for 'git new-branch' and 'git reparent-branch' 1 gadu atpakaļ
git_dates.py edba22d4eb Fix multiline comment formatting 1 gadu atpakaļ
git_find_releases.py f37d3b325f fail gracefully if git find-releases is called in cog 1 gadu atpakaļ
git_footers.py 04535d7af3 fail gracefully if git footers is called in cog 1 gadu atpakaļ
git_freezer.py 2ea2ccaa3d fail gracefully if git freeze or git thaw are called in cog 1 gadu atpakaļ
git_hyper_blame.py 6eed8faff0 fail gracefully if git hyper-blame are called in cog 1 gadu atpakaļ
git_map.py 718d2c81de fail gracefully if git map is called in cog 1 gadu atpakaļ
git_map_branches.py da2ef92c9f fail gracefully if git map-branches is called in cog 1 gadu atpakaļ
git_mark_merge_base.py 25120f4278 fail gracefully if git mark-merge-base is called in cog 1 gadu atpakaļ
git_nav_downstream.py 60997ea745 fail gracefully if git nav-downstream is called in cog 1 gadu atpakaļ
git_new_branch.py da41d62982 fail gracefully if git new-branch is called in cog 1 gadu atpakaļ
git_number.py edba22d4eb Fix multiline comment formatting 1 gadu atpakaļ
git_rebase_update.py 6eeb55de17 Add --tree option to rebase-update. 1 gadu atpakaļ
git_rename_branch.py 7f95b88c66 fail gracefully if git rename-branch is called in cog 1 gadu atpakaļ
git_reparent_branch.py 0c999fd71a fail gracefully if git reparent-branch is called in cog 1 gadu atpakaļ
git_retry.py edba22d4eb Fix multiline comment formatting 1 gadu atpakaļ
git_squash_branch.py 56edc1d23d fail gracefully if git squash-branch is called in cog 1 gadu atpakaļ
git_squash_branch_tree.py 367c6f720d Add git squash-branch-tree 1 gadu atpakaļ
git_upstream_diff.py 5773197a10 fail gracefully if git upstream-diff is called in cog 1 gadu atpakaļ
gn 67574d7a19 gn: Call gn.bat in msysgit on Windows. 4 gadi atpakaļ
gn.bat c70750b73e Revert "Call python3.bat explicitly from gn.bat on Windows." 3 gadi atpakaļ
gn.py 13f6ecbbbb Reland "[depot_tools] Support both gn paths in gn.py" 1 gadu atpakaļ
gn_helper.py 356ef0324e ninja: error if trying to build for use_remoteexec=true 1 gadu atpakaļ
google-java-format a76c50e296 [depot_tools] add google_java_format.py 1 gadu atpakaļ
google-java-format.bat a76c50e296 [depot_tools] add google_java_format.py 1 gadu atpakaļ
google_java_format.py 705b8d2d85 Fix google-java-format/cipd exists check. 1 gadu atpakaļ
gsutil.py 19199514e8 [gsutil] Fix race when downloading gsutil 1 gadu atpakaļ
gsutil.py.bat 544594e0b2 Reland "Make depot_tools scripts return exit codes properly on all platforms." 3 gadi atpakaļ
gsutil.vpython3 1909696991 Reland "Update gsutil to use gsutil version 4.68" 3 gadi atpakaļ
isort 124bb8e53c switch to 4 space indent 1 gadu atpakaļ
led 47a4b0bc59 Add revert instructions 4 gadi atpakaļ
led.bat 47a4b0bc59 Add revert instructions 4 gadi atpakaļ
lockfile.py 19199514e8 [gsutil] Fix race when downloading gsutil 1 gadu atpakaļ
luci-auth 47a4b0bc59 Add revert instructions 4 gadi atpakaļ
luci-auth.bat 47a4b0bc59 Add revert instructions 4 gadi atpakaļ
lucicfg 47a4b0bc59 Add revert instructions 4 gadi atpakaļ
lucicfg.bat 47a4b0bc59 Add revert instructions 4 gadi atpakaļ
mac_toolchain 059f26bcb4 do not hardcode the path to bash by using the #!/usr/bin/env bash shebang 6 gadi atpakaļ
metrics.README.md 9c0dc3026e Replace non-inclusive terms 4 gadi atpakaļ
metrics.py 6f180c0a23 Use $HOME/.config/depot_tools on linux for .cfg files 1 gadu atpakaļ
metrics_utils.py f97b5e2424 remove references to goma client repository 1 gadu atpakaļ
my_activity.py 1f441eb375 [fix_encoding] Remove fix_encoding 1 gadu atpakaļ
newauth.py 1e4251b6ea [newauth] Accept standard Git bool values 1 gadu atpakaļ
ninja c768fd8fc9 Revert "Use depot_tools python3 to call ninja.py" 2 gadi atpakaļ
ninja.bat 2b1aa8dcab Add single file compile support for Windows in ninja wrappers 2 gadi atpakaļ
ninja.py 356ef0324e ninja: error if trying to build for use_remoteexec=true 1 gadu atpakaļ
ninja_reclient.py df3e577855 apply black and `git cl format` for ninja related python files 1 gadu atpakaļ
ninjalog.README.md d32e1cb571 remove references to goma 1 gadu atpakaļ
ninjalog_uploader.py d32e1cb571 remove references to goma 1 gadu atpakaļ
ninjalog_uploader_wrapper.py 6f180c0a23 Use $HOME/.config/depot_tools on linux for .cfg files 1 gadu atpakaļ
owners_client.py 0cba8dd68e [owners] Limit number of concurrent Gerrit connections 1 gadu atpakaļ
owners_finder.py f936d540e1 Remove __future__ imports 1 gadu atpakaļ
pinpoint 47a4b0bc59 Add revert instructions 4 gadi atpakaļ
pinpoint.bat 47a4b0bc59 Add revert instructions 4 gadi atpakaļ
post_build_ninja_summary.py 1d1f17af89 allow v6 ninja log format 1 gadu atpakaļ
presubmit_canned_checks.py 2517f89cdf Reland "[presubmit checks] Check if files are written to a dep dir" 1 gadu atpakaļ
presubmit_diff.py b83a3038f1 Handle diff without chunk header 1 gadu atpakaļ
presubmit_support.py 8ac3425344 Create scm.DIFF.GetAllFiles 1 gadu atpakaļ
prpc 47a4b0bc59 Add revert instructions 4 gadi atpakaļ
prpc.bat 47a4b0bc59 Add revert instructions 4 gadi atpakaļ
pylint-2.17 a52cc055e4 pylint: Add pylint 2.17 1 gadu atpakaļ
pylint-2.17.bat a52cc055e4 pylint: Add pylint 2.17 1 gadu atpakaļ
pylint-2.6 124bb8e53c switch to 4 space indent 1 gadu atpakaļ
pylint-2.6.bat d60b99cd5a Get pylint-2.6 to work under vpython3 on Windows. 4 gadi atpakaļ
pylint-2.7 124bb8e53c switch to 4 space indent 1 gadu atpakaļ
pylint-2.7.bat 59e3296a7e Add pylint-2.7 3 gadi atpakaļ
pylint_main.py f936d540e1 Remove __future__ imports 1 gadu atpakaļ
pylintrc 0985861970 CodeInclusion: Rename whitelist/blacklist -> allowlist/blocklist 5 gadi atpakaļ
pylintrc-2.17 a52cc055e4 pylint: Add pylint 2.17 1 gadu atpakaļ
python_runner.sh 06001cda91 [py2] Drop envvar to run scripts with py2 2 gadi atpakaļ
rdb 47a4b0bc59 Add revert instructions 4 gadi atpakaļ
rdb.bat 47a4b0bc59 Add revert instructions 4 gadi atpakaļ
rdb_wrapper.py edba22d4eb Fix multiline comment formatting 1 gadu atpakaļ
reclient_helper.py 4d9ad255f1 Remove a space between a value and its unit 1 gadu atpakaļ
reclient_metrics bb109cd7c3 Add reclient_metrics command 2 gadi atpakaļ
reclient_metrics.README.md 82e4859614 [reclient] Update reclient_metrics.README.md to reflect that we collect googler hostnames 2 gadi atpakaļ
reclient_metrics.bat bb109cd7c3 Add reclient_metrics command 2 gadi atpakaļ
reclient_metrics.py 6f180c0a23 Use $HOME/.config/depot_tools on linux for .cfg files 1 gadu atpakaļ
reclientreport 9e36ef60d0 Add convenience wrapper for reclientreport for autoninja users 2 gadi atpakaļ
reclientreport.bat 522e12caff Remove unnesisary quotes from propagated args in reclientreport.bat 2 gadi atpakaļ
reclientreport.py 27ea34f94e [reclient] Keep previous 5 builds worth of logs 1 gadu atpakaļ
repo 4a8524d1e9 error if repo command is called in Cog environment 1 gadu atpakaļ
repo_launcher 2508c6f716 [repo_launcher] Update repo_launcher to v2.45 1 gadu atpakaļ
roll-dep 06001cda91 [py2] Drop envvar to run scripts with py2 2 gadi atpakaļ
roll-dep.bat 06001cda91 [py2] Drop envvar to run scripts with py2 2 gadi atpakaļ
roll_dep.py 954a8d7713 error if roll-dep command is called in Cog environment 1 gadu atpakaļ
rustfmt.py 124bb8e53c switch to 4 space indent 1 gadu atpakaļ
scm.py 4f1cfb994f [scm] Add append to SetConfig 1 gadu atpakaļ
setup_color.py edba22d4eb Fix multiline comment formatting 1 gadu atpakaļ
siso 3ca8d0d0ca add siso wrapper 2 gadi atpakaļ
siso.bat 3ca8d0d0ca add siso wrapper 2 gadi atpakaļ
siso.py 43c6415bce Add a new possible siso path 1 gadu atpakaļ
split_cl.py d44bc14aa6 split_cl: do not prepend '/' in $directory 1 gadu atpakaļ
subcommand.py edba22d4eb Fix multiline comment formatting 1 gadu atpakaļ
subprocess2.py edba22d4eb Fix multiline comment formatting 1 gadu atpakaļ
swift-format 0a6b544e20 Support git cl formatting for swift files 3 gadi atpakaļ
swift_format.py 124bb8e53c switch to 4 space indent 1 gadu atpakaļ
update_depot_tools 495b23b39a remove goma CIPD package 1 gadu atpakaļ
update_depot_tools.bat 495b23b39a remove goma CIPD package 1 gadu atpakaļ
update_depot_tools_toggle.py 124bb8e53c switch to 4 space indent 1 gadu atpakaļ
upload_metrics.py 124bb8e53c switch to 4 space indent 1 gadu atpakaļ
upload_to_google_storage.py 3c79cfc485 Revert "Reland "Add support for GCS deps"" 1 gadu atpakaļ
upload_to_google_storage_first_class.py 499342211b [GCS] Add prefix option to upload_to_gs_f_c 1 gadu atpakaļ
utils.py 6f180c0a23 Use $HOME/.config/depot_tools on linux for .cfg files 1 gadu atpakaļ
vpython3 f90cc29837 vpython: clear DEPOT_TOOLS_DIR before running scripts 2 gadi atpakaļ
vpython3.bat 8d81365cf0 Use the bundled interpreter instead of passing -vpython-interpreter. 3 gadi atpakaļ
watchlists.py edba22d4eb Fix multiline comment formatting 1 gadu atpakaļ
whitespace.txt 74e3d80019 Change whitespace.txt 4 gadi atpakaļ
win32imports.py 124bb8e53c switch to 4 space indent 1 gadu atpakaļ
yapf 3d6dda8241 Always run yapf with vpython3. 1 gadu atpakaļ
yapf.bat d73d069a76 Run yapf with vpython3 4 gadi atpakaļ

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.