[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] Issue 2646: Export more client API functions to Perl

From: Hyrum K. Wright <hyrum_wright_at_mail.utexas.edu>
Date: 2006-12-14 16:14:35 CET

Hyrum K. Wright wrote:
> Mattias Engdegård wrote:
>> [ Repost because it didn't appear the first time. Sorry if you get it twice. ]
>>
>> The Perl bindings contain but do not export many functions introduced
>> after around 1.0-1.1. This is quite annoying (doubly so as the swigged
>> bindings are there, just not available to the user). For the purpose
>> of this bug, Client functions such as log2 are absent.
>
> Ping...
>
> Has a committer familiar with the perl bindings had a chance to look at
> Mattias's patch? If there's no response, I'll file an issue for it.

er, strike that. It appears that Mattias has already attached it to the
relevant issue.

-Hyrum (who needs to read subject lines more often)

>> [[
>> Make many functions added since version 1.0 in the Client API visible
>> to users of the Perl bindings. They are already swig-wrapped, just not
>> exported. (issue 2646)
>>
>> * subversion/bindings/swig/perl/native/Client.pm
>> Export more API functions, and refactor to avoid unnecessary repetition.
>> ]]
>>
>> Index: subversion/bindings/swig/perl/native/Client.pm
>> ===================================================================
>> --- subversion/bindings/swig/perl/native/Client.pm (revision 22204)
>> +++ subversion/bindings/swig/perl/native/Client.pm (working copy)
>> @@ -5,12 +5,22 @@
>> use SVN::Wc;
>>
>> package SVN::Client;
>> -use SVN::Base qw(Client svn_client_ checkout update switch add mkdir delete
>> - commit status log blame diff merge cleanup relocate
>> - revert resolved copy move revprop_set propset
>> - proplist revvprop_list export ls cat import propget
>> - uuid_from_url uuid_from_path url_from_path revprop_get
>> - revprop_list info);
>> +my @_all_fns;
>> +BEGIN {
>> + @_all_fns = qw(add add3 blame blame3 cat cat2 checkout checkout2 cleanup
>> + commit commit3 commit_item2_dup copy copy3 delete delete2
>> + diff diff3 diff_peg3 diff_summarize diff_summarize_peg
>> + export export3 import import2 info info_dup list lock
>> + log log2 log3 ls ls3
>> + merge merge2 merge_peg2 mkdir mkdir2 move move4
>> + propget propget2 proplist proplist2 proplist_item_dup
>> + propset propset2 relocate resolved revert
>> + revprop_get revprop_list revprop_set
>> + status status2 switch unlock update update2
>> + url_from_path uuid_from_path uuid_from_url);
>> + require SVN::Base;
>> + import SVN::Base (qw(Client svn_client_), @_all_fns);
>> +}
>>
>> =head1 NAME
>>
>> @@ -820,13 +830,7 @@
>>
>> # import methods into our name space and wrap them in a closure
>> # to support method calling style $ctx->log()
>> -foreach my $function (qw(checkout update switch add mkdir delete commit
>> - status log blame diff merge cleanup relocate
>> - revert resolved copy move revprop_set propset
>> - proplist revvprop_list export ls cat import
>> - propget uuid_from_url uuid_from_path
>> - url_from_path revprop_get revprop_list
>> - info))
>> +foreach my $function (@_all_fns)
>> {
>> no strict 'refs';
>> my $real_function = \&{"SVN::_Client::svn_client_$function"};
>

Received on Thu Dec 14 16:14:59 2006

This is an archived mail posted to the Subversion Dev mailing list.