暂无描述

John Budorick 6ec8b51bc9 Reland "depot_tools: Ensure Python is bootstrapped before reading python3_bin_reldir.txt" 5 年之前
bootstrap 9577daf667 depot_tools: Don't add a python3 shim to depot_tools on bootstrap. 5 年之前
fetch_configs 89863242a4 Add fetch configs for devtools-frontend 5 年之前
git-templates a7d7d7ec35 Explicitly exec hooks inside a shell. 12 年之前
infra 35a67a5796 Roll recipe dependencies (trivial). 5 年之前
man 8e57b4bc55 python3 improvements 5 年之前
python-bin 9577daf667 depot_tools: Don't add a python3 shim to depot_tools on bootstrap. 5 年之前
recipes 35a67a5796 Roll recipe dependencies (trivial). 5 年之前
testing_support 14705d8ce0 depot_tools: Make owners tests run on Python 3 5 年之前
tests 7cf9438ca9 presubmit: Print executed command along with test name. 5 年之前
third_party bb1354e256 depot_tools: Remove oauth2client. 5 年之前
win_toolchain 8e57b4bc55 python3 improvements 5 年之前
zsh-goodies 6e043f755b Remove unmaintained "gclient export" command, 14 年之前
.gitattributes 1f3bafbab4 git-cl: Run using vpython 5 年之前
.gitignore 9577daf667 depot_tools: Don't add a python3 shim to depot_tools on bootstrap. 5 年之前
.style.yapf 9d0644d71d Add experimental support for python in 'git cl format' 10 年之前
.vpython 202c559cac depot_tools: Include httplib2 using vpython. 5 年之前
.vpython3 4ba192e7a9 Reland "gerrit_util: Refactor ReadHttpResponse and add more tests." 5 年之前
CROS_OWNERS a110bf60c0 CROS_OWNERS: update 6 年之前
LICENSE fb2b8eb2e2 Create the Next Generation of depot_tools. Eh. 16 年之前
OWNERS 53a5a5042e Add a COMPONENT entry to the OWNERS file. 6 年之前
PRESUBMIT.py 94d6f48ba1 gsutil: Decode output from subprocess. 5 年之前
README.gclient.md 186449d3e7 docs: Removing references to SVN 9 年之前
README.git-cl.md 17016be940 README.git-cl.md: Remove reference to Rietveld 6 年之前
README.md f797143682 Update depot_tools README cpplint section 6 年之前
WATCHLISTS 5803e49603 depot_tools: Add ehmaldonado to WATCHLISTS. 5 年之前
annotated_gclient.py 8e57b4bc55 python3 improvements 5 年之前
auth.py b43d98bf64 auth: Fix has_luci_context_local_auth. 5 年之前
autoninja 8e57b4bc55 python3 improvements 5 年之前
autoninja.bat 125f7cc4d5 [depot_tools] Cap num_cores to RAM/2GB under local jumbo builds 6 年之前
autoninja.py 6a86032688 Handle GOMA_DISABLED more precisely 6 年之前
bb 059f26bcb4 do not hardcode the path to bash by using the #!/usr/bin/env bash shebang 6 年之前
bb.bat 865445eb8a [bb] Deploy bb 6 年之前
bootstrap_python3 24995256ee Reland "depot_tools: Bootstrap Python 3 on Linux/Mac" 6 年之前
breakpad.py dc58a97f02 Finally get rid of depot_tools' breakpad. 9 年之前
cbuildbot 76c2e50d3b simplify the chromite wrappers 5 年之前
chrome_set_ver 76c2e50d3b simplify the chromite wrappers 5 年之前
cipd 059f26bcb4 do not hardcode the path to bash by using the #!/usr/bin/env bash shebang 6 年之前
cipd.bat 95fb6dc810 [cipd] Check CIPD client hash during updates on Windows. 7 年之前
cipd.ps1 dfedcc0666 [cipd] More careful error handling during CIPD bootstrap on Windows. 7 年之前
cipd_bin_setup.bat a0aed87f71 Revert "put goma client in depot_tools" 5 年之前
cipd_bin_setup.sh a0aed87f71 Revert "put goma client in depot_tools" 5 年之前
cipd_client_version 9ccd057746 cipd: update to 2a121dde. 6 年之前
cipd_client_version.digests 9ccd057746 cipd: update to 2a121dde. 6 年之前
cipd_manifest.txt d39c0496a1 [lucicfg] Update from v1.11.5 to v1.11.6. 5 年之前
cipd_manifest.versions d39c0496a1 [lucicfg] Update from v1.11.5 to v1.11.6. 5 年之前
cit f994d87e56 Revert "Reland "depot_tools: Move six to depot_tools' .vpython"" 6 年之前
cit.bat f994d87e56 Revert "Reland "depot_tools: Move six to depot_tools' .vpython"" 6 年之前
cit.py f994d87e56 Revert "Reland "depot_tools: Move six to depot_tools' .vpython"" 6 年之前
clang-format 3ac1c4e320 Depot tools: use the clang-format binaries that are now included 11 年之前
clang-format.bat 74809c1b31 [.bat] Remove "depot_tools" override. (#2) 8 年之前
clang_format.py 80ee78e7fa Convert print statements to Python 3 style 6 年之前
clang_format_merge_driver ff84560ede Introduce git merge driver for the blink reformatting 9 年之前
clang_format_merge_driver.bat 74809c1b31 [.bat] Remove "depot_tools" override. (#2) 8 年之前
clang_format_merge_driver.py 7c93846385 Convert except statements to be Python 3 compatible 6 年之前
codereview.settings 9b654aa084 Make depot_tools upload reviews to Gerrit by default 8 年之前
compile_single_file 4dd9682b11 Add a script to make it easier to build a single source file with ninja 8 年之前
compile_single_file.bat 4dd9682b11 Add a script to make it easier to build a single source file with ninja 8 年之前
compile_single_file.py a74bd78e9c Make it clear that compile_single_file.py doesn't support Jumbo builds 6 年之前
cpplint.bat 74809c1b31 [.bat] Remove "depot_tools" override. (#2) 8 年之前
cpplint.py 9ab047e78b [tricium] Add string_view to list of C++ headers 5 年之前
cpplint_chromium.py 8b8d8bef35 Add lint check against "Foo *bar" and "Foo &bar" declarations. 14 年之前
cros 76c2e50d3b simplify the chromite wrappers 5 年之前
cros_sdk 76c2e50d3b simplify the chromite wrappers 5 年之前
crosjobs b4fc338b7e Add crosjobs shim script 6 年之前
dart_format.py 7c93846385 Convert except statements to be Python 3 compatible 6 年之前
detect_host_arch.py b946b2389c Improve gclient Python 3 compatibility 6 年之前
download_from_google_storage 7149d23621 Revert "depot_tools: Run Python scripts using vpython (Part 2)" 6 年之前
download_from_google_storage.bat 7149d23621 Revert "depot_tools: Run Python scripts using vpython (Part 2)" 6 年之前
download_from_google_storage.py 94d6f48ba1 gsutil: Decode output from subprocess. 5 年之前
ensure_bootstrap 24995256ee Reland "depot_tools: Bootstrap Python 3 on Linux/Mac" 6 年之前
fetch 75c59424e3 [fetch] use py3 for fetch 5 年之前
fetch.bat 7e55700844 fetch: Fix GCLIENT_PY3 on Windows 5 年之前
fetch.py 5c869191c1 Reland "depot_tools: Use vpython to execute fetch." 5 年之前
fix_encoding.py d9c1c856c6 fix_encoding: Decode bytestrings on Python 3 6 年之前
gclient b9aca9494e gclient: Skip calling update_depot_tools if DEPOT_TOOLS_UPDATE is 0. 5 年之前
gclient-new-workdir.py 7149d23621 Revert "depot_tools: Run Python scripts using vpython (Part 2)" 6 年之前
gclient.bat b9aca9494e gclient: Skip calling update_depot_tools if DEPOT_TOOLS_UPDATE is 0. 5 年之前
gclient.py 1f392b83a8 gclient: Support setting local directories as dependency URLs. 5 年之前
gclient_completion.sh 2dca41cf70 Added basic completion (the commands) for gclient. 11 年之前
gclient_eval.py 8e57b4bc55 python3 improvements 5 年之前
gclient_paths.py 7211cf6444 Import gclient_utils for gclient_paths CheckCallAndFilter 5 年之前
gclient_scm.py bb45734988 Changed "gclient sync -D" logic to compare against the expected DEPS version 5 年之前
gclient_utils.py 419c92f1bc gclient_utils: Make FileRead always return a Unicode string. 5 年之前
gerrit_client.py d9cbe7ad69 [git-cl] Lint and clean-up git-cl, test, and related modules 6 年之前
gerrit_util.py 0db01f0fab git-cl: Make tests run on Python 3. 5 年之前
git-cache 375765c6bf Generalize python_git_runner for use in non-git scripts. 9 年之前
git-cl 375765c6bf Generalize python_git_runner for use in non-git scripts. 9 年之前
git-crrev-parse 383ace4b35 Fix git-crrev-parse on Mac. 8 年之前
git-drover 375765c6bf Generalize python_git_runner for use in non-git scripts. 9 年之前
git-find-releases 375765c6bf Generalize python_git_runner for use in non-git scripts. 9 年之前
git-footers 375765c6bf Generalize python_git_runner for use in non-git scripts. 9 年之前
git-freeze 375765c6bf Generalize python_git_runner for use in non-git scripts. 9 年之前
git-gs 2b4ac39884 Add *.proto to git-gs 8 年之前
git-hyper-blame 819375653b Added git hyper-blame, a tool that skips unwanted commits in git blame. 9 年之前
git-map 375765c6bf Generalize python_git_runner for use in non-git scripts. 9 年之前
git-map-branches 375765c6bf Generalize python_git_runner for use in non-git scripts. 9 年之前
git-mark-merge-base 375765c6bf Generalize python_git_runner for use in non-git scripts. 9 年之前
git-nav-downstream 375765c6bf Generalize python_git_runner for use in non-git scripts. 9 年之前
git-nav-upstream e989bb2b45 Make git-nav-upstream use the upstream branch name 6 年之前
git-new-branch 375765c6bf Generalize python_git_runner for use in non-git scripts. 9 年之前
git-number 375765c6bf Generalize python_git_runner for use in non-git scripts. 9 年之前
git-rebase-update 375765c6bf Generalize python_git_runner for use in non-git scripts. 9 年之前
git-rename-branch 375765c6bf Generalize python_git_runner for use in non-git scripts. 9 年之前
git-reparent-branch 375765c6bf Generalize python_git_runner for use in non-git scripts. 9 年之前
git-retry 375765c6bf Generalize python_git_runner for use in non-git scripts. 9 年之前
git-runhooks 98eda3f3e4 Revert "depot_tools: Run Python scripts using vpython (Part 1)" 6 年之前
git-squash-branch 375765c6bf Generalize python_git_runner for use in non-git scripts. 9 年之前
git-thaw 375765c6bf Generalize python_git_runner for use in non-git scripts. 9 年之前
git-upstream-diff 375765c6bf Generalize python_git_runner for use in non-git scripts. 9 年之前
git_cache.py 3da78c4bb7 Revert git cache diagnostic tracing. 5 年之前
git_cl.py 0db01f0fab git-cl: Make tests run on Python 3. 5 年之前
git_cl_completion.sh e594e21959 Add git cl bash completition. 9 年之前
git_common.py 71681bf1e8 git-common: Explicitly specify utf-8 when encoding. 5 年之前
git_dates.py 819375653b Added git hyper-blame, a tool that skips unwanted commits in git blame. 9 年之前
git_drover.py 6f6611617c git-drover: Fix tests to run on Python 3. 5 年之前
git_find_releases.py 98eda3f3e4 Revert "depot_tools: Run Python scripts using vpython (Part 1)" 6 年之前
git_footers.py 5da394f8e1 depot_tools: Run git_footers_test on Python 3. 5 年之前
git_freezer.py 98eda3f3e4 Revert "depot_tools: Run Python scripts using vpython (Part 1)" 6 年之前
git_hyper_blame.py 12a537f932 depot_tools: Run git_common_test in Python 3 5 年之前
git_map.py 8e57b4bc55 python3 improvements 5 年之前
git_map_branches.py 8e57b4bc55 python3 improvements 5 年之前
git_mark_merge_base.py 98eda3f3e4 Revert "depot_tools: Run Python scripts using vpython (Part 1)" 6 年之前
git_nav_downstream.py 98eda3f3e4 Revert "depot_tools: Run Python scripts using vpython (Part 1)" 6 年之前
git_new_branch.py 9bb7b96c4d git-rebase-update: Make tests run on Python 3. 5 年之前
git_number.py 352808fa15 git-number: Make tests run on Python 3. 5 年之前
git_rebase_update.py 8e57b4bc55 python3 improvements 5 年之前
git_rename_branch.py 9bb7b96c4d git-rebase-update: Make tests run on Python 3. 5 年之前
git_reparent_branch.py 98eda3f3e4 Revert "depot_tools: Run Python scripts using vpython (Part 1)" 6 年之前
git_retry.py 98eda3f3e4 Revert "depot_tools: Run Python scripts using vpython (Part 1)" 6 年之前
git_squash_branch.py 98eda3f3e4 Revert "depot_tools: Run Python scripts using vpython (Part 1)" 6 年之前
git_upstream_diff.py 98eda3f3e4 Revert "depot_tools: Run Python scripts using vpython (Part 1)" 6 年之前
gn a738935a12 Add executable and line ending properties for GN. 11 年之前
gn.bat 74809c1b31 [.bat] Remove "depot_tools" override. (#2) 8 年之前
gn.py 80ee78e7fa Convert print statements to Python 3 style 6 年之前
goma_auth 27bd4e420d Reland "put goma client in depot_tools" 5 年之前
goma_auth.bat 27bd4e420d Reland "put goma client in depot_tools" 5 年之前
goma_ctl 27bd4e420d Reland "put goma client in depot_tools" 5 年之前
goma_ctl.bat 27bd4e420d Reland "put goma client in depot_tools" 5 年之前
gsutil.py 94d6f48ba1 gsutil: Decode output from subprocess. 5 年之前
gsutil.py.bat 52411ecf1f Add windows .bat file for gsutil.py. 6 年之前
gsutil.vpython 6a1d77869d gsutil: Bump asn1crypto version to 1.0.1 5 年之前
led 059f26bcb4 do not hardcode the path to bash by using the #!/usr/bin/env bash shebang 6 年之前
led.bat 5aeeb72c33 [bootstraps] Sync at gclient, suppress output (#2) 8 年之前
luci-auth 059f26bcb4 do not hardcode the path to bash by using the #!/usr/bin/env bash shebang 6 年之前
luci-auth.bat f3b152d2f5 [luci-auth] Add statically-linked luci-auth CLI tool. 7 年之前
lucicfg 059f26bcb4 do not hardcode the path to bash by using the #!/usr/bin/env bash shebang 6 年之前
lucicfg.bat ef40cbac46 [cipd] Add lucicfg tool. 6 年之前
mac_toolchain 059f26bcb4 do not hardcode the path to bash by using the #!/usr/bin/env bash shebang 6 年之前
metrics.README.md 18df41e0cf metrics: Collect full timestamps. 6 年之前
metrics.py 73065b2067 depot_tools: Make some changes to make metrics collection compatible with Python 3. 6 年之前
metrics_utils.py 73065b2067 depot_tools: Make some changes to make metrics collection compatible with Python 3. 6 年之前
my_activity.py 202c559cac depot_tools: Include httplib2 using vpython. 5 年之前
ninja a21a7c53d9 [ninja] update ninja repository url 6 年之前
ninja-linux32 aa57b34620 Update ninja to v1.8.2 8 年之前
ninja-linux64 aa57b34620 Update ninja to v1.8.2 8 年之前
ninja-mac aa57b34620 Update ninja to v1.8.2 8 年之前
ninja.exe aa57b34620 Update ninja to v1.8.2 8 年之前
ninjalog.README.md 540ba9dde0 [ninjalog] add ninjalog.README.md 6 年之前
ninjalog_uploader.py 3841eaa164 Remove unused imports in depot_tools/*.py 5 年之前
ninjalog_uploader_wrapper.py 80ee78e7fa Convert print statements to Python 3 style 6 年之前
owners.py 37740e2bc9 Randomize results of git cl owners 5 年之前
owners_finder.py 37740e2bc9 Randomize results of git cl owners 5 年之前
post_build_ninja_summary.py 0e9afd2a56 Change "CPU time" to "elapsed time" 5 年之前
presubmit_canned_checks.py b983024505 presubmit_support: Fix tests on Python 3. 5 年之前
presubmit_support.py 7cf9438ca9 presubmit: Print executed command along with test name. 5 年之前
profile.xml fb2b8eb2e2 Create the Next Generation of depot_tools. Eh. 16 年之前
prpc 059f26bcb4 do not hardcode the path to bash by using the #!/usr/bin/env bash shebang 6 年之前
prpc.bat d6d0ecca50 [prpc] Add pRPC CLI tool to depot_tools. 7 年之前
pylint 53297790de pylint: rework wrapper to use vpython for multiple versions 6 年之前
pylint-1.5 53297790de pylint: rework wrapper to use vpython for multiple versions 6 年之前
pylint-1.6 53297790de pylint: rework wrapper to use vpython for multiple versions 6 年之前
pylint-1.7 53297790de pylint: rework wrapper to use vpython for multiple versions 6 年之前
pylint-1.8 53297790de pylint: rework wrapper to use vpython for multiple versions 6 年之前
pylint-1.9 53297790de pylint: rework wrapper to use vpython for multiple versions 6 年之前
pylint.bat 53297790de pylint: rework wrapper to use vpython for multiple versions 6 年之前
pylint_main.py 53297790de pylint: rework wrapper to use vpython for multiple versions 6 年之前
pylintrc ed485e1994 pylintrc: disable score reports 6 年之前
python_runner.sh 1f3bafbab4 git-cl: Run using vpython 5 年之前
repo 64ae6993f7 Reland "repo: pull in updates from latest release" 6 年之前
roll-dep 7149d23621 Revert "depot_tools: Run Python scripts using vpython (Part 2)" 6 年之前
roll-dep-svn 7149d23621 Revert "depot_tools: Run Python scripts using vpython (Part 2)" 6 年之前
roll-dep-svn.bat 7149d23621 Revert "depot_tools: Run Python scripts using vpython (Part 2)" 6 年之前
roll-dep.bat 7149d23621 Revert "depot_tools: Run Python scripts using vpython (Part 2)" 6 年之前
roll_dep.py 8e57b4bc55 python3 improvements 5 年之前
roll_dep_svn.py 7149d23621 Revert "depot_tools: Run Python scripts using vpython (Part 2)" 6 年之前
scm.py c9144527d9 depot_tools: Don't use basestring in scm.CaptureStatus. 5 年之前
setup_color.py 73ec83f0fe setup_color: Don't output an error if GetConsoleMode fails 6 年之前
split_cl.py 8e57b4bc55 python3 improvements 5 年之前
subcommand.py 921f6a1751 depot_toools: Make subcommand Python 3 compatible. 6 年之前
subprocess2.py 1556fbc353 depot_tools: Simplify subprocess2. 6 年之前
update_depot_tools 9577daf667 depot_tools: Don't add a python3 shim to depot_tools on bootstrap. 5 年之前
update_depot_tools.bat 24995256ee Reland "depot_tools: Bootstrap Python 3 on Linux/Mac" 6 年之前
update_depot_tools_toggle.py 74d7e13315 [auto_update] Add control script, allow disable. 8 年之前
upload_metrics.py f994d87e56 Revert "Reland "depot_tools: Move six to depot_tools' .vpython"" 6 年之前
upload_to_google_storage.py 94d6f48ba1 gsutil: Decode output from subprocess. 5 年之前
vpython 6ec8b51bc9 Reland "depot_tools: Ensure Python is bootstrapped before reading python3_bin_reldir.txt" 5 年之前
vpython.bat 5aeeb72c33 [bootstraps] Sync at gclient, suppress output (#2) 8 年之前
vpython3 6ec8b51bc9 Reland "depot_tools: Ensure Python is bootstrapped before reading python3_bin_reldir.txt" 5 年之前
vpython3.bat 447b45d423 [vpython] Roll to 98a268c6432f18aedd55d62b9621765316dc2a16 6 年之前
watchlists.py ba97f6065e Trivial: Removing gendered pronouns from watchlists.py. 5 年之前
weekly 80ee78e7fa Convert print statements to Python 3 style 6 年之前
wtf 80ee78e7fa Convert print statements to Python 3 style 6 年之前
yapf db1e69ef03 Update yapf version 0.22 -> 0.24 6 年之前
yapf.bat e47ac15d93 Fix git cl format --python on windows 6 年之前

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.