info-cvs
[Top][All Lists]
Advanced

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

Re: CVS pedantic when doing merges


From: Derek Robert Price
Subject: Re: CVS pedantic when doing merges
Date: Fri, 13 Feb 2004 10:48:18 -0500
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624 Netscape/7.1

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

m0llbuz_ wrote:

>>At 4:07 AM -0500 2/12/04, m0llbuz_  wrote:
>>
>>><<<<< foo.html
>>>=====
>>>
>>>>>>>> 1.2.2.1
>>
>>While I find this annoying, it is really the correct thing to do.
>>Right now I am writing a lot of Python code and it is perfectly
>>reasonable to change the white space inside a multi-line string.  So
>>unless cvs is going to do detailed semantic analysis based on the
>>file type (and determining that is a sticky problem all by itself),
>>this is what it should be doing.
>
>
>I agree this should be it's default behaviour, but I wish there was a
flag for disabling conflict reports when only white space lines are
involved. I work with Perl scripts and HTML templates, and white space
lines are not very serious there.
>
>>>I also get weird conflicts during merges where the diffs are exactly
the same.
>>>
>>><<<<< foo.pm
>>>foo
>>>=====
>>>foo
>>>
>>>>>>>> 1.2.2.1
>>
>>I've seen this too.  Are there white space differences?  Or were the
>>two lines adde in different branches?  Or are you doing multiple
>>merges from the base of a branch (without a bookmark)?
>
>
>I have examined the diffs closely and no white spaces differ. In one
example there were no white spaces at all, like in the above example. No
carriage returns.
>
>>>I even get weird conflicts like this (slightly simplified):
>>>
>>><<<<< foo.pm
>>>foo
>>>=====
>>>
>>>>>>>> 1.2.2.1
>>>
>>><<<<< foo.pm
>>>
>>>=====
>>>foo
>>> >>>>> 1.2.2.1
>>
>>IIRC, the diff logic that cvs uses has some goofy things like this in
>>it, with windows of around 10 lines or so.  This was discussed a few
>>years back and at the time the comments were along the lines of "I am
>>not smart enough to fix this, and the person who does is too busy."
>>No idea if it has improved since then.
>
>
>Maybe a line was added higher up in one of the files so the row "foo"
was no longer on the same line, but really the diff logic should
understand this?
>
>Thanks for the help!
>Kloper


CVS uses the GNU diffutils library to do its diffing and, since you
appear to be pointing out a diff/patch feature you'd like to see in CVS
that has no GNU diff support and what you appear to think is a bug in
diffutils, the correct venue for this discussion is probably
<address@hidden>.  More information about the GNU diffutils
project is available here <http://www.gnu.org/directory/GNU/diffutils.html>.

If you can convince the diffutils folks that this is indeed a useful
feature (ignoring whitespace differences only when lines only contain
whitespace) and/or that your second case is indeed a bug, then let us
know when they fix the problem and release a version with the changes so
that we may import the new diffutils and discuss possible new features.

Derek

- --
                *8^)

Email: address@hidden

Get CVS support at <http://ximbiot.com>!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
Comment: Using GnuPG with Netscape - http://enigmail.mozdev.org

iD8DBQFALPHBLD1OTBfyMaQRAu7xAJ9K2TUB7TZM9hiP7UXZAjkWw8amBgCgqP28
nnij2yPwNQZTQfuwEd63wR8=
=jyb4
-----END PGP SIGNATURE-----






reply via email to

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