diff --git a/mercurial/match.py b/mercurial/match.py --- a/mercurial/match.py +++ b/mercurial/match.py @@ -910,6 +910,7 @@ class prefixdirmatcher(basematcher): return self._matcher.visitchildrenset(dir[len(self._pathprefix):]) if dir in self._pathdirs: return 'this' + return set() def isexact(self): return self._matcher.isexact() diff --git a/tests/test-match.py b/tests/test-match.py --- a/tests/test-match.py +++ b/tests/test-match.py @@ -97,6 +97,8 @@ class PatternMatcherTests(unittest.TestC self.assertEqual(m.visitchildrenset('.'), 'this') self.assertEqual(m.visitchildrenset('dir/subdir/x'), set()) self.assertEqual(m.visitchildrenset('folder'), set()) + # FIXME: These should probably be {'subdir'} and 'this', respectively, + # or at least 'this' and 'this'. self.assertEqual(m.visitchildrenset('dir'), set()) self.assertEqual(m.visitchildrenset('dir/subdir'), set())