Message ID | 20210830072118.91921-2-sunshine@sunshineco.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | suppress trailing whitespace on empty "notes" lines | expand |
Eric Sunshine <sunshine@sunshineco.com> writes: > These tests care about whether intended notes-related functionality > occurred and that `git log` presents the notes in the expected fashion > (or, in some cases, that `git log` suppresses the notes). However, the > tests hard-code the precise indentation of notes by the default `git > log` output, which makes them somewhat brittle since they won't be able > to tolerate even minor changes to the presentation. Make the tests a bit > more robust by ignoring indentation. Isn't this losing too much information? If we lose all, or gain random number of, leading whitespaces, the test won't notice. > Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> > --- > t/t3301-notes.sh | 321 ++++++++++++++++++++++++----------------------- > 1 file changed, 162 insertions(+), 159 deletions(-) > > diff --git a/t/t3301-notes.sh b/t/t3301-notes.sh > index d742be8840..955b2670a7 100755 > --- a/t/t3301-notes.sh > +++ b/t/t3301-notes.sh > @@ -7,6 +7,11 @@ test_description='Test commit notes' > > . ./test-lib.sh > > +lognotes () { > + git log "$@" >lognotes.out && > + sed 's/^[ ]*//' lognotes.out > +} > + > write_script fake_editor <<\EOF > echo "$MSG" >"$1" > echo "$MSG" >&2 > @@ -14,8 +19,6 @@ EOF > GIT_EDITOR=./fake_editor > export GIT_EDITOR > > -indent=" " > - > test_expect_success 'cannot annotate non-existing HEAD' ' > test_must_fail env MSG=3 git notes add > ' > @@ -158,14 +161,14 @@ test_expect_success 'show notes' ' > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:14:13 2005 -0700 > > - ${indent}2nd > + 2nd > > Notes: > - ${indent}b1 > + b1 > EOF > git cat-file commit HEAD >commits && > ! grep b1 commits && > - git log -1 >actual && > + lognotes -1 >actual && > test_cmp expect actual > ' > > @@ -178,16 +181,16 @@ test_expect_success 'show multi-line notes' ' > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:15:13 2005 -0700 > > - ${indent}3rd > + 3rd > > Notes: > - ${indent}b3 > - ${indent}c3c3c3c3 > - ${indent}d3d3d3 > + b3 > + c3c3c3c3 > + d3d3d3 > > EOF > cat expect >>expect-multiline && > - git log -2 >actual && > + lognotes -2 >actual && > test_cmp expect-multiline actual > ' > > @@ -201,21 +204,21 @@ test_expect_success 'show -F notes' ' > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:16:13 2005 -0700 > > - ${indent}4th > + 4th > > Notes: > - ${indent}xyzzy > + xyzzy > > EOF > cat expect-multiline >>expect-F && > - git log -3 >actual && > + lognotes -3 >actual && > test_cmp expect-F actual > ' > > test_expect_success 'Re-adding -F notes without -f fails' ' > echo "zyxxy" >note5 && > test_must_fail git notes add -F note5 && > - git log -3 >actual && > + lognotes -3 >actual && > test_cmp expect-F actual > ' > > @@ -230,9 +233,9 @@ test_expect_success 'git log --pretty=raw does not show notes' ' > author A U Thor <author@example.com> 1112912173 -0700 > committer C O Mitter <committer@example.com> 1112912173 -0700 > > - ${indent}4th > + 4th > EOF > - git log -1 --pretty=raw >actual && > + lognotes -1 --pretty=raw >actual && > test_cmp expect actual > ' > > @@ -240,14 +243,14 @@ test_expect_success 'git log --show-notes' ' > cat >>expect <<-EOF && > > Notes: > - ${indent}xyzzy > + xyzzy > EOF > - git log -1 --pretty=raw --show-notes >actual && > + lognotes -1 --pretty=raw --show-notes >actual && > test_cmp expect actual > ' > > test_expect_success 'git log --no-notes' ' > - git log -1 --no-notes >actual && > + lognotes -1 --no-notes >actual && > ! grep xyzzy actual > ' > > @@ -280,25 +283,25 @@ test_expect_success 'setup alternate notes ref' ' > ' > > test_expect_success 'git log --notes shows default notes' ' > - git log -1 --notes >actual && > + lognotes -1 --notes >actual && > grep xyzzy actual && > ! grep alternate actual > ' > > test_expect_success 'git log --notes=X shows only X' ' > - git log -1 --notes=alternate >actual && > + lognotes -1 --notes=alternate >actual && > ! grep xyzzy actual && > grep alternate actual > ' > > test_expect_success 'git log --notes --notes=X shows both' ' > - git log -1 --notes --notes=alternate >actual && > + lognotes -1 --notes --notes=alternate >actual && > grep xyzzy actual && > grep alternate actual > ' > > test_expect_success 'git log --no-notes resets default state' ' > - git log -1 --notes --notes=alternate \ > + lognotes -1 --notes --notes=alternate \ > --no-notes --notes=alternate \ > >actual && > ! grep xyzzy actual && > @@ -306,7 +309,7 @@ test_expect_success 'git log --no-notes resets default state' ' > ' > > test_expect_success 'git log --no-notes resets ref list' ' > - git log -1 --notes --notes=alternate \ > + lognotes -1 --notes --notes=alternate \ > --no-notes --notes \ > >actual && > grep xyzzy actual && > @@ -322,18 +325,18 @@ test_expect_success 'show -m notes' ' > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:17:13 2005 -0700 > > - ${indent}5th > + 5th > > Notes: > - ${indent}spam > - ${indent} > - ${indent}foo > - ${indent}bar > - ${indent}baz > + spam > + > + foo > + bar > + baz > > EOF > cat expect-F >>expect-m && > - git log -4 >actual && > + lognotes -4 >actual && > test_cmp expect-m actual > ' > > @@ -345,18 +348,18 @@ test_expect_success 'remove note with add -f -F /dev/null' ' > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:17:13 2005 -0700 > > - ${indent}5th > + 5th > > EOF > cat expect-F >>expect-rm-F && > - git log -4 >actual && > + lognotes -4 >actual && > test_cmp expect-rm-F actual && > test_must_fail git notes show > ' > > test_expect_success 'do not create empty note with -m ""' ' > git notes add -m "" && > - git log -4 >actual && > + lognotes -4 >actual && > test_cmp expect-rm-F actual && > test_must_fail git notes show > ' > @@ -390,17 +393,17 @@ test_expect_success 'remove note with "git notes remove"' ' > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:17:13 2005 -0700 > > - ${indent}5th > + 5th > > commit $parent > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:16:13 2005 -0700 > > - ${indent}4th > + 4th > > EOF > cat expect-multiline >>expect-rm-remove && > - git log -4 >actual && > + lognotes -4 >actual && > test_cmp expect-rm-remove actual && > test_must_fail git notes show HEAD^ > ' > @@ -570,35 +573,35 @@ test_expect_success 'create other note on a different notes ref (setup)' ' > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:18:13 2005 -0700 > > - ${indent}6th > + 6th > EOF > cp expect-not-other expect-other && > cat >>expect-other <<-EOF > > Notes (other): > - ${indent}other note > + other note > EOF > ' > > test_expect_success 'Do not show note on other ref by default' ' > - git log -1 >actual && > + lognotes -1 >actual && > test_cmp expect-not-other actual > ' > > test_expect_success 'Do show note when ref is given in GIT_NOTES_REF' ' > - GIT_NOTES_REF="refs/notes/other" git log -1 >actual && > + test_env GIT_NOTES_REF="refs/notes/other" lognotes -1 >actual && > test_cmp expect-other actual > ' > > test_expect_success 'Do show note when ref is given in core.notesRef config' ' > test_config core.notesRef "refs/notes/other" && > - git log -1 >actual && > + lognotes -1 >actual && > test_cmp expect-other actual > ' > > test_expect_success 'Do not show note when core.notesRef is overridden' ' > test_config core.notesRef "refs/notes/other" && > - GIT_NOTES_REF="refs/notes/wrong" git log -1 >actual && > + test_env GIT_NOTES_REF="refs/notes/wrong" lognotes -1 >actual && > test_cmp expect-not-other actual > ' > > @@ -610,36 +613,36 @@ test_expect_success 'Show all notes when notes.displayRef=refs/notes/*' ' > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:18:13 2005 -0700 > > - ${indent}6th > + 6th > > Notes: > - ${indent}order test > + order test > > Notes (other): > - ${indent}other note > + other note > > commit $parent > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:17:13 2005 -0700 > > - ${indent}5th > + 5th > > Notes: > - ${indent}replacement for deleted note > + replacement for deleted note > EOF > GIT_NOTES_REF=refs/notes/commits git notes add \ > -m"replacement for deleted note" HEAD^ && > GIT_NOTES_REF=refs/notes/commits git notes add -m"order test" && > test_unconfig core.notesRef && > test_config notes.displayRef "refs/notes/*" && > - git log -2 >actual && > + lognotes -2 >actual && > test_cmp expect-both actual > ' > > test_expect_success 'core.notesRef is implicitly in notes.displayRef' ' > test_config core.notesRef refs/notes/commits && > test_config notes.displayRef refs/notes/other && > - git log -2 >actual && > + lognotes -2 >actual && > test_cmp expect-both actual > ' > > @@ -647,7 +650,7 @@ test_expect_success 'notes.displayRef can be given more than once' ' > test_unconfig core.notesRef && > test_config notes.displayRef refs/notes/commits && > git config --add notes.displayRef refs/notes/other && > - git log -2 >actual && > + lognotes -2 >actual && > test_cmp expect-both actual > ' > > @@ -658,17 +661,17 @@ test_expect_success 'notes.displayRef respects order' ' > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:18:13 2005 -0700 > > - ${indent}6th > + 6th > > Notes (other): > - ${indent}other note > + other note > > Notes: > - ${indent}order test > + order test > EOF > test_config core.notesRef refs/notes/other && > test_config notes.displayRef refs/notes/commits && > - git log -1 >actual && > + lognotes -1 >actual && > test_cmp expect-both-reversed actual > ' > > @@ -678,8 +681,8 @@ test_expect_success 'notes.displayRef with no value handled gracefully' ' > ' > > test_expect_success 'GIT_NOTES_DISPLAY_REF works' ' > - GIT_NOTES_DISPLAY_REF=refs/notes/commits:refs/notes/other \ > - git log -2 >actual && > + test_env GIT_NOTES_DISPLAY_REF=refs/notes/commits:refs/notes/other \ > + lognotes -2 >actual && > test_cmp expect-both actual > ' > > @@ -691,21 +694,21 @@ test_expect_success 'GIT_NOTES_DISPLAY_REF overrides config' ' > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:18:13 2005 -0700 > > - ${indent}6th > + 6th > > commit $parent > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:17:13 2005 -0700 > > - ${indent}5th > + 5th > EOF > test_config notes.displayRef "refs/notes/*" && > - GIT_NOTES_REF= GIT_NOTES_DISPLAY_REF= git log -2 >actual && > + test_env GIT_NOTES_REF= GIT_NOTES_DISPLAY_REF= lognotes -2 >actual && > test_cmp expect-none actual > ' > > test_expect_success '--show-notes=* adds to GIT_NOTES_DISPLAY_REF' ' > - GIT_NOTES_REF= GIT_NOTES_DISPLAY_REF= git log --show-notes=* -2 >actual && > + test_env GIT_NOTES_REF= GIT_NOTES_DISPLAY_REF= lognotes --show-notes=* -2 >actual && > test_cmp expect-both actual > ' > > @@ -716,24 +719,24 @@ test_expect_success '--no-standard-notes' ' > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:18:13 2005 -0700 > > - ${indent}6th > + 6th > > Notes: > - ${indent}order test > + order test > EOF > - git log --no-standard-notes --show-notes=commits -1 >actual && > + lognotes --no-standard-notes --show-notes=commits -1 >actual && > test_cmp expect-commits actual > ' > > test_expect_success '--standard-notes' ' > test_config notes.displayRef "refs/notes/*" && > - git log --no-standard-notes --show-notes=commits \ > + lognotes --no-standard-notes --show-notes=commits \ > --standard-notes -2 >actual && > test_cmp expect-both actual > ' > > test_expect_success '--show-notes=ref accumulates' ' > - git log --show-notes=other --show-notes=commits \ > + lognotes --show-notes=other --show-notes=commits \ > --no-standard-notes -1 >actual && > test_cmp expect-both-reversed actual > ' > @@ -765,14 +768,14 @@ test_expect_success 'create note from other note with "git notes add -C"' ' > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:19:13 2005 -0700 > > - ${indent}7th > + 7th > > Notes: > - ${indent}order test > + order test > EOF > note=$(git notes list HEAD^) && > git notes add -C $note && > - git log -1 >actual && > + lognotes -1 >actual && > test_cmp expect actual && > git notes list HEAD^ >expect && > git notes list HEAD >actual && > @@ -800,14 +803,14 @@ test_expect_success 'create note from blob with "git notes add -C" reuses blob i > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:20:13 2005 -0700 > > - ${indent}8th > + 8th > > Notes: > - ${indent}This is a blob object > + This is a blob object > EOF > echo "This is a blob object" | git hash-object -w --stdin >blob && > git notes add -C $(cat blob) && > - git log -1 >actual && > + lognotes -1 >actual && > test_cmp expect actual && > git notes list HEAD >actual && > test_cmp blob actual > @@ -821,14 +824,14 @@ test_expect_success 'create note from other note with "git notes add -c"' ' > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:21:13 2005 -0700 > > - ${indent}9th > + 9th > > Notes: > - ${indent}yet another note > + yet another note > EOF > note=$(git notes list HEAD^^) && > MSG="yet another note" git notes add -c $note && > - git log -1 >actual && > + lognotes -1 >actual && > test_cmp expect actual > ' > > @@ -845,16 +848,16 @@ test_expect_success 'append to note from other note with "git notes append -C"' > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:21:13 2005 -0700 > > - ${indent}9th > + 9th > > Notes: > - ${indent}yet another note > - ${indent} > - ${indent}yet another note > + yet another note > + > + yet another note > EOF > note=$(git notes list HEAD^) && > git notes append -C $note HEAD^ && > - git log -1 HEAD^ >actual && > + lognotes -1 HEAD^ >actual && > test_cmp expect actual > ' > > @@ -865,14 +868,14 @@ test_expect_success 'create note from other note with "git notes append -c"' ' > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:22:13 2005 -0700 > > - ${indent}10th > + 10th > > Notes: > - ${indent}other note > + other note > EOF > note=$(git notes list HEAD^) && > MSG="other note" git notes append -c $note && > - git log -1 >actual && > + lognotes -1 >actual && > test_cmp expect actual > ' > > @@ -883,16 +886,16 @@ test_expect_success 'append to note from other note with "git notes append -c"' > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:22:13 2005 -0700 > > - ${indent}10th > + 10th > > Notes: > - ${indent}other note > - ${indent} > - ${indent}yet another note > + other note > + > + yet another note > EOF > note=$(git notes list HEAD) && > MSG="yet another note" git notes append -c $note && > - git log -1 >actual && > + lognotes -1 >actual && > test_cmp expect actual > ' > > @@ -903,13 +906,13 @@ test_expect_success 'copy note with "git notes copy"' ' > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:16:13 2005 -0700 > > - ${indent}4th > + 4th > > Notes: > - ${indent}This is a blob object > + This is a blob object > EOF > git notes copy 8th 4th && > - git log 3rd..4th >actual && > + lognotes 3rd..4th >actual && > test_cmp expect actual && > git notes list 4th >expect && > git notes list 8th >actual && > @@ -924,15 +927,15 @@ test_expect_success 'copy note with "git notes copy" with default' ' > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:23:13 2005 -0700 > > - ${indent}11th > + 11th > > Notes: > - ${indent}other note > - ${indent} > - ${indent}yet another note > + other note > + > + yet another note > EOF > git notes copy HEAD^ && > - git log -1 >actual && > + lognotes -1 >actual && > test_cmp expect actual && > git notes list HEAD^ >expect && > git notes list HEAD >actual && > @@ -946,14 +949,14 @@ test_expect_success 'prevent overwrite with "git notes copy"' ' > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:23:13 2005 -0700 > > - ${indent}11th > + 11th > > Notes: > - ${indent}other note > - ${indent} > - ${indent}yet another note > + other note > + > + yet another note > EOF > - git log -1 >actual && > + lognotes -1 >actual && > test_cmp expect actual && > git notes list HEAD^ >expect && > git notes list HEAD >actual && > @@ -967,13 +970,13 @@ test_expect_success 'allow overwrite with "git notes copy -f"' ' > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:23:13 2005 -0700 > > - ${indent}11th > + 11th > > Notes: > - ${indent}This is a blob object > + This is a blob object > EOF > git notes copy -f HEAD~3 HEAD && > - git log -1 >actual && > + lognotes -1 >actual && > test_cmp expect actual && > git notes list HEAD~3 >expect && > git notes list HEAD >actual && > @@ -987,15 +990,15 @@ test_expect_success 'allow overwrite with "git notes copy -f" with default' ' > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:23:13 2005 -0700 > > - ${indent}11th > + 11th > > Notes: > - ${indent}yet another note > - ${indent} > - ${indent}yet another note > + yet another note > + > + yet another note > EOF > git notes copy -f HEAD~2 && > - git log -1 >actual && > + lognotes -1 >actual && > test_cmp expect actual && > git notes list HEAD~2 >expect && > git notes list HEAD >actual && > @@ -1016,23 +1019,23 @@ test_expect_success 'git notes copy --stdin' ' > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:25:13 2005 -0700 > > - ${indent}13th > + 13th > > Notes: > - ${indent}yet another note > - ${indent} > - ${indent}yet another note > + yet another note > + > + yet another note > > commit $parent > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:24:13 2005 -0700 > > - ${indent}12th > + 12th > > Notes: > - ${indent}other note > - ${indent} > - ${indent}yet another note > + other note > + > + yet another note > EOF > from=$(git rev-parse HEAD~3) && > to=$(git rev-parse HEAD^) && > @@ -1041,7 +1044,7 @@ test_expect_success 'git notes copy --stdin' ' > to=$(git rev-parse HEAD) && > echo "$from" "$to" >>copy && > git notes copy --stdin <copy && > - git log -2 >actual && > + lognotes -2 >actual && > test_cmp expect actual && > git notes list HEAD~2 >expect && > git notes list HEAD >actual && > @@ -1061,13 +1064,13 @@ test_expect_success 'git notes copy --for-rewrite (unconfigured)' ' > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:27:13 2005 -0700 > > - ${indent}15th > + 15th > > commit $parent > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:26:13 2005 -0700 > > - ${indent}14th > + 14th > EOF > from=$(git rev-parse HEAD~3) && > to=$(git rev-parse HEAD^) && > @@ -1076,7 +1079,7 @@ test_expect_success 'git notes copy --for-rewrite (unconfigured)' ' > to=$(git rev-parse HEAD) && > echo "$from" "$to" >>copy && > git notes copy --for-rewrite=foo <copy && > - git log -2 >actual && > + lognotes -2 >actual && > test_cmp expect actual > ' > > @@ -1088,23 +1091,23 @@ test_expect_success 'git notes copy --for-rewrite (enabled)' ' > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:27:13 2005 -0700 > > - ${indent}15th > + 15th > > Notes: > - ${indent}yet another note > - ${indent} > - ${indent}yet another note > + yet another note > + > + yet another note > > commit $parent > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:26:13 2005 -0700 > > - ${indent}14th > + 14th > > Notes: > - ${indent}other note > - ${indent} > - ${indent}yet another note > + other note > + > + yet another note > EOF > test_config notes.rewriteMode overwrite && > test_config notes.rewriteRef "refs/notes/*" && > @@ -1115,7 +1118,7 @@ test_expect_success 'git notes copy --for-rewrite (enabled)' ' > to=$(git rev-parse HEAD) && > echo "$from" "$to" >>copy && > git notes copy --for-rewrite=foo <copy && > - git log -2 >actual && > + lognotes -2 >actual && > test_cmp expect actual > ' > > @@ -1125,7 +1128,7 @@ test_expect_success 'git notes copy --for-rewrite (disabled)' ' > to=$(git rev-parse HEAD) && > echo "$from" "$to" >copy && > git notes copy --for-rewrite=bar <copy && > - git log -2 >actual && > + lognotes -2 >actual && > test_cmp expect actual > ' > > @@ -1136,10 +1139,10 @@ test_expect_success 'git notes copy --for-rewrite (overwrite)' ' > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:27:13 2005 -0700 > > - ${indent}15th > + 15th > > Notes: > - ${indent}a fresh note > + a fresh note > EOF > git notes add -f -m"a fresh note" HEAD^ && > test_config notes.rewriteMode overwrite && > @@ -1148,7 +1151,7 @@ test_expect_success 'git notes copy --for-rewrite (overwrite)' ' > to=$(git rev-parse HEAD) && > echo "$from" "$to" >copy && > git notes copy --for-rewrite=foo <copy && > - git log -1 >actual && > + lognotes -1 >actual && > test_cmp expect actual > ' > > @@ -1159,7 +1162,7 @@ test_expect_success 'git notes copy --for-rewrite (ignore)' ' > to=$(git rev-parse HEAD) && > echo "$from" "$to" >copy && > git notes copy --for-rewrite=foo <copy && > - git log -1 >actual && > + lognotes -1 >actual && > test_cmp expect actual > ' > > @@ -1170,12 +1173,12 @@ test_expect_success 'git notes copy --for-rewrite (append)' ' > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:27:13 2005 -0700 > > - ${indent}15th > + 15th > > Notes: > - ${indent}a fresh note > - ${indent} > - ${indent}another fresh note > + a fresh note > + > + another fresh note > EOF > git notes add -f -m"another fresh note" HEAD^ && > test_config notes.rewriteMode concatenate && > @@ -1184,7 +1187,7 @@ test_expect_success 'git notes copy --for-rewrite (append)' ' > to=$(git rev-parse HEAD) && > echo "$from" "$to" >copy && > git notes copy --for-rewrite=foo <copy && > - git log -1 >actual && > + lognotes -1 >actual && > test_cmp expect actual > ' > > @@ -1195,16 +1198,16 @@ test_expect_success 'git notes copy --for-rewrite (append two to one)' ' > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:27:13 2005 -0700 > > - ${indent}15th > + 15th > > Notes: > - ${indent}a fresh note > - ${indent} > - ${indent}another fresh note > - ${indent} > - ${indent}append 1 > - ${indent} > - ${indent}append 2 > + a fresh note > + > + another fresh note > + > + append 1 > + > + append 2 > EOF > git notes add -f -m"append 1" HEAD^ && > git notes add -f -m"append 2" HEAD^^ && > @@ -1217,7 +1220,7 @@ test_expect_success 'git notes copy --for-rewrite (append two to one)' ' > to=$(git rev-parse HEAD) && > echo "$from" "$to" >>copy && > git notes copy --for-rewrite=foo <copy && > - git log -1 >actual && > + lognotes -1 >actual && > test_cmp expect actual > ' > > @@ -1229,7 +1232,7 @@ test_expect_success 'git notes copy --for-rewrite (append empty)' ' > to=$(git rev-parse HEAD) && > echo "$from" "$to" >copy && > git notes copy --for-rewrite=foo <copy && > - git log -1 >actual && > + lognotes -1 >actual && > test_cmp expect actual > ' > > @@ -1240,10 +1243,10 @@ test_expect_success 'GIT_NOTES_REWRITE_MODE works' ' > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:27:13 2005 -0700 > > - ${indent}15th > + 15th > > Notes: > - ${indent}replacement note 1 > + replacement note 1 > EOF > test_config notes.rewriteMode concatenate && > test_config notes.rewriteRef "refs/notes/*" && > @@ -1252,7 +1255,7 @@ test_expect_success 'GIT_NOTES_REWRITE_MODE works' ' > to=$(git rev-parse HEAD) && > echo "$from" "$to" >copy && > GIT_NOTES_REWRITE_MODE=overwrite git notes copy --for-rewrite=foo <copy && > - git log -1 >actual && > + lognotes -1 >actual && > test_cmp expect actual > ' > > @@ -1263,10 +1266,10 @@ test_expect_success 'GIT_NOTES_REWRITE_REF works' ' > Author: A U Thor <author@example.com> > Date: Thu Apr 7 15:27:13 2005 -0700 > > - ${indent}15th > + 15th > > Notes: > - ${indent}replacement note 2 > + replacement note 2 > EOF > git notes add -f -m"replacement note 2" HEAD^ && > test_config notes.rewriteMode overwrite && > @@ -1276,7 +1279,7 @@ test_expect_success 'GIT_NOTES_REWRITE_REF works' ' > echo "$from" "$to" >copy && > GIT_NOTES_REWRITE_REF=refs/notes/commits:refs/notes/other \ > git notes copy --for-rewrite=foo <copy && > - git log -1 >actual && > + lognotes -1 >actual && > test_cmp expect actual > ' > > @@ -1289,7 +1292,7 @@ test_expect_success 'GIT_NOTES_REWRITE_REF overrides config' ' > echo "$from" "$to" >copy && > GIT_NOTES_REWRITE_REF=refs/notes/commits \ > git notes copy --for-rewrite=foo <copy && > - git log -1 >actual && > + lognotes -1 >actual && > grep "replacement note 3" actual > ' > > @@ -1372,13 +1375,13 @@ EOF > > test_expect_success 'empty notes are displayed by git log' ' > test_commit 17th && > - git log -1 >expect && > + lognotes -1 >expect && > cat >>expect <<-EOF && > > Notes: > EOF > git notes add -C "$empty_blob" --allow-empty && > - git log -1 >actual && > + lognotes -1 >actual && > test_cmp expect actual > '
On Mon, Aug 30, 2021 at 1:09 PM Junio C Hamano <gitster@pobox.com> wrote: > Eric Sunshine <sunshine@sunshineco.com> writes: > > These tests care about whether intended notes-related functionality > > occurred and that `git log` presents the notes in the expected fashion > > (or, in some cases, that `git log` suppresses the notes). However, the > > tests hard-code the precise indentation of notes by the default `git > > log` output, which makes them somewhat brittle since they won't be able > > to tolerate even minor changes to the presentation. Make the tests a bit > > more robust by ignoring indentation. > > Isn't this losing too much information? If we lose all, or gain > random number of, leading whitespaces, the test won't notice. That was the idea. The precise amount of indentation -- whether four spaces or one TAB or whatever -- seems pretty much immaterial in the wide view [1], and it is not inconceivable that the exact amount of indentation might change in the future, thus this future-proofs the tests against minor indentation changes. However, as mentioned in my response to Ævar, I wavered quite a bit on whether or not to make this change since, although the justification of "future-proofing" the tests isn't exactly hand-wavy, we don't need the change either. It may be a case of YAGNI. So, as I also mentioned in that response, I don't mind at all dropping this patch and going with Ævar's version. [1]: mechanical extraction aside...
diff --git a/t/t3301-notes.sh b/t/t3301-notes.sh index d742be8840..955b2670a7 100755 --- a/t/t3301-notes.sh +++ b/t/t3301-notes.sh @@ -7,6 +7,11 @@ test_description='Test commit notes' . ./test-lib.sh +lognotes () { + git log "$@" >lognotes.out && + sed 's/^[ ]*//' lognotes.out +} + write_script fake_editor <<\EOF echo "$MSG" >"$1" echo "$MSG" >&2 @@ -14,8 +19,6 @@ EOF GIT_EDITOR=./fake_editor export GIT_EDITOR -indent=" " - test_expect_success 'cannot annotate non-existing HEAD' ' test_must_fail env MSG=3 git notes add ' @@ -158,14 +161,14 @@ test_expect_success 'show notes' ' Author: A U Thor <author@example.com> Date: Thu Apr 7 15:14:13 2005 -0700 - ${indent}2nd + 2nd Notes: - ${indent}b1 + b1 EOF git cat-file commit HEAD >commits && ! grep b1 commits && - git log -1 >actual && + lognotes -1 >actual && test_cmp expect actual ' @@ -178,16 +181,16 @@ test_expect_success 'show multi-line notes' ' Author: A U Thor <author@example.com> Date: Thu Apr 7 15:15:13 2005 -0700 - ${indent}3rd + 3rd Notes: - ${indent}b3 - ${indent}c3c3c3c3 - ${indent}d3d3d3 + b3 + c3c3c3c3 + d3d3d3 EOF cat expect >>expect-multiline && - git log -2 >actual && + lognotes -2 >actual && test_cmp expect-multiline actual ' @@ -201,21 +204,21 @@ test_expect_success 'show -F notes' ' Author: A U Thor <author@example.com> Date: Thu Apr 7 15:16:13 2005 -0700 - ${indent}4th + 4th Notes: - ${indent}xyzzy + xyzzy EOF cat expect-multiline >>expect-F && - git log -3 >actual && + lognotes -3 >actual && test_cmp expect-F actual ' test_expect_success 'Re-adding -F notes without -f fails' ' echo "zyxxy" >note5 && test_must_fail git notes add -F note5 && - git log -3 >actual && + lognotes -3 >actual && test_cmp expect-F actual ' @@ -230,9 +233,9 @@ test_expect_success 'git log --pretty=raw does not show notes' ' author A U Thor <author@example.com> 1112912173 -0700 committer C O Mitter <committer@example.com> 1112912173 -0700 - ${indent}4th + 4th EOF - git log -1 --pretty=raw >actual && + lognotes -1 --pretty=raw >actual && test_cmp expect actual ' @@ -240,14 +243,14 @@ test_expect_success 'git log --show-notes' ' cat >>expect <<-EOF && Notes: - ${indent}xyzzy + xyzzy EOF - git log -1 --pretty=raw --show-notes >actual && + lognotes -1 --pretty=raw --show-notes >actual && test_cmp expect actual ' test_expect_success 'git log --no-notes' ' - git log -1 --no-notes >actual && + lognotes -1 --no-notes >actual && ! grep xyzzy actual ' @@ -280,25 +283,25 @@ test_expect_success 'setup alternate notes ref' ' ' test_expect_success 'git log --notes shows default notes' ' - git log -1 --notes >actual && + lognotes -1 --notes >actual && grep xyzzy actual && ! grep alternate actual ' test_expect_success 'git log --notes=X shows only X' ' - git log -1 --notes=alternate >actual && + lognotes -1 --notes=alternate >actual && ! grep xyzzy actual && grep alternate actual ' test_expect_success 'git log --notes --notes=X shows both' ' - git log -1 --notes --notes=alternate >actual && + lognotes -1 --notes --notes=alternate >actual && grep xyzzy actual && grep alternate actual ' test_expect_success 'git log --no-notes resets default state' ' - git log -1 --notes --notes=alternate \ + lognotes -1 --notes --notes=alternate \ --no-notes --notes=alternate \ >actual && ! grep xyzzy actual && @@ -306,7 +309,7 @@ test_expect_success 'git log --no-notes resets default state' ' ' test_expect_success 'git log --no-notes resets ref list' ' - git log -1 --notes --notes=alternate \ + lognotes -1 --notes --notes=alternate \ --no-notes --notes \ >actual && grep xyzzy actual && @@ -322,18 +325,18 @@ test_expect_success 'show -m notes' ' Author: A U Thor <author@example.com> Date: Thu Apr 7 15:17:13 2005 -0700 - ${indent}5th + 5th Notes: - ${indent}spam - ${indent} - ${indent}foo - ${indent}bar - ${indent}baz + spam + + foo + bar + baz EOF cat expect-F >>expect-m && - git log -4 >actual && + lognotes -4 >actual && test_cmp expect-m actual ' @@ -345,18 +348,18 @@ test_expect_success 'remove note with add -f -F /dev/null' ' Author: A U Thor <author@example.com> Date: Thu Apr 7 15:17:13 2005 -0700 - ${indent}5th + 5th EOF cat expect-F >>expect-rm-F && - git log -4 >actual && + lognotes -4 >actual && test_cmp expect-rm-F actual && test_must_fail git notes show ' test_expect_success 'do not create empty note with -m ""' ' git notes add -m "" && - git log -4 >actual && + lognotes -4 >actual && test_cmp expect-rm-F actual && test_must_fail git notes show ' @@ -390,17 +393,17 @@ test_expect_success 'remove note with "git notes remove"' ' Author: A U Thor <author@example.com> Date: Thu Apr 7 15:17:13 2005 -0700 - ${indent}5th + 5th commit $parent Author: A U Thor <author@example.com> Date: Thu Apr 7 15:16:13 2005 -0700 - ${indent}4th + 4th EOF cat expect-multiline >>expect-rm-remove && - git log -4 >actual && + lognotes -4 >actual && test_cmp expect-rm-remove actual && test_must_fail git notes show HEAD^ ' @@ -570,35 +573,35 @@ test_expect_success 'create other note on a different notes ref (setup)' ' Author: A U Thor <author@example.com> Date: Thu Apr 7 15:18:13 2005 -0700 - ${indent}6th + 6th EOF cp expect-not-other expect-other && cat >>expect-other <<-EOF Notes (other): - ${indent}other note + other note EOF ' test_expect_success 'Do not show note on other ref by default' ' - git log -1 >actual && + lognotes -1 >actual && test_cmp expect-not-other actual ' test_expect_success 'Do show note when ref is given in GIT_NOTES_REF' ' - GIT_NOTES_REF="refs/notes/other" git log -1 >actual && + test_env GIT_NOTES_REF="refs/notes/other" lognotes -1 >actual && test_cmp expect-other actual ' test_expect_success 'Do show note when ref is given in core.notesRef config' ' test_config core.notesRef "refs/notes/other" && - git log -1 >actual && + lognotes -1 >actual && test_cmp expect-other actual ' test_expect_success 'Do not show note when core.notesRef is overridden' ' test_config core.notesRef "refs/notes/other" && - GIT_NOTES_REF="refs/notes/wrong" git log -1 >actual && + test_env GIT_NOTES_REF="refs/notes/wrong" lognotes -1 >actual && test_cmp expect-not-other actual ' @@ -610,36 +613,36 @@ test_expect_success 'Show all notes when notes.displayRef=refs/notes/*' ' Author: A U Thor <author@example.com> Date: Thu Apr 7 15:18:13 2005 -0700 - ${indent}6th + 6th Notes: - ${indent}order test + order test Notes (other): - ${indent}other note + other note commit $parent Author: A U Thor <author@example.com> Date: Thu Apr 7 15:17:13 2005 -0700 - ${indent}5th + 5th Notes: - ${indent}replacement for deleted note + replacement for deleted note EOF GIT_NOTES_REF=refs/notes/commits git notes add \ -m"replacement for deleted note" HEAD^ && GIT_NOTES_REF=refs/notes/commits git notes add -m"order test" && test_unconfig core.notesRef && test_config notes.displayRef "refs/notes/*" && - git log -2 >actual && + lognotes -2 >actual && test_cmp expect-both actual ' test_expect_success 'core.notesRef is implicitly in notes.displayRef' ' test_config core.notesRef refs/notes/commits && test_config notes.displayRef refs/notes/other && - git log -2 >actual && + lognotes -2 >actual && test_cmp expect-both actual ' @@ -647,7 +650,7 @@ test_expect_success 'notes.displayRef can be given more than once' ' test_unconfig core.notesRef && test_config notes.displayRef refs/notes/commits && git config --add notes.displayRef refs/notes/other && - git log -2 >actual && + lognotes -2 >actual && test_cmp expect-both actual ' @@ -658,17 +661,17 @@ test_expect_success 'notes.displayRef respects order' ' Author: A U Thor <author@example.com> Date: Thu Apr 7 15:18:13 2005 -0700 - ${indent}6th + 6th Notes (other): - ${indent}other note + other note Notes: - ${indent}order test + order test EOF test_config core.notesRef refs/notes/other && test_config notes.displayRef refs/notes/commits && - git log -1 >actual && + lognotes -1 >actual && test_cmp expect-both-reversed actual ' @@ -678,8 +681,8 @@ test_expect_success 'notes.displayRef with no value handled gracefully' ' ' test_expect_success 'GIT_NOTES_DISPLAY_REF works' ' - GIT_NOTES_DISPLAY_REF=refs/notes/commits:refs/notes/other \ - git log -2 >actual && + test_env GIT_NOTES_DISPLAY_REF=refs/notes/commits:refs/notes/other \ + lognotes -2 >actual && test_cmp expect-both actual ' @@ -691,21 +694,21 @@ test_expect_success 'GIT_NOTES_DISPLAY_REF overrides config' ' Author: A U Thor <author@example.com> Date: Thu Apr 7 15:18:13 2005 -0700 - ${indent}6th + 6th commit $parent Author: A U Thor <author@example.com> Date: Thu Apr 7 15:17:13 2005 -0700 - ${indent}5th + 5th EOF test_config notes.displayRef "refs/notes/*" && - GIT_NOTES_REF= GIT_NOTES_DISPLAY_REF= git log -2 >actual && + test_env GIT_NOTES_REF= GIT_NOTES_DISPLAY_REF= lognotes -2 >actual && test_cmp expect-none actual ' test_expect_success '--show-notes=* adds to GIT_NOTES_DISPLAY_REF' ' - GIT_NOTES_REF= GIT_NOTES_DISPLAY_REF= git log --show-notes=* -2 >actual && + test_env GIT_NOTES_REF= GIT_NOTES_DISPLAY_REF= lognotes --show-notes=* -2 >actual && test_cmp expect-both actual ' @@ -716,24 +719,24 @@ test_expect_success '--no-standard-notes' ' Author: A U Thor <author@example.com> Date: Thu Apr 7 15:18:13 2005 -0700 - ${indent}6th + 6th Notes: - ${indent}order test + order test EOF - git log --no-standard-notes --show-notes=commits -1 >actual && + lognotes --no-standard-notes --show-notes=commits -1 >actual && test_cmp expect-commits actual ' test_expect_success '--standard-notes' ' test_config notes.displayRef "refs/notes/*" && - git log --no-standard-notes --show-notes=commits \ + lognotes --no-standard-notes --show-notes=commits \ --standard-notes -2 >actual && test_cmp expect-both actual ' test_expect_success '--show-notes=ref accumulates' ' - git log --show-notes=other --show-notes=commits \ + lognotes --show-notes=other --show-notes=commits \ --no-standard-notes -1 >actual && test_cmp expect-both-reversed actual ' @@ -765,14 +768,14 @@ test_expect_success 'create note from other note with "git notes add -C"' ' Author: A U Thor <author@example.com> Date: Thu Apr 7 15:19:13 2005 -0700 - ${indent}7th + 7th Notes: - ${indent}order test + order test EOF note=$(git notes list HEAD^) && git notes add -C $note && - git log -1 >actual && + lognotes -1 >actual && test_cmp expect actual && git notes list HEAD^ >expect && git notes list HEAD >actual && @@ -800,14 +803,14 @@ test_expect_success 'create note from blob with "git notes add -C" reuses blob i Author: A U Thor <author@example.com> Date: Thu Apr 7 15:20:13 2005 -0700 - ${indent}8th + 8th Notes: - ${indent}This is a blob object + This is a blob object EOF echo "This is a blob object" | git hash-object -w --stdin >blob && git notes add -C $(cat blob) && - git log -1 >actual && + lognotes -1 >actual && test_cmp expect actual && git notes list HEAD >actual && test_cmp blob actual @@ -821,14 +824,14 @@ test_expect_success 'create note from other note with "git notes add -c"' ' Author: A U Thor <author@example.com> Date: Thu Apr 7 15:21:13 2005 -0700 - ${indent}9th + 9th Notes: - ${indent}yet another note + yet another note EOF note=$(git notes list HEAD^^) && MSG="yet another note" git notes add -c $note && - git log -1 >actual && + lognotes -1 >actual && test_cmp expect actual ' @@ -845,16 +848,16 @@ test_expect_success 'append to note from other note with "git notes append -C"' Author: A U Thor <author@example.com> Date: Thu Apr 7 15:21:13 2005 -0700 - ${indent}9th + 9th Notes: - ${indent}yet another note - ${indent} - ${indent}yet another note + yet another note + + yet another note EOF note=$(git notes list HEAD^) && git notes append -C $note HEAD^ && - git log -1 HEAD^ >actual && + lognotes -1 HEAD^ >actual && test_cmp expect actual ' @@ -865,14 +868,14 @@ test_expect_success 'create note from other note with "git notes append -c"' ' Author: A U Thor <author@example.com> Date: Thu Apr 7 15:22:13 2005 -0700 - ${indent}10th + 10th Notes: - ${indent}other note + other note EOF note=$(git notes list HEAD^) && MSG="other note" git notes append -c $note && - git log -1 >actual && + lognotes -1 >actual && test_cmp expect actual ' @@ -883,16 +886,16 @@ test_expect_success 'append to note from other note with "git notes append -c"' Author: A U Thor <author@example.com> Date: Thu Apr 7 15:22:13 2005 -0700 - ${indent}10th + 10th Notes: - ${indent}other note - ${indent} - ${indent}yet another note + other note + + yet another note EOF note=$(git notes list HEAD) && MSG="yet another note" git notes append -c $note && - git log -1 >actual && + lognotes -1 >actual && test_cmp expect actual ' @@ -903,13 +906,13 @@ test_expect_success 'copy note with "git notes copy"' ' Author: A U Thor <author@example.com> Date: Thu Apr 7 15:16:13 2005 -0700 - ${indent}4th + 4th Notes: - ${indent}This is a blob object + This is a blob object EOF git notes copy 8th 4th && - git log 3rd..4th >actual && + lognotes 3rd..4th >actual && test_cmp expect actual && git notes list 4th >expect && git notes list 8th >actual && @@ -924,15 +927,15 @@ test_expect_success 'copy note with "git notes copy" with default' ' Author: A U Thor <author@example.com> Date: Thu Apr 7 15:23:13 2005 -0700 - ${indent}11th + 11th Notes: - ${indent}other note - ${indent} - ${indent}yet another note + other note + + yet another note EOF git notes copy HEAD^ && - git log -1 >actual && + lognotes -1 >actual && test_cmp expect actual && git notes list HEAD^ >expect && git notes list HEAD >actual && @@ -946,14 +949,14 @@ test_expect_success 'prevent overwrite with "git notes copy"' ' Author: A U Thor <author@example.com> Date: Thu Apr 7 15:23:13 2005 -0700 - ${indent}11th + 11th Notes: - ${indent}other note - ${indent} - ${indent}yet another note + other note + + yet another note EOF - git log -1 >actual && + lognotes -1 >actual && test_cmp expect actual && git notes list HEAD^ >expect && git notes list HEAD >actual && @@ -967,13 +970,13 @@ test_expect_success 'allow overwrite with "git notes copy -f"' ' Author: A U Thor <author@example.com> Date: Thu Apr 7 15:23:13 2005 -0700 - ${indent}11th + 11th Notes: - ${indent}This is a blob object + This is a blob object EOF git notes copy -f HEAD~3 HEAD && - git log -1 >actual && + lognotes -1 >actual && test_cmp expect actual && git notes list HEAD~3 >expect && git notes list HEAD >actual && @@ -987,15 +990,15 @@ test_expect_success 'allow overwrite with "git notes copy -f" with default' ' Author: A U Thor <author@example.com> Date: Thu Apr 7 15:23:13 2005 -0700 - ${indent}11th + 11th Notes: - ${indent}yet another note - ${indent} - ${indent}yet another note + yet another note + + yet another note EOF git notes copy -f HEAD~2 && - git log -1 >actual && + lognotes -1 >actual && test_cmp expect actual && git notes list HEAD~2 >expect && git notes list HEAD >actual && @@ -1016,23 +1019,23 @@ test_expect_success 'git notes copy --stdin' ' Author: A U Thor <author@example.com> Date: Thu Apr 7 15:25:13 2005 -0700 - ${indent}13th + 13th Notes: - ${indent}yet another note - ${indent} - ${indent}yet another note + yet another note + + yet another note commit $parent Author: A U Thor <author@example.com> Date: Thu Apr 7 15:24:13 2005 -0700 - ${indent}12th + 12th Notes: - ${indent}other note - ${indent} - ${indent}yet another note + other note + + yet another note EOF from=$(git rev-parse HEAD~3) && to=$(git rev-parse HEAD^) && @@ -1041,7 +1044,7 @@ test_expect_success 'git notes copy --stdin' ' to=$(git rev-parse HEAD) && echo "$from" "$to" >>copy && git notes copy --stdin <copy && - git log -2 >actual && + lognotes -2 >actual && test_cmp expect actual && git notes list HEAD~2 >expect && git notes list HEAD >actual && @@ -1061,13 +1064,13 @@ test_expect_success 'git notes copy --for-rewrite (unconfigured)' ' Author: A U Thor <author@example.com> Date: Thu Apr 7 15:27:13 2005 -0700 - ${indent}15th + 15th commit $parent Author: A U Thor <author@example.com> Date: Thu Apr 7 15:26:13 2005 -0700 - ${indent}14th + 14th EOF from=$(git rev-parse HEAD~3) && to=$(git rev-parse HEAD^) && @@ -1076,7 +1079,7 @@ test_expect_success 'git notes copy --for-rewrite (unconfigured)' ' to=$(git rev-parse HEAD) && echo "$from" "$to" >>copy && git notes copy --for-rewrite=foo <copy && - git log -2 >actual && + lognotes -2 >actual && test_cmp expect actual ' @@ -1088,23 +1091,23 @@ test_expect_success 'git notes copy --for-rewrite (enabled)' ' Author: A U Thor <author@example.com> Date: Thu Apr 7 15:27:13 2005 -0700 - ${indent}15th + 15th Notes: - ${indent}yet another note - ${indent} - ${indent}yet another note + yet another note + + yet another note commit $parent Author: A U Thor <author@example.com> Date: Thu Apr 7 15:26:13 2005 -0700 - ${indent}14th + 14th Notes: - ${indent}other note - ${indent} - ${indent}yet another note + other note + + yet another note EOF test_config notes.rewriteMode overwrite && test_config notes.rewriteRef "refs/notes/*" && @@ -1115,7 +1118,7 @@ test_expect_success 'git notes copy --for-rewrite (enabled)' ' to=$(git rev-parse HEAD) && echo "$from" "$to" >>copy && git notes copy --for-rewrite=foo <copy && - git log -2 >actual && + lognotes -2 >actual && test_cmp expect actual ' @@ -1125,7 +1128,7 @@ test_expect_success 'git notes copy --for-rewrite (disabled)' ' to=$(git rev-parse HEAD) && echo "$from" "$to" >copy && git notes copy --for-rewrite=bar <copy && - git log -2 >actual && + lognotes -2 >actual && test_cmp expect actual ' @@ -1136,10 +1139,10 @@ test_expect_success 'git notes copy --for-rewrite (overwrite)' ' Author: A U Thor <author@example.com> Date: Thu Apr 7 15:27:13 2005 -0700 - ${indent}15th + 15th Notes: - ${indent}a fresh note + a fresh note EOF git notes add -f -m"a fresh note" HEAD^ && test_config notes.rewriteMode overwrite && @@ -1148,7 +1151,7 @@ test_expect_success 'git notes copy --for-rewrite (overwrite)' ' to=$(git rev-parse HEAD) && echo "$from" "$to" >copy && git notes copy --for-rewrite=foo <copy && - git log -1 >actual && + lognotes -1 >actual && test_cmp expect actual ' @@ -1159,7 +1162,7 @@ test_expect_success 'git notes copy --for-rewrite (ignore)' ' to=$(git rev-parse HEAD) && echo "$from" "$to" >copy && git notes copy --for-rewrite=foo <copy && - git log -1 >actual && + lognotes -1 >actual && test_cmp expect actual ' @@ -1170,12 +1173,12 @@ test_expect_success 'git notes copy --for-rewrite (append)' ' Author: A U Thor <author@example.com> Date: Thu Apr 7 15:27:13 2005 -0700 - ${indent}15th + 15th Notes: - ${indent}a fresh note - ${indent} - ${indent}another fresh note + a fresh note + + another fresh note EOF git notes add -f -m"another fresh note" HEAD^ && test_config notes.rewriteMode concatenate && @@ -1184,7 +1187,7 @@ test_expect_success 'git notes copy --for-rewrite (append)' ' to=$(git rev-parse HEAD) && echo "$from" "$to" >copy && git notes copy --for-rewrite=foo <copy && - git log -1 >actual && + lognotes -1 >actual && test_cmp expect actual ' @@ -1195,16 +1198,16 @@ test_expect_success 'git notes copy --for-rewrite (append two to one)' ' Author: A U Thor <author@example.com> Date: Thu Apr 7 15:27:13 2005 -0700 - ${indent}15th + 15th Notes: - ${indent}a fresh note - ${indent} - ${indent}another fresh note - ${indent} - ${indent}append 1 - ${indent} - ${indent}append 2 + a fresh note + + another fresh note + + append 1 + + append 2 EOF git notes add -f -m"append 1" HEAD^ && git notes add -f -m"append 2" HEAD^^ && @@ -1217,7 +1220,7 @@ test_expect_success 'git notes copy --for-rewrite (append two to one)' ' to=$(git rev-parse HEAD) && echo "$from" "$to" >>copy && git notes copy --for-rewrite=foo <copy && - git log -1 >actual && + lognotes -1 >actual && test_cmp expect actual ' @@ -1229,7 +1232,7 @@ test_expect_success 'git notes copy --for-rewrite (append empty)' ' to=$(git rev-parse HEAD) && echo "$from" "$to" >copy && git notes copy --for-rewrite=foo <copy && - git log -1 >actual && + lognotes -1 >actual && test_cmp expect actual ' @@ -1240,10 +1243,10 @@ test_expect_success 'GIT_NOTES_REWRITE_MODE works' ' Author: A U Thor <author@example.com> Date: Thu Apr 7 15:27:13 2005 -0700 - ${indent}15th + 15th Notes: - ${indent}replacement note 1 + replacement note 1 EOF test_config notes.rewriteMode concatenate && test_config notes.rewriteRef "refs/notes/*" && @@ -1252,7 +1255,7 @@ test_expect_success 'GIT_NOTES_REWRITE_MODE works' ' to=$(git rev-parse HEAD) && echo "$from" "$to" >copy && GIT_NOTES_REWRITE_MODE=overwrite git notes copy --for-rewrite=foo <copy && - git log -1 >actual && + lognotes -1 >actual && test_cmp expect actual ' @@ -1263,10 +1266,10 @@ test_expect_success 'GIT_NOTES_REWRITE_REF works' ' Author: A U Thor <author@example.com> Date: Thu Apr 7 15:27:13 2005 -0700 - ${indent}15th + 15th Notes: - ${indent}replacement note 2 + replacement note 2 EOF git notes add -f -m"replacement note 2" HEAD^ && test_config notes.rewriteMode overwrite && @@ -1276,7 +1279,7 @@ test_expect_success 'GIT_NOTES_REWRITE_REF works' ' echo "$from" "$to" >copy && GIT_NOTES_REWRITE_REF=refs/notes/commits:refs/notes/other \ git notes copy --for-rewrite=foo <copy && - git log -1 >actual && + lognotes -1 >actual && test_cmp expect actual ' @@ -1289,7 +1292,7 @@ test_expect_success 'GIT_NOTES_REWRITE_REF overrides config' ' echo "$from" "$to" >copy && GIT_NOTES_REWRITE_REF=refs/notes/commits \ git notes copy --for-rewrite=foo <copy && - git log -1 >actual && + lognotes -1 >actual && grep "replacement note 3" actual ' @@ -1372,13 +1375,13 @@ EOF test_expect_success 'empty notes are displayed by git log' ' test_commit 17th && - git log -1 >expect && + lognotes -1 >expect && cat >>expect <<-EOF && Notes: EOF git notes add -C "$empty_blob" --allow-empty && - git log -1 >actual && + lognotes -1 >actual && test_cmp expect actual '
These tests care about whether intended notes-related functionality occurred and that `git log` presents the notes in the expected fashion (or, in some cases, that `git log` suppresses the notes). However, the tests hard-code the precise indentation of notes by the default `git log` output, which makes them somewhat brittle since they won't be able to tolerate even minor changes to the presentation. Make the tests a bit more robust by ignoring indentation. Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> --- t/t3301-notes.sh | 321 ++++++++++++++++++++++++----------------------- 1 file changed, 162 insertions(+), 159 deletions(-)