Mercurial > hg
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, |