Fără Descriere

James Zern fdd89469d6 update stale codereview.chromium.org links 4 ani în urmă
bootstrap 9c0dc3026e Replace non-inclusive terms 4 ani în urmă
fetch_configs 89863242a4 Add fetch configs for devtools-frontend 5 ani în urmă
git-templates a7d7d7ec35 Explicitly exec hooks inside a shell. 12 ani în urmă
infra 8149a9615c Roll recipe dependencies (trivial). 4 ani în urmă
man fdd89469d6 update stale codereview.chromium.org links 4 ani în urmă
python-bin 9577daf667 depot_tools: Don't add a python3 shim to depot_tools on bootstrap. 5 ani în urmă
python2-bin 26cd974abf Add a python2 shim under python2-bin/ 4 ani în urmă
recipes 8149a9615c Roll recipe dependencies (trivial). 4 ani în urmă
testing_support d63d1dde9f Set default branch in fake_repos 4 ani în urmă
tests fdd89469d6 update stale codereview.chromium.org links 4 ani în urmă
third_party ac5c55f6d7 Revert "Improve git cl split" 5 ani în urmă
win_toolchain 9c0dc3026e Replace non-inclusive terms 4 ani în urmă
zsh-goodies 6e043f755b Remove unmaintained "gclient export" command, 14 ani în urmă
.cipd_impl.ps1 22775d8e17 Retry CIPD client download on Windows 4 ani în urmă
.gitattributes eb386eb3d2 Reland "repo: auto-update depot_tools when used" 4 ani în urmă
.gitignore 9577daf667 depot_tools: Don't add a python3 shim to depot_tools on bootstrap. 5 ani în urmă
.style.yapf fa40bfa39b Update "git cl format --python" to default to PEP-8 5 ani în urmă
.vpython 9949ab7a4b Preliminary changes to git cl and presubmit_support 5 ani în urmă
.vpython3 9949ab7a4b Preliminary changes to git cl and presubmit_support 5 ani în urmă
CROS_OWNERS d27e40cf55 CROS_OWNERS: add Michael 5 ani în urmă
DIR_METADATA 364205c70e [depot_tools] Migrate metadata to DIR_METADATA. 4 ani în urmă
GOMA_OWNERS e9ed65aa19 Add tikuta, <user>@chromium.org to GOMA_OWNERS 5 ani în urmă
LICENSE fb2b8eb2e2 Create the Next Generation of depot_tools. Eh. 16 ani în urmă
LUCI_OWNERS 7b7bdcd075 tandrii: switch OWNERS to @google.com account. 5 ani în urmă
OWNERS 364205c70e [depot_tools] Migrate metadata to DIR_METADATA. 4 ani în urmă
PRESUBMIT.py c6aa151180 Warn only if non-inclusive term is used 5 ani în urmă
README.gclient.md 186449d3e7 docs: Removing references to SVN 9 ani în urmă
README.git-cl.md 9c0dc3026e Replace non-inclusive terms 4 ani în urmă
README.md 603989e2c0 add clarification for Python 3 5 ani în urmă
WATCHLISTS f90afd3eb5 WATCHLISTS: CC chops-source-team@ on all depot_tools changes. 5 ani în urmă
auth.py b43d98bf64 auth: Fix has_luci_context_local_auth. 5 ani în urmă
autoninja 1248b8ef4a Fix a python invocation that wasn't replaced with vpython. 5 ani în urmă
autoninja.bat 684460d29e Add remote-disabled support for reclient in autoninja. 4 ani în urmă
autoninja.py b2c18f2f62 Support CMake generated build files 4 ani în urmă
bb 059f26bcb4 do not hardcode the path to bash by using the #!/usr/bin/env bash shebang 6 ani în urmă
bb.bat 865445eb8a [bb] Deploy bb 6 ani în urmă
bootstrap_python3 11f4a84bb1 Add quotes around paths in bash scripts. 5 ani în urmă
breakpad.py dc58a97f02 Finally get rid of depot_tools' breakpad. 9 ani în urmă
cbuildbot 76c2e50d3b simplify the chromite wrappers 5 ani în urmă
chrome_set_ver 76c2e50d3b simplify the chromite wrappers 5 ani în urmă
cipd 1607bf453a Retry CIPD client download on Linux / macOS 4 ani în urmă
cipd.bat bffd63b243 [cipd] Take cipd.ps1 out of %PATH%. 5 ani în urmă
cipd_bin_setup.bat a0aed87f71 Revert "put goma client in depot_tools" 5 ani în urmă
cipd_bin_setup.sh a0aed87f71 Revert "put goma client in depot_tools" 5 ani în urmă
cipd_client_version ac96016abc [cipd] Update CIPD client to 2.5.1. 4 ani în urmă
cipd_client_version.digests ac96016abc [cipd] Update CIPD client to 2.5.1. 4 ani în urmă
cipd_manifest.txt 59b0ce20d3 Roll out new goma client binary VERSION=210 4 ani în urmă
cipd_manifest.versions 59b0ce20d3 Roll out new goma client binary VERSION=210 4 ani în urmă
cit f994d87e56 Revert "Reland "depot_tools: Move six to depot_tools' .vpython"" 6 ani în urmă
cit.bat f994d87e56 Revert "Reland "depot_tools: Move six to depot_tools' .vpython"" 6 ani în urmă
cit.py cf06cad1be [subprocess2] Replace VOID with DEVNULL 4 ani în urmă
clang-format 3ac1c4e320 Depot tools: use the clang-format binaries that are now included 11 ani în urmă
clang-format.bat 74809c1b31 [.bat] Remove "depot_tools" override. (#2) 8 ani în urmă
clang_format.py 80ee78e7fa Convert print statements to Python 3 style 6 ani în urmă
clang_format_merge_driver ff84560ede Introduce git merge driver for the blink reformatting 9 ani în urmă
clang_format_merge_driver.bat 74809c1b31 [.bat] Remove "depot_tools" override. (#2) 8 ani în urmă
clang_format_merge_driver.py 7c93846385 Convert except statements to be Python 3 compatible 6 ani în urmă
codereview.settings fdd89469d6 update stale codereview.chromium.org links 4 ani în urmă
compile_single_file 4dd9682b11 Add a script to make it easier to build a single source file with ninja 8 ani în urmă
compile_single_file.bat 4dd9682b11 Add a script to make it easier to build a single source file with ninja 8 ani în urmă
compile_single_file.py 6c7b829e54 remove reference to jumbo build 5 ani în urmă
cpplint.bat 74809c1b31 [.bat] Remove "depot_tools" override. (#2) 8 ani în urmă
cpplint.py 0985861970 CodeInclusion: Rename whitelist/blacklist -> allowlist/blocklist 5 ani în urmă
cpplint_chromium.py 8b8d8bef35 Add lint check against "Foo *bar" and "Foo &bar" declarations. 14 ani în urmă
cros a8d0173571 cros: raise python version requirement to 3.6 5 ani în urmă
cros_sdk 76c2e50d3b simplify the chromite wrappers 5 ani în urmă
crosjobs b4fc338b7e Add crosjobs shim script 6 ani în urmă
detect_host_arch.py 9777ab3619 depot_tools: Add tests for detect_host_arch. 5 ani în urmă
dirmd 672e1dcfad [dirmd] Add dirmd executables 5 ani în urmă
dirmd.bat 672e1dcfad [dirmd] Add dirmd executables 5 ani în urmă
download_from_google_storage 7149d23621 Revert "depot_tools: Run Python scripts using vpython (Part 2)" 6 ani în urmă
download_from_google_storage.bat 7149d23621 Revert "depot_tools: Run Python scripts using vpython (Part 2)" 6 ani în urmă
download_from_google_storage.py ceb64a4f57 Improve Python-3 compatibility of download_from_google_storage.py 5 ani în urmă
ensure_bootstrap 24995256ee Reland "depot_tools: Bootstrap Python 3 on Linux/Mac" 6 ani în urmă
fetch c621315d17 Make Python 3 default on Windows 5 ani în urmă
fetch.bat 002f97b35a Abort fetch, gclient, gsutil.py when update_depot_tools fails on Windows 5 ani în urmă
fetch.py e2686734ac Make fetch compatible with py 3.5 5 ani în urmă
fix_encoding.py 925cedba7b Run spellchecker on depot_tools 5 ani în urmă
gclient c621315d17 Make Python 3 default on Windows 5 ani în urmă
gclient-new-workdir.py 7149d23621 Revert "depot_tools: Run Python scripts using vpython (Part 2)" 6 ani în urmă
gclient.bat 002f97b35a Abort fetch, gclient, gsutil.py when update_depot_tools fails on Windows 5 ani în urmă
gclient.py f6b414c578 Add client not configured message to gclient validate and flatten 4 ani în urmă
gclient_completion.sh 2dca41cf70 Added basic completion (the commands) for gclient. 11 ani în urmă
gclient_eval.py 0e99b9be0a Revert "Remove use_relative_hooks now that all deprecated uses are removed." 5 ani în urmă
gclient_paths.py 84b5f9a215 depot_tools: Add tests for gclient_paths 5 ani în urmă
gclient_scm.py 9c0dc3026e Replace non-inclusive terms 4 ani în urmă
gclient_utils.py d949c910de gclient: Don't try opening pseudo-terminal pipes on AIX 4 ani în urmă
gerrit_client.py df9a802ad2 Add change HEAD cli option to gerrit_client 4 ani în urmă
gerrit_util.py f1c7d0dd2d gerrit_util: move changes: enable keep_all_votes 4 ani în urmă
git-cache 648b4cd2ca Add quotes around paths in bash scripts 5 ani în urmă
git-cl 11f4a84bb1 Add quotes around paths in bash scripts. 5 ani în urmă
git-crrev-parse 383ace4b35 Fix git-crrev-parse on Mac. 8 ani în urmă
git-drover 648b4cd2ca Add quotes around paths in bash scripts 5 ani în urmă
git-find-releases 648b4cd2ca Add quotes around paths in bash scripts 5 ani în urmă
git-footers 648b4cd2ca Add quotes around paths in bash scripts 5 ani în urmă
git-freeze 648b4cd2ca Add quotes around paths in bash scripts 5 ani în urmă
git-gs 2b4ac39884 Add *.proto to git-gs 8 ani în urmă
git-hyper-blame 648b4cd2ca Add quotes around paths in bash scripts 5 ani în urmă
git-map 648b4cd2ca Add quotes around paths in bash scripts 5 ani în urmă
git-map-branches 648b4cd2ca Add quotes around paths in bash scripts 5 ani în urmă
git-mark-merge-base 648b4cd2ca Add quotes around paths in bash scripts 5 ani în urmă
git-migrate-default-branch dfa44daef9 Add git-migrate-default-branch 4 ani în urmă
git-nav-downstream 648b4cd2ca Add quotes around paths in bash scripts 5 ani în urmă
git-nav-upstream e989bb2b45 Make git-nav-upstream use the upstream branch name 6 ani în urmă
git-new-branch 648b4cd2ca Add quotes around paths in bash scripts 5 ani în urmă
git-number 648b4cd2ca Add quotes around paths in bash scripts 5 ani în urmă
git-rebase-update 648b4cd2ca Add quotes around paths in bash scripts 5 ani în urmă
git-rename-branch 648b4cd2ca Add quotes around paths in bash scripts 5 ani în urmă
git-reparent-branch 648b4cd2ca Add quotes around paths in bash scripts 5 ani în urmă
git-retry 648b4cd2ca Add quotes around paths in bash scripts 5 ani în urmă
git-runhooks 98eda3f3e4 Revert "depot_tools: Run Python scripts using vpython (Part 1)" 6 ani în urmă
git-squash-branch 648b4cd2ca Add quotes around paths in bash scripts 5 ani în urmă
git-thaw 648b4cd2ca Add quotes around paths in bash scripts 5 ani în urmă
git-upstream-diff 648b4cd2ca Add quotes around paths in bash scripts 5 ani în urmă
git_cache.py 67e12286df Add validation after downloading cache from GS 4 ani în urmă
git_cl.py 0e4e5ae594 Reland "[owners] Refactor OwnersClient." 4 ani în urmă
git_cl_completion.sh cdaf0be1f4 Add git completion helper to cl upload 5 ani în urmă
git_common.py cf06cad1be [subprocess2] Replace VOID with DEVNULL 4 ani în urmă
git_dates.py 819375653b Added git hyper-blame, a tool that skips unwanted commits in git blame. 9 ani în urmă
git_drover.py d7d0b90f7d git-drover: Fix error printing. 4 ani în urmă
git_find_releases.py 1850bf6d17 Add unit tests for git_find_releases 5 ani în urmă
git_footers.py 9c0dc3026e Replace non-inclusive terms 4 ani în urmă
git_freezer.py 98eda3f3e4 Revert "depot_tools: Run Python scripts using vpython (Part 1)" 6 ani în urmă
git_hyper_blame.py d682fa4e32 Add support for git_hyper_blame for Windows 5 ani în urmă
git_map.py b800fde565 git-map: Refactor and add simple tests 5 ani în urmă
git_map_branches.py 9c0dc3026e Replace non-inclusive terms 4 ani în urmă
git_mark_merge_base.py 98eda3f3e4 Revert "depot_tools: Run Python scripts using vpython (Part 1)" 6 ani în urmă
git_migrate_default_branch.py dfa44daef9 Add git-migrate-default-branch 4 ani în urmă
git_nav_downstream.py ae3586b538 depot_tools: Use gclient_utils.AskForData instead of raw_input. 5 ani în urmă
git_new_branch.py 9c0dc3026e Replace non-inclusive terms 4 ani în urmă
git_number.py 925cedba7b Run spellchecker on depot_tools 5 ani în urmă
git_rebase_update.py 8e404a7e49 Added option to keep empty branches in rebase-update. 5 ani în urmă
git_rename_branch.py 9bb7b96c4d git-rebase-update: Make tests run on Python 3. 5 ani în urmă
git_reparent_branch.py 98eda3f3e4 Revert "depot_tools: Run Python scripts using vpython (Part 1)" 6 ani în urmă
git_retry.py 9c0dc3026e Replace non-inclusive terms 4 ani în urmă
git_squash_branch.py 98eda3f3e4 Revert "depot_tools: Run Python scripts using vpython (Part 1)" 6 ani în urmă
git_upstream_diff.py 98eda3f3e4 Revert "depot_tools: Run Python scripts using vpython (Part 1)" 6 ani în urmă
gn a738935a12 Add executable and line ending properties for GN. 11 ani în urmă
gn.bat 74809c1b31 [.bat] Remove "depot_tools" override. (#2) 8 ani în urmă
gn.py 80ee78e7fa Convert print statements to Python 3 style 6 ani în urmă
goma_auth 27bd4e420d Reland "put goma client in depot_tools" 5 ani în urmă
goma_auth.bat 64c1faf0fb Fix goma_auth.bat to use nul instead of null. 5 ani în urmă
goma_ctl 8b34eb4d1e [goma_ctl] Use vpython to call goma_ctl.py. 5 ani în urmă
goma_ctl.bat 845b830530 Fixed goma_ctl.bat to pipe to nul instead of creating a file called null. 5 ani în urmă
gsutil.py 83aafc979f depot_tools: Make gsutil compatible with python3. 5 ani în urmă
gsutil.py.bat 84620d395a gsutil.py.bat: Skip updating depot_tools if DEPOT_TOOLS_UPDATE=0. 5 ani în urmă
gsutil.vpython 9c0dc3026e Replace non-inclusive terms 4 ani în urmă
led 059f26bcb4 do not hardcode the path to bash by using the #!/usr/bin/env bash shebang 6 ani în urmă
led.bat 5aeeb72c33 [bootstraps] Sync at gclient, suppress output (#2) 8 ani în urmă
lockfile.py 14a83aec56 Reland "Use OS level locking in git_cache.py" 5 ani în urmă
luci-auth 059f26bcb4 do not hardcode the path to bash by using the #!/usr/bin/env bash shebang 6 ani în urmă
luci-auth.bat f3b152d2f5 [luci-auth] Add statically-linked luci-auth CLI tool. 7 ani în urmă
lucicfg 059f26bcb4 do not hardcode the path to bash by using the #!/usr/bin/env bash shebang 6 ani în urmă
lucicfg.bat ef40cbac46 [cipd] Add lucicfg tool. 6 ani în urmă
mac_toolchain 059f26bcb4 do not hardcode the path to bash by using the #!/usr/bin/env bash shebang 6 ani în urmă
metrics.README.md 9c0dc3026e Replace non-inclusive terms 4 ani în urmă
metrics.py 52fdd1ffce Adding AIX 5 ani în urmă
metrics_utils.py 73065b2067 depot_tools: Make some changes to make metrics collection compatible with Python 3. 6 ani în urmă
my_activity.py b93d82c4c5 my_activity.py: add coreboot gerrit 5 ani în urmă
ninja 7c62ed63ac properly detect msys_nt as windows in the ninja script 5 ani în urmă
ninja-linux32 aa57b34620 Update ninja to v1.8.2 8 ani în urmă
ninja-linux64 aa57b34620 Update ninja to v1.8.2 8 ani în urmă
ninja-mac 4005bb7410 mac-arm64: Provide an arm64-native ninja-mac for builds in ¼ of the time 4 ani în urmă
ninja.exe aa57b34620 Update ninja to v1.8.2 8 ani în urmă
ninjalog.README.md 540ba9dde0 [ninjalog] add ninjalog.README.md 6 ani în urmă
ninjalog_uploader.py e6a623392d [depot_tools] Use logging.warning 4 ani în urmă
ninjalog_uploader_wrapper.py 59622a5b31 use CREATE_NEW_PROCESS_GROUP to invoke ninjalog_uploader 5 ani în urmă
owners.py c13ea848e6 Change to slash separator to fix a bug on Windows in owners.py 4 ani în urmă
owners_client.py c40b2406de owners: Move constants inside OwnersClient. 4 ani în urmă
owners_finder.py 9b4a0570e5 Print clarifying message when no new owners needed 5 ani în urmă
post_build_ninja_summary.py 0081a12803 Miscellaneous fixes to post_build_ninja_summary.py 4 ani în urmă
presubmit_canned_checks.py c1aa4ecfcc Reland "presubmit: Don't print comments for missing reviewers." 4 ani în urmă
presubmit_support.py 9ce03f80a4 presubmit: Add owners_client to presubmit API. 4 ani în urmă
profile.xml fb2b8eb2e2 Create the Next Generation of depot_tools. Eh. 16 ani în urmă
prpc 059f26bcb4 do not hardcode the path to bash by using the #!/usr/bin/env bash shebang 6 ani în urmă
prpc.bat d6d0ecca50 [prpc] Add pRPC CLI tool to depot_tools. 7 ani în urmă
pylint 53297790de pylint: rework wrapper to use vpython for multiple versions 6 ani în urmă
pylint-1.5 198b562986 pylint: make pylint-quotes available 5 ani în urmă
pylint-1.6 198b562986 pylint: make pylint-quotes available 5 ani în urmă
pylint-1.7 198b562986 pylint: make pylint-quotes available 5 ani în urmă
pylint-1.8 198b562986 pylint: make pylint-quotes available 5 ani în urmă
pylint-1.9 198b562986 pylint: make pylint-quotes available 5 ani în urmă
pylint-2.6 8ca189d4e5 pylint-2.6: use newer pyquotes 4 ani în urmă
pylint.bat 53297790de pylint: rework wrapper to use vpython for multiple versions 6 ani în urmă
pylint_main.py 53297790de pylint: rework wrapper to use vpython for multiple versions 6 ani în urmă
pylintrc 0985861970 CodeInclusion: Rename whitelist/blacklist -> allowlist/blocklist 5 ani în urmă
python_runner.sh c621315d17 Make Python 3 default on Windows 5 ani în urmă
rdb 0f47d332f1 [resultdb] Add rdb and rdb.bat 5 ani în urmă
rdb.bat 0f47d332f1 [resultdb] Add rdb and rdb.bat 5 ani în urmă
rdb_wrapper.py cc2fe9b767 [resultdb] use requests.Session in rdb_wrapper 4 ani în urmă
repo 3b055d329e repo: use str(Path) for Python 3.5 a little longer 4 ani în urmă
repo_launcher eb386eb3d2 Reland "repo: auto-update depot_tools when used" 4 ani în urmă
roll-dep c621315d17 Make Python 3 default on Windows 5 ani în urmă
roll-dep.bat c621315d17 Make Python 3 default on Windows 5 ani în urmă
roll_dep.py cf06cad1be [subprocess2] Replace VOID with DEVNULL 4 ani în urmă
scm.py cf06cad1be [subprocess2] Replace VOID with DEVNULL 4 ani în urmă
setup_color.py 6f9b1bfd48 setup_color: Disable colorama on pre-Windows-10 4 ani în urmă
split_cl.py 1af7968d68 Reduce git cl split oversplitting. 4 ani în urmă
subcommand.py 925cedba7b Run spellchecker on depot_tools 5 ani în urmă
subprocess2.py cf06cad1be [subprocess2] Replace VOID with DEVNULL 4 ani în urmă
update_depot_tools 648b4cd2ca Add quotes around paths in bash scripts 5 ani în urmă
update_depot_tools.bat 3fb1d569de Fix command prompt title after update_depot_tools 5 ani în urmă
update_depot_tools_toggle.py 74d7e13315 [auto_update] Add control script, allow disable. 8 ani în urmă
upload_metrics.py f994d87e56 Revert "Reland "depot_tools: Move six to depot_tools' .vpython"" 6 ani în urmă
upload_to_google_storage.py 94d6f48ba1 gsutil: Decode output from subprocess. 5 ani în urmă
vpython 0ab6a9f6e4 depot_tools: Use system's python for vpython. 5 ani în urmă
vpython.bat dfadd9d7a2 Reland "vpython: Specify interpreter to run." 5 ani în urmă
vpython3 df70c81527 depot_tools: Simplify MinGW check. 5 ani în urmă
vpython3.bat 7e0b333328 Fix git-* commands when using python3 on Win 5 ani în urmă
watchlists.py fdd89469d6 update stale codereview.chromium.org links 4 ani în urmă
weekly 9c0dc3026e Replace non-inclusive terms 4 ani în urmă
win32imports.py 14a83aec56 Reland "Use OS level locking in git_cache.py" 5 ani în urmă
wtf 80ee78e7fa Convert print statements to Python 3 style 6 ani în urmă
yapf 177e70c03e update yapf to 0.27.0 5 ani în urmă
yapf.bat e47ac15d93 Fix git cl format --python on windows 6 ani în urmă

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.