# HG changeset patch # User Pierre-Yves David # Date 1701905648 -3600 # Node ID 66417f55ea33c3ed3c1357200b1321b7b11da495 # Parent 962974a5d0685494f06dcb9b7d0473871ed8f1ef revlog: avoid exposing delayed index entry too widely in non-inline revlog Before this change, the index entry would be seen as "appended" to the data file. It did not hurt too much as there are never accessed for reading, but this was odd. So lets stop doing so. diff -r 962974a5d068 -r 66417f55ea33 mercurial/revlog.py --- a/mercurial/revlog.py Wed Dec 06 15:38:15 2023 +0100 +++ b/mercurial/revlog.py Thu Dec 07 00:34:08 2023 +0100 @@ -1173,7 +1173,9 @@ self.opener.unlink(self.index_file) return self.index_file else: - self._segmentfile._delay_buffer = self._delay_buffer = [] + self._delay_buffer = [] + if self.inline: + self._segmentfile._delay_buffer = self._delay_buffer return None def write_pending(self): @@ -1193,7 +1195,11 @@ ifh.seek(0, os.SEEK_END) ifh.write(b"".join(self._delay_buffer)) any_pending = True - self._segmentfile._delay_buffer = self._delay_buffer = None + self._delay_buffer = None + if self.inline: + self._segmentfile._delay_buffer = self._delay_buffer + else: + assert self._segmentfile._delay_buffer is None self._orig_index_file = self.index_file self.index_file = pending_index_file self._segmentfile.filename = self.index_file