X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=git-prune.sh;h=7b61d05c4b58c57c833563955e3206f0e4142c39;hb=457f06d68e427bbf4f1a921877441a622a05e5c4;hp=c4de7f5f250b647065c97dabbb234216f5c8c718;hpb=8fc66df237afce0b4318657f166b3583831949f3;p=git.git diff --git a/git-prune.sh b/git-prune.sh index c4de7f5f..7b61d05c 100755 --- a/git-prune.sh +++ b/git-prune.sh @@ -1,6 +1,7 @@ #!/bin/sh -. git-sh-setup || die "Not a git archive" +USAGE='[-n] [--] [...]' +. git-sh-setup dryrun= echo= @@ -9,14 +10,18 @@ do case "$1" in -n) dryrun=-n echo=echo ;; --) break ;; - -*) echo >&2 "usage: git-prune [ -n ] [ heads... ]"; exit 1 ;; + -*) usage ;; *) break ;; esac shift; done sync -git-fsck-objects --full --cache --unreachable "$@" | +case "$#" in +0) git-fsck-objects --full --cache --unreachable ;; +*) git-fsck-objects --full --cache --unreachable $(git-rev-parse --all) "$@" ;; +esac | + sed -ne '/unreachable /{ s/unreachable [^ ][^ ]* // s|\(..\)|\1/|p