Alien-SVN
view release on metacpan or search on metacpan
src/subversion/subversion/include/svn_wc.h view on Meta::CPAN
svn_wc_conflict_description_create_tree2(
const char *local_abspath,
svn_node_kind_t node_kind,
svn_wc_operation_t operation,
const svn_wc_conflict_version_t *src_left_version,
const svn_wc_conflict_version_t *src_right_version,
apr_pool_t *result_pool);
/** Similar to svn_wc_conflict_description_create_tree(), but returns
* a #svn_wc_conflict_description_t *.
*
* @since New in 1.6.
* @deprecated Provided for backward compatibility with the 1.6 API.
*/
SVN_DEPRECATED
svn_wc_conflict_description_t *
svn_wc_conflict_description_create_tree(
const char *path,
svn_wc_adm_access_t *adm_access,
svn_node_kind_t node_kind,
svn_wc_operation_t operation,
/* non-const */ svn_wc_conflict_version_t *src_left_version,
/* non-const */ svn_wc_conflict_version_t *src_right_version,
apr_pool_t *pool);
/** Return a duplicate of @a conflict, allocated in @a result_pool.
* A deep copy of all members will be made.
*
* @since New in 1.7.
*/
svn_wc_conflict_description2_t *
svn_wc__conflict_description2_dup(
const svn_wc_conflict_description2_t *conflict,
apr_pool_t *result_pool);
/** The way in which the conflict callback chooses a course of action.
*
* @since New in 1.5.
*/
typedef enum svn_wc_conflict_choice_t
{
/** Don't resolve the conflict now. Let libsvn_wc mark the path
'conflicted', so user can run 'svn resolved' later. */
svn_wc_conflict_choose_postpone,
/** If there were files to choose from, select one as a way of
resolving the conflict here and now. libsvn_wc will then do the
work of "installing" the chosen file.
*/
svn_wc_conflict_choose_base, /**< original version */
svn_wc_conflict_choose_theirs_full, /**< incoming version */
svn_wc_conflict_choose_mine_full, /**< own version */
svn_wc_conflict_choose_theirs_conflict, /**< incoming (for conflicted hunks) */
svn_wc_conflict_choose_mine_conflict, /**< own (for conflicted hunks) */
svn_wc_conflict_choose_merged, /**< merged version */
/* @since New in 1.8. */
svn_wc_conflict_choose_unspecified /**< undecided */
} svn_wc_conflict_choice_t;
/** The final result returned by #svn_wc_conflict_resolver_func_t.
*
* @note Fields may be added to the end of this structure in future
* versions. Therefore, to preserve binary compatibility, users
* should not directly allocate structures of this type. Instead,
* construct this structure using svn_wc_create_conflict_result()
* below.
*
* @since New in 1.5.
*/
typedef struct svn_wc_conflict_result_t
{
/** A choice to either delay the conflict resolution or select a
particular file to resolve the conflict. */
svn_wc_conflict_choice_t choice;
/** If not NULL, this is a path to a file which contains the client's
(or more likely, the user's) merging of the three values in
conflict. libsvn_wc accepts this file if (and only if) @c choice
is set to #svn_wc_conflict_choose_merged.*/
const char *merged_file;
/** If true, save a backup copy of merged_file (or the original
merged_file from the conflict description, if merged_file is
NULL) in the user's working copy. */
svn_boolean_t save_merged;
} svn_wc_conflict_result_t;
/**
* Allocate an #svn_wc_conflict_result_t structure in @a pool,
* initialize and return it.
*
* Set the @c choice field of the structure to @a choice, @c merged_file
* to @a merged_file, and @c save_merged to false. Make only a shallow
* copy of the pointer argument @a merged_file.
*
* @since New in 1.5.
*/
svn_wc_conflict_result_t *
svn_wc_create_conflict_result(svn_wc_conflict_choice_t choice,
const char *merged_file,
apr_pool_t *pool);
/** A callback used in merge, update and switch for resolving conflicts
* during the application of a tree delta to a working copy.
*
* @a description describes the exact nature of the conflict, and
* provides information to help resolve it. @a baton is a closure
* object; it should be provided by the implementation, and passed by
* the caller. When finished, the callback signals its resolution by
* returning a structure in @a *result, which should be allocated in
* @a result_pool. (See #svn_wc_conflict_result_t.) @a scratch_pool
* should be used for any temporary allocations.
*
* The values #svn_wc_conflict_choose_mine_conflict and
* #svn_wc_conflict_choose_theirs_conflict are not legal for conflicts
* in binary files or binary properties.
*
* Implementations of this callback are free to present the conflict
* using any user interface. This may include simple contextual
* conflicts in a file's text or properties, or more complex
* 'tree'-based conflicts related to obstructed additions, deletions,
* and edits. The callback implementation is free to decide which
* sorts of conflicts to handle; it's also free to decide which types
* of conflicts are automatically resolvable and which require user
* interaction.
*
* @since New in 1.7.
*/
typedef svn_error_t *(*svn_wc_conflict_resolver_func2_t)(
svn_wc_conflict_result_t **result,
const svn_wc_conflict_description2_t *description,
void *baton,
apr_pool_t *result_pool,
apr_pool_t *scratch_pool);
/** Similar to #svn_wc_conflict_resolver_func2_t, but using
* #svn_wc_conflict_description_t instead of
* #svn_wc_conflict_description2_t
*
* @since New in 1.5.
* @deprecated Provided for backward compatibility with the 1.6 API.
*/
typedef svn_error_t *(*svn_wc_conflict_resolver_func_t)(
svn_wc_conflict_result_t **result,
const svn_wc_conflict_description_t *description,
void *baton,
apr_pool_t *pool);
/** @} */
/**
* A callback vtable invoked by our diff-editors, as they receive diffs
* from the server. 'svn diff' and 'svn merge' implement their own versions
* of this vtable.
*
* Common parameters:
*
* If @a state is non-NULL, set @a *state to the state of the item
* after the operation has been performed. (In practice, this is only
* useful with merge, not diff; diff callbacks will probably set
* @a *state to #svn_wc_notify_state_unknown, since they do not change
* the state and therefore do not bother to know the state after the
* operation.) By default, @a state refers to the item's content
* state. Functions concerned with property state have separate
* @a contentstate and @a propstate arguments.
*
* If @a tree_conflicted is non-NULL, set @a *tree_conflicted to true if
* this operation caused a tree conflict, else to false. (Like with @a
* state, this is only useful with merge, not diff; diff callbacks
* should set this to false.)
*
* @since New in 1.7.
*/
typedef struct svn_wc_diff_callbacks4_t
{
/**
* This function is called before @a file_changed to allow callbacks to
* skip the most expensive processing of retrieving the file data.
*
*/
svn_error_t *(*file_opened)(svn_boolean_t *tree_conflicted,
svn_boolean_t *skip,
const char *path,
svn_revnum_t rev,
void *diff_baton,
apr_pool_t *scratch_pool);
/**
* A file @a path has changed. If @a tmpfile2 is non-NULL, the
* contents have changed and those changes can be seen by comparing
* @a tmpfile1 and @a tmpfile2, which represent @a rev1 and @a rev2 of
* the file, respectively.
*
* If known, the @c svn:mime-type value of each file is passed into
* @a mimetype1 and @a mimetype2; either or both of the values can
* be NULL. The implementor can use this information to decide if
* (or how) to generate differences.
*
* @a propchanges is an array of (#svn_prop_t) structures. If it contains
* any elements, the original list of properties is provided in
* @a originalprops, which is a hash of #svn_string_t values, keyed on the
* property name.
*
*/
svn_error_t *(*file_changed)(svn_wc_notify_state_t *contentstate,
svn_wc_notify_state_t *propstate,
svn_boolean_t *tree_conflicted,
const char *path,
const char *tmpfile1,
const char *tmpfile2,
svn_revnum_t rev1,
svn_revnum_t rev2,
const char *mimetype1,
const char *mimetype2,
const apr_array_header_t *propchanges,
apr_hash_t *originalprops,
void *diff_baton,
apr_pool_t *scratch_pool);
/**
* A file @a path was added. The contents can be seen by comparing
* @a tmpfile1 and @a tmpfile2, which represent @a rev1 and @a rev2
* of the file, respectively. (If either file is empty, the rev
* will be 0.)
*
* If known, the @c svn:mime-type value of each file is passed into
* @a mimetype1 and @a mimetype2; either or both of the values can
* be NULL. The implementor can use this information to decide if
* (or how) to generate differences.
*
* @a propchanges is an array of (#svn_prop_t) structures. If it contains
* any elements, the original list of properties is provided in
* @a originalprops, which is a hash of #svn_string_t values, keyed on the
* property name.
* If @a copyfrom_path is non-@c NULL, this add has history (i.e., is a
* copy), and the origin of the copy may be recorded as
* @a copyfrom_path under @a copyfrom_revision.
*/
svn_error_t *(*file_added)(svn_wc_notify_state_t *contentstate,
svn_wc_notify_state_t *propstate,
svn_boolean_t *tree_conflicted,
const char *path,
const char *tmpfile1,
const char *tmpfile2,
svn_revnum_t rev1,
svn_revnum_t rev2,
const char *mimetype1,
const char *mimetype2,
const char *copyfrom_path,
svn_revnum_t copyfrom_revision,
const apr_array_header_t *propchanges,
apr_hash_t *originalprops,
void *diff_baton,
apr_pool_t *scratch_pool);
/**
* A file @a path was deleted. The [loss of] contents can be seen by
* comparing @a tmpfile1 and @a tmpfile2. @a originalprops provides
* the properties of the file.
* ### Some existing callers include WC "entry props" in @a originalprops.
*
* If known, the @c svn:mime-type value of each file is passed into
* @a mimetype1 and @a mimetype2; either or both of the values can
* be NULL. The implementor can use this information to decide if
* (or how) to generate differences.
*/
svn_error_t *(*file_deleted)(svn_wc_notify_state_t *state,
svn_boolean_t *tree_conflicted,
const char *path,
const char *tmpfile1,
const char *tmpfile2,
const char *mimetype1,
const char *mimetype2,
apr_hash_t *originalprops,
void *diff_baton,
apr_pool_t *scratch_pool);
/**
* A directory @a path was deleted.
*/
svn_error_t *(*dir_deleted)(svn_wc_notify_state_t *state,
svn_boolean_t *tree_conflicted,
const char *path,
void *diff_baton,
apr_pool_t *scratch_pool);
/**
* A directory @a path has been opened. @a rev is the revision that the
* directory came from.
*
* This function is called for any existing directory @a path before any
* of the callbacks are called for a child of @a path.
*
* If the callback returns @c TRUE in @a *skip_children, children
* of this directory will be skipped.
*/
svn_error_t *(*dir_opened)(svn_boolean_t *tree_conflicted,
svn_boolean_t *skip,
svn_boolean_t *skip_children,
const char *path,
svn_revnum_t rev,
void *diff_baton,
apr_pool_t *scratch_pool);
/**
* A directory @a path was added. @a rev is the revision that the
* directory came from.
*
* This function is called for any new directory @a path before any
* of the callbacks are called for a child of @a path.
*
* If @a copyfrom_path is non-@c NULL, this add has history (i.e., is a
* copy), and the origin of the copy may be recorded as
* @a copyfrom_path under @a copyfrom_revision.
*/
svn_error_t *(*dir_added)(svn_wc_notify_state_t *state,
svn_boolean_t *tree_conflicted,
svn_boolean_t *skip,
svn_boolean_t *skip_children,
const char *path,
svn_revnum_t rev,
const char *copyfrom_path,
svn_revnum_t copyfrom_revision,
void *diff_baton,
apr_pool_t *scratch_pool);
src/subversion/subversion/include/svn_wc.h view on Meta::CPAN
/** How an entries file's owner dir is named in the entries file.
* @deprecated Provided for backward compatibility with the 1.6 API. */
#define SVN_WC_ENTRY_THIS_DIR ""
/** Set @a *entry to an entry for @a path, allocated in the access baton pool.
* If @a show_hidden is TRUE, return the entry even if it's in 'excluded',
* 'deleted' or 'absent' state. Excluded entries are those with their depth
* set to #svn_depth_exclude. If @a path is not under revision control, or
* if entry is hidden, not scheduled for re-addition, and @a show_hidden is @c
* FALSE, then set @a *entry to @c NULL.
*
* @a *entry should not be modified, since doing so modifies the entries
* cache in @a adm_access without changing the entries file on disk.
*
* If @a path is not a directory then @a adm_access must be an access baton
* for the parent directory of @a path. To avoid needing to know whether
* @a path is a directory or not, if @a path is a directory @a adm_access
* can still be an access baton for the parent of @a path so long as the
* access baton for @a path itself is in the same access baton set.
*
* @a path can be relative or absolute but must share the same base used
* to open @a adm_access.
*
* Note that it is possible for @a path to be absent from disk but still
* under revision control; and conversely, it is possible for @a path to
* be present, but not under revision control.
*
* Use @a pool only for local processing.
*
* @deprecated Provided for backward compatibility with the 1.6 API.
*/
SVN_DEPRECATED
svn_error_t *
svn_wc_entry(const svn_wc_entry_t **entry,
const char *path,
svn_wc_adm_access_t *adm_access,
svn_boolean_t show_hidden,
apr_pool_t *pool);
/** Parse the `entries' file for @a adm_access and return a hash @a entries,
* whose keys are (<tt>const char *</tt>) entry names and values are
* (<tt>svn_wc_entry_t *</tt>). The hash @a entries, and its keys and
* values, are allocated from the pool used to open the @a adm_access
* baton (that's how the entries caching works). @a pool is used for
* transient allocations.
*
* Entries that are in a 'excluded', 'deleted' or 'absent' state (and not
* scheduled for re-addition) are not returned in the hash, unless
* @a show_hidden is TRUE. Excluded entries are those with their depth set to
* #svn_depth_exclude.
*
* @par Important:
* The @a entries hash is the entries cache in @a adm_access
* and so usually the hash itself, the keys and the values should be treated
* as read-only. If any of these are modified then it is the caller's
* responsibility to ensure that the entries file on disk is updated. Treat
* the hash values as type (<tt>const svn_wc_entry_t *</tt>) if you wish to
* avoid accidental modification. Modifying the schedule member is a
* particularly bad idea, as the entries writing process relies on having
* access to the original schedule. Use a duplicate entry to modify the
* schedule.
*
* @par Important:
* Only the entry structures representing files and
* #SVN_WC_ENTRY_THIS_DIR contain complete information. The entry
* structures representing subdirs have only the `kind' and `state'
* fields filled in. If you want info on a subdir, you must use this
* routine to open its @a path and read the #SVN_WC_ENTRY_THIS_DIR
* structure, or call svn_wc_entry() on its @a path.
*
* @deprecated Provided for backward compatibility with the 1.6 API.
*/
SVN_DEPRECATED
svn_error_t *
svn_wc_entries_read(apr_hash_t **entries,
svn_wc_adm_access_t *adm_access,
svn_boolean_t show_hidden,
apr_pool_t *pool);
/** Return a duplicate of @a entry, allocated in @a pool. No part of the new
* entry will be shared with @a entry.
*
* @deprecated Provided for backward compatibility with the 1.6 API.
*/
SVN_DEPRECATED
svn_wc_entry_t *
svn_wc_entry_dup(const svn_wc_entry_t *entry,
apr_pool_t *pool);
/** @} */
/**
* This struct contains information about a working copy node.
*
* @note Fields may be added to the end of this structure in future
* versions. Therefore, users shouldn't allocate structures of this
* type, to preserve binary compatibility.
*
* @since New in 1.7.
*/
typedef struct svn_wc_info_t
{
/** The schedule of this item
* ### Do we still need schedule? */
svn_wc_schedule_t schedule;
/** If copied, the URL from which the copy was made, else @c NULL. */
const char *copyfrom_url;
/** If copied, the revision from which the copy was made,
* else #SVN_INVALID_REVNUM. */
svn_revnum_t copyfrom_rev;
/** The checksum of the node, if it is a file. */
const svn_checksum_t *checksum;
/** A changelist the item is in, @c NULL if this node is not in a
* changelist. */
const char *changelist;
/** The depth of the item, see #svn_depth_t */
svn_depth_t depth;
/**
* The size of the file after being translated into its local
* representation, or #SVN_INVALID_FILESIZE if unknown.
* Not applicable for directories.
*/
svn_filesize_t recorded_size;
/**
* The time at which the file had the recorded size recorded_size and was
* considered unmodified. */
apr_time_t recorded_time;
/** Array of const svn_wc_conflict_description2_t * which contains info
* on any conflict of which this node is a victim. Otherwise NULL. */
const apr_array_header_t *conflicts;
/** The local absolute path of the working copy root. */
const char *wcroot_abspath;
/** The path the node was moved from, if it was moved here. Else NULL.
* @since New in 1.8. */
const char *moved_from_abspath;
/** The path the node was moved to, if it was moved away. Else NULL.
* @since New in 1.8. */
const char *moved_to_abspath;
} svn_wc_info_t;
/**
* Return a duplicate of @a info, allocated in @a pool. No part of the new
* structure will be shared with @a info.
*
* @since New in 1.7.
*/
svn_wc_info_t *
svn_wc_info_dup(const svn_wc_info_t *info,
apr_pool_t *pool);
/** Given @a local_abspath in a dir under version control, decide if it is
* in a state of conflict; return the answers in @a *text_conflicted_p, @a
* *prop_conflicted_p, and @a *tree_conflicted_p. If one or two of the
* answers are uninteresting, simply pass @c NULL pointers for those.
*
* If @a local_abspath is unversioned or does not exist, return
* #SVN_ERR_WC_PATH_NOT_FOUND.
*
* If the @a local_abspath has corresponding text conflict files (with suffix
* .mine, .theirs, etc.) that cannot be found, assume that the text conflict
* has been resolved by the user and return @c FALSE in @a
* *text_conflicted_p.
*
* Similarly, if a property conflicts file (.prej suffix) is said to exist,
* but it cannot be found, assume that the property conflicts have been
* resolved by the user and return @c FALSE in @a *prop_conflicted_p.
*
* @a *tree_conflicted_p can't be auto-resolved in this fashion. An
* explicit `resolved' is needed.
*
* @since New in 1.7.
*/
svn_error_t *
svn_wc_conflicted_p3(svn_boolean_t *text_conflicted_p,
svn_boolean_t *prop_conflicted_p,
svn_boolean_t *tree_conflicted_p,
svn_wc_context_t *wc_ctx,
const char *local_abspath,
apr_pool_t *scratch_pool);
/** Similar to svn_wc_conflicted_p3(), but with a path/adm_access parameter
* pair in place of a wc_ctx/local_abspath pair.
*
* @since New in 1.6.
* @deprecated Provided for backward compatibility with the 1.6 API.
*/
SVN_DEPRECATED
svn_error_t *
svn_wc_conflicted_p2(svn_boolean_t *text_conflicted_p,
svn_boolean_t *prop_conflicted_p,
svn_boolean_t *tree_conflicted_p,
const char *path,
svn_wc_adm_access_t *adm_access,
apr_pool_t *pool);
/** Given a @a dir_path under version control, decide if one of its entries
* (@a entry) is in a state of conflict; return the answers in @a
* text_conflicted_p and @a prop_conflicted_p. These pointers must not be
* null.
*
* If the @a entry mentions that text conflict files (with suffix .mine,
* .theirs, etc.) exist, but they cannot be found, assume the text conflict
* has been resolved by the user and return FALSE in @a *text_conflicted_p.
*
* Similarly, if the @a entry mentions that a property conflicts file (.prej
* suffix) exists, but it cannot be found, assume the property conflicts
* have been resolved by the user and return FALSE in @a *prop_conflicted_p.
*
* The @a entry is not updated.
*
* @deprecated Provided for backward compatibility with the 1.5 API.
*/
SVN_DEPRECATED
svn_error_t *
svn_wc_conflicted_p(svn_boolean_t *text_conflicted_p,
svn_boolean_t *prop_conflicted_p,
const char *dir_path,
const svn_wc_entry_t *entry,
apr_pool_t *pool);
/** Set @a *url and @a *rev to the ancestor URL and revision for @a path,
* allocating in @a pool. @a adm_access must be an access baton for @a path.
*
* If @a url or @a rev is NULL, then ignore it (just don't return the
* corresponding information).
*
* @deprecated Provided for backward compatibility with the 1.6 API.
*/
SVN_DEPRECATED
svn_error_t *
svn_wc_get_ancestry(char **url,
svn_revnum_t *rev,
const char *path,
svn_wc_adm_access_t *adm_access,
apr_pool_t *pool);
/** A callback vtable invoked by the generic entry-walker function.
* @since New in 1.5.
*/
typedef struct svn_wc_entry_callbacks2_t
{
/** An @a entry was found at @a path. */
svn_error_t *(*found_entry)(const char *path,
const svn_wc_entry_t *entry,
void *walk_baton,
apr_pool_t *pool);
/** Handle the error @a err encountered while processing @a path.
* Wrap or squelch @a err as desired, and return an #svn_error_t
* *, or #SVN_NO_ERROR.
*/
svn_error_t *(*handle_error)(const char *path,
svn_error_t *err,
void *walk_baton,
src/subversion/subversion/include/svn_wc.h view on Meta::CPAN
* Furthermore, merging into an unversioned file is a lossy operation.)
*
* @a dry_run determines whether the working copy is modified. When it
* is @c FALSE the merge will cause @a target_abspath to be modified, when
* it is @c TRUE the merge will be carried out to determine the result but
* @a target_abspath will not be modified.
*
* If @a diff3_cmd is non-NULL, then use it as the diff3 command for
* any merging; otherwise, use the built-in merge code. If @a
* merge_options is non-NULL, either pass its elements to @a diff3_cmd or
* parse it and use as options to the internal merge code (see
* svn_diff_file_options_parse()). @a merge_options must contain
* <tt>const char *</tt> elements.
*
* If @a merge_props_state is non-NULL, merge @a prop_diff into the
* working properties before merging the text. (If @a merge_props_state
* is NULL, do not merge any property changes; in this case, @a prop_diff
* is only used to help determine the text merge result.) Handle any
* conflicts as described for svn_wc_merge_props3(), with the parameters
* @a dry_run, @a conflict_func and @a conflict_baton. Return the
* outcome of the property merge in @a *merge_props_state.
*
* The outcome of the text merge is returned in @a *merge_content_outcome. If
* there is a conflict and @a dry_run is @c FALSE, then attempt to call @a
* conflict_func with @a conflict_baton (if non-NULL). If the
* conflict callback cannot resolve the conflict, then:
*
* * Put conflict markers around the conflicting regions in
* @a target_abspath, labeled with @a left_label, @a right_label, and
* @a target_label. (If any of these labels are @c NULL, default
* values will be used.)
*
* * Copy @a left_abspath, @a right_abspath, and the original @a
* target_abspath to unique names in the same directory as @a
* target_abspath, ending with the suffixes ".LEFT_LABEL", ".RIGHT_LABEL",
* and ".TARGET_LABEL" respectively.
*
* * Mark @a target_abspath as "text-conflicted", and track the above
* mentioned backup files as well.
*
* * If @a left_version and/or @a right_version are not NULL, provide
* these values to the conflict handler and track these while the conflict
* exists.
*
* Binary case:
*
* If @a target_abspath is a binary file, then no merging is attempted,
* the merge is deemed to be a conflict. If @a dry_run is @c FALSE the
* working @a target_abspath is untouched, and copies of @a left_abspath and
* @a right_abspath are created next to it using @a left_label and
* @a right_label. @a target_abspath is marked as "text-conflicted", and
* begins tracking the two backup files and the version information.
*
* If @a dry_run is @c TRUE no files are changed. The outcome of the merge
* is returned in @a *merge_content_outcome.
* ### (and what about @a *merge_props_state?)
*
* ### BH: Two kinds of outcome is not how it should be.
*
* ### For text, we report the outcome as 'merged' if there was some
* incoming change that we dealt with (even if we decided to no-op?)
* but the callers then convert this outcome into a notification
* of 'merged' only if there was already a local modification;
* otherwise they notify it as simply 'updated'. But for props
* we report a notify state of 'merged' here if there was an
* incoming change regardless of the local-mod state. Inconsistent.
*
* Use @a scratch_pool for any temporary allocation.
*
* @since New in 1.8.
*/
svn_error_t *
svn_wc_merge5(enum svn_wc_merge_outcome_t *merge_content_outcome,
enum svn_wc_notify_state_t *merge_props_state,
svn_wc_context_t *wc_ctx,
const char *left_abspath,
const char *right_abspath,
const char *target_abspath,
const char *left_label,
const char *right_label,
const char *target_label,
const svn_wc_conflict_version_t *left_version,
const svn_wc_conflict_version_t *right_version,
svn_boolean_t dry_run,
const char *diff3_cmd,
const apr_array_header_t *merge_options,
apr_hash_t *original_props,
const apr_array_header_t *prop_diff,
svn_wc_conflict_resolver_func2_t conflict_func,
void *conflict_baton,
svn_cancel_func_t cancel_func,
void *cancel_baton,
apr_pool_t *scratch_pool);
/** Similar to svn_wc_merge5() but with @a merge_props_state and @a
* original_props always passed as NULL.
*
* Unlike svn_wc_merge5(), this function doesn't merge property
* changes. Callers of this function must first use
* svn_wc_merge_props3() to get this functionality.
*
* @since New in 1.7.
* @deprecated Provided for backwards compatibility with the 1.7 API.
*/
SVN_DEPRECATED
svn_error_t *
svn_wc_merge4(enum svn_wc_merge_outcome_t *merge_outcome,
svn_wc_context_t *wc_ctx,
const char *left_abspath,
const char *right_abspath,
const char *target_abspath,
const char *left_label,
const char *right_label,
const char *target_label,
const svn_wc_conflict_version_t *left_version,
const svn_wc_conflict_version_t *right_version,
svn_boolean_t dry_run,
const char *diff3_cmd,
const apr_array_header_t *merge_options,
const apr_array_header_t *prop_diff,
svn_wc_conflict_resolver_func2_t conflict_func,
( run in 0.554 second using v1.01-cache-2.11-cpan-524268b4103 )