Nicolas Dechesne <nicolas.deche...@linaro.org> writes:

> i have noticed that merge.conflictstyle has an impact on the rerere
> resolution. looking briefly at the source code, it seems that git
> tries to discard the common ancestor diff3 bits, but what I am seeing
> is that if i do the following then it fails:
>
> 1. from a clean rr-cache state, with merge.conflictsytle=diff3, git
> merge <branch with conflict>, resolve the conflicts, then commit
> 2. undo the previous merge, remove merge.conflictstyle=diff3 (disable
> diff3) and merge the *same* branch, then rerere won't fix the
> conflicts

It is possible that the conflict left when making the same merge are
actually different when using these two conflict styles.  IOW, if
the merge produces

        <<<
        side A
        |||
        common
        ===
        side B
        >>>

when diff3 style is chosen, but if the same merge results in

        <<<
        side A'
        ===
        side B'
        >>>

where side A' is not identical to side A (or B' and B are not
identical), then we will fail to find the previously recorded
resolution.

Reply via email to