git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC/PATCH] pack-refs --all
@ 2006-10-08  8:08 Junio C Hamano
  2006-10-08 10:03 ` Jakub Narebski
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Junio C Hamano @ 2006-10-08  8:08 UTC (permalink / raw)
  To: git

This changes 'git-pack-refs' to pack only tags by default.
Branches are meant to be updated, either by committing onto it
yourself or tracking remote branches, and packed entries can
become stale easily, but tags are usually "create once and live
forever" and benefit more from packing.

---

 * Likes?  Dislikes?

 builtin-pack-refs.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/builtin-pack-refs.c b/builtin-pack-refs.c
index 23d0d07..1087657 100644
--- a/builtin-pack-refs.c
+++ b/builtin-pack-refs.c
@@ -2,7 +2,7 @@ #include "cache.h"
 #include "refs.h"
 
 static const char builtin_pack_refs_usage[] =
-"git-pack-refs [--prune]";
+"git-pack-refs [--all] [--prune]";
 
 struct ref_to_prune {
 	struct ref_to_prune *next;
@@ -68,6 +68,7 @@ int cmd_pack_refs(int argc, const char *
 {
 	int fd, i;
 	struct pack_refs_cb_data cbdata;
+	int (*iterate_ref)(each_ref_fn, void *) = for_each_tag_ref;
 
 	memset(&cbdata, 0, sizeof(cbdata));
 
@@ -77,6 +78,10 @@ int cmd_pack_refs(int argc, const char *
 			cbdata.prune = 1;
 			continue;
 		}
+		if (!strcmp(arg, "--all")) {
+			iterate_ref = for_each_ref;
+			continue;
+		}
 		/* perhaps other parameters later... */
 		break;
 	}
@@ -88,7 +93,7 @@ int cmd_pack_refs(int argc, const char *
 	if (!cbdata.refs_file)
 		die("unable to create ref-pack file structure (%s)",
 		    strerror(errno));
-	for_each_ref(handle_one_ref, &cbdata);
+	iterate_ref(handle_one_ref, &cbdata);
 	fflush(cbdata.refs_file);
 	fsync(fd);
 	fclose(cbdata.refs_file);

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2006-10-08 19:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-10-08  8:08 [RFC/PATCH] pack-refs --all Junio C Hamano
2006-10-08 10:03 ` Jakub Narebski
2006-10-08 10:14 ` Petr Baudis
2006-10-08 12:02 ` Johannes Schindelin
2006-10-08 19:56   ` Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).