Hey there! We had some fun incident over at hg.sr.ht caused, mostly, it seems, by the Alpine mercurial package disabling and re-enabling the Rust extensions for a couple releases:
https://git.alpinelinux.org/aports/log/community/mercurial/APKBUILD In the git log above, note the 6.7.3 and 6.7.4 releases sandwiched between commits that disabled/re-enabled the Rust extensions. Judging from the comments on the first commit, they did this because of this bug: https://github.com/dgrunwald/rust-cpython/issues/294 But anyway, the problem is that Rust was enabled before, and so some of our customers' repositories started using persistent nodemaps. When the Rust extensions were disabled by the package upgrade, we started running into errors, because it looks like Mercurial defaults to "abort" when persistent nodemaps are encountered without the Rust extensions being present. We solved it temporarily by setting `storage.revlog.persistent-nodemap.slow-path` to `warn`, system-wide. I wonder if `warn` should be the default behaviour? There are other Mercurial features that still "work with a warning" when stuff is missing, such as obsolete tags found without evolve being activated. Is there a good reason to default to "abort" in the case of persistent nodemaps? Thanks! Ludo _______________________________________________ Mercurial mailing list Mercurial@lists.mercurial-scm.org https://lists.mercurial-scm.org/mailman/listinfo/mercurial