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.