logo       
Google Custom Search
    AddThis Social Bookmark Button
-->

Re: Merging Concepts after getting Public Patches.: msg#00309

Subject: Re: Merging Concepts after getting Public Patches.
Sorry to reply to these messages out-of-order, but I think I can add a
couple things here.

On Mon, Sep 27, 2004 at 11:38:32AM +0100, Ralph Corderoy wrote:
> Everything OK so far, I decided to hunt down more simple documentation
> errors and ended up recording and sending another patch to David and got
> a different `applied' reply.
>     ...
>     We have conflicts in the following files:
>     ./Repository.lhs
>     Applying patches to the local directories...
>     Finished applying...
> 
> These being my first two darcs actions it wasn't clear to me from
> reading the documentation if my second patch was applied or whether the
> conflict meant it hadn't and it was up to me to resolve the conflict and
> send a new patch.

Not your fault--you don't have enough information.  The only real way to
know the status of a patch is 1) have David tell you or 2) wait and see
if it shows up in the master repo.

> So I did a pull to get the patches David had that I didn't.  It happens
> that the `Fix documentation typo' patch did the same thing as one of my
> edits.
> 
>     $ zcat 20040925214620-a1fc1-474c598e50fa045a1eb3af4e1e4f2994c1167ba3.gz 
>     [Fix documentation typo.
>     fw@xxxxxxxxxxxxx**20040925214620]  < > {
>     merger 0.0 (
>     hunk ./Repository.lhs 41
>     -interperetation of the stored patches in this repository.
>     +interpretation of the stored patches in this repository.
>     hunk ./Repository.lhs 41
>     -interperetation of the stored patches in this repository.
>     +interpretation of the stored patches in this repository.
>     )
>     }
>     $ 
> 
> But I don't understand why the edit appears twice in the patch, it's
> probably something to do with /^merger/.  Does that mean that fw@deneb
> was himself merging stuff or is the patch file I've got different from
> what he created because it conflicted with my repository?

It means that fw@deneb created a patch with the exact some change as
yours, and David already applied it.  Note that these are not the same
patches--they have independent identities (which is why they conflict)
even though they do the same thing.  And no, fw@deneb was not doing any
merging, your second idea is right:  In his repo (and David's), it just
looked like a normal patch, and only when it came to your repo did it
morph into a merger.  (And in David's scratch repo, your patch became a
merger.)  Anyway, in principle, you shouldn't have to know anything
about this, but if you want to, read the theory section and scratch your
head for a while.

> I can see that conflicts need to be resolved by a third patch as opposed
> to CVS's `resolve conflicts before you can check in' model.  But do I
> have to specify that my resolving patch depends on the other two?

No, darcs figures out these dependenecies itself.

> Is this the normal way of showing a unresolved conflict?

Not exactly, it's a quirk of the fact that both patches did the same
thing, as I said in my first message.

Andrew


<Prev in Thread] Current Thread [Next in Thread>