# Text/Prop Deltas Using an Editor
[Working copy management]

## Functions
svn_error_t * | svn_wc_transmit_text_deltas3 (const svn_checksum_t **new_text_base_md5_checksum, const svn_checksum_t **new_text_base_sha1_checksum, svn_wc_context_t *wc_ctx, const char *local_abspath, svn_boolean_t fulltext, const svn_delta_editor_t *editor, void *file_baton, apr_pool_t *result_pool, apr_pool_t *scratch_pool)
| Send the local modifications for versioned file local_abspath (with matching file_baton) through editor, then close file_baton afterwards.
svn_error_t * | svn_wc_transmit_text_deltas2 (const char **tempfile, unsigned char digest[], const char *path, svn_wc_adm_access_t *adm_access, svn_boolean_t fulltext, const svn_delta_editor_t *editor, void *file_baton, apr_pool_t *pool)
| Similar to svn_wc_transmit_text_deltas3(), but with a relative path and adm_access baton, and the checksum output is an MD5 digest instead of two svn_checksum_t objects.
svn_error_t * | svn_wc_transmit_text_deltas (const char *path, svn_wc_adm_access_t *adm_access, svn_boolean_t fulltext, const svn_delta_editor_t *editor, void *file_baton, const char **tempfile, apr_pool_t *pool)
| Similar to svn_wc_transmit_text_deltas2(), but with digest set to NULL.
svn_error_t * | svn_wc_transmit_prop_deltas2 (svn_wc_context_t *wc_ctx, const char *local_abspath, const svn_delta_editor_t *editor, void *baton, apr_pool_t *scratch_pool)
| Given a local_abspath, transmit all local property modifications using the appropriate editor method (in conjunction with baton).
svn_error_t * | svn_wc_transmit_prop_deltas (const char *path, svn_wc_adm_access_t *adm_access, const svn_wc_entry_t *entry, const svn_delta_editor_t *editor, void *baton, const char **tempfile, apr_pool_t *pool)
| Similar to svn_wc_transmit_prop_deltas2(), but with a relative path, adm_access baton and tempfile.

## Function Documentation

svn_error_t* svn_wc_transmit_prop_deltas | ( | const char * | path,
|  | svn_wc_adm_access_t * | adm_access,
|  | const svn_wc_entry_t * | entry,
|  | const svn_delta_editor_t * | editor,
|  | void * | baton,
|  | const char ** | tempfile,
|  | apr_pool_t * | pool |
| ) |  |  |

Similar to svn_wc_transmit_prop_deltas2(), but with a relative path, adm_access baton and tempfile.

If a temporary file remains after this function is finished, the path to that file is returned in *tempfile (so the caller can clean this up if it wishes to do so).

Note:
  Starting version 1.5, no tempfile will ever be returned anymore. If *tempfile is passed, its value is set to `NULL`.

Deprecated:
  Provided for backwards compatibility with the 1.6 API.

svn_error_t* svn_wc_transmit_prop_deltas2 | ( | svn_wc_context_t * | wc_ctx,
|  | const char * | local_abspath,
|  | const svn_delta_editor_t * | editor,
|  | void * | baton,
|  | apr_pool_t * | scratch_pool |
| ) |  |  |

Given a local_abspath, transmit all local property modifications using the appropriate editor method (in conjunction with baton).

Use scratch_pool for any temporary allocation.

Since:
  New in 1.7.

svn_error_t* svn_wc_transmit_text_deltas | ( | const char * | path,
|  | svn_wc_adm_access_t * | adm_access,
|  | svn_boolean_t | fulltext,
|  | const svn_delta_editor_t * | editor,
|  | void * | file_baton,
|  | const char ** | tempfile,
|  | apr_pool_t * | pool |
| ) |  |  |

Similar to svn_wc_transmit_text_deltas2(), but with digest set to NULL.

Deprecated:
  Provided for backwards compatibility with the 1.3 API.

svn_error_t* svn_wc_transmit_text_deltas2 | ( | const char ** | tempfile,
|  | unsigned char | digest[],
|  | const char * | path,
|  | svn_wc_adm_access_t * | adm_access,
|  | svn_boolean_t | fulltext,
|  | const svn_delta_editor_t * | editor,
|  | void * | file_baton,
|  | apr_pool_t * | pool |
| ) |  |  |

Similar to svn_wc_transmit_text_deltas3(), but with a relative path and adm_access baton, and the checksum output is an MD5 digest instead of two svn_checksum_t objects.

If tempfile is non-NULL, make a copy of path with keywords and eol translated to repository-normal form, and set *tempfile to the absolute path to this copy, allocated in result_pool. The copy will be in the temporary-text-base directory. Do not clean up the copy; caller can do that. (The purpose of handing back the tmp copy is that it is usually about to become the new text base anyway, but the installation of the new text base is outside the scope of this function.)

Since:
  New in 1.4.

Deprecated:
  Provided for backwards compatibility with the 1.6 API.

svn_error_t* svn_wc_transmit_text_deltas3 | ( | const svn_checksum_t ** | new_text_base_md5_checksum,
|  | const svn_checksum_t ** | new_text_base_sha1_checksum,
|  | svn_wc_context_t * | wc_ctx,
|  | const char * | local_abspath,
|  | svn_boolean_t | fulltext,
|  | const svn_delta_editor_t * | editor,
|  | void * | file_baton,
|  | apr_pool_t * | result_pool,
|  | apr_pool_t * | scratch_pool |
| ) |  |  |

Send the local modifications for versioned file local_abspath (with matching file_baton) through editor, then close file_baton afterwards.

Use scratch_pool for any temporary allocation.

If new_text_base_md5_checksum is non-NULL, set *new_text_base_md5_checksum to the MD5 checksum of (local_abspath translated to repository-normal form), allocated in result_pool.

If new_text_base_sha1_checksum in non-NULL, store a copy of (local_abspath translated to repository-normal form) in the pristine text store, and set *new_text_base_sha1_checksum to its SHA-1 checksum.

If fulltext, send the untranslated copy of local_abspath through editor as full-text; else send it as svndiff against the current text base.

If sending a diff, and the recorded checksum for local_abspath's text-base does not match the current actual checksum, then remove the tmp copy (and set *tempfile to NULL if appropriate), and return the error SVN_ERR_WC_CORRUPT_TEXT_BASE.

Note:
  This is intended for use with both infix and postfix text-delta styled editor drivers.

Since:
  New in 1.7.

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines