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

[PATCH 2/6] Factorize shortening of notes refname for display.

From
YDYann Dirson <ydirson@free.fr>
Date
Jun 18, 2011, 21:06 UTC
Message-ID
<1308431208-13353-3-git-send-email-ydirson@free.fr>
In-Reply-To
<1308431208-13353-1-git-send-email-ydirson@free.fr>
Signed-off-by: Yann Dirson <ydirson@free.fr>
---
 notes.c |   24 ++++++++++++++++--------
 notes.h |    7 +++++++
 2 files changed, 23 insertions(+), 8 deletions(-)
diff --git a/notes.c b/notes.c
index f6ce848..1a5676a 100644
--- a/notes.c
+++ b/notes.c
@@ -1235,16 +1235,11 @@ void format_note(struct notes_tree *t, const unsigned char *object_sha1,
 		msglen--;
 
 	if (flags & NOTES_SHOW_HEADER) {
-		const char *ref = t->ref;
-		if (!ref || !strcmp(ref, GIT_NOTES_DEFAULT_REF)) {
+		const char *ref = notes_ref_shortname(t->ref);
+		if (!ref)
 			strbuf_addstr(sb, "\nNotes:\n");
-		} else {
-			if (!prefixcmp(ref, "refs/"))
-				ref += 5;
-			if (!prefixcmp(ref, "notes/"))
-				ref += 6;
+		else
 			strbuf_addf(sb, "\nNotes (%s):\n", ref);
-		}
 	}
 
 	for (msg_p = msg; msg_p < msg + msglen; msg_p += linelen + 1) {
@@ -1296,3 +1291,16 @@ void expand_notes_ref(struct strbuf *sb)
 	else
 		strbuf_insert(sb, 0, "refs/notes/", 11);
 }
+
+const char *notes_ref_shortname(const char *ref)
+{
+	if (!ref || !strcmp(ref, GIT_NOTES_DEFAULT_REF))
+		return NULL;
+	else {
+		if (!prefixcmp(ref, "refs/"))
+			ref += 5;
+		if (!prefixcmp(ref, "notes/"))
+			ref += 6;
+		return ref;
+	}
+}
diff --git a/notes.h b/notes.h
index c716694..d8ae29d 100644
--- a/notes.h
+++ b/notes.h
@@ -64,6 +64,13 @@ extern struct notes_tree {
 const char *default_notes_ref(void);
 
 /*
+ * Return a short name for a notes ref, suitable for display to the user.
+ *
+ * No copy is done, the return value is a pointer into the original string.
+ */
+const char *notes_ref_shortname(const char *ref);
+
+/*
  * Flags controlling behaviour of notes tree initialization
  *
  * Default behaviour is to initialize the notes tree from the tree object
-- 
1.7.5.3
Previous: Yann DirsonNext: Johan Herland
Message 14 of 27 in “Commit notes workflow”
  1. Yann DirsonJun 13, 2011
  2. Johan HerlandJun 14, 2011
  3. ydirson@free.frJun 15, 2011
  4. Johan HerlandJun 15, 2011
  5. ydirson@free.frJun 15, 2011
  6. Johan HerlandJun 15, 2011
  7. 0/6 Small notes usability improvementsYann Dirson, Jun 18, 2011
  8. 1/6 Bring notes.c template handling in line with commit.c.Yann Dirson, Jun 18, 2011
  9. Johan HerlandJun 19, 2011
  10. Junio C HamanoJun 19, 2011
  11. Johan HerlandJun 20, 2011
  12. Yann DirsonJun 20, 2011
  13. Yann DirsonJun 21, 2011
  14. 2/6 Factorize shortening of notes refname for display.Yann Dirson, Jun 18, 2011
  15. Johan HerlandJun 19, 2011
  16. Junio C HamanoJun 19, 2011
  17. Yann DirsonJun 20, 2011
  18. 3/6 Include name of notes ref in template when creating/editing notes.Yann Dirson, Jun 18, 2011
  19. 4/6 Allow "git notes merge" to use refs/remote-notes/ as a source.Yann Dirson, Jun 18, 2011
  20. Johan HerlandJun 19, 2011
  21. 5/6 Assume a note ref starting with refs must not be prepended refs/notes/.Yann Dirson, Jun 18, 2011
  22. 6/6 RFC - Notes merge: die when asked to merge a non-existent ref.Yann Dirson, Jun 18, 2011
  23. Johan HerlandJun 19, 2011
  24. Jeff KingJun 20, 2011
  25. Johan HerlandJun 20, 2011
  26. Johan HerlandJun 19, 2011
  27. Johan HerlandJun 14, 2011

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.