Version control

Version control can also be referred to as ‘revision control’, ‘source control’, or ‘(source) code management’ (SCM). The term refers to the management and control of features and changes made to software throughout the life cycle of an ICT project.

When a new revision is made, this version is referred to by a ‘revision number’ or ‘revision level’, e.g. the original file is ‘revision 1’, when the first change is made the result is ‘revision 2’, etc. When a revision is made, a timestamp is applied and the name of the person making the change is recorded. It should be possible to revert back to a previous version, if necessary.

The process of version control can be managed using a Version Control System (VCS), or Revision Control System (RCS), which is usually a standalone application. However, some word processors, spreadsheets and content management systems contain their own version control systems.

To prevent the same version being worked on by more than one person at the same time, ‘file locking’ can be used, which causes the file to become ‘read-only’ by all users, except the one making the changes. An alternative is ‘version merging’, where more than one person can edit the same file concurrently, and changes are integrated into the central repository in the order that they are checked in.

More recently, Distributed Revision Control has been used. This can also be referred to as ‘Distributed Version Control (Systems)’ (DVCS), or ‘Decentralised Version Control’. With this system, multiple versions of the same file can be worked on simultaneously, and ‘Lieutenants’ decide which changes should be merged into the official version.

Related methods include: General project management.

Syndicate content