]> granicus.if.org Git - git/commitdiff
notes: empty notes should be shown by 'git log'
authorJohan Herland <johan@herland.net>
Wed, 12 Nov 2014 00:40:15 +0000 (01:40 +0100)
committerJunio C Hamano <gitster@pobox.com>
Wed, 12 Nov 2014 19:00:22 +0000 (11:00 -0800)
If the user has gone through the trouble of explicitly adding an empty
note, then "git log" should not silently skip it (as if it didn't exist).

Signed-off-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
notes.c
t/t3301-notes.sh

diff --git a/notes.c b/notes.c
index 5fe691dbcdfb9e3f9fa3c768f243234d5bb2e816..62bc6e1818f02dea10022e3df30b4129ee1d8fcd 100644 (file)
--- a/notes.c
+++ b/notes.c
@@ -1218,8 +1218,7 @@ static void format_note(struct notes_tree *t, const unsigned char *object_sha1,
        if (!sha1)
                return;
 
-       if (!(msg = read_sha1_file(sha1, &type, &msglen)) || !msglen ||
-                       type != OBJ_BLOB) {
+       if (!(msg = read_sha1_file(sha1, &type, &msglen)) || type != OBJ_BLOB) {
                free(msg);
                return;
        }
index 70ec5c395f861bf392ad91d7c9929337048500c8..416ed9e9dc16c7877d5b7a2ca095c59196c8bfe3 100755 (executable)
@@ -1274,4 +1274,16 @@ append -C "$empty_blob"
 edit
 EOF
 
+test_expect_success 'empty notes are displayed by git log' '
+       test_commit 17th &&
+       git log -1 >expect &&
+       cat >>expect <<\EOF &&
+
+Notes:
+EOF
+       git notes add -C "$empty_blob" --allow-empty &&
+       git log -1 >actual &&
+       test_cmp expect actual
+'
+
 test_done