diff -r 505f64bb58af -r 1849b6147831 mercurial/dirstate.py --- a/mercurial/dirstate.py Fri Sep 03 12:58:51 2010 +0200 +++ b/mercurial/dirstate.py Fri Sep 03 12:58:51 2010 +0200 @@ -498,6 +498,8 @@ skipstep3 = True files = set(match.files()) + for s in subrepos: + files = [f for f in files if not f.startswith(s + "/")] if not files or '.' in files: files = [''] results = dict.fromkeys(subrepos)