diff options
author | Linus Torvalds <torvalds@osdl.org> | 2006-07-06 10:16:22 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-07-09 00:57:22 -0700 |
commit | ba84a797e76c27932e0b317c7ce54925e81093f7 (patch) | |
tree | 7236401136c1c8195008556a5e0eac087e04cc15 /git-prune.sh | |
parent | 88f0d5d7d95f815d2e8a36a8ceb7459dbd90992c (diff) | |
download | git-ba84a797e76c27932e0b317c7ce54925e81093f7.tar.gz |
builtin "git prune"
This actually removes the objects to be pruned, unless you specify "-n"
(at which point it will just tell you which files it would prune).
This doesn't do the pack-file pruning that the shell-script used to do,
but if somebody really wants to, they could add it easily enough. I wonder
how useful it is, though, considering that "git repack -a -d" is just a
lot more efficient and generates a better end result.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'git-prune.sh')
-rwxr-xr-x | git-prune.sh | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/git-prune.sh b/git-prune.sh deleted file mode 100755 index c5a5d29aaa..0000000000 --- a/git-prune.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/sh - -USAGE='[-n] [--] [<head>...]' -. git-sh-setup - -dryrun= -echo= -while case "$#" in 0) break ;; esac -do - case "$1" in - -n) dryrun=-n echo=echo ;; - --) break ;; - -*) usage ;; - *) break ;; - esac - shift; -done - -sync -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 -}' | { - cd "$GIT_OBJECT_DIRECTORY" || exit - xargs $echo rm -f - rmdir 2>/dev/null [0-9a-f][0-9a-f] -} - -git-prune-packed $dryrun - -if redundant=$(git-pack-redundant --all 2>/dev/null) && test "" != "$redundant" -then - if test "" = "$dryrun" - then - echo "$redundant" | xargs rm -f - else - echo rm -f "$redundant" - fi -fi |