2007-08-24

The Tools: Version Control System

Version Control System (VCS) is a must for every computer programmer, even if he's not working in a team. It is important for a coder, because coding and experimenting are inseparable sisters. Sometimes, experiments fail and you have to (or at least - you want to) go back to where you were three days ago. Usually, in such situations, a coder would get really frustrated because he doesn't have any backups. However, if you are using VCS - you all of your backups. You jest check the log, figure out which revision do you need, and then you can easily roll back to that revision. I don't think I have to explain why it is a must when you're working in a team...

So, what is the VCS of my choice? It's Subversion (SVN) + TortoiseSVN. Yes, I have heard about Perforce, and it is probably very good (because there was a lot of people who suggested it on various forums). However, Perforce is not free (you have to buy the commercial Perforce license if you want more than 2 users or 5 workstations) - although I'm working alone, some people might join me in the future. Also, I don't really want to limit myself to open source projects - I might want to release some closed source projects as well. So, I just use the most popular free tool on earth.

Well, actually, I didn't really choose SVN - I already had it my computer (because of some open source projects in which I participate), so I'm really familiar with it and I don't really want to install anything else.

One thing to note. If you're worried that your computer might die one day - you can make backups of your SVN repositories. Personally, I make one backup each week - I actually sleep better that way.

No comments: