John Peacock <jpeacock@rowman.com>
r16784 | dlr | 2005-10-18 12:16:47 -0500 (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>
r16193 | julianfoad | 2005-09-21 15:13:01 -0500 (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.
r16171 | julianfoad | 2005-09-20 14:42:28 -0500 (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.
r9339 | breser | 2004-04-12 16:27:18 -0500 (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
r6441 | jerenkrantz | 2003-07-10 16:20:26 -0500 (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>