##// END OF EJS Templates
streamclone: allow uncompressed clones by default
Matt Mackall -
r10377:04e1e674 default
parent child Browse files
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, untrusted=True):
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