diff options
Diffstat (limited to 'bin/gscr.sh')
-rw-r--r-- | bin/gscr.sh | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/bin/gscr.sh b/bin/gscr.sh index 2fbee05a..26eafb12 100644 --- a/bin/gscr.sh +++ b/bin/gscr.sh @@ -16,11 +16,16 @@ for arg in "${@:-.}" ; do ( ;; esac + # Remove any original refs from a prior rewrite + if [ -e refs/original ] ; then + rm -r -- refs/original || exit + fi + # Check for bad references or other integrity/sanity problems - git fsck || exit + git fsck --full --no-reflogs || exit # Expire dangling references - git reflog expire --expire=now || exit + git reflog expire --all --expire=now --expire-unreachable=now || exit # Remove dangling references git gc --prune=now --aggressive || exit |