When diff is performed on a unicode file (CVSNT is used)
with external diff program, this program gets the cvs
version in UTF-8 format. (For the reason, see
http://www.cvsnt.org/cgi-bin/bugzilla/show_bug.cgi?
id=222)
Steps to reproduce:
1. Create a Unicode file, add it to CVS repository
as unicode file (option "-ku") and commit.
2. Modify the file.
3. Ensure that External diff program is used.
4. Ask to show differences between the file
in the working directory and cvs version.
Result:
The external program receives the file from the
working directory in Unicode format and the
file from the cvs in UTF-8 format.
Expected result:
Both files are in Unicode.
Logged In: YES
user_id=119527
It appears that the behaviour is by design and it's on CVSNT
side. Nothing much can be done here short of using the -kb for
the files in question instead of Unicode.
Logged In: YES
user_id=254563
I would disagree. WinCvs is a client of CVSNT. It can use
different methods to extract the files for comparison. Nothing
prevents, for example, from using "cvs export" instead of
"cvs update -p" to get the desired results. (Unlike "cvs
update -p", "cvs export" produces normal Unicode files.)
From the other hand, if CVSNT generates UTF-8 for console
output (although, I have never seen UTF-8 capable console),
WinCvs can take over and convert this output to the normal
Unicode before calling the external diff.