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/

2011-10-24 Thread Hyrum K Wright
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/

2011-10-24 Thread Daniel Shahaf
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/

2011-10-24 Thread Hyrum K Wright
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/

2011-10-24 Thread Daniel Shahaf
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/

2011-10-24 Thread Hyrum K Wright
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/

2011-10-24 Thread Daniel Shahaf
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/

2011-10-24 Thread hwright
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));
+