Skip to main content

svn_txdelta_apply

Function svn_txdelta_apply 

Source
pub unsafe extern "C" fn svn_txdelta_apply(
    source: *mut svn_stream_t,
    target: *mut svn_stream_t,
    result_digest: *mut c_uchar,
    error_info: *const c_char,
    pool: *mut apr_pool_t,
    handler: *mut svn_txdelta_window_handler_t,
    handler_baton: *mut *mut c_void,
)
Expand description

Prepare to apply a text delta. @a source is a readable generic stream yielding the source data, @a target is a writable generic stream to write target data to, and allocation takes place in a sub-pool of @a pool. On return, @a *handler is set to a window handler function and @a *handler_baton is set to the value to pass as the @a baton argument to @a *handler.

If @a result_digest is non-NULL, it points to APR_MD5_DIGESTSIZE bytes of storage, and the final call to @a handler populates it with the MD5 digest of the resulting fulltext.

If @a error_info is non-NULL, it is inserted parenthetically into the error string for any error returned by svn_txdelta_apply() or @a *handler. (It is normally used to provide path information, since there’s nothing else in the delta application’s context to supply a path for error messages.)

The @a source stream will NOT be closed. The @a target stream will be closed when the window handler is given a null window to signal the end of the delta.

@note To avoid lifetime issues, @a error_info is copied into @a pool or a subpool thereof.