![]() |
Home
| Calendar
| Mail Lists
| List Archives
| Desktop SIG
| Hardware Hacking SIG
Wiki | Flickr | PicasaWeb | Video | Maps & Directions | Installfests | Keysignings Linux Cafe | Meeting Notes | Linux Links | Bling | About BLU |
Kent Borg wrote: > So what is the difference between a tag and a branch and a copy? > Nothing, not as far as Subversion is concerned, it is all a matter of > how you use the two different copies. Want to start making changes to > your tag? Fine. Subversion will let you, and you now have turned > your tag into a branch. And if a coworker doesn't notice and quickly > grabs the thing named "releases/version2.1.3" s/he will get the most > recent version of "version2.1.3" not the original "version2.1.3". > > Out of the box, Subversion thinks they are all the same: tag, branch, > or copy. Very scary. You know, I hear this all the time, but nobody has every been able to tell me what's so "scary" about it. What do you think the difference should be between a tag, a branch, and a copy? To me, having them all be copies, used however you want, is a big feature. For instance, I have three web-based applications in Subversion. Instead of having a "trunk", "branches", and "releases" directories like I would for a normal application, I have a "devel" directory and a "live" directory. There's a working copy of each for Apache DocumentRoots, accessible from different URLs. When we want to publish changes from devel, we do an "svn merge", then svn update Apache's working copies, and we're done! That's incredibly useful, and undoable in many other version control products. As for freezing your tag and release copies, there are easy ways of making them read-only, or even read-only by all but a select group of people. I implemented that at one company, and it worked well. Today it's even easier, because you can just have someone lock the tree and leave it locked.
![]() |
|
BLU is a member of BostonUserGroups | |
We also thank MIT for the use of their facilities. |