From b3715b75226668e26f1f2abe7e2f93cdbbf6e2f5 Mon Sep 17 00:00:00 2001 From: Jacob Keller Date: Tue, 29 Dec 2015 14:40:28 -0800 Subject: notes: allow merging from arbitrary references Create a new expansion function, expand_loose_notes_ref which will first check whether the ref can be found using get_sha1. If it can't be found then it will fallback to using expand_notes_ref. The content of the strbuf will not be changed if the notes ref can be located using get_sha1. Otherwise, it may be updated as done by expand_notes_ref. Since we now support merging from non-notes refs, remove the test case associated with that behavior. Add a test case for merging from a non-notes ref. Signed-off-by: Jacob Keller Reviewed-by: Johan Herland Signed-off-by: Junio C Hamano --- notes.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'notes.h') diff --git a/notes.h b/notes.h index 2a3f923380..431f143788 100644 --- a/notes.h +++ b/notes.h @@ -294,4 +294,11 @@ void string_list_add_refs_from_colon_sep(struct string_list *list, /* Expand inplace a note ref like "foo" or "notes/foo" into "refs/notes/foo" */ void expand_notes_ref(struct strbuf *sb); +/* + * Similar to expand_notes_ref, but will check whether the ref can be located + * via get_sha1 first, and only falls back to expand_notes_ref in the case + * where get_sha1 fails. + */ +void expand_loose_notes_ref(struct strbuf *sb); + #endif -- cgit v1.2.3