mercurial/subrepo.py
changeset 16429 71dcce391a44
parent 16197 0196c437ca9f
child 16430 6883c2363f44
--- 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