Looks like I slightly branched it / wrong. I did not understand how to fix this correctly, since everyone in this situation is how I got my changes in the trunk, saving most of the history of this short-lived branch:
Find all your files that have changed diff -ur trunk branch . Make sure you look at diff, since any changes in the trunk that are not in the branch will be returned, so ignore these files or, if there are changes in the file in the file, be sure to manually edit diff later.
Copy all new files with svn to keep their history svn cp branch/path/file trunk/path/file
Now you need changes to the files that have not changed. You cannot perform two merges of the source, because (at least in svn 1.7 in cygwin) it will delete and then add the file, destroying the history. The option I chose is to create / apply a patch and make a commit message about what happened.
There is a better way to find out about the fixes, but below is what I did. Keep in mind that you will have to manually fix merge problems if you have files that have been modified in both files.
Create your patch with diff -u trunk/path/file branch/path/file >> patch.patch Do this for each file or go to the recursive flag again and it will have a difficult job.
Do a dry run to make sure the patch works and gets the patched files patch -p0 --dry-run < patch.patch Then patch -p0 < patch.patch it patch -p0 < patch.patch
Then make sure the project builds and validates it.
Leaving this question open in the hope, someone knows the real answer.
source share