Source/Version Control ToolsUse a Source/Version Control tool to record and track changes to your configuration & code in Salesforce over time so that you have the entire history of changes made to the Org. Source/Version Control tools will also make it easier to compare the changes made and revert to the previous version if required. In an environment where there are multiple developers/configurators making changes to the system, this tool will also ensure that there are no conflicts and people are not overwriting each other’s changes.

There are three types of source/version control system

  • Local Version Control – Keeps all the code and versions in the local system
  • Central Version Control – Keeps all the code and versions in a central system. Developers pull the files that they need but don’t keep the full copy of the project locally. Some of the most common version control systems are centralized, including Subversion (SVN) and Perforce. The biggest drawback of this approach is a single point of failure because of the dependency on a central server
  • Distributed Version Control – Distributed version control system was introduced to address the drawbacks of a centralized version control system. In this, the clients completely clone the repository including its full history so that they are not dependent on a central server to store all the versions of a project’s files. If the server dies, any of the client repositories can be copied on to the server to help restore the server. Two common distributed version control systems are Git and Mercurial.

(Tools, that I personally use/have used and recommend are marked with a heart)

1. Git  ()

    • The Open-source distributed version control system
    • Designed to handle everything from small to very large projects with speed and efficiency.
    • Free

2. GitHub  ()

  • Cloud-based
  • Has a free plan with limited features
  • Paid plan starts from US$ 4/user/month

3. BitBucket  ()

    • Cloud-based version control repository hosting service owned by Atlassian
    • Build, test, and deploy with unlimited private or public space
    • Has a free plan with limited features
    • Paid plan starts from US$ 3/user/month (Free 7 days trial)

4. Mercurial

    • Distributed revision-control tool
    • Efficiently handles projects of any size
    • Offers an easy and intuitive interface
    • Free

5. IBM Rational ClearCase

    • Enterprise-grade configuration management system
    • Provides controlled access to software assets including code, requirements, design documents, models, test plans and test results
    • Features parallel development support, automated workspace management, baseline management, secure version management, reliable build auditing
    • Paid – Contact vendor for pricing

6. Perforce Helix Core

    • Tracks and manages changes to your source code, digital assets, and large binary files
    • Store files (including media) in one central repository
    • Free for up to 5 users and 20 workspaces.

7. Apache Subversion

    • Software versioning and revision control system
    • Distributed as open-source under the Apache License.
    • Free

Don’t see the tool of your choice listed here? Please feel free to mention it in the comments below for other readers’ benefit.

Want to see a list of more of such useful resources & tools under different categories? Please do take a look at the resources page.