bug-cvs
[Top][All Lists]
Advanced

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

Re: CVS merge issue: "cvs update -j -j"


From: Pierre Asselin
Subject: Re: CVS merge issue: "cvs update -j -j"
Date: Thu, 3 Apr 2003 01:25:51 +0000 (UTC)
User-agent: tin/1.4.7-20030322 ("Suggestions") (UNIX) (NetBSD/1.5.4_ALPHA (i386))

Frederic Gioanni <frederic.gioanni@thalesatm.com> wrote:

>[ common ancestor has lines abc; sandbox has line a; branch has lines abcde ]
>
> When doing the merge, I am expecting 2 new lines and so I am expecting
> the following conflict:

>     a
>     <<<<<<< file
>     =======
>     d
>     e
>     >>>>>>> rev2

> However, "cvs up -j -j" ends with:

>     a
>     <<<<<<< file
>     =======
>     b
>     c
>     d
>     e
>     >>>>>>> rev2
>
>[ ... ]
>
>  CVS uses the following command to merge:
>     diff3  -E  -am  -L  file  -Lrev1  -Lrev2  file  file:rev1  file:rev2

Does cvs still use diff3?  In any case, diff3 itself seems confused.  With
three files 'base', 'rev1' and 'rev2' as you describe, I get

    $ diff3 -E -m rev1 base rev2
    a
    <<<<<<< rev1
    =======
    b
    c
    d
    e
    >>>>>>> rev2

which is wrong.  But if I remove the '-E' option,

    a
    <<<<<<< rev1
    ||||||| base
    b
    c
    =======
    b
    c
    d
    e
    >>>>>>> rev2

which is the conflict I would like to see.  Is cvs mis-invoking a diff3
command?  Is it misusing the algorithm?



reply via email to

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