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,