diff -r f8bf1a8e9181 -r 71ae6fee2b9d mercurial/phases.py --- a/mercurial/phases.py Tue Feb 20 21:40:13 2024 +0100 +++ b/mercurial/phases.py Wed Feb 21 15:24:22 2024 +0100 @@ -674,6 +674,8 @@ repo.invalidatevolatilesets() def _retractboundary(self, repo, tr, targetphase, nodes=None, revs=None): + if targetphase == public: + return False # Be careful to preserve shallow-copied values: do not update # phaseroots values, replace them. if revs is None: