Question:

Why do you think RCS stores the full text of the newest revision, and deltas for the older revision(s?)?

Answer:

Common sense indicates that the revision which will be most frequently checked out of the baseline is the latest revision, and the ones which will be least frequently checked out, are the earliest revisions. To minimize the work done (and time taken) by the checkout process, RCS implements reverse deltas. The baseline files contain the full text of the newest revision in addition to deltas to modify it backwards until any specific previous revision is reached.

Side Note: RCS also uses forward deltas for branches, which will be discussed later.

Other version control software implementations go about deltas in different ways, which is one of the reasons Walter Tichy created RCS. SCCS, for example, uses "forward, merged deltas" which have several disadvantages. The reader is referred to [TIC82] for a full discussion.

Click here to return to the tutorial where it left off.