title: Mercurial: Removing a single, non-head, changeset
body: <p>How do I remove a single changeset (which is not a head) from a repository?</p>
  
  <ul>
  <li><code>hg strip</code> doesn't work because I don't wanna remove the descendants.</li>
  <li><code>hg rebase</code> on a head and then <code>hg strip</code> <em>would</em> work, but I can't rebase on a descendent. (that yields an error)</li>
  </ul>
  
  <p>My changeset is not related to anything else (it's just a bunch of file adds I shouldn't have made), so it <em>should</em> be easy to remove without problems. Also, my repository in fact has a linear history (each changeset only has one child and in particular, there's only one head).</p>
  
  <h2>Background</h2>
  
  <p>I'm using hgsubversion and either it or my SVN server crash when I try to push a commit that touches any file that has umlauts in its name. I accidentally added such a file and then did some other work on top of it. Now the offending commit needs to be removed.</p>