projects
/
git.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
HTTP cleanup
[git.git]
/
git-prune.sh
diff --git
a/git-prune.sh
b/git-prune.sh
index
c4de7f5
..
c5a5d29
100755
(executable)
--- a/
git-prune.sh
+++ b/
git-prune.sh
@@
-1,6
+1,7
@@
#!/bin/sh
#!/bin/sh
-. git-sh-setup || die "Not a git archive"
+USAGE='[-n] [--] [<head>...]'
+. git-sh-setup
dryrun=
echo=
dryrun=
echo=
@@
-9,14
+10,18
@@
do
case "$1" in
-n) dryrun=-n echo=echo ;;
--) break ;;
case "$1" in
-n) dryrun=-n echo=echo ;;
--) break ;;
- -*)
echo >&2 "usage: git-prune [ -n ] [ heads... ]"; exit 1
;;
+ -*)
usage
;;
*) break ;;
esac
shift;
done
sync
*) 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
sed -ne '/unreachable /{
s/unreachable [^ ][^ ]* //
s|\(..\)|\1/|p
@@
-28,8
+33,7
@@
sed -ne '/unreachable /{
git-prune-packed $dryrun
git-prune-packed $dryrun
-redundant=$(git-pack-redundant --all)
-if test "" != "$redundant"
+if redundant=$(git-pack-redundant --all 2>/dev/null) && test "" != "$redundant"
then
if test "" = "$dryrun"
then
then
if test "" = "$dryrun"
then