Re: I: git-fetch: -n option disappeared but git-fetch(1) still describe it

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Wed, 12 Mar 2008, Andreas Ericsson wrote:

> Johannes Schindelin wrote:
> 
> > On Wed, 12 Mar 2008, Andreas Ericsson wrote:
> > 
> > > Dmitry V. Levin wrote:
> > >
> > > > git-fetch builtinification (commit v1.5.3.2-93-gb888d61) 
> > > > apparently dropped -n option (alias to --no-tags) documented in 
> > > > Documentation/fetch-options.txt
> > > >
> > > > Either builtin-fetch.c or Documentation/fetch-options.txt should 
> > > > be adjusted to sync the code with its docs.
> > > >
> > > > Original bug report: 
> > > > https://bugzilla.altlinux.org/show_bug.cgi?id=14870
> > > I have a (very) vague memory that git-fetch.sh had to iterate over 
> > > tags one by one, making tag-heavy projects excruciatingly slow to 
> > > fetch from with the shellscript version. Some pathological case with 
> > > 2700 tags was presented where a fetch took nearly an hour, iirc. 
> > > AFAIR, the builtinification (or was it a protocol extension?) 
> > > reduced that time to something around 10 seconds for the 
> > > pathological case.
> > 
> > AFAIR this was helped by the fetch--tool helper, even at the time of 
> > non-builtin fetch.
> > 
> > > Does anyone else have a sharper memory of what caused the -n option 
> > > to be dropped?
> > 
> > AFAICT this was done because of the parsopt'ification.  But I forgot 
> > the details.
> > 
> 
> I had a look at the code. It seems the new way of specifying -n is to 
> say --no-tags or -t 0, or --tags=0 (although I'm not well-versed enough 
> in the parseopt thing to be sure). I have no time now, but I'll take a 
> stab at adding the -n option back tomorrow if nobody beats me to it.

Maybe like this (completely untested, that will be your task tomorrow):

 builtin-fetch.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/builtin-fetch.c b/builtin-fetch.c
index 5196688..c406298 100644
--- a/builtin-fetch.c
+++ b/builtin-fetch.c
@@ -40,6 +40,8 @@ static struct option builtin_fetch_options[] = {
 		    "force overwrite of local branch"),
 	OPT_SET_INT('t', "tags", &tags,
 		    "fetch all tags and associated objects", TAGS_SET),
+	OPT_SET_INT('n', NULL, &tags,
+		    "do not fetch all tags (--no-tags)", TAGS_UNSET),
 	OPT_BOOLEAN('k', "keep", &keep, "keep downloaded pack"),
 	OPT_BOOLEAN('u', "update-head-ok", &update_head_ok,
 		    "allow updating of HEAD ref"),
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux