subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Shahaf <...@daniel.shahaf.name>
Subject Re: svn commit: r1803140 - in /subversion/trunk/subversion: include/svn_delta.h libsvn_delta/svndiff.c tests/libsvn_delta/random-test.c
Date Thu, 27 Jul 2017 11:59:46 GMT
kotkov@apache.org wrote on Thu, 27 Jul 2017 08:53 +0000:
> URL: http://svn.apache.org/viewvc?rev=1803140&view=rev
> Log:
> Add new svn_txdelta_to_svndiff_stream() API.
> 
> This API turns a given svn_txdelta_stream_t delta stream into a readable
> svn_stream_t containing svndiff.  It would be required to make ra_serf
> stream svndiff deltas without creating temporary files.
> 
> +++ subversion/trunk/subversion/libsvn_delta/svndiff.c Thu Jul 27 08:53:51 2017
> @@ -993,3 +993,95 @@ svn_txdelta__read_raw_window_len(apr_siz
> +static svn_error_t *
> +svndiff_stream_write_fn(void *baton, const char *data, apr_size_t *len)
> +{
> +  svndiff_stream_baton_t *b = baton;
> +
> +  svn_stringbuf_appendbytes(b->window_buffer, data, *len);
> +
> +  return SVN_NO_ERROR;
> +}

Isn't this using O(filesize in bytes) memory?  File content streams are
supposed to be O(1) memory.

> +++ subversion/trunk/subversion/include/svn_delta.h Thu Jul 27 08:53:51 2017
> @@ -546,6 +546,20 @@ svn_txdelta_to_svndiff(svn_stream_t *out
> +/** Return a readable generic stream which will produce svndiff-encoded
> + * text delta from the delta stream @a txstream.  @a svndiff_version and
> + * @a compression_level are same as in svn_txdelta_to_svndiff3().
> + *

Why is a write handler implemented, when the docstring doesn't promise
the returned stream would be writable?

> + * Allocate the stream in @a pool.
> + *
> + * @since New in 1.10.
> + */
> +svn_stream_t *
> +svn_txdelta_to_svndiff_stream(svn_txdelta_stream_t *txstream,
> +                              int svndiff_version,
> +                              int compression_level,
> +                              apr_pool_t *pool);

Cheers,

Daniel

Mime
View raw message