Mercurial > hg-stable
changeset 2061:5987c1eac2ce
support nested repositories.
mercurial will not recurse into a subdirectory that contains a .hg
directory. it is treated as a separate repository.
author | Vadim Gelfer <vadim.gelfer@gmail.com> |
---|---|
date | Fri, 31 Mar 2006 17:00:09 -0800 |
parents | 8d9ec30d58bc |
children | 5460f0196f77 |
files | mercurial/dirstate.py tests/test-nested-repo tests/test-nested-repo.out |
diffstat | 3 files changed, 34 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- 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):
--- /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