Hi, the following patches enable the use of svn_client_log[34] (and probably similar functions) from Perl. (Actually I wanted to use svn_client_log5, but that needs more work for the revision_ranges parameter).
Cheers, Roderich thunk_log_entry_receiver.patch: [[[ Add Perl thunk for the svn_log_entry_receiver_t callback. * subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h[ch] New function svn_swig_pl_thunk_log_entry_receiver. * subversion/bindings/swig/include/svn_types.swg Add the Perl typemap for (svn_log_entry_receiver_t receiver, void *receiver_baton). Since we now have typemaps for Perl, Python and Ruby, consolidate them using the callback_typemap() macro. While we're at it, do the same for the (svn_log_message_receiver_t receiver, void *receiver_baton) typemaps. ]]] perl-bindings.patch: [[[ Augment typemaps. * subversion/bindings/swig/svn_client.i Drop three typemaps. The first two are obviously bogus and the third is redundant (it's also in svn_containers.swg). * subversion/bindings/swig/include/svn_containers.swg Add Perl typemaps for PROPHASH and changed_paths2. Apply them for Perl (i.e. drop the restriction on Python or Ruby). Similar to Ruby, add a variant STRINGLIST_MAY_BE_NULL of STRINGLIST_MAY and apply it to the apr_array_header_t* revprops parameter of svn_client_log3 and others. All functions using this parameter explicitly allow the value to be NULL (meaning "retrieve all revprops"). ]]] core.patch: [[[ * subversion/bindings/swig/perl/native/Core.pm Add class magic to use Swig types _p_svn_log_changed_path2_t and _p_svn_log_entry_t and documents their methods. Add properly namespaced aliases for the values of enum svn_tristate_t. ]]] client-tests.patch: [[[ * subversion/bindings/swig/perl/native/t/3client.t Run the existing test for $client->log also for $client->log2. Add similar tests for $client->log3 and $client->log4 (esp. exercise all getter methods of _p_svn_log_entry_t). Add a test for $client->log3 with a parameter targets that is a list of a URL and relative paths (instead of a single URL). ]]]
thunk_log_entry_receiver.patch
Description: Binary data
perl-bindings.patch
Description: Binary data
core.patch
Description: Binary data
client-tests.patch
Description: Binary data