comparison mercurial/changegroup.py @ 46371:0903d6b9b1df

repository: introduce register_changeset callback The new callback is called whenever a changeset is added to the repository (commit, unbundle or exchange). Since the bulk operations already parse the changeset (readfiles or full changesetrevision), always use the latter to avoid redundant lookups. The first consumer of the new interface needs to look at extra. Differential Revision: https://phab.mercurial-scm.org/D9780
author Joerg Sonnenberger <joerg@bec.de>
date Tue, 19 Jan 2021 00:20:53 +0100
parents 5d65e04b6a80
children 711ba0f1057e
comparison
equal deleted inserted replaced
46370:cad17d50736c 46371:0903d6b9b1df
321 def ondupchangelog(cl, node): 321 def ondupchangelog(cl, node):
322 if cl.rev(node) < clstart: 322 if cl.rev(node) < clstart:
323 cgnodes.append(node) 323 cgnodes.append(node)
324 324
325 def onchangelog(cl, node): 325 def onchangelog(cl, node):
326 efilesset.update(cl.readfiles(node)) 326 rev = cl.rev(node)
327 ctx = cl.changelogrevision(rev)
328 efilesset.update(ctx.files)
329 repo.register_changeset(rev, ctx)
327 330
328 self.changelogheader() 331 self.changelogheader()
329 deltas = self.deltaiter() 332 deltas = self.deltaiter()
330 if not cl.addgroup( 333 if not cl.addgroup(
331 deltas, 334 deltas,