summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllen Webb <allenwebb@google.com>2021-10-01 15:25:31 -0500
committerAllen Webb <allenwebb@google.com>2021-10-05 14:12:01 +0000
commit669efd0fd7929c2a3de486921b8243faa3034aa3 (patch)
treebfd70693023d737393987e852768370072ca6f88
parenta0f6006ae7613ba08480bfccac300ea7c7de9af4 (diff)
downloadgit-repo-669efd0fd7929c2a3de486921b8243faa3034aa3.tar.gz
subcmds/sync: Disable autoDetach for git gc.
gc.autoDetach is enabled by default which makes 'git gc --auto' return immediately and run in background. This can lead to a pile up of operations all using large amounts of memory at the same time. To avoid this set gc.autoDetach to false so that the garbage collect task waits for instances to finish before spawning more. Bug: https://crbug.com/gerrit/15113 Test: repo sync -j # and check the number of 'git gc' processes Change-Id: Ic0815156ba3db03972968f33f6f9f51e4928f23b Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/319835 Tested-by: Allen Webb <allenwebb@google.com> Reviewed-by: Mike Frysinger <vapier@google.com>
-rw-r--r--subcmds/sync.py1
1 files changed, 1 insertions, 0 deletions
diff --git a/subcmds/sync.py b/subcmds/sync.py
index 3211cbb1..83d6ca13 100644
--- a/subcmds/sync.py
+++ b/subcmds/sync.py
@@ -622,6 +622,7 @@ later is required to fix a server side protocol bug.
622 % (project.relpath,), 622 % (project.relpath,),
623 file=sys.stderr) 623 file=sys.stderr)
624 project.config.SetString('gc.pruneExpire', 'never') 624 project.config.SetString('gc.pruneExpire', 'never')
625 project.config.SetString('gc.autoDetach', 'false')
625 gc_gitdirs[project.gitdir] = project.bare_git 626 gc_gitdirs[project.gitdir] = project.bare_git
626 627
627 pm.update(inc=len(projects) - len(gc_gitdirs), msg='warming up') 628 pm.update(inc=len(projects) - len(gc_gitdirs), msg='warming up')