[email protected] writes:
> From: Torsten Bögershausen <[email protected]>
>
> When a non-reversible CRLF conversion is done in "git add",
> a warning is printed on stderr (or Git dies, depending on checksafe)
>
> The function commit_chk_wrnNNO() in t0027 was written to test this,
> but did the wrong thing: Instead of looking at the warning
> from "git add", it looked at the warning from "git commit".
>
> This is racy because "git commit" may not have to do CRLF conversion
> at all if it can use the sha1 value from the index (which depends on
> whether "add" and "commit" run in a single second).
>
> Correct this and replace the commit for each and every file with a commit
> of all files in one go.
>
> The function commit_chk_wrnNNO() will to be renamed in a separate commit.
> Thanks to Jeff King <[email protected]> for analyzing t0027.
>
> Reported-By: Johannes Schindelin <[email protected]>
> ---
Missing sign-off. The reasoning above looks very clearly explained.
Thanks.
> t/t0027-auto-crlf.sh | 14 +++++++-------
> 1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/t/t0027-auto-crlf.sh b/t/t0027-auto-crlf.sh
> index 2860d2d..ab6e962 100755
> --- a/t/t0027-auto-crlf.sh
> +++ b/t/t0027-auto-crlf.sh
> @@ -119,8 +119,7 @@ commit_chk_wrnNNO () {
> fname=${pfx}_$f.txt &&
> cp $f $fname &&
> printf Z >>"$fname" &&
> - git -c core.autocrlf=$crlf add $fname 2>/dev/null &&
> - git -c core.autocrlf=$crlf commit -m "commit_$fname" $fname
> >"${pfx}_$f.err" 2>&1
> + git -c core.autocrlf=$crlf add $fname 2>"${pfx}_$f.err"
> done
>
> test_expect_success "commit NNO files crlf=$crlf attr=$attr LF" '
> @@ -394,11 +393,11 @@ test_expect_success 'commit files attr=crlf' '
>
> # attr LF CRLF CRLFmixLF
> LF_mix_CR CRLFNUL
> commit_chk_wrnNNO "" "" false "" "" "" ""
> ""
> -commit_chk_wrnNNO "" "" true LF_CRLF "" "" ""
> ""
> +commit_chk_wrnNNO "" "" true "" "" "" ""
> ""
> commit_chk_wrnNNO "" "" input "" "" "" ""
> ""
>
> -commit_chk_wrnNNO "auto" "" false "$WILC" "" "" ""
> ""
> -commit_chk_wrnNNO "auto" "" true LF_CRLF "" "" ""
> ""
> +commit_chk_wrnNNO "auto" "" false "" "" "" ""
> ""
> +commit_chk_wrnNNO "auto" "" true "" "" "" ""
> ""
> commit_chk_wrnNNO "auto" "" input "" "" "" ""
> ""
> for crlf in true false input
> do
> @@ -408,7 +407,7 @@ do
> commit_chk_wrnNNO "" lf $crlf "" CRLF_LF CRLF_LF
> "" CRLF_LF
> commit_chk_wrnNNO "" crlf $crlf LF_CRLF "" LF_CRLF
> LF_CRLF ""
> commit_chk_wrnNNO auto lf $crlf "" "" ""
> "" ""
> - commit_chk_wrnNNO auto crlf $crlf LF_CRLF "" ""
> "" ""
> + commit_chk_wrnNNO auto crlf $crlf "" "" ""
> "" ""
> commit_chk_wrnNNO text lf $crlf "" CRLF_LF CRLF_LF
> "" CRLF_LF
> commit_chk_wrnNNO text crlf $crlf LF_CRLF "" LF_CRLF
> LF_CRLF ""
> done
> @@ -417,7 +416,8 @@ commit_chk_wrnNNO "text" "" false "$WILC"
> "$WICL" "$WAMIX" "$WILC
> commit_chk_wrnNNO "text" "" true LF_CRLF "" LF_CRLF
> LF_CRLF ""
> commit_chk_wrnNNO "text" "" input "" CRLF_LF CRLF_LF ""
> CRLF_LF
>
> -test_expect_success 'create files cleanup' '
> +test_expect_success 'commit NNO and cleanup' '
> + git commit -m "commit files on top of NNO" &&
> rm -f *.txt &&
> git -c core.autocrlf=false reset --hard
> '
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html