Index: subversion/include/svn_client.h =================================================================== --- subversion/include/svn_client.h (revision 15561) +++ subversion/include/svn_client.h (working copy) @@ -277,7 +277,27 @@ } svn_client_commit_info_t; +/** objects of this type should always be created using the + * svn_client_create_commit_info() function. + * Else should not be used with any svn library functions. + */ +typedef struct svn_client_commit_info2_t +{ + /** just-committed revision. */ + svn_revnum_t revision; + /** server-side date of the commit. */ + const char *date; + + /** author of the commit. */ + const char *author; + + /** post-commit hook's stderr. */ + const char *post_commit_err; + +} svn_client_commit_info2_t; + + /** * @name Commit state flags * @brief State flags for use with the @c svn_client_commit_item_t structure @@ -798,6 +818,19 @@ /** + * Create an object of type svn_client_commit_info2_t. + * Any object of the type svn_client_commit_info2_t, should + * be created using this function, if it were to be passed to + * any of the svn library functions. + * This is to provide for extending the svn_client_commit_info2_t. + * + * @since New in 1.3. + */ +svn_client_commit_info2_t * +svn_client_create_commit_info (apr_pool_t *pool); + + +/** * Commit files or directories into repository, authenticating with * the authentication baton cached in @a ctx, and using * @a ctx->log_msg_func/@a ctx->log_msg_baton to obtain the log message. Index: subversion/libsvn_client/commit.c =================================================================== --- subversion/libsvn_client/commit.c (revision 15561) +++ subversion/libsvn_client/commit.c (working copy) @@ -1163,6 +1163,12 @@ return SVN_NO_ERROR; } +svn_client_commit_info2_t * +svn_client_create_commit_info (apr_pool_t *pool) +{ + return apr_palloc (pool, sizeof (svn_client_commit_info2_t)); +} + svn_error_t * svn_client_commit2 (svn_client_commit_info_t **commit_info, const apr_array_header_t *targets,