subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From stef...@apache.org
Subject svn commit: r1462850 [3/14] - in /subversion/branches/fsfs-format7: ./ build/ build/ac-macros/ build/generator/ contrib/client-side/svncopy/ notes/ subversion/bindings/javahl/native/ subversion/bindings/javahl/src/org/apache/subversion/javahl/ subversi...
Date Sat, 30 Mar 2013 20:02:33 GMT
Modified: subversion/branches/fsfs-format7/subversion/include/svn_config.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/svn_config.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/svn_config.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/svn_config.h Sat Mar 30 20:02:27 2013
@@ -62,6 +62,10 @@ typedef struct svn_config_t svn_config_t
  * client configuration files.
  * @{
  */
+
+ /* This list of #defines is intentionally presented as a nested list
+    that matches the in-config hierarchy.  */
+
 #define SVN_CONFIG_CATEGORY_SERVERS        "servers"
 #define SVN_CONFIG_SECTION_GROUPS               "groups"
 #define SVN_CONFIG_SECTION_GLOBAL               "global"
@@ -126,7 +130,8 @@ typedef struct svn_config_t svn_config_t
 /** @since New in 1.8. */
 #define SVN_CONFIG_SECTION_WORKING_COPY         "working-copy"
 /** @since New in 1.8. */
-#define SVN_CONFIG_OPTION_SQLITE_EXCLUSIVE      "exclusive-locking"
+#define SVN_CONFIG_OPTION_SQLITE_EXCLUSIVE          "exclusive-locking"
+/** @since New in 1.8. */
 #define SVN_CONFIG_OPTION_SQLITE_EXCLUSIVE_CLIENTS  "exclusive-locking-clients"
 /** @} */
 
@@ -142,6 +147,8 @@ typedef struct svn_config_t svn_config_t
 #define SVN_CONFIG_OPTION_PASSWORD_DB               "password-db"
 #define SVN_CONFIG_OPTION_REALM                     "realm"
 #define SVN_CONFIG_OPTION_AUTHZ_DB                  "authz-db"
+/** @since New in 1.8. */
+#define SVN_CONFIG_OPTION_GROUPS_DB                 "groups-db"
 /** @since New in 1.7. */
 #define SVN_CONFIG_OPTION_FORCE_USERNAME_CASE       "force-username-case"
 /** @since New in 1.8. */
@@ -150,7 +157,6 @@ typedef struct svn_config_t svn_config_t
 #define SVN_CONFIG_OPTION_USE_SASL                  "use-sasl"
 #define SVN_CONFIG_OPTION_MIN_SSF                   "min-encryption"
 #define SVN_CONFIG_OPTION_MAX_SSF                   "max-encryption"
-#define SVN_CONFIG_OPTION_GROUPS_DB                 "groups-db"
 
 /* For repository password database */
 #define SVN_CONFIG_SECTION_USERS                "users"
@@ -225,8 +231,8 @@ svn_config_create(svn_config_t **cfgp,
  * If @a file does not exist, then if @a must_exist, return an error,
  * otherwise return an empty @c svn_config_t.
  *
- * If @a section_names_case_sensitive is TRUE, populate section name hashes
- * case sensitively, except for the default SVN_CONFIG__DEFAULT_SECTION.
+ * If @a section_names_case_sensitive is @c TRUE, populate section name hashes
+ * case sensitively, except for the default #SVN_CONFIG__DEFAULT_SECTION.
  *
  * @since New in 1.7.
  */
@@ -238,7 +244,7 @@ svn_config_read2(svn_config_t **cfgp,
                  svn_boolean_t section_names_case_sensitive,
                  apr_pool_t *pool);
 
-/** Similar to svn_config_read2, but always passes FALSE to
+/** Similar to svn_config_read2, but always passes @c FALSE to
  * section_names_case_sensitive.
  *
  * @deprecated Provided for backward compatibility with 1.6 API.
@@ -253,8 +259,8 @@ svn_config_read(svn_config_t **cfgp,
 /** Read configuration data from @a stream into @a *cfgp, allocated in
  * @a result_pool.
  *
- * If @a section_names_case_sensitive is TRUE, populate section name hashes
- * case sensitively, except for the default SVN_CONFIG__DEFAULT_SECTION.
+ * If @a section_names_case_sensitive is @c TRUE, populate section name hashes
+ * case sensitively, except for the default #SVN_CONFIG__DEFAULT_SECTION.
  *
  * @since New in 1.8.
  */
@@ -333,12 +339,14 @@ svn_config_set_bool(svn_config_t *cfg,
                     const char *option,
                     svn_boolean_t value);
 
-/** Like svn_config_get(), but for 64 bit signed integers.
+/** Like svn_config_get(), but for 64-bit signed integers.
  *
- * Parses the option as an integer value. Returns an error if the option
- * could not be converted to an integer.
+ * Parses the @a option in @a section of @cfg as an integer value,
+ * setting @a *valuep to the result.  If the option is not found, sets
+ * @a *valuep to @a default_value.  If the option is found but cannot
+ * be converted to an integer, returns an error.
  *
- * @since New in 1.8
+ * @since New in 1.8.
  */
 svn_error_t *
 svn_config_get_int64(svn_config_t *cfg,
@@ -347,11 +355,12 @@ svn_config_get_int64(svn_config_t *cfg,
                      const char *option,
                      apr_int64_t default_value);
 
-/** Like svn_config_set(), but for 64 bit signed integers.
+/** Like svn_config_set(), but for 64-bit signed integers.
  *
- * Sets the option to the signed decimal @a value.
+ * Sets the value of @a option in @a section of @a cfg to the signed
+ * decimal @a value.
  *
- * @since New in 1.8
+ * @since New in 1.8.
  */
 void
 svn_config_set_int64(svn_config_t *cfg,
@@ -382,17 +391,24 @@ svn_config_get_yes_no_ask(svn_config_t *
                           const char *option,
                           const char* default_value);
 
-/** Like svn_config_set(), but for tristate values.
+/** Like svn_config_get_bool(), but for tristate values.
  *
- * Sets the option to 'TRUE'/'FALSE'/'UNKNOWN', depending on @a value.
+ * Set @a *valuep to #svn_tristate_true, #svn_tristate_false, or
+ * #svn_tristate_unknown, depending on the value of @a option in @a
+ * section of @a cfg.  True and false values are the same as for
+ * svn_config_get_bool(); @a unknown_value specifies the option value
+ * allowed for third state (#svn_tristate_unknown).
  *
- * @a unknown_value specifies options value value allowed for third state.
+ * Use @a default_value as the default value if @a option cannot be
+ * found.
  *
  * @since New in 1.8.
  */
 svn_error_t *
-svn_config_get_tristate(svn_config_t *cfg, svn_tristate_t *valuep,
-                        const char *section, const char *option,
+svn_config_get_tristate(svn_config_t *cfg,
+                        svn_tristate_t *valuep,
+                        const char *section,
+                        const char *option,
                         const char *unknown_value,
                         svn_tristate_t default_value);
 

Modified: subversion/branches/fsfs-format7/subversion/include/svn_dav.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/svn_dav.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/svn_dav.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/svn_dav.h Sat Mar 30 20:02:27 2013
@@ -277,12 +277,27 @@ extern "C" {
  * @name Custom (extension) values for the DAV header.
  * Note that although these share the SVN_DAV_PROP_NS_DAV namespace
  * prefix, they are not properties; they are header values.
- *
- * @{ **/
+ * @{
+ */
+
+/* ##################################################################
+ * 
+ *    WARNING:  At least some versions of Microsoft's Web Folders
+ *              WebDAV client implementation are unable to handle
+ *              DAV: headers with values longer than 63 characters,
+ *              so please keep these strings within that limit.
+ * 
+ * ##################################################################
+ */
+
 
 /** Presence of this in a DAV header in an OPTIONS request or response
- * indicates that the transmitter supports @c svn_depth_t. */
-#define SVN_DAV_NS_DAV_SVN_DEPTH SVN_DAV_PROP_NS_DAV "svn/depth"
+ * indicates that the transmitter supports @c svn_depth_t.
+ *
+ * @since New in 1.5.
+ */
+#define SVN_DAV_NS_DAV_SVN_DEPTH\
+            SVN_DAV_PROP_NS_DAV "svn/depth"
 
 /** Presence of this in a DAV header in an OPTIONS request or response
  * indicates that the server knows how to handle merge-tracking
@@ -291,62 +306,85 @@ extern "C" {
  * Note that this says nothing about whether the repository can handle
  * mergeinfo, only whether the server does.  For more information, see
  * mod_dav_svn/version.c:get_vsn_options().
+ *
+ * @since New in 1.5.
  */
-#define SVN_DAV_NS_DAV_SVN_MERGEINFO SVN_DAV_PROP_NS_DAV "svn/mergeinfo"
+#define SVN_DAV_NS_DAV_SVN_MERGEINFO\
+            SVN_DAV_PROP_NS_DAV "svn/mergeinfo"
 
 /** Presence of this in a DAV header in an OPTIONS response indicates
  * that the transmitter (in this case, the server) knows how to send
- * custom revprops in log responses. */
-#define SVN_DAV_NS_DAV_SVN_LOG_REVPROPS SVN_DAV_PROP_NS_DAV "svn/log-revprops"
+ * custom revprops in log responses.
+ *
+ * @since New in 1.5.
+ */
+#define SVN_DAV_NS_DAV_SVN_LOG_REVPROPS\
+            SVN_DAV_PROP_NS_DAV "svn/log-revprops"
 
 /** Presence of this in a DAV header in an OPTIONS response indicates
  * that the transmitter (in this case, the server) knows how to handle
- * a replay of a directory in the repository (not root). */
+ * a replay of a directory in the repository (not root).
+ *
+ * @since New in 1.5.
+ */
 #define SVN_DAV_NS_DAV_SVN_PARTIAL_REPLAY\
             SVN_DAV_PROP_NS_DAV "svn/partial-replay"
 
 /** Presence of this in a DAV header in an OPTIONS response indicates
  * that the transmitter (in this case, the server) knows how to enforce
  * old-value atomicity in PROPPATCH (for editing revprops).
- * @since New in 1.7 */
+ *
+ * @since New in 1.7.
+ */
 #define SVN_DAV_NS_DAV_SVN_ATOMIC_REVPROPS\
             SVN_DAV_PROP_NS_DAV "svn/atomic-revprops"
 
 /** Presence of this in a DAV header in an OPTIONS response indicates
  * that the transmitter (in this case, the server) knows how to get
  * inherited properties. 
- * @since New in 1.8. */
-#define SVN_DAV_NS_DAV_SVN_INHERITED_PROPS \
-  SVN_DAV_PROP_NS_DAV "svn/inherited-props"
+ *
+ * @since New in 1.8.
+ */
+#define SVN_DAV_NS_DAV_SVN_INHERITED_PROPS\
+            SVN_DAV_PROP_NS_DAV "svn/inherited-props"
 
 /** Presence of this in a DAV header in an OPTIONS response indicates
  * that the transmitter (in this case, the server) knows how to
  * properly handle ephemeral (that is, deleted-just-before-commit) FS
  * transaction properties.
- * @since New in 1.8. */
+ *
+ * @since New in 1.8.
+ */
 #define SVN_DAV_NS_DAV_SVN_EPHEMERAL_TXNPROPS\
             SVN_DAV_PROP_NS_DAV "svn/ephemeral-txnprops"
 
 /** Presence of this in a DAV header in an OPTIONS response indicates
- * that the transmitter (in this case, the server) supports serving properties
- * inline in update editor when 'send-all' is 'false'.
- * @since New in 1.8. */
+ * that the transmitter (in this case, the server) supports serving
+ * properties inline in update editor when 'send-all' is 'false'.
+ *
+ * @since New in 1.8.
+ */
 #define SVN_DAV_NS_DAV_SVN_INLINE_PROPS\
             SVN_DAV_PROP_NS_DAV "svn/inline-props"
 
 /** Presence of this in a DAV header in an OPTIONS response indicates
  * that the transmitter (in this case, the server) knows how to handle
  * a replay of a revision resource.  Transmitters must be
- * HTTP-v2-enabled to support this feature.  */
+ * HTTP-v2-enabled to support this feature.
+ *
+ * @since New in 1.8.
+ */
 #define SVN_DAV_NS_DAV_SVN_REPLAY_REV_RESOURCE\
             SVN_DAV_PROP_NS_DAV "svn/replay-rev-resource"
 
 /** Presence of this in a DAV header in an OPTIONS response indicates
  * that the transmitter (in this case, the server) knows how to handle
  * a reversed fetch of file versions.
- * @since New in 1.8. */
-#define SVN_DAV_NS_DAV_SVN_GET_FILE_REVS_REVERSE\
-            SVN_DAV_PROP_NS_DAV "svn/get-file-revs-rvrs"
+ *
+ * @since New in 1.8.
+ */
+#define SVN_DAV_NS_DAV_SVN_REVERSE_FILE_REVS\
+            SVN_DAV_PROP_NS_DAV "svn/reverse-file-revs"
 
 
 /** @} */

Modified: subversion/branches/fsfs-format7/subversion/include/svn_delta.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/svn_delta.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/svn_delta.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/svn_delta.h Sat Mar 30 20:02:27 2013
@@ -1119,70 +1119,6 @@ typedef struct svn_delta_editor_t
 svn_delta_editor_t *
 svn_delta_default_editor(apr_pool_t *pool);
 
-/** Callback to retrieve a node's entire set of properties.  This is
- * needed by the various editor shims in order to effect backward compat.
- *
- * @since New in 1.8.
- */
-typedef svn_error_t *(*svn_delta_fetch_props_func_t)(
-  apr_hash_t **props,
-  void *baton,
-  const char *path,
-  svn_revnum_t base_revision,
-  apr_pool_t *result_pool,
-  apr_pool_t *scratch_pool
-  );
-
-/** Callback to retrieve a node's kind.  This is needed by the various editor
- * shims in order to effect backward compat.
- *
- * @since New in 1.8.
- */
-typedef svn_error_t *(*svn_delta_fetch_kind_func_t)(
-  svn_kind_t *kind,
-  void *baton,
-  const char *path,
-  svn_revnum_t base_revision,
-  apr_pool_t *scratch_pool
-  );
-
-/** Callback to fetch the FILENAME of a file to use as the delta base for
- * PATH.  The file should last at least as long as RESULT_POOL.  If the base
- * stream is empty, return NULL through FILENAME.
- *
- * @since New in 1.8.
- */
-typedef svn_error_t *(*svn_delta_fetch_base_func_t)(
-  const char **filename,
-  void *baton,
-  const char *path,
-  svn_revnum_t base_revision,
-  apr_pool_t *result_pool,
-  apr_pool_t *scratch_pool
-  );
-
-/** Collection of callbacks used for the shim code.  To enable this struct
- * to grow, always use svn_delta_shim_callbacks_default()
- * to allocate new instances of it.
- *
- * @since New in 1.8.
- */
-typedef struct svn_delta_shim_callbacks_t
-{
-  svn_delta_fetch_props_func_t fetch_props_func;
-  svn_delta_fetch_kind_func_t fetch_kind_func;
-  svn_delta_fetch_base_func_t fetch_base_func;
-  void *fetch_baton;
-} svn_delta_shim_callbacks_t;
-
-/** Return a collection of default shim functions in @a result_pool.
- *
- * @since New in 1.8.
- */
-svn_delta_shim_callbacks_t *
-svn_delta_shim_callbacks_default(apr_pool_t *result_pool);
-
-
 /** A text-delta window handler which does nothing.
  *
  * Editors can return this handler from @c apply_textdelta if they don't

Modified: subversion/branches/fsfs-format7/subversion/include/svn_error.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/svn_error.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/svn_error.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/svn_error.h Sat Mar 30 20:02:27 2013
@@ -210,7 +210,7 @@ void
 svn_error_clear(svn_error_t *error);
 
 
-#if defined(SVN_DEBUG)
+#if defined(SVN_ERR__TRACING)
 /** Set the error location for debug mode. */
 void
 svn_error__locate(const char *file,
@@ -461,10 +461,22 @@ svn_error_t *svn_error_purge_tracing(svn
     abort();                                                 \
   } while (1)
 
-/** Like SVN_ERR_ASSERT(), but append ERR to the returned error chain.
+/** Check that a condition is true: if not, report an error (appending
+ * ERR if non-NULL) and possibly terminate the program.
  *
- * If EXPR is false, return a malfunction error whose chain includes ERR.
- * If EXPR is true, do nothing.  (In particular, this does not clear ERR.)
+ * If the boolean expression @a expr is true, do nothing. Otherwise,
+ * act as determined by the current "malfunction handler" which may have
+ * been specified by a call to svn_error_set_malfunction_handler() or else
+ * is the default handler as specified in that function's documentation. If
+ * the malfunction handler returns, then cause the function using this macro
+ * to return the error object that it generated.
+ *
+ * @note The intended use of this macro is to check a condition that cannot
+ * possibly be false unless there is a bug in the program.
+ *
+ * @note The condition to be checked should not be computationally expensive
+ * if it is reached often, as, unlike traditional "assert" statements, the
+ * evaluation of this expression is not compiled out in release-mode builds.
  *
  * Types: (svn_boolean_t expr, svn_error_t *err)
  *
@@ -485,38 +497,13 @@ svn_error_t *svn_error_purge_tracing(svn
   } while (0)
 #endif
 
-
-/** Check that a condition is true: if not, report an error and possibly
- * terminate the program.
- *
- * If the Boolean expression @a expr is true, do nothing. Otherwise,
- * act as determined by the current "malfunction handler" which may have
- * been specified by a call to svn_error_set_malfunction_handler() or else
- * is the default handler as specified in that function's documentation. If
- * the malfunction handler returns, then cause the function using this macro
- * to return the error object that it generated.
- *
- * @note The intended use of this macro is to check a condition that cannot
- * possibly be false unless there is a bug in the program.
+/** Like SVN_ERR_ASSERT_E(), but with @a err always NULL.
  *
- * @note The condition to be checked should not be computationally expensive
- * if it is reached often, as, unlike traditional "assert" statements, the
- * evaluation of this expression is not compiled out in release-mode builds.
+ * @see SVN_ERR_ASSERT_E()
  *
  * @since New in 1.6.
- *
- * @see SVN_ERR_ASSERT_E()
  */
-#ifdef __clang_analyzer__
-#include <assert.h>
-#define SVN_ERR_ASSERT(expr)       assert((expr))
-#else
-#define SVN_ERR_ASSERT(expr)                                            \
-  do {                                                                  \
-    if (!(expr))                                                        \
-      SVN_ERR(svn_error__malfunction(TRUE, __FILE__, __LINE__, #expr)); \
-  } while (0)
-#endif
+#define SVN_ERR_ASSERT(expr)       SVN_ERR_ASSERT_E(expr, NULL)
 
 /** Similar to SVN_ERR_ASSERT(), but without the option of returning
  * an error to the calling function.

Modified: subversion/branches/fsfs-format7/subversion/include/svn_error_codes.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/svn_error_codes.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/svn_error_codes.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/svn_error_codes.h Sat Mar 30 20:02:27 2013
@@ -788,12 +788,12 @@ SVN_ERROR_START
              "The filesystem editor completion process was not followed")
 
   /** @since New in 1.8. */
-  SVN_ERRDEF(SVN_ERR_FS_PACKED_REPPROP_READ_FAILURE,
+  SVN_ERRDEF(SVN_ERR_FS_PACKED_REVPROP_READ_FAILURE,
              SVN_ERR_FS_CATEGORY_START + 51,
              "A packed revprop could not be read")
 
   /** @since New in 1.8. */
-  SVN_ERRDEF(SVN_ERR_FS_REPPROP_CACHE_INIT_FAILURE,
+  SVN_ERRDEF(SVN_ERR_FS_REVPROP_CACHE_INIT_FAILURE,
              SVN_ERR_FS_CATEGORY_START + 52,
              "Could not initialize the revprop caching infrastructure.")
 
@@ -1058,7 +1058,8 @@ SVN_ERROR_START
   SVN_ERRDEF(SVN_ERR_RA_SERF_SSL_CERT_UNTRUSTED,
              SVN_ERR_RA_SERF_CATEGORY_START + 1,
              "Server SSL certificate untrusted")
-  /** @since New in 1.7. */
+  /** @since New in 1.7.
+      @deprecated GSSAPI now handled by serf rather than libsvn_ra_serf. */
   SVN_ERRDEF(SVN_ERR_RA_SERF_GSSAPI_INITIALISATION_FAILED,
              SVN_ERR_RA_SERF_CATEGORY_START + 2,
              "Initialization of the GSSAPI context failed")
@@ -1453,12 +1454,12 @@ SVN_ERROR_START
   /** @since New in 1.8. */
   SVN_ERRDEF(SVN_ERR_TOO_MANY_MEMCACHED_SERVERS,
              SVN_ERR_MISC_CATEGORY_START + 36,
-             "too many memcached servers configured")
+             "Too many memcached servers configured")
 
   /** @since New in 1.8. */
   SVN_ERRDEF(SVN_ERR_MALFORMED_VERSION_STRING,
              SVN_ERR_MISC_CATEGORY_START + 37,
-             "failed to parse version number string")
+             "Failed to parse version number string")
 
   /** @since New in 1.8. */
   SVN_ERRDEF(SVN_ERR_CORRUPTED_ATOMIC_STORAGE,

Modified: subversion/branches/fsfs-format7/subversion/include/svn_fs.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/svn_fs.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/svn_fs.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/svn_fs.h Sat Mar 30 20:02:27 2013
@@ -95,6 +95,24 @@ typedef struct svn_fs_t svn_fs_t;
  */
 #define SVN_FS_CONFIG_FSFS_CACHE_REVPROPS       "fsfs-cache-revprops"
 
+/** Select the cache namespace.  If you potentially share the cache with
+ * another FS object for the same repository, objects read through one FS
+ * will not need to be read again for the other.  In most cases, that is
+ * a very desirable behavior and the default is, therefore, an empty
+ * namespace.
+ *
+ * If you want to be sure that your FS instance will actually read all
+ * requested data at least once, you need to specify a separate namespace
+ * for it.  All repository verification code, for instance, should use
+ * some GUID here that is different each time you open an FS instance.
+ *
+ * @since New in 1.8.
+ */
+#define SVN_FS_CONFIG_FSFS_CACHE_NS             "fsfs-cache-namespace"               
+
+/* Note to maintainers: if you add further SVN_FS_CONFIG_FSFS_CACHE_* knobs,
+   update fs_fs.c:verify_as_revision_before_current_plus_plus(). */
+
 /* See also svn_fs_type(). */
 /** @since New in 1.1. */
 #define SVN_FS_CONFIG_FS_TYPE                   "fs-type"
@@ -283,73 +301,6 @@ typedef void (*svn_fs_progress_notify_fu
                                               apr_pool_t *pool);
 
 /**
- * Perform backend-specific data consistency and correctness validations
- * to the Subversion filesystem (mainly the meta-data) located in the
- * directory @a path.  Use @a scratch_pool for temporary allocations.
- *
- * @a start and @a end are used to limit the amount of checks being done
- * to data that is relevant to that range of revisions.  However, this is
- * only a lower limit to the actual amount of checks being done.  The
- * backend may not even be able to limit the errors begin reported.
- * @a start and @a end may be #SVN_INVALID_REVNUM, in which case
- * svn_repos_verify_fs2()'s semantics apply.  When @c r0 is being
- * verified, global invariants may be verified as well.
- *
- * The optional @a notify_func callback is only a general feedback that
- * the operation is still in process but may be called in random revisions
- * order and more than once for the same revision, i.e. r2, r1, r2 would
- * be a valid sequence.
- *
- * The optional @a cancel_func callback will be invoked as usual to allow
- * the user to preempt this potentially lengthy operation.
- *
- * @note You probably don't want to use this directly.  Take a look at
- * svn_repos_verify_fs2() instead, which does non-backend-specific
- * verifications as well.
- *
- * @note To ensure a full verification using all tests and covering all
- * revisions, you must call this function *and* #svn_fs_verify_rev.
- * 
- * @note Implementors, please do tests that can be done efficiently for
- * a single revision to #svn_fs_verify_rev.  This function is meant for
- * global checks or tests that require an expensive context setup.
- *
- * @since New in 1.8.
- */
-svn_error_t *
-svn_fs_verify(const char *path,
-              svn_revnum_t start,
-              svn_revnum_t end,
-              svn_fs_progress_notify_func_t notify_func,
-              void *notify_baton,
-              svn_cancel_func_t cancel_func,
-              void *cancel_baton,
-              apr_pool_t *scratch_pool);
-
-/**
- * Perform backend-specific data consistency and correctness validations
- * to revision @a revision of the Subversion filesystem @a fs.
- * Use @a scratch_pool for temporary allocations.
- *
- * @note You probably don't want to use this directly.  Take a look at
- * svn_repos_verify_fs2() instead, which does non-backend-specific
- * verifications as well.
- *
-* @note To ensure a full verification using all tests and covering all
- * revisions, you must call this function *and* #svn_fs_verify.
- *
- * @note Implementors, please do tests that cannot be done efficiently for
- * a single revision to #svn_fs_verify.  This function is meant for local
- * checks that don't require an expensive context setup.
- *
- * @since New in 1.8.
- */
-svn_error_t *
-svn_fs_verify_rev(svn_fs_t *fs,
-                  svn_revnum_t revision,
-                  apr_pool_t *scratch_pool);
-
-/**
  * Return, in @a *fs_type, a string identifying the back-end type of
  * the Subversion filesystem located in @a path.  Allocate @a *fs_type
  * in @a pool.
@@ -400,9 +351,10 @@ svn_fs_delete_fs(const char *path,
  * means deleting copied, unused logfiles for a Berkeley DB source
  * filesystem.
  *
- * If @a incremental is TRUE, make an effort to not re-copy information
- * already present in the destination. If incremental hotcopy is not
- * implemented, raise SVN_ERR_UNSUPPORTED_FEATURE.
+ * If @a incremental is TRUE, make an effort to avoid re-copying
+ * information already present in the destination where possible.  If
+ * incremental hotcopy is not implemented, raise
+ * #SVN_ERR_UNSUPPORTED_FEATURE.
  *
  * Use @a scratch_pool for temporary allocations.
  *
@@ -418,8 +370,8 @@ svn_fs_hotcopy2(const char *src_path,
                 apr_pool_t *scratch_pool);
 
 /**
- * Like svn_fs_hotcopy2(), but without the @a incremental parameter
- * and without cancellation support.
+ * Like svn_fs_hotcopy2(), but with @a incremental always passed as @c
+ * TRUE and without cancellation support.
  *
  * @deprecated Provided for backward compatibility with the 1.7 API.
  * @since New in 1.1.
@@ -479,7 +431,9 @@ svn_fs_recover(const char *path,
  *
  * @note The BDB backend doesn't implement this feature so most
  * callers should not call this function directly but should use the
- * higher level #svn_repos_freeze instead.
+ * higher level svn_repos_freeze() instead.
+ *
+ * @see svn_repos_freeze()
  *
  * @since New in 1.8.
  */
@@ -1655,10 +1609,10 @@ svn_fs_closest_copy(svn_fs_root_t **root
  * @a inherit indicates whether to retrieve explicit,
  * explicit-or-inherited, or only inherited mergeinfo.
  *
- * If @a adjust_inherited_mergeinfo is TRUE, then any inherited
+ * If @a adjust_inherited_mergeinfo is @c TRUE, then any inherited
  * mergeinfo returned in @a *catalog is normalized to represent the
- * inherited mergeinfo on the path doing the inheriting.  If
- * @a adjust_inherited_mergeinfo is FALSE, then any inherited
+ * inherited mergeinfo on the path which inherits it.  If
+ * @a adjust_inherited_mergeinfo is @c FALSE, then any inherited
  * mergeinfo is the raw explicit mergeinfo from the nearest parent
  * of the path with explicit mergeinfo, unadjusted for the path-wise
  * difference between the path and its parent.  This may include
@@ -1688,7 +1642,7 @@ svn_fs_get_mergeinfo2(svn_mergeinfo_cata
 
 /**
  * Same as svn_fs_get_mergeinfo2(), but with @a adjust_inherited_mergeinfo
- * set always set to TRUE and only one pool.
+ * set always set to @c TRUE and with only one pool.
  *
  * @deprecated Provided for backward compatibility with the 1.5 API.
  */
@@ -1946,11 +1900,11 @@ svn_fs_file_contents(svn_stream_t **cont
                      apr_pool_t *pool);
 
 /**
- * Callback function type that gets presented with a immutable non-NULL
- * @a contents of @a len bytes.  Further parameters may be passed through
- * in @a baton.
+ * Callback function type used with svn_fs_try_process_file_contents()
+ * that delivers the immutable, non-NULL @a contents of @a len bytes.
+ * @a baton is an implementation-specific closure.
  *
- * Allocations must be made in @a pool.
+ * Use @a scratch_pool for allocations.
  *
  * @since New in 1.8.
  */
@@ -1958,18 +1912,17 @@ typedef svn_error_t *
 (*svn_fs_process_contents_func_t)(const unsigned char *contents,
                                   apr_size_t len,
                                   void *baton,
-                                  apr_pool_t *pool);
+                                  apr_pool_t *scratch_pool);
 
-/** Attempts to efficiently provide the contents of the file @a path in
- * @a root.  If that succeeds, @a *success will be set to #TRUE and the
- * contents will be passed to the the @a processor along with the given
- * @a baton.  Allocations take place in @a pool.
+/** Efficiently deliver the contents of the file @a path in @a root
+ * via @a processor (with @a baton), setting @a *success to @c TRUE
+ * upon doing so.  Use @a pool for allocations.
  *
  * This function is intended to support zero copy data processing.  It may
  * not be implemented for all data backends or not applicable for certain
- * content.  In that case, @a *success will always be #FALSE.  Also, this
- * is a best-effort function which means there is no guarantee that e.g.
- * @a processor gets called at for any content.
+ * content.  In that case, @a *success will always be @c FALSE.  Also, this
+ * is a best-effort function which means that there is no guarantee that
+ * @a processor gets called at all for some content.
  *
  * @note @a processor is expected to be relatively short function with
  * at most O(content size) runtime.
@@ -2485,6 +2438,85 @@ svn_fs_pack(const char *db_path,
             apr_pool_t *pool);
 
 
+/**
+ * Perform backend-specific data consistency and correctness validations
+ * to the Subversion filesystem (mainly the meta-data) located in the
+ * directory @a path.  Use @a scratch_pool for temporary allocations.
+ *
+ * Repository (meta) data forms a tightly knit network of references.
+ * A full check can be expensive and may not always be required.  If not
+ * equal to #SVN_INVALID_REVNUM, @a start and @a end define the range of
+ * revisions to check, @c r0 and @a HEAD being the respective defaults.
+ * Due to the references among repository (meta) data, the implementation
+ * may however need to also check elements that are not strictly part of
+ * the selected range of revisions.  Thus, it is perfectly legal for a FS
+ * implementation to ignore the @a start and @a end parameters entirely.
+ * 
+ * Only if @c r0 has been included in the range of revisions to check,
+ * are global invariants guaranteed to get verified.
+ *
+ * The optional @a notify_func callback is only a general feedback that
+ * the operation is still in process but may be called in random revisions
+ * order and more than once for the same revision, i.e. r2, r1, r2 would
+ * be a valid sequence.
+ *
+ * The optional @a cancel_func callback will be invoked as usual to allow
+ * the user to preempt this potentially lengthy operation.
+ *
+ * @note You probably don't want to use this directly.  Take a look at
+ * svn_repos_verify_fs2() instead, which does non-backend-specific
+ * verifications as well.
+ *
+ * @note To ensure a full verification using all tests and covering all
+ * revisions, you must call this function *and* #svn_fs_verify_rev.
+ * 
+ * @note Implementors, please do tests that can be done efficiently for
+ * a single revision in #svn_fs_verify_root.  This function is meant for
+ * global checks or tests that require an expensive context setup.
+ *
+ * @see svn_repos_verify_fs2()
+ * @see svn_fs_verify_root()
+ *
+ * @since New in 1.8.
+ */
+svn_error_t *
+svn_fs_verify(const char *path,
+              svn_revnum_t start,
+              svn_revnum_t end,
+              svn_fs_progress_notify_func_t notify_func,
+              void *notify_baton,
+              svn_cancel_func_t cancel_func,
+              void *cancel_baton,
+              apr_pool_t *scratch_pool);
+
+/**
+ * Perform backend-specific data consistency and correctness validations
+ * of @a root in the Subversion filesystem @a fs.  @a root is typically
+ * a revision root (see svn_fs_revision_root()), but may be a
+ * transaction root.  Use @a scratch_pool for temporary allocations.
+ *
+ * @note You probably don't want to use this directly.  Take a look at
+ * svn_repos_verify_fs2() instead, which does non-backend-specific
+ * verifications as well.
+ *
+ * @note To ensure a full verification using all available tests and
+ * covering all revisions, you must call both this function and
+ * #svn_fs_verify.
+ *
+ * @note Implementors, please perform tests that cannot be done
+ * efficiently for a single revision in #svn_fs_verify.  This function
+ * is intended for local checks that don't require an expensive context
+ * setup.
+ *
+ * @see svn_repos_verify_fs2()
+ * @see svn_fs_verify()
+ *
+ * @since New in 1.8.
+ */
+svn_error_t *
+svn_fs_verify_root(svn_fs_root_t *root,
+                   apr_pool_t *scratch_pool);
+
 /** @} */
 
 

Modified: subversion/branches/fsfs-format7/subversion/include/svn_io.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/svn_io.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/svn_io.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/svn_io.h Sat Mar 30 20:02:27 2013
@@ -617,6 +617,8 @@ svn_io_filesizes_different_p(svn_boolean
  * definitely different.  That is, if the size of one or both files
  * cannot be determined (due to stat() returning an error), then the sizes
  * are not known to be different, so @a *different_p12 is set to 0.
+ *
+ * @since New in 1.8.
  */
 svn_error_t *
 svn_io_filesizes_three_different_p(svn_boolean_t *different_p12,
@@ -664,7 +666,10 @@ svn_io_files_contents_same_p(svn_boolean
 /** Set @a *same12 to TRUE if @a file1 and @a file2 have the same
  * contents, else set it to FALSE.  Do the similar for @a *same23 
  * with @a file2 and @a file3, and @a *same13 for @a file1 and @a 
- * file3.  Use @a pool for temporary allocations.
+ * file3. The filenames @a file1, @a file2 and @a file3 are
+ * utf8-encoded. Use @a scratch_pool for temporary allocations.
+ *
+ * @since New in 1.8.
  */
 svn_error_t *
 svn_io_files_contents_three_same_p(svn_boolean_t *same12,
@@ -761,7 +766,7 @@ svn_io_lock_open_file(apr_file_t *lockfi
  * Unlock the file @a lockfile_handle.
  *
  * Use @a pool for memory allocations. @a pool must be the pool that
- * @a lockfile_handle has been created in or one of its sub-pools.
+ * was passed to svn_io_lock_open_file().
  *
  * @since New in 1.8.
  */
@@ -1674,17 +1679,20 @@ svn_io_dir_walk(const char *dirname,
  *
  * If @a inherit is TRUE, the invoked program inherits its environment from
  * the caller and @a cmd, if not absolute, is searched for in PATH.
- * Otherwise, the invoked program runs with an empty environment and @a cmd
- * must be an absolute path.
  *
- * If @a inherit is FALSE and @a env is not NULL, the invoked program
- * inherits the environment defined by @a env, instead of an empty
- * environment or the caller's environment.
+ * If @a inherit is FALSE @a cmd must be an absolute path and the invoked
+ * program inherits the environment defined by @a env or runs with an empty
+ * environment in @a env is NULL.
  *
  * @note On some platforms, failure to execute @a cmd in the child process
  * will result in error output being written to @a errfile, if non-NULL, and
  * a non-zero exit status being returned to the parent process.
  *
+ * @note An APR bug affects Windows: passing a NULL @a env does not
+ * guarantee the invoked program to run with an empty environment when 
+ * @a inherits is FALSE, the program may inherit its parent's environment.
+ * Explicitly pass an empty @env to get an empty environment.
+ *
  * @since New in 1.8.
  */
 svn_error_t *svn_io_start_cmd3(apr_proc_t *cmd_proc,

Modified: subversion/branches/fsfs-format7/subversion/include/svn_mergeinfo.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/svn_mergeinfo.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/svn_mergeinfo.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/svn_mergeinfo.h Sat Mar 30 20:02:27 2013
@@ -315,8 +315,8 @@ svn_rangelist_diff(svn_rangelist_t **del
  * in sorted order and be compacted to the minimal number of ranges
  * needed to represent the merged result.
  *
- * If the original rangelisted contain non collapsed adjacent ranges, the
- * final result is not guaranteed to be compacted either.
+ * If the original rangelist contains non-collapsed adjacent ranges,
+ * the final result is not guaranteed to be compacted either.
  *
  * Use @a scratch_pool for temporary allocations.
  *

Modified: subversion/branches/fsfs-format7/subversion/include/svn_path.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/svn_path.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/svn_path.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/svn_path.h Sat Mar 30 20:02:27 2013
@@ -677,10 +677,9 @@ svn_path_cstring_to_utf8(const char **pa
  * @{
  */
 
-
 /**
- * Return true iff @a path is a repository-relative URL: specifically that
- * it starts with the characters "^/"
+ * Return @c TRUE iff @a path is a repository-relative URL:  specifically
+ * that it starts with the characters "^/"
  *
  * @a path is in UTF-8 encoding.
  *
@@ -694,22 +693,20 @@ svn_path_is_repos_relative_url(const cha
 
 /**
  * Set @a absolute_url to the absolute URL represented by @a relative_url
- * relative to @a repos_root_url.  @a absolute_url will be allocated in
- * @a pool.
- *
- * @a absolute_url will end with a peg revision specifier if @a relative_url
- * did.
+ * relative to @a repos_root_url, preserving any peg revision
+ * specifier present in @a relative_url.  Allocate @a absolute_url
+ * from @a pool.
  *
  * @a relative_url is in repository-relative syntax: "^/[REL-URL][@PEG]"
  *
- * @a repos_root_url is the absolute url of the repository root.
+ * @a repos_root_url is the absolute URL of the repository root.
  *
  * All strings are in UTF-8 encoding.
  *
  * @a repos_root_url and @a relative_url do not have to be properly
- * URI-encoded, canonical, or valid in any other way.  The caller is expected
- * to perform canonicalization on @a absolute_url after the call to the
- * function.
+ * URI-encoded, canonical, or valid in any other way.  The caller is
+ * expected to perform canonicalization on @a absolute_url after the
+ * call to the function.
  *
  * @since New in 1.8.
  */
@@ -719,7 +716,6 @@ svn_path_resolve_repos_relative_url(cons
                                     const char *repos_root_url,
                                     apr_pool_t *pool);
 
-
 /** @} */
 
 #ifdef __cplusplus

Modified: subversion/branches/fsfs-format7/subversion/include/svn_pools.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/svn_pools.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/svn_pools.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/svn_pools.h Sat Mar 30 20:02:27 2013
@@ -90,14 +90,17 @@ svn_pool_create_ex_debug(pool, allocator
  * new allocator to #SVN_ALLOCATOR_RECOMMENDED_MAX_FREE and ensures
  * proper synchronization if the allocator is used by multiple threads.
  *
- * If your application uses multiple threads, creating a separate allocator
- * for each of these threads may not be feasible. Set the @a thread_safe
- * parameter to @c TRUE in that case.  Pools will still not thread-safe, i.e.
- * access to them may require explicit serialization.  Set the parameter to
- * @c FALSE, otherwise, to maximize performance.
+ * If your application uses multiple threads, creating a separate
+ * allocator for each of these threads may not be feasible.  Set the
+ * @a thread_safe parameter to @c TRUE in that case; otherwise, set @a
+ * thread_safe to @c FALSE to maximize performance.
  *
- * To access the owner pool, which can also serve as the root pool for your
- * sub-pools, call @c apr_allocator_get_owner().
+ * @note Even if @a thread_safe is @c TRUE, pools themselves will
+ * still not be thread-safe and their access may require explicit
+ * serialization.
+ *
+ * To access the owner pool, which can also serve as the root pool for
+ * your sub-pools, call @c apr_allocator_get_owner().
  *
  * @since: New in 1.8
  */

Modified: subversion/branches/fsfs-format7/subversion/include/svn_props.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/svn_props.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/svn_props.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/svn_props.h Sat Mar 30 20:02:27 2013
@@ -91,12 +91,15 @@ svn_prop_array_dup(const apr_array_heade
  */
 typedef struct svn_prop_inherited_item_t
 {
-  /** The absolute working copy path, relative filesystem path, or URL from
-   * which the properties in @a prop_hash are inherited. */
+  /** The absolute working copy path, relative filesystem path, or URL
+   * from which the properties in @a prop_hash are inherited.  (For
+   * details about which path specification format is in use for a
+   * particular instance of this structure, consult the documentation
+   * for the API which produced it.) */
   const char *path_or_url;
 
-  /** A hash of (const char *) inherited property names, and (svn_string_t *)
-   * property values. */
+  /** A hash of (<tt>const char *</tt>) inherited property names, and
+   * (<tt>svn_string_t *</tt>) property values. */
   apr_hash_t *prop_hash;
 
 } svn_prop_inherited_item_t;
@@ -169,7 +172,7 @@ typedef enum svn_prop_kind
 
 /** Return the property kind of a property named @a prop_name.
  *
- * @since New in 1.8
+ * @since New in 1.8.
  */
 svn_prop_kind_t
 svn_property_kind2(const char *prop_name);
@@ -208,58 +211,58 @@ svn_prop_has_svn_prop(const apr_hash_t *
 /** Return @c TRUE iff @a prop_name is a Subversion property whose
  * value is interpreted as a boolean.
  *
- * @since New in 1.5
+ * @since New in 1.5.
  */
 svn_boolean_t
 svn_prop_is_boolean(const char *prop_name);
 
 /** Return @c TRUE iff @a prop_name is in the "svn:" name space and is a
- * known revision property.  For example, svn:log or svn:date.
+ * known revision property ("svn:log" or "svn:date", e.g.).
  *
- * This will return FALSE for any property name that is not known by this
+ * This will return @c FALSE for any property name that is not known by this
  * version of the library, even though the name may be known to other (for
  * example, later) Subversion software.
  *
- * @since New in 1.8
+ * @since New in 1.8.
  */
 svn_boolean_t
 svn_prop_is_known_svn_rev_prop(const char *prop_name);
 
 /** Return @c TRUE iff @a prop_name is in the "svn:" name space and is a
- * known versioned property that is allowed on a file and/or on a directory.
- * For example, svn:eol-style or svn:ignore or svn:mergeinfo.
+ * known versioned property that is allowed on a file and/or on a
+ * directory ("svn:eol-style", "svn:ignore", or "svn:mergeinfo", e.g.).
  *
- * This will return FALSE for any property name that is not known by this
- * version of the library, even though the name may be known to other (for
- * example, later) Subversion software.
+ * This will return @c FALSE for any property name that is not known
+ * by this version of the library, even though the name may be known
+ * to other (for example, later) Subversion software.
  *
- * @since New in 1.8
+ * @since New in 1.8.
  */
 svn_boolean_t
 svn_prop_is_known_svn_node_prop(const char *prop_name);
 
-/** Return @c TRUE iff @a prop_name is in the "svn:" name space and is a
- * known versioned property that is allowed on a file.  For example,
- * svn:eol-style or svn:mergeinfo.
- *
- * This will return FALSE for any property name that is not known by this
- * version of the library, even though the name may be known to other (for
- * example, later) Subversion software.
+/** Return @c TRUE iff @a prop_name is in the "svn:" name space and is
+ * a known versioned property that is allowed on a file
+ * ("svn:eol-style" or "svn:mergeinfo", e.g.).
+ *
+ * This will return @c FALSE for any property name that is not known
+ * by this version of the library, even though the name may be known
+ * to other (for example, later) Subversion software.
  *
- * @since New in 1.8
+ * @since New in 1.8.
  */
 svn_boolean_t
 svn_prop_is_known_svn_file_prop(const char *prop_name);
 
-/** Return @c TRUE iff @a prop_name represents the name of a Subversion
- * known versioned property that is allowed on a directory.  For example,
- * svn:ignore or svn:mergeinfo.
+/** Return @c TRUE iff @a prop_name is in the "svn:" name space and is
+ * a known versioned property that is allowed on a directory
+ * ("svn:ignore" or "svn:mergeinfo", e.g.).
+ *
+ * This will return @c FALSE for any property name that is not known
+ * by this version of the library, even though the name may be known
+ * to other (for example, later) Subversion software.
  *
- * This will return FALSE for any property name that is not known by this
- * version of the library, even though the name may be known to other (for
- * example, later) Subversion software.
- *
- * @since New in 1.8
+ * @since New in 1.8.
  */
 svn_boolean_t
 svn_prop_is_known_svn_dir_prop(const char *prop_name);
@@ -486,9 +489,10 @@ svn_prop_name_is_valid(const char *prop_
 /** @} */ /* Meta-data properties */
 
 /**
- * This is a list of all user-vixible and -settable versioned node properties.
+ * This is a list of all user-visible and -settable versioned node
+ * properties.
  *
- * @since New in 1.8
+ * @since New in 1.8.
  */
 #define SVN_PROP_NODE_ALL_PROPS SVN_PROP_MIME_TYPE, \
                                 SVN_PROP_IGNORE, \
@@ -662,19 +666,25 @@ svn_prop_name_is_valid(const char *prop_
  */
 
 /** The prefix used for all (ephemeral) transaction properties.
- * @since New in 1.8. */
+ *
+ * @since New in 1.8.
+ */
 #define SVN_PROP_TXN_PREFIX  SVN_PROP_PREFIX "txn-"
 
 /** Identifies the client version compability level.  For clients
  * compiled against Subversion libraries, this is @c SVN_VER_NUMBER.
  * Third-party implementations are advised to use similar formatting
  * for values of this property.
- * @since New in 1.8. */
+ *
+ * @since New in 1.8.
+ */
 #define SVN_PROP_TXN_CLIENT_COMPAT_VERSION \
             SVN_PROP_TXN_PREFIX "client-compat-version"
     
 /** Identifies the client's user agent string, if any.
- * @since New in 1.8. */
+ *
+ * @since New in 1.8.
+ */
 #define SVN_PROP_TXN_USER_AGENT \
             SVN_PROP_TXN_PREFIX "user-agent"
 
@@ -685,7 +695,9 @@ svn_prop_name_is_valid(const char *prop_
  * to new properties named @c SVN_PROP_REVISION_PREFIX + "something",
  * allowing that information to survive the commit-time removal of
  * ephemeral transaction properties.
- * @since New in 1.8. */
+ *
+ * @since New in 1.8.
+ */
 #define SVN_PROP_REVISION_PREFIX  SVN_PROP_PREFIX "revision-"
 
 

Modified: subversion/branches/fsfs-format7/subversion/include/svn_ra.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/svn_ra.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/svn_ra.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/svn_ra.h Sat Mar 30 20:02:27 2013
@@ -1078,7 +1078,7 @@ svn_ra_get_mergeinfo(svn_ra_session_t *s
                      apr_pool_t *pool);
 
 /**
- * Ask the RA layer to update a working copy.
+ * Ask the RA layer to update a working copy to a new revision.
  *
  * The client initially provides an @a update_editor/@a update_baton to the
  * RA layer; this editor contains knowledge of where the change will
@@ -1120,6 +1120,11 @@ svn_ra_get_mergeinfo(svn_ra_session_t *s
  * needed, and sending too much data back, a pre-1.5 'recurse'
  * directive may be sent to the server, based on @a depth.
  *
+ * @note This differs from calling svn_ra_do_switch3() with the current
+ * URL of the target node.  Update changes only the revision numbers,
+ * leaving any switched subtrees still switched, whereas switch changes
+ * every node in the tree to a child of the same URL.
+ *
  * @since New in 1.5.
  */
 svn_error_t *
@@ -1156,35 +1161,14 @@ svn_ra_do_update(svn_ra_session_t *sessi
 
 
 /**
- * Ask the RA layer to 'switch' a working copy to a new
- * @a switch_url;  it's another form of svn_ra_do_update().
+ * Ask the RA layer to switch a working copy to a new revision and URL.
  *
- * The client initially provides a @a switch_editor/@a switch_baton to the RA
- * layer; this editor contains knowledge of where the change will
- * begin in the working copy (when open_root() is called).
+ * This is similar to svn_ra_do_update2(), but also changes the URL of
+ * every node in the target tree to a child of the @a switch_url.  In
+ * contrast, update changes only the revision numbers, leaving any
+ * switched subtrees still switched.
  *
- * In return, the client receives a @a reporter/@a report_baton.  The
- * client then describes its working copy by making calls into the
- * @a reporter.
- *
- * When finished, the client calls @a reporter->finish_report().  The
- * RA layer then does a complete drive of @a switch_editor, ending with
- * close_edit(), to switch the working copy.
- *
- * @a switch_target is an optional single path component will restrict
- * the scope of things affected by the switch to an entry in the
- * directory represented by the @a session's URL, or empty if the
- * entire directory is meant to be switched.
- *
- * Switch the target only as deeply as @a depth indicates.
- *
- * The working copy will be switched to @a revision_to_switch_to, or the
- * "latest" revision if this arg is invalid.
- *
- * If @a send_copyfrom_args is TRUE, then ask the server to send
- * copyfrom arguments to add_file() and add_directory() when possible.
- * (Note: this means that any subsequent txdeltas coming from the
- * server are presumed to apply against the copied file!)
+ * The other differences from svn_ra_do_update2() are:
  *
  * Use @a ignore_ancestry to control whether or not items being
  * switched will be checked for relatedness first.  Unrelated items
@@ -1192,21 +1176,9 @@ svn_ra_do_update(svn_ra_session_t *sessi
  * and the addition of another, but if this flag is @c TRUE,
  * unrelated items will be diffed as if they were related.
  *
- * The caller may not perform any RA operations using
- * @a session before finishing the report, and may not perform
- * any RA operations using @a session from within the editing
- * operations of @a switch_editor.
- *
  * Use @a result_pool for memory allocation and @a scratch_pool for
  * temporary work.
  *
- * @note The reporter provided by this function does NOT supply copy-
- * from information to the diff editor callbacks.
- *
- * @note In order to prevent pre-1.5 servers from doing more work than
- * needed, and sending too much data back, a pre-1.5 'recurse'
- * directive may be sent to the server, based on @a depth.
- *
  * @note Pre Subversion 1.8 svnserve based servers always ignore ancestry
  * and never send copyfrom data.
  *

Modified: subversion/branches/fsfs-format7/subversion/include/svn_ra_svn.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/svn_ra_svn.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/svn_ra_svn.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/svn_ra_svn.h Sat Mar 30 20:02:27 2013
@@ -224,15 +224,6 @@ typedef enum svn_ra_svn_cmd_t
   svn_ra_svn_cmd__last
 } svn_ra_svn_cmd_t;
 
-/**
- * Set the shim callbacks to be used by @a conn to @a shim_callbacks.
- *
- * @note This is a private API, external consumers should not use it.
- */
-svn_error_t *
-svn_ra_svn__set_shim_callbacks(svn_ra_svn_conn_t *conn,
-                               svn_delta_shim_callbacks_t *shim_callbacks);
-
 /** Initialize a connection structure for the given socket or
  * input/output files.
  *
@@ -240,6 +231,14 @@ svn_ra_svn__set_shim_callbacks(svn_ra_sv
  * @a compression_level specifies the desired network data compression
  * level (zlib) from 0 (no compression) to 9 (best but slowest).
  *
+ * If @a zero_copy_limit is not 0, cached file contents smaller than the
+ * given limit may be sent directly to the network socket.  Otherwise,
+ * it will be copied into a temporary buffer before being forwarded to
+ * the network stack.  Since the zero-copy code path has to enforce strict
+ * time-outs, the receiver must be able to process @a zero_copy_limit
+ * bytes within one second.  Even temporary failure to do so may cause
+ * the server to cancel the respective operation with a time-out error.
+ *
  * To reduce the overhead of checking for cancellation requests from the
  * data receiver, set @a error_check_interval to some non-zero value.
  * It defines the number of bytes that must have been sent since the last
@@ -301,14 +300,17 @@ svn_boolean_t
 svn_ra_svn_has_capability(svn_ra_svn_conn_t *conn,
                           const char *capability);
 
-/** Return the data compression level to use for network transmissions
+/** Return the data compression level to use for network transmissions.
  *
  * @since New in 1.7.
  */
 int
 svn_ra_svn_compression_level(svn_ra_svn_conn_t *conn);
 
-/** Return the zero-copy data block limit to use for network transmissions
+/** Return the zero-copy data block limit to use for network
+ * transmissions.
+ *
+ * @see http://en.wikipedia.org/wiki/Zero-copy
  *
  * @since New in 1.8.
  */

Modified: subversion/branches/fsfs-format7/subversion/include/svn_repos.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/svn_repos.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/svn_repos.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/svn_repos.h Sat Mar 30 20:02:27 2013
@@ -248,7 +248,7 @@ typedef enum svn_repos_notify_action_t
   svn_repos_notify_load_skipped_rev,
 
   /** The structure of a revision is being verified.  @since New in 1.8. */
-  svn_repos_notify_verify_struc_rev
+  svn_repos_notify_verify_rev_structure
 
 } svn_repos_notify_action_t;
 
@@ -536,8 +536,8 @@ svn_repos_hotcopy2(const char *src_path,
                    apr_pool_t *pool);
 
 /**
- * Like svn_repos_hotcopy2(), but without the @a incremental parameter
- * and without cancellation support.
+ * Like svn_repos_hotcopy2(), but with @a incremental always passed as
+ * @c FALSE and without cancellation support.
  *
  * @deprecated Provided for backward compatibility with the 1.6 API.
  */
@@ -658,11 +658,11 @@ svn_repos_recover(const char *path,
 
 /**
  * Take an exclusive lock on each of the repositories in @a paths to
- * prevent commits and then while holding all the locks invoke
- * @a freeze_body passing @a baton.  The repositories may be readable
- * by Subversion while frozen, or it may be unreadable, depending on
- * which FS backend the repository uses.  Repositories are locked
- * in array order from zero.
+ * prevent commits and then while holding all the locks invoke @a
+ * freeze_body passing @a baton.  Each repository may be readable by
+ * Subversion while frozen, or may be unreadable, depending on which
+ * FS backend the repository uses.  Repositories are locked in the
+ * order in which they are specified in the array.
  *
  * @since New in 1.8.
  */
@@ -783,20 +783,23 @@ const char *
 svn_repos_post_unlock_hook(svn_repos_t *repos,
                            apr_pool_t *pool);
 
-/** Set the environment that @a repos's hooks will inherit.
- * The environment is specified in a file at @a hooks_env_path.
- * If @a hooks_env_path is @c NULL, the file is searched at its
- * default location in the repository. If @a hooks_env_path is
- * not absolute, it specifies a path relative to the parent of
- * the file's default location in the repository.
+/** Specify that Subversion should consult the configuration file
+ * located at @a hooks_env_path to determine how to setup the
+ * environment for hook scripts invoked for the repository @a repos.
+ * As a special case, if @a hooks_env_path is @c NULL, look for the
+ * file in its default location within the repository disk structure.
+ * If @a hooks_env_path is not absolute, it specifies a path relative
+ * to the parent of the file's default location.
+ *
+ * @a result_pool should be the same pool that @a repos was allocated in.
+ * Use @a scratch_pool for temporary allocations.
+ *
+ * If this function is not called, or if the specified configuration
+ * file does not define any environment variables, hooks will run in
+ * an empty environment.
  *
- * The @a result_pool should be the same pool that @a repos was allocated in.
- * The @a scratch_pool is used for temporary allocations.
- *
- * If this function is not called, or if the file does not list any
- * environment variables, hooks will run in an empty environment.
- *
- * @since New in 1.8. */
+ * @since New in 1.8.
+ */
 svn_error_t *
 svn_repos_hooks_setenv(svn_repos_t *repos,
                        const char *hooks_env_path,
@@ -847,12 +850,13 @@ svn_repos_hooks_setenv(svn_repos_t *repo
  * avoid sending data through @a editor/@a edit_baton which is not
  * authorized for transmission.
  *
- * @a zero_copy_limit controls up to which size in bytes data blocks may
- * be sent using the zero-copy code path.  On that path, a number of
- * in-memory copy operations have been eliminated to maximize throughput.
- * However, until the whole block has been pushed to the network stack,
- * other clients may get blocked.  Thus, be careful when using larger
- * values here.  0 disables the optimization.
+ * @a zero_copy_limit controls the maximum size (in bytes) at which
+ * data blocks may be sent using the zero-copy code path.  On that
+ * path, a number of in-memory copy operations have been eliminated to
+ * maximize throughput.  However, until the whole block has been
+ * pushed to the network stack, other clients block, so be careful
+ * when using larger values here.  Pass 0 for @a zero_copy_limit to
+ * disable this optimization altogether.
  *
  * @a note Never activate this optimization if @a editor might access
  * any FSFS data structures (and, hence, caches).  So, it is basically
@@ -911,8 +915,8 @@ svn_repos_begin_report3(void **report_ba
                         apr_pool_t *pool);
 
 /**
- * The same as svn_repos_begin_report3(), but setting the @a zero_copy_limit
- * to 0.
+ * The same as svn_repos_begin_report3(), but with @a zero_copy_limit
+ * always passed as 0.
  *
  * @since New in 1.5.
  * 
@@ -1219,6 +1223,8 @@ svn_repos_abort_report(void *report_bato
  * ### reporter instead; there are some stray references to the
  * ### svn_repos_dir_delta[2] in comments which should probably
  * ### actually refer to the reporter.
+ *
+ * @since New in 1.5.
  */
 svn_error_t *
 svn_repos_dir_delta2(svn_fs_root_t *src_root,
@@ -3161,21 +3167,6 @@ svn_repos_get_fs_build_parser(const svn_
  */
 typedef struct svn_authz_t svn_authz_t;
 
-/** 
- * Similar to svn_repos_authz_read2(), but without support for
- * authz files stored in a Subversion repository (absolute or
- * relative URLs) and without the @a repos_root argument.
- *
- * @since New in 1.3.
- * @deprecated Provided for backward compatibility with the 1.7 API.
- */
-SVN_DEPRECATED
-svn_error_t *
-svn_repos_authz_read(svn_authz_t **authz_p,
-                     const char *file,
-                     svn_boolean_t must_exist,
-                     apr_pool_t *pool);
-
 /**
  * Read authz configuration data from @a path (a file, repos relative
  * url, an absolute file url, or a registry path) into @a *authz_p,
@@ -3194,7 +3185,7 @@ svn_repos_authz_read(svn_authz_t **authz
  * the root of the repository the authz configuration will be used with.
  * The same applies to @a groups_path if it is being used.
  *
- * @since New in 1.8
+ * @since New in 1.8.
  */
 svn_error_t *
 svn_repos_authz_read2(svn_authz_t **authz_p,
@@ -3205,13 +3196,27 @@ svn_repos_authz_read2(svn_authz_t **auth
                       apr_pool_t *pool);
 
 
+/** 
+ * Similar to svn_repos_authz_read2(), but with @a groups_path and @a
+ * repos_root always passed as @c NULL.
+ *
+ * @since New in 1.3.
+ * @deprecated Provided for backward compatibility with the 1.7 API.
+ */
+SVN_DEPRECATED
+svn_error_t *
+svn_repos_authz_read(svn_authz_t **authz_p,
+                     const char *file,
+                     svn_boolean_t must_exist,
+                     apr_pool_t *pool);
+
 /**
  * Read authz configuration data from @a stream into @a *authz_p,
  * allocated in @a pool.
  *
  * If @a groups_stream is set, use the global groups parsed from it.
  *
- * @since New in 1.8
+ * @since New in 1.8.
  */
 svn_error_t *
 svn_repos_authz_parse(svn_authz_t **authz_p,

Modified: subversion/branches/fsfs-format7/subversion/include/svn_sorts.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/svn_sorts.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/svn_sorts.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/svn_sorts.h Sat Mar 30 20:02:27 2013
@@ -209,6 +209,8 @@ svn_sort__array_delete(apr_array_header_
                        int elements_to_delete);
 
 /* Reverse the order of elements in @a array, in place.
+ *
+ * @note Private. For use by Subversion's own code only.
  */
 void
 svn_sort__array_reverse(apr_array_header_t *array,

Modified: subversion/branches/fsfs-format7/subversion/include/svn_string.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/svn_string.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/svn_string.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/svn_string.h Sat Mar 30 20:02:27 2013
@@ -336,6 +336,8 @@ svn_stringbuf_appendcstr(svn_stringbuf_t
  * Reallocs if necessary. @a str is affected, nothing else is.
  *
  * @note The inserted string may be a sub-range if @a str.
+ *
+ * @since New in 1.8.
  */
 void
 svn_stringbuf_insert(svn_stringbuf_t *str,
@@ -348,17 +350,25 @@ svn_stringbuf_insert(svn_stringbuf_t *st
  * at @a pos.  If the latter is larger or equal to @c str->pos, this will
  * be a no-op.  Otherwise, the resulting string will be @c str->len-count
  * bytes long.
+ *
+ * @since New in 1.8.
  */
 void
 svn_stringbuf_remove(svn_stringbuf_t *str,
                      apr_size_t pos,
                      apr_size_t count);
 
-/** Faster but functionally equivalent to the following sequence:
+/** Replace in @a str the substring which starts at @a pos and is @a
+ * old_count bytes long with a new substring @a bytes (which is @a
+ * new_count bytes long).
+ *
+ * This is faster but functionally equivalent to the following sequence:
  * @code
- *   svn_stringbuf_remove(str, pos, old_count);
- *   svn_stringbuf_insert(str, pos, bytes, new_count);
+     svn_stringbuf_remove(str, pos, old_count);
+     svn_stringbuf_insert(str, pos, bytes, new_count);
  * @endcode
+ *
+ * @since New in 1.8.
  */
 void
 svn_stringbuf_replace(svn_stringbuf_t *str,
@@ -455,7 +465,7 @@ svn_cstring_match_list(const char *str, 
  * if no token is left.  Modifies @a str such that the next call will return
  * the next token.
  *
- * Note that the content of @a *str may be modified by this function.
+ * @note The content of @a *str may be modified by this function.
  *
  * @since New in 1.8.
  */

Modified: subversion/branches/fsfs-format7/subversion/include/svn_types.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/svn_types.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/svn_types.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/svn_types.h Sat Mar 30 20:02:27 2013
@@ -29,6 +29,7 @@
 
 /* ### this should go away, but it causes too much breakage right now */
 #include <stdlib.h>
+#include <limits.h> /* for ULONG_MAX */
 
 #include <apr.h>         /* for apr_size_t, apr_int64_t, ... */
 #include <apr_errno.h>   /* for apr_status_t */
@@ -216,33 +217,7 @@ svn__apr_hash_index_val(const apr_hash_i
 
 
 
-/** A node kind.
- *
- * @since New in 1.8. Replaces svn_node_kind_t.
- */
-typedef enum svn_kind_t
-{
-  /** something's here, but we don't know what */
-  svn_kind_unknown,
-
-  /** absent */
-  svn_kind_none,
-
-  /** regular file */
-  svn_kind_file,
-
-  /** directory */
-  svn_kind_dir,
-
-  /** symbolic link */
-  svn_kind_symlink
-
-} svn_kind_t;
-
-/** The various types of nodes in the Subversion filesystem.
- *
- * This type is superseded by #svn_kind_t and will be deprecated when
- * transition to the new type is complete. */
+/** The various types of nodes in the Subversion filesystem. */
 typedef enum svn_node_kind_t
 {
   /** absent */
@@ -255,7 +230,14 @@ typedef enum svn_node_kind_t
   svn_node_dir,
 
   /** something's here, but we don't know what */
-  svn_node_unknown
+  svn_node_unknown,
+
+  /**
+   * symbolic link
+   * @note This value is not currently used by the public API.
+   * @since New in 1.8.
+   */
+  svn_node_symlink
 } svn_node_kind_t;
 
 /** Return a constant string expressing @a kind as an English word, e.g.,
@@ -277,24 +259,6 @@ svn_node_kind_to_word(svn_node_kind_t ki
 svn_node_kind_t
 svn_node_kind_from_word(const char *word);
 
-/** Return the #svn_node_kind_t corresponding to the given #svn_kind_t;
- * #svn_kind_symlink will become #svn_node_file.
- *
- * @since New in 1.8.
- */
-svn_node_kind_t
-svn__node_kind_from_kind(svn_kind_t kind);
-
-/** Return the #svn_kind_t corresponding to the given #svn_node_kind_t,
- * or #svn_kind_symlink if @a is_symlink is true.
- *
- * @since New in 1.8.
- */
-svn_kind_t
-svn__kind_from_node_kind(svn_node_kind_t kind,
-                         svn_boolean_t is_symlink);
-
-
 
 /** Generic three-state property to represent an unknown value for values
  * that are just like booleans.  The values have been set deliberately to

Modified: subversion/branches/fsfs-format7/subversion/include/svn_utf.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/svn_utf.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/svn_utf.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/svn_utf.h Sat Mar 30 20:02:27 2013
@@ -238,7 +238,9 @@ svn_utf_cstring_from_utf8_string(const c
 
 /** Return the display width of UTF-8-encoded C string @a cstr.
  * If the string is not printable or invalid UTF-8, return -1.
- * @since New in 1.8. */
+ *
+ * @since New in 1.8.
+ */
 int
 svn_utf_cstring_utf8_width(const char *cstr);
 

Modified: subversion/branches/fsfs-format7/subversion/include/svn_version.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/svn_version.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/svn_version.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/svn_version.h Sat Mar 30 20:02:27 2013
@@ -258,7 +258,7 @@ svn_subr_version(void);
 
 
 /**
- * Extended version infomation, including info about the running system.
+ * Extended version information, including info about the running system.
  *
  * @since New in 1.8.
  */
@@ -266,7 +266,7 @@ typedef struct svn_version_extended_t sv
 
 /**
  * Return version information for the running program.  If @a verbose
- * is true, collect extra information that may be expensive to
+ * is #TRUE, collect extra information that may be expensive to
  * retrieve (for example, the OS release name, list of shared
  * libraries, etc.).  Use @a pool for all allocations.
  *

Modified: subversion/branches/fsfs-format7/subversion/include/svn_wc.h
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/include/svn_wc.h?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/include/svn_wc.h (original)
+++ subversion/branches/fsfs-format7/subversion/include/svn_wc.h Sat Mar 30 20:02:27 2013
@@ -1253,7 +1253,7 @@ typedef enum svn_wc_notify_action_t
 
   /** A move in the working copy has been broken, i.e. degraded into a
    * copy + delete. The notified path is the move source (the deleted path).
-   * ### Provide path to move destination as well?
+   * ### TODO: Provide path to move destination as well?
    * @since New in 1.8. */
   svn_wc_notify_move_broken
 
@@ -1672,10 +1672,10 @@ typedef struct svn_wc_conflict_version_t
   const char *path_in_repos;
   /** @} */
 
-  /** The node kind.  Can be any kind, even 'none' or 'unknown'. */
+  /** The node kind.  Can be any kind, including 'none' or 'unknown'. */
   svn_node_kind_t node_kind;
 
-  /** UUID of the repository. Can be NULL meaning unknown.
+  /** UUID of the repository (or NULL if unknown.)
    * @since New in 1.8. */
   const char *repos_uuid;
 
@@ -3740,7 +3740,7 @@ typedef struct svn_wc_status3_t
    * @since New in 1.8. */
   const char *moved_to_abspath;
 
-  /** TRUE iff the item is a file brought in by an svn:externals definition.
+  /** @c TRUE iff the item is a file brought in by an svn:externals definition.
    * @since New in 1.8. */
   svn_boolean_t file_external;
 
@@ -4570,9 +4570,13 @@ svn_wc_add_from_disk2(svn_wc_context_t *
 
 
 /**
- * Similar to svn_wc_add4(), but gives the new node an empty set of properties.
+ * Similar to svn_wc_add_from_disk2(), but always passes NULL for @a
+ * props.
  *
- * This is a replacement for svn_wc_add4() case 2a.
+ * This is a replacement for svn_wc_add4() case 2a (which see for
+ * details).
+
+ * @see svn_wc_add4()
  *
  * @since New in 1.7.
  * @deprecated Provided for backward compatibility with the 1.7 API.
@@ -5457,7 +5461,7 @@ svn_wc_crawl_revisions(const char *path,
 svn_error_t *
 svn_wc_check_root(svn_boolean_t *is_wcroot,
                   svn_boolean_t *is_switched,
-                  svn_kind_t *kind,
+                  svn_node_kind_t *kind,
                   svn_wc_context_t *wc_ctx,
                   const char *local_abspath,
                   apr_pool_t *scratch_pool);
@@ -5671,6 +5675,10 @@ typedef svn_error_t *(*svn_wc_dirents_fu
  * the ambient depth filtering, so this doesn't have to be handled in the
  * editor.
  *
+ * If @a clean_checkout is TRUE, assume that we are checking out into an
+ * empty directory, and so bypass a number of conflict checks that are
+ * unnecessary in this case.
+ *
  * If @a fetch_dirents_func is not NULL, the update editor may call this
  * callback, when asked to perform a depth restricted update. It will do this
  * before returning the editor to allow using the primary ra session for this.
@@ -6760,13 +6768,13 @@ typedef enum svn_wc_merge_outcome_t
  * svn_diff_file_options_parse()).  @a merge_options must contain
  * <tt>const char *</tt> elements.
  *
- * If @a merge_props_state is non-NULL @a prop_diff is merged before
- * merging the text. (If @a merge_props_state is NULL, no property changes
- * are merged and @a prop_diff is only used to determine the merge result)
- * The result of the property merge is stored in @a *merge_props_state. If
- * there is a conflict and @a dry_run is @c FALSE, then attempt to call @a
- * conflict_func with @a conflict_baton (if non-NULL).  If the conflict
- * callback cannot resolve the conflict, then a property conflict is installed.
+ * If @a merge_props_state is non-NULL, merge @a prop_diff into the
+ * working properties before merging the text.  (If @a merge_props_state
+ * is NULL, do not merge any property changes; in this case, @a prop_diff
+ * is only used to help determine the text merge result.)  Handle any
+ * conflicts as described for svn_wc_merge_props3(), with the parameters
+ * @a dry_run, @a conflict_func and @a conflict_baton.  Return the
+ * outcome of the property merge in @a *merge_props_state.
  *
  * The outcome of the text merge is returned in @a *merge_content_outcome. If
  * there is a conflict and @a dry_run is @c FALSE, then attempt to call @a
@@ -6840,9 +6848,12 @@ svn_wc_merge5(enum svn_wc_merge_outcome_
               void *cancel_baton,
               apr_pool_t *scratch_pool);
 
-/** Similar to svn_wc_merge5() but doesn't merge property changes. Instead of
- * handling this in a single operation, a separate call to svn_wc_merge_props3()
- * before calling svn_wc_merge4() is needed
+/** Similar to svn_wc_merge5() but with @a merge_props_state and @a
+ * original_props always passed as NULL.
+ *
+ * Unlike svn_wc_merge5(), this function doesn't merge property
+ * changes.  Callers of this function must first use
+ * svn_wc_merge_props3() to get this functionality.
  *
  * @since New in 1.7.
  * @deprecated Provided for backwards compatibility with the 1.7 API.
@@ -6953,9 +6964,12 @@ svn_wc_merge(const char *left,
  * If @a state is non-NULL, set @a *state to the state of the properties
  * after the merge.
  *
- * If conflicts are found when merging working properties, they are
- * described in a temporary .prej file (or appended to an already-existing
- * .prej file), and the entry is marked "conflicted".
+ * If a conflict is found when merging a property, and @a dry_run is
+ * false and @a conflict_func is not null, then call @a conflict_func
+ * with @a conflict_baton and a description of the conflict.  If any
+ * conflicts are not resolved by such callbacks, describe the unresolved
+ * conflicts in a temporary .prej file (or append to an already-existing
+ * .prej file) and mark the path as conflicted in the WC DB.
  *
  * If @a cancel_func is non-NULL, invoke it with @a cancel_baton at various
  * points during the operation.  If it returns an error (typically
@@ -8113,7 +8127,7 @@ svn_wc_exclude(svn_wc_context_t *wc_ctx,
  * Set @a kind to the #svn_node_kind_t of @a abspath.  Use @a wc_ctx to access
  * the working copy, and @a scratch_pool for all temporary allocations.
  *
- * If @a abspath is not under version control, set @a kind to #svn_kind_none.
+ * If @a abspath is not under version control, set @a kind to #svn_node_none.
  *
  * If @a show_hidden and @a show_deleted are both @c FALSE, the kind of
  * scheduled for delete, administrative only 'not present' and excluded
@@ -8143,8 +8157,8 @@ svn_wc_read_kind2(svn_node_kind_t *kind,
                   svn_boolean_t show_hidden,
                   apr_pool_t *scratch_pool);
 
-/** Similar to svn_wc_read_kind2() but always shows deleted nodes and returns
- * the result as a #svn_node_kind_t.
+/** Similar to svn_wc_read_kind2() but with @a show_deleted always
+ * passed as TRUE.
  *
  * @since New in 1.7.
  * @deprecated Provided for backward compatibility with the 1.7 API.

Modified: subversion/branches/fsfs-format7/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c (original)
+++ subversion/branches/fsfs-format7/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c Sat Mar 30 20:02:27 2013
@@ -32,6 +32,7 @@
 #include "svn_auth.h"
 #include "svn_config.h"
 #include "svn_error.h"
+#include "svn_hash.h"
 #include "svn_pools.h"
 
 #include "private/svn_auth_private.h"
@@ -243,13 +244,11 @@ ensure_gnome_keyring_is_unlocked(svn_boo
   if (! non_interactive)
     {
       svn_auth_gnome_keyring_unlock_prompt_func_t unlock_prompt_func =
-        apr_hash_get(parameters,
-                     SVN_AUTH_PARAM_GNOME_KEYRING_UNLOCK_PROMPT_FUNC,
-                     APR_HASH_KEY_STRING);
+        svn_hash_gets(parameters,
+                      SVN_AUTH_PARAM_GNOME_KEYRING_UNLOCK_PROMPT_FUNC);
       void *unlock_prompt_baton =
-        apr_hash_get(parameters,
-                     SVN_AUTH_PARAM_GNOME_KEYRING_UNLOCK_PROMPT_BATON,
-                     APR_HASH_KEY_STRING);
+        svn_hash_gets(parameters,
+                      SVN_AUTH_PARAM_GNOME_KEYRING_UNLOCK_PROMPT_BATON);
 
       char *keyring_password;
 
@@ -298,9 +297,7 @@ password_get_gnome_keyring(svn_boolean_t
 
   SVN_ERR(ensure_gnome_keyring_is_unlocked(non_interactive, parameters, pool));
 
-  if (! apr_hash_get(parameters,
-                     "gnome-keyring-opening-failed",
-                     APR_HASH_KEY_STRING))
+  if (! svn_hash_gets(parameters, "gnome-keyring-opening-failed"))
     {
       result = gnome_keyring_find_network_password_sync(username, realmstring,
                                                         NULL, NULL, NULL, NULL,
@@ -330,10 +327,7 @@ password_get_gnome_keyring(svn_boolean_t
     }
   else
     {
-      apr_hash_set(parameters,
-                   "gnome-keyring-opening-failed",
-                   APR_HASH_KEY_STRING,
-                   "");
+      svn_hash_sets(parameters, "gnome-keyring-opening-failed", "");
     }
 
   return SVN_NO_ERROR;
@@ -358,9 +352,7 @@ password_set_gnome_keyring(svn_boolean_t
 
   SVN_ERR(ensure_gnome_keyring_is_unlocked(non_interactive, parameters, pool));
 
-  if (! apr_hash_get(parameters,
-                     "gnome-keyring-opening-failed",
-                     APR_HASH_KEY_STRING))
+  if (! svn_hash_gets(parameters, "gnome-keyring-opening-failed"))
     {
       result = gnome_keyring_set_network_password_sync(NULL, /* default keyring */
                                                        username, realmstring,
@@ -374,10 +366,7 @@ password_set_gnome_keyring(svn_boolean_t
     }
   if (result != GNOME_KEYRING_RESULT_OK)
     {
-      apr_hash_set(parameters,
-                   "gnome-keyring-opening-failed",
-                   APR_HASH_KEY_STRING,
-                   "");
+      svn_hash_sets(parameters, "gnome-keyring-opening-failed", "");
     }
 
   *done = (result == GNOME_KEYRING_RESULT_OK);

Modified: subversion/branches/fsfs-format7/subversion/libsvn_client/add.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/libsvn_client/add.c?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/libsvn_client/add.c (original)
+++ subversion/branches/fsfs-format7/subversion/libsvn_client/add.c Sat Mar 30 20:02:27 2013
@@ -176,8 +176,7 @@ get_auto_props_for_pattern(apr_hash_t *p
       propval_str->data = propval;
       propval_str->len = strlen(propval);
 
-      apr_hash_set(properties, propname, APR_HASH_KEY_STRING,
-                   propval_str);
+      svn_hash_sets(properties, propname, propval_str);
       if (strcmp(propname, SVN_PROP_MIME_TYPE) == 0)
         *mimetype = propval;
       else if (strcmp(propname, SVN_PROP_EXECUTABLE) == 0)
@@ -287,8 +286,8 @@ add_file(const char *local_abspath,
     {
       mimetype = NULL;
       properties = apr_hash_make(pool);
-      apr_hash_set(properties, SVN_PROP_SPECIAL, APR_HASH_KEY_STRING,
-                   svn_string_create(SVN_PROP_BOOLEAN_TRUE, pool));
+      svn_hash_sets(properties, SVN_PROP_SPECIAL,
+                    svn_string_create(SVN_PROP_BOOLEAN_TRUE, pool));
     }
   else
     {
@@ -544,8 +543,8 @@ all_auto_props_collector(const char *nam
 
       if (len > 0)
         {
-          apr_hash_t *pattern_hash = apr_hash_get(autoprops_baton->autoprops,
-                                                  name, APR_HASH_KEY_STRING);
+          apr_hash_t *pattern_hash = svn_hash_gets(autoprops_baton->autoprops,
+                                                   name);
           svn_string_t *propval;
 
           /* Force reserved boolean property values to '*'. */
@@ -563,13 +562,13 @@ all_auto_props_collector(const char *nam
           if (!pattern_hash)
             {
               pattern_hash = apr_hash_make(autoprops_baton->result_pool);
-              apr_hash_set(autoprops_baton->autoprops,
-                           apr_pstrdup(autoprops_baton->result_pool, name),
-                           APR_HASH_KEY_STRING, pattern_hash);
+              svn_hash_sets(autoprops_baton->autoprops,
+                            apr_pstrdup(autoprops_baton->result_pool, name),
+                            pattern_hash);
             }
-          apr_hash_set(pattern_hash,
-                       apr_pstrdup(autoprops_baton->result_pool, property),
-                       APR_HASH_KEY_STRING, propval->data);
+          svn_hash_sets(pattern_hash,
+                        apr_pstrdup(autoprops_baton->result_pool, property),
+                        propval->data);
         }
     }
   return TRUE;
@@ -636,9 +635,9 @@ svn_client__get_all_auto_props(apr_hash_
   svn_error_t *err = NULL;
   apr_pool_t *iterpool = svn_pool_create(scratch_pool);
   svn_boolean_t target_is_url = svn_path_is_url(path_or_url);
-  svn_config_t *cfg = ctx->config ? apr_hash_get(ctx->config,
-                                                 SVN_CONFIG_CATEGORY_CONFIG,
-                                                 APR_HASH_KEY_STRING) : NULL;
+  svn_config_t *cfg = ctx->config ? svn_hash_gets(ctx->config,
+                                                  SVN_CONFIG_CATEGORY_CONFIG)
+                                  : NULL;
   *autoprops = apr_hash_make(result_pool);
   autoprops_baton.result_pool = result_pool;
   autoprops_baton.autoprops = *autoprops;
@@ -689,7 +688,7 @@ svn_client__get_all_auto_props(apr_hash_
 
   /* Stash any explicit PROPS for PARENT_PATH into the inherited props array,
      since these are actually inherited props for LOCAL_ABSPATH. */
-  config_auto_prop = apr_hash_get(props, path_or_url, APR_HASH_KEY_STRING);
+  config_auto_prop = svn_hash_gets(props, path_or_url);
 
   if (config_auto_prop)
     {
@@ -697,10 +696,8 @@ svn_client__get_all_auto_props(apr_hash_
         apr_palloc(scratch_pool, sizeof(*new_iprop));
       new_iprop->path_or_url = path_or_url;
       new_iprop->prop_hash = apr_hash_make(scratch_pool);
-      apr_hash_set(new_iprop->prop_hash,
-                   SVN_PROP_INHERITABLE_AUTO_PROPS,
-                   APR_HASH_KEY_STRING,
-                   config_auto_prop);
+      svn_hash_sets(new_iprop->prop_hash, SVN_PROP_INHERITABLE_AUTO_PROPS,
+                    config_auto_prop);
       APR_ARRAY_PUSH(inherited_config_auto_props,
                      svn_prop_inherited_item_t *) = new_iprop;
     }
@@ -794,8 +791,7 @@ svn_error_t *svn_client__get_inherited_i
                               &rev, &rev, NULL, svn_depth_empty, NULL, ctx,
                               scratch_pool, scratch_pool));
 
-  explicit_prop = apr_hash_get(explicit_ignores, path_or_url,
-                               APR_HASH_KEY_STRING);
+  explicit_prop = svn_hash_gets(explicit_ignores, path_or_url);
 
   if (explicit_prop)
     {
@@ -803,10 +799,8 @@ svn_error_t *svn_client__get_inherited_i
         apr_palloc(scratch_pool, sizeof(*new_iprop));
       new_iprop->path_or_url = path_or_url;
       new_iprop->prop_hash = apr_hash_make(scratch_pool);
-      apr_hash_set(new_iprop->prop_hash,
-                   SVN_PROP_INHERITABLE_IGNORES,
-                   APR_HASH_KEY_STRING,
-                   explicit_prop);
+      svn_hash_sets(new_iprop->prop_hash, SVN_PROP_INHERITABLE_IGNORES,
+                    explicit_prop);
       APR_ARRAY_PUSH(inherited_ignores,
                      svn_prop_inherited_item_t *) = new_iprop;
     }
@@ -817,9 +811,8 @@ svn_error_t *svn_client__get_inherited_i
     {
       svn_prop_inherited_item_t *elt = APR_ARRAY_IDX(
         inherited_ignores, i, svn_prop_inherited_item_t *);
-      svn_string_t *ignore_val = apr_hash_get(elt->prop_hash,
-                                              SVN_PROP_INHERITABLE_IGNORES,
-                                              APR_HASH_KEY_STRING);
+      svn_string_t *ignore_val = svn_hash_gets(elt->prop_hash,
+                                               SVN_PROP_INHERITABLE_IGNORES);
       if (ignore_val)
         svn_cstring_split_append(*ignores, ignore_val->data, "\n\r\t\v ",
                                  FALSE, result_pool);

Modified: subversion/branches/fsfs-format7/subversion/libsvn_client/cat.c
URL: http://svn.apache.org/viewvc/subversion/branches/fsfs-format7/subversion/libsvn_client/cat.c?rev=1462850&r1=1462849&r2=1462850&view=diff
==============================================================================
--- subversion/branches/fsfs-format7/subversion/libsvn_client/cat.c (original)
+++ subversion/branches/fsfs-format7/subversion/libsvn_client/cat.c Sat Mar 30 20:02:27 2013
@@ -27,6 +27,7 @@
 
 /*** Includes. ***/
 
+#include "svn_hash.h"
 #include "svn_client.h"
 #include "svn_string.h"
 #include "svn_error.h"
@@ -109,12 +110,9 @@ svn_client__get_normalized_stream(svn_st
         local_mod = TRUE;
     }
 
-  eol_style = apr_hash_get(props, SVN_PROP_EOL_STYLE,
-                           APR_HASH_KEY_STRING);
-  keywords = apr_hash_get(props, SVN_PROP_KEYWORDS,
-                          APR_HASH_KEY_STRING);
-  special = apr_hash_get(props, SVN_PROP_SPECIAL,
-                         APR_HASH_KEY_STRING);
+  eol_style = svn_hash_gets(props, SVN_PROP_EOL_STYLE);
+  keywords = svn_hash_gets(props, SVN_PROP_KEYWORDS);
+  special = svn_hash_gets(props, SVN_PROP_SPECIAL);
 
   if (eol_style)
     svn_subst_eol_style_from_value(&style, &eol, eol_style->data);
@@ -244,8 +242,8 @@ svn_client_cat2(svn_stream_t *out,
         }
     }
 
-  eol_style = apr_hash_get(props, SVN_PROP_EOL_STYLE, APR_HASH_KEY_STRING);
-  keywords = apr_hash_get(props, SVN_PROP_KEYWORDS, APR_HASH_KEY_STRING);
+  eol_style = svn_hash_gets(props, SVN_PROP_EOL_STYLE);
+  keywords = svn_hash_gets(props, SVN_PROP_KEYWORDS);
 
   if (eol_style || keywords)
     {
@@ -268,12 +266,9 @@ svn_client_cat2(svn_stream_t *out,
           svn_string_t *cmt_rev, *cmt_date, *cmt_author;
           apr_time_t when = 0;
 
-          cmt_rev = apr_hash_get(props, SVN_PROP_ENTRY_COMMITTED_REV,
-                                 APR_HASH_KEY_STRING);
-          cmt_date = apr_hash_get(props, SVN_PROP_ENTRY_COMMITTED_DATE,
-                                  APR_HASH_KEY_STRING);
-          cmt_author = apr_hash_get(props, SVN_PROP_ENTRY_LAST_AUTHOR,
-                                    APR_HASH_KEY_STRING);
+          cmt_rev = svn_hash_gets(props, SVN_PROP_ENTRY_COMMITTED_REV);
+          cmt_date = svn_hash_gets(props, SVN_PROP_ENTRY_COMMITTED_DATE);
+          cmt_author = svn_hash_gets(props, SVN_PROP_ENTRY_LAST_AUTHOR);
           if (cmt_date)
             SVN_ERR(svn_time_from_cstring(&when, cmt_date->data, pool));
 



Mime
View raw message