1
votes

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, pushing 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?

1
Did some other pushed changes into the remote repository? What does Mark incoming changes show?Rudi

1 Answers

2
votes

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.