From: Junio C Hamano Date: Mon, 25 Apr 2016 19:15:05 GMT Subject: Re: [PATCH v7 01/10] t0027: Make commit_chk_wrnNNO() reliable Message-ID: In-Reply-To: <1461603387-30639-1-git-send-email-tboegi@web.de> tboegi@web.de writes: > From: Torsten Bögershausen > > 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). > When the files are compared later in checkout_files(), the "Z" is removed > before the comparison. > > Signed-off-by: Torsten Bögershausen > --- > 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