diff -r c0a8f9dea0f6 -r ecab10820983 mercurial/localrepo.py --- a/mercurial/localrepo.py Tue Sep 07 16:23:55 2010 +0200 +++ b/mercurial/localrepo.py Tue Sep 07 16:34:07 2010 +0200 @@ -1161,14 +1161,7 @@ r = modified, added, removed, deleted, unknown, ignored, clean if listsubrepos: - # Create a (subpath, ctx) mapping where we prefer subpaths - # from ctx1. The subpaths from ctx2 are important when the - # .hgsub file has been modified (in ctx2) but not yet - # committed (in ctx1). - subpaths = dict.fromkeys(ctx2.substate, ctx2) - subpaths.update(dict.fromkeys(ctx1.substate, ctx1)) - for subpath, ctx in subpaths.iteritems(): - sub = ctx.sub(subpath) + for subpath, sub in subrepo.itersubrepos(ctx1, ctx2): if working: rev2 = None else: