I'm trying to imagine when you'd want to run git-repack without the -d
option, or without running git-prune-packed afterwards.
(Isn't the idea behind packs to save space?)
I'll leave changing the default to wiser heads, but this trivial patch
will at least allow the normal operations to be performed with one
command.
Oh, and is the failure to support getopt-style concatenated
single-letter options (git-repack -dp) a deliberate design feature
of git, or just laziness?
(Legalese: Patch placed in the public domain; copyright abandoned.)
diff --git a/Documentation/git-repack.txt b/Documentation/git-repack.txt
index 9060fe8..1b1f50d 100644
--- a/Documentation/git-repack.txt
+++ b/Documentation/git-repack.txt
@@ -47,6 +47,10 @@ OPTIONS
Do not update the server information with
`git update-server-info`.
+-p::
+ After packing, run gitlink:git-prune-packed[1] to delete
+ redundant unpacked objects.
+
Author
------
Written by Linus Torvalds <torvalds@osdl.org>
diff --git a/git-repack.sh b/git-repack.sh
index 1fafb6e..361c7e9 100755
--- a/git-repack.sh
+++ b/git-repack.sh
@@ -3,10 +3,10 @@
# Copyright (c) 2005 Linus Torvalds
#
-USAGE='[-a] [-d] [-l] [-n]'
+USAGE='[-a] [-d] [-l] [-n] [-p]'
. git-sh-setup
-no_update_info= all_into_one= remove_redundant= local=
+no_update_info= all_into_one= remove_redundant= local= prune=
while case "$#" in 0) break ;; esac
do
case "$1" in
@@ -14,6 +14,7 @@ do
-a) all_into_one=t ;;
-d) remove_redundant=t ;;
-l) local=t ;;
+ -p) prune=t ;;
*) usage ;;
esac
shift
@@ -76,6 +77,10 @@ then
fi
fi
+case "$prune" in
+t) git-prune-packed ;;
+esac
+
case "$no_update_info" in
t) : ;;
*) git-update-server-info ;;
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html