Before moving forward with the next iteration of development, I realized there was some administrative work which needed to be taken care of first. I need to bring source code management technology into the project. With an agile approach to development, it doesn’t take long for a lot of source code and documentation to start piling up. In particular, it’s the number of source code files, which can proliferate and cause confusion. In my opinion, some form of source code management and version control, is absolutely necessary in every software project, regardless of scale, or how many people are working on the project.
There are several aspects to source code management, which should be considered, when selecting tools and technologies for this area of project management. Here are a few things to consider;
- Version control, at the source code file level, and application level
- A safe and secure repository for files and documents
- Controlled access to the repository
- Ability to check out, and check in files, in the repository
- Historical log of who made changes, and the nature of the changes
- Should be easy to use,so as not to distract from core development activities
There are several source code management/repository tools which are readily available. The most popular are;
All three are open source projects, which can be downloaded free of any license fees.
Along with a source code repository and version control system, you also need to find a safe and secure place to host the repository. For this purpose, I chose Google Code. This is a free and secure, project hosting service from Google. Along with hosting the source code repository, Google code provides a number of tools, for documenting and managing projects. Google Code provides easy and convenient access, to the source code of The World of Art project. For review purposes, I plan to provide the readers of this blog, direct access to the source code repository. Google Code supports Subversion, Git and Mercurial.
Finally, I prefer having the luxury, of a transparent integration, between my version control system and my development environment. For this reason, I’ve selected VisualSVN. VisualSVN is a professional grade, Subversion integration plug-in, for Visual Studio. It also supports repository hosting by Google Code. By default, selecting VisualSVN, means I’m also going with Subversion, for source code management.
The following image illustrates the solution explorer, just after the initial commitment of the World of Art project to Subversion, hosted at Google Code. Notice the little green icon next to most elements in the solution. This is a visual indication that the source code file is under version control. The illustration also shows the message log provided by VisualSVN.