# HG changeset patch # User Pierre-Yves David <pierre-yves.david@octobus.net> # Date 1701479541 -3600 # Sat Dec 02 02:12:21 2023 +0100 # Branch stable # Node ID e9eac01c57f3872cff1376631ce66844a625f4cd # Parent c136c797740ef89da6a090ab7e9ad4346db2f07c revlog: add a `may_inline` argument to revlog This allow for a clean skipping of the inline feature when needed, for example by censor. diff --git a/mercurial/revlog.py b/mercurial/revlog.py --- a/mercurial/revlog.py +++ b/mercurial/revlog.py @@ -1308,6 +1308,7 @@ data_config=None, delta_config=None, feature_config=None, + may_inline=True, # may inline new revlog ): """ create a revlog object @@ -1333,6 +1334,7 @@ self.postfix = postfix self._trypending = trypending self._try_split = try_split + self._may_inline = may_inline self.opener = opener if persistentnodemap: self._nodemap_file = nodemaputil.get_nodemap_file(self) @@ -1598,7 +1600,9 @@ elif b'revlogv2' in opts: new_header = REVLOGV2 elif b'revlogv1' in opts: - new_header = REVLOGV1 | FLAG_INLINE_DATA + new_header = REVLOGV1 + if self._may_inline: + new_header |= FLAG_INLINE_DATA if b'generaldelta' in opts: new_header |= FLAG_GENERALDELTA elif b'revlogv0' in self.opener.options: