X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=git-prune-script;h=ec9f72de793f88a82ea7b9780c76c4f665264d02;hb=dcde55bc58ae845307efbdce3a1071f75ccd758e;hp=9ba89a5b9d0d484aee54d0bdb6deabdc71962c85;hpb=74c7cfa875448c71a18d21a0cc7c973afe759fa5;p=git.git diff --git a/git-prune-script b/git-prune-script index 9ba89a5b..ec9f72de 100755 --- a/git-prune-script +++ b/git-prune-script @@ -11,26 +11,15 @@ do shift; done -# Defaulting to include .git/refs/*/* may be debatable from the -# purist POV but power users can always give explicit parameters -# to the script anyway. - -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) - shift ;; -esac +: ${GIT_DIR=.git} +: ${GIT_OBJECT_DIRECTORY="${SHA1_FILE_DIRECTORY-"$GIT_DIR/objects"}"} git-fsck-cache --cache --unreachable "$@" | 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 } +