Saturday 21 November 2015

Opinion: Version Control System

When I started my career, most of my works involve usage of various version control systems from CVS,SVN, Git. (And I work on Windows platform most of the time and this is the platform that will be discussed here). I am amused of seeing engineers doing lots of command line to do version control operations. Now, if you are thrown to a different version control, it will take some learning curve to know the commands, etc. But what I feel is that the wisest thing to do is to learn Tortoise-(cvs,svn, or git). Why? because the interface is the same, the learning curve will be lower. In my experience with Tortoise*, all of the basics operations are covered (pulling, pushing to repo, commit, etc).

I was introduced first to SVN, and it was my eye opener into the world of version control. My boss suggested to use TortoiseSVN and after some few tutorials, I was able to grasp the concepts.  Then, I came to another company which uses CVS. My boss gave me a GUI tool for CVS and I struggled. After searching from the internet, I found out that there is TortoiseCVS! Since I have experience with TortoiseSVN, using and learning the TortoiseCVS is a piece of cake. :)

Now I went to another company. They are using Git and I used TortoiseGit. There was a learning curve due to distributed nature of Git, but after some few days, I was able to grasp the concept and efficiently use TortoiseGit. (I can even use my favorite WinMerge to do comparison/code review when viewing logs or before commiting to the local repo)

Tortoise* is a very good platform to unify the look and feel of a version control system. It gives all the basic needs to perform the necessary version control operation for our projects. Although I admire those people who can do version control operations via command line, for sure they can do lots of advanced things but I would personally stick to the important operations offered by Tortoise* in which I can do the things that are important to me: retain the linear history of my commits (no matter if the branching and linearity of the history is ugly or not) and to safely keep my/ or team's source codes.

Thank you to the Tortoise* team. Thanks for providing us this outstanding software tool.

No comments:

Post a Comment