--- a/mercurial/sshserver.py Wed Jun 16 16:04:46 2010 -0500
+++ b/mercurial/sshserver.py Wed Jun 16 16:05:13 2010 -0500
@@ -8,12 +8,12 @@
from i18n import _
from node import bin, hex
-import streamclone, util, hook
+import streamclone, util, hook, pushkey
import os, sys, tempfile, urllib, copy
class sshserver(object):
- caps = 'unbundle lookup changegroupsubset branchmap'.split()
+ caps = 'unbundle lookup changegroupsubset branchmap pushkey'.split()
def __init__(self, ui, repo):
self.ui = ui
@@ -223,3 +223,18 @@
except streamclone.StreamException, inst:
self.fout.write(str(inst))
self.fout.flush()
+
+ def do_pushkey(self):
+ arg, key = self.getarg()
+ arg, namespace = self.getarg()
+ arg, new = self.getarg()
+ arg, old = self.getarg()
+ r = pushkey.push(self.repo, namespace, key, old, new)
+ self.respond('%s\n' % int(r))
+
+ def do_listkeys(self):
+ arg, namespace = self.getarg()
+ d = pushkey.list(self.repo, namespace).items()
+ t = '\n'.join(['%s\t%s' % (k.encode('string-escape'),
+ v.encode('string-escape')) for k, v in d])
+ self.respond(t)