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).
]]]
Received on 2013-04-16 10:53:06 CEST