diff -r d93f0b127b6a -r 8aa2a282eda4 mercurial/hg.py --- a/mercurial/hg.py Sun Jul 10 16:02:39 2005 -0800 +++ b/mercurial/hg.py Sun Jul 10 16:03:20 2005 -0800 @@ -397,13 +397,20 @@ if os.path.isdir(f): for dir, subdirs, fl in os.walk(f): d = dir[len(self.root) + 1:] - if ".hg" in subdirs: subdirs.remove(".hg") + if ".hg" in subdirs: + subdirs.remove(".hg") + for sd in subdirs: + if ignore(os.path.join(d, sd + '/')): + subdirs.remove(sd) for fn in fl: fn = util.pconvert(os.path.join(d, fn)) yield fn else: yield f[len(self.root) + 1:] + for k in dc.keys(): + yield k + for fn in util.unique(walk(files)): try: s = os.stat(os.path.join(self.root, fn)) except: continue