title: Undo an hg push (backout?)
body: <p>I made a big oops, and could use some help undoing it.</p>
  
  <p>We have two repositories-a fairly stable repository, and a repository we're working on changes in.  I just made a defect fix in our stable repository, and was moving it up to the working repository.  I pulled from the stable repository, merged, then accidentally pushed to the stable repository.</p>
  
  <p>The stable repository now looks like this:</p>
  
  <pre><code>*merge
  | \
  |  \
  |   *b
  *a  |
  |  / 
  *c
  </code></pre>
  
  <p>where <code>a</code> is the commit that should be the tip of the stable repository, <code>b</code> is all the stuff that we've done in the development repository, and <code>c</code> is the point we branched the development repository. </p>
  
  <p>How do I go about making it back to:</p>
  
  <pre><code>*a
  |
  *c
  </code></pre>
  
  <p>(I know I can't really make changes go away, I'm just looking for a functional structure...)</p>
  
  <p>I've read some things that make me think that <code>hg backout</code> is the command I need, but I'm not exactly sure what it does.</p>