svn merge does not "move all content". In fact, merging and copying are in Subversion for a wide variety of operations. The merge will accept the changes made to the branch and merge them into a working copy:
$ cd my/working/copy $ svn merge ^/branches/myfeaturebranch .
Merge all (unchecked) changes from ^/branches/myfeaturebranch to my/working/copy . This will leave you a working copy containing all the changes from /branches/myfeaturebranch that you are trying to merge. At this point, you may also have conflicts that must be resolved before committing. (Note that the final act of merging just makes a bunch of changes.)
Copying, on the other hand, is similar to cp -r SRC DST , where SRC and DST can be either local file paths or repository URLs. When copying repo-to-repo, Subversion will copy (not merge) everything from SRC to DST . For instance:
$ svn copy ^/trunk ^/tags/1.0.0
This will copy (or "tag") the current trunk to ^/tags/1.0.0 . If the destination already exists, Subversion will refuse to overwrite it.
So what you want to do is probably something like
$ svn copy ^/trunk ^/branches/dev # create dev branch from trunk $ svn co ^/branches/dev # checkout dev branch $ cd dev $ .... hack away .... $ svn commit .... # commit your development changes $ svn copy ^/branches/dev/ ^/branches/test
Hope this fixes a bit.
source share