You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2016/06/05 15:03:54 UTC
svn commit: r1746927 [2/8] - in /subversion/branches/authzperf: ./ build/
contrib/client-side/ contrib/client-side/svnmerge/ contrib/hook-scripts/
contrib/server-side/ contrib/server-side/fsfsfixer/fixer/
notes/directory-index/ notes/move-tracking/ sub...
Modified: subversion/branches/authzperf/subversion/include/private/svn_repos_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/include/private/svn_repos_private.h?rev=1746927&r1=1746926&r2=1746927&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/include/private/svn_repos_private.h (original)
+++ subversion/branches/authzperf/subversion/include/private/svn_repos_private.h Sun Jun 5 15:03:52 2016
@@ -152,6 +152,29 @@ svn_repos__retrieve_config(svn_config_t
apr_pool_t *scratch_pool);
/**
+ * Non-deprecated alias for svn_repos_get_logs4.
+ *
+ * Since the mapping of log5 to ra_get_log is would basically duplicate the
+ * log5->log4 adapter, we provide this log4 wrapper that does not create a
+ * deprecation warning.
+ */
+svn_error_t *
+svn_repos__get_logs_compat(svn_repos_t *repos,
+ const apr_array_header_t *paths,
+ svn_revnum_t start,
+ svn_revnum_t end,
+ int limit,
+ svn_boolean_t discover_changed_paths,
+ svn_boolean_t strict_node_history,
+ svn_boolean_t include_merged_revisions,
+ const apr_array_header_t *revprops,
+ svn_repos_authz_func_t authz_read_func,
+ void *authz_read_baton,
+ svn_log_entry_receiver_t receiver,
+ void *receiver_baton,
+ apr_pool_t *pool);
+
+/**
* @defgroup svn_config_pool Configuration object pool API
* @{
*/
Modified: subversion/branches/authzperf/subversion/include/private/svn_sqlite.h
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/include/private/svn_sqlite.h?rev=1746927&r1=1746926&r2=1746927&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/include/private/svn_sqlite.h (original)
+++ subversion/branches/authzperf/subversion/include/private/svn_sqlite.h Sun Jun 5 15:03:52 2016
@@ -555,6 +555,15 @@ svn_sqlite__hotcopy(const char *src_path
const char *dst_path,
apr_pool_t *scratch_pool);
+/* Evaluate the expression EXPR. If any error is returned, close
+ * the connection in DB. */
+#define SVN_SQLITE__ERR_CLOSE(expr, db) do \
+{ \
+ svn_error_t *svn__err = (expr); \
+ if (svn__err) \
+ return svn_error_compose_create(svn__err, svn_sqlite__close(db)); \
+} while (0)
+
#ifdef __cplusplus
}
#endif /* __cplusplus */
Modified: subversion/branches/authzperf/subversion/include/svn_client.h
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/include/svn_client.h?rev=1746927&r1=1746926&r2=1746927&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/include/svn_client.h (original)
+++ subversion/branches/authzperf/subversion/include/svn_client.h Sun Jun 5 15:03:52 2016
@@ -4416,6 +4416,12 @@ typedef enum svn_client_conflict_option_
/* Options for incoming dir add vs local dir 'obstruction' on merge. */
svn_client_conflict_option_merge_incoming_added_dir_merge,
+ svn_client_conflict_option_merge_incoming_added_dir_replace,
+ svn_client_conflict_option_merge_incoming_added_dir_replace_and_merge,
+
+ /* Options for incoming delete vs any */
+ svn_client_conflict_option_incoming_delete_ignore,
+ svn_client_conflict_option_incoming_delete_accept,
} svn_client_conflict_option_id_t;
Modified: subversion/branches/authzperf/subversion/include/svn_fs.h
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/include/svn_fs.h?rev=1746927&r1=1746926&r2=1746927&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/include/svn_fs.h (original)
+++ subversion/branches/authzperf/subversion/include/svn_fs.h Sun Jun 5 15:03:52 2016
@@ -1560,7 +1560,8 @@ typedef struct svn_fs_path_change3_t
} svn_fs_path_change3_t;
-/** Change descriptor.
+/** Similar to #svn_fs_path_change3_t, but with @a node_rev_id and without
+ * path information.
*
* @note Fields may be added to the end of this structure in future
* versions. Therefore, to preserve binary compatibility, users
@@ -1571,7 +1572,10 @@ typedef struct svn_fs_path_change3_t
* by the commit API; this does not mean the new value is different from
* the old value.
*
- * @since New in 1.6. */
+ * @since New in 1.6.
+ *
+ * @deprecated Provided for backwards compatibility with the 1.9 API.
+ */
typedef struct svn_fs_path_change2_t
{
/** node revision id of changed path */
@@ -1712,17 +1716,11 @@ svn_fs_path_change_get(svn_fs_path_chang
* Set @a *iterator to an iterator object, allocated in @a result_pool,
* which will give access to the full list of changed paths under @a root.
* Each call to @a svn_fs_path_change_get will return a new unique path
- * change. The iteration order is undefined and may change even for the
- * same @a root.
+ * change and has amortized O(1) runtime. The iteration order is undefined
+ * and may change even for the same @a root.
*
* If @a root becomes invalid, @a *iterator becomes invalid, too.
*
- * Callers can assume that this function takes time proportional to
- * the amount of data output, and does not need to do tree crawls;
- * however, it is possible that some of the @c node_kind fields in the
- * #svn_fs_path_change3_t * values will be #svn_node_unknown or
- * that and some of the @c copyfrom_known fields will be FALSE.
- *
* Use @a scratch_pool for temporary allocations.
*
* @note The @a *iterator may be a large object and bind limited system
@@ -1737,22 +1735,23 @@ svn_fs_paths_changed3(svn_fs_path_change
apr_pool_t *result_pool,
apr_pool_t *scratch_pool);
-/** Determine what has changed under a @a root.
+/** Same as svn_fs_paths_changed3() but returning all changes in a single,
+ * large data structure and using a single pool for all allocations.
*
* Allocate and return a hash @a *changed_paths2_p containing descriptions
* of the paths changed under @a root. The hash is keyed with
* <tt>const char *</tt> paths, and has #svn_fs_path_change2_t * values.
*
- * Callers can assume that this function takes time proportional to
- * the amount of data output, and does not need to do tree crawls;
- * however, it is possible that some of the @c node_kind fields in the
- * #svn_fs_path_change2_t * values will be #svn_node_unknown or
- * that and some of the @c copyfrom_known fields will be FALSE.
- *
* Use @a pool for all allocations, including the hash and its values.
*
+ * @note Retrieving the #node_rev_id element of #svn_fs_path_change2_t may
+ * be expensive in some FS backends.
+ *
* @since New in 1.6.
+ *
+ * @deprecated Provided for backward compatibility with the 1.9 API.
*/
+SVN_DEPRECATED
svn_error_t *
svn_fs_paths_changed2(apr_hash_t **changed_paths2_p,
svn_fs_root_t *root,
Modified: subversion/branches/authzperf/subversion/include/svn_repos.h
URL: http://svn.apache.org/viewvc/subversion/branches/authzperf/subversion/include/svn_repos.h?rev=1746927&r1=1746926&r2=1746927&view=diff
==============================================================================
--- subversion/branches/authzperf/subversion/include/svn_repos.h (original)
+++ subversion/branches/authzperf/subversion/include/svn_repos.h Sun Jun 5 15:03:52 2016
@@ -2064,64 +2064,22 @@ svn_repos_get_logs5(svn_repos_t *repos,
apr_pool_t *scratch_pool);
/**
- * Invoke @a receiver with @a receiver_baton on each log message from
- * @a start to @a end in @a repos's filesystem. @a start may be greater
- * or less than @a end; this just controls whether the log messages are
- * processed in descending or ascending revision number order.
- *
- * If @a start or @a end is #SVN_INVALID_REVNUM, it defaults to youngest.
- *
- * If @a paths is non-NULL and has one or more elements, then only show
- * revisions in which at least one of @a paths was changed (i.e., if
- * file, text or props changed; if dir, props or entries changed or any node
- * changed below it). Each path is a <tt>const char *</tt> representing
- * an absolute path in the repository. If @a paths is NULL or empty,
- * show all revisions regardless of what paths were changed in those
- * revisions.
- *
- * If @a limit is greater than zero then only invoke @a receiver on the first
- * @a limit logs.
+ * Similar to svn_repos_get_logs5 but using a #svn_log_entry_receiver_t
+ * @a receiver to receive revision properties and changed paths through a
+ * single callback and the @a discover_changed_paths flag to control it.
*
* If @a discover_changed_paths, then each call to @a receiver passes a
* hash mapping paths committed in that revision to information about them
* as the receiver's @a changed_paths argument.
* Otherwise, each call to @a receiver passes NULL for @a changed_paths.
*
- * If @a strict_node_history is set, copy history (if any exists) will
- * not be traversed while harvesting revision logs for each path.
- *
- * If @a include_merged_revisions is set, log information for revisions
- * which have been merged to @a paths will also be returned, unless these
- * revisions are already part of @a start to @a end in @a repos's
- * filesystem, as limited by @a paths. In the latter case those revisions
- * are skipped and @a receiver is not invoked.
- *
- * If @a revprops is NULL, retrieve all revision properties; else, retrieve
- * only the revision properties named by the (const char *) array elements
- * (i.e. retrieve none if the array is empty).
- *
- * If any invocation of @a receiver returns error, return that error
- * immediately and without wrapping it.
- *
- * If @a start or @a end is a non-existent revision, return the error
- * #SVN_ERR_FS_NO_SUCH_REVISION, without ever invoking @a receiver.
- *
- * If optional @a authz_read_func is non-NULL, then use this function
- * (along with optional @a authz_read_baton) to check the readability
- * of each changed-path in each revision about to be "pushed" at
- * @a receiver. If a revision has some changed-paths readable and
- * others unreadable, unreadable paths are omitted from the
- * changed_paths field and only svn:author and svn:date will be
- * available in the revprops field. If a revision has no
- * changed-paths readable at all, then all paths are omitted and no
- * revprops are available.
- *
- * See also the documentation for #svn_log_entry_receiver_t.
- *
- * Use @a pool for temporary allocations.
+ * @see svn_log_entry_receiver_t
*
* @since New in 1.5.
+ *
+ * @deprecated Provided for backward compatibility with the 1.9 API.
*/
+SVN_DEPRECATED
svn_error_t *
svn_repos_get_logs4(svn_repos_t *repos,
const apr_array_header_t *paths,