[PATCH 08 of 10 V2] manifest: rename matches to _matches
Martin von Zweigbergk
martinvonz at google.com
Wed Mar 8 15:40:41 EST 2017
On Tue, Mar 7, 2017 at 7:22 PM, Durham Goode <durham at fb.com> wrote:
> # HG changeset patch
> # User Durham Goode <durham at fb.com>
> # Date 1488937983 28800
> # Tue Mar 07 17:53:03 2017 -0800
> # Node ID b76e7da4fb9ab00c3b98e5613d7caa0b4aceaf8b
> # Parent 822259e9f117b11cd54d6a13565a3202b508eae8
> manifest: rename matches to _matches
>
> Now that there are no external consumers of manifest.matches, let's rename it to
> _matches so it remains internal. This means alternative manifest implementations
> no longer have to implement it, and can instead implement efficient versions of
> diff() and filesnotin().
>
> diff --git a/mercurial/manifest.py b/mercurial/manifest.py
> --- a/mercurial/manifest.py
> +++ b/mercurial/manifest.py
> @@ -448,8 +448,8 @@ class manifestdict(object):
> def filesnotin(self, m2, match=None):
> '''Set of files in this manifest that are not in the other'''
> if match:
> - m1 = self.matches(match)
> - m2 = m2.matches(match)
> + m1 = self._matches(match)
> + m2 = m2._matches(match)
> return m1.filesnotin(m2)
> diff = self.diff(m2)
> files = set(filepath
> @@ -510,7 +510,7 @@ class manifestdict(object):
> if not self.hasdir(fn):
> match.bad(fn, None)
>
> - def matches(self, match):
> + def _matches(self, match):
> '''generate a new manifest filtered by the match argument'''
> if match.always():
> return self.copy()
> @@ -543,8 +543,8 @@ class manifestdict(object):
> string.
> '''
> if match:
> - m1 = self.matches(match)
> - m2 = m2.matches(match)
> + m1 = self._matches(match)
> + m2 = m2._matches(match)
> return m1.diff(m2, clean=clean)
> return self._lm.diff(m2._lm, clean)
>
> @@ -917,8 +917,8 @@ class treemanifest(object):
> def filesnotin(self, m2, match=None):
> '''Set of files in this manifest that are not in the other'''
> if match:
> - m1 = self.matches(match)
> - m2 = m2.matches(match)
> + m1 = self._matches(match)
> + m2 = m2._matches(match)
> return m1.filesnotin(m2)
>
> files = set()
> @@ -1002,7 +1002,7 @@ class treemanifest(object):
> for f in self._dirs[p]._walk(match):
> yield f
>
> - def matches(self, match):
> + def _matches(self, match):
The class (treemanifest) already had a _matches() method, so I'll drop
this patch for now. I may queue later patches in the series (still
reviewing).
> '''generate a new manifest filtered by the match argument'''
> if match.always():
> return self.copy()
> @@ -1054,8 +1054,8 @@ class treemanifest(object):
> string.
> '''
> if match:
> - m1 = self.matches(match)
> - m2 = m2.matches(match)
> + m1 = self._matches(match)
> + m2 = m2._matches(match)
> return m1.diff(m2, clean=clean)
> result = {}
> emptytree = treemanifest()
> diff --git a/tests/test-manifest.py b/tests/test-manifest.py
> --- a/tests/test-manifest.py
> +++ b/tests/test-manifest.py
> @@ -233,7 +233,7 @@ class basemanifesttests(object):
> self.assertEqual(want, m['foo'])
> # make sure the suffix survives a copy
> match = matchmod.match('', '', ['re:foo'])
> - m2 = m.matches(match)
> + m2 = m._matches(match)
> self.assertEqual(want, m2['foo'])
> self.assertEqual(1, len(m2))
> m2 = m.copy()
> @@ -255,7 +255,7 @@ class basemanifesttests(object):
> assert False
> return True
> match.matchfn = filt
> - self.assertRaises(AssertionError, m.matches, match)
> + self.assertRaises(AssertionError, m._matches, match)
>
> def testRemoveItem(self):
> m = self.parsemanifest(A_SHORT_MANIFEST)
> @@ -358,7 +358,7 @@ class basemanifesttests(object):
>
> match = matchmod.match('/', '',
> ['file1', 'file200', 'file300'], exact=True)
> - m2 = m.matches(match)
> + m2 = m._matches(match)
>
> w = ('file1\0%sx\n'
> 'file200\0%sl\n'
> @@ -374,7 +374,7 @@ class basemanifesttests(object):
> match = matchmod.match('/', '',
> ['a/b/c/bar.txt', 'a/b/d/qux.py', 'readme.txt', 'nonexistent'],
> exact=True)
> - m2 = m.matches(match)
> + m2 = m._matches(match)
>
> self.assertEqual(
> ['a/b/c/bar.txt', 'a/b/d/qux.py', 'readme.txt'],
> @@ -386,7 +386,7 @@ class basemanifesttests(object):
> m = self.parsemanifest(A_DEEPER_MANIFEST)
>
> match = matchmod.match('/', '', ['a/f'], default='relpath')
> - m2 = m.matches(match)
> + m2 = m._matches(match)
>
> self.assertEqual([], m2.keys())
>
> @@ -397,7 +397,7 @@ class basemanifesttests(object):
>
> flist = m.keys()[80:300]
> match = matchmod.match('/', '', flist, exact=True)
> - m2 = m.matches(match)
> + m2 = m._matches(match)
>
> self.assertEqual(flist, m2.keys())
>
> @@ -406,7 +406,7 @@ class basemanifesttests(object):
> m = self.parsemanifest(A_DEEPER_MANIFEST)
>
> match = matchmod.match('/', '', [''])
> - m2 = m.matches(match)
> + m2 = m._matches(match)
>
> self.assertEqual(m.keys(), m2.keys())
>
> @@ -416,7 +416,7 @@ class basemanifesttests(object):
> m = self.parsemanifest(A_DEEPER_MANIFEST)
>
> match = matchmod.match('/', '', ['a/b'], default='relpath')
> - m2 = m.matches(match)
> + m2 = m._matches(match)
>
> self.assertEqual([
> 'a/b/c/bar.py', 'a/b/c/bar.txt', 'a/b/c/foo.py', 'a/b/c/foo.txt',
> @@ -430,7 +430,7 @@ class basemanifesttests(object):
> m = self.parsemanifest(A_DEEPER_MANIFEST)
>
> match = matchmod.match('/', '', ['a/b'], exact=True)
> - m2 = m.matches(match)
> + m2 = m._matches(match)
>
> self.assertEqual([], m2.keys())
>
> @@ -440,7 +440,7 @@ class basemanifesttests(object):
> m = self.parsemanifest(A_DEEPER_MANIFEST)
>
> match = matchmod.match('/', 'a/b', ['.'], default='relpath')
> - m2 = m.matches(match)
> + m2 = m._matches(match)
>
> self.assertEqual([
> 'a/b/c/bar.py', 'a/b/c/bar.txt', 'a/b/c/foo.py', 'a/b/c/foo.txt',
> @@ -453,7 +453,7 @@ class basemanifesttests(object):
> m = self.parsemanifest(A_DEEPER_MANIFEST)
>
> match = matchmod.match('/', '', ['a/b/*/*.txt'])
> - m2 = m.matches(match)
> + m2 = m._matches(match)
>
> self.assertEqual(
> ['a/b/c/bar.txt', 'a/b/c/foo.txt', 'a/b/d/ten.txt'],
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
More information about the Mercurial-devel
mailing list