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

Re: [PATCH] git-fetch: Don't trigger a bus error when given the refspec "tag"

From
Kevin Ballard <kevin@sb.org>
Date
Apr 5, 2008, 18:46 UTC
Message-ID
<9FD2C650-C9DD-41E1-AE27-684A82E1D700@sb.org>
In-Reply-To
<alpine.DEB.1.00.0804051931480.12583@eeepc-johanness>
On Apr 5, 2008, at 2:33 PM, Johannes Schindelin wrote:
Show 21 quoted lines
> Hi,
>
> On Sat, 5 Apr 2008, Kevin Ballard wrote:
>
>> diff --git a/builtin-fetch.c b/builtin-fetch.c
>> index a11548c..5841b3e 100644
>> --- a/builtin-fetch.c
>> +++ b/builtin-fetch.c
>> @@ -637,6 +637,8 @@ int cmd_fetch(int argc, const char **argv,  
>> const char *prefix)
>> 			if (!strcmp(argv[i], "tag")) {
>> 				char *ref;
>> 				i++;
>> +				if (i >= argc)
>> +					die("You need to specify a tag name.");
>
> Would it not be better to check in the if() above?  IOW
>
> 			if (i + 1 < argc && !strcmp(argv[i], "tag")) {
>
> Hmm?

So that `git fetch origin tag` will try and fetch the branch named tag? Given that we treat "tag foo" as shorthand for refs/tags/foo:refs/ tags/foo it seems like it would be unexpected to treat "tag" as just a plain ref. I much prefer to die in this situation, let the user fix the refspec to mean exactly what they want (either by adding a tag name, or by using tag: if they really want a branch named tag).

-Kevin
-- 
Kevin Ballard
http://kevin.sb.org
kevin@sb.org
http://www.tildesoft.com
Previous: Johannes Schindelin
Message 3 of 3 in “git-fetch: Don't trigger a bus error when given the refspec "tag"”
  1. git-fetch: Don't trigger a bus error when given the refspec "tag"Kevin Ballard, Apr 5, 2008
  2. Johannes SchindelinApr 5, 2008
  3. Kevin BallardApr 5, 2008

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.