Subversion
|
Modules | |
Translation flags | |
Flags for use with svn_wc_translated_file2() and svn_wc_translated_stream(). | |
Working copy context | |
Adm access batons (deprecated) | |
Locking/Opening/Closing using adm access batons. | |
Name of Subversion's admin dir | |
Externals | |
Notification callback handling | |
In many cases, the WC library will scan a working copy and make changes. The caller usually wants to know when each of these changes has been made, so that it can display some kind of notification to the user. | |
Conflict callback functionality | |
Interactive conflict handling. | |
Entries and status (deprecated) | |
Working copy status. | |
We have three functions for getting working copy status: one function for getting the status of exactly one thing, another for getting the statuses of (potentially) multiple things and a third for getting the working copy out-of-dateness with respect to the repository. | |
Working copy roots | |
Update and switch (update-like functionality) | |
Properties | |
Diffs | |
Merging | |
EOL conversion and keyword expansion | |
Text/Prop Deltas Using an Editor | |
Ignoring unversioned files and directories | |
Repository locks | |
Data Structures | |
struct | svn_wc_diff_callbacks4_t |
A callback vtable invoked by our diff-editors, as they receive diffs from the server. More... | |
struct | svn_wc_diff_callbacks3_t |
Similar to svn_wc_diff_callbacks4_t, but without copyfrom_path and copyfrom_revision arguments to file_added and dir_added functions. More... | |
struct | svn_wc_diff_callbacks2_t |
Similar to svn_wc_diff_callbacks3_t, but without the dir_opened and dir_closed functions, and without the tree_conflicted argument to the functions. More... | |
struct | svn_wc_diff_callbacks_t |
Similar to svn_wc_diff_callbacks2_t, but with file additions/content changes and property changes split into different functions. More... | |
struct | svn_wc_info_t |
This struct contains information about a working copy node. More... | |
struct | svn_wc_entry_callbacks2_t |
A callback vtable invoked by the generic entry-walker function. More... | |
struct | svn_wc_entry_callbacks_t |
struct | svn_wc_revision_status_t |
A structure to report a summary of a working copy, including the mix of revisions found within it, whether any parts are switched or locally modified, and whether it is a sparse checkout. More... | |
Typedefs | |
typedef struct svn_wc_diff_callbacks4_t | svn_wc_diff_callbacks4_t |
A callback vtable invoked by our diff-editors, as they receive diffs from the server. More... | |
typedef struct svn_wc_diff_callbacks3_t | svn_wc_diff_callbacks3_t |
Similar to svn_wc_diff_callbacks4_t, but without copyfrom_path and copyfrom_revision arguments to file_added and dir_added functions. More... | |
typedef struct svn_wc_diff_callbacks2_t | svn_wc_diff_callbacks2_t |
Similar to svn_wc_diff_callbacks3_t, but without the dir_opened and dir_closed functions, and without the tree_conflicted argument to the functions. More... | |
typedef struct svn_wc_diff_callbacks_t | svn_wc_diff_callbacks_t |
Similar to svn_wc_diff_callbacks2_t, but with file additions/content changes and property changes split into different functions. More... | |
typedef struct svn_wc_info_t | svn_wc_info_t |
This struct contains information about a working copy node. More... | |
typedef struct svn_wc_entry_callbacks2_t | svn_wc_entry_callbacks2_t |
A callback vtable invoked by the generic entry-walker function. More... | |
typedef struct svn_wc_entry_callbacks_t | svn_wc_entry_callbacks_t |
typedef struct svn_wc_committed_queue_t | svn_wc_committed_queue_t |
Storage type for queued post-commit data. More... | |
typedef svn_error_t *(* | svn_wc_upgrade_get_repos_info_t) (const char **repos_root, const char **repos_uuid, void *baton, const char *url, apr_pool_t *result_pool, apr_pool_t *scratch_pool) |
Callback for retrieving a repository root for a url from upgrade. More... | |
typedef svn_error_t *(* | svn_wc_relocation_validator3_t) (void *baton, const char *uuid, const char *url, const char *root_url, apr_pool_t *pool) |
Relocation validation callback typedef. More... | |
typedef svn_error_t *(* | svn_wc_relocation_validator2_t) (void *baton, const char *uuid, const char *url, svn_boolean_t root, apr_pool_t *pool) |
Similar to svn_wc_relocation_validator3_t, but with the root argument. More... | |
typedef svn_error_t *(* | svn_wc_relocation_validator_t) (void *baton, const char *uuid, const char *url) |
Similar to svn_wc_relocation_validator2_t, but without the root and pool arguments. More... | |
typedef struct svn_wc_revision_status_t | svn_wc_revision_status_t |
A structure to report a summary of a working copy, including the mix of revisions found within it, whether any parts are switched or locally modified, and whether it is a sparse checkout. More... | |
typedef svn_error_t *(* | svn_changelist_receiver_t) (void *baton, const char *path, const char *changelist, apr_pool_t *pool) |
The callback type used by svn_wc_get_changelists() and svn_client_get_changelists(). More... | |
Functions | |
svn_error_t * | svn_wc_locked2 (svn_boolean_t *locked_here, svn_boolean_t *locked, svn_wc_context_t *wc_ctx, const char *local_abspath, apr_pool_t *scratch_pool) |
Gets up to two booleans indicating whether a path is locked for writing. More... | |
svn_error_t * | svn_wc_locked (svn_boolean_t *locked, const char *path, apr_pool_t *pool) |
Set *locked to non-zero if path is locked, else set it to zero. More... | |
svn_error_t * | svn_wc_check_wc2 (int *wc_format, svn_wc_context_t *wc_ctx, const char *local_abspath, apr_pool_t *scratch_pool) |
Set *wc_format to local_abspath's working copy format version number if local_abspath is a valid working copy directory, else set it to 0. More... | |
svn_error_t * | svn_wc_check_wc (const char *path, int *wc_format, apr_pool_t *pool) |
Similar to svn_wc_check_wc2(), but with a relative path and no supplied working copy context. More... | |
svn_error_t * | svn_wc_has_binary_prop (svn_boolean_t *has_binary_prop, const char *path, svn_wc_adm_access_t *adm_access, apr_pool_t *pool) |
Set *has_binary_prop to TRUE iff path has been marked with a property indicating that it is non-text (in other words, binary). More... | |
svn_error_t * | svn_wc_text_modified_p2 (svn_boolean_t *modified_p, svn_wc_context_t *wc_ctx, const char *local_abspath, svn_boolean_t unused, apr_pool_t *scratch_pool) |
Set *modified_p to non-zero if local_abspath's text is modified with regard to the base revision, else set *modified_p to zero. More... | |
svn_error_t * | svn_wc_text_modified_p (svn_boolean_t *modified_p, const char *filename, svn_boolean_t force_comparison, svn_wc_adm_access_t *adm_access, apr_pool_t *pool) |
Similar to svn_wc_text_modified_p2(), but with a relative path and adm_access baton? More... | |
svn_error_t * | svn_wc_props_modified_p2 (svn_boolean_t *modified_p, svn_wc_context_t *wc_ctx, const char *local_abspath, apr_pool_t *scratch_pool) |
Set *modified_p to non-zero if path's properties are modified with regard to the base revision, else set modified_p to zero. More... | |
svn_error_t * | svn_wc_props_modified_p (svn_boolean_t *modified_p, const char *path, svn_wc_adm_access_t *adm_access, apr_pool_t *pool) |
Similar to svn_wc_props_modified_p2(), but with a relative path and adm_access baton. More... | |
svn_wc_info_t * | svn_wc_info_dup (const svn_wc_info_t *info, apr_pool_t *pool) |
Return a duplicate of info, allocated in pool. More... | |
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) |
Given local_abspath in a dir under version control, decide if it is in a state of conflict; return the answers in *text_conflicted_p, *prop_conflicted_p, and *tree_conflicted_p. More... | |
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) |
Similar to svn_wc_conflicted_p3(), but with a path/adm_access parameter pair in place of a wc_ctx/local_abspath pair. More... | |
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) |
Given a dir_path under version control, decide if one of its entries (entry) is in a state of conflict; return the answers in text_conflicted_p and prop_conflicted_p. More... | |
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) |
Set *url and *rev to the ancestor URL and revision for path, allocating in pool. More... | |
svn_error_t * | svn_wc_walk_entries3 (const char *path, svn_wc_adm_access_t *adm_access, const svn_wc_entry_callbacks2_t *walk_callbacks, void *walk_baton, svn_depth_t depth, svn_boolean_t show_hidden, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool) |
A generic entry-walker. More... | |
svn_error_t * | svn_wc_walk_entries2 (const char *path, svn_wc_adm_access_t *adm_access, const svn_wc_entry_callbacks_t *walk_callbacks, void *walk_baton, svn_boolean_t show_hidden, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool) |
Similar to svn_wc_walk_entries3(), but without cancellation support or error handling from walk_callbacks, and with depth always set to svn_depth_infinity. More... | |
svn_error_t * | svn_wc_walk_entries (const char *path, svn_wc_adm_access_t *adm_access, const svn_wc_entry_callbacks_t *walk_callbacks, void *walk_baton, svn_boolean_t show_hidden, apr_pool_t *pool) |
Similar to svn_wc_walk_entries2(), but without cancellation support. More... | |
svn_error_t * | svn_wc_mark_missing_deleted (const char *path, svn_wc_adm_access_t *parent, apr_pool_t *pool) |
Mark missing path as 'deleted' in its parent's list of entries. More... | |
svn_error_t * | svn_wc_ensure_adm4 (svn_wc_context_t *wc_ctx, const char *local_abspath, const char *url, const char *repos_root_url, const char *repos_uuid, svn_revnum_t revision, svn_depth_t depth, apr_pool_t *scratch_pool) |
Ensure that an administrative area exists for local_abspath, so that local_abspath is a working copy subdir based on url at revision, with depth depth, and with repository UUID repos_uuid and repository root URL repos_root_url. More... | |
svn_error_t * | svn_wc_ensure_adm3 (const char *path, const char *uuid, const char *url, const char *repos, svn_revnum_t revision, svn_depth_t depth, apr_pool_t *pool) |
Similar to svn_wc_ensure_adm4(), but without the wc context parameter. More... | |
svn_error_t * | svn_wc_ensure_adm2 (const char *path, const char *uuid, const char *url, const char *repos, svn_revnum_t revision, apr_pool_t *pool) |
Similar to svn_wc_ensure_adm3(), but with depth set to svn_depth_infinity. More... | |
svn_error_t * | svn_wc_ensure_adm (const char *path, const char *uuid, const char *url, svn_revnum_t revision, apr_pool_t *pool) |
Similar to svn_wc_ensure_adm2(), but with repos set to NULL . More... | |
svn_error_t * | svn_wc_maybe_set_repos_root (svn_wc_adm_access_t *adm_access, const char *path, const char *repos, apr_pool_t *pool) |
Set the repository root URL of path to repos, if possible. More... | |
svn_error_t * | svn_wc_copy3 (svn_wc_context_t *wc_ctx, const char *src_abspath, const char *dst_abspath, svn_boolean_t metadata_only, svn_cancel_func_t cancel_func, void *cancel_baton, svn_wc_notify_func2_t notify_func, void *notify_baton, apr_pool_t *scratch_pool) |
Copy src_abspath to dst_abspath, and schedule dst_abspath for addition to the repository, remembering the copy history. More... | |
svn_error_t * | svn_wc_copy2 (const char *src, svn_wc_adm_access_t *dst_parent, const char *dst_basename, svn_cancel_func_t cancel_func, void *cancel_baton, svn_wc_notify_func2_t notify_func, void *notify_baton, apr_pool_t *pool) |
Similar to svn_wc_copy3(), but takes access batons and a relative path and a basename instead of absolute paths and a working copy context. More... | |
svn_error_t * | svn_wc_copy (const char *src, svn_wc_adm_access_t *dst_parent, const char *dst_basename, svn_cancel_func_t cancel_func, void *cancel_baton, svn_wc_notify_func_t notify_func, void *notify_baton, apr_pool_t *pool) |
Similar to svn_wc_copy2(), but takes an svn_wc_notify_func_t instead. More... | |
svn_error_t * | svn_wc_move (svn_wc_context_t *wc_ctx, const char *src_abspath, const char *dst_abspath, svn_boolean_t metadata_only, svn_cancel_func_t cancel_func, void *cancel_baton, svn_wc_notify_func2_t notify_func, void *notify_baton, apr_pool_t *scratch_pool) |
Move src_abspath to dst_abspath, by scheduling dst_abspath for addition to the repository, remembering the history. More... | |
svn_error_t * | svn_wc_delete4 (svn_wc_context_t *wc_ctx, const char *local_abspath, svn_boolean_t keep_local, svn_boolean_t delete_unversioned_target, svn_cancel_func_t cancel_func, void *cancel_baton, svn_wc_notify_func2_t notify_func, void *notify_baton, apr_pool_t *scratch_pool) |
Schedule local_abspath for deletion. More... | |
svn_error_t * | svn_wc_delete3 (const char *path, svn_wc_adm_access_t *adm_access, svn_cancel_func_t cancel_func, void *cancel_baton, svn_wc_notify_func2_t notify_func, void *notify_baton, svn_boolean_t keep_local, apr_pool_t *pool) |
Similar to svn_wc_delete4, but uses an access baton and relative path instead of a working copy context and absolute path. More... | |
svn_error_t * | svn_wc_delete2 (const char *path, svn_wc_adm_access_t *adm_access, svn_cancel_func_t cancel_func, void *cancel_baton, svn_wc_notify_func2_t notify_func, void *notify_baton, apr_pool_t *pool) |
Similar to svn_wc_delete3(), but with keep_local always set to FALSE. More... | |
svn_error_t * | svn_wc_delete (const char *path, svn_wc_adm_access_t *adm_access, svn_cancel_func_t cancel_func, void *cancel_baton, svn_wc_notify_func_t notify_func, void *notify_baton, apr_pool_t *pool) |
Similar to svn_wc_delete2(), but takes an svn_wc_notify_func_t instead. More... | |
svn_error_t * | svn_wc_add_from_disk3 (svn_wc_context_t *wc_ctx, const char *local_abspath, const apr_hash_t *props, svn_boolean_t skip_checks, svn_wc_notify_func2_t notify_func, void *notify_baton, apr_pool_t *scratch_pool) |
Schedule the single node that exists on disk at local_abspath for addition to the working copy. More... | |
svn_error_t * | svn_wc_add_from_disk2 (svn_wc_context_t *wc_ctx, const char *local_abspath, const apr_hash_t *props, svn_wc_notify_func2_t notify_func, void *notify_baton, apr_pool_t *scratch_pool) |
Similar to svn_wc_add_from_disk3(), but always passes FALSE for skip_checks. More... | |
svn_error_t * | svn_wc_add_from_disk (svn_wc_context_t *wc_ctx, const char *local_abspath, svn_wc_notify_func2_t notify_func, void *notify_baton, apr_pool_t *scratch_pool) |
Similar to svn_wc_add_from_disk2(), but always passes NULL for props. More... | |
svn_error_t * | svn_wc_add4 (svn_wc_context_t *wc_ctx, const char *local_abspath, svn_depth_t depth, const char *copyfrom_url, svn_revnum_t copyfrom_rev, svn_cancel_func_t cancel_func, void *cancel_baton, svn_wc_notify_func2_t notify_func, void *notify_baton, apr_pool_t *scratch_pool) |
Put local_abspath under version control by registering it as addition or copy in the database containing its parent. More... | |
svn_error_t * | svn_wc_add3 (const char *path, svn_wc_adm_access_t *parent_access, svn_depth_t depth, const char *copyfrom_url, svn_revnum_t copyfrom_rev, svn_cancel_func_t cancel_func, void *cancel_baton, svn_wc_notify_func2_t notify_func, void *notify_baton, apr_pool_t *pool) |
Similar to svn_wc_add4(), but with an access baton and relative path instead of a context and absolute path. More... | |
svn_error_t * | svn_wc_add2 (const char *path, svn_wc_adm_access_t *parent_access, const char *copyfrom_url, svn_revnum_t copyfrom_rev, svn_cancel_func_t cancel_func, void *cancel_baton, svn_wc_notify_func2_t notify_func, void *notify_baton, apr_pool_t *pool) |
Similar to svn_wc_add3(), but with the depth parameter always svn_depth_infinity. More... | |
svn_error_t * | svn_wc_add (const char *path, svn_wc_adm_access_t *parent_access, const char *copyfrom_url, svn_revnum_t copyfrom_rev, svn_cancel_func_t cancel_func, void *cancel_baton, svn_wc_notify_func_t notify_func, void *notify_baton, apr_pool_t *pool) |
Similar to svn_wc_add2(), but takes an svn_wc_notify_func_t instead. More... | |
svn_error_t * | svn_wc_add_repos_file4 (svn_wc_context_t *wc_ctx, const char *local_abspath, svn_stream_t *new_base_contents, svn_stream_t *new_contents, apr_hash_t *new_base_props, apr_hash_t *new_props, const char *copyfrom_url, svn_revnum_t copyfrom_rev, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *scratch_pool) |
Add a file to a working copy at local_abspath, obtaining the text-base's contents from new_base_contents, the wc file's content from new_contents, its unmodified properties from new_base_props and its actual properties from new_props. More... | |
svn_error_t * | svn_wc_add_repos_file3 (const char *dst_path, svn_wc_adm_access_t *adm_access, svn_stream_t *new_base_contents, svn_stream_t *new_contents, apr_hash_t *new_base_props, apr_hash_t *new_props, const char *copyfrom_url, svn_revnum_t copyfrom_rev, svn_cancel_func_t cancel_func, void *cancel_baton, svn_wc_notify_func2_t notify_func, void *notify_baton, apr_pool_t *scratch_pool) |
Similar to svn_wc_add_repos_file4, but uses access batons and a relative path instead of a working copy context and absolute path. More... | |
svn_error_t * | svn_wc_add_repos_file2 (const char *dst_path, svn_wc_adm_access_t *adm_access, const char *new_text_base_path, const char *new_text_path, apr_hash_t *new_base_props, apr_hash_t *new_props, const char *copyfrom_url, svn_revnum_t copyfrom_rev, apr_pool_t *pool) |
Same as svn_wc_add_repos_file3(), except that it has pathnames rather than streams for the text base, and actual text, and has no cancellation. More... | |
svn_error_t * | svn_wc_add_repos_file (const char *dst_path, svn_wc_adm_access_t *adm_access, const char *new_text_path, apr_hash_t *new_props, const char *copyfrom_url, svn_revnum_t copyfrom_rev, apr_pool_t *pool) |
Same as svn_wc_add_repos_file3(), except that it doesn't have the BASE arguments or cancellation. More... | |
svn_error_t * | svn_wc_remove_from_revision_control2 (svn_wc_context_t *wc_ctx, const char *local_abspath, svn_boolean_t destroy_wf, svn_boolean_t instant_error, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool) |
Remove local_abspath from revision control. More... | |
svn_error_t * | svn_wc_remove_from_revision_control (svn_wc_adm_access_t *adm_access, const char *name, svn_boolean_t destroy_wf, svn_boolean_t instant_error, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool) |
Similar to svn_wc_remove_from_revision_control2() but with a name and access baton. More... | |
svn_error_t * | svn_wc_resolved_conflict5 (svn_wc_context_t *wc_ctx, const char *local_abspath, svn_depth_t depth, svn_boolean_t resolve_text, const char *resolve_prop, svn_boolean_t resolve_tree, svn_wc_conflict_choice_t conflict_choice, svn_cancel_func_t cancel_func, void *cancel_baton, svn_wc_notify_func2_t notify_func, void *notify_baton, apr_pool_t *scratch_pool) |
Assuming local_abspath is under version control or a tree conflict victim and in a state of conflict, then take local_abspath out of this state. More... | |
svn_error_t * | svn_wc_resolved_conflict4 (const char *path, svn_wc_adm_access_t *adm_access, svn_boolean_t resolve_text, svn_boolean_t resolve_props, svn_boolean_t resolve_tree, svn_depth_t depth, svn_wc_conflict_choice_t conflict_choice, svn_wc_notify_func2_t notify_func, void *notify_baton, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool) |
Similar to svn_wc_resolved_conflict5, but takes an absolute path and an access baton. More... | |
svn_error_t * | svn_wc_resolved_conflict3 (const char *path, svn_wc_adm_access_t *adm_access, svn_boolean_t resolve_text, svn_boolean_t resolve_props, svn_depth_t depth, svn_wc_conflict_choice_t conflict_choice, svn_wc_notify_func2_t notify_func, void *notify_baton, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool) |
Similar to svn_wc_resolved_conflict4(), but without tree-conflict resolution support. More... | |
svn_error_t * | svn_wc_resolved_conflict2 (const char *path, svn_wc_adm_access_t *adm_access, svn_boolean_t resolve_text, svn_boolean_t resolve_props, svn_boolean_t recurse, svn_wc_notify_func2_t notify_func, void *notify_baton, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool) |
Similar to svn_wc_resolved_conflict3(), but without automatic conflict resolution support, and with depth set according to recurse: if recurse is TRUE, depth is svn_depth_infinity, else it is svn_depth_files. More... | |
svn_error_t * | svn_wc_resolved_conflict (const char *path, svn_wc_adm_access_t *adm_access, svn_boolean_t resolve_text, svn_boolean_t resolve_props, svn_boolean_t recurse, svn_wc_notify_func_t notify_func, void *notify_baton, apr_pool_t *pool) |
Similar to svn_wc_resolved_conflict2(), but takes an svn_wc_notify_func_t and doesn't have cancellation support. More... | |
svn_wc_committed_queue_t * | svn_wc_committed_queue_create (apr_pool_t *pool) |
Create a queue for use with svn_wc_queue_committed() and svn_wc_process_committed_queue(). More... | |
svn_error_t * | svn_wc_queue_committed4 (svn_wc_committed_queue_t *queue, svn_wc_context_t *wc_ctx, const char *local_abspath, svn_boolean_t recurse, svn_boolean_t is_committed, const apr_array_header_t *wcprop_changes, svn_boolean_t remove_lock, svn_boolean_t remove_changelist, const svn_checksum_t *sha1_checksum, apr_pool_t *scratch_pool) |
Queue committed items to be processed later by svn_wc_process_committed_queue2(). More... | |
svn_error_t * | svn_wc_queue_committed3 (svn_wc_committed_queue_t *queue, svn_wc_context_t *wc_ctx, const char *local_abspath, svn_boolean_t recurse, const apr_array_header_t *wcprop_changes, svn_boolean_t remove_lock, svn_boolean_t remove_changelist, const svn_checksum_t *sha1_checksum, apr_pool_t *scratch_pool) |
Similar to svn_wc_queue_committed4, but with is_committed always TRUE. More... | |
svn_error_t * | svn_wc_queue_committed2 (svn_wc_committed_queue_t *queue, const char *path, svn_wc_adm_access_t *adm_access, svn_boolean_t recurse, const apr_array_header_t *wcprop_changes, svn_boolean_t remove_lock, svn_boolean_t remove_changelist, const svn_checksum_t *md5_checksum, apr_pool_t *scratch_pool) |
Same as svn_wc_queue_committed3() except path doesn't have to be an abspath and adm_access is unused and a SHA-1 checksum cannot be specified. More... | |
svn_error_t * | svn_wc_queue_committed (svn_wc_committed_queue_t **queue, const char *path, svn_wc_adm_access_t *adm_access, svn_boolean_t recurse, const apr_array_header_t *wcprop_changes, svn_boolean_t remove_lock, svn_boolean_t remove_changelist, const unsigned char *digest, apr_pool_t *pool) |
Same as svn_wc_queue_committed2() but the queue parameter has an extra indirection and digest is supplied instead of a checksum type. More... | |
svn_error_t * | svn_wc_process_committed_queue2 (svn_wc_committed_queue_t *queue, svn_wc_context_t *wc_ctx, svn_revnum_t new_revnum, const char *rev_date, const char *rev_author, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *scratch_pool) |
Bump all items in queue to new_revnum after a commit succeeds. More... | |
svn_error_t * | svn_wc_process_committed_queue (svn_wc_committed_queue_t *queue, svn_wc_adm_access_t *adm_access, svn_revnum_t new_revnum, const char *rev_date, const char *rev_author, apr_pool_t *pool) |
svn_error_t * | svn_wc_process_committed4 (const char *path, svn_wc_adm_access_t *adm_access, svn_boolean_t recurse, svn_revnum_t new_revnum, const char *rev_date, const char *rev_author, const apr_array_header_t *wcprop_changes, svn_boolean_t remove_lock, svn_boolean_t remove_changelist, const unsigned char *digest, apr_pool_t *pool) |
svn_error_t * | svn_wc_process_committed3 (const char *path, svn_wc_adm_access_t *adm_access, svn_boolean_t recurse, svn_revnum_t new_revnum, const char *rev_date, const char *rev_author, const apr_array_header_t *wcprop_changes, svn_boolean_t remove_lock, const unsigned char *digest, apr_pool_t *pool) |
svn_error_t * | svn_wc_process_committed2 (const char *path, svn_wc_adm_access_t *adm_access, svn_boolean_t recurse, svn_revnum_t new_revnum, const char *rev_date, const char *rev_author, const apr_array_header_t *wcprop_changes, svn_boolean_t remove_lock, apr_pool_t *pool) |
svn_error_t * | svn_wc_process_committed (const char *path, svn_wc_adm_access_t *adm_access, svn_boolean_t recurse, svn_revnum_t new_revnum, const char *rev_date, const char *rev_author, const apr_array_header_t *wcprop_changes, apr_pool_t *pool) |
svn_error_t * | svn_wc_crawl_revisions5 (svn_wc_context_t *wc_ctx, const char *local_abspath, const svn_ra_reporter3_t *reporter, void *report_baton, svn_boolean_t restore_files, svn_depth_t depth, svn_boolean_t honor_depth_exclude, svn_boolean_t depth_compatibility_trick, svn_boolean_t use_commit_times, svn_cancel_func_t cancel_func, void *cancel_baton, svn_wc_notify_func2_t notify_func, void *notify_baton, apr_pool_t *scratch_pool) |
Do a depth-first crawl in a working copy, beginning at local_abspath, using wc_ctx for accessing the working copy. More... | |
svn_error_t * | svn_wc_crawl_revisions4 (const char *path, svn_wc_adm_access_t *adm_access, const svn_ra_reporter3_t *reporter, void *report_baton, svn_boolean_t restore_files, svn_depth_t depth, svn_boolean_t honor_depth_exclude, svn_boolean_t depth_compatibility_trick, svn_boolean_t use_commit_times, svn_wc_notify_func2_t notify_func, void *notify_baton, svn_wc_traversal_info_t *traversal_info, apr_pool_t *pool) |
Similar to svn_wc_crawl_revisions5, but with a relative path and access baton instead of an absolute path and wc_ctx. More... | |
svn_error_t * | svn_wc_crawl_revisions3 (const char *path, svn_wc_adm_access_t *adm_access, const svn_ra_reporter3_t *reporter, void *report_baton, svn_boolean_t restore_files, svn_depth_t depth, svn_boolean_t depth_compatibility_trick, svn_boolean_t use_commit_times, svn_wc_notify_func2_t notify_func, void *notify_baton, svn_wc_traversal_info_t *traversal_info, apr_pool_t *pool) |
Similar to svn_wc_crawl_revisions4, but with honor_depth_exclude always set to false. More... | |
svn_error_t * | svn_wc_crawl_revisions2 (const char *path, svn_wc_adm_access_t *adm_access, const svn_ra_reporter2_t *reporter, void *report_baton, svn_boolean_t restore_files, svn_boolean_t recurse, svn_boolean_t use_commit_times, svn_wc_notify_func2_t notify_func, void *notify_baton, svn_wc_traversal_info_t *traversal_info, apr_pool_t *pool) |
Similar to svn_wc_crawl_revisions3, but taking svn_ra_reporter2_t instead of svn_ra_reporter3_t, and therefore only able to report svn_depth_infinity for depths; and taking recurse instead of depth; and with depth_compatibility_trick always false. More... | |
svn_error_t * | svn_wc_crawl_revisions (const char *path, svn_wc_adm_access_t *adm_access, const svn_ra_reporter_t *reporter, void *report_baton, svn_boolean_t restore_files, svn_boolean_t recurse, svn_boolean_t use_commit_times, svn_wc_notify_func_t notify_func, void *notify_baton, svn_wc_traversal_info_t *traversal_info, apr_pool_t *pool) |
Similar to svn_wc_crawl_revisions2(), but takes an svn_wc_notify_func_t and a svn_ra_reporter_t instead. More... | |
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) |
Conditionally split path into an anchor and target for the purpose of updating and committing. More... | |
svn_error_t * | svn_wc_get_actual_target (const char *path, const char **anchor, const char **target, apr_pool_t *pool) |
Similar to svn_wc_get_actual_target2(), but without the wc context, and with a absolute path. More... | |
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) |
Given a path to a wc file, return in *contents a readonly stream to the pristine contents of the file that would serve as base content for the next commit. More... | |
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) |
Similar to svn_wc_get_pristine_contents2, but takes no working copy context and a path that can be relative. More... | |
svn_error_t * | svn_wc_get_pristine_copy_path (const char *path, const char **pristine_path, apr_pool_t *pool) |
Set *pristine_path to the path of the "normal" pristine text file for the versioned file path. More... | |
svn_error_t * | svn_wc_cleanup4 (svn_wc_context_t *wc_ctx, const char *local_abspath, svn_boolean_t break_locks, svn_boolean_t fix_recorded_timestamps, svn_boolean_t clear_dav_cache, svn_boolean_t vacuum_pristines, svn_cancel_func_t cancel_func, void *cancel_baton, svn_wc_notify_func2_t notify_func, void *notify_baton, apr_pool_t *scratch_pool) |
Recurse from local_abspath, cleaning up unfinished tasks. More... | |
svn_error_t * | svn_wc_cleanup3 (svn_wc_context_t *wc_ctx, const char *local_abspath, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *scratch_pool) |
Similar to svn_wc_cleanup4() but will always break locks, fix recorded timestamps, clear the dav cache and vacuum pristines. More... | |
svn_error_t * | svn_wc_cleanup2 (const char *path, const char *diff3_cmd, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool) |
Similar to svn_wc_cleanup3() but uses relative paths and creates its own svn_wc_context_t. More... | |
svn_error_t * | svn_wc_cleanup (const char *path, svn_wc_adm_access_t *optional_adm_access, const char *diff3_cmd, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool) |
Similar to svn_wc_cleanup2(). More... | |
svn_error_t * | svn_wc_upgrade (svn_wc_context_t *wc_ctx, const char *local_abspath, svn_wc_upgrade_get_repos_info_t repos_info_func, void *repos_info_baton, svn_cancel_func_t cancel_func, void *cancel_baton, svn_wc_notify_func2_t notify_func, void *notify_baton, apr_pool_t *scratch_pool) |
Upgrade the working copy at local_abspath to the latest metadata storage format. More... | |
svn_error_t * | svn_wc_relocate4 (svn_wc_context_t *wc_ctx, const char *wcroot_abspath, const char *from, const char *to, svn_wc_relocation_validator3_t validator, void *validator_baton, apr_pool_t *scratch_pool) |
Recursively change repository references at wcroot_abspath (which is the root directory of a working copy). More... | |
svn_error_t * | svn_wc_relocate3 (const char *path, svn_wc_adm_access_t *adm_access, const char *from, const char *to, svn_boolean_t recurse, svn_wc_relocation_validator3_t validator, void *validator_baton, apr_pool_t *pool) |
Similar to svn_wc_relocate4(), but with a svn_wc_adm_access_t / relative path parameter pair. More... | |
svn_error_t * | svn_wc_relocate2 (const char *path, svn_wc_adm_access_t *adm_access, const char *from, const char *to, svn_boolean_t recurse, svn_wc_relocation_validator2_t validator, void *validator_baton, apr_pool_t *pool) |
Similar to svn_wc_relocate3(), but uses svn_wc_relocation_validator2_t. More... | |
svn_error_t * | svn_wc_relocate (const char *path, svn_wc_adm_access_t *adm_access, const char *from, const char *to, svn_boolean_t recurse, svn_wc_relocation_validator_t validator, void *validator_baton, apr_pool_t *pool) |
Similar to svn_wc_relocate2(), but uses svn_wc_relocation_validator_t. More... | |
svn_error_t * | svn_wc_revert6 (svn_wc_context_t *wc_ctx, const char *local_abspath, svn_depth_t depth, svn_boolean_t use_commit_times, const apr_array_header_t *changelist_filter, svn_boolean_t clear_changelists, svn_boolean_t metadata_only, svn_boolean_t added_keep_local, svn_cancel_func_t cancel_func, void *cancel_baton, svn_wc_notify_func2_t notify_func, void *notify_baton, apr_pool_t *scratch_pool) |
Revert changes to local_abspath. More... | |
svn_error_t * | svn_wc_revert5 (svn_wc_context_t *wc_ctx, const char *local_abspath, svn_depth_t depth, svn_boolean_t use_commit_times, const apr_array_header_t *changelist_filter, svn_boolean_t clear_changelists, svn_boolean_t metadata_only, svn_cancel_func_t cancel_func, void *cancel_baton, svn_wc_notify_func2_t notify_func, void *notify_baton, apr_pool_t *scratch_pool) |
Similar to svn_wc_revert6() but with added_keep_local always set to TRUE. More... | |
svn_error_t * | svn_wc_revert4 (svn_wc_context_t *wc_ctx, const char *local_abspath, svn_depth_t depth, svn_boolean_t use_commit_times, const apr_array_header_t *changelist_filter, svn_cancel_func_t cancel_func, void *cancel_baton, svn_wc_notify_func2_t notify_func, void *notify_baton, apr_pool_t *scratch_pool) |
Similar to svn_wc_revert5() but with clear_changelists always set to FALSE and metadata_only set to FALSE. More... | |
svn_error_t * | svn_wc_revert3 (const char *path, svn_wc_adm_access_t *parent_access, svn_depth_t depth, svn_boolean_t use_commit_times, const apr_array_header_t *changelist_filter, svn_cancel_func_t cancel_func, void *cancel_baton, svn_wc_notify_func2_t notify_func, void *notify_baton, apr_pool_t *pool) |
Similar to svn_wc_revert4() but takes a relative path and access baton. More... | |
svn_error_t * | svn_wc_revert2 (const char *path, svn_wc_adm_access_t *parent_access, svn_boolean_t recursive, svn_boolean_t use_commit_times, svn_cancel_func_t cancel_func, void *cancel_baton, svn_wc_notify_func2_t notify_func, void *notify_baton, apr_pool_t *pool) |
Similar to svn_wc_revert3(), but with changelist_filter passed as NULL , and depth set according to recursive: if recursive is TRUE, depth is svn_depth_infinity; if FALSE, depth is svn_depth_empty. More... | |
svn_error_t * | svn_wc_revert (const char *path, svn_wc_adm_access_t *parent_access, svn_boolean_t recursive, svn_boolean_t use_commit_times, svn_cancel_func_t cancel_func, void *cancel_baton, svn_wc_notify_func_t notify_func, void *notify_baton, apr_pool_t *pool) |
Similar to svn_wc_revert2(), but takes an svn_wc_notify_func_t instead. More... | |
svn_error_t * | svn_wc_restore (svn_wc_context_t *wc_ctx, const char *local_abspath, svn_boolean_t use_commit_times, apr_pool_t *scratch_pool) |
Restores a missing node, local_abspath using the wc_ctx. More... | |
svn_error_t * | svn_wc_create_tmp_file2 (apr_file_t **fp, const char **new_name, const char *path, svn_io_file_del_t delete_when, apr_pool_t *pool) |
Create a unique temporary file in administrative tmp/ area of directory path. More... | |
svn_error_t * | svn_wc_create_tmp_file (apr_file_t **fp, const char *path, svn_boolean_t delete_on_close, apr_pool_t *pool) |
Same as svn_wc_create_tmp_file2(), but with new_name set to NULL , and without the ability to delete the file on pool cleanup. More... | |
svn_error_t * | svn_wc_revision_status2 (svn_wc_revision_status_t **result_p, svn_wc_context_t *wc_ctx, const char *local_abspath, const char *trail_url, svn_boolean_t committed, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *result_pool, apr_pool_t *scratch_pool) |
Set *result_p to point to a new svn_wc_revision_status_t structure containing a summary of the revision range and status of the working copy at local_abspath (not including "externals"). More... | |
svn_error_t * | svn_wc_revision_status (svn_wc_revision_status_t **result_p, const char *wc_path, const char *trail_url, svn_boolean_t committed, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool) |
Similar to svn_wc_revision_status2(), but with a (possibly) local path and no wc_ctx parameter. More... | |
svn_error_t * | svn_wc_set_changelist2 (svn_wc_context_t *wc_ctx, const char *local_abspath, const char *changelist, svn_depth_t depth, const apr_array_header_t *changelist_filter, svn_cancel_func_t cancel_func, void *cancel_baton, svn_wc_notify_func2_t notify_func, void *notify_baton, apr_pool_t *scratch_pool) |
Set local_abspath's 'changelist' attribute to changelist iff changelist is not NULL ; otherwise, remove any current changelist assignment from local_abspath. More... | |
svn_error_t * | svn_wc_set_changelist (const char *path, const char *changelist, svn_wc_adm_access_t *adm_access, svn_cancel_func_t cancel_func, void *cancel_baton, svn_wc_notify_func2_t notify_func, void *notify_baton, apr_pool_t *pool) |
Similar to svn_wc_set_changelist2(), but with an access baton and relative path. More... | |
svn_error_t * | svn_wc_get_changelists (svn_wc_context_t *wc_ctx, const char *local_abspath, svn_depth_t depth, const apr_array_header_t *changelist_filter, svn_changelist_receiver_t callback_func, void *callback_baton, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *scratch_pool) |
Beginning at local_abspath, crawl to depth to discover every path in or under local_abspath which belongs to one of the changelists in changelist_filter (an array of const char * changelist names). More... | |
svn_error_t * | svn_wc_crop_tree2 (svn_wc_context_t *wc_ctx, const char *local_abspath, svn_depth_t depth, svn_cancel_func_t cancel_func, void *cancel_baton, svn_wc_notify_func2_t notify_func, void *notify_baton, apr_pool_t *scratch_pool) |
Crop local_abspath according to depth. More... | |
svn_error_t * | svn_wc_crop_tree (svn_wc_adm_access_t *anchor, const char *target, svn_depth_t depth, svn_wc_notify_func2_t notify_func, void *notify_baton, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool) |
Similar to svn_wc_crop_tree2(), but uses an access baton and target. More... | |
svn_error_t * | svn_wc_exclude (svn_wc_context_t *wc_ctx, const char *local_abspath, svn_cancel_func_t cancel_func, void *cancel_baton, svn_wc_notify_func2_t notify_func, void *notify_baton, apr_pool_t *scratch_pool) |
Remove the local node for local_abspath from the working copy and add an excluded node placeholder in its place. More... | |
typedef svn_error_t*(* svn_changelist_receiver_t) (void *baton, const char *path, const char *changelist, apr_pool_t *pool) |
The callback type used by svn_wc_get_changelists() and svn_client_get_changelists().
On each invocation, path is a newly discovered member of the changelist, and baton is a private function closure.
typedef struct svn_wc_committed_queue_t svn_wc_committed_queue_t |
typedef struct svn_wc_diff_callbacks2_t svn_wc_diff_callbacks2_t |
Similar to svn_wc_diff_callbacks3_t, but without the dir_opened
and dir_closed
functions, and without the tree_conflicted argument to the functions.
typedef struct svn_wc_diff_callbacks3_t svn_wc_diff_callbacks3_t |
Similar to svn_wc_diff_callbacks4_t, but without copyfrom_path and copyfrom_revision arguments to file_added
and dir_added
functions.
typedef struct svn_wc_diff_callbacks4_t svn_wc_diff_callbacks4_t |
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 state is non-NULL, set *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 *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, state refers to the item's content state. Functions concerned with property state have separate contentstate and propstate arguments.
If tree_conflicted is non-NULL, set *tree_conflicted to true if this operation caused a tree conflict, else to false. (Like with state, this is only useful with merge, not diff; diff callbacks should set this to false.)
typedef struct svn_wc_diff_callbacks_t svn_wc_diff_callbacks_t |
Similar to svn_wc_diff_callbacks2_t, but with file additions/content changes and property changes split into different functions.
typedef struct svn_wc_entry_callbacks2_t svn_wc_entry_callbacks2_t |
A callback vtable invoked by the generic entry-walker function.
typedef struct svn_wc_entry_callbacks_t svn_wc_entry_callbacks_t |
typedef struct svn_wc_info_t svn_wc_info_t |
This struct contains information about a working copy node.
typedef svn_error_t*(* svn_wc_relocation_validator2_t) (void *baton, const char *uuid, const char *url, svn_boolean_t root, apr_pool_t *pool) |
Similar to svn_wc_relocation_validator3_t, but with the root argument.
If root is TRUE, then the implementation should make sure that url is the repository root. Else, it can be a URL inside the repository.
typedef svn_error_t*(* svn_wc_relocation_validator3_t) (void *baton, const char *uuid, const char *url, const char *root_url, apr_pool_t *pool) |
Relocation validation callback typedef.
Called for each relocated file/directory. uuid, if non-NULL, contains the expected repository UUID, url contains the tentative URL.
baton is a closure object; it should be provided by the implementation, and passed by the caller.
If root_url is passed, then the implementation should make sure that url is the repository root. pool may be used for temporary allocations.
typedef svn_error_t*(* svn_wc_relocation_validator_t) (void *baton, const char *uuid, const char *url) |
Similar to svn_wc_relocation_validator2_t, but without the root and pool arguments.
uuid will not be NULL in this version of the function.
typedef struct svn_wc_revision_status_t svn_wc_revision_status_t |
A structure to report a summary of a working copy, including the mix of revisions found within it, whether any parts are switched or locally modified, and whether it is a sparse checkout.
typedef svn_error_t*(* svn_wc_upgrade_get_repos_info_t) (const char **repos_root, const char **repos_uuid, void *baton, const char *url, apr_pool_t *result_pool, apr_pool_t *scratch_pool) |
Callback for retrieving a repository root for a url from upgrade.
Called by svn_wc_upgrade() when no repository root and/or repository uuid are recorded in the working copy. For normal Subversion 1.5 and later working copies, this callback will not be used.
svn_error_t* svn_wc_add | ( | const char * | path, |
svn_wc_adm_access_t * | parent_access, | ||
const char * | copyfrom_url, | ||
svn_revnum_t | copyfrom_rev, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
svn_wc_notify_func_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_add2(), but takes an svn_wc_notify_func_t instead.
svn_error_t* svn_wc_add2 | ( | const char * | path, |
svn_wc_adm_access_t * | parent_access, | ||
const char * | copyfrom_url, | ||
svn_revnum_t | copyfrom_rev, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_add3(), but with the depth parameter always svn_depth_infinity.
svn_error_t* svn_wc_add3 | ( | const char * | path, |
svn_wc_adm_access_t * | parent_access, | ||
svn_depth_t | depth, | ||
const char * | copyfrom_url, | ||
svn_revnum_t | copyfrom_rev, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_add4(), but with an access baton and relative path instead of a context and absolute path.
svn_error_t* svn_wc_add4 | ( | svn_wc_context_t * | wc_ctx, |
const char * | local_abspath, | ||
svn_depth_t | depth, | ||
const char * | copyfrom_url, | ||
svn_revnum_t | copyfrom_rev, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | scratch_pool | ||
) |
Put local_abspath under version control by registering it as addition or copy in the database containing its parent.
The new node is scheduled for addition to the repository below its parent node.
1) If the node is already versioned, it MUST BE the root of a separate working copy from the same repository as the parent WC. The new node and anything below it will be scheduled for addition inside the parent working copy as a copy of the original location. The separate working copy will be integrated by this step. In this case, which is only used by code like that of "svn cp URL@rev path" copyfrom_url and copyfrom_rev MUST BE the url and revision of local_abspath in the separate working copy.
2a) If the node was not versioned before it will be scheduled as a local addition or 2b) if copyfrom_url and copyfrom_rev are set as a copy of that location. In this last case the function doesn't set the pristine version (of a file) and/or pristine properties, which callers should handle via different APIs. Usually it is easier to call svn_wc_add_repos_file4() (### or a possible svn_wc_add_repos_dir()) than using this variant.
If local_abspath does not exist as file, directory or symlink, return SVN_ERR_WC_PATH_NOT_FOUND.
If local_abspath is an unversioned directory, record depth on it; otherwise, ignore depth. (Use svn_depth_infinity unless you exactly know what you are doing, or you may create an unexpected sparse working copy)
If cancel_func is non-NULL, call it with cancel_baton at various points during the operation. If it returns an error (typically SVN_ERR_CANCELLED), return that error immediately.
When the local_abspath has been added, then notify_func will be called (if it is not NULL
) with the notify_baton and the path.
svn_error_t* svn_wc_add_from_disk | ( | svn_wc_context_t * | wc_ctx, |
const char * | local_abspath, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | scratch_pool | ||
) |
Similar to svn_wc_add_from_disk2(), but always passes NULL for props.
This is a replacement for svn_wc_add4() case 2a (which see for details).
svn_error_t* svn_wc_add_from_disk2 | ( | svn_wc_context_t * | wc_ctx, |
const char * | local_abspath, | ||
const apr_hash_t * | props, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | scratch_pool | ||
) |
Similar to svn_wc_add_from_disk3(), but always passes FALSE for skip_checks.
svn_error_t* svn_wc_add_from_disk3 | ( | svn_wc_context_t * | wc_ctx, |
const char * | local_abspath, | ||
const apr_hash_t * | props, | ||
svn_boolean_t | skip_checks, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | scratch_pool | ||
) |
Schedule the single node that exists on disk at local_abspath for addition to the working copy.
The added node will have the properties provided in props, or none if that is NULL.
Unless skip_checks is TRUE, check and canonicalize the properties in the same way as svn_wc_prop_set4(). Return an error and don't add the node if the properties are not valid on this node.
preferably should be a single code.
The versioned state of the parent path must be a modifiable directory, and the versioned state of local_abspath must be either nonexistent or deleted; if deleted, the new node will be a replacement.
If local_abspath does not exist as file, directory or symlink, return SVN_ERR_WC_PATH_NOT_FOUND.
If notify_func is non-NULL, invoke it with notify_baton to report the item being added.
svn_error_t* svn_wc_add_repos_file | ( | const char * | dst_path, |
svn_wc_adm_access_t * | adm_access, | ||
const char * | new_text_path, | ||
apr_hash_t * | new_props, | ||
const char * | copyfrom_url, | ||
svn_revnum_t | copyfrom_rev, | ||
apr_pool_t * | pool | ||
) |
Same as svn_wc_add_repos_file3(), except that it doesn't have the BASE arguments or cancellation.
svn_error_t* svn_wc_add_repos_file2 | ( | const char * | dst_path, |
svn_wc_adm_access_t * | adm_access, | ||
const char * | new_text_base_path, | ||
const char * | new_text_path, | ||
apr_hash_t * | new_base_props, | ||
apr_hash_t * | new_props, | ||
const char * | copyfrom_url, | ||
svn_revnum_t | copyfrom_rev, | ||
apr_pool_t * | pool | ||
) |
Same as svn_wc_add_repos_file3(), except that it has pathnames rather than streams for the text base, and actual text, and has no cancellation.
svn_error_t* svn_wc_add_repos_file3 | ( | const char * | dst_path, |
svn_wc_adm_access_t * | adm_access, | ||
svn_stream_t * | new_base_contents, | ||
svn_stream_t * | new_contents, | ||
apr_hash_t * | new_base_props, | ||
apr_hash_t * | new_props, | ||
const char * | copyfrom_url, | ||
svn_revnum_t | copyfrom_rev, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | scratch_pool | ||
) |
Similar to svn_wc_add_repos_file4, but uses access batons and a relative path instead of a working copy context and absolute path.
svn_error_t* svn_wc_add_repos_file4 | ( | svn_wc_context_t * | wc_ctx, |
const char * | local_abspath, | ||
svn_stream_t * | new_base_contents, | ||
svn_stream_t * | new_contents, | ||
apr_hash_t * | new_base_props, | ||
apr_hash_t * | new_props, | ||
const char * | copyfrom_url, | ||
svn_revnum_t | copyfrom_rev, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
apr_pool_t * | scratch_pool | ||
) |
Add a file to a working copy at local_abspath, obtaining the text-base's contents from new_base_contents, the wc file's content from new_contents, its unmodified properties from new_base_props and its actual properties from new_props.
Use wc_ctx for accessing the working copy.
The unmodified text and props normally come from the repository file represented by the copyfrom args, see below. The new file will be marked as copy.
new_contents and new_props may be NULL, in which case the working copy text and props are taken from the base files with appropriate translation of the file's content.
new_contents must be provided in Normal Form. This is required in order to pass both special and non-special files through a stream.
wc_ctx must contain a write lock for the parent of local_abspath.
If copyfrom_url is non-NULL, then copyfrom_rev must be a valid revision number, and together they are the copyfrom history for the new file.
The cancel_func and cancel_baton are a standard cancellation callback, or NULL if no callback is needed. notify_func and notify_baton are a notification callback, and (if not NULL) will be notified of the addition of this file.
Use scratch_pool for temporary allocations.
we'd merge them, so that svn_wc_add() would just take optional new_props and optional copyfrom information. That way it could be used for both 'svn add somefilesittingonmydisk' and for adding files from repositories, with or without copyfrom history.
The problem with this Ideal Plan is that svn_wc_add() also takes care of recursive URL-rewriting. There's a whole comment in its doc string about how that's really weird, outside its core mission, etc, etc. So another part of the Ideal Plan is that that functionality of svn_wc_add() would move into a separate function.
svn_error_t* svn_wc_check_wc | ( | const char * | path, |
int * | wc_format, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_check_wc2(), but with a relative path and no supplied working copy context.
svn_error_t* svn_wc_check_wc2 | ( | int * | wc_format, |
svn_wc_context_t * | wc_ctx, | ||
const char * | local_abspath, | ||
apr_pool_t * | scratch_pool | ||
) |
Set *wc_format to local_abspath's working copy format version number if local_abspath is a valid working copy directory, else set it to 0.
Return error APR_ENOENT
if local_abspath does not exist at all.
svn_error_t* svn_wc_cleanup | ( | const char * | path, |
svn_wc_adm_access_t * | optional_adm_access, | ||
const char * | diff3_cmd, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_cleanup2().
optional_adm_access is an historic relic and not used, it may be NULL.
svn_error_t* svn_wc_cleanup2 | ( | const char * | path, |
const char * | diff3_cmd, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_cleanup3() but uses relative paths and creates its own svn_wc_context_t.
svn_error_t* svn_wc_cleanup3 | ( | svn_wc_context_t * | wc_ctx, |
const char * | local_abspath, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
apr_pool_t * | scratch_pool | ||
) |
Similar to svn_wc_cleanup4() but will always break locks, fix recorded timestamps, clear the dav cache and vacuum pristines.
This function also doesn't support notifications.
svn_error_t* svn_wc_cleanup4 | ( | svn_wc_context_t * | wc_ctx, |
const char * | local_abspath, | ||
svn_boolean_t | break_locks, | ||
svn_boolean_t | fix_recorded_timestamps, | ||
svn_boolean_t | clear_dav_cache, | ||
svn_boolean_t | vacuum_pristines, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | scratch_pool | ||
) |
Recurse from local_abspath, cleaning up unfinished tasks.
Perform any temporary allocations in scratch_pool. If break_locks is TRUE Any working copy locks under local_abspath will be taken over and then cleared by this function. WARNING: If break_locks is TRUE there is no mechanism that will protect locks that are still being used.
If fix_recorded_timestamps is TRUE the recorded timestamps of unmodified files will be updated, which will improve performance of future is-modified checks.
If clear_dav_cache is TRUE
, the caching of DAV information for older mod_dav served repositories is cleared. This clearing invalidates some cached information used for pre-HTTPv2 repositories.
If vacuum_pristines is TRUE, try to remove unreferenced pristines from the working copy. (Will not remove anything unless the obtained lock applies to the entire working copy)
If cancel_func is non-NULL, invoke it with cancel_baton at various points during the operation. If it returns an error (typically SVN_ERR_CANCELLED), return that error immediately.
If notify_func is non-NULL, invoke it with notify_baton to report the progress of the operation.
svn_wc_committed_queue_t* svn_wc_committed_queue_create | ( | apr_pool_t * | pool | ) |
Create a queue for use with svn_wc_queue_committed() and svn_wc_process_committed_queue().
The returned queue and all further allocations required for queuing new items will also be done from pool.
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 | ||
) |
Given a dir_path under version control, decide if one of its entries (entry) is in a state of conflict; return the answers in text_conflicted_p and prop_conflicted_p.
These pointers must not be null.
If the 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 *text_conflicted_p.
Similarly, if the 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 *prop_conflicted_p.
The entry is not updated.
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 | ||
) |
Similar to svn_wc_conflicted_p3(), but with a path/adm_access parameter pair in place of a wc_ctx/local_abspath pair.
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 | ||
) |
Given local_abspath in a dir under version control, decide if it is in a state of conflict; return the answers in *text_conflicted_p, *prop_conflicted_p, and *tree_conflicted_p.
If one or two of the answers are uninteresting, simply pass NULL
pointers for those.
If local_abspath is unversioned or does not exist, return SVN_ERR_WC_PATH_NOT_FOUND.
If the 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 FALSE
in *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 FALSE
in *prop_conflicted_p.
*tree_conflicted_p can't be auto-resolved in this fashion. An explicit ‘resolved’ is needed.
svn_error_t* svn_wc_copy | ( | const char * | src, |
svn_wc_adm_access_t * | dst_parent, | ||
const char * | dst_basename, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
svn_wc_notify_func_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_copy2(), but takes an svn_wc_notify_func_t instead.
svn_error_t* svn_wc_copy2 | ( | const char * | src, |
svn_wc_adm_access_t * | dst_parent, | ||
const char * | dst_basename, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_copy3(), but takes access batons and a relative path and a basename instead of absolute paths and a working copy context.
svn_error_t* svn_wc_copy3 | ( | svn_wc_context_t * | wc_ctx, |
const char * | src_abspath, | ||
const char * | dst_abspath, | ||
svn_boolean_t | metadata_only, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | scratch_pool | ||
) |
Copy src_abspath to dst_abspath, and schedule dst_abspath for addition to the repository, remembering the copy history.
wc_ctx is used for accessing the working copy and must contain a write lock for the parent directory of dst_abspath,
If metadata_only is TRUE then this is a database-only operation and the working directories and files are not copied.
src_abspath must be a file or directory under version control; the parent of dst_abspath must be a directory under version control in the same working copy; dst_abspath will be the name of the copied item, and it must not exist already if metadata_only is FALSE. Note that when src points to a versioned file, the working file doesn't necessarily exist in which case its text-base is used instead.
If cancel_func is non-NULL, call it with cancel_baton at various points during the operation. If it returns an error (typically SVN_ERR_CANCELLED), return that error immediately.
If notify_func is non-NULL, call it with notify_baton and the path of the root node (only) of the destination.
Use scratch_pool for temporary allocations.
svn_error_t* svn_wc_crawl_revisions | ( | const char * | path, |
svn_wc_adm_access_t * | adm_access, | ||
const svn_ra_reporter_t * | reporter, | ||
void * | report_baton, | ||
svn_boolean_t | restore_files, | ||
svn_boolean_t | recurse, | ||
svn_boolean_t | use_commit_times, | ||
svn_wc_notify_func_t | notify_func, | ||
void * | notify_baton, | ||
svn_wc_traversal_info_t * | traversal_info, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_crawl_revisions2(), but takes an svn_wc_notify_func_t and a svn_ra_reporter_t instead.
svn_error_t* svn_wc_crawl_revisions2 | ( | const char * | path, |
svn_wc_adm_access_t * | adm_access, | ||
const svn_ra_reporter2_t * | reporter, | ||
void * | report_baton, | ||
svn_boolean_t | restore_files, | ||
svn_boolean_t | recurse, | ||
svn_boolean_t | use_commit_times, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
svn_wc_traversal_info_t * | traversal_info, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_crawl_revisions3, but taking svn_ra_reporter2_t instead of svn_ra_reporter3_t, and therefore only able to report svn_depth_infinity for depths; and taking recurse instead of depth; and with depth_compatibility_trick always false.
svn_error_t* svn_wc_crawl_revisions3 | ( | const char * | path, |
svn_wc_adm_access_t * | adm_access, | ||
const svn_ra_reporter3_t * | reporter, | ||
void * | report_baton, | ||
svn_boolean_t | restore_files, | ||
svn_depth_t | depth, | ||
svn_boolean_t | depth_compatibility_trick, | ||
svn_boolean_t | use_commit_times, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
svn_wc_traversal_info_t * | traversal_info, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_crawl_revisions4, but with honor_depth_exclude always set to false.
svn_error_t* svn_wc_crawl_revisions4 | ( | const char * | path, |
svn_wc_adm_access_t * | adm_access, | ||
const svn_ra_reporter3_t * | reporter, | ||
void * | report_baton, | ||
svn_boolean_t | restore_files, | ||
svn_depth_t | depth, | ||
svn_boolean_t | honor_depth_exclude, | ||
svn_boolean_t | depth_compatibility_trick, | ||
svn_boolean_t | use_commit_times, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
svn_wc_traversal_info_t * | traversal_info, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_crawl_revisions5, but with a relative path and access baton instead of an absolute path and wc_ctx.
Passes NULL for cancel_func and cancel_baton.
svn_error_t* svn_wc_crawl_revisions5 | ( | svn_wc_context_t * | wc_ctx, |
const char * | local_abspath, | ||
const svn_ra_reporter3_t * | reporter, | ||
void * | report_baton, | ||
svn_boolean_t | restore_files, | ||
svn_depth_t | depth, | ||
svn_boolean_t | honor_depth_exclude, | ||
svn_boolean_t | depth_compatibility_trick, | ||
svn_boolean_t | use_commit_times, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | scratch_pool | ||
) |
Do a depth-first crawl in a working copy, beginning at local_abspath, using wc_ctx for accessing the working copy.
Communicate the ‘state’ of the working copy's revisions and depths to reporter/report_baton. Obviously, if local_abspath is a file instead of a directory, this depth-first crawl will be a short one.
No locks or logs are created, nor are any animals harmed in the process unless restore_files is TRUE. No cleanup is necessary.
After all revisions are reported, reporter->finish_report() is called, which immediately causes the RA layer to update the working copy. Thus the return value may very well reflect the result of the update!
If depth is svn_depth_empty, then report state only for path itself. If svn_depth_files, do the same and include immediate file children of path. If svn_depth_immediates, then behave as if for svn_depth_files but also report the property states of immediate subdirectories. If depth is svn_depth_infinity, then report state fully recursively. All descents are only as deep as path's own depth permits, of course. If depth is svn_depth_unknown, then just use svn_depth_infinity, which in practice means depth of path.
Iff honor_depth_exclude is TRUE, the crawler will report paths whose ambient depth is svn_depth_exclude as being excluded, and thus prevent the server from pushing update data for those paths; therefore, don't set this flag if you wish to pull in excluded paths. Note that svn_depth_exclude on the target path is never honored, even if honor_depth_exclude is TRUE, because we need to be able to explicitly pull in a target. For example, if this is the working copy...
svn co greek_tree_repos wc_dir svn up –set-depth exclude wc_dir/A/B/E # now A/B/E is excluded
...then 'svn up wc_dir/A/B' would report E as excluded (assuming honor_depth_exclude is TRUE), but 'svn up wc_dir/A/B/E' would not, because the latter is trying to explicitly pull in E. In general, we never report the update target as excluded.
Iff depth_compatibility_trick is TRUE, then set the start_empty
flag on reporter->set_path() and reporter->link_path() calls as necessary to trick a pre-1.5 (i.e., depth-unaware) server into sending back all the items the client might need to upgrade a working copy from a shallower depth to a deeper one.
If restore_files is TRUE, then unexpectedly missing working files will be restored from the administrative directory's cache. For each file restored, the notify_func function will be called with the notify_baton and the path of the restored file. notify_func may be NULL
if this notification is not required. If use_commit_times is TRUE, then set restored files' timestamps to their last-commit-times.
svn_error_t* svn_wc_create_tmp_file | ( | apr_file_t ** | fp, |
const char * | path, | ||
svn_boolean_t | delete_on_close, | ||
apr_pool_t * | pool | ||
) |
Same as svn_wc_create_tmp_file2(), but with new_name set to NULL
, and without the ability to delete the file on pool cleanup.
svn_error_t* svn_wc_create_tmp_file2 | ( | apr_file_t ** | fp, |
const char ** | new_name, | ||
const char * | path, | ||
svn_io_file_del_t | delete_when, | ||
apr_pool_t * | pool | ||
) |
Create a unique temporary file in administrative tmp/ area of directory path.
Return a handle in *fp and the path in *new_name. Either fp or new_name can be NULL.
The flags will be APR_WRITE | APR_CREATE | APR_EXCL
and optionally APR_DELONCLOSE
(if the delete_when argument is set to svn_io_file_del_on_close).
This means that as soon as fp is closed, the tmp file will vanish.
svn_error_t* svn_wc_crop_tree | ( | svn_wc_adm_access_t * | anchor, |
const char * | target, | ||
svn_depth_t | depth, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_crop_tree2(), but uses an access baton and target.
svn_wc_crop_tree() also allows svn_depth_exclude, which is now handled via svn_wc_exclude()
target is a basename in anchor or "" for anchor itself.
svn_error_t* svn_wc_crop_tree2 | ( | svn_wc_context_t * | wc_ctx, |
const char * | local_abspath, | ||
svn_depth_t | depth, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | scratch_pool | ||
) |
Crop local_abspath according to depth.
Remove any item that exceeds the boundary of depth (relative to local_abspath) from revision control. Leave modified items behind (unversioned), while removing unmodified ones completely.
depth can be svn_depth_empty, svn_depth_files or svn_depth_immediates. Excluding nodes is handled by svn_wc_exclude().
If local_abspath starts out with a shallower depth than depth, do not upgrade it to depth (that would not be cropping); however, do check children and crop them appropriately according to depth.
Returns immediately with an SVN_ERR_UNSUPPORTED_FEATURE error if local_abspath is not a directory, or if depth is not restrictive (e.g., svn_depth_infinity).
wc_ctx contains a tree lock, for the local path to the working copy which will be used as the root of this operation.
If cancel_func is not NULL
, call it with cancel_baton at various points to determine if the client has canceled the operation.
If notify_func is not NULL
, call it with notify_baton to report changes as they are made.
svn_error_t* svn_wc_delete | ( | const char * | path, |
svn_wc_adm_access_t * | adm_access, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
svn_wc_notify_func_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_delete2(), but takes an svn_wc_notify_func_t instead.
svn_error_t* svn_wc_delete2 | ( | const char * | path, |
svn_wc_adm_access_t * | adm_access, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_delete3(), but with keep_local always set to FALSE.
svn_error_t* svn_wc_delete3 | ( | const char * | path, |
svn_wc_adm_access_t * | adm_access, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
svn_boolean_t | keep_local, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_delete4, but uses an access baton and relative path instead of a working copy context and absolute path.
adm_access must hold a write lock for the parent of path.
delete_unversioned_target
will always be set to TRUE.
svn_error_t* svn_wc_delete4 | ( | svn_wc_context_t * | wc_ctx, |
const char * | local_abspath, | ||
svn_boolean_t | keep_local, | ||
svn_boolean_t | delete_unversioned_target, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | scratch_pool | ||
) |
Schedule local_abspath for deletion.
It will be deleted from the repository on the next commit. If local_abspath refers to a directory, then a recursive deletion will occur. wc_ctx must hold a write lock for the parent of local_abspath, local_abspath itself and everything below local_abspath.
If keep_local is FALSE, this function immediately deletes all files, modified and unmodified, versioned and if delete_unversioned is TRUE, unversioned from the working copy. It also immediately deletes unversioned directories and directories that are scheduled to be added below local_abspath. Only versioned may remain in the working copy, these get deleted by the update following the commit.
If keep_local is TRUE, all files and directories will be kept in the working copy (and will become unversioned on the next commit).
If delete_unversioned_target is TRUE and local_abspath is not versioned, local_abspath will be handled as an added files without history. So it will be deleted if keep_local is FALSE. If delete_unversioned is FALSE and local_abspath is not versioned a SVN_ERR_WC_PATH_NOT_FOUND error will be returned.
If cancel_func is non-NULL, call it with cancel_baton at various points during the operation. If it returns an error (typically SVN_ERR_CANCELLED), return that error immediately.
For each path marked for deletion, notify_func will be called with the notify_baton and that path. The notify_func callback may be NULL
if notification is not needed.
Use scratch_pool for temporary allocations. It may be cleared immediately upon returning from this function.
svn_error_t* svn_wc_ensure_adm | ( | const char * | path, |
const char * | uuid, | ||
const char * | url, | ||
svn_revnum_t | revision, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_ensure_adm2(), but with repos set to NULL
.
NULL
.svn_error_t* svn_wc_ensure_adm2 | ( | const char * | path, |
const char * | uuid, | ||
const char * | url, | ||
const char * | repos, | ||
svn_revnum_t | revision, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_ensure_adm3(), but with depth set to svn_depth_infinity.
See the note on svn_wc_ensure_adm3() regarding the repos and uuid parameters.
svn_error_t* svn_wc_ensure_adm3 | ( | const char * | path, |
const char * | uuid, | ||
const char * | url, | ||
const char * | repos, | ||
svn_revnum_t | revision, | ||
svn_depth_t | depth, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_ensure_adm4(), but without the wc context parameter.
NULL
to be passed. Beginning with 1.7, this will return an error, contrary to prior documented behavior: see 'notes/api-errata/1.7/wc005.txt'.svn_error_t* svn_wc_ensure_adm4 | ( | svn_wc_context_t * | wc_ctx, |
const char * | local_abspath, | ||
const char * | url, | ||
const char * | repos_root_url, | ||
const char * | repos_uuid, | ||
svn_revnum_t | revision, | ||
svn_depth_t | depth, | ||
apr_pool_t * | scratch_pool | ||
) |
Ensure that an administrative area exists for local_abspath, so that local_abspath is a working copy subdir based on url at revision, with depth depth, and with repository UUID repos_uuid and repository root URL repos_root_url.
depth must be a definite depth, it cannot be svn_depth_unknown. repos_uuid and repos_root_url MUST NOT be NULL
, and repos_root_url must be a prefix of url.
If the administrative area does not exist, then create it and initialize it to an unlocked state.
If the administrative area already exists then the given url must match the URL in the administrative area and the given revision must match the BASE of the working copy dir unless the admin directory is scheduled for deletion or the SVN_ERR_WC_OBSTRUCTED_UPDATE error will be returned.
Do not ensure existence of local_abspath itself; if local_abspath does not exist, return error.
Use scratch_pool for temporary allocations.
svn_error_t* svn_wc_exclude | ( | svn_wc_context_t * | wc_ctx, |
const char * | local_abspath, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | scratch_pool | ||
) |
Remove the local node for local_abspath from the working copy and add an excluded node placeholder in its place.
This feature is only supported for unmodified nodes. An SVN_ERR_UNSUPPORTED_FEATURE error is returned if the node can't be excluded in its current state.
wc_ctx contains a tree lock, for the local path to the working copy which will be used as the root of this operation
If notify_func is not NULL
, call it with notify_baton to report changes as they are made.
If cancel_func is not NULL
, call it with cancel_baton at various points to determine if the client has canceled the operation.
svn_error_t* svn_wc_get_actual_target | ( | const char * | path, |
const char ** | anchor, | ||
const char ** | target, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_get_actual_target2(), but without the wc context, and with a absolute path.
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 | ||
) |
Conditionally split path into an anchor and target for the purpose of updating and committing.
anchor is the directory at which the update or commit editor should be rooted.
target is the actual subject (relative to the anchor) of the update/commit, or "" if the anchor itself is the subject.
Allocate anchor and target in result_pool; scratch_pool is used for temporary allocations.
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 | ||
) |
Set *url and *rev to the ancestor URL and revision for path, allocating in pool.
adm_access must be an access baton for path.
If url or rev is NULL, then ignore it (just don't return the corresponding information).
svn_error_t* svn_wc_get_changelists | ( | svn_wc_context_t * | wc_ctx, |
const char * | local_abspath, | ||
svn_depth_t | depth, | ||
const apr_array_header_t * | changelist_filter, | ||
svn_changelist_receiver_t | callback_func, | ||
void * | callback_baton, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
apr_pool_t * | scratch_pool | ||
) |
Beginning at local_abspath, crawl to depth to discover every path in or under local_abspath which belongs to one of the changelists in changelist_filter (an array of const char *
changelist names).
If changelist_filter is NULL
, discover paths with any changelist. Call callback_func (with callback_baton) each time a changelist-having path is discovered.
local_abspath is a local WC path.
If cancel_func is not NULL
, invoke it passing cancel_baton during the recursive walk.
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 | ||
) |
Similar to svn_wc_get_pristine_contents2, but takes no working copy context and a path that can be relative.
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 | ||
) |
Given a path to a wc file, return in *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 *contents to 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 local_abspath refers to an unversioned or non-existent path, return SVN_ERR_WC_PATH_NOT_FOUND
. Use wc_ctx to access the working copy. contents may not be NULL
(unlike *contents).
svn_error_t* svn_wc_get_pristine_copy_path | ( | const char * | path, |
const char ** | pristine_path, | ||
apr_pool_t * | pool | ||
) |
Set *pristine_path to the path of the "normal" pristine text file for the versioned file path.
If path does not have a pristine text, set *pristine_path to a path where nothing exists on disk (in a directory that does exist).
svn_error_t* svn_wc_has_binary_prop | ( | svn_boolean_t * | has_binary_prop, |
const char * | path, | ||
svn_wc_adm_access_t * | adm_access, | ||
apr_pool_t * | pool | ||
) |
Set *has_binary_prop to TRUE
iff path has been marked with a property indicating that it is non-text (in other words, binary).
adm_access is an access baton set that contains path.
svn_wc_info_t* svn_wc_info_dup | ( | const svn_wc_info_t * | info, |
apr_pool_t * | pool | ||
) |
Return a duplicate of info, allocated in pool.
No part of the new structure will be shared with info.
svn_error_t* svn_wc_locked | ( | svn_boolean_t * | locked, |
const char * | path, | ||
apr_pool_t * | pool | ||
) |
Set *locked to non-zero if path is locked, else set it to zero.
New code should use svn_wc_locked2() instead.
svn_error_t* svn_wc_locked2 | ( | svn_boolean_t * | locked_here, |
svn_boolean_t * | locked, | ||
svn_wc_context_t * | wc_ctx, | ||
const char * | local_abspath, | ||
apr_pool_t * | scratch_pool | ||
) |
Gets up to two booleans indicating whether a path is locked for writing.
locked_here is set to TRUE when a write lock on local_abspath exists in wc_ctx. locked is set to TRUE when there is a write_lock on local_abspath
locked_here and/or locked can be NULL when you are not interested in a specific value
svn_error_t* svn_wc_mark_missing_deleted | ( | const char * | path, |
svn_wc_adm_access_t * | parent, | ||
apr_pool_t * | pool | ||
) |
Mark missing path as 'deleted' in its parent's list of entries.
path should be a directory that is both deleted (via svn_wc_delete4) and removed (via a system call). This function should only be called during post-commit processing following a successful commit editor drive.
Return SVN_ERR_WC_PATH_FOUND if path isn't actually missing.
svn_error_t* svn_wc_maybe_set_repos_root | ( | svn_wc_adm_access_t * | adm_access, |
const char * | path, | ||
const char * | repos, | ||
apr_pool_t * | pool | ||
) |
Set the repository root URL of path to repos, if possible.
Before Subversion 1.7 there could be working copy directories that didn't have a stored repository root in some specific circumstances. This function allowed setting this root later.
Since Subversion 1.7 this function just returns SVN_NO_ERROR.
svn_error_t* svn_wc_move | ( | svn_wc_context_t * | wc_ctx, |
const char * | src_abspath, | ||
const char * | dst_abspath, | ||
svn_boolean_t | metadata_only, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | scratch_pool | ||
) |
Move src_abspath to dst_abspath, by scheduling dst_abspath for addition to the repository, remembering the history.
Mark src_abspath as deleted after moving.wc_ctx is used for accessing the working copy and must contain a write lock for the parent directory of src_abspath and dst_abspath.
If metadata_only is TRUE then this is a database-only operation and the working directories and files are not changed.
src_abspath must be a file or directory under version control; the parent of dst_abspath must be a directory under version control in the same working copy; dst_abspath will be the name of the copied item, and it must not exist already if metadata_only is FALSE. Note that when src points to a versioned file, the working file doesn't necessarily exist in which case its text-base is used instead.
If cancel_func is non-NULL, call it with cancel_baton at various points during the operation. If it returns an error (typically SVN_ERR_CANCELLED), return that error immediately.
If notify_func is non-NULL, call it with notify_baton and the path of the root node (only) of the destination.
Use scratch_pool for temporary allocations.
svn_error_t* svn_wc_process_committed | ( | const char * | path, |
svn_wc_adm_access_t * | adm_access, | ||
svn_boolean_t | recurse, | ||
svn_revnum_t | new_revnum, | ||
const char * | rev_date, | ||
const char * | rev_author, | ||
const apr_array_header_t * | wcprop_changes, | ||
apr_pool_t * | pool | ||
) |
svn_error_t* svn_wc_process_committed2 | ( | const char * | path, |
svn_wc_adm_access_t * | adm_access, | ||
svn_boolean_t | recurse, | ||
svn_revnum_t | new_revnum, | ||
const char * | rev_date, | ||
const char * | rev_author, | ||
const apr_array_header_t * | wcprop_changes, | ||
svn_boolean_t | remove_lock, | ||
apr_pool_t * | pool | ||
) |
svn_error_t* svn_wc_process_committed3 | ( | const char * | path, |
svn_wc_adm_access_t * | adm_access, | ||
svn_boolean_t | recurse, | ||
svn_revnum_t | new_revnum, | ||
const char * | rev_date, | ||
const char * | rev_author, | ||
const apr_array_header_t * | wcprop_changes, | ||
svn_boolean_t | remove_lock, | ||
const unsigned char * | digest, | ||
apr_pool_t * | pool | ||
) |
svn_error_t* svn_wc_process_committed4 | ( | const char * | path, |
svn_wc_adm_access_t * | adm_access, | ||
svn_boolean_t | recurse, | ||
svn_revnum_t | new_revnum, | ||
const char * | rev_date, | ||
const char * | rev_author, | ||
const apr_array_header_t * | wcprop_changes, | ||
svn_boolean_t | remove_lock, | ||
svn_boolean_t | remove_changelist, | ||
const unsigned char * | digest, | ||
apr_pool_t * | pool | ||
) |
svn_error_t* svn_wc_process_committed_queue | ( | svn_wc_committed_queue_t * | queue, |
svn_wc_adm_access_t * | adm_access, | ||
svn_revnum_t | new_revnum, | ||
const char * | rev_date, | ||
const char * | rev_author, | ||
apr_pool_t * | pool | ||
) |
svn_error_t* svn_wc_process_committed_queue2 | ( | svn_wc_committed_queue_t * | queue, |
svn_wc_context_t * | wc_ctx, | ||
svn_revnum_t | new_revnum, | ||
const char * | rev_date, | ||
const char * | rev_author, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
apr_pool_t * | scratch_pool | ||
) |
Bump all items in queue to new_revnum after a commit succeeds.
rev_date and rev_author are the (server-side) date and author of the new revision; one or both may be NULL
.
If cancel_func is non-NULL, call it with cancel_baton to determine if the client wants to cancel the operation.
svn_error_t* svn_wc_props_modified_p | ( | svn_boolean_t * | modified_p, |
const char * | path, | ||
svn_wc_adm_access_t * | adm_access, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_props_modified_p2(), but with a relative path and adm_access baton.
svn_error_t* svn_wc_props_modified_p2 | ( | svn_boolean_t * | modified_p, |
svn_wc_context_t * | wc_ctx, | ||
const char * | local_abspath, | ||
apr_pool_t * | scratch_pool | ||
) |
Set *modified_p to non-zero if path's properties are modified with regard to the base revision, else set modified_p to zero.
adm_access must be an access baton for path.
svn_error_t* svn_wc_queue_committed | ( | svn_wc_committed_queue_t ** | queue, |
const char * | path, | ||
svn_wc_adm_access_t * | adm_access, | ||
svn_boolean_t | recurse, | ||
const apr_array_header_t * | wcprop_changes, | ||
svn_boolean_t | remove_lock, | ||
svn_boolean_t | remove_changelist, | ||
const unsigned char * | digest, | ||
apr_pool_t * | pool | ||
) |
Same as svn_wc_queue_committed2() but the queue parameter has an extra indirection and digest is supplied instead of a checksum type.
svn_error_t* svn_wc_queue_committed2 | ( | svn_wc_committed_queue_t * | queue, |
const char * | path, | ||
svn_wc_adm_access_t * | adm_access, | ||
svn_boolean_t | recurse, | ||
const apr_array_header_t * | wcprop_changes, | ||
svn_boolean_t | remove_lock, | ||
svn_boolean_t | remove_changelist, | ||
const svn_checksum_t * | md5_checksum, | ||
apr_pool_t * | scratch_pool | ||
) |
Same as svn_wc_queue_committed3() except path doesn't have to be an abspath and adm_access is unused and a SHA-1 checksum cannot be specified.
svn_error_t* svn_wc_queue_committed3 | ( | svn_wc_committed_queue_t * | queue, |
svn_wc_context_t * | wc_ctx, | ||
const char * | local_abspath, | ||
svn_boolean_t | recurse, | ||
const apr_array_header_t * | wcprop_changes, | ||
svn_boolean_t | remove_lock, | ||
svn_boolean_t | remove_changelist, | ||
const svn_checksum_t * | sha1_checksum, | ||
apr_pool_t * | scratch_pool | ||
) |
Similar to svn_wc_queue_committed4, but with is_committed always TRUE.
svn_error_t* svn_wc_queue_committed4 | ( | svn_wc_committed_queue_t * | queue, |
svn_wc_context_t * | wc_ctx, | ||
const char * | local_abspath, | ||
svn_boolean_t | recurse, | ||
svn_boolean_t | is_committed, | ||
const apr_array_header_t * | wcprop_changes, | ||
svn_boolean_t | remove_lock, | ||
svn_boolean_t | remove_changelist, | ||
const svn_checksum_t * | sha1_checksum, | ||
apr_pool_t * | scratch_pool | ||
) |
Queue committed items to be processed later by svn_wc_process_committed_queue2().
Record in queue that local_abspath will need to be bumped after a commit succeeds.
If non-NULL, wcprop_changes is an array of svn_prop_t *
changes to wc properties; if an svn_prop_t->value is NULL, then that property is deleted.
If is_committed is TRUE
, the node will be processed as committed. This turns the node and its implied descendants as the new unmodified state at the new specified revision. Unless recurse is TRUE, changes on descendants are not committed as changes directly. In this case they should be queueud as their own changes.
If remove_lock is TRUE
, any entryprops related to a repository lock will be removed.
If remove_changelist is TRUE
, any association with a changelist will be removed.
If sha1_checksum is non-NULL, use it to identify the node's pristine text.
If recurse is TRUE and local_abspath is a directory, then bump every versioned object at or under local_abspath. This is usually done for copied trees.
the queue, then any children (at any depth) of that directory that are also in the queue as separate items will get: 'wcprop_changes' = NULL; 'remove_lock' = FALSE; 'remove_changelist' from the recursive parent item; and any children (at any depth) of that directory that are NOT in the queue as separate items will get: 'wcprop_changes' = NULL; 'remove_lock' = FALSE; 'remove_changelist' from the recursive parent item;
All pointer data passed to this function (local_abspath, wcprop_changes and the checksums) should remain valid until the queue has been processed by svn_wc_process_committed_queue2().
Temporary allocations will be performed in scratch_pool, and persistent allocations will use the same pool as queue used when it was created.
svn_error_t* svn_wc_relocate | ( | const char * | path, |
svn_wc_adm_access_t * | adm_access, | ||
const char * | from, | ||
const char * | to, | ||
svn_boolean_t | recurse, | ||
svn_wc_relocation_validator_t | validator, | ||
void * | validator_baton, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_relocate2(), but uses svn_wc_relocation_validator_t.
svn_error_t* svn_wc_relocate2 | ( | const char * | path, |
svn_wc_adm_access_t * | adm_access, | ||
const char * | from, | ||
const char * | to, | ||
svn_boolean_t | recurse, | ||
svn_wc_relocation_validator2_t | validator, | ||
void * | validator_baton, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_relocate3(), but uses svn_wc_relocation_validator2_t.
svn_error_t* svn_wc_relocate3 | ( | const char * | path, |
svn_wc_adm_access_t * | adm_access, | ||
const char * | from, | ||
const char * | to, | ||
svn_boolean_t | recurse, | ||
svn_wc_relocation_validator3_t | validator, | ||
void * | validator_baton, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_relocate4(), but with a svn_wc_adm_access_t / relative path parameter pair.
svn_error_t* svn_wc_relocate4 | ( | svn_wc_context_t * | wc_ctx, |
const char * | wcroot_abspath, | ||
const char * | from, | ||
const char * | to, | ||
svn_wc_relocation_validator3_t | validator, | ||
void * | validator_baton, | ||
apr_pool_t * | scratch_pool | ||
) |
Recursively change repository references at wcroot_abspath (which is the root directory of a working copy).
The pre-change URL should begin with from, and the post-change URL will begin with to. validator (and its baton, validator_baton), will be called for the newly generated base URL and calculated repo root.
wc_ctx is an working copy context.
scratch_pool will be used for temporary allocations.
svn_error_t* svn_wc_remove_from_revision_control | ( | svn_wc_adm_access_t * | adm_access, |
const char * | name, | ||
svn_boolean_t | destroy_wf, | ||
svn_boolean_t | instant_error, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_remove_from_revision_control2() but with a name and access baton.
WARNING: This routine was exported for careful, measured use by libsvn_client. Do not call this routine unless you really understand what the heck you're doing.
svn_error_t* svn_wc_remove_from_revision_control2 | ( | svn_wc_context_t * | wc_ctx, |
const char * | local_abspath, | ||
svn_boolean_t | destroy_wf, | ||
svn_boolean_t | instant_error, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
apr_pool_t * | pool | ||
) |
Remove local_abspath from revision control.
wc_ctx must hold a write lock on the parent of local_abspath, or if that is a WC root then on local_abspath itself.
If local_abspath is a file, all its info will be removed from the administrative area. If local_abspath is a directory, then the administrative area will be deleted, along with all the administrative areas anywhere in the tree below adm_access.
Normally, only administrative data is removed. However, if destroy_wf is TRUE, then all working file(s) and dirs are deleted from disk as well. When called with destroy_wf, any locally modified files will not be deleted, and the special error SVN_ERR_WC_LEFT_LOCAL_MOD might be returned. (Callers only need to check for this special return value if destroy_wf is TRUE.)
If instant_error is TRUE, then return SVN_ERR_WC_LEFT_LOCAL_MOD the instant a locally modified file is encountered. Otherwise, leave locally modified files in place and return the error only after all the recursion is complete.
If cancel_func is non-NULL, call it with cancel_baton at various points during the removal. If it returns an error (typically SVN_ERR_CANCELLED), return that error immediately.
WARNING: This routine is exported for careful, measured use by libsvn_client. Do not call this routine unless you really understand what the heck you're doing.
svn_error_t* svn_wc_resolved_conflict | ( | const char * | path, |
svn_wc_adm_access_t * | adm_access, | ||
svn_boolean_t | resolve_text, | ||
svn_boolean_t | resolve_props, | ||
svn_boolean_t | recurse, | ||
svn_wc_notify_func_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_resolved_conflict2(), but takes an svn_wc_notify_func_t and doesn't have cancellation support.
svn_error_t* svn_wc_resolved_conflict2 | ( | const char * | path, |
svn_wc_adm_access_t * | adm_access, | ||
svn_boolean_t | resolve_text, | ||
svn_boolean_t | resolve_props, | ||
svn_boolean_t | recurse, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_resolved_conflict3(), but without automatic conflict resolution support, and with depth set according to recurse: if recurse is TRUE, depth is svn_depth_infinity, else it is svn_depth_files.
svn_error_t* svn_wc_resolved_conflict3 | ( | const char * | path, |
svn_wc_adm_access_t * | adm_access, | ||
svn_boolean_t | resolve_text, | ||
svn_boolean_t | resolve_props, | ||
svn_depth_t | depth, | ||
svn_wc_conflict_choice_t | conflict_choice, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_resolved_conflict4(), but without tree-conflict resolution support.
svn_error_t* svn_wc_resolved_conflict4 | ( | const char * | path, |
svn_wc_adm_access_t * | adm_access, | ||
svn_boolean_t | resolve_text, | ||
svn_boolean_t | resolve_props, | ||
svn_boolean_t | resolve_tree, | ||
svn_depth_t | depth, | ||
svn_wc_conflict_choice_t | conflict_choice, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_resolved_conflict5, but takes an absolute path and an access baton.
This version doesn't support resolving a specific property.conflict.
svn_error_t* svn_wc_resolved_conflict5 | ( | svn_wc_context_t * | wc_ctx, |
const char * | local_abspath, | ||
svn_depth_t | depth, | ||
svn_boolean_t | resolve_text, | ||
const char * | resolve_prop, | ||
svn_boolean_t | resolve_tree, | ||
svn_wc_conflict_choice_t | conflict_choice, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | scratch_pool | ||
) |
Assuming local_abspath is under version control or a tree conflict victim and in a state of conflict, then take local_abspath out of this state.
If resolve_text is TRUE then any text conflict is resolved, if resolve_tree is TRUE then any tree conflicts are resolved. If resolve_prop is set to "" all property conflicts are resolved, if it is set to any other string value, conflicts on that specific property are resolved and when resolve_prop is NULL, no property conflicts are resolved.
If depth is svn_depth_empty, act only on local_abspath; if svn_depth_files, resolve local_abspath and its conflicted file children (if any); if svn_depth_immediates, resolve local_abspath and all its immediate conflicted children (both files and directories, if any); if svn_depth_infinity, resolve local_abspath and every conflicted file or directory anywhere beneath it.
If conflict_choice is svn_wc_conflict_choose_base, resolve the conflict with the old file contents; if svn_wc_conflict_choose_mine_full, use the original working contents; if svn_wc_conflict_choose_theirs_full, the new contents; and if svn_wc_conflict_choose_merged, don't change the contents at all, just remove the conflict status, which is the pre-1.5 behavior.
svn_wc_conflict_choose_theirs_conflict and svn_wc_conflict_choose_mine_conflict are not legal for binary files or properties.
wc_ctx is a working copy context, with a write lock, for local_abspath.
Needless to say, this function doesn't touch conflict markers or anything of that sort – only a human can semantically resolve a conflict. Instead, this function simply marks a file as "having been resolved", clearing the way for a commit.
The implementation details are opaque, as our "conflicted" criteria might change over time. (At the moment, this routine removes the three fulltext 'backup' files and any .prej file created in a conflict, and modifies local_abspath's entry.)
If local_abspath is not under version control and not a tree conflict, return SVN_ERR_ENTRY_NOT_FOUND. If path isn't in a state of conflict to begin with, do nothing, and return SVN_NO_ERROR.
If local_abspath
was successfully taken out of a state of conflict, report this information to notify_func
(if non-NULL
.) If only text, only property, or only tree conflict resolution was requested, and it was successful, then success gets reported.
Temporary allocations will be performed in scratch_pool.
svn_error_t* svn_wc_restore | ( | svn_wc_context_t * | wc_ctx, |
const char * | local_abspath, | ||
svn_boolean_t | use_commit_times, | ||
apr_pool_t * | scratch_pool | ||
) |
Restores a missing node, local_abspath using the wc_ctx.
Records the new last modified time of the file for status processing.
If use_commit_times is TRUE, then set restored files' timestamps to their last-commit-times.
Returns SVN_ERROR_WC_PATH_NOT_FOUND if LOCAL_ABSPATH is not versioned and SVN_ERROR_WC_PATH_UNEXPECTED_STATUS if LOCAL_ABSPATH is in a status where it can't be restored.
svn_error_t* svn_wc_revert | ( | const char * | path, |
svn_wc_adm_access_t * | parent_access, | ||
svn_boolean_t | recursive, | ||
svn_boolean_t | use_commit_times, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
svn_wc_notify_func_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_revert2(), but takes an svn_wc_notify_func_t instead.
svn_error_t* svn_wc_revert2 | ( | const char * | path, |
svn_wc_adm_access_t * | parent_access, | ||
svn_boolean_t | recursive, | ||
svn_boolean_t | use_commit_times, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_revert3(), but with changelist_filter passed as NULL
, and depth set according to recursive: if recursive is TRUE, depth is svn_depth_infinity; if FALSE, depth is svn_depth_empty.
svn_error_t* svn_wc_revert3 | ( | const char * | path, |
svn_wc_adm_access_t * | parent_access, | ||
svn_depth_t | depth, | ||
svn_boolean_t | use_commit_times, | ||
const apr_array_header_t * | changelist_filter, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_revert4() but takes a relative path and access baton.
svn_error_t* svn_wc_revert4 | ( | svn_wc_context_t * | wc_ctx, |
const char * | local_abspath, | ||
svn_depth_t | depth, | ||
svn_boolean_t | use_commit_times, | ||
const apr_array_header_t * | changelist_filter, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | scratch_pool | ||
) |
Similar to svn_wc_revert5() but with clear_changelists always set to FALSE and metadata_only set to FALSE.
svn_error_t* svn_wc_revert5 | ( | svn_wc_context_t * | wc_ctx, |
const char * | local_abspath, | ||
svn_depth_t | depth, | ||
svn_boolean_t | use_commit_times, | ||
const apr_array_header_t * | changelist_filter, | ||
svn_boolean_t | clear_changelists, | ||
svn_boolean_t | metadata_only, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | scratch_pool | ||
) |
Similar to svn_wc_revert6() but with added_keep_local always set to TRUE.
svn_error_t* svn_wc_revert6 | ( | svn_wc_context_t * | wc_ctx, |
const char * | local_abspath, | ||
svn_depth_t | depth, | ||
svn_boolean_t | use_commit_times, | ||
const apr_array_header_t * | changelist_filter, | ||
svn_boolean_t | clear_changelists, | ||
svn_boolean_t | metadata_only, | ||
svn_boolean_t | added_keep_local, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | scratch_pool | ||
) |
Revert changes to local_abspath.
Perform necessary allocations in scratch_pool.
wc_ctx contains the necessary locks required for performing the operation.
If depth is svn_depth_empty, revert just path (if a directory, then revert just the properties on that directory). Else if svn_depth_files, revert path and any files directly under path if it is directory. Else if svn_depth_immediates, revert all of the preceding plus properties on immediate subdirectories; else if svn_depth_infinity, revert path and everything under it fully recursively.
changelist_filter is an array of const char *
changelist names, used as a restrictive filter on items reverted; that is, don't revert any item unless it's a member of one of those changelists. If changelist_filter is empty (or altogether NULL
), no changelist filtering occurs.
If clear_changelists is TRUE, then changelist information for the paths is cleared.
The metadata_only and added_keep_local options control the extent of reverting. If metadata_only is TRUE, the working copy files are untouched, but if there are conflict marker files attached to these files these markers are removed. Otherwise, if added_keep_local is TRUE, then all items are reverted except an item that was scheduled as plain 'add' (not a copy) will not be removed from the working copy. Otherwise, all items are reverted and their on-disk state changed to match.
If cancel_func is non-NULL, call it with cancel_baton at various points during the reversion process. If it returns an error (typically SVN_ERR_CANCELLED), return that error immediately.
If use_commit_times is TRUE, then all reverted working-files will have their timestamp set to the last-committed-time. If FALSE, the reverted working-files will be touched with the 'now' time.
For each item reverted, notify_func will be called with notify_baton and the path of the reverted item. notify_func may be NULL
if this notification is not needed.
If path is not under version control, return the error SVN_ERR_UNVERSIONED_RESOURCE.
svn_error_t* svn_wc_revision_status | ( | svn_wc_revision_status_t ** | result_p, |
const char * | wc_path, | ||
const char * | trail_url, | ||
svn_boolean_t | committed, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_revision_status2(), but with a (possibly) local path and no wc_ctx parameter.
svn_error_t* svn_wc_revision_status2 | ( | svn_wc_revision_status_t ** | result_p, |
svn_wc_context_t * | wc_ctx, | ||
const char * | local_abspath, | ||
const char * | trail_url, | ||
svn_boolean_t | committed, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
apr_pool_t * | result_pool, | ||
apr_pool_t * | scratch_pool | ||
) |
Set *result_p to point to a new svn_wc_revision_status_t structure containing a summary of the revision range and status of the working copy at local_abspath (not including "externals").
local_abspath must be absolute. Return SVN_ERR_WC_PATH_NOT_FOUND if local_abspath is not a working copy path.
Set (*result_p)->min_rev and (*result_p)->max_rev respectively to the lowest and highest revision numbers in the working copy. If committed is TRUE, summarize the last-changed revisions, else the base revisions.
Set (*result_p)->switched to indicate whether any item in the WC is switched relative to its parent. If trail_url is non-NULL, use it to determine if local_abspath itself is switched. It should be any trailing portion of local_abspath's expected URL, long enough to include any parts that the caller considers might be changed by a switch. If it does not match the end of local_abspath's actual URL, then report a "switched" status.
Set (*result_p)->modified to indicate whether any item is locally modified.
If cancel_func is non-NULL, call it with cancel_baton to determine if the client has canceled the operation.
Allocate *result_p in result_pool, use scratch_pool for temporary allocations.
wc_ctx should be a valid working copy context.
svn_error_t* svn_wc_set_changelist | ( | const char * | path, |
const char * | changelist, | ||
svn_wc_adm_access_t * | adm_access, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_set_changelist2(), but with an access baton and relative path.
svn_error_t* svn_wc_set_changelist2 | ( | svn_wc_context_t * | wc_ctx, |
const char * | local_abspath, | ||
const char * | changelist, | ||
svn_depth_t | depth, | ||
const apr_array_header_t * | changelist_filter, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | scratch_pool | ||
) |
Set local_abspath's 'changelist' attribute to changelist iff changelist is not NULL
; otherwise, remove any current changelist assignment from local_abspath.
changelist may not be the empty string. Recurse to depth.
changelist_filter is an array of const char *
changelist names, used as a restrictive filter on items whose changelist assignments are adjusted; that is, don't tweak the changeset of any item unless it's currently a member of one of those changelists. If changelist_filter is empty (or altogether NULL
), no changelist filtering occurs.
If cancel_func is not NULL
, call it with cancel_baton to determine if the client has canceled the operation.
If notify_func is not NULL
, call it with notify_baton to report the change (using notification types svn_wc_notify_changelist_set and svn_wc_notify_changelist_clear).
Use scratch_pool for temporary allocations.
svn_error_t* svn_wc_text_modified_p | ( | svn_boolean_t * | modified_p, |
const char * | filename, | ||
svn_boolean_t | force_comparison, | ||
svn_wc_adm_access_t * | adm_access, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_text_modified_p2(), but with a relative path and adm_access baton?
svn_error_t* svn_wc_text_modified_p2 | ( | svn_boolean_t * | modified_p, |
svn_wc_context_t * | wc_ctx, | ||
const char * | local_abspath, | ||
svn_boolean_t | unused, | ||
apr_pool_t * | scratch_pool | ||
) |
Set *modified_p to non-zero if local_abspath's text is modified with regard to the base revision, else set *modified_p to zero.
local_abspath is the absolute path to the file.
This function uses some heuristics to avoid byte-by-byte comparisons against the base text (eg. file size and its modification time).
If local_abspath does not exist, consider it unmodified. If it exists but is not under revision control (not even scheduled for addition), return the error SVN_ERR_ENTRY_NOT_FOUND.
unused is ignored.
svn_error_t* svn_wc_upgrade | ( | svn_wc_context_t * | wc_ctx, |
const char * | local_abspath, | ||
svn_wc_upgrade_get_repos_info_t | repos_info_func, | ||
void * | repos_info_baton, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
svn_wc_notify_func2_t | notify_func, | ||
void * | notify_baton, | ||
apr_pool_t * | scratch_pool | ||
) |
Upgrade the working copy at local_abspath to the latest metadata storage format.
local_abspath should be an absolute path to the root of the working copy.
If cancel_func is non-NULL, invoke it with cancel_baton at various points during the operation. If it returns an error (typically SVN_ERR_CANCELLED), return that error immediately.
For each directory converted, notify_func will be called with in notify_baton action svn_wc_notify_upgraded_path and as path the path of the upgraded directory. notify_func may be NULL
if this notification is not needed.
If the old working copy doesn't contain a repository root and/or repository uuid, repos_info_func (if non-NULL) will be called with repos_info_baton to provide the missing information.
svn_error_t* svn_wc_walk_entries | ( | const char * | path, |
svn_wc_adm_access_t * | adm_access, | ||
const svn_wc_entry_callbacks_t * | walk_callbacks, | ||
void * | walk_baton, | ||
svn_boolean_t | show_hidden, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_walk_entries2(), but without cancellation support.
svn_error_t* svn_wc_walk_entries2 | ( | const char * | path, |
svn_wc_adm_access_t * | adm_access, | ||
const svn_wc_entry_callbacks_t * | walk_callbacks, | ||
void * | walk_baton, | ||
svn_boolean_t | show_hidden, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_wc_walk_entries3(), but without cancellation support or error handling from walk_callbacks, and with depth always set to svn_depth_infinity.
svn_error_t* svn_wc_walk_entries3 | ( | const char * | path, |
svn_wc_adm_access_t * | adm_access, | ||
const svn_wc_entry_callbacks2_t * | walk_callbacks, | ||
void * | walk_baton, | ||
svn_depth_t | depth, | ||
svn_boolean_t | show_hidden, | ||
svn_cancel_func_t | cancel_func, | ||
void * | cancel_baton, | ||
apr_pool_t * | pool | ||
) |
A generic entry-walker.
Do a potentially recursive depth-first entry-walk beginning on path, which can be a file or dir. Call callbacks in walk_callbacks, passing walk_baton to each. Use pool for looping, recursion, and to allocate all entries returned. adm_access must be an access baton for path. The pool passed to walk_callbacks is a temporary subpool of pool.
If depth is svn_depth_empty, invoke the callbacks on path and return without recursing further. If svn_depth_files, do the same and invoke the callbacks on file children (if any) of path, then return. If svn_depth_immediates, do the preceding but also invoke callbacks on immediate subdirectories, then return. If svn_depth_infinity, recurse fully starting from path.
If cancel_func is non-NULL, call it with cancel_baton to determine if the client has canceled the operation.
Like our other entries interfaces, entries that are in a 'excluded', 'deleted' or 'absent' state (and not scheduled for re-addition) are not discovered, unless show_hidden is TRUE. Excluded entries are those with their depth set to svn_depth_exclude.
When a new directory is entered, SVN_WC_ENTRY_THIS_DIR will always be returned first.