##// END OF EJS Templates
changegroup3: move treemanifest support into _unpackmanifests()...
Martin von Zweigbergk -
r27754:a09f143d default
parent child Browse files
Show More
@@ -517,6 +517,20 b' class cg3unpacker(cg2unpacker):'
517 517 node, p1, p2, deltabase, cs, flags = headertuple
518 518 return node, p1, p2, deltabase, cs, flags
519 519
520 def _unpackmanifests(self, repo, revmap, trp, prog, numchanges):
521 super(cg3unpacker, self)._unpackmanifests(repo, revmap, trp, prog,
522 numchanges)
523 while True:
524 chunkdata = self.filelogheader()
525 if not chunkdata:
526 break
527 # If we get here, there are directory manifests in the changegroup
528 d = chunkdata["filename"]
529 repo.ui.debug("adding %s revisions\n" % d)
530 dirlog = repo.manifest.dirlog(d)
531 if not dirlog.addgroup(self, revmap, trp):
532 raise error.Abort(_("received dir revlog group is empty"))
533
520 534 class headerlessfixup(object):
521 535 def __init__(self, fh, h):
522 536 self._h = h
@@ -1055,22 +1069,13 b' def changegroup(repo, basenodes, source)'
1055 1069 def _addchangegroupfiles(repo, source, revmap, trp, pr, needfiles):
1056 1070 revisions = 0
1057 1071 files = 0
1058 submfsdone = False
1059 1072 while True:
1060 1073 chunkdata = source.filelogheader()
1061 1074 if not chunkdata:
1062 if source.version == "03" and not submfsdone:
1063 submfsdone = True
1064 continue
1065 1075 break
1066 1076 f = chunkdata["filename"]
1067 1077 repo.ui.debug("adding %s revisions\n" % f)
1068 1078 pr()
1069 directory = (f[-1] == '/')
1070 if directory:
1071 # a directory using treemanifests
1072 fl = repo.manifest.dirlog(f)
1073 else:
1074 1079 fl = repo.file(f)
1075 1080 o = len(fl)
1076 1081 try:
@@ -1078,7 +1083,6 b' def _addchangegroupfiles(repo, source, r'
1078 1083 raise error.Abort(_("received file revlog group is empty"))
1079 1084 except error.CensoredBaseError as e:
1080 1085 raise error.Abort(_("received delta base is censored: %s") % e)
1081 if not directory:
1082 1086 revisions += len(fl) - o
1083 1087 files += 1
1084 1088 if f in needfiles:
General Comments 0
You need to be logged in to leave comments. Login now