Alien-SVN
view release on metacpan or search on metacpan
src/subversion/subversion/include/svn_wc.h view on Meta::CPAN
svn_wc_notify_status_external,
/** Committing a modification. */
svn_wc_notify_commit_modified,
/** Committing an addition. */
svn_wc_notify_commit_added,
/** Committing a deletion. */
svn_wc_notify_commit_deleted,
/** Committing a replacement. */
svn_wc_notify_commit_replaced,
/** Transmitting post-fix text-delta data for a file. */
svn_wc_notify_commit_postfix_txdelta,
/** Processed a single revision's blame. */
svn_wc_notify_blame_revision,
/** Locking a path. @since New in 1.2. */
svn_wc_notify_locked,
/** Unlocking a path. @since New in 1.2. */
svn_wc_notify_unlocked,
/** Failed to lock a path. @since New in 1.2. */
svn_wc_notify_failed_lock,
/** Failed to unlock a path. @since New in 1.2. */
svn_wc_notify_failed_unlock,
/** Tried adding a path that already exists. @since New in 1.5. */
svn_wc_notify_exists,
/** Changelist name set. @since New in 1.5. */
svn_wc_notify_changelist_set,
/** Changelist name cleared. @since New in 1.5. */
svn_wc_notify_changelist_clear,
/** Warn user that a path has moved from one changelist to another.
@since New in 1.5.
@deprecated As of 1.7, separate clear and set notifications are sent. */
svn_wc_notify_changelist_moved,
/** A merge operation (to path) has begun. See #svn_wc_notify_t.merge_range.
@since New in 1.5. */
svn_wc_notify_merge_begin,
/** A merge operation (to path) from a foreign repository has begun.
See #svn_wc_notify_t.merge_range. @since New in 1.5. */
svn_wc_notify_foreign_merge_begin,
/** Replace notification. @since New in 1.5. */
svn_wc_notify_update_replace,
/** Property added. @since New in 1.6. */
svn_wc_notify_property_added,
/** Property updated. @since New in 1.6. */
svn_wc_notify_property_modified,
/** Property deleted. @since New in 1.6. */
svn_wc_notify_property_deleted,
/** Nonexistent property deleted. @since New in 1.6. */
svn_wc_notify_property_deleted_nonexistent,
/** Revprop set. @since New in 1.6. */
svn_wc_notify_revprop_set,
/** Revprop deleted. @since New in 1.6. */
svn_wc_notify_revprop_deleted,
/** The last notification in a merge. @since New in 1.6. */
svn_wc_notify_merge_completed,
/** The path is a tree-conflict victim of the intended action (*not*
* a persistent tree-conflict from an earlier operation, but *this*
* operation caused the tree-conflict). @since New in 1.6. */
svn_wc_notify_tree_conflict,
/** The path is a subdirectory referenced in an externals definition
* which is unable to be operated on. @since New in 1.6. */
svn_wc_notify_failed_external,
/** Starting an update operation. @since New in 1.7. */
svn_wc_notify_update_started,
/** An update tried to add a file or directory at a path where
* a separate working copy was found. @since New in 1.7. */
svn_wc_notify_update_skip_obstruction,
/** An explicit update tried to update a file or directory that
* doesn't live in the repository and can't be brought in.
* @since New in 1.7. */
svn_wc_notify_update_skip_working_only,
/** An update tried to update a file or directory to which access could
* not be obtained. @since New in 1.7. */
svn_wc_notify_update_skip_access_denied,
/** An update operation removed an external working copy.
* @since New in 1.7. */
svn_wc_notify_update_external_removed,
/** A node below an existing node was added during update.
* @since New in 1.7. */
svn_wc_notify_update_shadowed_add,
/** A node below an existing node was updated during update.
* @since New in 1.7. */
svn_wc_notify_update_shadowed_update,
/** A node below an existing node was deleted during update.
* @since New in 1.7. */
svn_wc_notify_update_shadowed_delete,
/** The mergeinfo on path was updated. @since New in 1.7. */
svn_wc_notify_merge_record_info,
/** A working copy directory was upgraded to the latest format.
* @since New in 1.7. */
svn_wc_notify_upgraded_path,
/** Mergeinfo describing a merge was recorded.
* @since New in 1.7. */
svn_wc_notify_merge_record_info_begin,
/** Mergeinfo was removed due to elision.
* @since New in 1.7. */
svn_wc_notify_merge_elide_info,
/** A file in the working copy was patched.
* @since New in 1.7. */
svn_wc_notify_patch,
/** A hunk from a patch was applied.
* @since New in 1.7. */
svn_wc_notify_patch_applied_hunk,
/** A hunk from a patch was rejected.
* @since New in 1.7. */
svn_wc_notify_patch_rejected_hunk,
/** A hunk from a patch was found to already be applied.
* @since New in 1.7. */
svn_wc_notify_patch_hunk_already_applied,
/** Committing a non-overwriting copy (path is the target of the
* copy, not the source).
* @since New in 1.7. */
svn_wc_notify_commit_copied,
/** Committing an overwriting (replace) copy (path is the target of
* the copy, not the source).
* @since New in 1.7. */
svn_wc_notify_commit_copied_replaced,
/** The server has instructed the client to follow a URL
* redirection.
* @since New in 1.7. */
svn_wc_notify_url_redirect,
/** The operation was attempted on a path which doesn't exist.
* @since New in 1.7. */
svn_wc_notify_path_nonexistent,
/** Removing a path by excluding it.
* @since New in 1.7. */
svn_wc_notify_exclude,
/** Operation failed because the node remains in conflict
* @since New in 1.7. */
svn_wc_notify_failed_conflict,
/** Operation failed because an added node is missing
* @since New in 1.7. */
svn_wc_notify_failed_missing,
src/subversion/subversion/include/svn_wc.h view on Meta::CPAN
} svn_wc_entry_t;
/** 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. */
src/subversion/subversion/include/svn_wc.h view on Meta::CPAN
/** 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,
apr_pool_t *pool);
} svn_wc_entry_callbacks2_t;
/** @deprecated Provided for backward compatibility with the 1.4 API. */
typedef struct svn_wc_entry_callbacks_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);
src/subversion/subversion/include/svn_wc.h view on Meta::CPAN
*
* @note Even though this API uses a #svn_wc_context_t, it accepts a
* (possibly) relative path and returns a (possibly) relative path in
* @a *anchor. The reason being that the outputs are generally used to
* open access batons, and such opening currently requires relative paths.
* In the long-run, I expect this API to be removed from 1.7, due to the
* remove of access batons, but for the time being, the #svn_wc_context_t
* parameter allows us to avoid opening a duplicate database, just for this
* function.
*
* @since New in 1.7.
*/
svn_error_t *
svn_wc_get_actual_target2(const char **anchor,
const char **target,
svn_wc_context_t *wc_ctx,
const char *path,
apr_pool_t *result_pool,
apr_pool_t *scratch_pool);
/** Similar to svn_wc_get_actual_target2(), but without the wc context, and
* with a absolute path.
*
* @deprecated Provided for backward compatibility with the 1.6 API.
*/
SVN_DEPRECATED
svn_error_t *
svn_wc_get_actual_target(const char *path,
const char **anchor,
const char **target,
apr_pool_t *pool);
/**
* @defgroup svn_wc_update_switch Update and switch (update-like functionality)
* @{
*/
/**
* A simple callback type to wrap svn_ra_get_file(); see that
* docstring for more information.
*
* This technique allows libsvn_client to 'wrap' svn_ra_get_file() and
* pass it down into libsvn_wc functions, thus allowing the WC layer
* to legally call the RA function via (blind) callback.
*
* @since New in 1.5
* @deprecated Provided for backward compatibility with the 1.6 API.
*/
typedef svn_error_t *(*svn_wc_get_file_t)(void *baton,
const char *path,
svn_revnum_t revision,
svn_stream_t *stream,
svn_revnum_t *fetched_rev,
apr_hash_t **props,
apr_pool_t *pool);
/**
* A simple callback type to wrap svn_ra_get_dir2() for avoiding issue #3569,
* where a directory is updated to a revision without some of its children
* recorded in the working copy. A future update won't bring these files in
* because the repository assumes they are already there.
*
* We really only need the names of the dirents for a not-present marking,
* but we also store the node-kind if we receive one.
*
* @a *dirents should be set to a hash mapping <tt>const char *</tt> child
* names, to <tt>const svn_dirent_t *</tt> instances.
*
* @since New in 1.7.
*/
typedef svn_error_t *(*svn_wc_dirents_func_t)(void *baton,
apr_hash_t **dirents,
const char *repos_root_url,
const char *repos_relpath,
apr_pool_t *result_pool,
apr_pool_t *scratch_pool);
/**
* DEPRECATED -- please use APIs from svn_client.h
*
* ---
*
* Set @a *editor and @a *edit_baton to an editor and baton for updating a
* working copy.
*
* @a anchor_abspath is a local working copy directory, with a fully recursive
* write lock in @a wc_ctx, which will be used as the root of our editor.
*
* @a target_basename is the entry in @a anchor_abspath that will actually be
* updated, or the empty string if all of @a anchor_abspath should be updated.
*
* The editor invokes @a notify_func with @a notify_baton as the update
* progresses, if @a notify_func is non-NULL.
*
* If @a cancel_func is non-NULL, the editor will invoke @a cancel_func with
* @a cancel_baton as the update progresses to see if it should continue.
*
* If @a conflict_func is non-NULL, then invoke it with @a
* conflict_baton whenever a conflict is encountered, giving the
* callback a chance to resolve the conflict before the editor takes
* more drastic measures (such as marking a file conflicted, or
* bailing out of the update).
*
* If @a external_func is non-NULL, then invoke it with @a external_baton
* whenever external changes are encountered, giving the callback a chance
* to store the external information for processing.
*
* If @a diff3_cmd is non-NULL, then use it as the diff3 command for
* any merging; otherwise, use the built-in merge code.
*
* @a preserved_exts is an array of filename patterns which, when
* matched against the extensions of versioned files, determine for
* which such files any related generated conflict files will preserve
* the original file's extension as their own. If a file's extension
* does not match any of the patterns in @a preserved_exts (which is
* certainly the case if @a preserved_exts is @c NULL or empty),
* generated conflict files will carry Subversion's custom extensions.
*
* @a target_revision is a pointer to a revision location which, after
* successful completion of the drive of this editor, will be
* populated with the revision to which the working copy was updated.
*
* If @a use_commit_times is TRUE, then all edited/added files will
* have their working timestamp set to the last-committed-time. If
* FALSE, the working files will be touched with the 'now' time.
*
* If @a allow_unver_obstructions is TRUE, then allow unversioned
* obstructions when adding a path.
*
* If @a adds_as_modification is TRUE, a local addition at the same path
* as an incoming addition of the same node kind results in a normal node
* with a possible local modification, instead of a tree conflict.
*
* If @a depth is #svn_depth_infinity, update fully recursively.
* Else if it is #svn_depth_immediates, update the uppermost
* directory, its file entries, and the presence or absence of
* subdirectories (but do not descend into the subdirectories).
* Else if it is #svn_depth_files, update the uppermost directory
* and its immediate file entries, but not subdirectories.
* Else if it is #svn_depth_empty, update exactly the uppermost
* target, and don't touch its entries.
*
* If @a depth_is_sticky is set and @a depth is not
* #svn_depth_unknown, then in addition to updating PATHS, also set
* their sticky ambient depth value to @a depth.
*
* If @a server_performs_filtering is TRUE, assume that the server handles
* the ambient depth filtering, so this doesn't have to be handled in the
* editor.
*
* If @a clean_checkout is TRUE, assume that we are checking out into an
* empty directory, and so bypass a number of conflict checks that are
* unnecessary in this case.
*
* If @a fetch_dirents_func is not NULL, the update editor may call this
* callback, when asked to perform a depth restricted update. It will do this
* before returning the editor to allow using the primary ra session for this.
*
* @since New in 1.7.
* @deprecated Provided for backward compatibility with the 1.7 API.
*/
SVN_DEPRECATED
svn_error_t *
svn_wc_get_update_editor4(const svn_delta_editor_t **editor,
void **edit_baton,
svn_revnum_t *target_revision,
svn_wc_context_t *wc_ctx,
const char *anchor_abspath,
const char *target_basename,
svn_boolean_t use_commit_times,
svn_depth_t depth,
svn_boolean_t depth_is_sticky,
svn_boolean_t allow_unver_obstructions,
svn_boolean_t adds_as_modification,
svn_boolean_t server_performs_filtering,
svn_boolean_t clean_checkout,
const char *diff3_cmd,
const apr_array_header_t *preserved_exts,
svn_wc_dirents_func_t fetch_dirents_func,
void *fetch_dirents_baton,
svn_wc_conflict_resolver_func2_t conflict_func,
src/subversion/subversion/include/svn_wc.h view on Meta::CPAN
* 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,
void *conflict_baton,
svn_cancel_func_t cancel_func,
void *cancel_baton,
src/subversion/subversion/include/svn_wc.h view on Meta::CPAN
const char *path,
svn_wc_adm_access_t *adm_access,
apr_hash_t *baseprops,
const apr_array_header_t *propchanges,
svn_boolean_t base_merge,
svn_boolean_t dry_run,
svn_wc_conflict_resolver_func_t conflict_func,
void *conflict_baton,
apr_pool_t *pool);
/**
* Same as svn_wc_merge_props2(), but with a @a conflict_func (and
* baton) of NULL.
*
* @since New in 1.3. The base_merge option is not supported since 1.7.
* @deprecated Provided for backward compatibility with the 1.4 API.
*/
SVN_DEPRECATED
svn_error_t *
svn_wc_merge_props(svn_wc_notify_state_t *state,
const char *path,
svn_wc_adm_access_t *adm_access,
apr_hash_t *baseprops,
const apr_array_header_t *propchanges,
svn_boolean_t base_merge,
svn_boolean_t dry_run,
apr_pool_t *pool);
/**
* Similar to svn_wc_merge_props(), but no baseprops are given.
* Instead, it's assumed that the incoming propchanges are based
* against the working copy's own baseprops. While this assumption is
* correct for 'svn update', it's incorrect for 'svn merge', and can
* cause flawed behavior. (See issue #2035.)
*
* @since The base_merge option is not supported since 1.7.
* @deprecated Provided for backward compatibility with the 1.2 API.
* Replaced by svn_wc_merge_props().
*/
SVN_DEPRECATED
svn_error_t *
svn_wc_merge_prop_diffs(svn_wc_notify_state_t *state,
const char *path,
svn_wc_adm_access_t *adm_access,
const apr_array_header_t *propchanges,
svn_boolean_t base_merge,
svn_boolean_t dry_run,
apr_pool_t *pool);
/** @} */
/** Given a @a path to a wc file, return in @a *contents a readonly stream to
* the pristine contents of the file that would serve as base content for the
* next commit. That means:
*
* When there is no change in node history scheduled, i.e. when there are only
* local text-mods, prop-mods or a delete, return the last checked-out or
* updated-/switched-to contents of the file.
*
* If the file is simply added or replaced (no copy-/move-here involved),
* set @a *contents to @c NULL.
*
* When the file has been locally copied-/moved-here, return the contents of
* the copy/move source (even if the copy-/move-here replaces a locally
* deleted file).
*
* If @a local_abspath refers to an unversioned or non-existing path, return
* @c SVN_ERR_WC_PATH_NOT_FOUND. Use @a wc_ctx to access the working copy.
* @a contents may not be @c NULL (unlike @a *contents).
*
* @since New in 1.7. */
svn_error_t *
svn_wc_get_pristine_contents2(svn_stream_t **contents,
svn_wc_context_t *wc_ctx,
const char *local_abspath,
apr_pool_t *result_pool,
apr_pool_t *scratch_pool);
/** Similar to svn_wc_get_pristine_contents2, but takes no working copy
* context and a path that can be relative
*
* @since New in 1.6.
* @deprecated Provided for backward compatibility with the 1.6 API.
*/
SVN_DEPRECATED
svn_error_t *
svn_wc_get_pristine_contents(svn_stream_t **contents,
const char *path,
apr_pool_t *result_pool,
apr_pool_t *scratch_pool);
/** Set @a *pristine_path to the path of the "normal" pristine text file for
* the versioned file @a path.
*
* If @a path does not have a pristine text, set @a *pristine_path to a path where
* nothing exists on disk (in a directory that does exist).
*
* @note: Before version 1.7, the behaviour in that case was to provide the
* path where the pristine text *would be* if it were present. The new
* behaviour is intended to provide backward compatibility for callers that
* open or test the provided path immediately, and not for callers that
* store the path for later use.
*
* @deprecated Provided for backwards compatibility with the 1.5 API.
* Callers should use svn_wc_get_pristine_contents() instead.
*/
SVN_DEPRECATED
svn_error_t *
svn_wc_get_pristine_copy_path(const char *path,
const char **pristine_path,
apr_pool_t *pool);
/**
* Recurse from @a local_abspath, cleaning up unfinished log business. Perform
* any temporary allocations in @a scratch_pool. Any working copy locks under
* @a local_abspath will be taken over and then cleared by this function.
( run in 0.879 second using v1.01-cache-2.11-cpan-5623c5533a1 )