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

[PATCHv3] fetch: Use the remote's ref name to decide how to describe new refs.

From
marcnarc@xiplink.com <marcnarc@xiplink.com>
Date
Apr 16, 2012, 15:52 UTC
Message-ID
<1334591542-25136-1-git-send-email-marcnarc@xiplink.com>
In-Reply-To
<20120416150036.GA15009@sigill.intra.peff.net>
From: Marc Branchaud <marcnarc@xiplink.com>
Also, only call a new ref a "branch" if it's under refs/heads/.
Signed-off-by: Marc Branchaud <marcnarc@xiplink.com>
---
Re-rolled to work with the remote's ref names.
As before, this is atop of Jens's submodule-recursion fix.
Technically there are now 3 different changes in this patch:
	1. Switch to using remote ref names.
	2. Use prefixcomp() consistently.
	3. Only call a new ref a "branch" if its' under refs/heads.
Should I split this up?
		M.
 builtin/fetch.c |   13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/builtin/fetch.c b/builtin/fetch.c
index cfb43df..063c63b 100644
--- a/builtin/fetch.c
+++ b/builtin/fetch.c
@@ -293,14 +293,23 @@ static int update_local_ref(struct ref *ref,
 		const char *msg;
 		const char *what;
 		int r;
-		if (!strncmp(ref->name, "refs/tags/", 10)) {
+		/*
+		 * Nicely describe what we're fetching.
+		 * Base this on the remote's ref names, as they're
+		 * more likely to follow a standard layout.
+		 */
+		if (!prefixcmp(ref->peer_ref->name, "refs/tags/")) {
 			msg = "storing tag";
 			what = _("[new tag]");
 		}
-		else {
+		else if (!prefixcmp(ref->peer_ref->name, "refs/heads/")) {
 			msg = "storing head";
 			what = _("[new branch]");
 		}
+		else {
+			msg = "storing ref";
+			what = _("[new ref]");
+		}
 
 		if ((recurse_submodules != RECURSE_SUBMODULES_OFF) &&
 		    (recurse_submodules != RECURSE_SUBMODULES_ON))
-- 
1.7.10.2.ge89da.dirty
Previous: Jeff KingNext: Jonathan Nieder
Message 9 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.