Comments
Patch
@@ -1989,6 +1989,9 @@
self._revbranchcache = branchmap.revbranchcache(self.unfiltered())
return self._revbranchcache
+ def register_changeset(self, node, changelogrevision):
+ pass
+
def branchtip(self, branch, ignoremissing=False):
"""return the tip node for a given branch
@@ -1641,6 +1641,13 @@
def revbranchcache():
pass
+ def register_changeset(node, changelogrevision):
+ """Extension point for caches for new nodes.
+
+ The changelogrevision object is provided as optimisation to
+ avoid duplicate lookups."""
+ pass
+
def branchtip(branchtip, ignoremissing=False):
"""Return the tip node for a given branch."""
@@ -371,6 +371,8 @@
# so we can set the linkrev accordingly when manifests are added.
manifestnodes[cl.rev(node)] = revision.manifest
+ repo.register_changeset(node, revision)
+
nodesbyphase = {phase: set() for phase in phases.phasenames.values()}
remotebookmarks = {}
@@ -96,6 +96,8 @@
ctx.date(),
extra,
)
+ repo.register_changeset(n, repo.changelog.changelogrevision(n))
+
xp1, xp2 = p1.hex(), p2 and p2.hex() or b''
repo.hook(
b'pretxncommit',
@@ -323,7 +323,9 @@
cgnodes.append(node)
def onchangelog(cl, node):
- efilesset.update(cl.readfiles(node))
+ ctx = cl.changelogrevision(node)
+ efilesset.update(ctx.files)
+ repo.register_changeset(node, ctx)
self.changelogheader()
deltas = self.deltaiter()