# HG changeset patch # User mpm@selenic.com # Date 1122130856 18000 # Node ID 20e95c245bc304f6069e9bb7539f5f3c87b39a75 # Parent 61ed30e82b2775c87a0fc50bb66b43c863b10628 Fix local file changes being ignored after non-branch merge Bug introduced in eea96285cbf9 Spotted by TAH diff -r 61ed30e82b27 -r 20e95c245bc3 mercurial/hg.py --- a/mercurial/hg.py Fri Jul 22 19:46:02 2005 -0800 +++ b/mercurial/hg.py Sat Jul 23 10:00:56 2005 -0500 @@ -1506,7 +1506,9 @@ m, o, flag = merge[f] self.merge3(f, m, o) util.set_exec(self.wjoin(f), flag) - if moddirstate: + if moddirstate and mode == 'm': + # only update dirstate on branch merge, otherwise we + # could mark files with changes as unchanged self.dirstate.update([f], mode) remove.sort() diff -r 61ed30e82b27 -r 20e95c245bc3 tests/test-up-local-change.out --- a/tests/test-up-local-change.out Fri Jul 22 19:46:02 2005 -0800 +++ b/tests/test-up-local-change.out Sat Jul 23 10:00:56 2005 -0500 @@ -70,3 +70,9 @@ + hg diff + sed 's/\(\(---\|+++\).*\)\t.*/\1/' +diff -r 1e71731e6fbb a +--- a/a ++++ b/a +@@ -1,1 +1,1 @@ +-a2 ++abc