Revision control, also called version control, is the management of changes to a set of files or documents. This typically consists of the following:
  • Revision tracking: maintaining a history of all changes made, allowing users to retrieve historical document state
  • Access control: limiting who gets access to which documents
  • Multiple-editor management: disallowing one person from accidentally undoing another person's changes, discouraging duplicated efforts and incompatible changes
Most revision control systems consist of the following actions:
  • Editors check out documents for editing.
  • Editors edit their checked-out files.
  • Editors submit (or check in) their changes.
  • If another editor wishes to edit a checked-out file, there are two options:
    • A locking policy forbids multiple editors from working on the same file.
    • Otherwise, one of the editors will have to execute a merge (also called integration) to combine the two sets of changes.
  • Periodically, all editors synchronize to download everyone else's changes, then check their changes against other users' changes to ensure no inconsistencies were introduced.
There are a number of software packages that implement revision control, including: Most of these packages are specialized for source control: revision control for the source code of a software development project. Most software development teams use some sort of revision control software; those that don't learn to, eventually. It is extremely valuable if multiple people ever work on the same source files.

On the other hand, most of these software packages are difficult, and the check-out/check-in process is still deemed too complex for non-technical folk. Offices or other groups that collaborate on documents would benefit enormously from revision control. Some office software enables collaboration by "checking out" individual rows in a spreadsheet or individual paragraphs in a word processor on behalf of the user; these packages, including the productivity software of note, adapt a subset of revision control features and provide a subset of the benefits. Full-featured revision control that caters to the mass market -- something that is intuitive, transparent, and complete -- is a current software holy grail.