git-repo/subcmds
Andrew Wheeler 7f1ccfbb7b sync: Fix semaphore release bug that causes thread 'leaks'
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
2016-10-11 14:10:34 -05:00
..
__init__.py Some fixes for supporting python3 2013-04-18 21:35:49 +05:30
abandon.py Change print statements to work in python3 2012-11-13 17:33:56 -08:00
branches.py Provide detail print-out when not all projects of a branch are current. 2014-07-11 10:56:03 -07:00
checkout.py Change print statements to work in python3 2012-11-13 17:33:56 -08:00
cherry_pick.py Fix 'repo cherry-pick' to avoid hanging on commit-msg update. 2015-06-22 08:00:20 -04:00
diff.py Option for 'repo diff' to generate output suitable for 'patch' cmd 2012-04-13 09:20:10 -07:00
diffmanifests.py diffmanifests: support custom git pretty format strings 2016-04-21 18:36:11 +00:00
download.py Exit 1 if repo download -c fails 2014-10-17 15:45:57 -04:00
forall.py Add --inverse-regex option to forall subcommand 2016-04-05 07:28:27 +00:00
gitc_delete.py GITC: Add repo gitc-delete command. 2015-10-01 21:05:17 +00:00
gitc_init.py Fix gitc-init behavior 2015-10-07 15:43:22 -07:00
grep.py Tidy up code formatting a bit more 2012-11-14 12:09:38 +09:00
help.py Add GitcClientCommand class for GITC-specific commands 2015-09-29 13:46:34 -07:00
info.py Prevent repo info from crashing when default element doesn't exist. 2015-07-27 16:56:31 -07:00
init.py init: Add --no-clone-bundle option 2016-08-15 09:51:48 +09:00
list.py Support filtering by group on forall and list subcmd 2015-07-30 12:59:35 -05:00
manifest.py Change print statements to work in python3 2012-11-13 17:33:56 -08:00
overview.py Some fixes for supporting python3 2013-04-18 21:35:49 +05:30
prune.py Change print statements to work in python3 2012-11-13 17:33:56 -08:00
rebase.py Add option to rebase onto project's manifest version 2016-01-28 10:20:03 -08:00
selfupdate.py Change print statements to work in python3 2012-11-13 17:33:56 -08:00
smartsync.py Clean up imports 2012-09-18 09:54:57 +02:00
stage.py stage: replace filter on lambda with list comprehension 2013-05-08 06:37:15 +01:00
start.py Consider local project to be default for 'repo start' 2016-09-14 00:17:45 -04:00
status.py status: lose dependence on StringIO 2015-04-04 21:21:49 +01:00
sync.py sync: Fix semaphore release bug that causes thread 'leaks' 2016-10-11 14:10:34 -05:00
upload.py upload: short circuit when nothing is pending 2016-09-14 00:16:37 -04:00
version.py Change print statements to work in python3 2012-11-13 17:33:56 -08:00