From b38d6d36f43ef8ac41a937cacbdb7e3ae5535a5a Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 14 Jul 2018 17:23:37 +0100 Subject: infrastructure: Run git gc --auto before mirroring. Closes:#841414. This would not have avoided the trouble reported here https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=841414#74 Empirically, I managed to work around the problem by running `git gc' (rather than `git gc --auto') and then rsyncing the result to the mirror. I will request that DSA increase the RAM (or swap) size on the relevant host. Signed-off-by: Ian Jackson --- infra/dgit-mirror-rsync | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'infra/dgit-mirror-rsync') 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" \ -- cgit v1.2.3