aboutsummaryrefslogtreecommitdiff
path: root/bin/gscr
diff options
context:
space:
mode:
Diffstat (limited to 'bin/gscr')
-rwxr-xr-xbin/gscr15
1 files changed, 15 insertions, 0 deletions
diff --git a/bin/gscr b/bin/gscr
new file mode 100755
index 00000000..b96da8d7
--- /dev/null
+++ b/bin/gscr
@@ -0,0 +1,15 @@
+#!/bin/sh
+# Scrub a Git repository
+for arg in "${@:?}" ; do
+ case $arg in
+ *.git)
+ cd -- "$arg" || continue
+ ;;
+ *)
+ cd -- "$arg"/.git || continue
+ ;;
+ esac
+ git fsck || continue
+ git reflog expire --expire=now || continue
+ git gc --prune=now --aggressive || continue
+done