Undo an hg push (backout?)

Viewed 38983

I made a big oops, and could use some help undoing it.

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.

The stable repository now looks like this:

*merge
| \
|  \
|   *b
*a  |
|  / 
*c

where a is the commit that should be the tip of the stable repository, b is all the stuff that we've done in the development repository, and c is the point we branched the development repository.

How do I go about making it back to:

*a
|
*c

(I know I can't really make changes go away, I'm just looking for a functional structure...)

I've read some things that make me think that hg backout is the command I need, but I'm not exactly sure what it does.

4 Answers
Related