Hi,

I just want to shed light on three arguments against a new custom archive 
format.

Compressing the files using a standard format (like gz or xz) file-by-file has 
the advantage of better debuggability. Developers can easily (de)compress or 
otherwise those files using their standard utilities when trying to debug 
problems. Using a custom format always makes that process more difficult.

In addition, increasingly more file systems support features like 
block_suballocation, tail packing or tail merging[1]. This drastically reduces 
the space loss due to files being smaller than the block size.

And the third argument is the simplicity of implementation. Just checking 
.svn/pristines/ab/abcd.gz in addition to .svn/pristines/ab/abcd when searching 
for a pristine file is much easier to implement.

I'm not opposed in general to storing pristines in an archive, but the 
disadvantages should be weighted in when making the decision.


A different, somehow related idea is a common pristine store somewhere in the 
users directory, shared by several working copies. Especially when checking out 
several working copies of the same project (or similar branches), this could 
save a lot of network traffic.


Best regards

Markus Schaber
[1]: 
http://msdn.microsoft.com/en-us/library/windows/desktop/ee681827%28v=vs.85%29.aspx
 claims tail packing support for NTFS. 
http://en.wikipedia.org/wiki/Block_suballocation claims support for Btrfs, 
ReiserFS, Reiser4, FreeBSD UFS2. And AFAIR, XFS has a similar feature.

-- 
___________________________
We software Automation.

3S-Smart Software Solutions GmbH
Markus Schaber | Developer
Memminger Str. 151 | 87439 Kempten | Germany | Tel. +49-831-54031-0 | Fax 
+49-831-54031-50

Email: m.scha...@3s-software.com | Web: http://www.3s-software.com 
CoDeSys internet forum: http://forum.3s-software.com
Download CoDeSys sample projects: 
http://www.3s-software.com/index.shtml?sample_projects

Managing Directors: Dipl.Inf. Dieter Hess, Dipl.Inf. Manfred Werner | Trade 
register: Kempten HRB 6186 | Tax ID No.: DE 167014915 
-----Ursprüngliche Nachricht-----
Von: Mark Phippard [mailto:markp...@gmail.com] 
Gesendet: Donnerstag, 22. März 2012 16:23
An: Ashod Nakashian
Cc: Daniel Shahaf; dev@subversion.apache.org
Betreff: Re: Compressed Pristines (Design Doc)

On Thu, Mar 22, 2012 at 11:18 AM, Ashod Nakashian <ashodnakash...@yahoo.com> 
wrote:
>>Design-wise I'm a bit surprised that the choice ended up being rolling 
>>a custom file format.
>
> Personally I know not of any library that can deliver the requirements 
> that we need (outlined in the doc). Again, if the requirements are in 
> question, let's simplify them. If there is such a library, suggesting 
> it will save us a lot of time and effort. Otherwise, using a Tar-like 
> container will just not cut it. On the other hand, the proposed custom format 
> is rather simple and its code shouldn't be complex. In fact, I suspect Tar is 
> more complex (considering it must store more information than we do).

I am not sure what Daniel meant, but I had always just assumed we would simply 
compress the files in the existing pristines.  I think your document does a 
nice job explaining why that is not good enough.
In that sense, I would also say that I was surprised by the choice of a custom 
file format, but that does not mean I would question it.  I think your document 
does a nice job in revealing some of the subtle complexities of this feature.  
That gives me more hope on progress towards a solution.

--
Thanks

Mark Phippard
http://markphip.blogspot.com/

Reply via email to