# HG changeset patch # User Pierre-Yves David # Date 2023-09-25 10:07:25 # Node ID 9461a0b74596a88d0a3e6dcdcd8d59161cde1385 # Parent c690d2cc7f36235e6c63b587613408a2aa03b58e revlog: make `reading` not crash on empty repository If the revlog is empty, the file might not exist and the open will fails. This is not great, but that details or this is now contained in the revlog itself. diff --git a/mercurial/revlog.py b/mercurial/revlog.py --- a/mercurial/revlog.py +++ b/mercurial/revlog.py @@ -2282,9 +2282,12 @@ class revlog: @contextlib.contextmanager def reading(self): """Context manager that keeps data and sidedata files open for reading""" - with self._segmentfile.reading(): - with self._segmentfile_sidedata.reading(): - yield + if len(self.index) == 0: + yield # nothing to be read + else: + with self._segmentfile.reading(): + with self._segmentfile_sidedata.reading(): + yield @contextlib.contextmanager def _writing(self, transaction):