equal
deleted
inserted
replaced
323 needfiles = {} |
323 needfiles = {} |
324 if repo.ui.configbool('server', 'validate'): |
324 if repo.ui.configbool('server', 'validate'): |
325 cl = repo.changelog |
325 cl = repo.changelog |
326 ml = repo.manifestlog |
326 ml = repo.manifestlog |
327 # validate incoming csets have their manifests |
327 # validate incoming csets have their manifests |
328 for cset in xrange(clstart, clend): |
328 for cset in pycompat.xrange(clstart, clend): |
329 mfnode = cl.changelogrevision(cset).manifest |
329 mfnode = cl.changelogrevision(cset).manifest |
330 mfest = ml[mfnode].readdelta() |
330 mfest = ml[mfnode].readdelta() |
331 # store file cgnodes we must see |
331 # store file cgnodes we must see |
332 for f, n in mfest.iteritems(): |
332 for f, n in mfest.iteritems(): |
333 needfiles.setdefault(f, set()).add(n) |
333 needfiles.setdefault(f, set()).add(n) |
365 hookargs['node'] = hex(cl.node(clstart)) |
365 hookargs['node'] = hex(cl.node(clstart)) |
366 hookargs['node_last'] = hex(cl.node(clend - 1)) |
366 hookargs['node_last'] = hex(cl.node(clend - 1)) |
367 repo.hook('pretxnchangegroup', |
367 repo.hook('pretxnchangegroup', |
368 throw=True, **pycompat.strkwargs(hookargs)) |
368 throw=True, **pycompat.strkwargs(hookargs)) |
369 |
369 |
370 added = [cl.node(r) for r in xrange(clstart, clend)] |
370 added = [cl.node(r) for r in pycompat.xrange(clstart, clend)] |
371 phaseall = None |
371 phaseall = None |
372 if srctype in ('push', 'serve'): |
372 if srctype in ('push', 'serve'): |
373 # Old servers can not push the boundary themselves. |
373 # Old servers can not push the boundary themselves. |
374 # New servers won't push the boundary if changeset already |
374 # New servers won't push the boundary if changeset already |
375 # exists locally as secret |
375 # exists locally as secret |
566 # build deltas |
566 # build deltas |
567 progress = None |
567 progress = None |
568 if units is not None: |
568 if units is not None: |
569 progress = self._repo.ui.makeprogress(_('bundling'), unit=units, |
569 progress = self._repo.ui.makeprogress(_('bundling'), unit=units, |
570 total=(len(revs) - 1)) |
570 total=(len(revs) - 1)) |
571 for r in xrange(len(revs) - 1): |
571 for r in pycompat.xrange(len(revs) - 1): |
572 if progress: |
572 if progress: |
573 progress.update(r + 1) |
573 progress.update(r + 1) |
574 prev, curr = revs[r], revs[r + 1] |
574 prev, curr = revs[r], revs[r + 1] |
575 linknode = lookup(revlog.node(curr)) |
575 linknode = lookup(revlog.node(curr)) |
576 for c in self.revchunk(revlog, curr, prev, linknode): |
576 for c in self.revchunk(revlog, curr, prev, linknode): |
987 except error.CensoredBaseError as e: |
987 except error.CensoredBaseError as e: |
988 raise error.Abort(_("received delta base is censored: %s") % e) |
988 raise error.Abort(_("received delta base is censored: %s") % e) |
989 revisions += len(fl) - o |
989 revisions += len(fl) - o |
990 if f in needfiles: |
990 if f in needfiles: |
991 needs = needfiles[f] |
991 needs = needfiles[f] |
992 for new in xrange(o, len(fl)): |
992 for new in pycompat.xrange(o, len(fl)): |
993 n = fl.node(new) |
993 n = fl.node(new) |
994 if n in needs: |
994 if n in needs: |
995 needs.remove(n) |
995 needs.remove(n) |
996 else: |
996 else: |
997 raise error.Abort( |
997 raise error.Abort( |