mirror of
https://github.com/git/git.git
synced 2024-12-12 11:24:02 +08:00
t0027: make commit_chk_wrnNNO() reliable
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 single "Z" character to change the file size and content. 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> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
90f7b16b3a
commit
ded2444ad8
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user