I have a branch with several shelves and this branch is now out of developement because we branched a new one from it. Now I need to take over my shelved changes without modifying the old branch to the new one. What is the easiest way?
I know I could unshelve, manually take over the changes and revert the old branch, but that is tedious. Any better solution?
This will take a few steps per changeset.
In the old branch directory, do:
bzr unshelve --keep ID
In the new branch directory, do:
bzr merge --uncommitted OLD_BRANCH_DIRECTORY
bzr shelve --all -m MESSAGE
Back in the old branch, do:
bzr revert
to get it back to its original state.
The unshelve operation puts the changes in the working directory of the old branch, the merge transfers them to the working directory of the new branch, the shelve operation does its usual work, and the revert resets the old branch to its original state.
Choose ID, OLD_BRANCH_DIRECTORY, and MESSAGE as needed. Repeat for each shelved changeset.