Mercurial > public > mercurial-scm > hg-stable
diff mercurial/subrepo.py @ 12167:d2c5b0927c28
diff: recurse into subrepositories with --subrepos/-S flag
author | Martin Geisler <mg@lazybytes.net> |
---|---|
date | Fri, 03 Sep 2010 12:58:51 +0200 |
parents | 441a74b8def1 |
children | ecab10820983 |
line wrap: on
line diff
--- a/mercurial/subrepo.py Fri Sep 03 12:58:51 2010 +0200 +++ b/mercurial/subrepo.py Fri Sep 03 12:58:51 2010 +0200 @@ -7,7 +7,7 @@ import errno, os, re, xml.dom.minidom, shutil, urlparse, posixpath from i18n import _ -import config, util, node, error +import config, util, node, error, cmdutil hg = None nullstate = ('', '', 'empty') @@ -249,6 +249,9 @@ def status(self, rev2, **opts): return [], [], [], [], [], [], [] + def diff(self, diffopts, node2, match, prefix, **opts): + pass + class hgsubrepo(abstractsubrepo): def __init__(self, ctx, path, state): self._path = path @@ -289,6 +292,17 @@ % (inst, relpath(self))) return [], [], [], [], [], [], [] + def diff(self, diffopts, node2, match, prefix, **opts): + try: + node1 = node.bin(self._state[1]) + cmdutil.diffordiffstat(self._repo.ui, self._repo, diffopts, + node1, node2, match, + prefix=os.path.join(prefix, self._path), + listsubrepos=True, **opts) + except error.RepoLookupError, inst: + self._repo.ui.warn(_("warning: %s in %s\n") + % (inst, relpath(self))) + def dirty(self): r = self._state[1] if r == '':