You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by br...@apache.org on 2013/02/08 00:38:00 UTC

svn commit: r1443783 - in /subversion/trunk/subversion/bindings/swig: include/svn_containers.swg perl/libsvn_swig_perl/swigutil_pl.h perl/native/Core.pm perl/native/Wc.pm

Author: breser
Date: Thu Feb  7 23:37:59 2013
New Revision: 1443783

URL: http://svn.apache.org/r1443783
Log:
Make svn_wc_parse_externals_description3 available from Perl bindings.

* subversion/bindings/swig/include/svn_containers.swg:
  Add output typemap for APR array of svn_wc_external_item2_t.

* subversion/bindings/swig/perl/native/Wc.pm:
  Document function svn_wc_parse_externals_description3.
  Add the magic to access struct svn_wc_external_item2_t
  as an object and document its methods.

* subversion/bindings/swig/perl/native/Core.pm:
  Fix a typo that prevented the use of 
  _p_svn_opt_revision_value_t objects.

Patch by: Roderich Schupp <roderich.schupp{_AT_}gmail.com>

Modified:
    subversion/trunk/subversion/bindings/swig/include/svn_containers.swg
    subversion/trunk/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h
    subversion/trunk/subversion/bindings/swig/perl/native/Core.pm
    subversion/trunk/subversion/bindings/swig/perl/native/Wc.pm

Modified: subversion/trunk/subversion/bindings/swig/include/svn_containers.swg
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/swig/include/svn_containers.swg?rev=1443783&r1=1443782&r2=1443783&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/swig/include/svn_containers.swg (original)
+++ subversion/trunk/subversion/bindings/swig/include/svn_containers.swg Thu Feb  7 23:37:59 2013
@@ -492,6 +492,12 @@
   }
 }
 #endif
+#ifdef SWIGPERL
+%typemap(argout) apr_array_header_t **externals_p {
+  %append_output
+    (svn_swig_pl_convert_array(*$1, $descriptor(svn_wc_external_item2_t *)));
+}
+#endif
 #ifdef SWIGRUBY
 %typemap(argout) apr_array_header_t **externals_p {
   %append_output(svn_swig_rb_apr_array_to_array_external_item2(*$1));

Modified: subversion/trunk/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h?rev=1443783&r1=1443782&r2=1443783&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h (original)
+++ subversion/trunk/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h Thu Feb  7 23:37:59 2013
@@ -40,6 +40,7 @@
 #include "svn_delta.h"
 #include "svn_client.h"
 #include "svn_repos.h"
+#undef _
 #include "svn_private_config.h"
 
 #ifdef __cplusplus

Modified: subversion/trunk/subversion/bindings/swig/perl/native/Core.pm
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/swig/perl/native/Core.pm?rev=1443783&r1=1443782&r2=1443783&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/swig/perl/native/Core.pm (original)
+++ subversion/trunk/subversion/bindings/swig/perl/native/Core.pm Thu Feb  7 23:37:59 2013
@@ -774,8 +774,8 @@ use SVN::Base qw(Core svn_opt_revision_t
 
 =cut
 
-package _p_svn_opt_revision_t_value;
-use SVN::Base qw(Core svn_opt_revision_t_value_);
+package _p_svn_opt_revision_value_t;
+use SVN::Base qw(Core svn_opt_revision_value_t_);
 
 package _p_svn_config_t;
 use SVN::Base qw(Core svn_config_);

Modified: subversion/trunk/subversion/bindings/swig/perl/native/Wc.pm
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/swig/perl/native/Wc.pm?rev=1443783&r1=1443782&r2=1443783&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/swig/perl/native/Wc.pm (original)
+++ subversion/trunk/subversion/bindings/swig/perl/native/Wc.pm Thu Feb  7 23:37:59 2013
@@ -13,12 +13,29 @@ SVN::Wc - Subversion working copy functi
 
 Incomplete
 
-=head1 OBJECTS
-
 =cut
 
 swig_init_asp_dot_net_hack($SVN::Core::gpool);
 
+=head1 FUNCTIONS
+
+=over 4
+
+=item SVN::Wc::parse_externals_description3($parent_directory, $desc, $canonicalize_url, $pool);
+
+Parse the string $desc as an C<svn:externals> value and return a reference 
+to an array of L<_p_svn_wc_external_item2_t|svn_wc_external_item2_t> objects. 
+If $canonicalize_url is true, canonicalize the C<url> member of those objects.  
+$parent_directory is only used in constructing error strings.
+
+=back
+
+=cut
+
+=head1 OBJECTS
+
+=cut
+
 package _p_svn_wc_t;
 
 =head2 svn_wc_status2_t
@@ -228,6 +245,42 @@ package _p_svn_wc_entry_t;
 # as method.
 use SVN::Base qw(Wc svn_wc_entry_t_);
 
+=head2 svn_wc_external_item2_t
+
+=over 4
+
+=item $ext-E<gt>target_dir()
+
+The name of the subdirectory into which this external should be
+checked out.  This is relative to the parent directory that
+holds this external item.  
+
+=item $ext-E<gt>url()
+
+Where to check out from. This is possibly a relative external URL, as
+allowed in externals definitions, but without the peg revision.
+
+=item $ext-E<gt>revision()
+
+What revision to check out,
+a L<svn_opt_revision_t|SVN::Core/svn_opt_revision_t> object.
+The only valid kind()s for this are $SVN::Core::opt_revision_number,
+$SVN::Core::opt_revision_date, and $SVN::Core::opt_revision_head.
+
+=item $ext-E<gt>peg_revision()
+
+The peg revision to use when checking out, 
+a L<svn_opt_revision_t|SVN::Core/svn_opt_revision_t> object.
+The only valid kind()s for this are $SVN::Core::opt_revision_number,
+$SVN::Core::opt_revision_date, and $SVN::Core::opt_revision_head.
+
+=back
+
+=cut
+
+package _p_svn_wc_external_item2_t;
+use SVN::Base qw(Wc svn_wc_external_item2_t_);
+
 =head1 CONSTANTS
 
 =head2 SVN::Wc::Notify::Action