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