Mercurial > hg
comparison mercurial/merge.py @ 16492:774e2dcd0a65 stable
update: fix case-collision with a clean wd and no --clean
cbf2ea2f5ca1 introduced some logic to avoid case-collision detection between
source and destination revisions when it does not make sense: clean or to be
cleaned working directories. Unfortunately, part of it was flawed and the
related test was broken by another bug.
This patch disables cross revision case collision detection for updates without
option or with --check, if the working directory is clean.
author | Patrick Mezard <patrick@mezard.eu> |
---|---|
date | Mon, 23 Apr 2012 14:32:59 +0200 |
parents | cbf2ea2f5ca1 |
children | 11212babc690 |
comparison
equal
deleted
inserted
replaced
16491:bfe89d65d651 | 16492:774e2dcd0a65 |
---|---|
575 ### calculate phase | 575 ### calculate phase |
576 action = [] | 576 action = [] |
577 folding = not util.checkcase(repo.path) | 577 folding = not util.checkcase(repo.path) |
578 if folding: | 578 if folding: |
579 # collision check is not needed for clean update | 579 # collision check is not needed for clean update |
580 if not branchmerge and force: | 580 if (not branchmerge and |
581 (force or not wc.dirty(missing=True, branch=False))): | |
581 _checkcollision(p2, None) | 582 _checkcollision(p2, None) |
582 else: | 583 else: |
583 _checkcollision(p2, wc) | 584 _checkcollision(p2, wc) |
584 if not force: | 585 if not force: |
585 _checkunknown(repo, wc, p2) | 586 _checkunknown(repo, wc, p2) |