monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-devel] Re: netsync question


From: Bruce Stephens
Subject: [Monotone-devel] Re: netsync question
Date: Sat, 29 Apr 2006 12:54:35 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

Markus Schiltknecht <address@hidden> writes:

> On Sat, 2006-04-29 at 12:15 +0100, Bruce Stephens wrote:
>> Well, you couldn't use *only* backward deltas.  If you've got
>> A->B->C->D and you want to send that to someone who's got A, it's no
>> good just sending the backward deltas D->C, C->B, B->A.  
>
> Uhm.. why not? Couldn't this 'someone' just apply the backward deltas
> with a 'patch -R' sort of? I begin to question my understanding of a
> 'delta'...

The deltas aren't (generally) reversible.  A delta from A to B is a
sequence of copying byte sequences from A and inserting new byte
sequences.  (Very like xdelta.)

[...]

> ...except if you send the fulltext of D. Which is acceptable for
> initial pulls. In case of a subsequent pull, I guess
> 'all-or-nothing' is acceptable.
>
> Plus it would allow to fetch only the most recent history. Often
> people don't care about all the history and only want the most
> recent revision.  Monotone should then be able to gracefully handle
> missing revisions and offer to fetch them when needed.

Currently that's not how things work.  Right now if you have a
repository then you can verify everything in it, right back to its
beginning.  

If you had only the last few revisions, you'd need to take something
on faith.  If I got some late revisions of net.venge.monotone from a
corrupted (or malicious) repository, then it might be that I couldn't
fill in earlier revisions from venge.net, and I wouldn't be able to
tell without checking.  

I'm not sure whether that actually matters; maybe that would make a
coherent system, too.

But it would be different.

[...]





reply via email to

[Prev in Thread] Current Thread [Next in Thread]