equal
deleted
inserted
replaced
48 |
48 |
49 def getarg(self, name): |
49 def getarg(self, name): |
50 return self.getargs(name)[0] |
50 return self.getargs(name)[0] |
51 |
51 |
52 def getfile(self, fpout): |
52 def getfile(self, fpout): |
53 self.respond('') |
53 self.sendresponse('') |
54 count = int(self.fin.readline()) |
54 count = int(self.fin.readline()) |
55 while count: |
55 while count: |
56 fpout.write(self.fin.read(count)) |
56 fpout.write(self.fin.read(count)) |
57 count = int(self.fin.readline()) |
57 count = int(self.fin.readline()) |
58 |
58 |
59 def redirect(self): |
59 def redirect(self): |
60 pass |
60 pass |
61 |
61 |
62 def respond(self, v): |
62 def sendresponse(self, v): |
63 self.fout.write("%d\n" % len(v)) |
63 self.fout.write("%d\n" % len(v)) |
64 self.fout.write(v) |
64 self.fout.write(v) |
65 self.fout.flush() |
65 self.fout.flush() |
66 |
66 |
67 def sendchangegroup(self, changegroup): |
67 def sendchangegroup(self, changegroup): |
76 def sendstream(self, source): |
76 def sendstream(self, source): |
77 for chunk in source: |
77 for chunk in source: |
78 self.fout.write(chunk) |
78 self.fout.write(chunk) |
79 self.fout.flush() |
79 self.fout.flush() |
80 |
80 |
81 def respondpush(self, ret): |
81 def sendpushresponse(self, ret): |
82 self.respond('') |
82 self.sendresponse('') |
83 self.respond(str(ret)) |
83 self.sendresponse(str(ret)) |
84 |
84 |
85 def serve_forever(self): |
85 def serve_forever(self): |
86 try: |
86 try: |
87 while self.serve_one(): |
87 while self.serve_one(): |
88 pass |
88 pass |
98 elif cmd: |
98 elif cmd: |
99 impl = getattr(self, 'do_' + cmd, None) |
99 impl = getattr(self, 'do_' + cmd, None) |
100 if impl: |
100 if impl: |
101 r = impl() |
101 r = impl() |
102 if r is not None: |
102 if r is not None: |
103 self.respond(r) |
103 self.sendresponse(r) |
104 else: self.respond("") |
104 else: self.sendresponse("") |
105 return cmd != '' |
105 return cmd != '' |
106 |
106 |
107 def do_lock(self): |
107 def do_lock(self): |
108 '''DEPRECATED - allowing remote client to lock repo is not safe''' |
108 '''DEPRECATED - allowing remote client to lock repo is not safe''' |
109 |
109 |
120 |
120 |
121 def do_addchangegroup(self): |
121 def do_addchangegroup(self): |
122 '''DEPRECATED''' |
122 '''DEPRECATED''' |
123 |
123 |
124 if not self.lock: |
124 if not self.lock: |
125 self.respond("not locked") |
125 self.sendresponse("not locked") |
126 return |
126 return |
127 |
127 |
128 self.respond("") |
128 self.sendresponse("") |
129 r = self.repo.addchangegroup(self.fin, 'serve', self._client(), |
129 r = self.repo.addchangegroup(self.fin, 'serve', self._client(), |
130 lock=self.lock) |
130 lock=self.lock) |
131 return str(r) |
131 return str(r) |
132 |
132 |
133 def _client(self): |
133 def _client(self): |