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 <jacob.keller@gmail.com> Reviewed-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
28274d02c4
commit
b3715b7522
7
notes.h
7
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
|
||||
|
||||
Reference in New Issue
Block a user