Archive for July, 2008

CVS vs Subversion, Part 2 - git and bazaar

Thursday, July 31st, 2008

Wow, I made that last posting about CVS vs Subversion as my own little rant and posted the link in a couple LUGs that I hang out in on IRC & did I ever get it. Of course I was expecting certain things, Nobody ever said CVS was better than Subversion. I realize that, that’s why I was ranting about having to use it at work.

I also got other things like you forgot git and bazaar! I forgot to mention git until the very end and then only briefly. Forgetting git is like forgetting to calculate gas prices into your monthly budget - this I like. The sad thing is that most people completely forget version control and don’t even bother to make it a part of their development process.

If forgetting a specific version control system is like forgetting to calculate gas prices into your monthly budget… Just think what that means when you forget to even bother with version control.

It was also brought to my attention that CVS does a number of things I was ranting about against it. Apparently I didn’t make it clear enough that in a lot of cases SVN just seems to be a lot easier to deal with and find information about.

Some of the points I should have definitely made for SVN include the fact that SVN treats directories as files as opposed to CVS which does not. SVN also makes it very easy to move files around and keep a history of this - something that CVS does not, but apparently CVSNT (and I still haven’t met anybody that’s heard of this except the developer lead where I’m working) does.

Something else that I like about SVN is that each check in creates an entire new version - the version on every file gets incremented. For people initially moving from CVS this tends to freak them out. I had the same reaction… It sounds like that would mean it uses up a lot of space, but in reality it doesn’t. What makes this feature really nice is that you can check out any particular revision of the repository and you have all of the files that were available in that revision… This is very hard to do with CVS.

I have to admit that I’ve not yet actually done anything with git or bzr, but they’re on my list. Considering the types of companies and projects using these 2 distributed version control systems it’s definitely in your best interest to start looking at them now if you’re not already.

  • Share/Save/Bookmark

CVS vs Subversion

Tuesday, July 1st, 2008

At work I’m currently stuck using CVS… I think we’re planning to make the move to Subversion (SVN), but I’m not sure when. I’ve used CVS in the past, but I didn’t know a whole lot about what I was doing and most of what I was doing was via a GUI on windows. I knew what CVS was doing with the diffs it was taking because I had messed around with RCS and looked at the version files RCS creates - CVS started out as a bunch of shell scripts for RCS. Beyond the basics of checkout and commit I’m really not all that familiar with CVS anymore. All I ever really did was either utilized a local repository or somebody else provided me with a checkout command for either a kserver or a pserver. I still have no idea what the difference is between a kserver or a pserver.

After I got started with SVN it seemed like all the esoteric wizardly commands disappeared. SVN seems to have a lot of sane aliases for various commands making them easier to remember. Let’s take the delete command for example. On Unix to delete a file you use rm (ReMove) and on DOS/Windows you use del (short for delete), both CVS and SVN have multiple aliases, but it’s not as obvious for CVS - you’ll have to go digging pretty far through the man page to find them. Here’s CVS help:
(more…)

  • Share/Save/Bookmark