Show More
@@ -478,6 +478,17 b' def _checkcollision(repo, wmf, actions):' | |||||
478 | % (f, foldmap[fold])) |
|
478 | % (f, foldmap[fold])) | |
479 | foldmap[fold] = f |
|
479 | foldmap[fold] = f | |
480 |
|
480 | |||
|
481 | # check case-folding of directories | |||
|
482 | foldprefix = unfoldprefix = lastfull = '' | |||
|
483 | for fold, f in sorted(foldmap.items()): | |||
|
484 | if fold.startswith(foldprefix) and not f.startswith(unfoldprefix): | |||
|
485 | # the folded prefix matches but actual casing is different | |||
|
486 | raise error.Abort(_("case-folding collision between " | |||
|
487 | "%s and directory of %s") % (lastfull, f)) | |||
|
488 | foldprefix = fold + '/' | |||
|
489 | unfoldprefix = f + '/' | |||
|
490 | lastfull = f | |||
|
491 | ||||
481 | def manifestmerge(repo, wctx, p2, pa, branchmerge, force, partial, |
|
492 | def manifestmerge(repo, wctx, p2, pa, branchmerge, force, partial, | |
482 | acceptremote, followcopies): |
|
493 | acceptremote, followcopies): | |
483 | """ |
|
494 | """ |
@@ -212,7 +212,7 b' Directory/file case-folding collision:' | |||||
212 | $ hg ci -Aqm1 |
|
212 | $ hg ci -Aqm1 | |
213 |
|
213 | |||
214 | $ hg merge 0 |
|
214 | $ hg merge 0 | |
215 | abort: Not a directory: '$TESTTMP/directory-casing/aA/a' |
|
215 | abort: case-folding collision between Aa and directory of aA/a | |
216 | [255] |
|
216 | [255] | |
217 | (note: no collision between 0 and 00 or 000/f) |
|
217 | (note: no collision between 0 and 00 or 000/f) | |
218 |
|
218 |
General Comments 0
You need to be logged in to leave comments.
Login now