comparison mercurial/changegroup.py @ 38902:4c99c6d1ef95

changegroup: rename cg1packer to cgpacker There is now only a single class. We don't need to encode the version in its name since the version is a lie. Differential Revision: https://phab.mercurial-scm.org/D4084
author Gregory Szorc <gregory.szorc@gmail.com>
date Fri, 03 Aug 2018 10:35:10 -0700
parents 23ae0c07a3e1
children 68e490ed640e
comparison
equal deleted inserted replaced
38901:23ae0c07a3e1 38902:4c99c6d1ef95
517 # 2 bytes of flags to apply to revision data. 517 # 2 bytes of flags to apply to revision data.
518 flags = attr.ib() 518 flags = attr.ib()
519 # Iterable of chunks holding raw delta data. 519 # Iterable of chunks holding raw delta data.
520 deltachunks = attr.ib() 520 deltachunks = attr.ib()
521 521
522 class cg1packer(object): 522 class cgpacker(object):
523 def __init__(self, repo, filematcher, version, allowreorder, 523 def __init__(self, repo, filematcher, version, allowreorder,
524 useprevdelta, builddeltaheader, manifestsend, 524 useprevdelta, builddeltaheader, manifestsend,
525 sendtreemanifests, bundlecaps=None): 525 sendtreemanifests, bundlecaps=None):
526 """Given a source repo, construct a bundler. 526 """Given a source repo, construct a bundler.
527 527
1173 1173
1174 def _makecg1packer(repo, filematcher, bundlecaps): 1174 def _makecg1packer(repo, filematcher, bundlecaps):
1175 builddeltaheader = lambda d: _CHANGEGROUPV1_DELTA_HEADER.pack( 1175 builddeltaheader = lambda d: _CHANGEGROUPV1_DELTA_HEADER.pack(
1176 d.node, d.p1node, d.p2node, d.linknode) 1176 d.node, d.p1node, d.p2node, d.linknode)
1177 1177
1178 return cg1packer(repo, filematcher, b'01', 1178 return cgpacker(repo, filematcher, b'01',
1179 useprevdelta=True, 1179 useprevdelta=True,
1180 allowreorder=None, 1180 allowreorder=None,
1181 builddeltaheader=builddeltaheader, 1181 builddeltaheader=builddeltaheader,
1182 manifestsend=b'', sendtreemanifests=False, 1182 manifestsend=b'',
1183 bundlecaps=bundlecaps) 1183 sendtreemanifests=False,
1184 bundlecaps=bundlecaps)
1184 1185
1185 def _makecg2packer(repo, filematcher, bundlecaps): 1186 def _makecg2packer(repo, filematcher, bundlecaps):
1186 builddeltaheader = lambda d: _CHANGEGROUPV2_DELTA_HEADER.pack( 1187 builddeltaheader = lambda d: _CHANGEGROUPV2_DELTA_HEADER.pack(
1187 d.node, d.p1node, d.p2node, d.basenode, d.linknode) 1188 d.node, d.p1node, d.p2node, d.basenode, d.linknode)
1188 1189
1189 # Since generaldelta is directly supported by cg2, reordering 1190 # Since generaldelta is directly supported by cg2, reordering
1190 # generally doesn't help, so we disable it by default (treating 1191 # generally doesn't help, so we disable it by default (treating
1191 # bundle.reorder=auto just like bundle.reorder=False). 1192 # bundle.reorder=auto just like bundle.reorder=False).
1192 return cg1packer(repo, filematcher, b'02', 1193 return cgpacker(repo, filematcher, b'02',
1193 useprevdelta=False, 1194 useprevdelta=False,
1194 allowreorder=False, 1195 allowreorder=False,
1195 builddeltaheader=builddeltaheader, 1196 builddeltaheader=builddeltaheader,
1196 manifestsend=b'', sendtreemanifests=False, 1197 manifestsend=b'',
1197 bundlecaps=bundlecaps) 1198 sendtreemanifests=False,
1199 bundlecaps=bundlecaps)
1198 1200
1199 def _makecg3packer(repo, filematcher, bundlecaps): 1201 def _makecg3packer(repo, filematcher, bundlecaps):
1200 builddeltaheader = lambda d: _CHANGEGROUPV3_DELTA_HEADER.pack( 1202 builddeltaheader = lambda d: _CHANGEGROUPV3_DELTA_HEADER.pack(
1201 d.node, d.p1node, d.p2node, d.basenode, d.linknode, d.flags) 1203 d.node, d.p1node, d.p2node, d.basenode, d.linknode, d.flags)
1202 1204
1203 return cg1packer(repo, filematcher, b'03', 1205 return cgpacker(repo, filematcher, b'03',
1204 useprevdelta=False, 1206 useprevdelta=False,
1205 allowreorder=False, 1207 allowreorder=False,
1206 builddeltaheader=builddeltaheader, 1208 builddeltaheader=builddeltaheader,
1207 manifestsend=closechunk(), sendtreemanifests=True, 1209 manifestsend=closechunk(),
1208 bundlecaps=bundlecaps) 1210 sendtreemanifests=True,
1211 bundlecaps=bundlecaps)
1209 1212
1210 _packermap = {'01': (_makecg1packer, cg1unpacker), 1213 _packermap = {'01': (_makecg1packer, cg1unpacker),
1211 # cg2 adds support for exchanging generaldelta 1214 # cg2 adds support for exchanging generaldelta
1212 '02': (_makecg2packer, cg2unpacker), 1215 '02': (_makecg2packer, cg2unpacker),
1213 # cg3 adds support for exchanging revlog flags and treemanifests 1216 # cg3 adds support for exchanging revlog flags and treemanifests