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

Re: [PATCHv2] fetch: Only call a new ref a "branch" if it's under refs/heads/.

From
Marc Branchaud <marcnarc@xiplink.com>
Date
Apr 16, 2012, 14:26 UTC
Message-ID
<4F8C2C20.6080300@xiplink.com>
In-Reply-To
<20120413200721.GA3549@burratino>
On 12-04-13 04:07 PM, Jonathan Nieder wrote:
Show 12 quoted lines
> marcnarc@xiplink.com wrote:
> 
>> --- a/builtin/fetch.c
>> +++ b/builtin/fetch.c
>> @@ -293,14 +293,18 @@ static int update_local_ref(struct ref *ref,
>>  		const char *msg;
>>  		const char *what;
>>  		int r;
>> -		if (!strncmp(ref->name, "refs/tags/", 10)) {
>> +		if (!prefixcmp(ref->name, "refs/tags/")) {
> 
> This part is just a clean-up, right?
Yes.

It seems most of the code in fetch.c uses prefixcmp(), so I thought I'd use it for my patch. But then I thought it looked weird for one check to use strncmp() and the other to use prefixcmp().

After a cursory search for strncmp() and strcmp() in fetch.c, I think this is the only place where prefixcmp() should've been used but wasn't.

It didn't seem worth making an extra patch for this change, but I've happy to break it out if that's what folks want.

Show 14 quoted lines
>>  			msg = "storing tag";
>>  			what = _("[new tag]");
>>  		}
>> -		else {
>> +		else if (!prefixcmp(ref->name, "refs/heads/")) {
>>  			msg = "storing head";
>>  			what = _("[new branch]");
>>  		}
>> +		else {
>> +			msg = "storing ref";
>> +			what = _("[new ref]");
>> +		}
> 
> Neat.  I like it, for what it's worth.
Thanks!
		M.
Previous: Jonathan NiederNext: Jeff King
Message 3 of 27 in “[PATCHv2] fetch: Only call a new ref a "branch" if it's under refs/heads/.”
  1. marcnarc@xiplink.comApr 13, 2012
  2. Jonathan NiederApr 13, 2012
  3. Marc BranchaudApr 16, 2012
  4. Jeff KingApr 13, 2012
  5. Jonathan NiederApr 13, 2012
  6. Junio C HamanoApr 13, 2012
  7. Marc BranchaudApr 16, 2012
  8. Jeff KingApr 16, 2012
  9. [PATCHv3] fetch: Use the remote's ref name to decide how to describe new refs.marcnarc@xiplink.com, Apr 16, 2012
  10. Jonathan NiederApr 16, 2012
  11. Junio C HamanoApr 16, 2012
  12. Marc BranchaudApr 16, 2012
  13. 0/3 fetch: Only call a new ref a "branch" if it's under refs/heads/.marcnarc@xiplink.com, Apr 16, 2012
  14. 1/3 submodules: recursive fetch also checks new tags for submodule commitsmarcnarc@xiplink.com, Apr 16, 2012
  15. 2/3 fetch: Pass both the full remote ref and its short name to update_local_ref().marcnarc@xiplink.com, Apr 16, 2012
  16. 3/3 fetch: Use the remote's ref name to decide how to describe new refs.marcnarc@xiplink.com, Apr 16, 2012
  17. Jonathan NiederApr 16, 2012
  18. Zbigniew Jędrzejewski-SzmekApr 17, 2012
  19. Jonathan NiederApr 17, 2012
  20. Zbigniew Jędrzejewski-SzmekApr 17, 2012
  21. Marc BranchaudApr 17, 2012
  22. Jonathan NiederApr 17, 2012
  23. Junio C HamanoApr 17, 2012
  24. Junio C HamanoApr 17, 2012
  25. Marc BranchaudApr 17, 2012
  26. Jeff KingApr 17, 2012
  27. Jonathan NiederApr 16, 2012

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.