info-cvs
[Top][All Lists]
Advanced

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

Re: conflict algorithm


From: Eric Siegerman
Subject: Re: conflict algorithm
Date: Mon, 7 Jan 2002 14:35:20 -0500
User-agent: Mutt/1.2.5i

On Mon, Jan 07, 2002 at 06:48:20PM +0000, Duncan Sommerville wrote:
> Whats the definition of a conflict?
> 
> In particular, what's the *scope* of its search - is it per line, per couple 
> of lines, etc?

I don't believe that's formally defined; in practice, it's "per few lines".

As I understand it, the algorithm is basically:
    diff -u common-ancestor new-version-1
    diff -u common-ancestor new-version-2

    munge all the results together; call it a conflict if a difference
    block from one "diff" overlaps a block from the other

So basically it depends on the nature of the changes, and specifically on how
the diff algorithm chooses to report them.

In case it matters, old versions of CVS use some external "diff" executable,
either defined at configure time or searched for on $PATH; new versions always
use GNU diff (it's compiled bodily into the "cvs" executable).  I can't
remember whether this was changed before or after 1.11.

--

|  | /\
|-_|/  >   Eric Siegerman, Toronto, Ont.        address@hidden
|  |  /
One ring to rule the mall.
        - Movie review headline, eye Magazine



reply via email to

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