diff mercurial/dirstate.py @ 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 a59da8cc35e4
children 5460f0196f77
line wrap: on
line diff
--- a/mercurial/dirstate.py
+++ b/mercurial/dirstate.py
@@ -340,7 +340,13 @@ class dirstate(object):
                 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):