title: How to push, without creating new heads, after creating multi-head branch, rebase and several merges
body: <p>I did a series of dumb steps with <em>my local copy</em> of our shared repository, and I'm looking for a way how to fix it. The steps are:</p>
  
  <ul>
  <li><p>I used bookmarks to have multiple heads of a development branch, that other people use:</p>
  
  <pre><code>-o---o---o-----o---   &lt;- dev branch
    \----1----1------   &lt;- another head of the dev branch,
                           where I committed stuff
  </code></pre></li>
  <li><p>I created a new branch, still local, some time later</p>
  
  <pre><code>  /---------------x   &lt;- new branch
  -o---o---o-----o---   &lt;- dev branch
    \----1----1------   &lt;- another head of the dev branch,
                           where I committed stuff
  </code></pre></li>
  <li><p>for one head, that contains only my code, I did a rebase on another branch</p>
  
  <pre><code>                   /-1'--1'--  &lt;- rebase
    /---------------x            &lt;- new branch
  -o---o---o-----o---            &lt;- dev branch
    \----1----1------            &lt;- another head of the dev branch,
                                    where I committed stuff
  </code></pre></li>
  <li><p>then, I merged the rebase, and then, a couple of commits later, I merged default</p>
  
  <pre><code>                   ----------d-\      &lt;-default
                                  \
                     /-1'--1'\     \
    /---------------x--------x--x-x-x-- &lt;- new branch 
  -o---o---o-----o---         
    \----1----1------         
  </code></pre></li>
  </ul>
  
  <p>Now, I wanted to push my new branch to the server (<code>hg push --new-branch -b newBranch</code>), but I get <code>abort: push creates new remote head</code>, since commits <code>1'</code> belong to dev branch.</p>
  
  <p>What is the right thing to do? I would like to avoid creating this additional head.</p>
  
  <p><em>Update</em>:</p>
  
  <p>Per request, this is the output of <code>hg heads</code>:</p>
  
  <pre><code>changeset:   839:f2033d695fcd  &lt;- want to push this
  branch:      newBranch
  tag:         tip
  user:        me
  date:        Wed Oct 31 13:05:51 2012 +0100
  
  changeset:   826:7fde19d7f467
  branch:      devBranch
  user:        my-collegue
  date:        Tue Oct 23 14:59:42 2012 +0200
  
  changeset:   820:23853bbf68df  &lt;- the part after rebase that got merged
  branch:      devBranch
  user:        me
  date:        Mon Oct 22 15:36:26 2012 +0200
  
  changeset:   807:899344cfb145  &lt;- obsolete (branch with 1's)
  branch:      devBranch
  parent:      711:454f29c03fb1
  user:        me
  date:        Mon Oct 22 15:36:26 2012 +0200
  
  changeset:   712:d5e8a62a7f5f  &lt;- default, needs to stay
  parent:      648:2bbcc01aa191
  user:        me
  date:        Wed Aug 22 16:21:09 2012 +0200
  </code></pre>