##// END OF EJS Templates
match: fix a caseonly rename + explicit path commit on icasefs (issue4768)...
Matt Harbison -
r26000:9ac4e81b stable
parent child Browse files
Show More
@@ -386,7 +386,8 b' class icasefsmatcher(match):'
386 386 def __init__(self, root, cwd, patterns, include, exclude, default, auditor,
387 387 ctx, listsubrepos=False, badfn=None):
388 388 init = super(icasefsmatcher, self).__init__
389 self._dsnormalize = ctx.repo().dirstate.normalize
389 self._dirstate = ctx.repo().dirstate
390 self._dsnormalize = self._dirstate.normalize
390 391
391 392 init(root, cwd, patterns, include, exclude, default, auditor=auditor,
392 393 ctx=ctx, listsubrepos=listsubrepos, badfn=badfn)
@@ -402,7 +403,13 b' class icasefsmatcher(match):'
402 403 kindpats = []
403 404 for kind, pats, source in self._kp:
404 405 if kind not in ('re', 'relre'): # regex can't be normalized
406 p = pats
405 407 pats = self._dsnormalize(pats)
408
409 # Preserve the original to handle a case only rename.
410 if p != pats and p in self._dirstate:
411 kindpats.append((kind, p, source))
412
406 413 kindpats.append((kind, pats, source))
407 414 return kindpats
408 415
@@ -232,9 +232,17 b' and OS X'
232 232 -xyz
233 233 +def
234 234
235 $ hg mv CapsDir1/CapsDir/abc.txt CapsDir1/CapsDir/ABC.txt
236 moving CapsDir1/CapsDir/AbC.txt to CapsDir1/CapsDir/ABC.txt (glob)
237 $ hg ci -m "case changing rename" CapsDir1/CapsDir/AbC.txt CapsDir1/CapsDir/ABC.txt
238
239 $ hg status -A capsdir1/capsdir
240 M CapsDir1/CapsDir/SubDir/Def.txt
241 C CapsDir1/CapsDir/ABC.txt
242
235 243 $ hg remove -f 'glob:**.txt' -X capsdir1/capsdir
236 244 $ hg remove -f 'glob:**.txt' -I capsdir1/capsdir
237 removing CapsDir1/CapsDir/AbC.txt (glob)
245 removing CapsDir1/CapsDir/ABC.txt (glob)
238 246 removing CapsDir1/CapsDir/SubDir/Def.txt (glob)
239 247 #endif
240 248
General Comments 0
You need to be logged in to leave comments. Login now