]>
Commit | Line | Data |
---|---|---|
839a7a06 | 1 | #!/bin/sh |
b33e9666 | 2 | |
215a7ad1 | 3 | . git-sh-setup || die "Not a git archive" |
b33e9666 | 4 | |
ae7c0c92 | 5 | dryrun= |
51890a64 | 6 | echo= |
ae7c0c92 JH |
7 | while case "$#" in 0) break ;; esac |
8 | do | |
9 | case "$1" in | |
51890a64 | 10 | -n) dryrun=-n echo=echo ;; |
ae7c0c92 | 11 | --) break ;; |
215a7ad1 | 12 | -*) echo >&2 "usage: git-prune [ -n ] [ heads... ]"; exit 1 ;; |
ae7c0c92 JH |
13 | *) break ;; |
14 | esac | |
15 | shift; | |
16 | done | |
17 | ||
215a7ad1 | 18 | git-fsck-objects --full --cache --unreachable "$@" | |
ae7c0c92 JH |
19 | sed -ne '/unreachable /{ |
20 | s/unreachable [^ ][^ ]* // | |
21 | s|\(..\)|\1/|p | |
22 | }' | { | |
8ac069ac | 23 | cd "$GIT_OBJECT_DIRECTORY" || exit |
51890a64 | 24 | xargs $echo rm -f |
ae7c0c92 | 25 | } |
8ac069ac | 26 | |
51890a64 | 27 | git-prune-packed $dryrun |