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

Re: svnsync 1.8.0 fails if there is a non-printable characters in the commit message

From: Daniel Shahaf <danielsh_at_apache.org>
Date: Tue, 25 Jun 2013 16:55:24 +0300

Daniel Shahaf wrote on Tue, Jun 25, 2013 at 13:50:58 +0000:
> On Mon, Jun 24, 2013 at 09:47:17PM +0200, Ben Smith-Mannschott wrote:
> > 0x18 is ^X, the ASCII control code for CANCEL. Seems to be working as
> > designed. ;-)
> >
> > No more seriously though, it sure looks like a bug. 0x18 is a perfectly
> > legal UTF-8 encoding of the unicode character U+0018. Every US-ASCII
> > character is encoded as itself in UTF-8 and the first 128 Unicode code
> > points are exactly US-ASCII.
> >
>
> Works for me:
>
> % svnadmin create r
> % mv =( printf 'K 1\nx\nV 1\n\030\nEND\n' > 0 ) r/db/revprops/0/0
> mv: try to overwrite `r/db/revprops/0/0', overriding mode 0444 (r--r--r--)? y

That last command should have been (equivalently, but without
munging internals):

% ln -s =true r/hooks/pre-revprop-change
% svn ps -F =(printf '\030') --revprop -r0 x file://$PWD/r
property 'x' set on repository revision 0

> % svnadmin create r2
> % ln -s =true r2/hooks/pre-revprop-change
> % svnsync init file://$PWD/r2 file://$PWD/r
> Copied properties for revision 0.
> % svnsync copy-revprops file://$PWD/r2 file://$PWD/r
> Copied properties for revision 0.
> % tail -5 r2/db/revprops/0/0 | xxd
> 0000000: 4b20 310a 780a 5620 310a 180a 454e 440a K 1.x.V 1...END.
>
> Did you pass --source-prop-encoding ?
>
> Daniel
>
> > // Ben
> >
> >
> > On Mon, Jun 24, 2013 at 7:30 PM, olli hauer <ohauer_at_gmx.de> wrote:
> >
> > > svnsync 1.8.0 fails if there is a non-printable characters in the commit
> > > message
> > >
> > > Error message:
> > > svnsync: E000022: Safe data 'MFC r251249, r251251, r251252, r' was
> > > followed by non-ASCII byte 24: unable to convert to/from UTF-8
> > >
> > > No issue with svnsync 1.7.10 (neon based)
> > >
> > > Parts of the file (synced with svnsync 1.7.10)
> > >
> > > $> cat $repo/db/revprops/251/251614
> > > ...
> > > MFC r251249, r251251, r251252, r2512, r251254 and r251515:
> > >
> > >
> > > $> more $repo/db/revprops/251/251614
> > > ...
> > > MFC r251249, r251251, r251252, r^X2512, r251254 and r251515:
> > >
> > >
> > > $> hexdump -C $repo/db/revprops/251/251614
> > > ...
> > > 00000070 31 2c 20 72 32 35 31 32 35 32 2c 20 72 18 32 35 |1, r251252,
> > > r.25|
> > >
> > > Culprit is the hex(18) sign.
> > >
> > >
> > > --
> > > olli
> > >
Received on 2013-06-25 15:55:39 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.