Mercurial > hg
changeset 14669:2d2604adfdd6
context: add a match builder method
This is groundwork for matching against filesets in contexts
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Sat, 18 Jun 2011 16:52:51 -0500 |
parents | 2d6f1b2c6a82 |
children | 19197fa4c41c |
files | mercurial/context.py mercurial/scmutil.py |
diffstat | 2 files changed, 8 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/context.py Fri Jun 17 18:24:54 2011 -0300 +++ b/mercurial/context.py Sat Jun 18 16:52:51 2011 -0500 @@ -8,6 +8,7 @@ from node import nullid, nullrev, short, hex from i18n import _ import ancestor, bdiff, error, util, scmutil, subrepo, patch, encoding +import match as matchmod import os, errno, stat propertycache = util.propertycache @@ -208,6 +209,11 @@ def sub(self, path): return subrepo.subrepo(self, path) + def match(self, pats=[], include=None, exclude=None, default='glob'): + r = self._repo + return matchmod.match(r.root, r.getcwd(), pats, + include, exclude, default, auditor=r.auditor) + def diff(self, ctx2=None, match=None, **opts): """Returns a diff generator for the given contexts and matcher""" if ctx2 is None:
--- a/mercurial/scmutil.py Fri Jun 17 18:24:54 2011 -0300 +++ b/mercurial/scmutil.py Sat Jun 18 16:52:51 2011 -0500 @@ -563,9 +563,8 @@ pats = [] if not globbed and default == 'relpath': pats = expandpats(pats or []) - m = matchmod.match(repo.root, repo.getcwd(), pats, - opts.get('include'), opts.get('exclude'), default, - auditor=repo.auditor) + m = repo[None].match(pats, opts.get('include'), opts.get('exclude'), + default) def badfn(f, msg): repo.ui.warn("%s: %s\n" % (m.rel(f), msg)) m.bad = badfn