# Delta generation and handling

## Modules
| Text deltas

| Text deltas.
| Tree deltas

| Traversing tree deltas.
| Path-based delta drivers

| Path-based editor drives.
## Typedefs
typedef svn_error_t *(* | svn_file_rev_handler_t )(void *baton, const char *path, svn_revnum_t rev, apr_hash_t *rev_props, svn_boolean_t result_of_merge, svn_txdelta_window_handler_t *delta_handler, void **delta_baton, apr_array_header_t *prop_diffs, apr_pool_t *pool)
| The callback invoked by file rev loopers, such as svn_ra_plugin_t.get_file_revs2() and svn_repos_get_file_revs2().
typedef svn_error_t *(* | svn_file_rev_handler_old_t )(void *baton, const char *path, svn_revnum_t rev, apr_hash_t *rev_props, svn_txdelta_window_handler_t *delta_handler, void **delta_baton, apr_array_header_t *prop_diffs, apr_pool_t *pool)
| The old file rev handler interface.
## Functions
void | svn_compat_wrap_file_rev_handler (svn_file_rev_handler_t *handler2, void **handler2_baton, svn_file_rev_handler_old_t handler, void *handler_baton, apr_pool_t *pool)
| Return, in *handler2 and *handler2_baton a function/baton that will call handler/handler_baton, allocating the *handler2_baton in pool.

## Typedef Documentation

typedef svn_error_t*(* svn_file_rev_handler_old_t)(void *baton, const char *path, svn_revnum_t rev, apr_hash_t *rev_props, svn_txdelta_window_handler_t *delta_handler, void **delta_baton, apr_array_header_t *prop_diffs, apr_pool_t *pool)

The old file rev handler interface.

Note:
  svn_file_rev_handler_old_t is a placeholder type for both svn_repos_file_rev_handler_t and svn_ra_file_rev_handler_t. It is reproduced here for dependency reasons.

Deprecated:
  This type is provided for the svn_compat_wrap_file_rev_handler() compatibility wrapper, and should not be used for new development.

Since:
  New in 1.5.

Definition at line 1265 of file svn_delta.h.

typedef svn_error_t*(* svn_file_rev_handler_t)(void *baton, const char *path, svn_revnum_t rev, apr_hash_t *rev_props, svn_boolean_t result_of_merge, svn_txdelta_window_handler_t *delta_handler, void **delta_baton, apr_array_header_t *prop_diffs, apr_pool_t *pool)

The callback invoked by file rev loopers, such as svn_ra_plugin_t.get_file_revs2() and svn_repos_get_file_revs2().

baton is provided by the caller, path is the pathname of the file in revision rev and rev_props are the revision properties.

If delta_handler and delta_baton are non-NULL, they may be set to a handler/baton which will be called with the delta between the previous revision and this one after the return of this callback. They may be left as NULL/NULL.

result_of_merge will be `TRUE` if the revision being returned was included as the result of a merge.

prop_diffs is an array of svn_prop_t elements indicating the property delta for this and the previous revision.

pool may be used for temporary allocations, but you can't rely on objects allocated to live outside of this particular call and the immediately following calls to *delta_handler if any. (Pass in a pool via baton if need be.)

Since:
  New in 1.5.

Definition at line 1243 of file svn_delta.h.

## Function Documentation

void svn_compat_wrap_file_rev_handler | ( | svn_file_rev_handler_t * | handler2,
|  | void ** | handler2_baton,
|  | svn_file_rev_handler_old_t | handler,
|  | void * | handler_baton,
|  | apr_pool_t * | pool |
| ) |  |  |

Return, in *handler2 and *handler2_baton a function/baton that will call handler/handler_baton, allocating the *handler2_baton in pool.

Note:
  This is used by compatibility wrappers, which exist in more than Subversion core library.
  svn_file_rev_handler_old_t is a placeholder type for both svn_repos_file_rev_handler_t and svn_ra_file_rev_handler_t. It is reproduced here for dependency reasons.

Since:
  New in 1.5.

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines