John Peacock <jpeacock@rowman.com> (jpeacock)


Patch Review Suggested
r871730, r871081, r871080, r869479, r869478, r867980, r867581, r867580, r867376, r867175, r867174, r866262, r866261, r864294, r863132, r863131, r863130, r863113, r856267, r856245, r849413 r856858 r846515

r846515 | jerenkrantz | 2003-07-10 21:20:26 +0000 (Thu, 10 Jul 2003)

Add build infrastructure to support Perl SWIG bindings.

The bindings will build, but it is unknown if they actually work or install.
Use 'make swig-pl' to build.

* Makefile.in: Add the relevant SWIG_PY_* variables and directory information.
* build.conf: Add perl-specific options so perl SWIG targets will be emitted.
* configure.in: Search for perl - if it exists set PERL.
* build/ac-macros/swig.m4 (SVN_FIND_SWIG): Use the Config and ExtUtils::Embed
  packages to discover the appropriate information on how to build modules for
  Perl from C.
  (This may be further abstracted into get-pl-info.pl if time allows.)
* subversion/bindings/swig/swigutil_pl.c (Added): Add a placeholder file for
  the Perl stub libraries.  build.conf requires this to be present and will
  most likely be needed eventually, so add it now.

Suggested by: John Peacock <jpeacock@rowman.com>


r849413 | breser | 2004-04-12 21:27:18 +0000 (Mon, 12 Apr 2004)

Stylistic changes to Perl SVN::Client

Patch by: John Peacock <jpeacock@rowman.com>

* subversion/bindings/swig/perl/Native/Client.pm
  changes to line length and punctuation
  rewrite several sections to be consistent with each other
  rewrite several sections to aid clarity and add examples


r856245 | julianfoad | 2005-09-20 19:42:28 +0000 (Tue, 20 Sep 2005)

Revise keywords API - represent keywords as a hash for better extensibility.
Implement internal printf-like format characters for keyword expansion.
A part of issue #890. Note that this only introduces the new APIs - making
the rest of the code make use of them will be a separate commit.

Patch by: "plasma" <plasmaball@pchome.com.tw>
          John Peacock <jpeacock@rowman.com>
          maxb

Review by: lundblad
           julianfoad

* subversion/includes/svn_subst.h
  (svn_subst_keywords_t, svn_subst_build_keywords,
   svn_subst_keywords_differ, svn_subst_translate_stream2,
   svn_subst_copy_and_translate2, svn_subst_translate_cstring):
    Deprecate.
  (svn_subst_build_keywords2,
   svn_subst_keywords_differ2, svn_subst_translate_stream3,
   svn_subst_copy_and_translate3, svn_subst_translate_cstring2):
    New functions to replace those deprecated, with keywords in a hash instead
    of a struct.  Also add a 'pool' argument for svn_subst_keywords_differ2().

* subversion/libsvn_subr/subst.c
  (keyword_printf): New private function: printf-style formatting of keywords.
  (date_prop_to_human): Remove: swallowed by keyword_printf.
  (kwstruct_to_kwhash): New private function: convert keywords struct to hash.
  (svn_subst_build_keywords): Convert to API compatibility wrapper.
  (svn_subst_build_keywords2): New function, using keyword_printf().
  (translate_keyword): Interface changes. Also, look up the keyword in the
    passed in buffer, instead of trying to translate all possibilities.
  (svn_subst_keywords_differ): Retain unchanged for API compatibility.
  (svn_subst_keywords_differ2): New version of svn_subst_keywords_differ.
  (svn_subst_translate_stream2): Convert to API compatibility wrapper.
  (svn_subst_translate_stream3): New version of svn_subst_translate_stream2.
  (svn_subst_translate_cstring): Convert to API compatibility wrapper.
  (svn_subst_translate_cstring2): New version of svn_subst_translate_cstring.
  (svn_subst_copy_and_translate2): Convert to API combatibility wrapper.
  (svn_subst_copy_and_translate3): New version of svn_subst_copy_and_translate2.
  (svn_subst_translate_string): Update function call to new API version.
  (svn_subst_detranslate_string): Update function call to new API version.


r856267 | julianfoad | 2005-09-21 20:13:01 +0000 (Wed, 21 Sep 2005)

Use the new hash-based keywords functionality introduced in r16171:
the struct-based method was deprecated at that time.  No functional change.

This is mainly replacement of svn_subst_keywords_t with apr_hash_t and
replacement of deprecated svn_subst_*() function calls with their successors.

Patch by: John Peacock <jpeacock@rowman.com>
(tweaked by me)

* subversion/clients/cmdline/util.c
  (svn_cl__edit_externally):
    Use the new svn_subst_translate_cstring2().

* subversion/libsvn_client/cat.c (cat_local_file, svn_client_cat2):
    Use apr_hash_t and the new svn_subst_translate_stream3().
    Avoid calling svn_subst_translate_stream3() if no translation is to be
    performed: it was previously violating that function's API by doing so.

* subversion/libsvn_client/commit.c (send_file_contents):
  subversion/libsvn_client/export.c (copy_one_versioned_file, close_file):
    Use apr_hash_t and the new svn_subst_build_keywords2() and
    svn_subst_copy_and_translate3().

* subversion/libsvn_wc/adm_crawler.c (restore_file):
  subversion/libsvn_wc/adm_ops.c (revert_admin_things):
  subversion/libsvn_wc/log.c (file_xfer_under_path, install_committed_file):
  subversion/libsvn_wc/merge.c (svn_wc_merge):
    Use apr_hash_t and the new svn_subst_copy_and_translate3().

* subversion/libsvn_wc/props.c
  (validate_eol_prop_against_file, svn_wc_prop_set2):
    Use apr_hash_t and the new svn_subst_translate_stream3() and
    svn_subst_keywords_differ2().

* subversion/libsvn_wc/translate.c
  (svn_wc_translated_file):
    Use apr_hash_t and the new svn_subst_copy_and_translate3().
  (svn_wc__get_keywords):
    Use apr_hash_t and the new svn_subst_build_keywords2().

* subversion/libsvn_wc/translate.h
  (svn_wc__get_keywords):
    Use apr_hash_t.

* subversion/tests/libsvn_wc/translate-test.c
  (substitute_and_verify):
    Use apr_hash_t.  Initialize test keywords hash with all possible keys for
    available test input values.


r856858 | dlr | 2005-10-18 17:16:47 +0000 (Tue, 18 Oct 2005)

* subversion/libsvn_wc/status.c
  (change_dir_prop): Assure that we actually have a value for
   properties sent from the repository before trying to use them
   (necessitated by r16344).  Only a deleted "svn:author" property has
   actually been known to trigger a problem here, but we guard against
   any NULL property to take a defensive stance against unexpected
   repository data.


Found by: Stefan Küng <tortoisesvn@gmail.com>
Review by: philip
           lundblad
           John Peacock <jpeacock@rowman.com>


r863113 | jpeacock | 2007-01-16 18:12:55 +0000 (Tue, 16 Jan 2007)

* COMMITTERS: add my name as partial committer for Perl bindings only

r863130 | jpeacock | 2007-01-17 02:32:21 +0000 (Wed, 17 Jan 2007)

 r22621@jfphome:  jpeacock | 2007-01-16 21:09:45 -0500
 Add the updated dump_fs2 and load_fs2 functions to the SVN::Repos perl
 module along with some documentation for these functions.
 
 * subversion/bindings/swig/perl/native/Repos.pm:
  (@methods): Added 'dump_fs2' and 'load_fs2' to be exported as
  SVN::Repos::dump_fs2 and SVN::Repos::load_fs2.
  (POD Documentation): Added entries documenting dump_fs2 and load_fs2.
 
 Patch by: Troy Curtis Jr <troycurtisjr@gmail.com>
 Reviewed by: jpeacock
 


r863131 | jpeacock | 2007-01-17 02:32:41 +0000 (Wed, 17 Jan 2007)

 r22622@jfphome:  jpeacock | 2007-01-16 21:25:52 -0500
 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.
 
 Patch by: Mattias Engdegård <mattias@virtutech.se>
 Reviewed by: jpeacock


r863132 | jpeacock | 2007-01-17 02:38:55 +0000 (Wed, 17 Jan 2007)

 r22641@jfphome:  jpeacock | 2007-01-16 21:35:12 -0500
 Revert mistaken commit. 
 
 * contrib/client-side/search-svnlog.pl:
   Doesn't work with svk at the moment.


r864294 | jpeacock | 2007-03-28 00:49:53 +0000 (Wed, 28 Mar 2007)

Merge current trunk to perl-bindings-improvements branch.


r866261 | jpeacock | 2007-08-19 21:35:03 +0000 (Sun, 19 Aug 2007)

Merge current trunk to perl-bindings-improvements branch.


r866262 | jpeacock | 2007-08-19 21:38:30 +0000 (Sun, 19 Aug 2007)

Merge from trunk@r26186


r867174 | jpeacock | 2007-10-11 01:23:08 +0000 (Thu, 11 Oct 2007)

Merge from trunk@26888


r867175 | jpeacock | 2007-10-11 01:25:52 +0000 (Thu, 11 Oct 2007)

Merge with trunk@27098



r867376 | jpeacock | 2007-10-22 01:48:59 +0000 (Mon, 22 Oct 2007)

New depth argument for svn_client_commit4 wasn't promoted to
svn_client_commit3 in r26241, thus breaking all older commit API calls.

* subversion/libsvn_client/commit.c
  (svn_client_commit3): synthesize depth argument from old recurse argument

Reviewed by: kfogel


r867580 | jpeacock | 2007-10-30 22:29:14 +0000 (Tue, 30 Oct 2007)

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/Repos.pm:
  Export more API functions.
  (POD Documentation): Added entries documenting dump_fs2 and load_fs2.

Patch by: Troy Curtis Jr <troycurtisjr@gmail.com>
          me
Approved by: dlr

r867581 | jpeacock | 2007-10-30 22:30:35 +0000 (Tue, 30 Oct 2007)

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.

Patch by: Mattias Engdegård <mattias@virtutech.se>
          me

Approved by: dlr

r867980 | jpeacock | 2007-11-17 21:55:19 +0000 (Sat, 17 Nov 2007)

Perl tests failing new assertion tests in ra_loader (requires all paths
to be relative to the session, not absolute to the repo).

* subversion/bindings/perl/swig/native/t/6ra.t
  Remove leading '/' from path variables.


r869478 | jpeacock | 2008-02-17 16:14:36 +0000 (Sun, 17 Feb 2008)

An accidental commit, reverted in r29405.


r869479 | jpeacock | 2008-02-17 16:54:24 +0000 (Sun, 17 Feb 2008)

Reverting r29404.  Obviously my SVK mirror is completely hosed at this
point.  Sorry for the noise!


r871080 | jpeacock | 2008-05-03 21:37:22 +0000 (Sat, 03 May 2008)

Don't leak an svn_error_t object in Perl bindings test

* subversion/bindings/swig/perl/native/t/3client.t
  Comment says not to run CLEANUP of temporary files, so don't.
  We know we are getting an svn_error_t, so remember to clear it.


r871081 | jpeacock | 2008-05-03 21:45:47 +0000 (Sat, 03 May 2008)

* STATUS: Nominate r31006.


r871730 | cmpilato | 2008-06-09 13:17:21 +0000 (Mon, 09 Jun 2008)

* Makefile.in
  (check): Depend on the 'bin' rule, because the cmdline test suite
    needs 'svn', 'svnadmin', etc.

Patch by: jpeacock