[darcs-users] darcs patch: Use index-based diffing in Record. (and 57 more)

Ganesh Sittampalam ganesh at earth.li
Tue Sep 15 20:29:11 UTC 2009


On Tue, 15 Sep 2009, Petr Rockai wrote:

> Ganesh Sittampalam <ganesh at earth.li> writes:
>
>>> Thanks.  So we have a last resort, but let's try to maximise our
>>> happiness with the code first.
>>
>> Hmm. Actually, after looking at things again after a while today, I have to
>> partially withdraw this - sorry!
>>
>> As things stand (and as I understand it), readDarcsPristine in
>> Storage.Hashed.Darcs knows how to *read* the darcs pristine root pointer and
>> also how to read plain pristine for old-fashioned repos. However the knowledge
>> of how to do the writing is left in darcs itself. This disconnect is asking for
>> trouble, IMO.
> Well, I agree that this is a little stretched. But if you want to read the
> darcs pristine, you have to do this -- deferring this to the client level is
> just pretence. So the real question is, whether 3rd party tools are allowed to
> read darcs repositories or not, without going through libdarcs (is _darcs a
> black or a white kind of box). I'd go for white, since (a) if people want to
> look, we can't stop them and (b) we can't change the format anyway, since old
> darcs needs to be able to read it. Moreover, I think that open format is the
> right attitude for a VCS -- transparency is as important as robustness and
> correctness. (After all, I want to be able to peek into the, as kowey says, box
> with my crown jewels.)

I'm happy, indeed keen, on it being a white box, but we can achieve that 
with an in-tree hashed-storage-darcs, which over time could turn into a 
proper API for reading/writing darcs repos completely (perhaps 
darcs-repo would be a better name).

I'm deeply unhappy with the idea that any change to the repo format would 
require coordinating changes across two separate projects as well as 
figuring out all the other relevant issues. One example of why 
hashed-storage isn't the right place to do the reading is that code should 
check that _darcs/format is actually understood before being confident 
that it knows how to read the repo.

Cheers,

Ganesh


More information about the darcs-users mailing list