Show More
@@ -521,8 +521,8 b' class revisiondelta(object):' | |||||
521 |
|
521 | |||
522 | class cg1packer(object): |
|
522 | class cg1packer(object): | |
523 | deltaheader = _CHANGEGROUPV1_DELTA_HEADER |
|
523 | deltaheader = _CHANGEGROUPV1_DELTA_HEADER | |
524 | version = '01' |
|
524 | ||
525 | def __init__(self, repo, filematcher, bundlecaps=None): |
|
525 | def __init__(self, repo, filematcher, version, bundlecaps=None): | |
526 | """Given a source repo, construct a bundler. |
|
526 | """Given a source repo, construct a bundler. | |
527 |
|
527 | |||
528 | filematcher is a matcher that matches on files to include in the |
|
528 | filematcher is a matcher that matches on files to include in the | |
@@ -536,6 +536,8 b' class cg1packer(object):' | |||||
536 | assert filematcher |
|
536 | assert filematcher | |
537 | self._filematcher = filematcher |
|
537 | self._filematcher = filematcher | |
538 |
|
538 | |||
|
539 | self.version = version | |||
|
540 | ||||
539 | # Set of capabilities we can use to build the bundle. |
|
541 | # Set of capabilities we can use to build the bundle. | |
540 | if bundlecaps is None: |
|
542 | if bundlecaps is None: | |
541 | bundlecaps = set() |
|
543 | bundlecaps = set() | |
@@ -1100,11 +1102,10 b' class cg1packer(object):' | |||||
1100 | return struct.pack(self.deltaheader, node, p1n, p2n, linknode) |
|
1102 | return struct.pack(self.deltaheader, node, p1n, p2n, linknode) | |
1101 |
|
1103 | |||
1102 | class cg2packer(cg1packer): |
|
1104 | class cg2packer(cg1packer): | |
1103 | version = '02' |
|
|||
1104 | deltaheader = _CHANGEGROUPV2_DELTA_HEADER |
|
1105 | deltaheader = _CHANGEGROUPV2_DELTA_HEADER | |
1105 |
|
1106 | |||
1106 | def __init__(self, repo, filematcher, bundlecaps=None): |
|
1107 | def __init__(self, repo, filematcher, version, bundlecaps=None): | |
1107 | super(cg2packer, self).__init__(repo, filematcher, |
|
1108 | super(cg2packer, self).__init__(repo, filematcher, version, | |
1108 | bundlecaps=bundlecaps) |
|
1109 | bundlecaps=bundlecaps) | |
1109 |
|
1110 | |||
1110 | if self._reorder is None: |
|
1111 | if self._reorder is None: | |
@@ -1157,7 +1158,6 b' class cg2packer(cg1packer):' | |||||
1157 | return struct.pack(self.deltaheader, node, p1n, p2n, basenode, linknode) |
|
1158 | return struct.pack(self.deltaheader, node, p1n, p2n, basenode, linknode) | |
1158 |
|
1159 | |||
1159 | class cg3packer(cg2packer): |
|
1160 | class cg3packer(cg2packer): | |
1160 | version = '03' |
|
|||
1161 | deltaheader = _CHANGEGROUPV3_DELTA_HEADER |
|
1161 | deltaheader = _CHANGEGROUPV3_DELTA_HEADER | |
1162 |
|
1162 | |||
1163 | def _packmanifests(self, dir, mfnodes, lookuplinknode): |
|
1163 | def _packmanifests(self, dir, mfnodes, lookuplinknode): | |
@@ -1177,13 +1177,13 b' class cg3packer(cg2packer):' | |||||
1177 | self.deltaheader, node, p1n, p2n, basenode, linknode, flags) |
|
1177 | self.deltaheader, node, p1n, p2n, basenode, linknode, flags) | |
1178 |
|
1178 | |||
1179 | def _makecg1packer(repo, filematcher, bundlecaps): |
|
1179 | def _makecg1packer(repo, filematcher, bundlecaps): | |
1180 | return cg1packer(repo, filematcher, bundlecaps=bundlecaps) |
|
1180 | return cg1packer(repo, filematcher, b'01', bundlecaps=bundlecaps) | |
1181 |
|
1181 | |||
1182 | def _makecg2packer(repo, filematcher, bundlecaps): |
|
1182 | def _makecg2packer(repo, filematcher, bundlecaps): | |
1183 | return cg2packer(repo, filematcher, bundlecaps=bundlecaps) |
|
1183 | return cg2packer(repo, filematcher, b'02', bundlecaps=bundlecaps) | |
1184 |
|
1184 | |||
1185 | def _makecg3packer(repo, filematcher, bundlecaps): |
|
1185 | def _makecg3packer(repo, filematcher, bundlecaps): | |
1186 | return cg3packer(repo, filematcher, bundlecaps=bundlecaps) |
|
1186 | return cg3packer(repo, filematcher, b'03', bundlecaps=bundlecaps) | |
1187 |
|
1187 | |||
1188 | _packermap = {'01': (_makecg1packer, cg1unpacker), |
|
1188 | _packermap = {'01': (_makecg1packer, cg1unpacker), | |
1189 | # cg2 adds support for exchanging generaldelta |
|
1189 | # cg2 adds support for exchanging generaldelta |
General Comments 0
You need to be logged in to leave comments.
Login now