[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnu-arch-users] Re: star-merge vs apply-delta

From: Stefan Monnier
Subject: [Gnu-arch-users] Re: star-merge vs apply-delta
Date: 09 May 2004 16:42:44 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50

>> AIUI three-way actually does two things to the patch behaviour
>> *) turns on --forward
>> *) turns on the <<<, ===, >>> style markers

Hmm... it's not that simple.  It's not the same as --forward.
And it's not just <<<, ===, and >>> markers either.

> --three-way calls diff3 on the common ancestor, your version and mine.
> It's not aware of the history  that lead your version and mine to this
> point.

When patch is called by star-merge it's just as unaware of the history.

> Without --three-way, conflicts solved by --forward can come from
> * Two  developers doing  the  same  change by  hand  (typically for  a
>   trivial bugfix)
> * Merging a patch which is actually a merge from you.
> The  usual   star-merge  can   distinguish  the  two   behaviors  with
> --skip-present, but diff3 and therefore --three-way can not AFAIK.

star-merge has no --skip-present option.
There are two more or less orthogonal issues at play here:
- which patch to apply (i.e. which base revision to use (for star-merge),
  or which patches to skip (for other commands)).  This is where the
  history comes into play and where the above two situations can
  be distinguished.
- how to apply it: use one call to diff3, one call to patch, several calls
  to patch, ...


reply via email to

[Prev in Thread] Current Thread [Next in Thread]