Created attachment 2051 [details] A unified test demonstrating the bug If a repo has a bookmark "some-bookmark" pointing to a secret changeset, running "hg push -r some-bookmark" will push that bookmark, but not the changeset referenced by that bookmark. This leaves the server's bookmarks in a bad state, because that bookmark now points to a revision that does not exist on the server. See the attachment for a test demonstrating this bug (tested against hg 5.0.1).
I would have expected hg to refuse to push the bookmark, since it is not able to push the changeset referenced by the bookmark.
Fixed by https://mercurial-scm.org/repo/hg/rev/cf9dbc7377de Navaneeth Suresh <navaneeths1998@gmail.com> tests: add test to demonstrate issue6159 Differential Revision: https://phab.mercurial-scm.org/D6740 (please test the fix)
Fixed by https://mercurial-scm.org/repo/hg/rev/3332bde53714 Navaneeth Suresh <navaneeths1998@gmail.com> exchange: abort on pushing bookmarks pointing to secret changesets (issue6159) Until now, if there is a bookmark points to a changeset which is in secret phase, hg will push the bookmark, but not the changeset referenced by that bookmark. This leaves the server bookmarks in a bad state, because that bookmark now points to a revision that does not exist on the server. This patch makes hg to abort on such cases. Differential Revision: https://phab.mercurial-scm.org/D6731 (please test the fix)
Bug was set to TESTING for 7 days, resolving