| #!/bin/sh | |
| . git-sh-setup-script || die "Not a git archive" | |
| dryrun= | |
| while case "$#" in 0) break ;; esac | |
| do | |
| case "$1" in | |
| -n) dryrun=echo ;; | |
| --) break ;; | |
| -*) echo >&2 "usage: git-prune-script [ -n ] [ heads... ]"; exit 1 ;; | |
| *) break ;; | |
| esac | |
| shift; | |
| done | |
| git-fsck-cache --cache --unreachable "$@" | | |
| sed -ne '/unreachable /{ | |
| s/unreachable [^ ][^ ]* // | |
| s|\(..\)|\1/|p | |
| }' | { | |
| cd "$GIT_OBJECT_DIRECTORY" || exit | |
| xargs -r $dryrun rm -f | |
| } | |