[cvsnt] CVSNT server tries to write non UTF-8 characters infileattr.xml

Tony Hoyle tony.hoyle at march-hare.com
Mon Dec 29 14:14:47 GMT 2008


Arthur Barrett wrote:
> 1) fileattr filenames are not UTF8 when CVSNT Server is not running in UTF8 mode

That'll probably work from cvsnt clients, but not others.

The problem is a deficiency in the old CVS client/server protocol.  It 
predates any widespread use of multilingual character sets so has no way 
  for the client to tell the server what character set it's using, and 
no way for the server to tell the client.

cvsnt adds that functionality but it can't address the problem of what 
happens when a legacy client tries to send an 8 bit filename to the 
server - it has no way of knowing what character it is seeing, so it 
assumes it's the same character set as the server.  This works more or 
less when they're both the same OS, but not when they're not, as the 
defaults are often different.

The stock answer is to put both client and server into utf8, so they can 
both handle the full range of characters that can be sent (evs operates 
exclusively in utf8 to avoid this problem as much as possible).

It should be possible for the java client to expect utf8 filenames.. 
after all, even on legacy cvs you're going to need to know what 
character set the filenames are being send and received in otherwise 
it's all going to get very messy..

A similar problem exists for log messages - the character set never got 
recorded by RCS so old log messages could be a mixture of ISO8859, 
Shift-JIS and Martian for all that cvsnt knows.. that particular problem 
never got solved satisfactorily, but luckily it hasn't been a major problem.

Tony


More information about the cvsnt mailing list