mercurial/subrepo.py
branchstable
changeset 11470 34e33d50c26b
parent 11463 f0ea93557133
child 11559 9d88597470af
child 11571 636554d58665
--- a/mercurial/subrepo.py	Wed Jun 30 18:15:23 2010 -0500
+++ b/mercurial/subrepo.py	Wed Jun 30 23:56:35 2010 -0500
@@ -67,11 +67,13 @@
         repo.ui.debug("  subrepo %s: %s %s\n" % (s, msg, r))
 
     for s, l in s1.items():
+        a = sa.get(s, nullstate)
         ld = l # local state with possible dirty flag for compares
-        if wctx != actx and wctx.sub(s).dirty():
+        if wctx.sub(s).dirty():
             ld = (l[0], l[1] + "+")
+        if wctx == actx: # overwrite
+            a = ld
 
-        a = sa.get(s, nullstate)
         if s in s2:
             r = s2[s]
             if ld == r or r == a: # no change or local is newer