📄 svn_client.h
字号:
* @deprecated Provided for backward compatibility with the 1.2 API. */svn_error_t *svn_client_import(svn_client_commit_info_t **commit_info_p, const char *path, const char *url, svn_boolean_t nonrecursive, svn_client_ctx_t *ctx, apr_pool_t *pool);/** * Commit files or directories into repository, authenticating with * the authentication baton cached in @a ctx, and using * @a ctx->log_msg_func/@a ctx->log_msg_baton to obtain the log message. * Set @a *commit_info_p to the results of the commit, allocated in @a pool. * * @a targets is an array of <tt>const char *</tt> paths to commit. They * need not be canonicalized nor condensed; this function will take care of * that. If @a targets has zero elements, then do nothing and return * immediately without error. * * If @a ctx->notify_func2 is non-null, then call @a ctx->notify_func2 with * @a ctx->notify_baton2 as the commit progresses, with any of the following * actions: @c svn_wc_notify_commit_modified, @c svn_wc_notify_commit_added, * @c svn_wc_notify_commit_deleted, @c svn_wc_notify_commit_replaced, * @c svn_wc_notify_commit_postfix_txdelta. * * If @a recurse is false, subdirectories of directories in @a targets * will be ignored. * * Unlock paths in the repository, unless @a keep_locks is true. * * Use @a pool for any temporary allocations. * * If no error is returned and @a (*commit_info_p)->revision is set to * @c SVN_INVALID_REVNUM, then the commit was a no-op; nothing needed to * be committed. * * @since New in 1.3. */svn_error_t *svn_client_commit3(svn_commit_info_t **commit_info_p, const apr_array_header_t *targets, svn_boolean_t recurse, svn_boolean_t keep_locks, svn_client_ctx_t *ctx, apr_pool_t *pool);/** Similar to svn_client_commit3(), but uses @c svn_client_commit_info_t * for @a commit_info_p. * * @deprecated Provided for backward compatibility with the 1.2 API. * * @since New in 1.2. */svn_error_t *svn_client_commit2(svn_client_commit_info_t **commit_info_p, const apr_array_header_t *targets, svn_boolean_t recurse, svn_boolean_t keep_locks, svn_client_ctx_t *ctx, apr_pool_t *pool);/** * Similar to svn_client_commit2(), but with @a keep_locks set to * true and a @a nonrecursive argument instead of "recurse". * * @deprecated Provided for backward compatibility with the 1.1 API. */svn_error_t *svn_client_commit(svn_client_commit_info_t **commit_info_p, const apr_array_header_t *targets, svn_boolean_t nonrecursive, svn_client_ctx_t *ctx, apr_pool_t *pool);/** * Given @a path to a working copy directory (or single file), call * @a status_func/status_baton with a set of @c svn_wc_status_t * * structures which describe the status of @a path and its children. * * - If @a recurse is non-zero, recurse fully, else do only * immediate children. * * - If @a get_all is set, retrieve all entries; otherwise, * retrieve only "interesting" entries (local mods and/or * out-of-date). * * - If @a update is set, contact the repository and augment the * status structures with information about out-of-dateness (with * respect to @a revision). Also, if @a result_rev is not @c NULL, * set @a *result_rev to the actual revision against which the * working copy was compared (@a *result_rev is not meaningful unless * @a update is set). * * If @a ignore_externals is not set, then recurse into externals * definitions (if any exist) after handling the main target. This * calls the client notification function (in @a ctx) with the @c * svn_wc_notify_status_external action before handling each externals * definition, and with @c svn_wc_notify_status_completed * after each. * * @since New in 1.2. */svn_error_t *svn_client_status2(svn_revnum_t *result_rev, const char *path, const svn_opt_revision_t *revision, svn_wc_status_func2_t status_func, void *status_baton, svn_boolean_t recurse, svn_boolean_t get_all, svn_boolean_t update, svn_boolean_t no_ignore, svn_boolean_t ignore_externals, svn_client_ctx_t *ctx, apr_pool_t *pool);/** * Similar to svn_client_status2(), but with the @a ignore_externals * parameter always set to @c FALSE, and taking a deprecated * svn_wc_status_func_t argument, and requiring @a *revision to be * non-const even though it is treated as constant. * * @deprecated Provided for backward compatibility with the 1.1 API. */svn_error_t *svn_client_status(svn_revnum_t *result_rev, const char *path, svn_opt_revision_t *revision, svn_wc_status_func_t status_func, void *status_baton, svn_boolean_t recurse, svn_boolean_t get_all, svn_boolean_t update, svn_boolean_t no_ignore, svn_client_ctx_t *ctx, apr_pool_t *pool);/** * Invoke @a receiver with @a receiver_baton on each log message from @a * start to @a end in turn, inclusive (but never invoke @a receiver on a * given log message more than once). * * @a targets contains either a URL followed by zero or more relative * paths, or a list of working copy paths, as <tt>const char *</tt>, * for which log messages are desired. The repository info is * determined by taking the common prefix of the target entries' URLs. * @a receiver is invoked only on messages whose revisions involved a * change to some path in @a targets. @a peg_revision indicates in * which revision @a targets are valid. If @a peg_revision is @c * svn_opt_revision_unspecified, it defaults to @c * svn_opt_revision_head for URIs or @c svn_opt_revision_working for * WC targets. * * If @a limit is non-zero only invoke @a receiver on the first @a limit * logs. * * If @a discover_changed_paths is set, then the `@a changed_paths' argument * to @a receiver will be passed on each invocation. * * If @a strict_node_history is set, copy history (if any exists) will * not be traversed while harvesting revision logs for each target. * * If @a start->kind or @a end->kind is @c svn_opt_revision_unspecified, * return the error @c SVN_ERR_CLIENT_BAD_REVISION. * * Use @a pool for any temporary allocation. * * IMPORTANT: A special case for the revision range HEAD:1, which was present * in svn_client_log(), has been removed from svn_client_log2(). Instead, it * is expected that callers will specify the range HEAD:0, to avoid a * SVN_ERR_FS_NO_SUCH_REVISION error when invoked against an empty repository * (i.e. one not containing a revision 1). * * If @a ctx->notify_func2 is non-null, then call @a ctx->notify_func2/baton2 * with a 'skip' signal on any unversioned targets. * * @since New in 1.4. */svn_error_t *svn_client_log3(const apr_array_header_t *targets, const svn_opt_revision_t *peg_revision, const svn_opt_revision_t *start, const svn_opt_revision_t *end, int limit, svn_boolean_t discover_changed_paths, svn_boolean_t strict_node_history, svn_log_message_receiver_t receiver, void *receiver_baton, svn_client_ctx_t *ctx, apr_pool_t *pool);/** * Similar to svn_client_log3(), but with the @c kind field of the @a * peg_revision parameter set to @c svn_opt_revision_unspecified. * * @deprecated Provided for compatibility with the 1.3 API. * @since New in 1.2. */svn_error_t *svn_client_log2(const apr_array_header_t *targets, const svn_opt_revision_t *start, const svn_opt_revision_t *end, int limit, svn_boolean_t discover_changed_paths, svn_boolean_t strict_node_history, svn_log_message_receiver_t receiver, void *receiver_baton, svn_client_ctx_t *ctx, apr_pool_t *pool);/** * Similar to svn_client_log2(), but with the @a limit parameter set to 0, * and the following special case: * * Special case for repositories at revision 0: * * If @a start->kind is @c svn_opt_revision_head, and @a end->kind is * @c svn_opt_revision_number && @a end->number is @c 1, then handle an * empty (no revisions) repository specially: instead of erroring * because requested revision 1 when the highest revision is 0, just * invoke @a receiver on revision 0, passing @c NULL for changed paths and * empty strings for the author and date. This is because that * particular combination of @a start and @a end usually indicates the * common case of log invocation -- the user wants to see all log * messages from youngest to oldest, where the oldest commit is * revision 1. That works fine, except when there are no commits in * the repository, hence this special case. * * @deprecated Provided for backward compatibility with the 1.0 API. */svn_error_t *svn_client_log(const apr_array_header_t *targets, const svn_opt_revision_t *start, const svn_opt_revision_t *end, svn_boolean_t discover_changed_paths, svn_boolean_t strict_node_history, svn_log_message_receiver_t receiver, void *receiver_baton, svn_client_ctx_t *ctx, apr_pool_t *pool);/** * Invoke @a receiver with @a receiver_baton on each line-blame item * associated with revision @a end of @a path_or_url, using @a start * as the default source of all blame. @a peg_revision indicates in * which revision @a path_or_url is valid. If @a peg_revision->kind * is @c svn_opt_revision_unspecified, then it defaults to @c * svn_opt_revision_head for URLs or @c svn_opt_revision_working for * WC targets. * * If @a start->kind or @a end->kind is @c svn_opt_revision_unspecified, * return the error @c SVN_ERR_CLIENT_BAD_REVISION. If either are @c * svn_opt_revision_working, return the error @c * SVN_ERR_UNSUPPORTED_FEATURE. If any of the revisions of @a * path_or_url have a binary mime-type, return the error @c * SVN_ERR_CLIENT_IS_BINARY_FILE, unless @a ignore_mime_type is TRUE, * in which case blame information will be generated regardless of the * MIME types of the revisions. * * Use @a diff_options to determine how to compare different revisions of the * target. * * Use @a pool for any temporary allocation. * * @since New in 1.4. */svn_error_t *svn_client_blame3(const char *path_or_url, const svn_opt_revision_t *peg_revision, const svn_opt_revision_t *start, const svn_opt_revision_t *end, const svn_diff_file_options_t *diff_options, svn_boolean_t ignore_mime_type, svn_client_blame_receiver_t receiver, void *receiver_baton, svn_client_ctx_t *ctx, apr_pool_t *pool);/** Similar to svn_client_blame3(), but with @a diff_options set to * default options as returned by svn_diff_file_options_parse() and * @a ignore_mime_type set to FALSE. * * @deprecated Provided for backwards compatibility with the 1.3 API. * * @since New in 1.2. */svn_error_t *svn_client_blame2(const char *path_or_url, const svn_opt_revision_t *peg_revision, const svn_opt_revision_t *start, const svn_opt_revision_t *end, svn_client_blame_receiver_t receiver, void *receiver_baton, svn_client_ctx_t *ctx, apr_pool_t *pool);/** * Similar to svn_client_blame() except that @a peg_revision is always * the same as @a end. * * @deprecated Provided for backward compatibility with the 1.1 API. */svn_error_t *svn_client_blame(const char *path_or_url, const svn_opt_revision_t *start, const svn_opt_revision_t *end, svn_client_blame_receiver_t receiver, void *receiver_baton, svn_client_ctx_t *ctx, apr_pool_t *pool);/** * Produce diff output which describes the delta between * @a path1/@a revision1 and @a path2/@a revision2. Print the output * of the diff to @a outfile, and any errors to @a errfile. @a path1 * and @a path2 can be either working-copy paths or URLs. * * If either @a revision1 or @a revision2 has an `unspecified' or * unrecognized `kind', return @c SVN_ERR_CLIENT_BAD_REVISION. * * @a path1 and @a path2 must both represent the same node kind -- that * is, if @a path1 is a directory, @a path2 must also be, and if @a path1 * is a file, @a path2 must also be. * * If @a recurse is true (and the @a paths are directories) this will be a * recursive operation. * * Use @a ignore_ancestry to control whether or not items being * diffed will be checked for relatedness first. Unrelated items * are typically transmitted to the editor as a deletion of one thing * and the addition of another, but if this flag is @c TRUE, * unrelated items will be diffed as if they were related. * * If @a no_diff_deleted is true, then no diff output will be * generated on deleted files. * * Generated headers are encoded using @a header_encoding. * * Diff output will not be generated for binary files, unless @a * ignore_content_type is true, in which case diffs will be shown * regardless of the content types.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -