Skip to content
Snippets Groups Projects
Commit acc4c857 authored by LaMont Jones's avatar LaMont Jones
Browse files

sync: only use --cruft when git supports it.

git gc --cruft was added in 2.37.0.

Bug: https://crbug.com/gerrit/16270
Change-Id: I71e46741e33472a92f16d6f11c51a23e1e55d869
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/346577


Reviewed-by: default avatarEmily Shaffer <emilyshaffer@google.com>
Tested-by: default avatarLaMont Jones <lamontjones@google.com>
Reviewed-by: default avatarMike Frysinger <vapier@google.com>
parent a39af3d4
Branches aosp-new/aosp-new/main
Tags v2.29.3
No related merge requests found
......@@ -800,7 +800,11 @@ later is required to fix a server side protocol bug.
jobs = opt.jobs
gc_args = ('--auto', '--cruft')
gc_args = ['--auto']
backup_cruft = False
if git_require((2, 37, 0)):
gc_args.append('--cruft')
backup_cruft = True
pack_refs_args = ()
if jobs < 2:
for (run_gc, bare_git) in tidy_dirs.values():
......@@ -810,6 +814,7 @@ later is required to fix a server side protocol bug.
bare_git.gc(*gc_args)
else:
bare_git.pack_refs(*pack_refs_args)
if backup_cruft:
self._backup_cruft(bare_git)
pm.end()
return
......@@ -834,6 +839,7 @@ later is required to fix a server side protocol bug.
err_event.set()
raise
finally:
if backup_cruft:
self._backup_cruft(bare_git)
pm.finish(bare_git._project.name)
sem.release()
......
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment