Linus Torvalds | 839a7a0 | 2005-04-18 12:15:10 -0700 | [diff] [blame] | 1 | #!/bin/sh |
Junio C Hamano | ae7c0c9 | 2005-05-04 01:33:33 -0700 | [diff] [blame] | 2 | dryrun= |
| 3 | while case "$#" in 0) break ;; esac |
| 4 | do |
| 5 | case "$1" in |
| 6 | -n) dryrun=echo ;; |
| 7 | --) break ;; |
| 8 | -*) echo >&2 "usage: git-prune-script [ -n ] [ heads... ]"; exit 1 ;; |
| 9 | *) break ;; |
| 10 | esac |
| 11 | shift; |
| 12 | done |
| 13 | |
Junio C Hamano | 8ac069a | 2005-05-09 22:57:58 -0700 | [diff] [blame] | 14 | : ${GIT_DIR=.git} |
| 15 | : ${GIT_OBJECT_DIRECTORY="${SHA1_FILE_DIRECTORY-"$GIT_DIR/objects"}"} |
| 16 | |
Junio C Hamano | ae7c0c9 | 2005-05-04 01:33:33 -0700 | [diff] [blame] | 17 | git-fsck-cache --cache --unreachable "$@" | |
| 18 | sed -ne '/unreachable /{ |
| 19 | s/unreachable [^ ][^ ]* // |
| 20 | s|\(..\)|\1/|p |
| 21 | }' | { |
Junio C Hamano | 8ac069a | 2005-05-09 22:57:58 -0700 | [diff] [blame] | 22 | cd "$GIT_OBJECT_DIRECTORY" || exit |
Junio C Hamano | ae7c0c9 | 2005-05-04 01:33:33 -0700 | [diff] [blame] | 23 | xargs -r $dryrun rm -f |
| 24 | } |
Junio C Hamano | 8ac069a | 2005-05-09 22:57:58 -0700 | [diff] [blame] | 25 | |