[PATCH 28 of 36] context: move diff from changectx
Sean Farley
sean.michael.farley at gmail.com
Wed Aug 7 13:13:28 CDT 2013
# HG changeset patch
# User Sean Farley <sean.michael.farley at gmail.com>
# Date 1375746072 18000
# Mon Aug 05 18:41:12 2013 -0500
# Node ID eb24b085e54b8e9a63b55adcc09027a45816ceb6
# Parent fecd37a97e40d7cbef3a5621051d82962eeab434
context: move diff from changectx
diff --git a/mercurial/context.py b/mercurial/context.py
--- a/mercurial/context.py
+++ b/mercurial/context.py
@@ -126,10 +126,20 @@
r = self._repo
return matchmod.match(r.root, r.getcwd(), pats,
include, exclude, default,
auditor=r.auditor, ctx=self)
+ def diff(self, ctx2=None, match=None, **opts):
+ """Returns a diff generator for the given contexts and matcher"""
+ if ctx2 is None:
+ ctx2 = self.p1()
+ if ctx2 is not None and not isinstance(ctx2, changectx):
+ ctx2 = self._repo[ctx2]
+ diffopts = patch.diffopts(self._repo.ui, opts)
+ return patch.diff(self._repo, ctx2.node(), self.node(),
+ match=match, opts=diffopts)
+
class changectx(context):
"""A changecontext object makes access to data related to a particular
changeset convenient. It represents a read-only context already presnt in
the repo."""
def __init__(self, repo, changeid=''):
@@ -381,20 +391,10 @@
# specified pattern is a directory
continue
if match.bad(fn, _('no such file in rev %s') % self) and match(fn):
yield fn
- def diff(self, ctx2=None, match=None, **opts):
- """Returns a diff generator for the given contexts and matcher"""
- if ctx2 is None:
- ctx2 = self.p1()
- if ctx2 is not None and not isinstance(ctx2, changectx):
- ctx2 = self._repo[ctx2]
- diffopts = patch.diffopts(self._repo.ui, opts)
- return patch.diff(self._repo, ctx2.node(), self.node(),
- match=match, opts=diffopts)
-
@propertycache
def _dirs(self):
return scmutil.dirs(self._manifest)
def dirs(self):
More information about the Mercurial-devel
mailing list