notes: Don't create (empty) commit when removing non-existing notes
Extend remove_note() in the notes API to return whether or not a note was actually removed. Use this in 'git notes remove' to skip the creation of a notes commit when no notes were actually removed. Also add a test illustrating the change in behavior. Signed-off-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
d8a9480384
commit
1ee1e43df3
4
notes.h
4
notes.h
@ -89,8 +89,10 @@ void add_note(struct notes_tree *t, const unsigned char *object_sha1,
|
||||
* IMPORTANT: The changes made by remove_note() to the given notes_tree
|
||||
* structure are not persistent until a subsequent call to write_notes_tree()
|
||||
* returns zero.
|
||||
*
|
||||
* Return 0 if a note was removed; 1 if there was no note to remove.
|
||||
*/
|
||||
void remove_note(struct notes_tree *t, const unsigned char *object_sha1);
|
||||
int remove_note(struct notes_tree *t, const unsigned char *object_sha1);
|
||||
|
||||
/*
|
||||
* Get the note object SHA1 containing the note data for the given object
|
||||
|
Reference in New Issue
Block a user