This is a fairly common mistake to make. The svn merge syntax is not to specify the from_branch and to_branch like other revision control systems (for example, Perforce). The thing to remember is that svn merge is effectively just svn diff, the only difference being that instead of showing you the diffs, it applies them directly to your working copy.
So you need to specify how to generate the changes you wish to merge into your working copy. You do this by naming the path@revision for the two end-points which would generate the diffs you are interested in. The common case is to merge the differences from one branch to another (as you are doing), in which case the command is:
Code:
svn checkout <url_of_trunk> working_copy_name
cd working_copy_name
svn merge -r<start_revision>:<end_revision> <url_of_branch>
The first two commands just get you a copy of trunk, which I am sure you are familiar with. The svn merge command diffs your branch at revision start_revision and end_revision and applies those changes to your working copy, which is trunk. If you are happy with the changes you then svn commit to actually apply those changes to trunk in the repository.
So, if you reread your original command what you actually said was "how do I take trunk and convert it to look like branch? Then make those changes in my working copy". So you ended up with an exact copy of branch rather than attempting to apply the changes made on your branch which is what you really wanted.
Good luck with the merge - conflicts aren't usually much fun!
Bookmarks