# HG changeset patch # User FUJIWARA Katsunori # Date 1367870651 -32400 # Node ID 24877c50aadacd6ec1909d44b03c6f4922ac611d # Parent 0848be1f1aad3eb8e8c5cace140616cd7b70ada8 largefiles: check unknown files with case awareness of the filesystem Before this patch, largefiles extension checks unknown files in the working directory always case sensitively. This causes failure in updating from the revision X consisting of '.hglf/A' (and "A" implicitly) to the revision Y consisting of 'a' (not ".hglf/A") on case insensitive filesystem, because "A" in the working directory is treated as colliding against and different from 'a' on the revision Y. This patch uses "repo.dirstate.normalize()" to check unknown files with case awareness of the filesystem. diff -r 0848be1f1aad -r 24877c50aada hgext/largefiles/overrides.py --- a/hgext/largefiles/overrides.py Tue May 07 05:04:11 2013 +0900 +++ b/hgext/largefiles/overrides.py Tue May 07 05:04:11 2013 +0900 @@ -333,7 +333,7 @@ # largefiles. This makes the merge proceed and we can then handle this # case further in the overridden manifestmerge function below. def overridecheckunknownfile(origfn, repo, wctx, mctx, f): - if lfutil.standin(f) in wctx: + if lfutil.standin(repo.dirstate.normalize(f)) in wctx: return False return origfn(repo, wctx, mctx, f) diff -r 0848be1f1aad -r 24877c50aada tests/test-casefolding.t --- a/tests/test-casefolding.t Tue May 07 05:04:11 2013 +0900 +++ b/tests/test-casefolding.t Tue May 07 05:04:11 2013 +0900 @@ -128,6 +128,8 @@ $ hg update -q -C 0 $ hg status -A C a + $ hg update -q -C 3 + $ hg update -q 0 $ cd ..