mirror of
https://gerrit.googlesource.com/git-repo
synced 2025-01-30 16:14:27 +00:00
7f1ccfbb7b
When repo syncs a manifest that utilizes multiple branches in the same project, then the sync will use an extra thread for each "duplicate". For example, if the manifest includes the project "foo" and "bar" twice, then "repo sync -jN" will fetch with N+2 threads. This is caused by _FetchHelper() releasing the thread semaphore object each time it's called, even though _FetchProjectList() may call this function multiple times within the scope of a single thread. Fix by moving the thread semaphore release to _FetchProjectList(), which is only called once per thread instance. Change-Id: I1da78b145e09524d40457db5ca5c37d315432bd8 |
||
---|---|---|
docs | ||
hooks | ||
subcmds | ||
tests | ||
.flake8 | ||
.gitattributes | ||
.gitignore | ||
.mailmap | ||
.project | ||
.pydevproject | ||
color.py | ||
command.py | ||
COPYING | ||
editor.py | ||
error.py | ||
git_command.py | ||
git_config.py | ||
git_refs.py | ||
git_ssh | ||
gitc_utils.py | ||
main.py | ||
manifest_xml.py | ||
pager.py | ||
progress.py | ||
project.py | ||
pyversion.py | ||
README.md | ||
repo | ||
SUBMITTING_PATCHES.md | ||
trace.py | ||
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.