# HG changeset patch # User Vadim Gelfer # Date 1143853209 28800 # Node ID 5987c1eac2cec3216e5d19553f983acd9cadb393 # Parent 8d9ec30d58bc79bfa3a4a11a006abb11deb65473 support nested repositories. mercurial will not recurse into a subdirectory that contains a .hg directory. it is treated as a separate repository. diff -r 8d9ec30d58bc -r 5987c1eac2ce mercurial/dirstate.py --- a/mercurial/dirstate.py Fri Mar 31 10:52:56 2006 -0800 +++ b/mercurial/dirstate.py Fri Mar 31 17:00:09 2006 -0800 @@ -340,7 +340,13 @@ names.sort() # nd is the top of the repository dir tree nd = util.normpath(top[len(self.root) + 1:]) - if nd == '.': nd = '' + if nd == '.': + nd = '' + else: + hg = bisect.bisect_left(names, '.hg') + if hg < len(names) and names[hg] == '.hg': + if os.path.isdir(os.path.join(top, '.hg')): + continue for f in names: np = util.pconvert(os.path.join(nd, f)) if seen(np): diff -r 8d9ec30d58bc -r 5987c1eac2ce tests/test-nested-repo --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-nested-repo Fri Mar 31 17:00:09 2006 -0800 @@ -0,0 +1,19 @@ +#!/bin/sh + +hg init a +cd a +hg init b +echo x > b/x +echo '# should print nothing' +hg st +echo '# should print ? b/x' +hg st b/x + +hg add b/x + +echo '# should print A b/x' +hg st +echo '# should forget b/x' +hg forget +echo '# should print nothing' +hg st b diff -r 8d9ec30d58bc -r 5987c1eac2ce tests/test-nested-repo.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-nested-repo.out Fri Mar 31 17:00:09 2006 -0800 @@ -0,0 +1,8 @@ +# should print nothing +# should print ? b/x +? b/x +# should print A b/x +A b/x +# should forget b/x +forgetting b/x +# should print nothing