[darcs-users] Merging Concepts after getting Public Patches.

Ralph Corderoy ralph at inputplus.co.uk
Mon Sep 27 19:42:42 UTC 2004


Hi Juliusz,

Thanks for the reply.

> The rest is human interaction.  Presumably, by choosing to commit your
> patch, David decided he'd deal with the conflict himself, and just
> hasn't had time to do so yet.

(He now has.)

> First, you need to find out how the set of patches in your repository
> compares to the one in David's repository -- after all, you might be
> getting confused.
> 
>   $ darcs pull --dry-run
>   ... list of patches that are present locally but not remotely ...

OK, that showed two new patches that weren't there earlier -- I had
tried a non-dry-run pull and there was nothing available.  One was
changes to code, but the other was a simple

    [Fix spelling conflict.
    David Roundy <droundy at abridgegame.org>**20040926114219]  < > {
    hunk ./Repository.lhs 41
    -interperetation of the stored patches in this repository.
    +interpretation of the stored patches in this repository.
    }

which is a /^hunk/ rather than Florian's /^merge/ with the change twice.
Pulling this patch makes whatsnew and diff silent.  Hurray!

> >     darcs failed:  Couldn't commute patch past pending.
> >     $
> 
> The message about ``commuting past current'' means that darcs couldn't
> deal with the ``pending'' differences, i.e. the differences between
> what's in the working dir and what's in the repo.  Rule number one of
> working with darcs: never do anything interesting when |darcs what|
> doesn't say ``no changes''.

But I was just trying to unpull a patch I'd just pulled which had
created the conflict.

> When you pulled the conflict into your repository, darcs decorated
> your working directory with random noise (such as conflict markers),
> in prevision of your editing the files and recording a resolution.
> Obviously, the conflict markers conflict with both members of the
> merger, which is a little bit too much for darcs to deal with.

I could understand conflict markers, a la CVS, confusing things until
I'd removed them by ed(1) but the file with the conflict contained none.
The line in the file was my version, identical to the version in
Florian's patch, with the original only visible in whatsnew's output.
I did expect a conflict to have <<<, etc., in the file showing all the
various versions.

> If fixing the conflict is not what you want to do right now, you can
> get rid of the noise by doing
> 
>   $ darcs revert

I'm not sure how that helps since revert's --help says it reverts to the
recorded version.  But my recorded version includes my patch and
Florian's, so it is in conflict.

It's in a non-conflict state again now so I'm happy, if not entirely
enlightened.  I'm happy to just keep pottering on, along with reading
the list, to gradually increase my understanding.

Learning something nicely designed is fun!

Cheers,


Ralph.





More information about the darcs-users mailing list