[PATCH 2/6] Factorize shortening of notes refname for display.
From: Yann Dirson <hidden>
Date: 2016-06-15 22:51:29
Subsystem:
the rest · Maintainer:
Linus Torvalds
Signed-off-by: Yann Dirson <redacted> --- 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