Re: [PATCH v6 1/4] commit test: Use test_config instead of git-config
Caleb Thompson <caleb@calebthompson.io> writes:
> Some of the tests in t/t7507-commit-verbose.sh were still using
> git-config to set configuration. Change them to use the test_config
> helper.
"were still using" is only a half of the story, and we need to be more careful than that, though.
Show 16 quoted lines
> Signed-off-by: Caleb Thompson <caleb@calebthompson.io>
> Reviewed-by: Jeremiah Mahler <jmmahler@gmail.com>
> ---
> t/t7507-commit-verbose.sh | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/t/t7507-commit-verbose.sh b/t/t7507-commit-verbose.sh
> index 2ddf28c..6d778ed 100755
> --- a/t/t7507-commit-verbose.sh
> +++ b/t/t7507-commit-verbose.sh
> @@ -43,7 +43,7 @@ test_expect_success 'verbose diff is stripped out' '
> '
>
> test_expect_success 'verbose diff is stripped out (mnemonicprefix)' '
> - git config diff.mnemonicprefix true &&
> + test_config diff.mnemonicprefix true &&
By switching to test_config, you unconfigure the diff.mnemonicprefix configuration after this test piece is done. The next one, "diff in message is retained with -v", used to show the change using c/ and i/ as prefixes in the log editor, but now it should be showing a/ and b/.
Have you thought about the reason why the log message used in that test uses c/ and i/ prefixes as a sample patch to be retained, instead of a/ and b/ prefixes? It is to make sure that this in-message patch looks similar to the diff for "--verbose" option, and we used to do the latter under mnemonicprefix. That way, we would be more sure that an incorrect implementation that cuts the result given from the editor at "diff --git $srcprefix/" will fail the test.
This is the kind of thing I mean by "we need to be more careful".
If somebody who is doing "git config to test_config" conversion understands what he is doing, I would have expected to see that these c/ and i/ prefixes in the sample log message are replaced to use a/ and b/ prefixes.
Show 12 quoted lines
> git commit --amend -v &&
> check_message message
> '
> @@ -71,7 +71,7 @@ test_expect_success 'diff in message is retained with -v' '
> '
>
> test_expect_success 'submodule log is stripped out too with -v' '
> - git config diff.submodule log &&
> + test_config diff.submodule log &&
> git submodule add ./. sub &&
> git commit -m "sub added" &&
> (
Can we make a similar reasoning on possible fallout from this change? An expected answer would be something like:
The remaining test pieces after this one does not make any
change before running "commit -a -v", so having diff.submodule
set to log or unset does not make any difference to them.