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.