355f4398d8
For --jobs-network, the logic is now: * If the user specifies --jobs-network, use that. * Else, if the user specifies --jobs, use that. * Else, if the manifest specifies sync-j, use that. * Else, default to 1. Then we limit the jobs count based on the softlimit RLIMIT_NOFILE. For --jobs-checkout, the logic is now: * If the user specifies --jobs-checkout, use that. * Else, if the user specifies --jobs, use that. * Else, if the manifest specifies sync-j, use that. * Else, default to DEFAULT_LOCAL_JOBS which is based on user's ncpus. Then we limit the jobs count based on the softlimit RLIMIT_NOFILE. For garbage collecting, the logic is now: * If the user specifies --jobs, use that. * Else, if the manifest specifies sync-j, use that. * Else, default to the user's ncpus. Then we limit the jobs count based on the softlimit RLIMIT_NOFILE. Having to factor in the manifest settings makes this more complicated which is why we delay processing of defaults until after we've synced the manifest projects. Bug: http://b/239712300 Change-Id: Id27cda63c76c156f1d63f6a20cb2c4ceeb3d547c Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/341394 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: LaMont Jones <lamontjones@google.com> |
||
---|---|---|
.github/workflows | ||
docs | ||
hooks | ||
man | ||
release | ||
subcmds | ||
tests | ||
.flake8 | ||
.gitattributes | ||
.gitignore | ||
.gitreview | ||
.mailmap | ||
.project | ||
.pydevproject | ||
color.py | ||
command.py | ||
completion.bash | ||
editor.py | ||
error.py | ||
event_log.py | ||
fetch.py | ||
git_command.py | ||
git_config.py | ||
git_refs.py | ||
git_ssh | ||
git_superproject.py | ||
git_trace2_event_log.py | ||
gitc_utils.py | ||
hooks.py | ||
LICENSE | ||
main.py | ||
manifest_xml.py | ||
MANIFEST.in | ||
pager.py | ||
platform_utils_win32.py | ||
platform_utils.py | ||
progress.py | ||
project.py | ||
README.md | ||
repo | ||
repo_trace.py | ||
requirements.json | ||
run_tests | ||
setup.py | ||
ssh.py | ||
SUBMITTING_PATCHES.md | ||
tox.ini | ||
wrapper.py |
repo
Repo is a tool built on top of Git. Repo helps manage many Git repositories, does the uploads to revision control systems, and automates parts of the development workflow. Repo is not meant to replace Git, only to make it easier to work with Git. The repo command is an executable Python script that you can put anywhere in your path.
- Homepage: https://gerrit.googlesource.com/git-repo/
- Mailing list: repo-discuss on Google Groups
- Bug reports: https://bugs.chromium.org/p/gerrit/issues/list?q=component:repo
- Source: https://gerrit.googlesource.com/git-repo/
- Overview: https://source.android.com/source/developing.html
- Docs: https://source.android.com/source/using-repo.html
- repo Manifest Format
- repo Hooks
- Submitting patches
- Running Repo in Microsoft Windows
- GitHub mirror: https://github.com/GerritCodeReview/git-repo
- Postsubmit tests: https://github.com/GerritCodeReview/git-repo/actions
Contact
Please use the repo-discuss mailing list or issue tracker for questions.
You can file a new bug report under the "repo" component.
Please do not e-mail individual developers for support. They do not have the bandwidth for it, and often times questions have already been asked on repo-discuss or bugs posted to the issue tracker. So please search those sites first.
Install
Many distros include repo, so you might be able to install from there.
# Debian/Ubuntu.
$ sudo apt-get install repo
# Gentoo.
$ sudo emerge dev-vcs/repo
You can install it manually as well as it's a single script.
$ mkdir -p ~/.bin
$ PATH="${HOME}/.bin:${PATH}"
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/.bin/repo
$ chmod a+rx ~/.bin/repo