Re: [PATCH v7 01/10] t0027: Make commit_chk_wrnNNO() reliable
Show 8 quoted lines
> From: Torsten Bögershausen <tboegi@web.de>
>
> When the content of a commited file is unchanged and the attributes are changed,
> Git may not detect that the next commit must treat the file as changed.
> This happens when lstat() doesn't detect a change, since neither inode,
> mtime nor size are changed.
>
> Add a singe "Z" character to change the file size (and content).
singLe (no need to reroll for this nit; locally fixed already).
Show 29 quoted lines
> When the files are compared later in checkout_files(), the "Z" is removed
> before the comparison.
>
> Signed-off-by: Torsten Bögershausen <tboegi@web.de>
> ---
> Change since v6b:
> - Remove 2 sparse warnings, thanks Ramsay
>
> diff --git a/t/t0027-auto-crlf.sh b/t/t0027-auto-crlf.sh
> index f33962b..9fe539b 100755
> --- a/t/t0027-auto-crlf.sh
> +++ b/t/t0027-auto-crlf.sh
> @@ -12,7 +12,7 @@ fi
>
> compare_files () {
> tr '\015\000' QN <"$1" >"$1".expect &&
> - tr '\015\000' QN <"$2" >"$2".actual &&
> + tr '\015\000' QN <"$2" | tr -d 'Z' >"$2".actual &&
> test_cmp "$1".expect "$2".actual &&
> rm "$1".expect "$2".actual
> }
> @@ -114,6 +114,7 @@ commit_chk_wrnNNO () {
> do
> 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
> done