diff --git a/git-prune.sh b/git-prune.sh
index 1fd8c731cdd3651e3cd3c527915db7a4c4324be0..7b61d05c4b58c57c833563955e3206f0e4142c39 100755 (executable)
--- a/git-prune.sh
+++ b/git-prune.sh
#!/bin/sh
+USAGE='[-n] [--] [<head>...]'
. git-sh-setup
dryrun=
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