125 def match(self, pats=[], include=None, exclude=None, default='glob'): |
125 def match(self, pats=[], include=None, exclude=None, default='glob'): |
126 r = self._repo |
126 r = self._repo |
127 return matchmod.match(r.root, r.getcwd(), pats, |
127 return matchmod.match(r.root, r.getcwd(), pats, |
128 include, exclude, default, |
128 include, exclude, default, |
129 auditor=r.auditor, ctx=self) |
129 auditor=r.auditor, ctx=self) |
|
130 |
|
131 def diff(self, ctx2=None, match=None, **opts): |
|
132 """Returns a diff generator for the given contexts and matcher""" |
|
133 if ctx2 is None: |
|
134 ctx2 = self.p1() |
|
135 if ctx2 is not None and not isinstance(ctx2, changectx): |
|
136 ctx2 = self._repo[ctx2] |
|
137 diffopts = patch.diffopts(self._repo.ui, opts) |
|
138 return patch.diff(self._repo, ctx2.node(), self.node(), |
|
139 match=match, opts=diffopts) |
130 |
140 |
131 class changectx(basectx): |
141 class changectx(basectx): |
132 """A changecontext object makes access to data related to a particular |
142 """A changecontext object makes access to data related to a particular |
133 changeset convenient. It represents a read-only context already presnt in |
143 changeset convenient. It represents a read-only context already presnt in |
134 the repo.""" |
144 the repo.""" |
386 if fn in self._dirs: |
396 if fn in self._dirs: |
387 # specified pattern is a directory |
397 # specified pattern is a directory |
388 continue |
398 continue |
389 if match.bad(fn, _('no such file in rev %s') % self) and match(fn): |
399 if match.bad(fn, _('no such file in rev %s') % self) and match(fn): |
390 yield fn |
400 yield fn |
391 |
|
392 def diff(self, ctx2=None, match=None, **opts): |
|
393 """Returns a diff generator for the given contexts and matcher""" |
|
394 if ctx2 is None: |
|
395 ctx2 = self.p1() |
|
396 if ctx2 is not None and not isinstance(ctx2, changectx): |
|
397 ctx2 = self._repo[ctx2] |
|
398 diffopts = patch.diffopts(self._repo.ui, opts) |
|
399 return patch.diff(self._repo, ctx2.node(), self.node(), |
|
400 match=match, opts=diffopts) |
|
401 |
401 |
402 @propertycache |
402 @propertycache |
403 def _dirs(self): |
403 def _dirs(self): |
404 return scmutil.dirs(self._manifest) |
404 return scmutil.dirs(self._manifest) |
405 |
405 |