git-commit-vandalism/t/t3307-notes-man.sh
Jonathan Nieder 8d6888ec6a Documentation/notes: describe content of notes blobs
stripspace/text-based formatting kicks in when specifying the notes
content with -m or -F, or when an editor is used to edit the notes.
To binary-safely create notes from files, the following construct is
required:

    git notes add -C $(git hash-object -w <file>) <object>

Explain this trick (thanks, Johan!) in the manual.  Add an ordinary
example, too, to keep this esoteric one company.

Cc: Johan Herland <johan@herland.net>
Cc: Thomas Rast <trast@student.ethz.ch>
Cc: Jeff King <peff@peff.net>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-05-08 22:30:02 -07:00

39 lines
818 B
Bash
Executable File

#!/bin/sh
test_description='Examples from the git-notes man page
Make sure the manual is not full of lies.'
. ./test-lib.sh
test_expect_success 'setup' '
test_commit A &&
test_commit B &&
test_commit C
'
test_expect_success 'example 1: notes to add an Acked-by line' '
cat <<-\EOF >expect &&
B
Notes:
Acked-by: A C Ker <acker@example.com>
EOF
git notes add -m "Acked-by: A C Ker <acker@example.com>" B &&
git show -s B^{commit} >log &&
tail -n 4 log >actual &&
test_cmp expect actual
'
test_expect_success 'example 2: binary notes' '
cp "$TEST_DIRECTORY"/test4012.png .
git checkout B &&
blob=$(git hash-object -w test4012.png) &&
git notes --ref=logo add -C "$blob" &&
git notes --ref=logo copy B C &&
git notes --ref=logo show C >actual &&
test_cmp test4012.png actual
'
test_done