[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: about character set / encoding conversion in subversion

From: Ben Collins-Sussman <sussman_at_red-bean.com>
Date: 2006-01-05 15:25:25 CET

On 1/5/06, Gunter Ohrner <G.Ohrner@post.rwth-aachen.de> wrote:
> Hi!
>
> I want to get more familiar with character set management in subversion to
> better understand some issues I'm experiencing. Maybe someone here can
> enlighten me or point me to some clarifying documentation.
>
> So far I've always believed, and the docs I found seemed to support it in my
> eyes, that subversion converts all file names from a client's custom locale
> to UTF8 and only managed UTF8 encoded names internally. I imagined this
> conversion to UTF8 would happen in the client before supplying the data to
> the server and the conversion back to the clients locale would also be
> carried out by the client after receiving the canonical UTF8 encoded names
> from the server. That made sense to me as this way the server would not
> have to know the (possibly very different) locales / encodings used by the
> clients accessing it.

Yes, that's how it works.

> What character recoding is done within the server (svnserve 1.1.4) and how
> do I have to configure the server to know all neccessary encodings?
>

Subversion is 90% a collection of libraries, and 10% binaries that
make calls to those libraries. The design is: for every API in every
library, file paths and log messages are always UTF8. That means that
any application which (1) makes use of subversion APIs and (2) deals
with "local" system paths has the responsibility of converting the
local system paths to UTF8 before passing them to the subversion APIs.

So 'svn' does this the most, obviously. But even simple programs like
'svnserve' or 'svnlook' do it to a small degree. For example,
svnserve has its own svnserve.conf file which contains locally-encoded
system paths. svnserve needs to convert them to UTF8 before passing
them to internal APIs.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Jan 5 15:27:33 2006

This is an archived mail posted to the Subversion Dev mailing list.