OPTIONS_KEEPDASHDASH=
OPTIONS_SPEC="\
-git-repack [options]
+git repack [options]
--
a pack everything in a single pack
-A same as -a, and keep unreachable objects too
+A same as -a, and turn unreachable objects loose
d remove redundant packs, and run git-prune-packed
-f pass --no-reuse-delta to git-pack-objects
+f pass --no-reuse-object to git-pack-objects
+n do not run git-update-server-info
q,quiet be quiet
l pass --local to git-pack-objects
Packing constraints
SUBDIRECTORY_OK='Yes'
. git-sh-setup
-no_update_info= all_into_one= remove_redundant= keep_unreachable=
+no_update_info= all_into_one= remove_redundant= unpack_unreachable=
local= quiet= no_reuse= extra=
while test $# != 0
do
-n) no_update_info=t ;;
-a) all_into_one=t ;;
-A) all_into_one=t
- keep_unreachable=t ;;
+ unpack_unreachable=--unpack-unreachable ;;
-d) remove_redundant=t ;;
-q) quiet=-q ;;
-f) no_reuse=--no-reuse-object ;;
shift
done
-# Later we will default repack.UseDeltaBaseOffset to true
-default_dbo=false
-
-case "`git config --bool repack.usedeltabaseoffset ||
- echo $default_dbo`" in
+case "`git config --bool repack.usedeltabaseoffset || echo true`" in
true)
extra="$extra --delta-base-offset" ;;
esac
if test -z "$args"
then
args='--unpacked --incremental'
+ elif test -n "$unpack_unreachable"
+ then
+ args="$args $unpack_unreachable"
fi
;;
esac
# We know $existing are all redundant.
if [ -n "$existing" ]
then
- sync
( cd "$PACKDIR" &&
for e in $existing
do
case " $fullbases " in
*" $e "*) ;;
- *)
- rm -f "$e.idx" "$e.keep"
- if test -n "$keep_unreachable" &&
- test -f "$e.pack"
- then
- git unpack-objects < "$e.pack" || {
- echo >&2 "Failed unpacking unreachable objects from redundant pack file $e.pack"
- exit 1
- }
- fi
- rm -f "$e.pack"
- ;;
+ *) rm -f "$e.pack" "$e.idx" "$e.keep" ;;
esac
done
)