I'm not sure what the official policy about bookmarks behavior is, but if they are supposed work like lightweight branches, --force should not be needed when exporting a bookmark that starts a new branch.
I agree with you. As I see it, we warn users when they push changesets that will end up as anonymous heads in a repository. This is to prevent people who subsequently clone the repository from wondering which head they want to use. So if a head is named via a bookmark, then I think we should allow it to be pushed. On the other hand, pushing it without a warning differs from how we handle the creation of new named branches: there you need --new-branch flag. I'm not sure what the argument is for requiring --new-branch, so I am also not sure why you would need a flag for pushing multiple bookmarked heads.
I tend to agree with this. I think no warning needs to be displayed nor should --force be required when publishing new bookmarks that create a new head. I often want to publish new bookmarks to a bitbucket repository and I would have expected hg push -B my_bookmark to "just work".
--- Bug imported by bugzilla@serpentine.com 2012-05-12 09:12 EDT --- This bug was previously known as _bug_ 2372 at http://mercurial.selenic.com/bts/issue2372
Unassign some bugs with no activity.
Patch has been filed. http://markmail.org/message/osli572jxcdlbsrj
Fixed by http://selenic.com/repo/hg/rev/a14d93b2fb1b Stephen Lee <sphen.lee@gmail.com> bookmarks: allow push -B to create a new remote head (issue2372) Push is currently allowed to create a new head if there is a remote bookmark that will be updated to point to the new head. If the bookmark is not known remotely then push aborts, even if a -B argument is about to push the bookmark. This change allows push to continue in this case. This does not require a wireproto force. (please test the fix)