Show More
@@ -329,6 +329,10 b' class bundlerepository(localrepo.localre' | |||
|
329 | 329 | # consume the header if it exists |
|
330 | 330 | self.bundle.manifestheader() |
|
331 | 331 | m = bundlemanifest(self.svfs, self.bundle, self.changelog.rev) |
|
332 | # XXX: hack to work with changegroup3, but we still don't handle | |
|
333 | # tree manifests correctly | |
|
334 | if self.bundle.version == "03": | |
|
335 | self.bundle.filelogheader() | |
|
332 | 336 | self.filestart = self.bundle.tell() |
|
333 | 337 | return m |
|
334 | 338 |
@@ -506,8 +506,8 b' class cg3unpacker(cg2unpacker):' | |||
|
506 | 506 | """Unpacker for cg3 streams. |
|
507 | 507 | |
|
508 | 508 | cg3 streams add support for exchanging treemanifests and revlog |
|
509 |
flags |
|
|
510 | version number. | |
|
509 | flags. It adds the revlog flags to the delta header and an empty chunk | |
|
510 | separating manifests and files. | |
|
511 | 511 | """ |
|
512 | 512 | deltaheader = _CHANGEGROUPV3_DELTA_HEADER |
|
513 | 513 | deltaheadersize = struct.calcsize(deltaheader) |
@@ -909,6 +909,7 b' class cg3packer(cg2packer):' | |||
|
909 | 909 | yield self.fileheader(name) |
|
910 | 910 | for chunk in self.group(nodes, dirlog(name), nodes.get): |
|
911 | 911 | yield chunk |
|
912 | yield self.close() | |
|
912 | 913 | |
|
913 | 914 | def builddeltaheader(self, node, p1n, p2n, basenode, linknode, flags): |
|
914 | 915 | return struct.pack( |
@@ -917,7 +918,7 b' class cg3packer(cg2packer):' | |||
|
917 | 918 | _packermap = {'01': (cg1packer, cg1unpacker), |
|
918 | 919 | # cg2 adds support for exchanging generaldelta |
|
919 | 920 | '02': (cg2packer, cg2unpacker), |
|
920 | # cg3 adds support for exchanging treemanifests | |
|
921 | # cg3 adds support for exchanging revlog flags and treemanifests | |
|
921 | 922 | '03': (cg3packer, cg3unpacker), |
|
922 | 923 | } |
|
923 | 924 | |
@@ -1054,9 +1055,13 b' def changegroup(repo, basenodes, source)' | |||
|
1054 | 1055 | def _addchangegroupfiles(repo, source, revmap, trp, pr, needfiles): |
|
1055 | 1056 | revisions = 0 |
|
1056 | 1057 | files = 0 |
|
1058 | submfsdone = False | |
|
1057 | 1059 | while True: |
|
1058 | 1060 | chunkdata = source.filelogheader() |
|
1059 | 1061 | if not chunkdata: |
|
1062 | if source.version == "03" and not submfsdone: | |
|
1063 | submfsdone = True | |
|
1064 | continue | |
|
1060 | 1065 | break |
|
1061 | 1066 | f = chunkdata["filename"] |
|
1062 | 1067 | repo.ui.debug("adding %s revisions\n" % f) |
General Comments 0
You need to be logged in to leave comments.
Login now