Ashod Nakashian wrote on Wed, Apr 04, 2012 at 10:18:47 -0700:
> >________________________________
> > From: Daniel Shahaf <danie...@elego.de>
> >To: Ashod Nakashian <ashodnakash...@yahoo.com> 
> >Cc: Markus Schaber <m.scha...@3s-software.com>; "julianf...@btopenworld.com" 
> ><julianf...@btopenworld.com>; "mtheri...@gmail.com" <mtheri...@gmail.com>; 
> >Subversion Development <dev@subversion.apache.org> 
> >Sent: Wednesday, April 4, 2012 9:46 AM
> >Subject: Re: Compressed Pristines (Summary)
> > 
> >> >1.  Filesystem compression.
> >> >
> >> >Would you like to assess the feasibility of compressing the pristine
> >> >store by re-mounting the "pristines" subdirectory as a compressed
> >> >subtree in the operating system's file system?
> >> 
> >> No :-)
> >> 
> >> There are two ways to answer this interesting proposition of
> >> compressed file-systems. The obvious one is that it isn't something
> >> SVN can or should control. The file-system and certainly system
> >> drivers are up to the user and any requirement or suggestion of
> >> tempering with them is decidedly unwarranted and unexpected from
> >> a VCS.
> >
> >The suggestion wasn't that you teach svn how to change the OS's fs
> >settinsg, it was that you investigate how solutions at the OS level
> >compare to the other approaches already suggested (custom format -based
> >and sqlite-based pristine store).
> 
> That's an easy question. The answer is that at *best* they'll do as
> good as in-place compression. However, in practice they'll do much
> worse. The reason is that the OS level compression works on not only

Is it _necessarily_ that way?  What does Subversion about the pristine
store's contents know that the filesystem doesn't?

> the single file level, but actually at the block level. This is to
> make modifications reasonably fast (read compressed data, uncompress,
> modify, write recompressed data). If the complete file is compressed
> then even changing a single byte (neglecting that no storage works on
> the byte-level anyway) will yield performance that will at least
> linearly degrade by the filesize.
> 
> 
> >
> >In short: if 'mount -o compress=yes' provides 90% space savings then we
> >would have little reason to implement space-saving solutions in svn itself.
> >But it's the user's, not svn's, responsibility to run that.
> 
> 
> I should kindly disagree here. The user can do that any time, anyway.
> SVN is trying to improve its pristine store design,

No we don't.  We're trying to provide users with a low-footprint
pristine store.  If we can achieve that by tuning OS settings we
might not need to write code.

> not advise users
> on how best to organize their storage (in general or when using SVN).
> In addition, I find discriminating against users who don't have that
> luxury or knowledge to be a bit unfair. At least if are claiming to
> support the wide range of systems that we do.
> 

Yes, I edited that out of my previous email: we should ensure that
"low-footprint pristine store" is achievable on most/all platforms we
support.

Also, agreed that we should consider the case of users don't have
permissions to tune their OS settings but have working copies.

> -Ash
> 
> 
> >

Reply via email to