On Wed, Nov 08, 2006 at 07:22:44PM +0100, Andrea Aime wrote:
> First of all, thank you very much the the detailed explaination.
> Now, I'm really curious about forward deltas: does this mean that
> you have to sum all all diffs in order to rebuild the last revision
> of a certain branch?
With FSFS, yes, you have to combine the deltas against the plaintext
(the first version) to get the most-recent version. This is true
regardless of whether the file is on a trunk or a branch, since
Subversion doesn't have any inbuilt knowledge of 'trunk' or 'branch':
they're just paths in the filesystem.
More specifically, with FSFS, any given delta representation has a
'delta base': the representation that the delta is calculated against.
This is usually a prior version of the same file, but in the case of
copies, it's the copy source.
Note that it's not _the_ prior version, just _a_ prior version.
We use the same skip-list concept in FSFS to ensure that you only need
to combine ~log(N) deltas to recover the most-recent representation
(where N is approximately 'the number of changes to this file or any
copied-from files over time').
Received on Wed Nov 8 19:32:29 2006
- application/pgp-signature attachment: stored