case "$1" in
-n) no_update_info=t ;;
-a) all_into_one=t ;;
- -d) remove_redandant=t ;;
+ -d) remove_redundant=t ;;
-l) local=t ;;
*) break ;;
esac
exit 1
if [ -z "$name" ]; then
echo Nothing new to pack.
- if test "$remove_redandant" = t ; then
+ if test "$remove_redundant" = t ; then
echo "Removing redundant packs."
sync
redundant=$(git-pack-redundant --all)
mv .tmp-pack-$name.idx "$PACKDIR/pack-$name.idx" ||
exit
-if test "$remove_redandant" = t
+if test "$remove_redundant" = t
then
sync
- redundant=$(git-pack-redundant --all)
- if test "$redundant" != "" ; then
- echo $redundant | xargs rm
+ if test "$all_into_one" = t
+ then
+ cd "$PACKDIR"
+ existing=`find . -type f \( -name '*.pack' -o -name '*.idx' \) -print`
+ for e in $existing
+ do
+ case "$e" in
+ ./pack-$name.pack | ./pack-$name.idx) ;;
+ *) rm -f $e ;;
+ esac
+ done
+ else
+ redundant=$(git-pack-redundant --all)
+ if test "$redundant" != "" ; then
+ echo $redundant | xargs rm
+ fi
fi
fi