説明なし

Nico Weber c768fd8fc9 Revert "Use depot_tools python3 to call ninja.py" 2 年 前
bootstrap 44b73307ee ensure depot_tools and cipd can bootstrap on all windows paths 3 年 前
fetch_configs 164e33529e Add a fetch config for GN. 3 年 前
git-templates a7d7d7ec35 Explicitly exec hooks inside a shell. 12 年 前
infra 107142ac38 Roll recipe dependencies (trivial). 2 年 前
man 8d2f774038 Use py3 in documentation generation 3 年 前
python-bin 8d727180be Add python batch wrappers 4 年 前
python2-bin 8d727180be Add python batch wrappers 4 年 前
recipes 107142ac38 Roll recipe dependencies (trivial). 2 年 前
testing_support d83509c0c3 Move presubmit_canned_checks tests under tests/ and fix 2 年 前
tests d83509c0c3 Move presubmit_canned_checks tests under tests/ and fix 2 年 前
third_party c6798c8989 [depot tools] Update six version. 3 年 前
win_toolchain 0115386a26 Switch from VS 2017/2019 support to VS 2019/2022 2 年 前
zsh-goodies 6e043f755b Remove unmaintained "gclient export" command, 14 年 前
.cipd_impl.ps1 f15a709ff3 Try removing windows-386 from cipd_manifest.txt 4 年 前
.gitattributes b6030901cf Setup cipd bin before calling ninja/autoninja 3 年 前
.gitignore 93fbd989e0 Revert "Retry switching to use CIPD ninja v1.8.2" 3 年 前
.isort.cfg 9a7b7675ba isort: make available to users 3 年 前
.style.yapf fa40bfa39b Update "git cl format --python" to default to PEP-8 5 年 前
.vpython b1bfb8b4f0 Add explicit vpython verification tags which include mac-arm64. 4 年 前
.vpython3 274ada0567 Reland "Use py3 in gitiles recipe module" 3 年 前
CROS_OWNERS de38174544 CROS_OWNERS: switch to our common shared lists 3 年 前
DIR_METADATA 364205c70e [depot_tools] Migrate metadata to DIR_METADATA. 4 年 前
GOMA_OWNERS 4e0cca2a31 Update GOMA_OWNERS 3 年 前
LICENSE fb2b8eb2e2 Create the Next Generation of depot_tools. Eh. 16 年 前
LUCI_OWNERS 376ce660a5 Remove tandrii@ from OWNERS under depot_tools 3 年 前
OWNERS ec1882fbc2 Add dpranke@ back as an OWNER. 2 年 前
PRESUBMIT.py 95c7da10c5 Only run selected tests on py2 2 年 前
README.gclient.md 186449d3e7 docs: Removing references to SVN 9 年 前
README.git-cl.md 9c0dc3026e Replace non-inclusive terms 4 年 前
README.md 64f5f26f1a Indicate py3 compatibility for update_depot_tools_toggle.py 3 年 前
WATCHLISTS 59e6796cd2 Update Source team WATCHLIST entry. 3 年 前
auth.py 0f402641d0 [auth] log errors from luci-auth token invocation. 4 年 前
autoninja 10898d51d1 [autoninja] Respect user-provided AUTONINJA_BUILD_ID 3 年 前
autoninja.bat 25334bb18e Handle goma_ctl/autoninja /? 2 年 前
autoninja.py ad452a7204 Fix autoninja to call ninja.py 2 年 前
bb 47a4b0bc59 Add revert instructions 4 年 前
bb.bat 47a4b0bc59 Add revert instructions 4 年 前
black 9997ceb9a1 black: add helper for formatting Python 3 年 前
bootstrap_python3 3a56ba9d9c [mac/arm] pull python3 binary in cipd bootstrap now that it exists 4 年 前
breakpad.py dc58a97f02 Finally get rid of depot_tools' breakpad. 9 年 前
cbuildbot 76c2e50d3b simplify the chromite wrappers 5 年 前
cipd d9db3f6fd8 Add arch flag and env variable for overriding on mac 2 年 前
cipd.bat 44b73307ee ensure depot_tools and cipd can bootstrap on all windows paths 3 年 前
cipd_bin_setup.bat 93fbd989e0 Revert "Retry switching to use CIPD ninja v1.8.2" 3 年 前
cipd_bin_setup.sh a0aed87f71 Revert "put goma client in depot_tools" 5 年 前
cipd_client_version f53bb836de [cipd] Update CIPD client v2.6.7 => v2.6.8. 3 年 前
cipd_client_version.digests f53bb836de [cipd] Update CIPD client v2.6.7 => v2.6.8. 3 年 前
cipd_manifest.txt d259b31644 [depot_tools] roll led 2 年 前
cipd_manifest.versions d259b31644 [depot_tools] roll led 2 年 前
cit 3912091152 Use py3 for remaining tools in depot_tools path 4 年 前
cit.bat 3912091152 Use py3 for remaining tools in depot_tools path 4 年 前
cit.py c5f0cbb865 Use pylint 2.7 for depot_tools 3 年 前
clang-format 3912091152 Use py3 for remaining tools in depot_tools path 4 年 前
clang-format.bat 3912091152 Use py3 for remaining tools in depot_tools path 4 年 前
clang_format.py 3912091152 Use py3 for remaining tools in depot_tools path 4 年 前
clang_format_merge_driver 3912091152 Use py3 for remaining tools in depot_tools path 4 年 前
clang_format_merge_driver.bat 3912091152 Use py3 for remaining tools in depot_tools path 4 年 前
clang_format_merge_driver.py c5f0cbb865 Use pylint 2.7 for depot_tools 3 年 前
codereview.settings fdd89469d6 update stale codereview.chromium.org links 4 年 前
compile_single_file 3912091152 Use py3 for remaining tools in depot_tools path 4 年 前
compile_single_file.bat 3912091152 Use py3 for remaining tools in depot_tools path 4 年 前
compile_single_file.py fc04ff1628 Call ninja.py from compile_single_file.py 2 年 前
cpplint.bat 6a8680a80e Use python3 for cpplint and get_toolchain on Win 3 年 前
cpplint.py e6f3d66bae Fix bad regex. 2 年 前
cpplint_chromium.py 8b8d8bef35 Add lint check against "Foo *bar" and "Foo &bar" declarations. 14 年 前
cros a8d0173571 cros: raise python version requirement to 3.6 5 年 前
cros_sdk 76c2e50d3b simplify the chromite wrappers 5 年 前
crosjobs 47a4b0bc59 Add revert instructions 4 年 前
detect_host_arch.py eb16162e00 Add riscv64 architecture detection 3 年 前
dirmd 47a4b0bc59 Add revert instructions 4 年 前
dirmd.bat 47a4b0bc59 Add revert instructions 4 年 前
download_from_google_storage bc8802fd81 Switch download_from_google_storage to py3 4 年 前
download_from_google_storage.bat 68df7954e3 use python3 for download_from_google_storage.bat 3 年 前
download_from_google_storage.py 50c631e318 Skip 'ls' when downloading from gs. 3 年 前
ensure_bootstrap ba94bbeaa8 Use python3 for gsutil bootstrapping 3 年 前
fetch c621315d17 Make Python 3 default on Windows 5 年 前
fetch.bat 544594e0b2 Reland "Make depot_tools scripts return exit codes properly on all platforms." 3 年 前
fetch.py 512dfd676b fetch: make --no-history and --no-hooks switches consistent 2 年 前
fix_encoding.py 00790d319f Fix \r\r\n line endings in presubmit output 3 年 前
gclient c0169f32a3 Skip depot_tools update for gclient recurse 3 年 前
gclient-new-workdir.py 4de5deacd4 Explicitly run everything with python3 3 年 前
gclient.bat 544594e0b2 Reland "Make depot_tools scripts return exit codes properly on all platforms." 3 年 前
gclient.py 1b8211ff13 Restore git files that may be deleted by CIPD 2 年 前
gclient_completion.sh 2dca41cf70 Added basic completion (the commands) for gclient. 11 年 前
gclient_eval.py a042264949 Allow 'noparent' in DEPS 3 年 前
gclient_paths.py b888780d17 Change FindGclientRoot to Use os.path.abspath instead of os.path.realpath 4 年 前
gclient_scm.py 738b48a0bf Avoid full fetches with gclient sync --no-history 2 年 前
gclient_utils.py 38d669fe6f Reduce retries in gclient_utils 3 年 前
gerrit_client.py 91d2a5db01 Allow to pass CC list when create a gerrit change 3 年 前
gerrit_util.py e0fee9fa4b Add BatchListBestOwners and ListBestOwners to GerritClient 3 年 前
git-cache 648b4cd2ca Add quotes around paths in bash scripts 5 年 前
git-cl 11f4a84bb1 Add quotes around paths in bash scripts. 5 年 前
git-crrev-parse eee67fe5a5 Fix git-crrev-parse to work with both master & main branches 3 年 前
git-drover 648b4cd2ca Add quotes around paths in bash scripts 5 年 前
git-find-releases 648b4cd2ca Add quotes around paths in bash scripts 5 年 前
git-footers 648b4cd2ca Add quotes around paths in bash scripts 5 年 前
git-freeze 648b4cd2ca Add quotes around paths in bash scripts 5 年 前
git-gs 7f02c0d981 Add *.ts (typescript files) to git-gs 3 年 前
git-hyper-blame 648b4cd2ca Add quotes around paths in bash scripts 5 年 前
git-map 648b4cd2ca Add quotes around paths in bash scripts 5 年 前
git-map-branches 648b4cd2ca Add quotes around paths in bash scripts 5 年 前
git-mark-merge-base 648b4cd2ca Add quotes around paths in bash scripts 5 年 前
git-migrate-default-branch dfa44daef9 Add git-migrate-default-branch 4 年 前
git-nav-downstream 648b4cd2ca Add quotes around paths in bash scripts 5 年 前
git-nav-upstream e989bb2b45 Make git-nav-upstream use the upstream branch name 6 年 前
git-new-branch 648b4cd2ca Add quotes around paths in bash scripts 5 年 前
git-number 648b4cd2ca Add quotes around paths in bash scripts 5 年 前
git-rebase-update 648b4cd2ca Add quotes around paths in bash scripts 5 年 前
git-rename-branch 648b4cd2ca Add quotes around paths in bash scripts 5 年 前
git-reparent-branch 648b4cd2ca Add quotes around paths in bash scripts 5 年 前
git-retry 648b4cd2ca Add quotes around paths in bash scripts 5 年 前
git-runhooks a59e9ea222 Revert "Remove unused functionality in bot_update.py" 3 年 前
git-squash-branch 648b4cd2ca Add quotes around paths in bash scripts 5 年 前
git-thaw 648b4cd2ca Add quotes around paths in bash scripts 5 年 前
git-upstream-diff 648b4cd2ca Add quotes around paths in bash scripts 5 年 前
git_cache.py 5175d18f8a Remove branch option from git cache update-bootstrap. 2 年 前
git_cl.py 591ebafe68 Fix external changes patching when issue number ends with <= 09 2 年 前
git_cl_completion.sh cdaf0be1f4 Add git completion helper to cl upload 5 年 前
git_common.py 6f2321d1de Speed up git thaw 2 年 前
git_dates.py 819375653b Added git hyper-blame, a tool that skips unwanted commits in git blame. 9 年 前
git_drover.py 4de5deacd4 Explicitly run everything with python3 3 年 前
git_find_releases.py 4de5deacd4 Explicitly run everything with python3 3 年 前
git_footers.py 4de5deacd4 Explicitly run everything with python3 3 年 前
git_freezer.py 4de5deacd4 Explicitly run everything with python3 3 年 前
git_hyper_blame.py 4de5deacd4 Explicitly run everything with python3 3 年 前
git_map.py 4de5deacd4 Explicitly run everything with python3 3 年 前
git_map_branches.py a2658217d2 git-map-branches: Fix --show-subject for branches that are gone 2 年 前
git_mark_merge_base.py 4de5deacd4 Explicitly run everything with python3 3 年 前
git_migrate_default_branch.py c08f84e782 Update git fetch refspecs on git migrate 3 年 前
git_nav_downstream.py 4de5deacd4 Explicitly run everything with python3 3 年 前
git_new_branch.py 4de5deacd4 Explicitly run everything with python3 3 年 前
git_number.py c5f0cbb865 Use pylint 2.7 for depot_tools 3 年 前
git_rebase_update.py 9a6aa08468 Suggest --no-fetch flag after git rebase-update conflict 2 年 前
git_rename_branch.py 4de5deacd4 Explicitly run everything with python3 3 年 前
git_reparent_branch.py 4de5deacd4 Explicitly run everything with python3 3 年 前
git_retry.py 0959bb1c2a Fix git-retry on errors 3 年 前
git_squash_branch.py 4de5deacd4 Explicitly run everything with python3 3 年 前
git_upstream_diff.py 4de5deacd4 Explicitly run everything with python3 3 年 前
gn 67574d7a19 gn: Call gn.bat in msysgit on Windows. 4 年 前
gn.bat c70750b73e Revert "Call python3.bat explicitly from gn.bat on Windows." 3 年 前
gn.py c5f0cbb865 Use pylint 2.7 for depot_tools 3 年 前
goma_auth a806594b95 Reland "Reland "use python3 for goma related scripts"" 4 年 前
goma_auth.bat df3228656a Set errorlevel in .bat wrappers on exit /b where appropriate. 3 年 前
goma_ctl a806594b95 Reland "Reland "use python3 for goma related scripts"" 4 年 前
goma_ctl.bat 25334bb18e Handle goma_ctl/autoninja /? 2 年 前
gsutil.py 07d6e6985b Use shutil when moving gsutil. 2 年 前
gsutil.py.bat 544594e0b2 Reland "Make depot_tools scripts return exit codes properly on all platforms." 3 年 前
gsutil.vpython3 1909696991 Reland "Update gsutil to use gsutil version 4.68" 3 年 前
isort 9a7b7675ba isort: make available to users 3 年 前
led 47a4b0bc59 Add revert instructions 4 年 前
led.bat 47a4b0bc59 Add revert instructions 4 年 前
lockfile.py 14a83aec56 Reland "Use OS level locking in git_cache.py" 5 年 前
luci-auth 47a4b0bc59 Add revert instructions 4 年 前
luci-auth.bat 47a4b0bc59 Add revert instructions 4 年 前
lucicfg 47a4b0bc59 Add revert instructions 4 年 前
lucicfg.bat 47a4b0bc59 Add revert instructions 4 年 前
mac_toolchain 059f26bcb4 do not hardcode the path to bash by using the #!/usr/bin/env bash shebang 6 年 前
metrics.README.md 9c0dc3026e Replace non-inclusive terms 4 年 前
metrics.py 4de5deacd4 Explicitly run everything with python3 3 年 前
metrics_utils.py 4de5deacd4 Explicitly run everything with python3 3 年 前
my_activity.py c5f0cbb865 Use pylint 2.7 for depot_tools 3 年 前
ninja c768fd8fc9 Revert "Use depot_tools python3 to call ninja.py" 2 年 前
ninja-linux64 93fbd989e0 Revert "Retry switching to use CIPD ninja v1.8.2" 3 年 前
ninja-mac 93fbd989e0 Revert "Retry switching to use CIPD ninja v1.8.2" 3 年 前
ninja.bat c768fd8fc9 Revert "Use depot_tools python3 to call ninja.py" 2 年 前
ninja.exe 93fbd989e0 Revert "Retry switching to use CIPD ninja v1.8.2" 3 年 前
ninja.py 22bbba13ce Do not show python stack trace in ninja.py when KeyboardInterrupt happens 2 年 前
ninjalog.README.md a657331e90 ninjalog_uploader: use goma_auth to detect googler 3 年 前
ninjalog_uploader.py 4ee32ce4cb [ninjalog uploader] Collect more android GN args 3 年 前
ninjalog_uploader_wrapper.py cf9a776713 Typo when countdown is more than 1. 3 年 前
owners_client.py 0f1addcbe9 Reland "Remove old DepotToolsOwners implementation" 2 年 前
owners_finder.py c5f0cbb865 Use pylint 2.7 for depot_tools 3 年 前
pinpoint 47a4b0bc59 Add revert instructions 4 年 前
pinpoint.bat 47a4b0bc59 Add revert instructions 4 年 前
post_build_ninja_summary.py 1f51102073 post_build_ninja_summary.py: chmod u+x 2 年 前
presubmit_canned_checks.py d83509c0c3 Move presubmit_canned_checks tests under tests/ and fix 2 年 前
presubmit_support.py 9f38b63b4e Add snippets to presubmit failures in resultdb 2 年 前
profile.xml fb2b8eb2e2 Create the Next Generation of depot_tools. Eh. 16 年 前
prpc 47a4b0bc59 Add revert instructions 4 年 前
prpc.bat 47a4b0bc59 Add revert instructions 4 年 前
pylint-1.5 c3e25c828d Fix hangs when running pylint with py3 3 年 前
pylint-1.5.bat 866be0f290 Add an option to specify pylint version 4 年 前
pylint-2.6 6cebde7ca2 Update pylint vpython specs to use a specific minor version. 3 年 前
pylint-2.6.bat d60b99cd5a Get pylint-2.6 to work under vpython3 on Windows. 4 年 前
pylint-2.7 6cebde7ca2 Update pylint vpython specs to use a specific minor version. 3 年 前
pylint-2.7.bat 59e3296a7e Add pylint-2.7 3 年 前
pylint_main.py 4de5deacd4 Explicitly run everything with python3 3 年 前
pylintrc 0985861970 CodeInclusion: Rename whitelist/blacklist -> allowlist/blocklist 5 年 前
python_runner.sh c621315d17 Make Python 3 default on Windows 5 年 前
rdb 47a4b0bc59 Add revert instructions 4 年 前
rdb.bat 47a4b0bc59 Add revert instructions 4 年 前
rdb_wrapper.py 9f38b63b4e Add snippets to presubmit failures in resultdb 2 年 前
repo 3d7cc837bd repo: restore fstrings for Python 3.6 4 年 前
repo_launcher 84edf22d0e repo: update to 2.30 launcher 2 年 前
roll-dep c621315d17 Make Python 3 default on Windows 5 年 前
roll-dep.bat c621315d17 Make Python 3 default on Windows 5 年 前
roll_dep.py a089281a82 roll_dep: support multiple -r/--reviewer arguments 3 年 前
rustfmt.py 6e33ba049f Use rustfmt from third_party/rust-toolchain/bin directory. 2 年 前
scm.py c5f0cbb865 Use pylint 2.7 for depot_tools 3 年 前
setup_color.py 4de5deacd4 Explicitly run everything with python3 3 年 前
split_cl.py 403c44e293 Add a --max-depth option to git cl split 2 年 前
subcommand.py 940cd8e20f Use empty argument list in cmdhelp 3 年 前
subprocess2.py cf06cad1be [subprocess2] Replace VOID with DEVNULL 4 年 前
swift-format 0a6b544e20 Support git cl formatting for swift files 3 年 前
swift_format.py 7f39e3d185 Make swift-format default True on Mac hosts 3 年 前
update_depot_tools 544594e0b2 Reland "Make depot_tools scripts return exit codes properly on all platforms." 3 年 前
update_depot_tools.bat 253031197f Allow depot_tools/.git to be a file 3 年 前
update_depot_tools_toggle.py 64f5f26f1a Indicate py3 compatibility for update_depot_tools_toggle.py 3 年 前
upload_metrics.py 8dd1f99b2e Catch RemoteDisconnected on upload metrics 3 年 前
upload_to_google_storage.py 787e71ac8b Fix code check in upload to google storage. 2 年 前
utils.py 0399e1762c Add a basic depot_tools version information 3 年 前
vpython c9f904f205 Move python2_usage.txt from depot_tools to temp 2 年 前
vpython.bat c9f904f205 Move python2_usage.txt from depot_tools to temp 2 年 前
vpython3 811ea056ed vpython(3) no longer needs to bootstrap python. 3 年 前
vpython3.bat 8d81365cf0 Use the bundled interpreter instead of passing -vpython-interpreter. 3 年 前
watchlists.py 4de5deacd4 Explicitly run everything with python3 3 年 前
weekly 4de5deacd4 Explicitly run everything with python3 3 年 前
whitespace.txt 74e3d80019 Change whitespace.txt 4 年 前
win32imports.py 14a83aec56 Reland "Use OS level locking in git_cache.py" 5 年 前
wtf 4de5deacd4 Explicitly run everything with python3 3 年 前
yapf 36bf3a82fb yapf: remove unused `re` import 3 年 前
yapf.bat d73d069a76 Run yapf with vpython3 4 年 前

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.