# HG changeset patch # User Mads Kiilerich <mads@kiilerich.com> # Date 1304272288 -7200 # Sun May 01 19:51:28 2011 +0200 # Node ID 921683f14ad7a63ee30e067cdbaf5977926a673f # Parent 497493b777ad06486ffc03f858d6dce2ff7dbcf6 backout 3a3584967a93 - the "unreachable code" was apparently not unreachable All tests repeatedly passes with 3a3584967a93 on some machines, but on other machines it regularly causes failure in test-mv-cp-st-diff.t, such as: @@ -203,6 +203,7 @@ - working to root: --rev 0 M a + M x/x A b a diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -1228,7 +1228,8 @@ if fn in mf1: if (fn not in deleted and (mf1.flags(fn) != mf2.flags(fn) or - mf1[fn] != mf2[fn])): + (mf1[fn] != mf2[fn] and + (mf2[fn] or ctx1[fn].cmp(ctx2[fn]))))): modified.append(fn) elif listclean: clean.append(fn) diff --git a/tests/test-status.t b/tests/test-status.t --- a/tests/test-status.t +++ b/tests/test-status.t @@ -272,30 +272,3 @@ modified R removed C deleted - -hg status between revisions: - - $ echo c1 > f1 - $ hg ci -Amm f1 - $ echo c2 > f1 - $ echo c1 > f2 - $ hg ci -Amm f1 f2 - $ echo c1 > f1 - $ hg st --rev -1:. - M f1 - $ hg st --rev -2:. - M f1 - A f2 - $ hg ci -Amm f1 - $ hg st --rev -1:-3 - M f1 - R f2 - $ hg st --rev -3:-1 - M f1 - A f2 - $ hg diff --rev -3:-1 - diff -r c861ab34bf5f -r 168d05852219 f2 - --- /dev/null Thu Jan 01 00:00:00 1970 +0000 - +++ b/f2 Thu Jan 01 00:00:00 1970 +0000 - @@ -0,0 +1,1 @@ - +c1