# HG changeset patch # User Martin von Zweigbergk # Date 1556123980 25200 # Node ID 38d85ec06552f65515459410fc4a1fa9f0dd0d4b # Parent 7d4ee14ff92d3d6059713902845bc3b3bd6b3ab4 match: drop unnecessary adding of '' to set of dirs This breaks some tests for "rootfilesin:" in a pattern matcher even more, but that just shows how broken that case is. Differential Revision: https://phab.mercurial-scm.org/D6406 diff -r 7d4ee14ff92d -r 38d85ec06552 mercurial/match.py --- a/mercurial/match.py Mon Apr 22 22:43:00 2019 -0700 +++ b/mercurial/match.py Wed Apr 24 09:39:40 2019 -0700 @@ -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 -r 7d4ee14ff92d -r 38d85ec06552 tests/test-match.py --- a/tests/test-match.py Mon Apr 22 22:43:00 2019 -0700 +++ b/tests/test-match.py Wed Apr 24 09:39:40 2019 -0700 @@ -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())