[cvsnt] CVSNT server tries to write non UTF-8 characters infileattr.xml
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.
More information about the cvsnt