, 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:
Periodically, all editors synchronize to download everyone else's changes, then
check their changes against other users' changes to ensure no inconsistencies were introduced.
- 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.
There are a number of software packages that implement revision control
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
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.