A helpful page about svn:
Create a branch:
svn cp https://projectfortress.sun.com/svn/Community/trunk https://projectfortress.sun.com/svn/Community/branches/mybranch
This will copy the trunk copy to a separate directory within the svn server. To use the new branch you have two options
1. Check out the new branch and use it normally
svn co https://projectfortress.sun.com/svn/Community/branches/mybranch
2. If you already have trunk checked out you can convert it to use the branch
trunk/ $ svn switch https://projectfortress.sun.com/svn/Community/branches/mybranch
(What does this accomplish and why would anyone do this instead of checking out the branch?)
If a change is done to trunk that change will not be propagated to the branches automatically. To propagate changes from trunk to the branch use the merge command in the checked-out branch, but only merge from where the branch was created.
mybranch/ $ svn log --stop-on-copy ------------------------------------------------------------------------ r1752 | jon | 2008-05-30 13:05:25 -0600 (Fri, 30 May 2008) | 2 lines make branch for syntax ------------------------------------------------------------------------ mybranch/ $ svn merge -r1752:HEAD https://projectfortress.sun.com/svn/Community/trunk
When the branch is complete and you wish to merge back to trunk do the merge in the trunk directory from the branch
trunk/ svn merge -r1752:HEAD https://projectfortress.sun.com/svn/Community/branches/mybranch
Merge conflicts will be highlighted with a C at which point you need to manually merge the files. If the merge looks ok then svn commit it.
