GUIDE - METHOD 1
This guide will help you to transplant all your fork changes to the parallel branch. It needs TortoiseHg, which works on both Windows & Linux (IIRC, OS X too):
1. Before you do anything, MAKE A BACKUP. Just copy the repo to another folder, in case you screw up.
1. First you have to be sure that the strip extension is enabled:
- Step00.png (62.61 KiB) Viewed 5325 times
If it wasn't, tick the checkbox and restart Tortoise Workbench.
2. Your repo will look like this. In the picture, you want to move the commits that say "Commit to move 0N" to the new branch.
- Step01.png (166.5 KiB) Viewed 5325 times
3. Make sure the current active commit is the "good" branch. The active commit will become the parent of the changes you will be moving. If you're unsure, you should probably probably select the first common cloned parent; otherwise you could get merge conflicts during the process.
Now, select all the commits you want to transplant, then right click, then "Graft Selected to Local". Note that the order in which you select the commits seems to be important, as I got a merge conflicts in one of my attempts. I simply restarted the Graft and that did the trick.
- Step02.png (125.29 KiB) Viewed 5325 times
4. You will see a window like this one. Hit the Graft button and wait for it to finish.
- Step03.png (50.13 KiB) Viewed 5325 times
5. If there were no merge conflicts (if you chose the right ancestor, there shouldn't), it should look like this:
- Step04.png (85.74 KiB) Viewed 5325 times
6. Now choose the bad commit that needs to be stripped. Right click, Modify History->Strip.
- Step05.png (101.91 KiB) Viewed 5325 times
- Step06.png (31.7 KiB) Viewed 5325 times
7. If you've done it correctly; you've succeeded:
- Step07.png (93.09 KiB) Viewed 5325 times