# HG changeset patch # User Pierre-Yves David # Date 1695636445 -7200 # 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 -r c690d2cc7f36 -r 9461a0b74596 mercurial/revlog.py --- a/mercurial/revlog.py Mon Sep 25 11:59:38 2023 +0200 +++ b/mercurial/revlog.py Mon Sep 25 12:07:25 2023 +0200 @@ -2282,9 +2282,12 @@ @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):