Local Version Control (sccs, rcs)

Steven J Zeil

Last modified: Nov 20, 2013

Contents:
1. History
2. Exploration
3. Collaboration
4. Strengths and Weaknesses

Localized Version Control

The earliest version control systems in wide use were sccs and the open source rcs.


Basic rcs Operations

1. History


Revision Numbers


Naming Revisions


Implementation

rcs is essentially a systematic way of creating and organizing patches.

2. Exploration


Exploring Alternatives

Suppose that we have worked through a few revisions and then get an idea that might not pay off.

We can start a branch to explore our idea while others continue work on the main trunk.

ci -r1.3.1 _filename_

Checks in our current version of filename as a new branch of development, numbered 1.3.1.1


Working in a Branch

Subsequent check-ins of both the main trunk (1.3) and of our branch version will maintain separate revision numbers:


Merging a Branch


Multiple Merges

After a merge


Combating Drift

Over time, a long-running branch can get so far out of sync with changes being made to the trunk that the final merge becomes difficult or even impossible.

3. Collaboration

rcs supports collaboration by locking files


Locks

4. Strengths and Weaknesses


History


Exploration Issues


Collaboration Issues