Bert Huijben wrote:
-----Original Message-----
From: Blair Zajac [mailto:[email protected]]
Sent: dinsdag 2 maart 2010 1:47
To: [email protected]
Cc: [email protected]
Subject: Re: svn commit: r917772 - in
/subversion/trunk/subversion/bindings/javahl: native/
src/org/apache/subversion/javahl/callback/ src/org/tigris/subversion/javahl/
tests/org/apache/subversion/javahl/
On 03/01/2010 02:46 PM, [email protected] wrote:
Author: hwright
Date: Mon Mar 1 22:46:45 2010
New Revision: 917772
URL: http://svn.apache.org/viewvc?rev=917772&view=rev
Log:
JavaHL: Return properties as byte[] throughout the callback interfaces.
We use byte[] in place of String because there could be binary data in the
property, and the conversion to String would truncate the property at any
NULL bytes.
Plus the conversion from byte[] to String depends upon the platform's
default character set.
I see there's a number of String's constructed from the byte[]. Those
methods should take an additional java.nio.charset.Charset and then pass
it's name to the String() constructor. I don't believe there should be
any String's constructed without a Charset argument.
Maybe the svn:date we can presume a UTF-8 character set, but the
svn:author, svn:log we shouldn't.
For the svn:* properties we currently define we declared that they always use utf-8 and use '\n' as line ending. Clients are responsible for handling the conversions. See svn_prop_needs_translation() for more details. (Since 1.6 we even validate this on the filesystem or ra layer).
OK. So I believe we should add "UTF-8" as an additional constructor parameter
to String for the svn:* properties.
Blair