Below, I review CVS, Subversion, and GIT; three popular open source version control systems. Version control systems are an organizational necessity for any software development project. During the software development process, multiple developers are often working with varying versions of the same code. One version may have a particular bug, while another version may have a particular feature. Essentially, a development team begins developing code, creating the first version. From that original trunk, there are various branches where the same versions of the code may be worked on at the same time, perhaps one team working on one particular bug, while another team works on a different one. Once changes are made, they are then committed back to the repository, the repository being where all past and current versions of the code is kept. Keeping track of which version has what is an incredibly important part of the process that allows developers to track bugs, implement new features, and keep the project moving forward. (Read on …)