You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Branko Čibej <br...@xbc.nu> on 2005/02/15 07:13:35 UTC

Re: svn commit: r13016 - trunk/subversion/libsvn_fs_fs

lundblad@tigris.org wrote:

>Author: lundblad
>Date: Mon Feb 14 14:29:00 2005
>New Revision: 13016
>
>Modified:
>   trunk/subversion/libsvn_fs_fs/fs_fs.c
>Log:
>In FSFS, when recreating a fulltext, instead of combining al deltas, apply
>one delta against a fulltext or the empty stream and combine the rest.
>  
>
I hav eone objection to this change:

>   /* Combine in the windows from the other delta reps, if needed. */
>-  for (i = 1; i < rb->rs_list->nelts; i++)
>+  for (i = 1; i < rb->rs_list->nelts - 1; i++)
>  
>
This relies far too much on the assumption that the first revision is 
the only on that can be self-compressed. Insted, the logic should simply 
be to stop combination when we find a fulltext /or/ self-compressed 
delta. some future optimisation could insert self-compressed deltas 
anywhere, and it's also not impossible to mix self-compressed and diffed 
deltas in different windows of the same revision.

-- Brane


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: svn commit: r13016 - trunk/subversion/libsvn_fs_fs

Posted by Greg Hudson <gh...@MIT.EDU>.
On Tue, 2005-02-15 at 02:13, Branko Čibej wrote:
> I hav eone objection to this change:
> 
> >   /* Combine in the windows from the other delta reps, if needed. */
> >-  for (i = 1; i < rb->rs_list->nelts; i++)
> >+  for (i = 1; i < rb->rs_list->nelts - 1; i++)
> >  
> >
> This relies far too much on the assumption that the first revision is 
> the only on that can be self-compressed.

rb->rs_list is an array of the deltas used to represent the file,
constructed by build_rep_list(), not an array of the revisions of the
file.  So no such assumption is being made.

(If we see "delta -> delta -> delta -> plaintext", something FSFS
currently never does, it's true that Peter's code will apply the final
delta to the plaintext even though that delta is not self-compressed. 
That's arguably wrong from a performance perspective, though it's still
correct behavior.)


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org