t4111 (apply): refresh index before applying patches to it
authorJonathan Nieder <jrnieder@gmail.com>
Fri, 30 Jul 2010 18:31:22 +0000 (13:31 -0500)
committerJunio C Hamano <gitster@pobox.com>
Wed, 4 Aug 2010 18:21:14 +0000 (11:21 -0700)
"git apply", like most plumbing, does not automatically refresh the
index file even if it is only stat-dirty.  So unless the two "cp"
commands in reset_preimage() for a given file happen to have the same
time stamp, there will be a spurious

error: sub/dir/file: does not match index

Refresh the index to eliminate this timing dependency.  Noticed by
running the test with --valgrind (which slows things down a lot).

Reported-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t4111-apply-subdir.sh

index 60c223750f64dc9c1148eea9dc4bad19dec5f3da..d6271ae34bc67c206d5d2f276696d140a4f17d9b 100755 (executable)
@@ -36,7 +36,8 @@ test_expect_success 'setup: subdir' '
                cp "$2" file &&
                cp "$2" sub/dir/file &&
                cp "$2" sub/dir/b/file &&
-               cp "$2" objects/file
+               cp "$2" objects/file &&
+               test_might_fail git update-index --refresh -q
        }
 '