revlog: pass a transaction object to `rewrite_sidedata`
The `_writing` context need one, so we update the function signature before considering using `_writing` in rewrite_sidedata.
Differential Revision: https://phab.mercurial-scm.org/D10607
--- a/mercurial/changegroup.py Mon May 03 12:27:53 2021 +0200
+++ b/mercurial/changegroup.py Mon May 03 12:28:05 2021 +0200
@@ -449,11 +449,13 @@
if sidedata_helpers:
if revlog_constants.KIND_CHANGELOG in sidedata_helpers[1]:
- cl.rewrite_sidedata(sidedata_helpers, clstart, clend - 1)
+ cl.rewrite_sidedata(
+ trp, sidedata_helpers, clstart, clend - 1
+ )
for mf, (startrev, endrev) in touched_manifests.items():
- mf.rewrite_sidedata(sidedata_helpers, startrev, endrev)
+ mf.rewrite_sidedata(trp, sidedata_helpers, startrev, endrev)
for fl, (startrev, endrev) in touched_filelogs.items():
- fl.rewrite_sidedata(sidedata_helpers, startrev, endrev)
+ fl.rewrite_sidedata(trp, sidedata_helpers, startrev, endrev)
# making sure the value exists
tr.changes.setdefault(b'changegroup-count-changesets', 0)
--- a/mercurial/revlog.py Mon May 03 12:27:53 2021 +0200
+++ b/mercurial/revlog.py Mon May 03 12:28:05 2021 +0200
@@ -3120,7 +3120,7 @@
return d
- def rewrite_sidedata(self, helpers, startrev, endrev):
+ def rewrite_sidedata(self, transaction, helpers, startrev, endrev):
if not self.hassidedata:
return
# inline are not yet supported because they suffer from an issue when