Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
builtin/notes.c: Split notes ref DWIMmery into a separate function
author
Johan Herland
<johan@herland.net>
Tue, 9 Nov 2010 21:49:45 +0000
(22:49 +0100)
committer
Junio C Hamano
<gitster@pobox.com>
Wed, 17 Nov 2010 21:21:30 +0000
(13:21 -0800)
expand_notes_ref() is a new function that performs the DWIM transformation
of "foo" -> "refs/notes/foo" where notes refs are expected.
This is done in preparation for future patches which will also need this
DWIM functionality.
Signed-off-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/notes.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
d4990c4
)
diff --git
a/builtin/notes.c
b/builtin/notes.c
index 51a11ba38865d5e7748eaf3a42bb35c00798edb3..f35cf9bd4b72f683cf7df46a6b0f77dd9905fa21 100644
(file)
--- a/
builtin/notes.c
+++ b/
builtin/notes.c
@@
-83,6
+83,16
@@
struct msg_arg {
struct strbuf buf;
};
struct strbuf buf;
};
+static void expand_notes_ref(struct strbuf *sb)
+{
+ if (!prefixcmp(sb->buf, "refs/notes/"))
+ return; /* we're happy */
+ else if (!prefixcmp(sb->buf, "notes/"))
+ strbuf_insert(sb, 0, "refs/", 5);
+ else
+ strbuf_insert(sb, 0, "refs/notes/", 11);
+}
+
static int list_each_note(const unsigned char *object_sha1,
const unsigned char *note_sha1, char *note_path,
void *cb_data)
static int list_each_note(const unsigned char *object_sha1,
const unsigned char *note_sha1, char *note_path,
void *cb_data)
@@
-839,13
+849,8
@@
int cmd_notes(int argc, const char **argv, const char *prefix)
if (override_notes_ref) {
struct strbuf sb = STRBUF_INIT;
if (override_notes_ref) {
struct strbuf sb = STRBUF_INIT;
- if (!prefixcmp(override_notes_ref, "refs/notes/"))
- /* we're happy */;
- else if (!prefixcmp(override_notes_ref, "notes/"))
- strbuf_addstr(&sb, "refs/");
- else
- strbuf_addstr(&sb, "refs/notes/");
strbuf_addstr(&sb, override_notes_ref);
strbuf_addstr(&sb, override_notes_ref);
+ expand_notes_ref(&sb);
setenv("GIT_NOTES_REF", sb.buf, 1);
strbuf_release(&sb);
}
setenv("GIT_NOTES_REF", sb.buf, 1);
strbuf_release(&sb);
}