diff -r a32d739b0ffb -r 5a62d56e3955 mercurial/store.py --- a/mercurial/store.py Sun May 21 02:15:04 2023 +0200 +++ b/mercurial/store.py Sun May 21 02:16:24 2023 +0200 @@ -686,6 +686,12 @@ ) def top_entries(self, phase=False) -> Generator[BaseStoreEntry, None, None]: + if phase and self.vfs.exists(b'phaseroots'): + yield SimpleStoreEntry( + entry_path=b'phaseroots', + is_volatile=True, + ) + files = reversed(self._walk(b'', False)) changelogs = collections.defaultdict(dict) @@ -725,11 +731,6 @@ target_id=b'', details=file_details, ) - if phase and self.vfs.exists(b'phaseroots'): - yield SimpleStoreEntry( - entry_path=b'phaseroots', - is_volatile=True, - ) def walk( self, matcher=None, phase=False