diff -r 9b26d541e972 -r 71dcce391a44 mercurial/subrepo.py --- a/mercurial/subrepo.py Sat Apr 14 01:39:35 2012 -0500 +++ b/mercurial/subrepo.py Wed Mar 28 11:42:17 2012 +0200 @@ -368,6 +368,9 @@ def forget(self, ui, match, prefix): return [] + def revert(self, ui, substate, *pats, **opts): + return [] + class hgsubrepo(abstractsubrepo): def __init__(self, ctx, path, state): self._path = path @@ -573,6 +576,14 @@ return cmdutil.forget(ui, self._repo, match, os.path.join(prefix, self._path), True) + def revert(self, ui, substate, *pats, **opts): + # reverting a subrepo is done by updating it to the revision + # specified in the corresponding substate dictionary + ui.status(_('reverting subrepo %s\n') % substate[0]) + + # Update the repo to the revision specified in the given substate + self.get(substate, overwrite=True) + class svnsubrepo(abstractsubrepo): def __init__(self, ctx, path, state): self._path = path