Show More
@@ -40,9 +40,9 b' from .utils import (' | |||||
40 | stringutil, |
|
40 | stringutil, | |
41 | ) |
|
41 | ) | |
42 |
|
42 | |||
43 | _CHANGEGROUPV1_DELTA_HEADER = "20s20s20s20s" |
|
43 | _CHANGEGROUPV1_DELTA_HEADER = struct.Struct("20s20s20s20s") | |
44 | _CHANGEGROUPV2_DELTA_HEADER = "20s20s20s20s20s" |
|
44 | _CHANGEGROUPV2_DELTA_HEADER = struct.Struct("20s20s20s20s20s") | |
45 | _CHANGEGROUPV3_DELTA_HEADER = ">20s20s20s20s20sH" |
|
45 | _CHANGEGROUPV3_DELTA_HEADER = struct.Struct(">20s20s20s20s20sH") | |
46 |
|
46 | |||
47 | LFS_REQUIREMENT = 'lfs' |
|
47 | LFS_REQUIREMENT = 'lfs' | |
48 |
|
48 | |||
@@ -119,7 +119,7 b' class cg1unpacker(object):' | |||||
119 | bundlerepo and some debug commands - their use is discouraged. |
|
119 | bundlerepo and some debug commands - their use is discouraged. | |
120 | """ |
|
120 | """ | |
121 | deltaheader = _CHANGEGROUPV1_DELTA_HEADER |
|
121 | deltaheader = _CHANGEGROUPV1_DELTA_HEADER | |
122 |
deltaheadersize = |
|
122 | deltaheadersize = deltaheader.size | |
123 | version = '01' |
|
123 | version = '01' | |
124 | _grouplistcount = 1 # One list of files after the manifests |
|
124 | _grouplistcount = 1 # One list of files after the manifests | |
125 |
|
125 | |||
@@ -192,7 +192,7 b' class cg1unpacker(object):' | |||||
192 | if not l: |
|
192 | if not l: | |
193 | return {} |
|
193 | return {} | |
194 | headerdata = readexactly(self._stream, self.deltaheadersize) |
|
194 | headerdata = readexactly(self._stream, self.deltaheadersize) | |
195 |
header = str |
|
195 | header = self.deltaheader.unpack(headerdata) | |
196 | delta = readexactly(self._stream, l - self.deltaheadersize) |
|
196 | delta = readexactly(self._stream, l - self.deltaheadersize) | |
197 | node, p1, p2, deltabase, cs, flags = self._deltaheader(header, prevnode) |
|
197 | node, p1, p2, deltabase, cs, flags = self._deltaheader(header, prevnode) | |
198 | return (node, p1, p2, cs, deltabase, delta, flags) |
|
198 | return (node, p1, p2, cs, deltabase, delta, flags) | |
@@ -451,7 +451,7 b' class cg2unpacker(cg1unpacker):' | |||||
451 | remain the same. |
|
451 | remain the same. | |
452 | """ |
|
452 | """ | |
453 | deltaheader = _CHANGEGROUPV2_DELTA_HEADER |
|
453 | deltaheader = _CHANGEGROUPV2_DELTA_HEADER | |
454 |
deltaheadersize = |
|
454 | deltaheadersize = deltaheader.size | |
455 | version = '02' |
|
455 | version = '02' | |
456 |
|
456 | |||
457 | def _deltaheader(self, headertuple, prevnode): |
|
457 | def _deltaheader(self, headertuple, prevnode): | |
@@ -467,7 +467,7 b' class cg3unpacker(cg2unpacker):' | |||||
467 | separating manifests and files. |
|
467 | separating manifests and files. | |
468 | """ |
|
468 | """ | |
469 | deltaheader = _CHANGEGROUPV3_DELTA_HEADER |
|
469 | deltaheader = _CHANGEGROUPV3_DELTA_HEADER | |
470 |
deltaheadersize = |
|
470 | deltaheadersize = deltaheader.size | |
471 | version = '03' |
|
471 | version = '03' | |
472 | _grouplistcount = 2 # One list of manifests and one list of files |
|
472 | _grouplistcount = 2 # One list of manifests and one list of files | |
473 |
|
473 | |||
@@ -1099,7 +1099,7 b' class cg1packer(object):' | |||||
1099 | def builddeltaheader(self, node, p1n, p2n, basenode, linknode, flags): |
|
1099 | def builddeltaheader(self, node, p1n, p2n, basenode, linknode, flags): | |
1100 | # do nothing with basenode, it is implicitly the previous one in HG10 |
|
1100 | # do nothing with basenode, it is implicitly the previous one in HG10 | |
1101 | # do nothing with flags, it is implicitly 0 for cg1 and cg2 |
|
1101 | # do nothing with flags, it is implicitly 0 for cg1 and cg2 | |
1102 |
return str |
|
1102 | return self.deltaheader.pack(node, p1n, p2n, linknode) | |
1103 |
|
1103 | |||
1104 | class cg2packer(cg1packer): |
|
1104 | class cg2packer(cg1packer): | |
1105 | deltaheader = _CHANGEGROUPV2_DELTA_HEADER |
|
1105 | deltaheader = _CHANGEGROUPV2_DELTA_HEADER | |
@@ -1155,7 +1155,7 b' class cg2packer(cg1packer):' | |||||
1155 |
|
1155 | |||
1156 | def builddeltaheader(self, node, p1n, p2n, basenode, linknode, flags): |
|
1156 | def builddeltaheader(self, node, p1n, p2n, basenode, linknode, flags): | |
1157 | # Do nothing with flags, it is implicitly 0 in cg1 and cg2 |
|
1157 | # Do nothing with flags, it is implicitly 0 in cg1 and cg2 | |
1158 |
return str |
|
1158 | return self.deltaheader.pack(node, p1n, p2n, basenode, linknode) | |
1159 |
|
1159 | |||
1160 | class cg3packer(cg2packer): |
|
1160 | class cg3packer(cg2packer): | |
1161 | deltaheader = _CHANGEGROUPV3_DELTA_HEADER |
|
1161 | deltaheader = _CHANGEGROUPV3_DELTA_HEADER | |
@@ -1173,8 +1173,7 b' class cg3packer(cg2packer):' | |||||
1173 | return self.close() |
|
1173 | return self.close() | |
1174 |
|
1174 | |||
1175 | def builddeltaheader(self, node, p1n, p2n, basenode, linknode, flags): |
|
1175 | def builddeltaheader(self, node, p1n, p2n, basenode, linknode, flags): | |
1176 | return struct.pack( |
|
1176 | return self.deltaheader.pack(node, p1n, p2n, basenode, linknode, flags) | |
1177 | self.deltaheader, node, p1n, p2n, basenode, linknode, flags) |
|
|||
1178 |
|
1177 | |||
1179 | def _makecg1packer(repo, filematcher, bundlecaps): |
|
1178 | def _makecg1packer(repo, filematcher, bundlecaps): | |
1180 | return cg1packer(repo, filematcher, b'01', bundlecaps=bundlecaps) |
|
1179 | return cg1packer(repo, filematcher, b'01', bundlecaps=bundlecaps) |
General Comments 0
You need to be logged in to leave comments.
Login now