Posts Tagged cvs
My department is finally off CVS and on pure Subversion
Posted by visual77 in programming on May 14, 2009
As of about 30 minutes ago, my department at my day job is now completely off of CVS. We started our version control on CVS about a year ago, but over the course of the past month, we have fully transitioned to Subversion. Most of the switchovers were fairly easy, since only one project had an outstanding feature branch that needed to be carried over, but I brought over those changes yesterday thanks to the diff and patch functions.
It was actually quite easy. I did a cvs export of that branch at it’s tip and at it’s branch point, ran diff between the two to get what changes were made throughout it’s lifetime and saved that as a patchfile. I then went into the Subversion working copy, ran svn copy on trunk to create this new branch, and used the patch tool to apply the changes in that patchfile. I made sure all worked and committed. With that (and some work today on our last project that was still on CVS), we now are completely done with CVS.
I really could not be happier about this change. Subversion is a far superior system, and best of all, very command line friendly. With CVS, we all worked through a GUI (CrossVC was our GUI of choice), but with Subversion, we just run everything through command line.
My only gripe with Subversion (although CVS is no better) is the inability to commit chunks of files, rather than whole files. I’ve begun developing a workaround that I will post this weekend that involves a temporary checkout, running diff between the working copy and the pristine copy, modifying the patchfile to only contain the areas of interest, and applying the patch to the temporary checkout. You then commit with your note, remove the temporary checkout, update the real working copy, and you’re set. I’m having some issues with patch not liking the modified patchfile, but once I work that out, I’ll post a tutorial on how to do this.
Subversion – I love you
Posted by visual77 in programming on May 5, 2009
I first began using version control just about a year ago. I jumped into CVS initially, although I’ll be damned if I can remember why. I had just been promoted to development manager at my company and we had no version control, none of the three devs knew any version control, but I knew we needed to use it. I picked CVS for some reason long forgotten, probably more random than anything, thinking any version control was better than none (which is true).
About a month ago, I switched the department to using Subversion. I can’t believe how superior it is to CVS. Branching and tagging is done in a more sensible way, where each branch is just a folder on the tree, access through Apache is easier to set up and and easier to use, and command line interaction is way more friendly on Subversion than CVS. My department uses Linux exclusively for development machines and servers, so ease of use on the command line is quite nifty.
I also prefer the way subversion does its revision numbers. Each file having a revision is a bit non-sensical, since often times a file will remain revision 1.1.1.1 for nearly the whole life of a project. I like this revision number applying to the entire tree, instead. It gives you a better view of changesets, and if you make each revision a single, discrete unit of change, reverse integrations from release to trunk and back to branches is super easy.
Subversion, I love you.