login as: apache apache@testsvn's password: Last login: Wed Aug 10 16:40:28 2011 from pc3993.datcon.co.uk # 1. Create a directory to work in and a repository [apache@testsvn1 ] ~> mkdir mydir [apache@testsvn1 ] ~> mkdir mydir/all [apache@testsvn1 ] ~> mkdir mydir/trunkco [apache@testsvn1 ] ~> mkdir mydir/branchco [apache@testsvn1 ] ~> mkdir mydir/repos [apache@testsvn1 ] ~> svnadmin create /svn/mydir/repos/project # 2. Check out a working copy of the repository [apache@testsvn1 ] ~> cd mydir/all [apache@testsvn1 ] ~/mydir/all> svn checkout file:///svn/mydir/repos/project Checked out revision 0. # 3. Add trunk and branch folders to the working copy of the repository and add folder ‘dollar$folder’in trunk then create an example file within this folder [apache@testsvn1 ] ~/mydir/all> mkdir project/branches [apache@testsvn1 ] ~/mydir/all> mkdir project/branches/mybranch [apache@testsvn1 ] ~/mydir/all> mkdir project/trunk [apache@testsvn1 ] ~/mydir/all> mkdir project/trunk/dollar\$folder [apache@testsvn1 ] ~/mydir/all> touch project/trunk/dollar\$folder/example.txt # 4. Commit the changes of the repository [apache@testsvn1 ] ~/mydir/all> cd ~/mydir [apache@testsvn1 ] ~/mydir> svn add all/project/branches A all/project/branches A all/project/branches/mybranch [apache@testsvn1 ] ~/mydir> svn add all/project/trunk A all/project/trunk A all/project/trunk/dollar$folder A all/project/trunk/dollar$folder/example.txt [apache@testsvn1 ] ~/mydir> svn commit -m "added branch and trunk folders" all/project Adding all/project/branches Adding all/project/branches/mybranch Adding all/project/trunk Adding all/project/trunk/dollar$folder Adding all/project/trunk/dollar$folder/example.txt Transmitting file data . Committed revision 1. # 5. Create a branch of the trunk [apache@testsvn1 ] ~/mydir> svn copy -m "create a branch" file:///svn/mydir/repos/project/trunk file:///svn/mydir/repos/project/branches/mybranch Committed revision 2. # 6. Checkout the branch into the working directory [apache@testsvn1 ] ~/mydir> cd branchco [apache@testsvn1 ] ~/mydir/branchco> svn checkout file:///svn/mydir/repos/project/branches/mybranch A mybranch/trunk A mybranch/trunk/dollar$folder A mybranch/trunk/dollar$folder/example.txt Checked out revision 2. # 7. Checkout trunk to the working directory, modify the file # within ‘dollar$folder’ and commit the changes to the repository [apache@testsvn1 ] ~/mydir/branchco> cd ~/mydir/trunkco [apache@testsvn1 ] ~/mydir/trunkco> svn checkout file:///svn/mydir/repos/project/trunk A trunk/dollar$folder A trunk/dollar$folder/example.txt Checked out revision 2. [apache@testsvn1 ] ~/mydir/trunkco> cd trunk/dollar\$folder [apache@testsvn1 ] ~/mydir/trunkco/trunk/dollar$folder> vi example.txt # add some text to the file using vi [apache@testsvn1 ] ~/mydir/trunkco/trunk/dollar$folder> svn commit -m "added text to example file" ~/mydir/trunkco/trunk Sending dollar$folder/example.txt Transmitting file data . Committed revision 3. # 8. Try and merge the changes of the trunk into the checked out branch [apache@testsvn1 ] ~/mydir/trunkco/trunk/dollar$folder> cd ~/mydir/branchco/mybranch [apache@testsvn1 ] ~/mydir/branchco/mybranch> svn merge file:///svn/mydir/repos/project/trunk Skipped missing target: 'dollar$folder/example.txt' # ERROR! Skipped missing target: 'dollar$folder' # ERROR! [apache@testsvn1 ] ~/mydir/branchco/mybranch>