mirror of
https://github.com/facebook/sapling.git
synced 2024-10-06 23:07:18 +03:00
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.
This commit is contained in:
parent
1d7c1875df
commit
72d4082125
@ -333,7 +333,7 @@ def overrideupdate(orig, ui, repo, *pats, **opts):
|
||||
# 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)
|
||||
|
||||
|
@ -128,6 +128,8 @@ unlinked by largefiles extension.
|
||||
$ hg update -q -C 0
|
||||
$ hg status -A
|
||||
C a
|
||||
$ hg update -q -C 3
|
||||
$ hg update -q 0
|
||||
|
||||
$ cd ..
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user