--- a/mercurial/changegroup.py Wed Oct 07 14:26:47 2020 +0530
+++ b/mercurial/changegroup.py Sun Oct 18 22:18:02 2020 +0200
@@ -316,20 +316,29 @@
self.callback = progress.increment
efilesset = set()
+ cgnodes = []
def onchangelog(cl, node):
efilesset.update(cl.readfiles(node))
+ cgnodes.append(node)
+
+ def ondupchangelog(cl, node):
+ cgnodes.append(node)
self.changelogheader()
deltas = self.deltaiter()
- cgnodes = cl.addgroup(deltas, csmap, trp, addrevisioncb=onchangelog)
- efiles = len(efilesset)
-
- if not cgnodes:
+ if not cl.addgroup(
+ deltas,
+ csmap,
+ trp,
+ addrevisioncb=onchangelog,
+ duplicaterevisioncb=ondupchangelog,
+ ):
repo.ui.develwarn(
b'applied empty changelog from changegroup',
config=b'warn-empty-changegroup',
)
+ efiles = len(efilesset)
clend = len(cl)
changesets = clend - clstart
progress.complete()