From mboxrd@z Thu Jan 1 00:00:00 1970 From: Johannes Schindelin Subject: Re: I: git-fetch: -n option disappeared but git-fetch(1) still describe it Date: Wed, 12 Mar 2008 17:11:24 +0100 (CET) Message-ID: References: <20080312105102.GE14040@wo.int.altlinux.org> <47D7EE27.50407@op5.se> <47D7FF8E.5040700@op5.se> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Cc: "Dmitry V. Levin" , git@vger.kernel.org To: Andreas Ericsson X-From: git-owner@vger.kernel.org Wed Mar 12 17:12:39 2008 Return-path: Envelope-to: gcvg-git-2@gmane.org Received: from vger.kernel.org ([209.132.176.167]) by lo.gmane.org with esmtp (Exim 4.50) id 1JZTYb-0001YY-TM for gcvg-git-2@gmane.org; Wed, 12 Mar 2008 17:11:58 +0100 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751385AbYCLQLT (ORCPT ); Wed, 12 Mar 2008 12:11:19 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751344AbYCLQLT (ORCPT ); Wed, 12 Mar 2008 12:11:19 -0400 Received: from mail.gmx.net ([213.165.64.20]:55809 "HELO mail.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1751270AbYCLQLS (ORCPT ); Wed, 12 Mar 2008 12:11:18 -0400 Received: (qmail invoked by alias); 12 Mar 2008 16:11:17 -0000 Received: from unknown (EHLO [138.251.11.74]) [138.251.11.74] by mail.gmx.net (mp041) with SMTP; 12 Mar 2008 17:11:17 +0100 X-Authenticated: #1490710 X-Provags-ID: V01U2FsdGVkX1/GB4k8iMjG44/gyVfMTTQFNLPqrQ/9jZ0pKkQUdC fEPMPIBmBMhOOO X-X-Sender: gene099@racer.site In-Reply-To: <47D7FF8E.5040700@op5.se> User-Agent: Alpine 1.00 (LSU 882 2007-12-20) X-Y-GMX-Trusted: 0 Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Archived-At: 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"),