Local Version Control (sccs, rcs)

Steven J Zeil

Last modified: Sep 21, 2016
Contents:
1 History
2 Exploration
3 Collaboration
4 Strengths and Weaknesses

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