Thanks to some previous help on here with SVN I have started to make some headway with implementing SVN into our company. I am using Tortoise SVN and am just a little unsure about the correct working procedures for creating updates. This is the procedure Im currently following, but have 3 questions (shown in bold).
- When I first developed the website I created a local working directory D:\Sites{mywebsite}
- I released the website, committed everything to the trunk and created a tag called Version 1.0
- I now need to create some updates, so I've created a branch from the trunk called {my-branch} Question - whenever I want to create a branch do I have to checkout the trunk to a local working directory and then use the brancg/tag option in Tortoise? There doesnt seem to be a way of doing this with tortoise without having a local working copy.
- I have used the switch command to change my local working directory from trunk to {my-branch}
- Once I'm done making all the changes to the branch and im satisfied evrything is working I need to merge branch and trunk. Question - I'm unsure what I should be doing here - am I merging trunk into my working copy (which is now a specific branch) or am I merging my branch back into the trunk?
- Question - once I have released the changes should I be creating another tag Version 1.1/2.0 etc?
Based on Akton's very good feedback, I am just updating the question to clarify one final point:
1) On 1st January I create a branch called "implementation of new uploader". I check out the code to my working copy and make changes up until the 20th Jan (checking-in to the branch as I go).
2) During this time two team members have created their own branches, released the changes and merged back into the trunk.
3) On 1st Feb I am ready to release. On Akton's feedback, I merge the current trunk into my working copy (which is my branch). I resolve any issues and then do I commit everything back into my branch? This will now contain the two code updates that my two colleagues also merged into the branch. I wasn't sure whether my branch should now also contain other updates from other team members?
4) Finally I merge my branch back into the trunk - but surely this should be extremely simple because my branch is now almost a mirror image of the trunk but also now contains just my updates?
If my understand listed above is correct, I think I have it!
Thanks for all your help.
Regards, Al