[darcs-users] darcs check
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
>> 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
>> 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.
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...
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