Mercurial > hg
comparison hgext/largefiles/overrides.py @ 19161:24877c50aada stable
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.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Tue, 07 May 2013 05:04:11 +0900 |
parents | 2a35296a6304 |
children | c58b6ab4c26f |
comparison
equal
deleted
inserted
replaced
19160:0848be1f1aad | 19161:24877c50aada |
---|---|
331 # | 331 # |
332 # The overridden function filters the unknown files by removing any | 332 # The overridden function filters the unknown files by removing any |
333 # largefiles. This makes the merge proceed and we can then handle this | 333 # largefiles. This makes the merge proceed and we can then handle this |
334 # case further in the overridden manifestmerge function below. | 334 # case further in the overridden manifestmerge function below. |
335 def overridecheckunknownfile(origfn, repo, wctx, mctx, f): | 335 def overridecheckunknownfile(origfn, repo, wctx, mctx, f): |
336 if lfutil.standin(f) in wctx: | 336 if lfutil.standin(repo.dirstate.normalize(f)) in wctx: |
337 return False | 337 return False |
338 return origfn(repo, wctx, mctx, f) | 338 return origfn(repo, wctx, mctx, f) |
339 | 339 |
340 # The manifest merge handles conflicts on the manifest level. We want | 340 # The manifest merge handles conflicts on the manifest level. We want |
341 # to handle changes in largefile-ness of files at this level too. | 341 # to handle changes in largefile-ness of files at this level too. |