[Top][All Lists]
[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-----