In a mercurial repo, the \"default\" branch has fallen very out of date to the point where it no longer makes sense to merge in the changes from \"develop\", a named branch whic
Based on your comment that it is not a requirement to close the branch, here's a series of steps that should get the default branch in tune with the develop branch:
hg update default
hg merge --tool internal:other
-- to merge while privileging the develop branch hg diff -r develop
-- compare with develop to ensure that you have an exact copy hg commit -m "merge updating default to current develop"
Once complete, you should have an updated default that mirrors the develop branch, bringing them back into sync.
If default
has diverged somewhat from develop
and you want default
to be exactly the same as develop
after the merge, you need a slightly different set of commands from what Edward gave you (this will also work where develop
is a direct descendant of default
).
hg update -C default
hg -y merge --tool internal:fail develop
hg revert --all --no-backup -r develop
hg resolve --all --mark
hg commit -m "merge updating default to current develop"
This means that any conflicts will result in an unresolved merge. You then revert everything to be the same as on the develop
branch (with no backup so you don't get lots of .orig files left over).
I think it is better to use a concept in Tortoisehg to explain how it works.
hg update
to develop branchhg branch default
, default restarts again