Question

I have a mercurial repo with no uncommitted changes. I was on revision 846, and decided my last 2 commits were junk and wanted to carry on as if from revision 844. So I was going to type:

hg revert -r 844 --all

Unfortunately I mistyped, and wrote:

hg revert -r 44 --all

So my whole repository has changed dramatically, including directory structure. I don't see any .orig files, so I don't think the answer in:

How to undo a revert in mercurial

helps me.

hg log still has all of my commits up to revision 846 - do you think I can revert back to revision 846?

Advice very welcome

Was it helpful?

Solution

hg revert just sets your working copy to the revision that you specify so if you didn't do a commit after the revert then your repository has not changed. To fix it you can just do hg update -C and then delete all the .orig files.

After that you can do the correct revert statement to remove the last two revisions.

If you did do the commit then the command that you wanted to do (hg revert -r 844 --all) would still get you to the point that you want by undoing the revert commit as well as the two commits that you originally intended to undo.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top