diff options
-rw-r--r-- | debian/changelog | 1 | ||||
-rwxr-xr-x | infra/dgit-mirror-rsync | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog index b1e6792..83016f4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,7 @@ dgit (5.10~) unstable; urgency=medium * Merge the experimental branch. * test suite: Drop a couple of useless test log output lines. + * infrastructure: Run git gc --auto before mirroring. Closes:#841414. -- diff --git a/infra/dgit-mirror-rsync b/infra/dgit-mirror-rsync index 9346489..2d912c8 100755 --- a/infra/dgit-mirror-rsync +++ b/infra/dgit-mirror-rsync @@ -54,6 +54,7 @@ rsync=(rsync -rltH --safe-links --delete) hooktimeout=30 rsynctimeout=900 rsyncssh='ssh -o batchmode=yes' +mirror_gc_cmd='git gc --auto' . $distrodir/mirror-settings @@ -74,6 +75,12 @@ case "$remoterepos" in esac actually () { + if [ "x$mirror_gc_cmd" != x ]; then + ( + cd "$repos/$package.git" + $mirror_gc_cmd + ) + fi "${rsync[@]}" \ --timeout=$rsynctimeout \ -e "$rsyncssh" \ |