# HG changeset patch # User Pierre-Yves David # Date 2023-12-07 02:49:48 # Node ID 1486d8c63f641ba28a2937b61b3feed04d6a50c4 # Parent e306d552dfb126efec571c5834400c84809c7efb persistent-nodemap: avoid writing nodemap for empty revlog The format cannot encode the lack of tip_rev. There is currently nothing known to write such empty nodemap right now, but the change we are preparing on default reveal this issue. So I had rather fix it on stable. diff --git a/mercurial/revlogutils/nodemap.py b/mercurial/revlogutils/nodemap.py --- a/mercurial/revlogutils/nodemap.py +++ b/mercurial/revlogutils/nodemap.py @@ -163,6 +163,8 @@ def delete_nodemap(tr, repo, revlog): def persist_nodemap(tr, revlog, pending=False, force=False): """Write nodemap data on disk for a given revlog""" + if len(revlog.index) <= 0: + return if getattr(revlog, 'filteredrevs', ()): raise error.ProgrammingError( "cannot persist nodemap of a filtered changelog"