I have source files managed in SVN using TortoiseSVN. I had added files and committed them to a revision, and subsequently decided to branch. I branched with the files I needed, and performed a delete on the trunk of the files that wasn't intended to be used.
Now I'm attempting to reintegrate the branch to the main trunk. Using tortoise, I have merged from trunk to branch the range of revisions from AFTER the delete on the trunk to head. This brings the branch up to date.
Now I switch to the trunk, and attempt to merge the revisions from the branch to the trunk, and the merge indicates new files being "skipped" or the deletion of my files which are now complete.
Am I missing something on the merging to being the trunk up to date?
In order to do a reintegration, you need to merge ALL revisions from Trunk
that occurred after you branched into the branch you're looking to reintegrate.
Below is an example:
You'll note that we included the deletion of your files (Rev 22) as part of the merge to Feature Branch (Rev 25).
Your files that you desire to have in your Feature Branch
will be deleted when you merge in changes from Trunk
during Rev 25. This is true and accurate regarding what actually happened in the Trunk
. You will have several options here:
Trunk
were modified in Feature Branch
during Rev 24, you'll receive a Tree Conflict when attempting to merge as per Rev 25. You can simply mark the conflict as resolved using your local changes when performing the merge.Feature Branch
and then subsequently perform any other merges necessary into Feature Branch
(this should be equivalent to what I mentioned in #1)Feature Branch
as per Rev 25. When the merge is complete, you can view the log of Feature Branch
and revert the changes made in Rev 25 (the merge itself) which deleted your files by cherry picking the files and reverting each one. These reversions will restore the files as new to be added to the repository of Feature Branch
. Note that these files will NOT be the same in the history as the original files. These are considered brand new files as far as SVN is concerned so they do not share any ancestry with their original counterparts.