Index: subversion/include/private/svn_wc_private.h =================================================================== --- subversion/include/private/svn_wc_private.h (revision 932968) +++ subversion/include/private/svn_wc_private.h (working copy) @@ -289,7 +289,15 @@ svn_wc_conflict_description2_t * svn_wc__cd_to_cd2(const svn_wc_conflict_description_t *conflict, apr_pool_t *result_pool); +/* + * Convert from svn_wc_status3_t to svn_wc_status2_t. + * Allocate the result in RESULT_POOL. + */ +svn_wc_status2_t * +svn_wc__status2_from_3(const svn_wc_status3_t *status, + apr_pool_t *result_pool); + /** * Fetch the absolute paths of all the working children of @a dir_abspath * into @a *children, allocated in @a result_pool. Use @a wc_ctx to access Index: subversion/libsvn_wc/deprecated.c =================================================================== --- subversion/libsvn_wc/deprecated.c (revision 932968) +++ subversion/libsvn_wc/deprecated.c (working copy) @@ -2237,10 +2237,7 @@ status4_wrapper_func(void *baton, svn_wc_status2_t *dup; const char *path = local_abspath; - /* ### This conversion will involve a lot more once we start to actually - * ### do some changes in svn_wc_status3_t. We should probably create a - * ### specific function for handling the conversion */ - dup = (svn_wc_status2_t *) svn_wc_dup_status3(status, scratch_pool); + dup = svn_wc__status2_from_3(status, scratch_pool); if (swb->anchor_abspath != NULL) { Index: subversion/libsvn_wc/util.c =================================================================== --- subversion/libsvn_wc/util.c (revision 932968) +++ subversion/libsvn_wc/util.c (working copy) @@ -543,3 +543,10 @@ svn_wc__cd_to_cd2(const svn_wc_conflict_descriptio return new_conflict; } + +svn_wc_status2_t * +svn_wc__status2_from_3(const svn_wc_status3_t *status, + apr_pool_t *scratch_pool) +{ + return (svn_wc_status2_t *) svn_wc_dup_status3(status, scratch_pool); +} Index: subversion/libsvn_client/deprecated.c =================================================================== --- subversion/libsvn_client/deprecated.c (revision 932968) +++ subversion/libsvn_client/deprecated.c (working copy) @@ -42,6 +42,7 @@ #include "client.h" #include "mergeinfo.h" +#include "private/svn_wc_private.h" #include "svn_private_config.h" @@ -1439,12 +1440,8 @@ status4_wrapper_func(void *baton, struct status4_wrapper_baton *swb = baton; svn_wc_status2_t *dup; + dup = svn_wc__status2_from_3(status, scratch_pool); - /* ### This conversion will involve a lot more once we start to actually - * ### do some changes in svn_wc_status3_t. We should probably create a - * ### specific function for handling the conversion */ - dup = (svn_wc_status2_t *) svn_wc_dup_status3(status, scratch_pool); - return (*swb->old_func)(swb->old_baton, path, dup, scratch_pool); }