aboutsummaryrefslogtreecommitdiff
path: root/git-prune-script
diff options
context:
space:
mode:
authorPetr Baudis <pasky@ucw.cz>2005-05-11 02:00:49 +0200
committerPetr Baudis <xpasky@machine.sinus.cz>2005-05-11 02:00:49 +0200
commitf1a7eb36b017c62d9a007b6b8660bdeec3f94f97 (patch)
tree9d9c288e2db202401ffba37a1b921f4244a79b2b /git-prune-script
parent883550481f885ab2865ab71819167230d21d4c14 (diff)
parentb790abb874890926e4cfda552bfa89d1d4ff972b (diff)
downloadgit-f1a7eb36b017c62d9a007b6b8660bdeec3f94f97.tar.xz
Merge with http://members.cox.net/junkio/git-jc.git
Diffstat (limited to 'git-prune-script')
-rwxr-xr-xgit-prune-script12
1 files changed, 7 insertions, 5 deletions
diff --git a/git-prune-script b/git-prune-script
index 9ba89a5b9d..1a97ccc91d 100755
--- a/git-prune-script
+++ b/git-prune-script
@@ -11,6 +11,9 @@ do
shift;
done
+: ${GIT_DIR=.git}
+: ${GIT_OBJECT_DIRECTORY="${SHA1_FILE_DIRECTORY-"$GIT_DIR/objects"}"}
+
# Defaulting to include .git/refs/*/* may be debatable from the
# purist POV but power users can always give explicit parameters
# to the script anyway.
@@ -19,7 +22,8 @@ case "$#" in
0)
x_40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'
x_40="$x_40$x_40$x_40$x_40$x_40$x_40$x_40$x_40"
- set x $(sed -ne "/^$x_40\$/p" .git/HEAD .git/refs/*/* 2>/dev/null)
+ set x $(sed -ne "/^$x_40\$/p" \
+ "$GIT_DIR"/HEAD "$GIT_DIR"/refs/*/* /dev/null 2>/dev/null)
shift ;;
esac
@@ -28,9 +32,7 @@ sed -ne '/unreachable /{
s/unreachable [^ ][^ ]* //
s|\(..\)|\1/|p
}' | {
- case "$SHA1_FILE_DIRECTORY" in
- '') cd .git/objects/ ;;
- *) cd "$SHA1_FILE_DIRECTORY" ;;
- esac || exit
+ cd "$GIT_OBJECT_DIRECTORY" || exit
xargs -r $dryrun rm -f
}
+