Consider this simple python code, which demonstrates a very simple version control design for a dictonary:
def build_current(history):
current = {}
for a
I think subversion made some attempts at backwards build. But I can explain what I know better: Mercurial snapshots.
Mercurial uses a forward build scheme. But in order for each revision to be easily rebuildable, there are resync points: every time the size of all the deltas needed to rebuild a revision is bigger than two times the full text, a full text version (a compressed snapshot) is stored and all subsequent delta are computed relative to this new snapshot.
This means that you never need to read more than 3 times the size of the text to retrieve any revision.
You can find more details in the Hg Book.