monotone-devel
[Top][All Lists]
Advanced

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

Re: [Monotone-devel] partial pull #2 - gaps instead of a single horizon


From: Markus Schiltknecht
Subject: Re: [Monotone-devel] partial pull #2 - gaps instead of a single horizon
Date: Tue, 29 May 2007 09:07:25 +0200
User-agent: Icedove 1.5.0.10 (X11/20070329)

Hi,

Zbynek Winkler wrote:
While we are at it (changing netsync protocol) - why not to make it
history based as was proposed some time ago? I really liked the
idea...

Well, I don't know enough about that, but we are going to need at least one flag day. Maybe we should just start a branch n.v.m.flag-day-one collect all the changes which need flag days.

Do you have time to work on history based netsync?

and it would allow things like "give me all descendants of
this revision that match this branch pattern" on pull which is IMHO
exactly what is needed for partial pull. To me it is the definition of
partial pull... how else would you want to reliably restrict what you
pull?

I can imagine other useful definitions, like taking the date cert into account. Plus I suspect that even without history based netsync, we could do limitations like 'none of the descendants of rev id xy'.

And for the trust thing - as far as I understand it - you would only
have to trust the hash of the revision at the beginning of the gap
(history wise) and if this hash can be verified by other means, it is
fine, isn't it?

That's a very good point. After a partial pull, you have at least one revision after the gap (below the horizon), which is signed and which has the complete history hashed. Nice, I didn't think about it that way.

Regarding the missing revisions - I would not allow to do anything
across a gap because it would not be reliable - ie if you want to
merge something you'd have to get enough revisions to have all the
information needed.

This is most probably not the case, as I've explained in other emails.

For other commands I'd happy even if they just
stopped where they start missing revisions (log, annotate etc).

ISTM that you are thinking only for partial pull, where a gap spans everything from one of the newest revisions up to the root rev (magic rev id []).

Think about having removed only a couple of revisions due to patent violations - somewhere in the newer middle of the repository. I'd be annoyed if log or annotate stopped there.

There's no technical difficulty in continuing after gaps, so why stop there?

Regards

Markus







reply via email to

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