You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Daniel Shahaf <d....@daniel.shahaf.name> on 2012/10/16 02:24:12 UTC

revprop packing question

libsvn_fs_fs/structure says that a pack file starts with an
svndiff-encoded integer.  Where is that integer written, please?

serialize_revprops_header() doesn't write an svndiff-encoded integer, so
I suspect the two binary bytes at the start of a revprops pack file are
actually an artifact of zlib level-0 compression, rather than an svndiff
integer written by svn's code.  Is that correct?



Re: revprop packing question

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Stefan Fuhrmann wrote on Sat, Oct 20, 2012 at 13:55:14 +0200:
> On Tue, Oct 16, 2012 at 2:30 AM, Daniel Shahaf <d....@daniel.shahaf.name>wrote:
> 
> > Daniel Shahaf wrote on Tue, Oct 16, 2012 at 02:24:12 +0200:
> > > libsvn_fs_fs/structure says that a pack file starts with an
> > > svndiff-encoded integer.  Where is that integer written, please?
> > >
> >
> > I meant, "Where is the code that writes that integer".
> >
> 
> It is being written & read / evaluated by svn__compress /
> svn__decompress. Those, in turn are being called by
> repack_revprops and parse_packed_revprops. So, technically,
> the revprop files are always compressed.
> 

That's what I expected from reading the code; but reading 'structure'
had me think that the compressed integer is part of the plaintext (ie,
the input to __compress and output of __decompress).

IOW, I expected 'structure' to only say "it's compressed" without
details of the copmression function's file format.

> r1400133 adds a description of the binary integer format.
> 
> -- Stefan^2.

Thanks, I'll read it.

Re: revprop packing question

Posted by Stefan Fuhrmann <st...@wandisco.com>.
On Tue, Oct 16, 2012 at 2:30 AM, Daniel Shahaf <d....@daniel.shahaf.name>wrote:

> Daniel Shahaf wrote on Tue, Oct 16, 2012 at 02:24:12 +0200:
> > libsvn_fs_fs/structure says that a pack file starts with an
> > svndiff-encoded integer.  Where is that integer written, please?
> >
>
> I meant, "Where is the code that writes that integer".
>

It is being written & read / evaluated by svn__compress /
svn__decompress. Those, in turn are being called by
repack_revprops and parse_packed_revprops. So, technically,
the revprop files are always compressed.

r1400133 adds a description of the binary integer format.

-- Stefan^2.

-- 
*

Join us this October at Subversion Live
2012<http://www.wandisco.com/svn-live-2012>
 for two days of best practice SVN training, networking, live demos,
committer meet and greet, and more! Space is limited, so get signed up
today<http://www.wandisco.com/svn-live-2012>
!
*

Re: revprop packing question

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Daniel Shahaf wrote on Tue, Oct 16, 2012 at 02:24:12 +0200:
> libsvn_fs_fs/structure says that a pack file starts with an
> svndiff-encoded integer.  Where is that integer written, please?
> 

I meant, "Where is the code that writes that integer".

> serialize_revprops_header() doesn't write an svndiff-encoded integer, so
> I suspect the two binary bytes at the start of a revprops pack file are
> actually an artifact of zlib level-0 compression, rather than an svndiff
> integer written by svn's code.  Is that correct?
> 
>