title: New remote head when pushing new branch
body: <p>I've created a <code>named</code> branch in mercurial, committed some changes, and now I want to push that back to the central repo. I've done a fetch, verified I have no changes to merge, but when I try to do the push, I'm getting the message <code>push creates new remote head</code> but I don't understand why. I'm the only dev on <em>this</em> branch and it is still local to my repository.</p>
  
  <pre><code>&gt;hg fetch (pull/update/merge)
  &gt;hg status (shows nothing)
  &gt;hg push --new-branch mybranch
   searching for changes
   new remote heads on branch 'default'
   new remote head c3064f3cf1b7
   abort: push creates new remote head c3064f3cf1b7!
   (did you forget to merge? use push -f to force)
  </code></pre>
  
  <p>Any ideas?</p>
  
  <p><strong>Edit</strong>: sorry for any confusion, this <em>is</em> a named branch created by <code>hg branch mybranch</code></p>
  
  <p><strong>Update</strong>: using <code>hg heads</code> yields multiple heads all on different branches. I have one for my branch, and one under default:</p>
  
  <pre><code>changeset:   515:97b9a7802751
  branch:      mybranch
  user:        me &lt;me@mymail.com&gt;
  date:        Mon Feb 27 13:21:54 2012 -0800
  files:       CryptoRandom.cs
  description:
  fixing error message for size of max
  
  
  changeset:   504:c3064f3cf1b7
  user:        me &lt;me@mymail.com&gt;
  date:        Thu Feb 09 11:41:32 2012 -0800
  files:       CipherKey.cs
  description:
  removing ambiguous characters - CAC-47
  </code></pre>
  
  <p>using <code>hg log -r c3064f3cf1b7</code> yields the following (this is the head on default):</p>
  
  <pre><code>changeset:   504:c3064f3cf1b7
  user:        me &lt;me@mymail.com&gt;
  date:        Thu Feb 09 11:41:32 2012 -0800
  files:       CipherKey.cs
  description:
  removing ambiguous characters - CAC-47
  </code></pre>