diff options
author | Junio C Hamano <gitster@pobox.com> | 2016-08-10 11:55:30 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-08-10 11:55:30 -0700 |
commit | f7fb6e21b8f392f97fd35da41a31078fe6641b2a (patch) | |
tree | adf2537def860c0cd83d2d1958e0a6f78cd3541f | |
parent | Merge branch 'ab/gitweb-link-html-escape' into maint (diff) | |
parent | t7063: work around FreeBSD's lazy mtime update feature (diff) | |
download | tgif-f7fb6e21b8f392f97fd35da41a31078fe6641b2a.tar.xz |
Merge branch 'nd/fbsd-lazy-mtime' into maint
FreeBSD can lie when asked mtime of a directory, which made the
untracked cache code to fall back to a slow-path, which in turn
caused tests in t7063 to fail because it wanted to verify the
behaviour of the fast-path.
* nd/fbsd-lazy-mtime:
t7063: work around FreeBSD's lazy mtime update feature
-rwxr-xr-x | t/t7063-status-untracked-cache.sh | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/t/t7063-status-untracked-cache.sh b/t/t7063-status-untracked-cache.sh index a828a5f3b4..4e1e290a9f 100755 --- a/t/t7063-status-untracked-cache.sh +++ b/t/t7063-status-untracked-cache.sh @@ -4,6 +4,20 @@ test_description='test untracked cache' . ./test-lib.sh +# On some filesystems (e.g. FreeBSD's ext2 and ufs) directory mtime +# is updated lazily after contents in the directory changes, which +# forces the untracked cache code to take the slow path. A test +# that wants to make sure that the fast path works correctly should +# call this helper to make mtime of the containing directory in sync +# with the reality before checking the fast path behaviour. +# +# See <20160803174522.5571-1-pclouds@gmail.com> if you want to know +# more. + +sync_mtime () { + find . -type d -ls >/dev/null +} + avoid_racy() { sleep 1 } @@ -416,7 +430,8 @@ test_expect_success 'create/modify files, some of which are gitignored' ' echo four >done/four && # four is gitignored at a higher level echo five >done/five && # five is not gitignored echo test >base && #we need to ensure that the root dir is touched - rm base + rm base && + sync_mtime ' test_expect_success 'test sparse status with untracked cache' ' |