# Path-based delta drivers
[Delta generation and handling]

Path-based editor drives. More...

## Typedefs
typedef svn_error_t *(* | svn_delta_path_driver_cb_func_t )(void **dir_baton, void *parent_baton, void *callback_baton, const char *path, apr_pool_t *pool)
| Callback function type for svn_delta_path_driver().
## Functions
svn_error_t * | svn_delta_path_driver (const svn_delta_editor_t *editor, void *edit_baton, svn_revnum_t revision, const apr_array_header_t *paths, svn_delta_path_driver_cb_func_t callback_func, void *callback_baton, apr_pool_t *pool)
| Drive editor (with its edit_baton) in such a way that each path in paths is traversed in a depth-first fashion.

## Detailed Description

Path-based editor drives.

## Typedef Documentation

typedef svn_error_t*(* svn_delta_path_driver_cb_func_t)(void **dir_baton, void *parent_baton, void *callback_baton, const char *path, apr_pool_t *pool)

Callback function type for svn_delta_path_driver().

The handler of this callback is given the callback baton callback_baton, path, and the parent_baton which represents path's parent directory as created by the editor passed to svn_delta_path_driver().

If path represents a directory, the handler must return a *dir_baton for path, generated from the same editor (so that the driver can later close that directory).

If, however, path represents a file, the handler should NOT return any file batons. It can close any opened or added files immediately, or delay that close until the end of the edit when svn_delta_path_driver() returns.

Finally, if parent_baton is `NULL`, then the root of the edit is also one of the paths passed to svn_delta_path_driver(). The handler of this callback must call the editor's open_root() function and return the top-level root dir baton in *dir_baton.

Definition at line 1185 of file svn_delta.h.

## Function Documentation

svn_error_t* svn_delta_path_driver | ( | const svn_delta_editor_t * | editor,
|  | void * | edit_baton,
|  | svn_revnum_t | revision,
|  | const apr_array_header_t * | paths,
|  | svn_delta_path_driver_cb_func_t | callback_func,
|  | void * | callback_baton,
|  | apr_pool_t * | pool |
| ) |  |  |

Drive editor (with its edit_baton) in such a way that each path in paths is traversed in a depth-first fashion.

As each path is hit as part of the editor drive, use callback_func and callback_baton to allow the caller to handle the portion of the editor drive related to that path.

Use revision as the revision number passed to intermediate directory openings.

Use pool for all necessary allocations.

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines