t3301: fix false negative

In 6956f858f6 (notes: implement helpers needed for note copying during rewrite, 2010-03-12), we introduced a test case that verifies that the config setting `notes.rewriteRef` can be overridden via the environment variable `GIT_NOTES_REWRITE_REF`. Back when it was introduced, it relied on a side effect of an earlier test case that configured `core.noteRef` to point to `refs/notes/other`. In 908a320363 (t3301: modernize style, 2014-11-12), this side effect was removed. The test case *still* passed, but for the wrong reason: we no longer overrode the rewrite ref, but there simply was nothing to rewrite anymore, as the overridden notes ref was "modernized" away. Let's let that test case pass for the correct reason again. To make sure of that, let's change the idea of the original test case: it configured `notes.rewriteRef` to point to the actual notes ref, forced that to be ignored and then verified that the notes were *not* rewritten. By turning that idea upside down (configure the `notes.rewriteRef` to another notes ref, override it via the environment variable to force the notes to be copied, and then verify that the notes *were* rewritten), we make it much harder for that test case to pass for the wrong reason. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Johannes Schindelin committed Apr 9, 2019 at 03:41 UTC dbe7b4101927ad0d45a12b92163626900fce5173
1 file changed +3 -2
t/t3301-notes.sh
+3 -2
@@ -1120,9 +1120,10 @@ test_expect_success 'GIT_NOTES_REWRITE_REF overrides config' '
1120 test_config notes.rewriteMode overwrite &&
1121 test_config notes.rewriteRef refs/notes/other &&
1122 echo $(git rev-parse HEAD^) $(git rev-parse HEAD) |
1123 - GIT_NOTES_REWRITE_REF= git notes copy --for-rewrite=foo &&
1123 + GIT_NOTES_REWRITE_REF=refs/notes/commits \
1124 + git notes copy --for-rewrite=foo &&
1125 git log -1 >actual &&
1125 - test_cmp expect actual
1126 + grep "replacement note 3" actual
1127 '
1128
1129 test_expect_success 'git notes copy diagnoses too many or too few parameters' '