> > Similarly^2, the diffs need not be between adjacent versions:
> > r1->r2->r3,
> > Instead, diffs r1->r3 that skip versions can
> > be stored.
>
> And in fact Subversion does this. We have "skip deltas" in our
> repository, so that accessing an old file N revisions away becomes
> something like O(logN) rather than O(N), IIRC.
Cool.
Do you have any references to publications
- e.g. are you managing them as the classic
"skip list" data structure, or something else?
I ask because I have a professional need:
I design CPU hardware.
Modern CPUs have datastructures that very much
resemble the branching version control history tree.
E.g. there is typically a map, that maps logical to
physical registers, at rename. There may be other checkpoints
of this map, and lists of diffs that allow you to
reconstruct the map at any other point in time.
* E.g. the 21464 kept one such checkpoint every 8 instructions
* Willamette keeps two, one speculative, the other near
the last non executed branch
I'm quite interested in data structures that minimize the
expected time to apply such patches/diffs/deltas;
however, I think that the distribution of access times
I need to worry about is different that SubVersions.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri May 21 22:19:43 2004