Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
repack -A -d: use --keep-unreachable when repacking
author
Junio C Hamano
<gitster@pobox.com>
Mon, 17 Sep 2007 06:24:07 +0000
(23:24 -0700)
committer
Junio C Hamano
<gitster@pobox.com>
Tue, 18 Sep 2007 06:12:11 +0000
(23:12 -0700)
This is a safer variant of "repack -a -d" that does not drop
unreachable objects that are in packs.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-repack.sh
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
08cdfb1
)
diff --git
a/git-repack.sh
b/git-repack.sh
index 156c5e8f4aa2f6c04e33af323ef43356fd336adb..633b902e26a7e527c7a80ccf6aed2da5e71fa802 100755
(executable)
--- a/
git-repack.sh
+++ b/
git-repack.sh
@@
-3,17
+3,19
@@
# Copyright (c) 2005 Linus Torvalds
#
# Copyright (c) 2005 Linus Torvalds
#
-USAGE='[-a] [-d] [-f] [-l] [-n] [-q] [--max-pack-size=N] [--window=N] [--window-memory=N] [--depth=N]'
+USAGE='[-a
|-A
] [-d] [-f] [-l] [-n] [-q] [--max-pack-size=N] [--window=N] [--window-memory=N] [--depth=N]'
SUBDIRECTORY_OK='Yes'
. git-sh-setup
SUBDIRECTORY_OK='Yes'
. git-sh-setup
-no_update_info= all_into_one= remove_redundant=
+no_update_info= all_into_one= remove_redundant=
keep_unreachable=
local= quiet= no_reuse= extra=
while case "$#" in 0) break ;; esac
do
case "$1" in
-n) no_update_info=t ;;
-a) all_into_one=t ;;
local= quiet= no_reuse= extra=
while case "$#" in 0) break ;; esac
do
case "$1" in
-n) no_update_info=t ;;
-a) all_into_one=t ;;
+ -A) all_into_one=t
+ keep_unreachable=--keep-unreachable ;;
-d) remove_redundant=t ;;
-q) quiet=-q ;;
-f) no_reuse=--no-reuse-object ;;
-d) remove_redundant=t ;;
-q) quiet=-q ;;
-f) no_reuse=--no-reuse-object ;;
@@
-59,7
+61,13
@@
case ",$all_into_one," in
fi
done
fi
fi
done
fi
- [ -z "$args" ] && args='--unpacked --incremental'
+ if test -z "$args"
+ then
+ args='--unpacked --incremental'
+ elif test -n "$keep_unreachable"
+ then
+ args="$args $keep_unreachable"
+ fi
;;
esac
;;
esac