diff options
| author | LaMont Jones <lamontjones@google.com> | 2022-09-22 19:05:01 +0000 |
|---|---|---|
| committer | LaMont Jones <lamontjones@google.com> | 2022-09-22 19:18:48 +0000 |
| commit | acc4c857a0b6e2e33e3647028cbd312498fd5900 (patch) | |
| tree | 1638467a6a312a9aadd6d15b41ef8f9366e9c788 /subcmds | |
| parent | a39af3d4322135202aabfc78cc65809a28a4ca75 (diff) | |
| download | git-repo-acc4c857a0b6e2e33e3647028cbd312498fd5900.tar.gz | |
sync: only use --cruft when git supports it.v2.29.3
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: Emily Shaffer <emilyshaffer@google.com>
Tested-by: LaMont Jones <lamontjones@google.com>
Reviewed-by: Mike Frysinger <vapier@google.com>
Diffstat (limited to 'subcmds')
| -rw-r--r-- | subcmds/sync.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/subcmds/sync.py b/subcmds/sync.py index 1c49b46e..5818b458 100644 --- a/subcmds/sync.py +++ b/subcmds/sync.py | |||
| @@ -800,7 +800,11 @@ later is required to fix a server side protocol bug. | |||
| 800 | 800 | ||
| 801 | jobs = opt.jobs | 801 | jobs = opt.jobs |
| 802 | 802 | ||
| 803 | gc_args = ('--auto', '--cruft') | 803 | gc_args = ['--auto'] |
| 804 | backup_cruft = False | ||
| 805 | if git_require((2, 37, 0)): | ||
| 806 | gc_args.append('--cruft') | ||
| 807 | backup_cruft = True | ||
| 804 | pack_refs_args = () | 808 | pack_refs_args = () |
| 805 | if jobs < 2: | 809 | if jobs < 2: |
| 806 | for (run_gc, bare_git) in tidy_dirs.values(): | 810 | for (run_gc, bare_git) in tidy_dirs.values(): |
| @@ -810,7 +814,8 @@ later is required to fix a server side protocol bug. | |||
| 810 | bare_git.gc(*gc_args) | 814 | bare_git.gc(*gc_args) |
| 811 | else: | 815 | else: |
| 812 | bare_git.pack_refs(*pack_refs_args) | 816 | bare_git.pack_refs(*pack_refs_args) |
| 813 | self._backup_cruft(bare_git) | 817 | if backup_cruft: |
| 818 | self._backup_cruft(bare_git) | ||
| 814 | pm.end() | 819 | pm.end() |
| 815 | return | 820 | return |
| 816 | 821 | ||
| @@ -834,7 +839,8 @@ later is required to fix a server side protocol bug. | |||
| 834 | err_event.set() | 839 | err_event.set() |
| 835 | raise | 840 | raise |
| 836 | finally: | 841 | finally: |
| 837 | self._backup_cruft(bare_git) | 842 | if backup_cruft: |
| 843 | self._backup_cruft(bare_git) | ||
| 838 | pm.finish(bare_git._project.name) | 844 | pm.finish(bare_git._project.name) |
| 839 | sem.release() | 845 | sem.release() |
| 840 | 846 | ||
