X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Frev_control%2Fcompact_git.sh;h=8f13c0571b1e44c6abee28312b0f91316d003a5a;hb=acae79f5b21faa2ecb76b26f1bc77782d41671c9;hp=8de72543f7ad3c969e597499ffed720e0a9e50bf;hpb=170a8e062d9283e65716e7aa55930ade13a66f7a;p=feisty_meow.git diff --git a/scripts/rev_control/compact_git.sh b/scripts/rev_control/compact_git.sh index 8de72543..8f13c057 100644 --- a/scripts/rev_control/compact_git.sh +++ b/scripts/rev_control/compact_git.sh @@ -2,16 +2,32 @@ # 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" + +save_terminal_title + +############## + prune_dir="$1" if [ -z "$prune_dir" ]; then prune_dir="$(pwd)" fi -pushd "$prune_dir" +pushd "$prune_dir" &>/dev/null +exit_on_error "changing to directory: $prune_dir" + echo "cleaning git repo in directory $(pwd)" + git fsck --full -test_or_die "git fsck" +exit_on_error "git fsck" + git gc --prune=today --aggressive -test_or_die "git gc" +exit_on_error "git gc" + git repack -test_or_die "git repack" -popd +exit_on_error "git repack" + +popd &>/dev/null + +restore_terminal_title +