* [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
* Re: [RFC/PATCH] pack-refs --all
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
2 siblings, 0 replies; 5+ messages in thread
From: Jakub Narebski @ 2006-10-08 10:03 UTC (permalink / raw)
To: git
Junio C Hamano wrote:
> * Likes? Dislikes?
+1
--
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFC/PATCH] pack-refs --all
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
2 siblings, 0 replies; 5+ messages in thread
From: Petr Baudis @ 2006-10-08 10:14 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
Dear diary, on Sun, Oct 08, 2006 at 10:08:54AM CEST, I got a letter
where Junio C Hamano <junkio@cox.net> said that...
> 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?
Looks much saner, thanks. :-)
--
Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
#!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj
$/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1
lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((..)*)$/)
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFC/PATCH] pack-refs --all
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
2 siblings, 1 reply; 5+ messages in thread
From: Johannes Schindelin @ 2006-10-08 12:02 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
Hi,
On Sun, 8 Oct 2006, Junio C Hamano wrote:
> This changes 'git-pack-refs' to pack only tags by default.
Since there is not really a high cost attached, why not migrate towards
only-packed-refs? (Of course, this means that git-update-ref should learn
to update in-place)?
Ciao,
Dscho
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFC/PATCH] pack-refs --all
2006-10-08 12:02 ` Johannes Schindelin
@ 2006-10-08 19:56 ` Junio C Hamano
0 siblings, 0 replies; 5+ messages in thread
From: Junio C Hamano @ 2006-10-08 19:56 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: git
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> On Sun, 8 Oct 2006, Junio C Hamano wrote:
>
>> This changes 'git-pack-refs' to pack only tags by default.
>
> Since there is not really a high cost attached, why not migrate towards
> only-packed-refs? (Of course, this means that git-update-ref should learn
> to update in-place)?
It indeed is tempting and I was tempted to do that and unify
that with ref-log when we were talking about packed refs before
I saw Linus's initial implementation.
^ permalink raw reply [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