Hyrum K Wright wrote on Thu, Dec 30, 2010 at 15:03:04 -0500: > On Thu, Dec 30, 2010 at 2:57 PM, Mark Phippard <markp...@gmail.com> wrote: > > On Thu, Dec 30, 2010 at 2:17 PM, Hyrum K Wright <hy...@hyrumwright.org> > > wrote: > > > >> Mark, > >> Daniel pointed out on IRC that all the revpropTable arguments in the > >> JavaHL API are Map<String, String>. Should they be adjusted to > >> Map<String, byte[]> ? > > > > What is the rule for revision properties? I thought they had to be > > UTF-8 strings, in which case the Java String class seems more > > appropriate than using Byte[] which would imply the user can assign > > binary values to the property. If Revision properties can contain > > binary values, then yes we should not be using String here. > > I don't remember what the repository enforces, but the underlying API > contains a hash of const char * revprop names, with values of > svn_string_t *, which is our counted string which can contain > arbitrary binary data. > > So the client API allows binary data, but it might be caught further > down the library stack. >
% $svn ps --revprop -r0 svn-binary -F =svn wc1 property 'svn-binary' set on repository revision 0 % $svn ps --revprop -r0 random-data -F =(head -c 1024 /dev/urandom) wc1 property 'random-data' set on repository revision 0 % $svn pg --revprop -r0 random-data --strict wc1 | xxd -ps -c1 | grep 00 00 00 00 > -Hyrum