[darcs-users] darcs patch: making Darcs.Patch.Set comment into haddock

David Roundy daveroundy at gmail.com
Mon Oct 27 17:07:24 UTC 2008


On Thu, Oct 23, 2008 at 8:45 AM, Florent Becker
<florent.becker at ens-lyon.org> wrote:
> Florent Becker wrote:
>>> Yes.  I'm not sure why you're thinking this could cause a problem.  We
>>> should never, however, have a PatchSet of length zero.  (Meaning that
>>> the smallest PatchSet should be (NilRL :<: NilRL) or [[]] in list
>>> terms.
>>
>> I don't think it would be a problem, i was just hunting for implicit
>> invariants. So, to make things clear, do we cut after each clean tag?
>>
>> [[a b t1 c d e t2][f g t3] [h i]] and [[a b t1 c d e t2][f g t3 h i]]
>> represent the same repository, don't they? Is the difference between
>> them meaningful? Are they both likely to come up?
>>
> One more question: do we have the guarantee that tags are as far right as
> possible? That is, in my example, is [[a *t1* *b* c d e t2][f g t3 h i]] a
> correct PatchSet (or similarly, [[a b t1 c d *t2*] [*e* f g t3 h i]])? It
> seems having that kind of PatchSet changes the semantics of
> Darcs.Match.get_matching_tag. If we don't have these PatchSets, the
> SealedPatchSet returned by get_matching_tag represents what we get by
> pulling all matching tags from a repo. Otherwise, there might be some more
> patches. So, which is the semantics of PatchSet on that point, and the one
> of get_matching_tag?

No, there's no guarantee of patch order, except for that required by
dependencies (e.g. a tag can never come before any of its
dependencies).

I'm pushing a fix to the get_matching_tag haddock, which may answer
your question.

David


More information about the darcs-users mailing list