Leveraging Source Control Platforms

Version Control Source Code Management

In order to work as a team effectively on a single project, you need a way to coordinate your source code and other important project assets. That’s why at JVF we keep all of our project artifacts in a single, authoritative place using Tortoise SVN.

If you don’t use source control you’re playing with fire. By using a source control platform it will allow you to create a repository with views into the evolution of your software stacks. Plus, it gives you another area that acts as a backup in addition to a quick way of allowing multiple developers to work together. The repository is the master storage for all of your files and their history. It’s typically stored on your server in order for all developers to have access to it.

Continuous Integration

For those not familiar with source control, it’s a form of software that performs an orderly process in which developers checkout the latest code from the server, do their work, run all of the tests to confirm that their code works, then check-in their changes. The process is called continuous integration, which helps coordinate changes to files and also provides a history of changes.

There is no practical alternative to source control, that’s why we are thankful for the concurrent model which allows two people to edit the same file simultaneously. Tortoise SVN automatically merges their changes, so nothing gets overwritten accidentally. If two people edit the exact same lines of code, the version control system prompts them to merge the two lines so there is no confusion.

To us it’s obvious that storing your source code in some form of source control is a necessity. With good version control practices, you can easily coordinate changes with other members of your team. It also allows you to easily reproduce old versions of your software when you need to in addition to recovering and deploying old builds in little time.

Some of the other features that we find helpful is the ability of working in a safe and secure environment that can be managed within the cloud. This allows us the ability to separate user rights and roles to manage different access levels so you can go back in history to revive old code. Another feature we use all the time allows you to compare functionality in order to isolate exact changes needed for system patches & updates.

Source control gives you the confidence to carry out more ambitious experimental work, while making your everyday working processes simpler and more satisfying. Source Control is also Open-source, so the software is distributed free and has a rich development community. Since there are many source control platforms for you to choose from it is up to you to find the one that best fits your needs.