X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Frev_control%2Fcompact_git.sh;h=c1a22ef0b5c45d41cfcddd3764aa61ed88a97d5d;hb=c3859c54f45adfb296858249c26a9d1b09c94112;hp=88efcdaae62007f0dfbf2f5188699c874cf0adaa;hpb=8eefcad20d2254166483e10803c6e2fe90b4f3d5;p=feisty_meow.git diff --git a/scripts/rev_control/compact_git.sh b/scripts/rev_control/compact_git.sh index 88efcdaa..c1a22ef0 100644 --- a/scripts/rev_control/compact_git.sh +++ b/scripts/rev_control/compact_git.sh @@ -1,15 +1,29 @@ #!/bin/bash +# compresses the git archive in the folder specified. + +source "$FEISTY_MEOW_SCRIPTS/core/launch_feisty_meow.sh" +source "$FEISTY_MEOW_SCRIPTS/rev_control/version_control.sh" + +############## + prune_dir="$1" if [ -z "$prune_dir" ]; then prune_dir="$(pwd)" fi -pushd "$prune_dir" -echo cleaning git in directory $(pwd) +pushd "$prune_dir" &>/dev/null +test_or_die "changing to directory: $prune_dir" + +echo "cleaning git repo in directory $(pwd)" + git fsck --full -check_if_failed "git fsck" +test_or_die "git fsck" + git gc --prune=today --aggressive -check_if_failed "git gc" +test_or_die "git gc" + git repack -check_if_failed "git repack" -popd +test_or_die "git repack" + +popd &>/dev/null +