[darcs-users] darcs check

Erik Schnetter schnetter at cct.lsu.edu
Sat Jan 13 21:00:05 UTC 2007


On Jan 13, 2007, at 13:51:58, <trb at categorical.net> wrote:

> Eric Y. Kow writes:
>> On Thu, Jan 04, 2007 at 14:48:51 -0800, trb at categorical.net wrote:
>>> If a repository passes 'darcs check', does that mean there is  
>>> nothing wrong with
>>> it ? By "wrong" I mean anything that could cause inconsistency.
>>
>> Unless I am mistaken, darcs check merely attempts to apply all  
>> patches
>> from scratch.  If nothing goes wrong, it is happy.
>
> It seems that way. The question is whether that is enough to  
> guarantee that the
> repo will not cause inconsistent behaviour.
>
>>> To put this another way: if darcs shows inconsistent behaviour on  
>>> a repo, and
>>> that repo passes 'darcs check', does this mean the problem lies  
>>> in darcs itself
>>> (rather than the repo) ? Would this be true even if the repo had  
>>> been manually
>>> tinkered with (prior to passing 'darcs check') in an unwholesome  
>>> way ?
>>
>> That does smell like a bug... but I suppose it depends on what you  
>> mean
>> by inconsistent.
>
> I mean self-inconsistent (e.g. the behaviour I described in my  
> message about
> Issue365, makes a repository invent previously non-existent pending
> changes). Suppose a repository had been tampered with in a  
> Byzantine way, but
> subsequently passed 'darcs check'. It could well have been  
> modified, and might
> no longer be consistent with other repositories, but I would hope  
> that it would
> still be self-consistent (by virtue of having passed 'darcs  
> check'). By
> self-consistent, I mean that the various source trees it can  
> produce are all
> related in the correct way (according to the darcs theory of patches).

This very thing happened to me yesterday.  I was foolishly editing  
patches in the _darcs directory, and also maybe accidentally editing  
files in _darcs/current (I didn't intend to do that).  At some point,  
darcs check reported an inconsistency, and after some trying-to-undo- 
things, darcs check was happy again.  I then tried to push the  
patches to a different repo, which failed, and after unrecording a  
patch or two, darcs check found again an inconsistency.

I haven't given this much thought (apart from having learned to be  
more careful next time), but could it maybe be that certain patches  
conflicted after I edited them, but darcs didn't realise this?

I have to admit that I didn't pay much attention to darcs in my  
adventure, I was mostly concerned about getting back to a consistent  
state.  I may misremember some details.

-erik

PS: If you want to edit patches, do it outside of a repository.  Use  
"darcs send", edit the patch as much as you like, remove the  
checksum, and then import it back in using "darcs apply".

-- 
Erik Schnetter <schnetter at cct.lsu.edu>

My email is as private as my paper mail.  I therefore support encrypting
and signing email messages.  Get my PGP key from www.keyserver.net.



-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 186 bytes
Desc: This is a digitally signed message part
Url : http://lists.osuosl.org/pipermail/darcs-users/attachments/20070113/1a18f4df/attachment.pgp 


More information about the darcs-users mailing list