--- 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