Re: svn commit: r1188256 - in /subversion/trunk/subversion: include/ libsvn_client/ libsvn_delta/ libsvn_ra_neon/ libsvn_ra_serf/ libsvn_ra_svn/ libsvn_repos/ libsvn_wc/ svnrdump/ svnsync/
On Mon, Oct 24, 2011 at 3:13 PM, Daniel Shahaf wrote: > Hyrum K Wright wrote on Mon, Oct 24, 2011 at 15:09:52 -0500: >> On Mon, Oct 24, 2011 at 2:11 PM, Daniel Shahaf >> wrote: >> > Hyrum K Wright wrote on Mon, Oct 24, 2011 at 14:01:20 -0500: >> >> On Mon, Oct 24, 2011 at 1:13 PM, Daniel Shahaf >> >> wrote: >> >> > hwri...@apache.org wrote on Mon, Oct 24, 2011 at 17:48:07 -: >> >> >> Author: hwright >> >> >> Date: Mon Oct 24 17:48:06 2011 >> >> >> New Revision: 1188256 >> >> >> >> >> >> URL: http://svn.apache.org/viewvc?rev=1188256&view=rev >> >> >> Log: >> >> >> Create a struct to hold the ever-growing collection of Ev2 shim >> >> >> callbacks. >> >> >> >> >> >> * subversion/include/svn_delta.h >> >> >> (svn_delta_shim_callbacks_t, svn_delta_shim_callbacks_default): New. >> >> >> (svn_editor__insert_shims): Use the struct in place of individual >> >> >> params. >> >> >> >> >> > >> >> > svn_delta_shim_callbacks_dup()? >> >> >> >> I really hope this code never sees the light of a release. We can add >> >> that function if/when we need it. >> >> >> > >> > Then put it in include/private/ ? >> >> gen-make.py complains loudly if a public header depends on a private one. >> > > Then move svn_editor__insert_shims() to a private header too...? Does > it need to be public? Unknown. This is all still very much work-in-progress. (To which you are of course welcome to contribute!) -Hyrum > >> > >> >> -Hyrum >> >> >> >> >> * subversion/libsvn_ra_svn/editorp.c, >> >> >> subversion/libsvn_ra_neon/commit.c, >> >> >> subversion/svnsync/main.c, >> >> >> subversion/svnrdump/dump_editor.c, >> >> >> subversion/libsvn_wc/diff_editor.c, >> >> >> subversion/libsvn_wc/update_editor.c, >> >> >> subversion/libsvn_wc/status.c, >> >> >> subversion/libsvn_client/repos_diff.c, >> >> >> subversion/libsvn_client/mergeinfo.c, >> >> >> subversion/libsvn_client/export.c, >> >> >> subversion/libsvn_ra_serf/commit.c, >> >> >> subversion/libsvn_repos/commit.c, >> >> >> subversion/libsvn_repos/dump.c: >> >> >> Use the new struct and update callers to the shim API. >> >> >> >> >> >> * subversion/libsvn_delta/compat.c >> >> >> (svn_delta_shim_callbacks_default): New. >> >> >> (svn_editor__insert_shims): Use the new datatype. >> >> > >> >> >> >> >> >> >> >> -- >> >> >> >> uberSVN: Apache Subversion Made Easy >> >> http://www.uberSVN.com/ >> > >> >> >> >> -- >> >> uberSVN: Apache Subversion Made Easy >> http://www.uberSVN.com/ > -- uberSVN: Apache Subversion Made Easy http://www.uberSVN.com/
Re: svn commit: r1188256 - in /subversion/trunk/subversion: include/ libsvn_client/ libsvn_delta/ libsvn_ra_neon/ libsvn_ra_serf/ libsvn_ra_svn/ libsvn_repos/ libsvn_wc/ svnrdump/ svnsync/
Hyrum K Wright wrote on Mon, Oct 24, 2011 at 15:09:52 -0500: > On Mon, Oct 24, 2011 at 2:11 PM, Daniel Shahaf > wrote: > > Hyrum K Wright wrote on Mon, Oct 24, 2011 at 14:01:20 -0500: > >> On Mon, Oct 24, 2011 at 1:13 PM, Daniel Shahaf > >> wrote: > >> > hwri...@apache.org wrote on Mon, Oct 24, 2011 at 17:48:07 -: > >> >> Author: hwright > >> >> Date: Mon Oct 24 17:48:06 2011 > >> >> New Revision: 1188256 > >> >> > >> >> URL: http://svn.apache.org/viewvc?rev=1188256&view=rev > >> >> Log: > >> >> Create a struct to hold the ever-growing collection of Ev2 shim > >> >> callbacks. > >> >> > >> >> * subversion/include/svn_delta.h > >> >> (svn_delta_shim_callbacks_t, svn_delta_shim_callbacks_default): New. > >> >> (svn_editor__insert_shims): Use the struct in place of individual > >> >> params. > >> >> > >> > > >> > svn_delta_shim_callbacks_dup()? > >> > >> I really hope this code never sees the light of a release. We can add > >> that function if/when we need it. > >> > > > > Then put it in include/private/ ? > > gen-make.py complains loudly if a public header depends on a private one. > Then move svn_editor__insert_shims() to a private header too...? Does it need to be public? > > > >> -Hyrum > >> > >> >> * subversion/libsvn_ra_svn/editorp.c, > >> >> subversion/libsvn_ra_neon/commit.c, > >> >> subversion/svnsync/main.c, > >> >> subversion/svnrdump/dump_editor.c, > >> >> subversion/libsvn_wc/diff_editor.c, > >> >> subversion/libsvn_wc/update_editor.c, > >> >> subversion/libsvn_wc/status.c, > >> >> subversion/libsvn_client/repos_diff.c, > >> >> subversion/libsvn_client/mergeinfo.c, > >> >> subversion/libsvn_client/export.c, > >> >> subversion/libsvn_ra_serf/commit.c, > >> >> subversion/libsvn_repos/commit.c, > >> >> subversion/libsvn_repos/dump.c: > >> >> Use the new struct and update callers to the shim API. > >> >> > >> >> * subversion/libsvn_delta/compat.c > >> >> (svn_delta_shim_callbacks_default): New. > >> >> (svn_editor__insert_shims): Use the new datatype. > >> > > >> > >> > >> > >> -- > >> > >> uberSVN: Apache Subversion Made Easy > >> http://www.uberSVN.com/ > > > > > > -- > > uberSVN: Apache Subversion Made Easy > http://www.uberSVN.com/
Re: svn commit: r1188256 - in /subversion/trunk/subversion: include/ libsvn_client/ libsvn_delta/ libsvn_ra_neon/ libsvn_ra_serf/ libsvn_ra_svn/ libsvn_repos/ libsvn_wc/ svnrdump/ svnsync/
On Mon, Oct 24, 2011 at 2:11 PM, Daniel Shahaf wrote: > Hyrum K Wright wrote on Mon, Oct 24, 2011 at 14:01:20 -0500: >> On Mon, Oct 24, 2011 at 1:13 PM, Daniel Shahaf >> wrote: >> > hwri...@apache.org wrote on Mon, Oct 24, 2011 at 17:48:07 -: >> >> Author: hwright >> >> Date: Mon Oct 24 17:48:06 2011 >> >> New Revision: 1188256 >> >> >> >> URL: http://svn.apache.org/viewvc?rev=1188256&view=rev >> >> Log: >> >> Create a struct to hold the ever-growing collection of Ev2 shim callbacks. >> >> >> >> * subversion/include/svn_delta.h >> >> (svn_delta_shim_callbacks_t, svn_delta_shim_callbacks_default): New. >> >> (svn_editor__insert_shims): Use the struct in place of individual >> >> params. >> >> >> > >> > svn_delta_shim_callbacks_dup()? >> >> I really hope this code never sees the light of a release. We can add >> that function if/when we need it. >> > > Then put it in include/private/ ? gen-make.py complains loudly if a public header depends on a private one. > >> -Hyrum >> >> >> * subversion/libsvn_ra_svn/editorp.c, >> >> subversion/libsvn_ra_neon/commit.c, >> >> subversion/svnsync/main.c, >> >> subversion/svnrdump/dump_editor.c, >> >> subversion/libsvn_wc/diff_editor.c, >> >> subversion/libsvn_wc/update_editor.c, >> >> subversion/libsvn_wc/status.c, >> >> subversion/libsvn_client/repos_diff.c, >> >> subversion/libsvn_client/mergeinfo.c, >> >> subversion/libsvn_client/export.c, >> >> subversion/libsvn_ra_serf/commit.c, >> >> subversion/libsvn_repos/commit.c, >> >> subversion/libsvn_repos/dump.c: >> >> Use the new struct and update callers to the shim API. >> >> >> >> * subversion/libsvn_delta/compat.c >> >> (svn_delta_shim_callbacks_default): New. >> >> (svn_editor__insert_shims): Use the new datatype. >> > >> >> >> >> -- >> >> uberSVN: Apache Subversion Made Easy >> http://www.uberSVN.com/ > -- uberSVN: Apache Subversion Made Easy http://www.uberSVN.com/
Re: svn commit: r1188256 - in /subversion/trunk/subversion: include/ libsvn_client/ libsvn_delta/ libsvn_ra_neon/ libsvn_ra_serf/ libsvn_ra_svn/ libsvn_repos/ libsvn_wc/ svnrdump/ svnsync/
Hyrum K Wright wrote on Mon, Oct 24, 2011 at 14:01:20 -0500: > On Mon, Oct 24, 2011 at 1:13 PM, Daniel Shahaf > wrote: > > hwri...@apache.org wrote on Mon, Oct 24, 2011 at 17:48:07 -: > >> Author: hwright > >> Date: Mon Oct 24 17:48:06 2011 > >> New Revision: 1188256 > >> > >> URL: http://svn.apache.org/viewvc?rev=1188256&view=rev > >> Log: > >> Create a struct to hold the ever-growing collection of Ev2 shim callbacks. > >> > >> * subversion/include/svn_delta.h > >> (svn_delta_shim_callbacks_t, svn_delta_shim_callbacks_default): New. > >> (svn_editor__insert_shims): Use the struct in place of individual params. > >> > > > > svn_delta_shim_callbacks_dup()? > > I really hope this code never sees the light of a release. We can add > that function if/when we need it. > Then put it in include/private/ ? > -Hyrum > > >> * subversion/libsvn_ra_svn/editorp.c, > >> subversion/libsvn_ra_neon/commit.c, > >> subversion/svnsync/main.c, > >> subversion/svnrdump/dump_editor.c, > >> subversion/libsvn_wc/diff_editor.c, > >> subversion/libsvn_wc/update_editor.c, > >> subversion/libsvn_wc/status.c, > >> subversion/libsvn_client/repos_diff.c, > >> subversion/libsvn_client/mergeinfo.c, > >> subversion/libsvn_client/export.c, > >> subversion/libsvn_ra_serf/commit.c, > >> subversion/libsvn_repos/commit.c, > >> subversion/libsvn_repos/dump.c: > >> Use the new struct and update callers to the shim API. > >> > >> * subversion/libsvn_delta/compat.c > >> (svn_delta_shim_callbacks_default): New. > >> (svn_editor__insert_shims): Use the new datatype. > > > > > > -- > > uberSVN: Apache Subversion Made Easy > http://www.uberSVN.com/
Re: svn commit: r1188256 - in /subversion/trunk/subversion: include/ libsvn_client/ libsvn_delta/ libsvn_ra_neon/ libsvn_ra_serf/ libsvn_ra_svn/ libsvn_repos/ libsvn_wc/ svnrdump/ svnsync/
On Mon, Oct 24, 2011 at 1:13 PM, Daniel Shahaf wrote: > hwri...@apache.org wrote on Mon, Oct 24, 2011 at 17:48:07 -: >> Author: hwright >> Date: Mon Oct 24 17:48:06 2011 >> New Revision: 1188256 >> >> URL: http://svn.apache.org/viewvc?rev=1188256&view=rev >> Log: >> Create a struct to hold the ever-growing collection of Ev2 shim callbacks. >> >> * subversion/include/svn_delta.h >> (svn_delta_shim_callbacks_t, svn_delta_shim_callbacks_default): New. >> (svn_editor__insert_shims): Use the struct in place of individual params. >> > > svn_delta_shim_callbacks_dup()? I really hope this code never sees the light of a release. We can add that function if/when we need it. -Hyrum >> * subversion/libsvn_ra_svn/editorp.c, >> subversion/libsvn_ra_neon/commit.c, >> subversion/svnsync/main.c, >> subversion/svnrdump/dump_editor.c, >> subversion/libsvn_wc/diff_editor.c, >> subversion/libsvn_wc/update_editor.c, >> subversion/libsvn_wc/status.c, >> subversion/libsvn_client/repos_diff.c, >> subversion/libsvn_client/mergeinfo.c, >> subversion/libsvn_client/export.c, >> subversion/libsvn_ra_serf/commit.c, >> subversion/libsvn_repos/commit.c, >> subversion/libsvn_repos/dump.c: >> Use the new struct and update callers to the shim API. >> >> * subversion/libsvn_delta/compat.c >> (svn_delta_shim_callbacks_default): New. >> (svn_editor__insert_shims): Use the new datatype. > -- uberSVN: Apache Subversion Made Easy http://www.uberSVN.com/
Re: svn commit: r1188256 - in /subversion/trunk/subversion: include/ libsvn_client/ libsvn_delta/ libsvn_ra_neon/ libsvn_ra_serf/ libsvn_ra_svn/ libsvn_repos/ libsvn_wc/ svnrdump/ svnsync/
hwri...@apache.org wrote on Mon, Oct 24, 2011 at 17:48:07 -: > Author: hwright > Date: Mon Oct 24 17:48:06 2011 > New Revision: 1188256 > > URL: http://svn.apache.org/viewvc?rev=1188256&view=rev > Log: > Create a struct to hold the ever-growing collection of Ev2 shim callbacks. > > * subversion/include/svn_delta.h > (svn_delta_shim_callbacks_t, svn_delta_shim_callbacks_default): New. > (svn_editor__insert_shims): Use the struct in place of individual params. > svn_delta_shim_callbacks_dup()? > * subversion/libsvn_ra_svn/editorp.c, > subversion/libsvn_ra_neon/commit.c, > subversion/svnsync/main.c, > subversion/svnrdump/dump_editor.c, > subversion/libsvn_wc/diff_editor.c, > subversion/libsvn_wc/update_editor.c, > subversion/libsvn_wc/status.c, > subversion/libsvn_client/repos_diff.c, > subversion/libsvn_client/mergeinfo.c, > subversion/libsvn_client/export.c, > subversion/libsvn_ra_serf/commit.c, > subversion/libsvn_repos/commit.c, > subversion/libsvn_repos/dump.c: > Use the new struct and update callers to the shim API. > > * subversion/libsvn_delta/compat.c > (svn_delta_shim_callbacks_default): New. > (svn_editor__insert_shims): Use the new datatype.
svn commit: r1188256 - in /subversion/trunk/subversion: include/ libsvn_client/ libsvn_delta/ libsvn_ra_neon/ libsvn_ra_serf/ libsvn_ra_svn/ libsvn_repos/ libsvn_wc/ svnrdump/ svnsync/
Author: hwright Date: Mon Oct 24 17:48:06 2011 New Revision: 1188256 URL: http://svn.apache.org/viewvc?rev=1188256&view=rev Log: Create a struct to hold the ever-growing collection of Ev2 shim callbacks. * subversion/include/svn_delta.h (svn_delta_shim_callbacks_t, svn_delta_shim_callbacks_default): New. (svn_editor__insert_shims): Use the struct in place of individual params. * subversion/libsvn_ra_svn/editorp.c, subversion/libsvn_ra_neon/commit.c, subversion/svnsync/main.c, subversion/svnrdump/dump_editor.c, subversion/libsvn_wc/diff_editor.c, subversion/libsvn_wc/update_editor.c, subversion/libsvn_wc/status.c, subversion/libsvn_client/repos_diff.c, subversion/libsvn_client/mergeinfo.c, subversion/libsvn_client/export.c, subversion/libsvn_ra_serf/commit.c, subversion/libsvn_repos/commit.c, subversion/libsvn_repos/dump.c: Use the new struct and update callers to the shim API. * subversion/libsvn_delta/compat.c (svn_delta_shim_callbacks_default): New. (svn_editor__insert_shims): Use the new datatype. Modified: subversion/trunk/subversion/include/svn_delta.h subversion/trunk/subversion/libsvn_client/export.c subversion/trunk/subversion/libsvn_client/mergeinfo.c subversion/trunk/subversion/libsvn_client/repos_diff.c subversion/trunk/subversion/libsvn_delta/compat.c subversion/trunk/subversion/libsvn_ra_neon/commit.c subversion/trunk/subversion/libsvn_ra_serf/commit.c subversion/trunk/subversion/libsvn_ra_svn/editorp.c subversion/trunk/subversion/libsvn_repos/commit.c subversion/trunk/subversion/libsvn_repos/dump.c subversion/trunk/subversion/libsvn_wc/diff_editor.c subversion/trunk/subversion/libsvn_wc/status.c subversion/trunk/subversion/libsvn_wc/update_editor.c subversion/trunk/subversion/svnrdump/dump_editor.c subversion/trunk/subversion/svnsync/main.c Modified: subversion/trunk/subversion/include/svn_delta.h URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_delta.h?rev=1188256&r1=1188255&r2=1188256&view=diff == --- subversion/trunk/subversion/include/svn_delta.h (original) +++ subversion/trunk/subversion/include/svn_delta.h Mon Oct 24 17:48:06 2011 @@ -,6 +,28 @@ typedef svn_error_t *(*svn_delta_fetch_k 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; + void *fetch_props_baton; + svn_delta_fetch_kind_func_t fetch_kind_func; + void *fetch_kind_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); + + /* Return a delta editor and baton which will forward calls to @a editor, * allocated in @a pool. * @@ -1166,10 +1188,7 @@ svn_editor__insert_shims(const svn_delta void **dedit_baton_out, const svn_delta_editor_t *deditor_in, void *dedit_baton_in, - svn_delta_fetch_props_func_t fetch_props_func, - void *fetch_props_baton, - svn_delta_fetch_kind_func_t fetch_kind_func, - void *fetch_kind_baton, + svn_delta_shim_callbacks_t *shim_callbacks, apr_pool_t *result_pool, apr_pool_t *scratch_pool); Modified: subversion/trunk/subversion/libsvn_client/export.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/export.c?rev=1188256&r1=1188255&r2=1188256&view=diff == --- subversion/trunk/subversion/libsvn_client/export.c (original) +++ subversion/trunk/subversion/libsvn_client/export.c Mon Oct 24 17:48:06 2011 @@ -1160,6 +1160,8 @@ svn_client_export5(svn_revnum_t *result_ void *report_baton; svn_delta_editor_t *editor = svn_delta_default_editor(pool); svn_boolean_t use_sleep = FALSE; + svn_delta_shim_callbacks_t *shim_callbacks = +svn_delta_shim_callbacks_default(pool); editor->set_target_revision = set_target_revision; editor->open_root = open_root; @@ -1180,8 +1182,7 @@ svn_client_export5(svn_revnum_t *result_ SVN_ERR(svn_editor__insert_shims(&export_editor, &edit_baton, export_editor, edit_baton, - NULL, NULL, NULL, NULL, - pool, pool)); +