aboutsummaryrefslogtreecommitdiff
path: root/t/t3301-notes.sh
diff options
context:
space:
mode:
authorJohan Herland <johan@herland.net>2014-11-12 01:40:14 +0100
committerJunio C Hamano <gitster@pobox.com>2014-11-12 11:00:11 -0800
commitd73a5b933db1e722faa54d6709e89e2450d7c1e3 (patch)
tree758422932df86d91545398515278e7192749937d /t/t3301-notes.sh
parent52694cdabbf68f19c8289416e7bb3bbef41d8d27 (diff)
downloadgit-d73a5b933db1e722faa54d6709e89e2450d7c1e3.tar.gz
git-d73a5b933db1e722faa54d6709e89e2450d7c1e3.tar.xz
builtin/notes: add --allow-empty, to allow storing empty notes
Although the "git notes" man page advertises that we support binary-safe notes addition (using the -C option), we currently do not support adding the empty note (i.e. using the empty blob to annotate an object). Instead, an empty note is always treated as an intent to remove the note altogether. Introduce the --allow-empty option to the add/append/edit subcommands, to explicitly allow an empty note to be stored into the notes tree. Also update the documentation, and add test cases for the new option. Reported-by: James H. Fisher <jhf@trifork.com> Improved-by: Kyle J. McKay <mackyle@gmail.com> Improved-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t3301-notes.sh')
-rwxr-xr-xt/t3301-notes.sh10
1 files changed, 9 insertions, 1 deletions
diff --git a/t/t3301-notes.sh b/t/t3301-notes.sh
index f74b3fa33..70ec5c395 100755
--- a/t/t3301-notes.sh
+++ b/t/t3301-notes.sh
@@ -1242,7 +1242,8 @@ test_expect_success 'git notes get-ref (--ref)' '
test_expect_success 'setup testing of empty notes' '
test_unconfig core.notesRef &&
test_commit 16th &&
- empty_blob=$(git hash-object -w /dev/null)
+ empty_blob=$(git hash-object -w /dev/null) &&
+ echo "$empty_blob" >expect_empty
'
while read cmd
@@ -1252,6 +1253,13 @@ do
MSG= git notes $cmd &&
test_must_fail git notes list HEAD
"
+
+ test_expect_success "'git notes $cmd --allow-empty' stores empty note" "
+ test_might_fail git notes remove HEAD &&
+ MSG= git notes $cmd --allow-empty &&
+ git notes list HEAD >actual &&
+ test_cmp expect_empty actual
+ "
done <<\EOF
add
add -F /dev/null