[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?
- Re: CVS merge issue: "cvs update -j -j",
Pierre Asselin <=