# HG changeset patch # User Pierre-Yves David # Date 2021-05-03 10:18:48 # Node ID 5e5fad5166e69087fee10c632369597f47c052ce # Parent 65e6970042c5b0dab8100df7cc15ce41a09bd23a revlog: adjust rewrite_sidedata code to not delete existing revlog content The "w+" file mode is deleting all the content of the opened file. Which is bad… This is not caught by the test because the test only check for a full, initial pull where not pre-existing content exists. So we need to fix our test coverage here. However they are another issue that prevent "incremental" pull to work here. See next changeset for details. Differential Revision: https://phab.mercurial-scm.org/D10543 diff --git a/mercurial/revlog.py b/mercurial/revlog.py --- a/mercurial/revlog.py +++ b/mercurial/revlog.py @@ -3118,7 +3118,7 @@ class revlog(object): current_offset += len(serialized_sidedata) # rewrite the new index entries - with self._indexfp(b'w+') as fp: + with self._indexfp(b'r+') as fp: fp.seek(startrev * self.index.entry_size) for i, e in enumerate(new_entries): rev = startrev + i