Show More
@@ -111,7 +111,7 b' def changegroupsubset(repo, req):' | |||||
111 |
|
111 | |||
112 | def capabilities(repo, req): |
|
112 | def capabilities(repo, req): | |
113 | caps = copy.copy(basecaps) |
|
113 | caps = copy.copy(basecaps) | |
114 | if repo.ui.configbool('server', 'uncompressed', untrusted=True): |
|
114 | if streamclone.allowed(repo.ui): | |
115 | caps.append('stream=%d' % repo.changelog.version) |
|
115 | caps.append('stream=%d' % repo.changelog.version) | |
116 | if changegroupmod.bundlepriority: |
|
116 | if changegroupmod.bundlepriority: | |
117 | caps.append('unbundle=%s' % ','.join(changegroupmod.bundlepriority)) |
|
117 | caps.append('unbundle=%s' % ','.join(changegroupmod.bundlepriority)) | |
@@ -202,7 +202,7 b' def unbundle(repo, req):' | |||||
202 | def stream_out(repo, req): |
|
202 | def stream_out(repo, req): | |
203 | req.respond(HTTP_OK, HGTYPE) |
|
203 | req.respond(HTTP_OK, HGTYPE) | |
204 | try: |
|
204 | try: | |
205 |
for chunk in streamclone.stream_out(repo |
|
205 | for chunk in streamclone.stream_out(repo): | |
206 | yield chunk |
|
206 | yield chunk | |
207 | except streamclone.StreamException, inst: |
|
207 | except streamclone.StreamException, inst: | |
208 | yield str(inst) |
|
208 | yield str(inst) |
@@ -91,7 +91,7 b' class sshserver(object):' | |||||
91 | capabilities: space separated list of tokens |
|
91 | capabilities: space separated list of tokens | |
92 | ''' |
|
92 | ''' | |
93 | caps = copy.copy(self.caps) |
|
93 | caps = copy.copy(self.caps) | |
94 | if self.ui.configbool('server', 'uncompressed'): |
|
94 | if streamclone.allowed(self.repo.ui): | |
95 | caps.append('stream=%d' % self.repo.changelog.version) |
|
95 | caps.append('stream=%d' % self.repo.changelog.version) | |
96 | self.respond("capabilities: %s\n" % (' '.join(caps),)) |
|
96 | self.respond("capabilities: %s\n" % (' '.join(caps),)) | |
97 |
|
97 |
@@ -33,11 +33,14 b' class StreamException(Exception):' | |||||
33 | # |
|
33 | # | |
34 | # server writes out raw file data. |
|
34 | # server writes out raw file data. | |
35 |
|
35 | |||
36 | def stream_out(repo, untrusted=False): |
|
36 | def allowed(ui): | |
|
37 | return ui.configbool('server', 'uncompressed', untrusted=True) | |||
|
38 | ||||
|
39 | def stream_out(repo): | |||
37 | '''stream out all metadata files in repository. |
|
40 | '''stream out all metadata files in repository. | |
38 | writes to file-like object, must support write() and optional flush().''' |
|
41 | writes to file-like object, must support write() and optional flush().''' | |
39 |
|
42 | |||
40 | if not repo.ui.configbool('server', 'uncompressed', untrusted=untrusted): |
|
43 | if not allowed(repo.ui): | |
41 | raise StreamException(1) |
|
44 | raise StreamException(1) | |
42 |
|
45 | |||
43 | entries = [] |
|
46 | entries = [] |
General Comments 0
You need to be logged in to leave comments.
Login now