Skip to main content

Source Control

The contractor shall manage all assets (e.g., source code, automated tests, documentation, configuration files, etc.) using a ‘source code version control system’ and publish the assets to a repository owned by the government.

The US Digital Services playbook recommends using a ‘source code version control system’ while developing digital services. Source control, also known as version control, is a tool that tracks history of changes made to code base. History is recorded via a series of commits. Source control systems usually allow rolling back to previous states, which can be essential when bad code is commited to the code base accidentally. More information on the benefits and features of source control systems are described on Wikipedia.

In addition to providing rollback capabilities, source control is important for code bases with multiple contributors. Each commit encapsulates the intent of the change to the code base, and when two contributors edit the same file or even the same line, the version control system will recognize the conflict, preventing lost work.

Source control tools are also heavily used in modern software engineering as an integration point for other important tools. A commit to the master repository can trigger automated test builds, static analysis or even a deploy.