diff --git a/mercurial/match.py b/mercurial/match.py --- a/mercurial/match.py +++ b/mercurial/match.py @@ -533,7 +533,7 @@ @propertycache def _dirs(self): - return set(util.dirs(self._fileset)) | {''} + return set(util.dirs(self._fileset)) def visitdir(self, dir): dir = normalizerootdir(dir, 'visitdir') @@ -691,7 +691,7 @@ @propertycache def _dirs(self): - return set(util.dirs(self._fileset)) | {''} + return set(util.dirs(self._fileset)) def visitdir(self, dir): dir = normalizerootdir(dir, 'visitdir') @@ -1007,7 +1007,7 @@ @propertycache def _pathdirs(self): - return set(util.finddirs(self._path)) | {''} + return set(util.finddirs(self._path)) def visitdir(self, dir): if dir == self._path: diff --git a/tests/test-match.py b/tests/test-match.py --- a/tests/test-match.py +++ b/tests/test-match.py @@ -84,21 +84,21 @@ def testVisitdirRootfilesin(self): m = matchmod.match(b'x', b'', patterns=[b'rootfilesin:dir/subdir']) assert isinstance(m, matchmod.patternmatcher) - self.assertTrue(m.visitdir(b'')) self.assertFalse(m.visitdir(b'dir/subdir/x')) self.assertFalse(m.visitdir(b'folder')) # FIXME: These should probably be True. + self.assertFalse(m.visitdir(b'')) self.assertFalse(m.visitdir(b'dir')) self.assertFalse(m.visitdir(b'dir/subdir')) def testVisitchildrensetRootfilesin(self): m = matchmod.match(b'x', b'', patterns=[b'rootfilesin:dir/subdir']) assert isinstance(m, matchmod.patternmatcher) - self.assertEqual(m.visitchildrenset(b''), b'this') self.assertEqual(m.visitchildrenset(b'dir/subdir/x'), set()) self.assertEqual(m.visitchildrenset(b'folder'), set()) - # FIXME: These should probably be {'subdir'} and 'this', respectively, - # or at least 'this' and 'this'. + # FIXME: These should probably be {'dir'}, {'subdir'} and 'this', + # respectively, or at least 'this' for all three. + self.assertEqual(m.visitchildrenset(b''), set()) self.assertEqual(m.visitchildrenset(b'dir'), set()) self.assertEqual(m.visitchildrenset(b'dir/subdir'), set())