From: James Bottomley Date: Sun, 24 Apr 2005 13:58:55 GMT Subject: [PATCH] make git-prune-script actually work Message-ID: <1114351135.4997.18.camel@mulgrave> I find this script very useful to get back to where I started from after test merges, and also for cloning trees from a non-current base. The functionality is altered so it now takes an optional commit argument (and a -q flag to make it be quiet). Signed-off-by: James Bottomley --- a/git-prune-script +++ b/git-prune-script @@ -1,2 +1,23 @@ #!/bin/sh -fsck-cache --unreachable $(cat .git/HEAD ) | grep unreachable | cut -d' ' -f3 | sed 's:^\(..\):.git/objects/\1/:' | xargs rm +verbose=true +case $1 in + -q) verbose=false + shift;; +esac +head=$1 +if [ -z "$head" ]; then + head=$(cat .git/HEAD) +fi +f=$(fsck-cache --unreachable $head | awk '/^unreachable /{print $3}'| sed 's:^\(..\):.git/objects/\1/:') +if [ -z "$f" ]; then + echo "Nothing to remove" + exit 0 +fi + +for g in $f; do + if $verbose; then + echo $g + fi + rm -f $g +done +echo $head > .git/HEAD