From 62a272b06962b9ec6d2e6bd76873e1feebad440c Mon Sep 17 00:00:00 2001 From: Kelley Spoon Date: Thu, 25 Oct 2018 08:14:01 -0500 Subject: mirror_cleaner: Add in script to prune mirror repos This adds a script that can be used to clean out the mirrors of upstream git repositories. Change-Id: Ie695994872c6b7a6a879e4fee762323a9a454cff --- mirror_cleaner.sh | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100755 mirror_cleaner.sh diff --git a/mirror_cleaner.sh b/mirror_cleaner.sh new file mode 100755 index 0000000..8c91ed2 --- /dev/null +++ b/mirror_cleaner.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +BASE=/srv/mirror/gerrit-mirror + +umask 022 + +# silence pushd/popd +pushd () { + command pushd "$@" > /dev/null +} + +popd () { + command popd "$@" > /dev/null +} + +for repo in $(find $BASE -type d -name "*.git"); +do + echo "----- $repo" + pushd $repo + if [ -f gc.log ]; + then + echo "WARNING: found ${repo}/gc.log" + cat ${repo}/gc.log + rm -f ${repo}/gc.log + fi + + git reflog expire --expire=now --all + ionice -c2 -n7 -- git gc --prune=now --aggressive >/dev/null +done -- cgit v1.2.3