Alien-SVN
view release on metacpan or search on metacpan
src/subversion/subversion/include/private/svn_wc_private.h view on Meta::CPAN
/**
* Set @a *not_present to TRUE when @a local_abspath has status
* svn_wc__db_status_not_present. Set @a *user_excluded to TRUE when
* @a local_abspath has status svn_wc__db_status_excluded. Set
* @a *server_excluded to TRUE when @a local_abspath has status
* svn_wc__db_status_server_excluded. Otherwise set these values to FALSE.
* If @a base_only is TRUE then only the base node will be examined,
* otherwise the current base or working node will be examined.
*
* If a value is not interesting you can pass #NULL.
*
* If @a local_abspath is not in the working copy, return
* @c SVN_ERR_WC_PATH_NOT_FOUND. Use @a scratch_pool for all temporary
* allocations.
*/
svn_error_t *
svn_wc__node_is_not_present(svn_boolean_t *not_present,
svn_boolean_t *user_excluded,
svn_boolean_t *server_excluded,
svn_wc_context_t *wc_ctx,
const char *local_abspath,
svn_boolean_t base_only,
apr_pool_t *scratch_pool);
/**
* Set @a *is_added to whether @a local_abspath is added, using
* @a wc_ctx. If @a local_abspath is not in the working copy, return
* @c SVN_ERR_WC_PATH_NOT_FOUND. Use @a scratch_pool for all temporary
* allocations.
*
* NOTE: "added" in this sense, means it was added, copied-here, or
* moved-here. This function provides NO information on whether this
* addition has replaced another node.
*
* To be clear, this does NOT correspond to svn_wc_schedule_add.
*/
svn_error_t *
svn_wc__node_is_added(svn_boolean_t *is_added,
svn_wc_context_t *wc_ctx,
const char *local_abspath,
apr_pool_t *scratch_pool);
/**
* Set @a *has_working to whether @a local_abspath has a working node (which
* might shadow BASE nodes)
*
* This is a check similar to status = added or status = deleted.
*/
svn_error_t *
svn_wc__node_has_working(svn_boolean_t *has_working,
svn_wc_context_t *wc_ctx,
const char *local_abspath,
apr_pool_t *scratch_pool);
/**
* Get the repository location of the base node at @a local_abspath.
*
* Set *REVISION, *REPOS_RELPATH, *REPOS_ROOT_URL *REPOS_UUID and *LOCK_TOKEN
* to the location that this node was checked out at or last updated/switched
* to, regardless of any uncommitted changes (delete, replace and/or copy-here/
* move-here).
*
* If there is no BASE node at @a local_abspath or if @a show_hidden is FALSE,
* no status 'normal' or 'incomplete' BASE node report
* SVN_ERR_WC_PATH_NOT_FOUND, or if @a ignore_enoent is TRUE, @a kind
* svn_node_unknown, @a revision SVN_INVALID_REVNUM and all other values NULL.
*
* All output arguments may be NULL.
*
* Allocate the results in @a result_pool. Perform temporary allocations in
* @a scratch_pool.
*/
svn_error_t *
svn_wc__node_get_base(svn_node_kind_t *kind,
svn_revnum_t *revision,
const char **repos_relpath,
const char **repos_root_url,
const char **repos_uuid,
const char **lock_token,
svn_wc_context_t *wc_ctx,
const char *local_abspath,
svn_boolean_t ignore_enoent,
svn_boolean_t show_hidden,
apr_pool_t *result_pool,
apr_pool_t *scratch_pool);
/* Get the working revision of @a local_abspath using @a wc_ctx. If @a
* local_abspath is not in the working copy, return @c
* SVN_ERR_WC_PATH_NOT_FOUND.
*
* This function is meant as a temporary solution for using the old-style
* semantics of entries. It will handle any uncommitted changes (delete,
* replace and/or copy-here/move-here).
*
* For a delete the @a revision is the BASE node of the operation root, e.g
* the path that was deleted. But if the delete is below an add, the
* revision is set to SVN_INVALID_REVNUM. For an add, copy or move we return
* SVN_INVALID_REVNUM. In case of a replacement, we return the BASE
* revision.
*
* The @a changed_rev is set to the latest committed change to @a
* local_abspath before or equal to @a revision, unless the node is
* copied-here or moved-here. Then it is the revision of the latest committed
* change before or equal to the copyfrom_rev. NOTE, that we use
* SVN_INVALID_REVNUM for a scheduled copy or move.
*
* The @a changed_date and @a changed_author are the ones associated with @a
* changed_rev.
*/
svn_error_t *
svn_wc__node_get_pre_ng_status_data(svn_revnum_t *revision,
svn_revnum_t *changed_rev,
apr_time_t *changed_date,
const char **changed_author,
svn_wc_context_t *wc_ctx,
const char *local_abspath,
apr_pool_t *result_pool,
apr_pool_t *scratch_pool);
src/subversion/subversion/include/private/svn_wc_private.h view on Meta::CPAN
* If @a depth is #svn_depth_unknown, take depths from the
* working copy and behave as above in each directory's case.
*
* If the given @a depth is incompatible with the depth found in a
* working copy directory, the found depth always governs.
*
* If @a no_ignore is set, statuses that would typically be ignored
* will instead be reported.
*
* @a ignore_patterns is an array of file patterns matching
* unversioned files to ignore for the purposes of status reporting,
* or @c NULL if the default set of ignorable file patterns should be used.
*
* If @a cancel_func is non-NULL, call it with @a cancel_baton while building
* the @a statushash to determine if the client has canceled the operation.
*
* If @a depth_as_sticky is set handle @a depth like when depth_is_sticky is
* passed for updating. This will show excluded nodes show up as added in the
* repository.
*
* 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.
*
* Allocate the editor itself in @a result_pool, and use @a scratch_pool
* for temporary allocations. The editor will do its temporary allocations
* in a subpool of @a result_pool.
*
* @since New in 1.8.
*/
svn_error_t *
svn_wc__get_status_editor(const svn_delta_editor_t **editor,
void **edit_baton,
void **set_locks_baton,
svn_revnum_t *edit_revision,
svn_wc_context_t *wc_ctx,
const char *anchor_abspath,
const char *target_basename,
svn_depth_t depth,
svn_boolean_t get_all,
svn_boolean_t no_ignore,
svn_boolean_t depth_as_sticky,
svn_boolean_t server_performs_filtering,
const apr_array_header_t *ignore_patterns,
svn_wc_status_func4_t status_func,
void *status_baton,
svn_cancel_func_t cancel_func,
void *cancel_baton,
apr_pool_t *result_pool,
apr_pool_t *scratch_pool);
/**
* 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.
*
* @a wcroot_iprops is a hash mapping const char * absolute working copy
* paths which are working copy roots (at or under the target within the
* constraints dictated by @a depth) to depth-first ordered arrays of
* svn_prop_inherited_item_t * structures which represent the inherited
* properties for the base of those paths at @a target_revision. After a
* successful drive of this editor, the base nodes for these paths will
* have their inherited properties cache updated with the values from
* @a wcroot_iprops.
*
* 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.8.
*/
svn_error_t *
svn_wc__get_update_editor(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,
apr_hash_t *wcroot_iprops,
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,
( run in 0.379 second using v1.01-cache-2.11-cpan-5623c5533a1 )