status: remove unreachable code for status between revisions
authorMads Kiilerich <mads@kiilerich.com>
Thu, 24 Feb 2011 14:06:08 +0100
changeset 14150 3a3584967a93
parent 14149 091c86a77d19
child 14151 1fe82c93b8e2
status: remove unreachable code for status between revisions The manifest value of a file will never be false when "not parentworking", and the expensive content comparision would thus fortunately never be reached. (If it was reached it would be wrong for example in case of renames.) This code once handled status against working directory, but that has been done elsewhere for a long time.
mercurial/localrepo.py
tests/test-status.t
--- a/mercurial/localrepo.py	Mon Mar 07 14:47:30 2011 +0100
+++ b/mercurial/localrepo.py	Thu Feb 24 14:06:08 2011 +0100
@@ -1228,8 +1228,7 @@
                 if fn in mf1:
                     if (fn not in deleted and
                         (mf1.flags(fn) != mf2.flags(fn) or
-                         (mf1[fn] != mf2[fn] and
-                          (mf2[fn] or ctx1[fn].cmp(ctx2[fn]))))):
+                         mf1[fn] != mf2[fn])):
                         modified.append(fn)
                     elif listclean:
                         clean.append(fn)
--- a/tests/test-status.t	Mon Mar 07 14:47:30 2011 +0100
+++ b/tests/test-status.t	Thu Feb 24 14:06:08 2011 +0100
@@ -272,3 +272,30 @@
     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