16

Occasionally when performing a rebase using the MercurialEclipse plugin my repository gets thrown into an odd state. It will become stuck in a "rebasing" state, yet when I try to abort the rebase (e.g. "hg rebase -a") I get this error message:

abort: unknown revision 'xxxx'!

Where xxxx is a revision hash. Usually at this point I've abandoned all hope of performing the rebase -- I just want to get back to a happier time when my repository was not screwed up. So far my solution has been to nuke my project directory and clone it again. Is there a less drastic solution?

NobodyMan
  • 2,381
  • 4
  • 29
  • 35
  • 1
    I can confirm the issue still exists, this was discussed on the lists: http://comments.gmane.org/gmane.comp.version-control.mercurial.devel/36295 but no fix is still in – jontro Jun 25 '12 at 12:44

2 Answers2

18

Just remove the .hg/rebasestate and your repo will work.

The patch described in this thread calls the internal function clearstate which just unlinks this file.

jontro
  • 10,241
  • 6
  • 46
  • 71
  • Hah, it worked! Thanks also for finding the issue on the hg devlist. Perhaps we can revisit this answer once the issue is fixed. – NobodyMan Jun 25 '12 at 18:05
1

In situations similar to this, I usually do:

$ hg check
$ hg verify
$ hg up -C default

Instead of default, use whatever branch you're working on. This takes time, but so does re-cloning the repo.

It usually helps.

Helgi
  • 5,428
  • 1
  • 31
  • 48