mercurial/wireproto.py
changeset 17793 8474be4412ca
parent 17603 a7fa5bd1c914
child 18280 47abbaabaaa5
--- a/mercurial/wireproto.py	Tue Oct 16 17:09:50 2012 -0500
+++ b/mercurial/wireproto.py	Mon Oct 15 18:37:34 2012 -0300
@@ -503,6 +503,20 @@
     else:
         new = encoding.tolocal(new) # normal path
 
+    if util.safehasattr(proto, 'restore'):
+
+        proto.redirect()
+
+        try:
+            r = repo.pushkey(encoding.tolocal(namespace), encoding.tolocal(key),
+                             encoding.tolocal(old), new) or False
+        except util.Abort:
+            r = False
+
+        output = proto.restore()
+
+        return '%s\n%s' % (int(r), output)
+
     r = repo.pushkey(encoding.tolocal(namespace), encoding.tolocal(key),
                      encoding.tolocal(old), new)
     return '%s\n' % int(r)