diff -r 77e121a0d870 -r 89985a1b3427 mercurial/hg.py --- a/mercurial/hg.py Sun Jul 31 17:31:15 2005 -0800 +++ b/mercurial/hg.py Sun Jul 31 17:42:46 2005 -0800 @@ -446,11 +446,12 @@ if os.path.isdir(f): for dir, subdirs, fl in os.walk(f): d = dir[len(self.root) + 1:] - if d == '.hg': + nd = os.path.normpath(d) + if nd == '.hg': subdirs[:] = [] continue for sd in subdirs: - ds = os.path.join(d, sd +'/') + ds = os.path.join(nd, sd +'/') if self.ignore(ds) or not match(ds): subdirs.remove(sd) for fn in fl: @@ -466,6 +467,7 @@ # not in .hgignore for src, fn in util.unique(traverse()): + fn = os.path.normpath(fn) if fn in dc: del dc[fn] elif self.ignore(fn): @@ -868,7 +870,7 @@ def walk(self, node = None, files = [], match = util.always): if node: for fn in self.manifest.read(self.changelog.read(node)[0]): - yield 'm', fn + if match(fn): yield 'm', fn else: for src, fn in self.dirstate.walk(files, match): yield src, fn