I am new to subversion and writing plugins, and one thing I've noticed is that some developers use trunk as their stable release and others use tag numbers. It appears to be 6 and 1/2 dozen. But since I'm learning subversion, I'd like to think through best practice for my workflow. So my question:
Do you think it is better to use trunk as your sandbox, or to use a new tag number as your sandbox?
From what I've gathered so far, you can write plugins / work with svn in one of two ways:
- Edit your
trunkcode for testing, leaving thereadme.txtfile pointing to the latest stable tag untiltrunkis ready to go. Oncetrunkis ready, copy the contents oftrunkto a newtagnumber and update yourstable versioninreadme.txtintrunkto point to the newtag. Or, - Leave the most current stable version of your code in
trunk. Leave thereadme.txtpointing totrunkas the latest stable tag. Do all of your testing inside a newtagversion number folder. Once your new version is stable, copy all of your new version files totrunk.
Seems like if you do it one way, you'll branch to a new tag when you are starting to test a new feature; and in the other, you'll have to merge a revision back to trunk after the feature is stable. Or something like that...svn has a lot of terms to learn: merge, branch, switch, update, commit - oh, and don't forget "add".
I'm mainly curious about efficient workflow, but so far my experience with subversion has been the exact opposite of "efficient workflow". :)