# HG changeset patch # User Oleg Stepanov # Date 1294141991 28800 # Node ID 0b30e6148ec5e672662b714b3012c91d7487996e # Parent b25b5ad0cca8baf2e42f3d358ce8c2645c3ef6a4 subrepo: do not report known files inside repositories as unknown diff -r b25b5ad0cca8 -r 0b30e6148ec5 mercurial/dirstate.py --- a/mercurial/dirstate.py Wed Jan 05 10:57:52 2011 +0100 +++ b/mercurial/dirstate.py Tue Jan 04 03:53:11 2011 -0800 @@ -503,7 +503,7 @@ i, j = 0, 0 while i < len(files) and j < len(subrepos): subpath = subrepos[j] + "/" - if not files[i].startswith(subpath): + if files[i] < subpath: i += 1 continue while files and files[i].startswith(subpath): diff -r b25b5ad0cca8 -r 0b30e6148ec5 tests/test-subrepo.t --- a/tests/test-subrepo.t Wed Jan 05 10:57:52 2011 +0100 +++ b/tests/test-subrepo.t Tue Jan 04 03:53:11 2011 -0800 @@ -656,3 +656,22 @@ adding manifests adding file changes added 1 changesets with 1 changes to 1 files + +Check status of files when none of them belong to the first +subrepository: + + $ hg init subrepo-status + $ cd subrepo-status + $ hg init subrepo-1 + $ hg init subrepo-2 + $ cd subrepo-2 + $ touch file + $ hg add file + $ cd .. + $ echo subrepo-1 = subrepo-1 > .hgsub + $ echo subrepo-2 = subrepo-2 >> .hgsub + $ hg add .hgsub + $ hg ci -m 'Added subrepos' + committing subrepository subrepo-1 + committing subrepository subrepo-2 + $ hg st subrepo-2/file