subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From prabh...@apache.org
Subject svn commit: r1489765 [5/22] - in /subversion/branches/verify-keep-going: ./ build/ build/ac-macros/ build/generator/ build/generator/templates/ contrib/hook-scripts/ contrib/server-side/fsfsfixer/ contrib/server-side/fsfsfixer/fixer/ notes/ subversion/...
Date Wed, 05 Jun 2013 09:22:51 GMT
Modified: subversion/branches/verify-keep-going/subversion/include/svn_io.h
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/include/svn_io.h?rev=1489765&r1=1489764&r2=1489765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/include/svn_io.h (original)
+++ subversion/branches/verify-keep-going/subversion/include/svn_io.h Wed Jun  5 09:22:43 2013
@@ -182,9 +182,10 @@ svn_io_check_resolved_path(const char *p
  * may be @c NULL.  If @a file is @c NULL, the file will be created but not
  * open.
  *
- * If @a delete_when is #svn_io_file_del_on_close, then the @c APR_DELONCLOSE
- * flag will be used when opening the file.  The @c APR_BUFFERED flag will
- * always be used.
+ * The file will be deleted according to @a delete_when.  If that is
+ * #svn_io_file_del_on_pool_cleanup, it refers to @a result_pool.
+ *
+ * The @c APR_BUFFERED flag will always be used when opening the file.
  *
  * The first attempt will just append @a suffix.  If the result is not
  * a unique name, then subsequent attempts will append a dot,
@@ -248,8 +249,9 @@ svn_io_open_uniquely_named(apr_file_t **
  * be possible to atomically rename the resulting file due to cross-device
  * issues.)
  *
- * The file will be deleted according to @a delete_when.  If @a delete_when
- * is @c svn_io_file_del_on_close and @a file is @c NULL, the file will be
+ * The file will be deleted according to @a delete_when.  If that is
+ * #svn_io_file_del_on_pool_cleanup, it refers to @a result_pool.  If it
+ * is #svn_io_file_del_on_close and @a file is @c NULL, the file will be
  * deleted before this function returns.
  *
  * When passing @c svn_io_file_del_none please don't forget to eventually
@@ -664,8 +666,8 @@ svn_io_files_contents_same_p(svn_boolean
                              apr_pool_t *pool);
 
 /** 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 
+ * 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. The filenames @a file1, @a file2 and @a file3 are
  * utf8-encoded. Use @a scratch_pool for temporary allocations.
  *
@@ -917,7 +919,7 @@ svn_stream_empty(apr_pool_t *pool);
 /** Return a stream allocated in @a pool which forwards all requests
  * to @a stream.  Destruction is explicitly excluded from forwarding.
  *
- * @see notes/destruction-of-stacked-resources
+ * @see http://subversion.apache.org/docs/community-guide/conventions.html#destruction-of-stacked-resources
  *
  * @since New in 1.4.
  */
@@ -972,7 +974,8 @@ svn_stream_open_writable(svn_stream_t **
  * be possible to atomically rename the resulting file due to cross-device
  * issues.)
  *
- * The file will be deleted according to @a delete_when.
+ * The file will be deleted according to @a delete_when.  If that is
+ * #svn_io_file_del_on_pool_cleanup, it refers to @a result_pool.
  *
  * Temporary allocations will be performed in @a scratch_pool.
  *
@@ -1370,6 +1373,15 @@ svn_string_from_stream(svn_string_t **re
 /** A function type provided for use as a callback from
  * @c svn_stream_lazyopen_create().
  *
+ * The callback function shall open a new stream and set @a *stream to
+ * the stream object, allocated in @a result_pool.  @a baton is the
+ * callback baton that was passed to svn_stream_lazyopen_create().
+ *
+ * @a result_pool is the result pool that was passed to
+ * svn_stream_lazyopen_create().  The callback function may use
+ * @a scratch_pool for temporary allocations; the caller may clear or
+ * destroy @a scratch_pool any time after the function returns.
+ *
  * @since New in 1.8.
  */
 typedef svn_error_t *
@@ -1381,20 +1393,22 @@ typedef svn_error_t *
 
 /** Return a generic stream which wraps another primary stream,
  * delaying the "opening" of that stream until the first time the
- * stream is accessed.
+ * returned stream is accessed.
  *
  * @a open_func and @a open_baton are a callback function/baton pair
- * invoked upon the first read of @a *stream which are used to open the
- * "real" source stream.
+ * which will be invoked upon the first access of the returned
+ * stream (read, write, mark, seek, skip, or possibly close).  The
+ * callback shall open the primary stream.
  *
- * @note If the only "access" the returned stream gets is to close it,
- * @a open_func will not be called.
+ * If the only "access" the returned stream gets is to close it
+ * then @a open_func will only be called if @a open_on_close is TRUE.
  *
  * @since New in 1.8.
  */
 svn_stream_t *
 svn_stream_lazyopen_create(svn_stream_lazyopen_func_t open_func,
                            void *open_baton,
+                           svn_boolean_t open_on_close,
                            apr_pool_t *result_pool);
 
 /** @} */
@@ -1578,12 +1592,13 @@ svn_io_stat_dirent2(const svn_io_dirent2
                     apr_pool_t *scratch_pool);
 
 
-/** Similar to svn_io_stat_dirent2, but always passes FALSE for
- * verify_truename.
+/** Similar to svn_io_stat_dirent2(), but always passes FALSE for
+ * @a verify_truename.
  *
  * @since New in 1.7.
  * @deprecated Provided for backwards compatibility with the 1.7 API.
  */
+SVN_DEPRECATED
 svn_error_t *
 svn_io_stat_dirent(const svn_io_dirent2_t **dirent_p,
                    const char *path,
@@ -1668,8 +1683,8 @@ svn_io_dir_walk(const char *dirname,
  * 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.
+ * guarantee the invoked program to run with an empty environment when
+ * @a inherit is FALSE, the program may inherit its parent's environment.
  * Explicitly pass an empty @a env to get an empty environment.
  *
  * @since New in 1.8.
@@ -1695,6 +1710,7 @@ svn_error_t *svn_io_start_cmd3(apr_proc_
  * @deprecated Provided for backward compatibility with the 1.7 API
  * @since New in 1.7.
  */
+SVN_DEPRECATED
 svn_error_t *svn_io_start_cmd2(apr_proc_t *cmd_proc,
                                const char *path,
                                const char *cmd,
@@ -2057,6 +2073,14 @@ svn_io_file_write(apr_file_t *file,
                   apr_size_t *nbytes,
                   apr_pool_t *pool);
 
+/** Wrapper for apr_file_flush().
+ * @since New in 1.9
+ */
+svn_error_t *
+svn_io_file_flush(apr_file_t *file,
+                  apr_pool_t *scratch_pool);
+
+
 
 /** Wrapper for apr_file_write_full(). */
 svn_error_t *
@@ -2067,6 +2091,24 @@ svn_io_file_write_full(apr_file_t *file,
                        apr_pool_t *pool);
 
 /**
+ * Writes @a nbytes bytes from @a *buf to a temporary file inside the same
+ * directory as @a *final_path. Then syncs the temporary file to disk and
+ * closes the file. After this rename the temporary file to @a final_path,
+ * possibly replacing an existing file.
+ *
+ * If @a copy_perms_path is not NULL, copy the permissions applied on @a
+ * @a copy_perms_path on the temporary file before renaming.
+ *
+ * @since New in 1.9.
+ */
+svn_error_t *
+svn_io_write_atomic(const char *final_path,
+                    const void *buf,
+                    apr_size_t nbytes,
+                    const char* copy_perms_path,
+                    apr_pool_t *scratch_pool);
+
+/**
  * Open a unique file in @a dirpath, and write @a nbytes from @a buf to
  * the file before flushing it to disk and closing it.  Return the name
  * of the newly created file in @a *tmp_path, allocated in @a pool.

Modified: subversion/branches/verify-keep-going/subversion/include/svn_path.h
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/include/svn_path.h?rev=1489765&r1=1489764&r2=1489765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/include/svn_path.h (original)
+++ subversion/branches/verify-keep-going/subversion/include/svn_path.h Wed Jun  5 09:22:43 2013
@@ -716,6 +716,14 @@ svn_path_resolve_repos_relative_url(cons
                                     const char *repos_root_url,
                                     apr_pool_t *pool);
 
+/* Return a copy of @a path, allocated from @a pool, for which control
+ * characters have been escaped using the form \NNN (where NNN is the
+ * octal representation of the byte's ordinal value).
+ * 
+ * @since New in 1.9. */
+const char *
+svn_path_illegal_path_escape(const char *path, apr_pool_t *pool);
+
 /** @} */
 
 #ifdef __cplusplus

Modified: subversion/branches/verify-keep-going/subversion/include/svn_props.h
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/include/svn_props.h?rev=1489765&r1=1489764&r2=1489765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/include/svn_props.h (original)
+++ subversion/branches/verify-keep-going/subversion/include/svn_props.h Wed Jun  5 09:22:43 2013
@@ -680,7 +680,7 @@ svn_prop_name_is_valid(const char *prop_
  */
 #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.

Modified: subversion/branches/verify-keep-going/subversion/include/svn_ra_svn.h
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/include/svn_ra_svn.h?rev=1489765&r1=1489764&r2=1489765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/include/svn_ra_svn.h (original)
+++ subversion/branches/verify-keep-going/subversion/include/svn_ra_svn.h Wed Jun  5 09:22:43 2013
@@ -203,6 +203,7 @@ svn_ra_svn_conn_t *svn_ra_svn_create_con
  *
  * @deprecated Provided for backward compatibility with the 1.7 API.
  */
+SVN_DEPRECATED
 svn_ra_svn_conn_t *
 svn_ra_svn_create_conn2(apr_socket_t *sock,
                         apr_file_t *in_file,
@@ -262,10 +263,82 @@ svn_ra_svn_zero_copy_limit(svn_ra_svn_co
 const char *
 svn_ra_svn_conn_remote_host(svn_ra_svn_conn_t *conn);
 
+/** Set @a *editor and @a *edit_baton to an editor which will pass editing
+ * operations over the network, using @a conn and @a pool.
+ *
+ * Upon successful completion of the edit, the editor will invoke @a callback
+ * with @a callback_baton as an argument.
+ */
+void
+svn_ra_svn_get_editor(const svn_delta_editor_t **editor,
+                      void **edit_baton,
+                      svn_ra_svn_conn_t *conn,
+                      apr_pool_t *pool,
+                      svn_ra_svn_edit_callback callback,
+                      void *callback_baton);
+
+/** Receive edit commands over the network and use them to drive @a editor
+ * with @a edit_baton.  On return, @a *aborted will be set if the edit was
+ * aborted.  The drive can be terminated with a finish-replay command only
+ * if @a for_replay is TRUE.
+ *
+ * @since New in 1.4.
+ */
+svn_error_t *
+svn_ra_svn_drive_editor2(svn_ra_svn_conn_t *conn,
+                         apr_pool_t *pool,
+                         const svn_delta_editor_t *editor,
+                         void *edit_baton,
+                         svn_boolean_t *aborted,
+                         svn_boolean_t for_replay);
+
+/** Like svn_ra_svn_drive_editor2, but with @a for_replay always FALSE.
+ *
+ * @deprecated Provided for backward compatibility with the 1.3 API.
+ */
+SVN_DEPRECATED
+svn_error_t *
+svn_ra_svn_drive_editor(svn_ra_svn_conn_t *conn,
+                        apr_pool_t *pool,
+                        const svn_delta_editor_t *editor,
+                        void *edit_baton,
+                        svn_boolean_t *aborted);
+
+/** This function is only intended for use by svnserve.
+ *
+ * Perform CRAM-MD5 password authentication.  On success, return
+ * SVN_NO_ERROR with *user set to the username and *success set to
+ * TRUE.  On an error which can be reported to the client, report the
+ * error and return SVN_NO_ERROR with *success set to FALSE.  On
+ * communications failure, return an error.
+ */
+svn_error_t *
+svn_ra_svn_cram_server(svn_ra_svn_conn_t *conn,
+                       apr_pool_t *pool,
+                       svn_config_t *pwdb,
+                       const char **user,
+                       svn_boolean_t *success);
+
+/**
+ * Get libsvn_ra_svn version information.
+ * @since New in 1.1.
+ */
+const svn_version_t *
+svn_ra_svn_version(void);
+
+/**
+ * @defgroup ra_svn_deprecated ra_svn low-level functions
+ * @{
+ */
+
 /** Write a number over the net.
  *
  * Writes will be buffered until the next read or flush.
+ *
+ * @deprecated Provided for backward compatibility with the 1.7 API.
+ *             RA_SVN low-level functions are no longer considered public.
  */
+SVN_DEPRECATED
 svn_error_t *
 svn_ra_svn_write_number(svn_ra_svn_conn_t *conn,
                         apr_pool_t *pool,
@@ -274,7 +347,11 @@ svn_ra_svn_write_number(svn_ra_svn_conn_
 /** Write a string over the net.
  *
  * Writes will be buffered until the next read or flush.
+ *
+ * @deprecated Provided for backward compatibility with the 1.7 API.
+ *             RA_SVN low-level functions are no longer considered public.
  */
+SVN_DEPRECATED
 svn_error_t *
 svn_ra_svn_write_string(svn_ra_svn_conn_t *conn,
                         apr_pool_t *pool,
@@ -283,7 +360,11 @@ svn_ra_svn_write_string(svn_ra_svn_conn_
 /** Write a cstring over the net.
  *
  * Writes will be buffered until the next read or flush.
+ *
+ * @deprecated Provided for backward compatibility with the 1.7 API.
+ *             RA_SVN low-level functions are no longer considered public.
  */
+SVN_DEPRECATED
 svn_error_t *
 svn_ra_svn_write_cstring(svn_ra_svn_conn_t *conn,
                          apr_pool_t *pool,
@@ -292,7 +373,11 @@ svn_ra_svn_write_cstring(svn_ra_svn_conn
 /** Write a word over the net.
  *
  * Writes will be buffered until the next read or flush.
+ *
+ * @deprecated Provided for backward compatibility with the 1.7 API.
+ *             RA_SVN low-level functions are no longer considered public.
  */
+SVN_DEPRECATED
 svn_error_t *
 svn_ra_svn_write_word(svn_ra_svn_conn_t *conn,
                       apr_pool_t *pool,
@@ -302,18 +387,32 @@ svn_ra_svn_write_word(svn_ra_svn_conn_t 
  * in which case an empty list will be written out.
  *
  * @since New in 1.5.
+ *
+ * @deprecated Provided for backward compatibility with the 1.7 API.
+ *             RA_SVN low-level functions are no longer considered public.
  */
+SVN_DEPRECATED
 svn_error_t *
 svn_ra_svn_write_proplist(svn_ra_svn_conn_t *conn,
                           apr_pool_t *pool,
                           apr_hash_t *props);
 
-/** Begin a list.  Writes will be buffered until the next read or flush. */
+/** Begin a list.  Writes will be buffered until the next read or flush.
+ *
+ * @deprecated Provided for backward compatibility with the 1.7 API.
+ *             RA_SVN low-level functions are no longer considered public.
+ */
+SVN_DEPRECATED
 svn_error_t *
 svn_ra_svn_start_list(svn_ra_svn_conn_t *conn,
                       apr_pool_t *pool);
 
-/** End a list.  Writes will be buffered until the next read or flush. */
+/** End a list.  Writes will be buffered until the next read or flush.
+ *
+ * @deprecated Provided for backward compatibility with the 1.7 API.
+ *             RA_SVN low-level functions are no longer considered public.
+ */
+SVN_DEPRECATED
 svn_error_t *
 svn_ra_svn_end_list(svn_ra_svn_conn_t *conn,
                     apr_pool_t *pool);
@@ -322,7 +421,11 @@ svn_ra_svn_end_list(svn_ra_svn_conn_t *c
  *
  * Normally this shouldn't be necessary, since the write buffer is flushed
  * when a read is attempted.
+ *
+ * @deprecated Provided for backward compatibility with the 1.7 API.
+ *             RA_SVN low-level functions are no longer considered public.
  */
+SVN_DEPRECATED
 svn_error_t *
 svn_ra_svn_flush(svn_ra_svn_conn_t *conn,
                  apr_pool_t *pool);
@@ -365,13 +468,22 @@ svn_ra_svn_flush(svn_ra_svn_conn_t *conn
      for (i = 0; i < n; i++)
        SVN_ERR(svn_ra_svn_write_word(conn, pool, words[i]));
      SVN_ERR(svn_ra_svn_write_tuple(conn, pool, "!)b", flag)); @endcode
+ *
+ * @deprecated Provided for backward compatibility with the 1.7 API.
+ *             RA_SVN low-level functions are no longer considered public.
  */
+SVN_DEPRECATED
 svn_error_t *
 svn_ra_svn_write_tuple(svn_ra_svn_conn_t *conn,
                        apr_pool_t *pool,
                        const char *fmt, ...);
 
-/** Read an item from the network into @a *item. */
+/** Read an item from the network into @a *item.
+ *
+ * @deprecated Provided for backward compatibility with the 1.7 API.
+ *             RA_SVN low-level functions are no longer considered public.
+ */
+SVN_DEPRECATED
 svn_error_t *
 svn_ra_svn_read_item(svn_ra_svn_conn_t *conn,
                      apr_pool_t *pool,
@@ -383,7 +495,11 @@ svn_ra_svn_read_item(svn_ra_svn_conn_t *
  * a client connection opened in tunnel mode, since people's dotfiles
  * sometimes write output to stdout.  It may only be called at the
  * beginning of a client connection.
+ *
+ * @deprecated Provided for backward compatibility with the 1.7 API.
+ *             RA_SVN low-level functions are no longer considered public.
  */
+SVN_DEPRECATED
 svn_error_t *
 svn_ra_svn_skip_leading_garbage(svn_ra_svn_conn_t *conn,
                                 apr_pool_t *pool);
@@ -419,7 +535,11 @@ svn_ra_svn_skip_leading_garbage(svn_ra_s
  * SVN_RA_SVN_UNSPECIFIED_NUMBER, and 's', 'c', 'w', and 'l' values
  * will be set to @c NULL.  'b' may not appear inside an optional
  * tuple specification; use 'B' instead.
+ *
+ * @deprecated Provided for backward compatibility with the 1.7 API.
+ *             RA_SVN low-level functions are no longer considered public.
  */
+SVN_DEPRECATED
 svn_error_t *
 svn_ra_svn_parse_tuple(const apr_array_header_t *list,
                        apr_pool_t *pool,
@@ -427,7 +547,11 @@ svn_ra_svn_parse_tuple(const apr_array_h
 
 /** Read a tuple from the network and parse it as a tuple, using the
  * format string notation from svn_ra_svn_parse_tuple().
+ *
+ * @deprecated Provided for backward compatibility with the 1.7 API.
+ *             RA_SVN low-level functions are no longer considered public.
  */
+SVN_DEPRECATED
 svn_error_t *
 svn_ra_svn_read_tuple(svn_ra_svn_conn_t *conn,
                       apr_pool_t *pool,
@@ -437,7 +561,11 @@ svn_ra_svn_read_tuple(svn_ra_svn_conn_t 
  * properties, storing the properties in a hash table.
  *
  * @since New in 1.5.
+ *
+ * @deprecated Provided for backward compatibility with the 1.7 API.
+ *             RA_SVN low-level functions are no longer considered public.
  */
+SVN_DEPRECATED
 svn_error_t *
 svn_ra_svn_parse_proplist(const apr_array_header_t *list,
                           apr_pool_t *pool,
@@ -445,7 +573,11 @@ svn_ra_svn_parse_proplist(const apr_arra
 
 /** Read a command response from the network and parse it as a tuple, using
  * the format string notation from svn_ra_svn_parse_tuple().
+ *
+ * @deprecated Provided for backward compatibility with the 1.7 API.
+ *             RA_SVN low-level functions are no longer considered public.
  */
+SVN_DEPRECATED
 svn_error_t *
 svn_ra_svn_read_cmd_response(svn_ra_svn_conn_t *conn,
                              apr_pool_t *pool,
@@ -464,7 +596,10 @@ svn_ra_svn_read_cmd_response(svn_ra_svn_
  *
  * @since New in 1.6.
  *
+ * @deprecated Provided for backward compatibility with the 1.7 API.
+ *             RA_SVN low-level functions are no longer considered public.
  */
+SVN_DEPRECATED
 svn_error_t *
 svn_ra_svn_handle_commands2(svn_ra_svn_conn_t *conn,
                             apr_pool_t *pool,
@@ -488,7 +623,7 @@ svn_ra_svn_handle_commands(svn_ra_svn_co
  * as svn_ra_svn_write_tuple().
  *
  * @deprecated Provided for backward compatibility with the 1.7 API.
- * Use the svn_ra_svn_write_cmd_* functions instead.
+ *             RA_SVN low-level functions are no longer considered public.
  */
 SVN_DEPRECATED
 svn_error_t *
@@ -501,618 +636,31 @@ svn_ra_svn_write_cmd(svn_ra_svn_conn_t *
  * same format string notation as svn_ra_svn_write_tuple().  Do not use
  * partial tuples with this function; if you need to use partial
  * tuples, just write out the "success" and argument tuple by hand.
+ *
+ * @deprecated Provided for backward compatibility with the 1.7 API.
+ *             RA_SVN low-level functions are no longer considered public.
  */
+SVN_DEPRECATED
 svn_error_t *
 svn_ra_svn_write_cmd_response(svn_ra_svn_conn_t *conn,
                               apr_pool_t *pool,
                               const char *fmt, ...);
 
-/** Write an unsuccessful command response over the network. */
-svn_error_t *
-svn_ra_svn_write_cmd_failure(svn_ra_svn_conn_t *conn,
-                             apr_pool_t *pool,
-                             svn_error_t *err);
-
-/** Set @a *editor and @a *edit_baton to an editor which will pass editing
- * operations over the network, using @a conn and @a pool.
+/** Write an unsuccessful command response over the network.
  *
- * Upon successful completion of the edit, the editor will invoke @a callback
- * with @a callback_baton as an argument.
- */
-void
-svn_ra_svn_get_editor(const svn_delta_editor_t **editor,
-                      void **edit_baton,
-                      svn_ra_svn_conn_t *conn,
-                      apr_pool_t *pool,
-                      svn_ra_svn_edit_callback callback,
-                      void *callback_baton);
-
-/** Receive edit commands over the network and use them to drive @a editor
- * with @a edit_baton.  On return, @a *aborted will be set if the edit was
- * aborted.  The drive can be terminated with a finish-replay command only
- * if @a for_replay is TRUE.
- */
-svn_error_t *
-svn_ra_svn_drive_editor2(svn_ra_svn_conn_t *conn,
-                         apr_pool_t *pool,
-                         const svn_delta_editor_t *editor,
-                         void *edit_baton,
-                         svn_boolean_t *aborted,
-                         svn_boolean_t for_replay);
-
-/** Like svn_ra_svn_drive_editor2, but with @a for_replay always FALSE.
- */
-svn_error_t *
-svn_ra_svn_drive_editor(svn_ra_svn_conn_t *conn,
-                        apr_pool_t *pool,
-                        const svn_delta_editor_t *editor,
-                        void *edit_baton,
-                        svn_boolean_t *aborted);
-
-/** This function is only intended for use by svnserve.
- *
- * Perform CRAM-MD5 password authentication.  On success, return
- * SVN_NO_ERROR with *user set to the username and *success set to
- * TRUE.  On an error which can be reported to the client, report the
- * error and return SVN_NO_ERROR with *success set to FALSE.  On
- * communications failure, return an error.
- */
-svn_error_t *
-svn_ra_svn_cram_server(svn_ra_svn_conn_t *conn,
-                       apr_pool_t *pool,
-                       svn_config_t *pwdb,
-                       const char **user,
-                       svn_boolean_t *success);
-
-/**
- * Get libsvn_ra_svn version information.
- * @since New in 1.1.
- */
-const svn_version_t *
-svn_ra_svn_version(void);
-
-/**
- * @defgroup svn_commands sending ra_svn commands
- * @{
- */
-
-/** Sets the target revision of connection @a conn to @a rev.  Use @a pool
- * for allocations.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_target_rev(svn_ra_svn_conn_t *conn,
-                                apr_pool_t *pool,
-                                svn_revnum_t rev);
-
-/** Send a "open-root" command over connection @a conn.  Open the
- * repository root at revision @a rev and associate it with @a token.
- * Use @a pool for allocations.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_open_root(svn_ra_svn_conn_t *conn,
-                               apr_pool_t *pool,
-                               svn_revnum_t rev,
-                               const char *token);
-
-/** Send a "delete-entry" command over connection @a conn.  Delete the
- * @a path at optional revision @a rev below @a parent_token.
- * Use @a pool for allocations.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_delete_entry(svn_ra_svn_conn_t *conn,
-                                  apr_pool_t *pool,
-                                  const char *path,
-                                  svn_revnum_t rev,
-                                  const char *parent_token);
-
-/** Send a "add-dir" command over connection @a conn.  Add a new directory
- * node named @a path under the directory identified by @a parent_token.
- * Associate the new directory with the given @a token.  * @a copy_path
- * and @a copy_rev are optional and describe the copy source.
- * Use @a pool for allocations.
+ * @deprecated Provided for backward compatibility with the 1.7 API.
+ *             RA_SVN low-level functions are no longer considered public.
  */
+SVN_DEPRECATED
 svn_error_t *
-svn_ra_svn_write_cmd_add_dir(svn_ra_svn_conn_t *conn,
+svn_ra_svn_write_cmd_failure(svn_ra_svn_conn_t *conn,
                              apr_pool_t *pool,
-                             const char *path,
-                             const char *parent_token,
-                             const char *token,
-                             const char *copy_path,
-                             svn_revnum_t copy_rev);
-
-/** Send a "open-dir" command over connection @a conn.  Associate to
- * @a token the directory node named @a path under the directory
- * identified by @a parent_token in revision @a rev.
- * Use @a pool for allocations.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_open_dir(svn_ra_svn_conn_t *conn,
-                              apr_pool_t *pool,
-                              const char *path,
-                              const char *parent_token,
-                              const char *token,
-                              svn_revnum_t rev);
-
-/** Send a "change-dir-prop" command over connection @a conn.  Set the
- * property @a name to the optional @a value on the directory identified
- * to @a token.  Use @a pool for allocations.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_change_dir_prop(svn_ra_svn_conn_t *conn,
-                                     apr_pool_t *pool,
-                                     const char *token,
-                                     const char *name,
-                                     const svn_string_t *value);
-
-/** Send a "close-dir" command over connection @a conn.  Identify the node
- * to close with @a token.  The latter will then no longer be associated
- * with that node.  Use @a pool for allocations.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_close_dir(svn_ra_svn_conn_t *conn,
-                               apr_pool_t *pool,
-                               const char *token);
-
-/** Send a "absent-dir" command over connection @a conn.  Directory node
- * named @a path under the directory identified by @a parent_token is
- * absent.  Use @a pool for allocations.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_absent_dir(svn_ra_svn_conn_t *conn,
-                                apr_pool_t *pool,
-                                const char *path,
-                                const char *parent_token);
-
-/** Send a "add-file" command over connection @a conn.  Add a new file
- * node named @a path under the directory identified by @a parent_token.
- * Associate the new file with the given @a token.  * @a copy_path and
- * @a copy_rev are optional and describe the copy source.
- * Use @a pool for allocations.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_add_file(svn_ra_svn_conn_t *conn,
-                              apr_pool_t *pool,
-                              const char *path,
-                              const char *parent_token,
-                              const char *token,
-                              const char *copy_path,
-                              svn_revnum_t copy_rev);
-
-/** Send a "open-file" command over connection @a conn.  Associate to
- * @a token the file node named @a path under the directory identified by
- * @a parent_token in revision @a rev.
- * Use @a pool for allocations.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_open_file(svn_ra_svn_conn_t *conn,
-                               apr_pool_t *pool,
-                               const char *path,
-                               const char *parent_token,
-                               const char *token,
-                               svn_revnum_t rev);
-
-/** Send a "change-file-prop" command over connection @a conn.  Set the
- * property @a name to the optional @a value on the file identified to
- * @a token.  Use @a pool for allocations.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_change_file_prop(svn_ra_svn_conn_t *conn,
-                                      apr_pool_t *pool,
-                                      const char *token,
-                                      const char *name,
-                                      const svn_string_t *value);
-
-/** Send a "close-dir" command over connection @a conn.  Identify the node
- * to close with @a token and provide an optional @a check_sum.  The token
- * will then no longer be associated with that node.
- * Use @a pool for allocations.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_close_file(svn_ra_svn_conn_t *conn,
-                                apr_pool_t *pool,
-                                const char *token,
-                                const char *text_checksum);
-
-/** Send a "absent-file" command over connection @a conn.  File node
- * named @a path in the directory identified by @a parent_token is
- * absent.  Use @a pool for allocations.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_absent_file(svn_ra_svn_conn_t *conn,
-                                 apr_pool_t *pool,
-                                 const char *path,
-                                 const char *parent_token);
-
-/** Send a "apply-textdelta" command over connection @a conn.  Starts a
- * series of text deltas to be applied to the file identified by @a token.
- * Optionally, specify the file's current checksum in @a base_checksum.
- * Use @a pool for allocations.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_apply_textdelta(svn_ra_svn_conn_t *conn,
-                                     apr_pool_t *pool,
-                                     const char *token,
-                                     const char *base_checksum);
-
-/** Send a "textdelta-chunk" command over connection @a conn.  Apply
- * textdelta @a chunk to the file identified by @a token.
- * Use @a pool for allocations.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_textdelta_chunk(svn_ra_svn_conn_t *conn,
-                                     apr_pool_t *pool,
-                                     const char *token,
-                                     const svn_string_t *chunk);
-
-/** Send a "textdelta-end" command over connection @a conn.  Ends the
- * series of text deltas to be applied to the file identified by @a token.
- * Use @a pool for allocations.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_textdelta_end(svn_ra_svn_conn_t *conn,
-                                   apr_pool_t *pool,
-                                   const char *token);
-
-/** Send a "close-edit" command over connection @a conn.  Ends the editor
- * drive (successfully).  Use @a pool for allocations.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_close_edit(svn_ra_svn_conn_t *conn,
-                                apr_pool_t *pool);
-
-/** Send a "abort-edit" command over connection @a conn.  Prematurely ends
- * the editor drive, e.g. due to some problem on the other side.
- * Use @a pool for allocations.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_abort_edit(svn_ra_svn_conn_t *conn,
-                                apr_pool_t *pool);
-
-/** Send a "set-path" command over connection @a conn.
- * Use @a pool for allocations.
- * 
- * @see set_path() in #svn_ra_reporter3_t for a description.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_set_path(svn_ra_svn_conn_t *conn,
-                              apr_pool_t *pool,
-                              const char *path,
-                              svn_revnum_t rev,
-                              svn_boolean_t start_empty,
-                              const char *lock_token,
-                              svn_depth_t depth);
-
-/** Send a "delete-path" command over connection @a conn.
- * Use @a pool for allocations.
- *
- * @see delete_path() in #svn_ra_reporter3_t for a description.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_delete_path(svn_ra_svn_conn_t *conn,
-                                 apr_pool_t *pool,
-                                 const char *path);
-
-/** Send a "link-path" command over connection @a conn.
- * Use @a pool for allocations.
- *
- * @see link_path() in #svn_ra_reporter3_t for a description.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_link_path(svn_ra_svn_conn_t *conn,
-                               apr_pool_t *pool,
-                               const char *path,
-                               const char *url,
-                               svn_revnum_t rev,
-                               svn_boolean_t start_empty,
-                               const char *lock_token,
-                               svn_depth_t depth);
-
-/** Send a "finish-report" command over connection @a conn.
- * Use @a pool for allocations.
- *
- * @see finish_report() in #svn_ra_reporter3_t for a description.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_finish_report(svn_ra_svn_conn_t *conn,
-                                   apr_pool_t *pool);
-
-/** Send a "abort-report" command over connection @a conn.
- * Use @a pool for allocations.
- *
- * @see abort_report() in #svn_ra_reporter3_t for a description.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_abort_report(svn_ra_svn_conn_t *conn,
-                                  apr_pool_t *pool);
-
-/** Send a "reparent" command over connection @a conn.
- * Use @a pool for allocations.
- *
- * @see #svn_ra_reparent for a description.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_reparent(svn_ra_svn_conn_t *conn,
-                              apr_pool_t *pool,
-                              const char *url);
-
-/** Send a "get-latest-rev" command over connection @a conn.
- * Use @a pool for allocations.
- *
- * @see #svn_ra_get_latest_revnum for a description.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_get_latest_rev(svn_ra_svn_conn_t *conn,
-                                  apr_pool_t *pool);
-
-/** Send a "get-dated-rev" command over connection @a conn.
- * Use @a pool for allocations.
- *
- * @see #svn_ra_get_dated_revision for a description.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_get_dated_rev(svn_ra_svn_conn_t *conn,
-                                   apr_pool_t *pool,
-                                   apr_time_t tm);
-
-/** Send a "change-rev-prop2" command over connection @a conn.
- * Use @a pool for allocations.
- *
- * @see #svn_ra_change_rev_prop2 for a description.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_change_rev_prop2(svn_ra_svn_conn_t *conn,
-                                      apr_pool_t *pool,
-                                      svn_revnum_t rev,
-                                      const char *name,
-                                      const svn_string_t *value,
-                                      svn_boolean_t dont_care,
-                                      const svn_string_t *old_value);
-
-/** Send a "change-rev-prop" command over connection @a conn.
- * Use @a pool for allocations.
- *
- * @see #svn_ra_change_rev_prop for a description.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_change_rev_prop(svn_ra_svn_conn_t *conn,
-                                     apr_pool_t *pool,
-                                     svn_revnum_t rev,
-                                     const char *name,
-                                     const svn_string_t *value);
-
-/** Send a "rev-proplist" command over connection @a conn.
- * Use @a pool for allocations.
- *
- * @see #svn_ra_rev_proplist for a description.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_rev_proplist(svn_ra_svn_conn_t *conn,
-                                  apr_pool_t *pool,
-                                  svn_revnum_t rev);
-
-/** Send a "rev-prop" command over connection @a conn.
- * Use @a pool for allocations.
- *
- * @see #svn_ra_rev_prop for a description.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_rev_prop(svn_ra_svn_conn_t *conn,
-                              apr_pool_t *pool,
-                              svn_revnum_t rev,
-                              const char *name);
-
-/** Send a "get-file" command over connection @a conn.
- * Use @a pool for allocations.
- *
- * @see #svn_ra_get_file for a description.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_get_file(svn_ra_svn_conn_t *conn,
-                              apr_pool_t *pool,
-                              const char *path,
-                              svn_revnum_t rev,
-                              svn_boolean_t props,
-                              svn_boolean_t stream);
-
-/** Send a "update" command over connection @a conn.
- * Use @a pool for allocations.
- *
- * @see #svn_ra_do_update3 for a description.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_update(svn_ra_svn_conn_t *conn,
-                            apr_pool_t *pool,
-                            svn_revnum_t rev,
-                            const char *target,
-                            svn_boolean_t recurse,
-                            svn_depth_t depth,
-                            svn_boolean_t send_copyfrom_args,
-                            svn_boolean_t ignore_ancestry);
-
-/** Send a "switch" command over connection @a conn.
- * Use @a pool for allocations.
- *
- * @see #svn_ra_do_switch3 for a description.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_switch(svn_ra_svn_conn_t *conn,
-                            apr_pool_t *pool,
-                            svn_revnum_t rev,
-                            const char *target,
-                            svn_boolean_t recurse,
-                            const char *switch_url,
-                            svn_depth_t depth,
-                            svn_boolean_t send_copyfrom_args,
-                            svn_boolean_t ignore_ancestry);
-
-/** Send a "status" command over connection @a conn.
- * Use @a pool for allocations.
- *
- * @see #svn_ra_do_status2 for a description.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_status(svn_ra_svn_conn_t *conn,
-                            apr_pool_t *pool,
-                            const char *target,
-                            svn_boolean_t recurse,
-                            svn_revnum_t rev,
-                            svn_depth_t depth);
-
-/** Send a "diff" command over connection @a conn.
- * Use @a pool for allocations.
- *
- * @see #svn_ra_do_diff3 for a description.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_diff(svn_ra_svn_conn_t *conn,
-                          apr_pool_t *pool,
-                          svn_revnum_t rev,
-                          const char *target,
-                          svn_boolean_t recurse,
-                          svn_boolean_t ignore_ancestry,
-                          const char *versus_url,
-                          svn_boolean_t text_deltas,
-                          svn_depth_t depth);
-
-/** Send a "check-path" command over connection @a conn.
- * Use @a pool for allocations.
- *
- * @see #svn_ra_check_path for a description.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_check_path(svn_ra_svn_conn_t *conn,
-                                apr_pool_t *pool,
-                                const char *path,
-                                svn_revnum_t rev);
-
-/** Send a "stat" command over connection @a conn.
- * Use @a pool for allocations.
- *
- * @see #svn_ra_stat for a description.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_stat(svn_ra_svn_conn_t *conn,
-                          apr_pool_t *pool,
-                          const char *path,
-                          svn_revnum_t rev);
-
-/** Send a "get-file-revs" command over connection @a conn.
- * Use @a pool for allocations.
- *
- * @see #svn_ra_get_file_revs2 for a description.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_get_file_revs(svn_ra_svn_conn_t *conn,
-                                   apr_pool_t *pool,
-                                   const char *path,
-                                   svn_revnum_t start,
-                                   svn_revnum_t end,
-                                   svn_boolean_t include_merged_revisions);
-
-/** Send a "lock" command over connection @a conn.
- * Use @a pool for allocations.
- *
- * @see #svn_ra_lock for a description.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_lock(svn_ra_svn_conn_t *conn,
-                          apr_pool_t *pool,
-                          const char *path,
-                          const char *comment,
-                          svn_boolean_t steal_lock,
-                          svn_revnum_t revnum);
-
-/** Send a "unlock" command over connection @a conn.
- * Use @a pool for allocations.
- *
- * @see #svn_ra_unlock for a description.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_unlock(svn_ra_svn_conn_t *conn,
-                            apr_pool_t *pool,
-                            const char *path,
-                            const char *token,
-                            svn_boolean_t break_lock);
-
-/** Send a "get-lock" command over connection @a conn.
- * Use @a pool for allocations.
- *
- * @see #svn_ra_get_lock for a description.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_get_lock(svn_ra_svn_conn_t *conn,
-                              apr_pool_t *pool,
-                              const char *path);
-
-/** Send a "get-locks" command over connection @a conn.
- * Use @a pool for allocations.
- *
- * @see #svn_ra_get_locks2 for a description.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_get_locks(svn_ra_svn_conn_t *conn,
-                               apr_pool_t *pool,
-                               const char *path,
-                               svn_depth_t depth);
-
-/** Send a "replay" command over connection @a conn.
- * Use @a pool for allocations.
- *
- * @see #svn_ra_replay for a description.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_replay(svn_ra_svn_conn_t *conn,
-                            apr_pool_t *pool,
-                            svn_revnum_t rev,
-                            svn_revnum_t low_water_mark,
-                            svn_boolean_t send_deltas);
-
-/** Send a "replay-range" command over connection @a conn.
- * Use @a pool for allocations.
- *
- * @see #svn_ra_replay_range for a description.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_replay_range(svn_ra_svn_conn_t *conn,
-                                  apr_pool_t *pool,
-                                  svn_revnum_t start_revision,
-                                  svn_revnum_t end_revision,
-                                  svn_revnum_t low_water_mark,
-                                  svn_boolean_t send_deltas);
-
-/** Send a "get-deleted-rev" command over connection @a conn.
- * Use @a pool for allocations.
- *
- * @see #svn_ra_get_deleted_rev for a description.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_get_deleted_rev(svn_ra_svn_conn_t *conn,
-                                     apr_pool_t *pool,
-                                     const char *path,
-                                     svn_revnum_t peg_revision,
-                                     svn_revnum_t end_revision);
-
-/** Send a "get-iprops" command over connection @a conn.
- * Use @a pool for allocations.
- *
- * @see #svn_ra_get_inherited_props for a description.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_get_iprops(svn_ra_svn_conn_t *conn,
-                                apr_pool_t *pool,
-                                const char *path,
-                                svn_revnum_t revision);
-
-/** Send a "finish-replay" command over connection @a conn.
- * Use @a pool for allocations.
- */
-svn_error_t *
-svn_ra_svn_write_cmd_finish_replay(svn_ra_svn_conn_t *conn,
-                                   apr_pool_t *pool);
+                             svn_error_t *err);
 
 /**
  * @}
  */
+
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */

Modified: subversion/branches/verify-keep-going/subversion/include/svn_repos.h
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/include/svn_repos.h?rev=1489765&r1=1489764&r2=1489765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/include/svn_repos.h (original)
+++ subversion/branches/verify-keep-going/subversion/include/svn_repos.h Wed Jun  5 09:22:43 2013
@@ -69,8 +69,11 @@ enum svn_node_action
 /** The different policies for processing the UUID in the dumpfile. */
 enum svn_repos_load_uuid
 {
+  /** only update uuid if the repos has no revisions. */
   svn_repos_load_uuid_default,
+  /** never update uuid. */
   svn_repos_load_uuid_ignore,
+  /** always update uuid. */
   svn_repos_load_uuid_force
 };
 
@@ -298,8 +301,7 @@ typedef struct svn_repos_notify_t
    * the revision which just completed. */
   svn_revnum_t revision;
 
-  /** For #svn_repos_notify_warning, the warning object. Must be cleared
-      by the consumer of the notification. */
+  /** For #svn_repos_notify_warning, the warning object. */
   const char *warning_str;
   svn_repos_notify_warning_t warning;
 
@@ -511,9 +513,9 @@ svn_repos_has_capability(svn_repos_t *re
  * The set is represented as a hash whose keys are the set members.  The values
  * are not defined.
  *
- * @see svn_repos_info()
+ * @see svn_repos_info_format()
  *
- * @since New in 1.8.
+ * @since New in 1.9.
  */
 svn_error_t *
 svn_repos_capabilities(apr_hash_t **capabilities,
@@ -701,7 +703,7 @@ typedef svn_error_t *(*svn_repos_freeze_
 /**
  * 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.  Each repository may be readable by
+ * freeze_func passing @a freeze_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.
@@ -715,8 +717,8 @@ typedef svn_error_t *(*svn_repos_freeze_
  */
 svn_error_t *
 svn_repos_freeze(apr_array_header_t *paths,
-                 svn_repos_freeze_func_t freeze_body,
-                 void *baton,
+                 svn_repos_freeze_func_t freeze_func,
+                 void *freeze_baton,
                  apr_pool_t *pool);
 
 /** This function is a wrapper around svn_fs_berkeley_logfiles(),
@@ -837,7 +839,7 @@ svn_repos_post_unlock_hook(svn_repos_t *
  * 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.
- * 
+ *
  * Use @a scratch_pool for temporary allocations.
  *
  * If this function is not called, or if the specified configuration
@@ -964,9 +966,9 @@ svn_repos_begin_report3(void **report_ba
  * always passed as 0.
  *
  * @since New in 1.5.
- * 
  * @deprecated Provided for backward compatibility with the 1.7 API.
  */
+SVN_DEPRECATED
 svn_error_t *
 svn_repos_begin_report2(void **report_baton,
                         svn_revnum_t revnum,
@@ -2504,9 +2506,9 @@ svn_repos_node_from_baton(void *edit_bat
  * Set @a *supports_version to the version number of the minimum Subversion GA
  * release that can read and write @a repos.
  *
- * @see svn_fs_info_format()
+ * @see svn_fs_info_format(), svn_repos_capabilities()
  *
- * @since New in 1.8.
+ * @since New in 1.9.
  */
 svn_error_t *
 svn_repos_info_format(int *repos_format,
@@ -3268,7 +3270,7 @@ 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.
  *
@@ -3292,7 +3294,7 @@ svn_repos_authz_read(svn_authz_t **authz
  */
 svn_error_t *
 svn_repos_authz_parse(svn_authz_t **authz_p,
-                      svn_stream_t *stream, 
+                      svn_stream_t *stream,
                       svn_stream_t *groups_stream,
                       apr_pool_t *pool);
 
@@ -3383,8 +3385,14 @@ svn_repos_authz_check_access(svn_authz_t
  */
 typedef enum svn_repos_revision_access_level_t
 {
+  /** no access allowed to the revision properties and all changed-paths
+   * information. */ 
   svn_repos_revision_access_none,
+  /** access granted to some (svn:date and svn:author) revision properties and
+   * changed-paths information on paths the read has access to. */
   svn_repos_revision_access_partial,
+  /** access granted to all revision properites and changed-paths
+   * information. */
   svn_repos_revision_access_full
 }
 svn_repos_revision_access_level_t;

Modified: subversion/branches/verify-keep-going/subversion/include/svn_string.h
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/include/svn_string.h?rev=1489765&r1=1489764&r2=1489765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/include/svn_string.h (original)
+++ subversion/branches/verify-keep-going/subversion/include/svn_string.h Wed Jun  5 09:22:43 2013
@@ -407,9 +407,11 @@ svn_string_compare_stringbuf(const svn_s
  * @{
  */
 
-/** Divide @a input into substrings along @a sep_chars boundaries, return an
- * array of copies of those substrings (plain const char*), allocating both
- * the array and the copies in @a pool.
+/** Divide @a input into substrings, interpreting any char from @a sep
+ * as a token separator.  
+ *
+ * Return an array of copies of those substrings (plain const char*),
+ * allocating both the array and the copies in @a pool.
  *
  * None of the elements added to the array contain any of the
  * characters in @a sep_chars, and none of the new elements are empty

Modified: subversion/branches/verify-keep-going/subversion/include/svn_subst.h
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/include/svn_subst.h?rev=1489765&r1=1489764&r2=1489765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/include/svn_subst.h (original)
+++ subversion/branches/verify-keep-going/subversion/include/svn_subst.h Wed Jun  5 09:22:43 2013
@@ -127,13 +127,32 @@ typedef struct svn_subst_keywords_t
  * Set @a *kw to a new keywords hash filled with the appropriate contents
  * given a @a keywords_string (the contents of the svn:keywords
  * property for the file in question), the revision @a rev, the @a url,
- * the @a date the file was committed on, and the @a author of the last
- * commit.
+ * the @a date the file was committed on, the @a author of the last
+ * commit, and the URL of the repository root @a repos_root_url.
  *
- * Any of the inputs @a rev, @a url, @a date and @a author can be @c NULL,
- * or @c 0 for @a date, to indicate that the information is not present.
- * Each piece of information that is not present expands to the empty
- * string wherever it appears in an expanded keyword value.  (This can
+ * Custom keywords defined in svn:keywords properties are expanded
+ * using the provided parameters and in accordance with the following
+ * format substitutions in the @a keywords_string:
+ *   %a   - The author.
+ *   %b   - The basename of the URL.
+ *   %d   - Short format of the date.
+ *   %D   - Long format of the date.
+ *   %P   - The file's path, relative to the repository root URL.
+ *   %r   - The revision.
+ *   %R   - The URL to the root of the repository.
+ *   %u   - The URL of the file.
+ *   %_   - A space (keyword definitions cannot contain a literal space).
+ *   %%   - A literal '%'.
+ *   %H   - Equivalent to %P%_%r%_%d%_%a.
+ *   %I   - Equivalent to %b%_%r%_%d%_%a.
+ *
+ * Custom keywords are defined by appending '=' to the keyword name, followed
+ * by a string containing any combination of the format substitutions.
+ *
+ * Any of the inputs @a rev, @a url, @a date, @a author, and @a repos_root_url
+ * can be @c NULL, or @c 0 for @a date, to indicate that the information is
+ * not present. Each piece of information that is not present expands to the
+ * empty string wherever it appears in an expanded keyword value.  (This can
  * result in multiple adjacent spaces in the expansion of a multi-valued
  * keyword such as "Id".)
  *
@@ -142,8 +161,26 @@ typedef struct svn_subst_keywords_t
  *
  * All memory is allocated out of @a pool.
  *
+ * @since New in 1.8.
+ */
+svn_error_t *
+svn_subst_build_keywords3(apr_hash_t **kw,
+                          const char *keywords_string,
+                          const char *rev,
+                          const char *url,
+                          const char *repos_root_url,
+                          apr_time_t date,
+                          const char *author,
+                          apr_pool_t *pool);
+
+/** Similar to svn_subst_build_keywords3() except that it does not accept
+ * the @a repos_root_url parameter and hence supports less substitutions,
+ * and also does not support custom keyword definitions.
+ *
  * @since New in 1.3.
+ * @deprecated Provided for backward compatibility with the 1.7 API.
  */
+SVN_DEPRECATED
 svn_error_t *
 svn_subst_build_keywords2(apr_hash_t **kw,
                           const char *keywords_string,

Modified: subversion/branches/verify-keep-going/subversion/include/svn_types.h
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/include/svn_types.h?rev=1489765&r1=1489764&r2=1489765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/include/svn_types.h (original)
+++ subversion/branches/verify-keep-going/subversion/include/svn_types.h Wed Jun  5 09:22:43 2013
@@ -72,10 +72,16 @@ extern "C" {
  * Unaligned access on other machines (e.g. IA64) will trigger memory
  * access faults or simply misbehave.
  *
+ * Note: Some platforms may only support unaligned access for integers
+ * (PowerPC).  As a result this macro should only be used to determine
+ * if unaligned access is supported for integers.
+ *
  * @since New in 1.7.
  */
 #ifndef SVN_UNALIGNED_ACCESS_IS_OK
-# if defined(_M_IX86) || defined(_M_X64) || defined(i386) || defined(__x86_64)
+# if defined(_M_IX86) || defined(i386) \
+     || defined(_M_X64) || defined(__x86_64) \
+     || defined(__powerpc__) || defined(__ppc__)
 #  define SVN_UNALIGNED_ACCESS_IS_OK 1
 # else
 #  define SVN_UNALIGNED_ACCESS_IS_OK 0
@@ -270,8 +276,11 @@ svn_node_kind_from_word(const char *word
  * @since New in 1.7. */
 typedef enum svn_tristate_t
 {
+  /** state known to be false (the constant does not evaulate to false) */
   svn_tristate_false = 2,
+  /** state known to be true */
   svn_tristate_true,
+  /** state could be true or false */
   svn_tristate_unknown
 } svn_tristate_t;
 

Modified: subversion/branches/verify-keep-going/subversion/include/svn_utf.h
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/include/svn_utf.h?rev=1489765&r1=1489764&r2=1489765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/include/svn_utf.h (original)
+++ subversion/branches/verify-keep-going/subversion/include/svn_utf.h Wed Jun  5 09:22:43 2013
@@ -63,15 +63,16 @@ extern "C" {
  * @since New in 1.8.
  */
 void
-svn_utf_initialize2(apr_pool_t *pool,
-                    svn_boolean_t assume_native_utf8);
+svn_utf_initialize2(svn_boolean_t assume_native_utf8,
+                    apr_pool_t *pool);
 
 /**
- * Like svn_utf_initialize but without the ability to force the
+ * Like svn_utf_initialize2() but without the ability to force the
  * native encoding to UTF-8.
  *
  * @deprecated Provided for backward compatibility with the 1.7 API.
  */
+SVN_DEPRECATED
 void
 svn_utf_initialize(apr_pool_t *pool);
 

Modified: subversion/branches/verify-keep-going/subversion/include/svn_version.h
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/include/svn_version.h?rev=1489765&r1=1489764&r2=1489765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/include/svn_version.h (original)
+++ subversion/branches/verify-keep-going/subversion/include/svn_version.h Wed Jun  5 09:22:43 2013
@@ -63,7 +63,7 @@ extern "C" {
  * Modify when new functionality is added or new interfaces are
  * defined, but all changes are backward compatible.
  */
-#define SVN_VER_MINOR      8
+#define SVN_VER_MINOR      9
 
 /**
  * Patch number.
@@ -116,10 +116,8 @@ extern "C" {
 /** Revision number: The repository revision number of this release.
  *
  * This constant is used to generate the build number part of the Windows
- * file version. Its value remains 0 in the repository.
- *
- * When rolling a tarball, we automatically replace it with what we
- * guess to be the correct revision number.
+ * file version. Its value remains 0 in the repository except in release
+ * tags where it is the revision from which the tag was created.
  */
 #define SVN_VER_REVISION   0
 

Modified: subversion/branches/verify-keep-going/subversion/include/svn_wc.h
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/include/svn_wc.h?rev=1489765&r1=1489764&r2=1489765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/include/svn_wc.h (original)
+++ subversion/branches/verify-keep-going/subversion/include/svn_wc.h Wed Jun  5 09:22:43 2013
@@ -1247,7 +1247,7 @@ typedef enum svn_wc_notify_action_t
    * @since New in 1.8. */
   svn_wc_notify_left_local_modifications,
 
-  /** A copy from a foreign repository has started 
+  /** A copy from a foreign repository has started
    * @since New in 1.8. */
   svn_wc_notify_foreign_copy_begin,
 
@@ -2109,9 +2109,8 @@ typedef struct svn_wc_conflict_result_t
  * Allocate an #svn_wc_conflict_result_t structure in @a pool,
  * initialize and return it.
  *
- * Set the @c choice field of the structure to @a choice, and @c
- * merged_file to @a merged_file.  Set all other fields to their @c
- * _unknown, @c NULL or invalid value, respectively. Make only a shallow
+ * Set the @c choice field of the structure to @a choice, @c merged_file
+ * to @a merged_file, and @c save_merged to false.  Make only a shallow
  * copy of the pointer argument @a merged_file.
  *
  * @since New in 1.5.
@@ -4423,6 +4422,7 @@ svn_wc_copy(const char *src,
  * @deprecated Provided for backward compatibility with the 1.7 API.
  * @see svn_client_move7()
  */
+SVN_DEPRECATED
 svn_error_t *
 svn_wc_move(svn_wc_context_t *wc_ctx,
             const char *src_abspath,
@@ -8131,17 +8131,17 @@ svn_wc_exclude(svn_wc_context_t *wc_ctx,
  *
  * If @a show_hidden and @a show_deleted are both @c FALSE, the kind of
  * scheduled for delete, administrative only 'not present' and excluded
- * nodes is reported as #svn_node_kind_node. This is recommended as a check
+ * nodes is reported as #svn_node_none. This is recommended as a check
  * for 'is there a versioned file or directory here?'
  *
  * If @a show_deleted is FALSE, but @a show_hidden is @c TRUE then only
  * scheduled for delete and administrative only 'not present' nodes are
- * reported as #svn_node_kind_none. This is recommended as check for
+ * reported as #svn_node_none. This is recommended as check for
  * 'Can I add a node here?'
  *
  * If @a show_deleted is TRUE, but @a show_hidden is FALSE, then only
  * administrative only 'not present' nodes and excluded nodes are reported as
- * #svn_node_kind_none. This behavior is the behavior bescribed as 'hidden'
+ * #svn_node_none. This behavior is the behavior bescribed as 'hidden'
  * before Subversion 1.7.
  *
  * If @a show_hidden and @a show_deleted are both @c TRUE all nodes are

Modified: subversion/branches/verify-keep-going/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c?rev=1489765&r1=1489764&r2=1489765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c (original)
+++ subversion/branches/verify-keep-going/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c Wed Jun  5 09:22:43 2013
@@ -29,6 +29,9 @@
 
 #include <apr_pools.h>
 #include <apr_strings.h>
+#include <glib.h>
+#include <gnome-keyring.h>
+
 #include "svn_auth.h"
 #include "svn_config.h"
 #include "svn_error.h"
@@ -39,8 +42,6 @@
 
 #include "svn_private_config.h"
 
-#include <glib.h>
-#include <gnome-keyring.h>
 
 
 /*-----------------------------------------------------------------------*/

Modified: subversion/branches/verify-keep-going/subversion/libsvn_auth_kwallet/kwallet.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/libsvn_auth_kwallet/kwallet.cpp?rev=1489765&r1=1489764&r2=1489765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/libsvn_auth_kwallet/kwallet.cpp (original)
+++ subversion/branches/verify-keep-going/subversion/libsvn_auth_kwallet/kwallet.cpp Wed Jun  5 09:22:43 2013
@@ -33,6 +33,17 @@
 
 #include <apr_pools.h>
 #include <apr_strings.h>
+
+#include <dbus/dbus.h>
+#include <QtCore/QCoreApplication>
+#include <QtCore/QString>
+
+#include <kaboutdata.h>
+#include <kcmdlineargs.h>
+#include <kcomponentdata.h>
+#include <klocalizedstring.h>
+#include <kwallet.h>
+
 #include "svn_auth.h"
 #include "svn_config.h"
 #include "svn_error.h"
@@ -45,17 +56,7 @@
 
 #include "svn_private_config.h"
 
-#include <dbus/dbus.h>
-#include <QtCore/QCoreApplication>
-#include <QtCore/QString>
-
-#include <kaboutdata.h>
-#include <kcmdlineargs.h>
-#include <kcomponentdata.h>
-#include <klocalizedstring.h>
-#include <kwallet.h>
 
-
 /*-----------------------------------------------------------------------*/
 /* KWallet simple provider, puts passwords in KWallet                    */
 /*-----------------------------------------------------------------------*/

Modified: subversion/branches/verify-keep-going/subversion/libsvn_client/add.c
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/libsvn_client/add.c?rev=1489765&r1=1489764&r2=1489765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/libsvn_client/add.c (original)
+++ subversion/branches/verify-keep-going/subversion/libsvn_client/add.c Wed Jun  5 09:22:43 2013
@@ -641,7 +641,7 @@ svn_client__get_all_auto_props(apr_hash_
   *autoprops = apr_hash_make(result_pool);
   autoprops_baton.result_pool = result_pool;
   autoprops_baton.autoprops = *autoprops;
-  
+
 
   /* Are "traditional" auto-props enabled?  If so grab them from the
     config.  This is our starting set auto-props, which may be overriden
@@ -704,15 +704,12 @@ svn_client__get_all_auto_props(apr_hash_
 
   for (i = 0; i < inherited_config_auto_props->nelts; i++)
     {
-      apr_hash_index_t *hi;
       svn_prop_inherited_item_t *elt = APR_ARRAY_IDX(
         inherited_config_auto_props, i, svn_prop_inherited_item_t *);
+      const svn_string_t *propval =
+        svn_hash_gets(elt->prop_hash, SVN_PROP_INHERITABLE_AUTO_PROPS);
 
-      for (hi = apr_hash_first(scratch_pool, elt->prop_hash);
-           hi;
-           hi = apr_hash_next(hi))
         {
-          const svn_string_t *propval = svn__apr_hash_index_val(hi);
           const char *ch = propval->data;
           svn_stringbuf_t *config_auto_prop_pattern;
           svn_stringbuf_t *config_auto_prop_val;
@@ -1026,7 +1023,7 @@ svn_client_add5(const char *path,
   SVN_WC__CALL_WITH_WRITE_LOCK(
     add(local_abspath, depth, force, no_ignore, no_autoprops,
         existing_parent_abspath, ctx, scratch_pool),
-    ctx->wc_ctx, (existing_parent_abspath ? existing_parent_abspath 
+    ctx->wc_ctx, (existing_parent_abspath ? existing_parent_abspath
                                           : parent_abspath),
     FALSE /* lock_anchor */, scratch_pool);
   return SVN_NO_ERROR;
@@ -1131,7 +1128,7 @@ mkdir_urls(const apr_array_header_t *url
 
       if (*bname == '\0')
         return svn_error_createf(SVN_ERR_ILLEGAL_TARGET, NULL,
-                                 _("There is no valid uri above '%s'"),
+                                 _("There is no valid URI above '%s'"),
                                  common);
     }
   else
@@ -1158,7 +1155,7 @@ mkdir_urls(const apr_array_header_t *url
 
           if (*bname == '\0')
              return svn_error_createf(SVN_ERR_ILLEGAL_TARGET, NULL,
-                                      _("There is no valid uri above '%s'"),
+                                      _("There is no valid URI above '%s'"),
                                       common);
 
           for (i = 0; i < targets->nelts; i++)

Modified: subversion/branches/verify-keep-going/subversion/libsvn_client/cat.c
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/libsvn_client/cat.c?rev=1489765&r1=1489764&r2=1489765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/libsvn_client/cat.c (original)
+++ subversion/branches/verify-keep-going/subversion/libsvn_client/cat.c Wed Jun  5 09:22:43 2013
@@ -124,12 +124,18 @@ svn_client__get_normalized_stream(svn_st
       const char *author;
       const char *url;
       apr_time_t tm;
+      const char *repos_root_url;
+      const char *repos_relpath;
 
       SVN_ERR(svn_wc__node_get_changed_info(&changed_rev, &tm, &author, wc_ctx,
                                             local_abspath, scratch_pool,
                                             scratch_pool));
-      SVN_ERR(svn_wc__node_get_url(&url, wc_ctx, local_abspath, scratch_pool,
-                                   scratch_pool));
+      SVN_ERR(svn_wc__node_get_repos_info(NULL, &repos_relpath, &repos_root_url,
+                                          NULL,
+                                          wc_ctx, local_abspath, scratch_pool,
+                                          scratch_pool));
+      url = svn_path_url_add_component2(repos_root_url, repos_relpath,
+                                        scratch_pool);
 
       if (local_mod)
         {
@@ -152,8 +158,9 @@ svn_client__get_normalized_stream(svn_st
           rev_str = apr_psprintf(scratch_pool, "%ld", changed_rev);
         }
 
-      SVN_ERR(svn_subst_build_keywords2(&kw, keywords->data, rev_str, url, tm,
-                                        author, scratch_pool));
+      SVN_ERR(svn_subst_build_keywords3(&kw, keywords->data, rev_str, url,
+                                        repos_root_url, tm, author,
+                                        scratch_pool));
     }
 
   /* Wrap the output stream if translation is needed. */
@@ -181,6 +188,7 @@ svn_client_cat2(svn_stream_t *out,
   svn_string_t *eol_style;
   svn_string_t *keywords;
   apr_hash_t *props;
+  const char *repos_root_url;
   svn_stream_t *output = out;
   svn_error_t *err;
 
@@ -225,6 +233,9 @@ svn_client_cat2(svn_stream_t *out,
                                             peg_revision,
                                             revision, ctx, pool));
 
+  /* Find the repos root URL */
+  SVN_ERR(svn_ra_get_repos_root2(ra_session, &repos_root_url, pool));
+
   /* Grab some properties we need to know in order to figure out if anything
      special needs to be done with this file. */
   err = svn_ra_get_file(ra_session, "", loc->rev, NULL, NULL, &props, pool);
@@ -272,13 +283,12 @@ svn_client_cat2(svn_stream_t *out,
           if (cmt_date)
             SVN_ERR(svn_time_from_cstring(&when, cmt_date->data, pool));
 
-          SVN_ERR(svn_subst_build_keywords2
-                  (&kw, keywords->data,
-                   cmt_rev->data,
-                   loc->url,
-                   when,
-                   cmt_author ? cmt_author->data : NULL,
-                   pool));
+          SVN_ERR(svn_subst_build_keywords3(&kw, keywords->data,
+                                            cmt_rev->data, loc->url,
+                                            repos_root_url, when,
+                                            cmt_author ?
+                                              cmt_author->data : NULL,
+                                            pool));
         }
       else
         kw = NULL;

Modified: subversion/branches/verify-keep-going/subversion/libsvn_client/commit_util.c
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/libsvn_client/commit_util.c?rev=1489765&r1=1489764&r2=1489765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/libsvn_client/commit_util.c (original)
+++ subversion/branches/verify-keep-going/subversion/libsvn_client/commit_util.c Wed Jun  5 09:22:43 2013
@@ -468,7 +468,7 @@ harvest_not_present_for_copy(svn_wc_cont
   SVN_ERR(svn_wc__node_get_children_of_working_node(
                                     &children, wc_ctx, local_abspath, TRUE,
                                     scratch_pool, iterpool));
-      
+
   for (i = 0; i < children->nelts; i++)
     {
       const char *this_abspath = APR_ARRAY_IDX(children, i, const char *);
@@ -562,7 +562,7 @@ harvest_status_callback(void *status_bat
   svn_boolean_t copy_mode;
 
   struct harvest_baton *baton = status_baton;
-  svn_boolean_t is_harvest_root = 
+  svn_boolean_t is_harvest_root =
                 (strcmp(baton->root_abspath, local_abspath) == 0);
   svn_client__committables_t *committables = baton->committables;
   const char *repos_root_url = status->repos_root_url;
@@ -884,7 +884,7 @@ harvest_status_callback(void *status_bat
         }
     }
 
-  /* Make sure we check for dangling children on additions 
+  /* Make sure we check for dangling children on additions
 
      We perform this operation on the harvest root, and on roots caused by
      changelist filtering.

Modified: subversion/branches/verify-keep-going/subversion/libsvn_client/copy.c
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/libsvn_client/copy.c?rev=1489765&r1=1489764&r2=1489765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/libsvn_client/copy.c (original)
+++ subversion/branches/verify-keep-going/subversion/libsvn_client/copy.c Wed Jun  5 09:22:43 2013
@@ -1582,7 +1582,7 @@ repos_to_wc_copy_single(svn_boolean_t *t
           /* Find a temporary location in which to check out the copy source. */
           SVN_ERR(svn_wc__get_tmpdir(&tmpdir_abspath, ctx->wc_ctx, dst_abspath,
                                      pool, pool));
-                                     
+
           SVN_ERR(svn_io_open_unique_file3(NULL, &tmp_abspath, tmpdir_abspath,
                                            svn_io_file_del_on_close, pool, pool));
 
@@ -1597,14 +1597,14 @@ repos_to_wc_copy_single(svn_boolean_t *t
             void *old_notify_baton2 = ctx->notify_baton2;
             struct notification_adjust_baton nb;
             svn_error_t *err;
-          
+
             nb.inner_func = ctx->notify_func2;
             nb.inner_baton = ctx->notify_baton2;
             nb.checkout_abspath = tmp_abspath;
             nb.final_abspath = dst_abspath;
             ctx->notify_func2 = notification_adjust_func;
             ctx->notify_baton2 = &nb;
-          
+
             err = svn_client__checkout_internal(&pair->src_revnum,
                                                 pair->src_original,
                                                 tmp_abspath,
@@ -1613,7 +1613,7 @@ repos_to_wc_copy_single(svn_boolean_t *t
                                                 svn_depth_infinity,
                                                 ignore_externals, FALSE,
                                                 &sleep_needed, ctx, pool);
-          
+
             ctx->notify_func2 = old_notify_func2;
             ctx->notify_baton2 = old_notify_baton2;
 
@@ -1910,7 +1910,14 @@ repos_to_wc_copy(svn_boolean_t *timestam
         ((revision.kind != svn_opt_revision_unspecified) \
           && (revision.kind != svn_opt_revision_working))
 
-/* Perform all allocations in POOL. */
+/* ...
+ *
+ * Set *TIMESTAMP_SLEEP to TRUE if a sleep is required; otherwise do not
+ * change *TIMESTAMP_SLEEP.  This output will be valid even if the
+ * function returns an error.
+ *
+ * Perform all allocations in POOL.
+ */
 static svn_error_t *
 try_copy(svn_boolean_t *timestamp_sleep,
          const apr_array_header_t *sources,
@@ -2258,7 +2265,7 @@ svn_client_copy6(const apr_array_header_
                  apr_pool_t *pool)
 {
   svn_error_t *err;
-  svn_boolean_t timestamp_sleep;
+  svn_boolean_t timestamp_sleep = FALSE;
   apr_pool_t *subpool = svn_pool_create(pool);
 
   if (sources->nelts > 1 && !copy_as_child)
@@ -2294,13 +2301,13 @@ svn_client_copy6(const apr_array_header_
 
       src_basename = src_is_url ? svn_uri_basename(src_path, subpool)
                                 : svn_dirent_basename(src_path, subpool);
+      dst_path
+        = dst_is_url ? svn_path_url_add_component2(dst_path, src_basename,
+                                                   subpool)
+                     : svn_dirent_join(dst_path, src_basename, subpool);
 
       err = try_copy(&timestamp_sleep,
-                     sources,
-                     dst_is_url
-                         ? svn_path_url_add_component2(dst_path, src_basename,
-                                                       subpool)
-                         : svn_dirent_join(dst_path, src_basename, subpool),
+                     sources, dst_path,
                      FALSE /* is_move */,
                      TRUE /* allow_mixed_revisions */,
                      FALSE /* metadata_only */,
@@ -2312,8 +2319,9 @@ svn_client_copy6(const apr_array_header_
                      subpool);
     }
 
+  /* Sleep if required.  DST_PATH is not a URL in these cases. */
   if (timestamp_sleep)
-    svn_io_sleep_for_timestamps(NULL, subpool);
+    svn_io_sleep_for_timestamps(dst_path, subpool);
 
   svn_pool_destroy(subpool);
   return svn_error_trace(err);
@@ -2336,7 +2344,7 @@ svn_client_move7(const apr_array_header_
   const svn_opt_revision_t head_revision
     = { svn_opt_revision_head, { 0 } };
   svn_error_t *err;
-  svn_boolean_t timestamp_sleep;
+  svn_boolean_t timestamp_sleep = FALSE;
   int i;
   apr_pool_t *subpool = svn_pool_create(pool);
   apr_array_header_t *sources = apr_array_make(pool, src_paths->nelts,
@@ -2387,13 +2395,13 @@ svn_client_move7(const apr_array_header_
 
       src_basename = src_is_url ? svn_uri_basename(src_path, pool)
                                 : svn_dirent_basename(src_path, pool);
+      dst_path
+        = dst_is_url ? svn_path_url_add_component2(dst_path, src_basename,
+                                                   subpool)
+                     : svn_dirent_join(dst_path, src_basename, subpool);
 
       err = try_copy(&timestamp_sleep,
-                     sources,
-                     dst_is_url
-                         ? svn_path_url_add_component2(dst_path,
-                                                       src_basename, pool)
-                         : svn_dirent_join(dst_path, src_basename, pool),
+                     sources, dst_path,
                      TRUE /* is_move */,
                      allow_mixed_revisions,
                      metadata_only,
@@ -2405,8 +2413,9 @@ svn_client_move7(const apr_array_header_
                      subpool);
     }
 
+  /* Sleep if required.  DST_PATH is not a URL in these cases. */
   if (timestamp_sleep)
-    svn_io_sleep_for_timestamps(NULL, subpool);
+    svn_io_sleep_for_timestamps(dst_path, subpool);
 
   svn_pool_destroy(subpool);
   return svn_error_trace(err);

Modified: subversion/branches/verify-keep-going/subversion/libsvn_client/copy_foreign.c
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/libsvn_client/copy_foreign.c?rev=1489765&r1=1489764&r2=1489765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/libsvn_client/copy_foreign.c (original)
+++ subversion/branches/verify-keep-going/subversion/libsvn_client/copy_foreign.c Wed Jun  5 09:22:43 2013
@@ -22,7 +22,7 @@
  */
 
 /* ==================================================================== */
- 
+
 /*** Includes. ***/
 
 #include <string.h>

Modified: subversion/branches/verify-keep-going/subversion/libsvn_client/ctx.c
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/libsvn_client/ctx.c?rev=1489765&r1=1489764&r2=1489765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/libsvn_client/ctx.c (original)
+++ subversion/branches/verify-keep-going/subversion/libsvn_client/ctx.c Wed Jun  5 09:22:43 2013
@@ -82,7 +82,7 @@ svn_client_create_context2(svn_client_ct
                            apr_pool_t *pool)
 {
   svn_config_t *cfg_config;
-                                   
+
   *ctx = apr_pcalloc(pool, sizeof(svn_client_ctx_t));
 
   (*ctx)->notify_func2 = call_notify_func;

Modified: subversion/branches/verify-keep-going/subversion/libsvn_client/delete.c
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/libsvn_client/delete.c?rev=1489765&r1=1489764&r2=1489765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/libsvn_client/delete.c (original)
+++ subversion/branches/verify-keep-going/subversion/libsvn_client/delete.c Wed Jun  5 09:22:43 2013
@@ -100,12 +100,12 @@ find_undeletables(void *baton,
 }
 
 /* Check whether LOCAL_ABSPATH is an external and raise an error if it is.
-  
+
    A file external should not be deleted since the file external is
    implemented as a switched file and it would delete the file the
    file external is switched to, which is not the behavior the user
    would probably want.
-   
+
    A directory external should not be deleted since it is the root
    of a different working copy. */
 static svn_error_t *
@@ -396,7 +396,7 @@ delete_urls_multi_repos(const apr_array_
           svn_uri_split(&base_uri, &target_relpath, base_uri, iterpool);
           APR_ARRAY_IDX(target_relpaths, 0, const char *) = target_relpath;
         }
-          
+
       SVN_ERR(svn_ra_reparent(repos_deletables->ra_session, base_uri, pool));
       SVN_ERR(single_repos_delete(repos_deletables->ra_session, repos_root,
                                   target_relpaths,

Modified: subversion/branches/verify-keep-going/subversion/libsvn_client/deprecated.c
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/libsvn_client/deprecated.c?rev=1489765&r1=1489764&r2=1489765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/libsvn_client/deprecated.c (original)
+++ subversion/branches/verify-keep-going/subversion/libsvn_client/deprecated.c Wed Jun  5 09:22:43 2013
@@ -1328,7 +1328,7 @@ list_func_wrapper(void *baton,
   struct list_func_wrapper_baton *lfwb = baton;
 
   if (lfwb->list_func1)
-    return lfwb->list_func1(lfwb->list_func1_baton, path, dirent, 
+    return lfwb->list_func1(lfwb->list_func1_baton, path, dirent,
                            lock, abs_path, scratch_pool);
 
   return SVN_NO_ERROR;
@@ -1344,7 +1344,7 @@ wrap_list_func(svn_client_list_func2_t *
                void *baton,
                apr_pool_t *result_pool)
 {
-  struct list_func_wrapper_baton *lfwb = apr_palloc(result_pool, 
+  struct list_func_wrapper_baton *lfwb = apr_palloc(result_pool,
                                                     sizeof(*lfwb));
 
   /* Set the user provided old format callback in the baton. */
@@ -1372,8 +1372,8 @@ svn_client_list2(const char *path_or_url
 
   wrap_list_func(&list_func2, &list_func2_baton, list_func, baton, pool);
 
-  return svn_client_list3(path_or_url, peg_revision, revision, depth, 
-                          dirent_fields, fetch_locks, 
+  return svn_client_list3(path_or_url, peg_revision, revision, depth,
+                          dirent_fields, fetch_locks,
                           FALSE /* include externals */,
                           list_func2, list_func2_baton, ctx, pool);
 }

Modified: subversion/branches/verify-keep-going/subversion/libsvn_client/diff.c
URL: http://svn.apache.org/viewvc/subversion/branches/verify-keep-going/subversion/libsvn_client/diff.c?rev=1489765&r1=1489764&r2=1489765&view=diff
==============================================================================
--- subversion/branches/verify-keep-going/subversion/libsvn_client/diff.c (original)
+++ subversion/branches/verify-keep-going/subversion/libsvn_client/diff.c Wed Jun  5 09:22:43 2013
@@ -67,7 +67,7 @@
  * and WC_CTX, and return the result in *REPOS_RELPATH.
  * ORIG_TARGET is the related original target passed to the diff command,
  * and may be used to derive leading path components missing from PATH.
- * ANCHOR is the local path where the diff editor is anchored. 
+ * ANCHOR is the local path where the diff editor is anchored.
  * Do all allocations in POOL. */
 static svn_error_t *
 make_repos_relpath(const char **repos_relpath,
@@ -183,7 +183,7 @@ adjust_paths_for_diff_labels(const char 
        not for file URLs.  Nor can we just use anchor1 and anchor2
        from do_diff(), at least not without some more logic here.
        What a nightmare.
-       
+
        For now, to distinguish the two paths, we'll just put the
        unique portions of the original targets in parentheses after
        the received path, with ellipses for handwaving.  This makes
@@ -692,7 +692,7 @@ diff_dir_props_changed(svn_wc_notify_sta
 /* Show differences between TMPFILE1 and TMPFILE2. DIFF_RELPATH, REV1, and
    REV2 are used in the headers to indicate the file and revisions.  If either
    MIMETYPE1 or MIMETYPE2 indicate binary content, don't show a diff,
-   but instead print a warning message. 
+   but instead print a warning message.
 
    If FORCE_DIFF is TRUE, always write a diff, even for empty diffs.
 
@@ -954,7 +954,7 @@ diff_file_changed(svn_wc_notify_state_t 
   if (tmpfile1)
     SVN_ERR(diff_content_changed(&wrote_header, diff_relpath,
                                  tmpfile1, tmpfile2, rev1, rev2,
-                                 mimetype1, mimetype2, 
+                                 mimetype1, mimetype2,
                                  svn_diff_op_modified, FALSE,
                                  NULL,
                                  SVN_INVALID_REVNUM, diff_cmd_baton,
@@ -1764,7 +1764,7 @@ diff_repos_repos(const svn_wc_diff_callb
   SVN_ERR(svn_client__get_diff_editor2(
                 &diff_editor, &diff_edit_baton,
                 extra_ra_session, depth,
-                rev1, 
+                rev1,
                 TRUE /* text_deltas */,
                 diff_processor,
                 ctx->cancel_func, ctx->cancel_baton,
@@ -1972,7 +1972,7 @@ diff_repos_wc(const char *path_or_url1,
         }
       SVN_ERR(svn_ra_reparent(ra_session, copyfrom_parent_url, pool));
 
-      /* Tell the RA layer we want a delta to change our txn to URL1 */ 
+      /* Tell the RA layer we want a delta to change our txn to URL1 */
       SVN_ERR(svn_ra_do_diff3(ra_session,
                               &reporter, &reporter_baton,
                               rev,
@@ -2008,7 +2008,7 @@ diff_repos_wc(const char *path_or_url1,
     }
   else
     {
-      /* Tell the RA layer we want a delta to change our txn to URL1 */ 
+      /* Tell the RA layer we want a delta to change our txn to URL1 */
       SVN_ERR(svn_ra_do_diff3(ra_session,
                               &reporter, &reporter_baton,
                               rev,



Mime
View raw message