[ https://issues.apache.org/jira/browse/SVN-3679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17504681#comment-17504681 ]
Jun Omae commented on SVN-3679: ------------------------------- The {{$ra->get_commit_editor}} is defined in {{subversion/bindings/swig/perl/native/svn_ra.c}} which is generated by swig (make autogen-swig-pl). Also, the glue logic is defined in {{subversion/bindings/swig/include/svn_types.swg}}. svn_commit_callback_t https://svn.apache.org/viewvc/subversion/tags/1.14.1/subversion/bindings/swig/include/svn_types.swg?view=markup#l760 svn_commit_callback2_t https://svn.apache.org/viewvc/subversion/tags/1.14.1/subversion/bindings/swig/include/svn_types.swg?view=markup#l795 > Perl API SVN::Ra get_commit_editor* functions broken, missing, untested > ----------------------------------------------------------------------- > > Key: SVN-3679 > URL: https://issues.apache.org/jira/browse/SVN-3679 > Project: Subversion > Issue Type: Bug > Components: bindings_swig_perl, docs > Affects Versions: 1.6.x > Reporter: Markus Kuhn > Priority: Minor > Fix For: unscheduled > > > {noformat:nopanel=true} > The test cases for the Perl API SVN::Ra at > bindings/swig/perl/native/t/6ra.t > currently (as of 1.6.12) lack tests for functions needed to commit a change to > the repository via the remote-access API layer. For starters, there are no > tests > for get_commit_editor, get_commit_editor2, get_commit_editor3. (The SVN::Ra > man > page even says that the author did not succeed in testing get_commit_editor, > get_commit_editor2; get_commit_editor3 is not even listed.) > When I try to use e.g. get_commit_editor2 as suggested in the SVN::Ra > man page, I just get an error message like > TypeError in method 'svn_ra_get_commit_editor2', argument 5 of type > 'svn_commit_callback2_t' > A short example Perl script that reproduces this is attached below. > Motivation: The remote-access layer API is very useful for applications (such > as > Web CGI editors) that want to commit changes without the overhead and > disk-state > involved with having to checkout a working directory first. Perl remains a > popular CGI scripting language, which makes a well-tested, production-quality > Perl SWIG binding for svn_ra.h highly desirable. > See also: > http://mail-archives.apache.org/mod_mbox/subversion-users/201007.mbox/browser > http://svn.haxx.se/dev/archive-2010-07/0272.shtml > How to reproduce TypeError: > #!/usr/bin/perl > use SVN::Core; > use SVN::Ra; > use SVN::Delta; > my $ra = SVN::Ra->new('http://svn.apache.org/repos/asf/subversion/'); > my $path = 'trunk/BUGS'; > open($fh, '>', \$text) || die; > my ($revnum, $props) = $ra->get_file($path, $SVN::Core::INVALID_REVNUM, $fh); > close $fh || die; > print "Revision: $revnum\n\n$text\n"; > my $logmsg = "test commit via the SVN:Ra Perl API"; > sub commit_callback { > my ($arg) = @_; > use Data::Dumper; > print STDERR "commit_callback(".Dumper($arg).")\n"; > } > my $editor = SVN::Delta::Editor->new( > $ra->get_commit_editor2($logmsg, \&commit_callback, undef, {}, 0)); > {noformat} -- This message was sent by Atlassian Jira (v8.20.1#820001)