In a project, I have a default branch and another named branch. After a merging both branches and committing it, the graph in TortoiseHg shows that both branches have been merged. However, pu开发者_运维百科shing to a remote repository (which is at the stage before branching, it only has the default branch), I get the message "abort: push creates new remote branches".
If I'm not mistaken, I'm left with one branch after merging, so why this error message? Note: the graph still shows that I have 2 heads, is it in anyway related to this?
You're getting that error message because the named branch -- and all its changesets -- still exists in your local repository: you've merged the changes into the default
branch, that's all.
You see two heads because you're using a named branch: from the help text for hg heads
(the command line equivalent of selecting Heads in the repository explorer):
Branch heads are changesets that have no child changeset on the same branch.
Since you have two branches in your local repository (default
and the named branch), you have two heads by definition.
To resolve the error message that you're getting, in the repository explorer, there's a Push New Branch option at the bottom of the Synchronize menu; select it, then you should be able to push to the remote repository.
精彩评论