equal
deleted
inserted
replaced
79 del self._state[dfile] |
79 del self._state[dfile] |
80 elif not r: |
80 elif not r: |
81 self.mark(dfile, 'r') |
81 self.mark(dfile, 'r') |
82 return r |
82 return r |
83 |
83 |
84 def _checkunknown(wctx, mctx): |
84 def _checkunknown(wctx, mctx, folding): |
85 "check for collisions between unknown files and files in mctx" |
85 "check for collisions between unknown files and files in mctx" |
86 for f in wctx.unknown(): |
86 if folding: |
87 if f in mctx and mctx[f].cmp(wctx[f]): |
87 foldf = util.normcase |
|
88 else: |
|
89 foldf = lambda fn: fn |
|
90 folded = {} |
|
91 for fn in mctx: |
|
92 folded[foldf(fn)] = fn |
|
93 for fn in wctx.unknown(): |
|
94 f = foldf(fn) |
|
95 if f in folded and mctx[folded[f]].cmp(wctx[f]): |
88 raise util.Abort(_("untracked file in working directory differs" |
96 raise util.Abort(_("untracked file in working directory differs" |
89 " from file in requested revision: '%s'") % f) |
97 " from file in requested revision: '%s'") % fn) |
90 |
98 |
91 def _checkcollision(mctx): |
99 def _checkcollision(mctx): |
92 "check for case folding collisions in the destination context" |
100 "check for case folding collisions in the destination context" |
93 folded = {} |
101 folded = {} |
94 for fn in mctx: |
102 for fn in mctx: |
535 overwrite = True |
543 overwrite = True |
536 |
544 |
537 ### calculate phase |
545 ### calculate phase |
538 action = [] |
546 action = [] |
539 wc.status(unknown=True) # prime cache |
547 wc.status(unknown=True) # prime cache |
|
548 folding = not util.checkcase(repo.path) |
540 if not force: |
549 if not force: |
541 _checkunknown(wc, p2) |
550 _checkunknown(wc, p2, folding) |
542 if not util.checkcase(repo.path): |
551 if folding: |
543 _checkcollision(p2) |
552 _checkcollision(p2) |
544 action += _forgetremoved(wc, p2, branchmerge) |
553 action += _forgetremoved(wc, p2, branchmerge) |
545 action += manifestmerge(repo, wc, p2, pa, overwrite, partial) |
554 action += manifestmerge(repo, wc, p2, pa, overwrite, partial) |
546 |
555 |
547 ### apply phase |
556 ### apply phase |