On Thu, Mar 31, 2011 at 12:31 PM, Stirnweiss, Siegmund SZ/HZA-ZIT3 <stirn...@schaeffler.com> wrote: > Hello, > > I’m currently thinking about migrating from CVS to SVN, since SVN is said to > be the successor of CVS. > > When analyzing the differences between CVS and SVN I found tags are treated > in a different way in SVN, than they were treated in CVS, because the tag > concept in SVN is: A tag is just a “snapshot” of a project in time.
Tags are suppose to be "snapshots" of a particular version of the application. Sometimes you can adjust a tag if you've tagged the wrong file, but that should be fairly rare. In Subversion, tags take less than a second to do while in CVS, you have to tag each and every file. Long files have to be rewritten after every tag. That, to me is a great advantage in Subversion. > We use tags in CVS to identify the files which have passed module tests and > should make it into our integration test environment. When they have passed > the integration tests we use a different tag to identify the files, which > make up the software in/for our production environment. In addition to that > our development model is not release driven. As a result we do not tag the > HEAD of our complete source tree at a particular point in time. Whoa! That's dangerous. When you pick and choose tags, you may end up tagging the wrong file. Then, this is a CM error and not a developer error. That means the Finger o' Blame points to you and not to the developer who gave you the wrong file or forgot a file. You want that Finger o' Blame pointing not at you. I just came to my current position a couple of months ago, and that's exactly what we were doing. Tagging particular files, and then attempting to build from that tag. I put an immediate stop to that. We build on the head of the branches now. That has eliminated about half of our build errors and deployments go much smoother. Now, there's nothing in Subversion preventing you from attaching a tag to a particular version of a file. You simply copy files to the tag directory one at a time. When a file gets approved, you "tag" it. It's not the standard way to do it, but I've seen shops that do. Even better, Subversion tracks when things were tagged and branched. In CVS, you have no idea when a tag or a branch was created and applied. -- David Weintraub qazw...@gmail.com