monotone-devel
[Top][All Lists]
Advanced

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

Re: [Monotone-devel] Manifest Comments


From: Markus Schiltknecht
Subject: Re: [Monotone-devel] Manifest Comments
Date: Mon, 04 Dec 2006 09:01:58 +0100
User-agent: Icedove 1.5.0.8 (X11/20061128)

Hi,

I should probably have linked to the previous thread where this has been discussed. I also wanted to go with certs, first. See the thread here:
http://lists.gnu.org/archive/html/monotone-devel/2006-09/msg00103.html

Thomas Moschny wrote:
On Sunday 03 December 2006 23:27, you wrote:
certificates are difficult to get right delta encoded.
What does that mean exactly? And ...

Certificates can be quickly searched through. So you can say: give me revisions of 09/09/2006 or all of author 'address@hidden'. That does not play well with delta encoding...

And what I want here, i.e. store the original origin of a revision, one does not really want to search through. Instead, you rather want it the other way around: you have a revision and are wondering where it came from.

(As I'm saying this, I note it's an assumption which has to be proved...)

They are not compressed by default.
Also certificates are expansive (storage wise)

... does the user (and a cvs- or whatever-sync application could be considered 'using' monotone's infrastructure) really have to care about this?

Sure. It matters a lot if the repository ends up in 500 MB or 1 GB. It's a performance question to not use certs. Plus a design one: i.e. this information does not necessarily have to be writable after the revision is created.

These are implementation details being not part of the interface.

Agreed, if you look at it that way. But then clearly the implementation of certs would have to improve (storage wise). Which seems hard to do.

Thomas Moschny wrote:
> Your 'comments' cannot be removed from revisions. This might be seen
> as an advantage or as a disadvantage.

Right, and in my case, I want these 'comments' to be written in stone, once the revision is written. Please note that I called them 'revision attributes' in the previous discussion. That explains them much better, as they are similar with file attributes, except that a child revision does not inherit them. Nor does a diff show them.

> One problem is that they are not bound to a realm (they are just
> 'comments'), so no other application can safely use them, because it
> can't make any valid assumptions about their validity or even their
> format.

Now, that's easily solvable. Sure we can add a prefix, like
"cvsinfo: foo bar" or whatever. I'm mainly asking if the concept makes sense.

To sum up, the properties of the different storage places proposed so far for this information are:

                delta    shown     child rev    read-only after
                comp.   in diff    inherit.      rev. written
certs             -        -           -              -
manif. comments   +        -           -              +
file attrs        +        +           +              +

I would like to store this 'revision origin' information in delta compressed storage, which does not get shown in a diff nor get inherited by child revisions. It should be read-only after the revision is written.

Neither certs nor file attributes give me this and both have obvious limitations when using them for storing revision origin information. That's why I'm proposing 'manifest comments' or 'revision attributes' or however it may be called. (I simply thought 'manifest comments' describes best what I did in the simple patch with which I started the thread).

Regards

Markus




reply via email to

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