git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] git-repack question

From
Llinux@horizon.com <linux@horizon.com>
Date
Feb 17, 2006, 21:38 UTC
Message-ID
<20060217213824.5848.qmail@science.horizon.com>

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 ;;
Next: Linus Torvalds
Message 1 of 3 in “git-repack question”
  1. git-repack questionlinux@horizon.com, Feb 17, 2006
  2. Linus TorvaldsFeb 17, 2006
  3. Junio C HamanoFeb 18, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.