diff options
author | Johan Herland <johan@herland.net> | 2010-08-31 17:56:50 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-08-31 11:07:34 -0700 |
commit | 1ee1e43df37e53b0bc50a0eda57dd1772dc220f5 (patch) | |
tree | d344ffe752def8ca44923bdd5b1096a82231548f /notes.h | |
parent | d8a94803842989582989fd5f5c3062c49134ad5b (diff) | |
download | git-1ee1e43df37e53b0bc50a0eda57dd1772dc220f5.tar.gz |
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>
Diffstat (limited to 'notes.h')
-rw-r--r-- | notes.h | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -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 |