157 return 0 |
157 return 0 |
158 if self.callback: |
158 if self.callback: |
159 self.callback() |
159 self.callback() |
160 return l - 4 |
160 return l - 4 |
161 |
161 |
162 def chunk(self): |
162 def changelogheader(self): |
163 """return the next chunk from changegroup 'source' as a string""" |
163 """v10 does not have a changelog header chunk""" |
|
164 return {} |
|
165 |
|
166 def manifestheader(self): |
|
167 """v10 does not have a manifest header chunk""" |
|
168 return {} |
|
169 |
|
170 def filelogheader(self): |
|
171 """return the header of the filelogs chunk, v10 only has the filename""" |
164 l = self.chunklength() |
172 l = self.chunklength() |
165 return readexactly(self._stream, l) |
173 if not l: |
|
174 return {} |
|
175 fname = readexactly(self._stream, l) |
|
176 return dict(filename=fname) |
166 |
177 |
167 def _deltaheader(self, headertuple, prevnode): |
178 def _deltaheader(self, headertuple, prevnode): |
168 node, p1, p2, cs = headertuple |
179 node, p1, p2, cs = headertuple |
169 if prevnode is None: |
180 if prevnode is None: |
170 deltabase = p1 |
181 deltabase = p1 |
171 else: |
182 else: |
172 deltabase = prevnode |
183 deltabase = prevnode |
173 return node, p1, p2, deltabase, cs |
184 return node, p1, p2, deltabase, cs |
174 |
185 |
175 def parsechunk(self, prevnode): |
186 def deltachunk(self, prevnode): |
176 l = self.chunklength() |
187 l = self.chunklength() |
177 if not l: |
188 if not l: |
178 return {} |
189 return {} |
179 headerdata = readexactly(self._stream, self.deltaheadersize) |
190 headerdata = readexactly(self._stream, self.deltaheadersize) |
180 header = struct.unpack(self.deltaheader, headerdata) |
191 header = struct.unpack(self.deltaheader, headerdata) |