Source Code Management

SCM is the process of managing the source code of software application/s in a centralized, managed place known as Source code repository. It also plays a crucial role in coordinating parallel work on different features and the integration of the features for software releases.

Source Code Repository

Source code repository is a place where a developer on a team or a project store code and exchange with other developers on a regular basis. It also helps organizations to track the development of product features.

Source Code Repository Features

  1. Storing developers’ code in one location will safeguard the code.
  2. Developers in the team or project can work independently on separate branches with source code repository, and can eventually merge into one branch.
  3. Provide statistics and analytics to track changes in the code when something goes wrong and helps to revert the changes.
  4. Integrating source code repositories with build tools will simplify the flow of application deployments to the target environments.
  5. Version control in repositories of source code lets developers monitor their code changes and offers the ability to revert to previous versions if appropriate.
  6. Prepare and make the code available for production releases.

Types of code repository platforms

Centralized Version Control System

There is only one master copy (Central code repository) of the code in this method, and the developers checkout the changes to their local machines. Master copy only has the entire history of the file.

Each time developers commit their changes to the central repository, other developers are able to update their local machines with the same changes.

Some of the Tools which offer Centralized Version Control System

  • Subversion
  • Perforce

Distributed Version Control System

In this method every developer gets initiated with the local repository in their machines which will have all the work history stored in the central repository.First developers need to commit their code to the local repository and push  it to the central repository afterwards.

In order to get other developers’ code changes, one needs to pull changes from the central repository.

Some of the Tools which offer Distributed Version Control System

  • Git
  • Mercurial