diff options
author | Nishanth Amuluru | 2011-01-11 22:41:51 +0530 |
---|---|---|
committer | Nishanth Amuluru | 2011-01-11 22:41:51 +0530 |
commit | b03203c8cb991c16ac8a3d74c8c4078182d0bb48 (patch) | |
tree | 7cf13b2deacbfaaec99edb431b83ddd5ea734a52 /eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/sshserver.py | |
parent | 0c50203cd9eb94b819883c3110922e873f003138 (diff) | |
download | pytask-b03203c8cb991c16ac8a3d74c8c4078182d0bb48.tar.gz pytask-b03203c8cb991c16ac8a3d74c8c4078182d0bb48.tar.bz2 pytask-b03203c8cb991c16ac8a3d74c8c4078182d0bb48.zip |
removed all the buildout files
Diffstat (limited to 'eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/sshserver.py')
-rw-r--r-- | eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/sshserver.py | 144 |
1 files changed, 0 insertions, 144 deletions
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/sshserver.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/sshserver.py deleted file mode 100644 index 8d2e4af..0000000 --- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/sshserver.py +++ /dev/null @@ -1,144 +0,0 @@ -# sshserver.py - ssh protocol server support for mercurial -# -# Copyright 2005-2007 Matt Mackall <mpm@selenic.com> -# Copyright 2006 Vadim Gelfer <vadim.gelfer@gmail.com> -# -# This software may be used and distributed according to the terms of the -# GNU General Public License version 2 or any later version. - -import util, hook, wireproto, changegroup -import os, sys - -class sshserver(object): - def __init__(self, ui, repo): - self.ui = ui - self.repo = repo - self.lock = None - self.fin = sys.stdin - self.fout = sys.stdout - - hook.redirect(True) - sys.stdout = sys.stderr - - # Prevent insertion/deletion of CRs - util.set_binary(self.fin) - util.set_binary(self.fout) - - def getargs(self, args): - data = {} - keys = args.split() - count = len(keys) - for n in xrange(len(keys)): - argline = self.fin.readline()[:-1] - arg, l = argline.split() - val = self.fin.read(int(l)) - if arg not in keys: - raise util.Abort("unexpected parameter %r" % arg) - if arg == '*': - star = {} - for n in xrange(int(l)): - arg, l = argline.split() - val = self.fin.read(int(l)) - star[arg] = val - data['*'] = star - else: - data[arg] = val - return [data[k] for k in keys] - - def getarg(self, name): - return self.getargs(name)[0] - - def getfile(self, fpout): - self.sendresponse('') - count = int(self.fin.readline()) - while count: - fpout.write(self.fin.read(count)) - count = int(self.fin.readline()) - - def redirect(self): - pass - - def groupchunks(self, changegroup): - while True: - d = changegroup.read(4096) - if not d: - break - yield d - - def sendresponse(self, v): - self.fout.write("%d\n" % len(v)) - self.fout.write(v) - self.fout.flush() - - def sendstream(self, source): - for chunk in source.gen: - self.fout.write(chunk) - self.fout.flush() - - def sendpushresponse(self, rsp): - self.sendresponse('') - self.sendresponse(str(rsp.res)) - - def sendpusherror(self, rsp): - self.sendresponse(rsp.res) - - def serve_forever(self): - try: - while self.serve_one(): - pass - finally: - if self.lock is not None: - self.lock.release() - sys.exit(0) - - handlers = { - str: sendresponse, - wireproto.streamres: sendstream, - wireproto.pushres: sendpushresponse, - wireproto.pusherr: sendpusherror, - } - - def serve_one(self): - cmd = self.fin.readline()[:-1] - if cmd and cmd in wireproto.commands: - rsp = wireproto.dispatch(self.repo, self, cmd) - self.handlers[rsp.__class__](self, rsp) - elif cmd: - impl = getattr(self, 'do_' + cmd, None) - if impl: - r = impl() - if r is not None: - self.sendresponse(r) - else: self.sendresponse("") - return cmd != '' - - def do_lock(self): - '''DEPRECATED - allowing remote client to lock repo is not safe''' - - self.lock = self.repo.lock() - return "" - - def do_unlock(self): - '''DEPRECATED''' - - if self.lock: - self.lock.release() - self.lock = None - return "" - - def do_addchangegroup(self): - '''DEPRECATED''' - - if not self.lock: - self.sendresponse("not locked") - return - - self.sendresponse("") - cg = changegroup.unbundle10(self.fin, "UN") - r = self.repo.addchangegroup(cg, 'serve', self._client(), - lock=self.lock) - return str(r) - - def _client(self): - client = os.environ.get('SSH_CLIENT', '').split(' ', 1)[0] - return 'remote:ssh:' + client |