pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/devel/subversion Version 1.1.2



details:   https://anonhg.NetBSD.org/pkgsrc/rev/9a38e9c77233
branches:  trunk
changeset: 486903:9a38e9c77233
user:      epg <epg%pkgsrc.org@localhost>
date:      Wed Jan 05 02:04:01 2005 +0000

description:
Version 1.1.2
(20 December 2004, from /branches/1.1.x)
http://svn.collab.net/repos/svn/tags/1.1.2

 User-visible-changes:
  - Client:
    * fixed: 'svn switch' interruption can break working copy (issue #1826)
    * fixed: 'svn switch' memleak over ra_dav (issue #2106)
    * fixed: 'svn blame' algorithm bug (r11527)
    * fixed: invoke external diff/diff3 with local-style paths (r11689)
    * fixed: 'svn status' handling of missing subdirs (r11936)
    * fixed: 'svn ls -v' encoding bug (r11740)
    * fixed: 'svn ls "file with space"' bug (r12273, r12393)
    * fixed: 'svn merge' should URI-encode copyfrom URLs (issue #1905)
    * fixed: 'svn merge' deletion output formatting (r12100, r12111, r12114)
    * fixed: 'svnversion --version .' crash (r11438)
    * fixed: UNC paths on Cygwin (issue #2108)
    * fixed: win98 iconv bug -- uninitialized variable (issue #2091)
    * improved 'svn status' performance:
        - do fewer check_path calls (r11592)
        - 'svn status file' shouldn't recursively lock tree (r11439, r11669)
    * translation updates for localized client messages.

  - Server:
    * fixed: 'svnadmin load' race condition (r12327)
    * fixed: fsfs memleak in commit finalization (r11706)
    * fixed: fsfs memleak in inefficient directory removal (r11701)
    * fixed: fsfs commits use insert-only perms on db/revs/ (r11665)
    * fixed: fsfs creates lockfile at creation time, not at 1st commit (r12172)
    * fixed: svndumpfilter mislabeling output as version 3 (issue #2142)
    * fixed: 'svnserve -h' encoding bug (part of issue #1997)
    * fixed: prevent cross-repository copies (r12003)
    * fixed: increase log-region max size in default DB_CONFIG (issue #2159)

  - Both:
    * fixed: 'svn switch' quietly corrupting working copy (issue #2124)
    * fixed: canonicalize paths sent by ra_svn/svnserve (issue #2119)
    * fixed: memleak into UTF8 translation routines (r11689)

 Developer-visible-changes:
 * add support for BerkeleyDB 4.3
 * add support for any apr/apr-util 1.X
 * disallow incompatible SWIG versions (r12450)
 * fixed: slight API/ABI incompatibility between 1.0.9 and 1.1.x (r12102)
 * fixed: perl bindings pool usage & object refcounts (r11451, r11630)
 * fixed: perl bindings pool usage and potential memleak (r12397)
 * fixed: javahl crash trying to fetch nonexistent property (r12184)
 * fixed: javahl build can fail due to missing dirs (issue #2032)
 * fixed: RPM build breakage (issue #2111)
 * fixed: i18n issues for windows installer (r11685)
 * allow build system to update single .po file (r11763)

diffstat:

 devel/subversion/Makefile.version |    4 +-
 devel/subversion/distinfo         |    8 +-
 devel/subversion/patches/patch-aj |  693 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 699 insertions(+), 6 deletions(-)

diffs (truncated from 725 to 300 lines):

diff -r a3ef4d799ee2 -r 9a38e9c77233 devel/subversion/Makefile.version
--- a/devel/subversion/Makefile.version Wed Jan 05 00:59:08 2005 +0000
+++ b/devel/subversion/Makefile.version Wed Jan 05 02:04:01 2005 +0000
@@ -1,5 +1,5 @@
-# $NetBSD: Makefile.version,v 1.25 2004/10/23 06:11:09 epg Exp $
+# $NetBSD: Makefile.version,v 1.26 2005/01/05 02:04:01 epg Exp $
 
 .if !defined(SVNVER)
-SVNVER=                1.1.1
+SVNVER=                1.1.2
 .endif
diff -r a3ef4d799ee2 -r 9a38e9c77233 devel/subversion/distinfo
--- a/devel/subversion/distinfo Wed Jan 05 00:59:08 2005 +0000
+++ b/devel/subversion/distinfo Wed Jan 05 02:04:01 2005 +0000
@@ -1,9 +1,9 @@
-$NetBSD: distinfo,v 1.38 2004/11/27 02:35:52 epg Exp $
+$NetBSD: distinfo,v 1.39 2005/01/05 02:04:01 epg Exp $
 
-SHA1 (subversion-1.1.1.tar.gz) = b9afbcc211673ce2a1bf9778b6fa519f740e7ebd
-Size (subversion-1.1.1.tar.gz) = 8101813 bytes
-SHA1 (patch-aa) = 593ff1e235cc918e533f75f2d56fb575adcc7f6d
+SHA1 (subversion-1.1.2.tar.gz) = 3abfb7efb76e5fadea217196905461e441e5b36e
+Size (subversion-1.1.2.tar.gz) = 8106853 bytes
 SHA1 (patch-ad) = 4b3551b4f24823690f1e75eea9d62f1db78b6dc5
 SHA1 (patch-ag) = 98cb7d71ff843c0fbdc0a3a57c96d1c1d6cdc47a
 SHA1 (patch-ah) = 95347e442d72516d74258254892712fa3387d5c9
 SHA1 (patch-ai) = 4515b108ca67f6100cf89eb42def2c3c234c63a4
+SHA1 (patch-aj) = a585176fc87127bd3de579b5a4216918ab8825eb
diff -r a3ef4d799ee2 -r 9a38e9c77233 devel/subversion/patches/patch-aj
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/subversion/patches/patch-aj Wed Jan 05 02:04:01 2005 +0000
@@ -0,0 +1,693 @@
+$NetBSD: patch-aj,v 1.1 2005/01/05 02:04:01 epg Exp $
+
+==== Patch <11x> level 1
+Source: [No source]
+Target: 65390229-12b7-0310-b90b-f21a5aa7ec8e:/branches/1.1.x:12471
+        (http://svn.collab.net/repos/svn)
+Log:
+ r12144:  clkao | 2004-12-04T15:13:55.095399Z
+ * Pass pool to methods in Perl for close_baton.
+ * Use a hash to cache SWIG_TypeQuery results.
+ 
+   * libsvn_swig_perl/swigutil_pl.c:
+     (close_baton): Pass pool to methods in Perl.
+       Use svn_swig_pl_callback_thunk.
+ 
+     (_swig_perl_type_query): New.
+     (_SWIG_TYPE): New.
+  
+     Change callers of SWIG_TypeQuery to use _swig_perl_type_query.
+
+=== subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c
+==================================================================
+--- subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c  (revision 12471)
++++ subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c  (patch 11x level 1)
+@@ -31,6 +31,32 @@
+ 
+ #include "swigutil_pl.h"
+ 
++/* cache SWIG_TypeQuery results in a perl hash */
++static HV *type_cache = NULL;
++
++#define _SWIG_TYPE(name) _swig_perl_type_query(name, sizeof (name)-1)
++#define POOLINFO         _SWIG_TYPE("apr_pool_t *")
++
++static swig_type_info *_swig_perl_type_query (const char *typename, U32 klen)
++{
++    SV **type_info;
++    swig_type_info *tinfo;
++
++    if (!type_cache)
++        type_cache = newHV ();
++
++    if (klen == 0)
++        klen = strlen (typename);
++
++    if ((type_info = hv_fetch(type_cache, typename, klen, 0)))
++        return (swig_type_info *) (SvIV (*type_info));
++
++    tinfo = SWIG_TypeQuery(typename);
++    hv_store(type_cache, typename, klen, newSViv ((IV)tinfo), 0);
++
++    return tinfo;
++}
++
+ /* element convertors for perl -> c */
+ typedef void *(*pl_element_converter_t)(SV *value, void *ctx, 
+                                         apr_pool_t *pool);
+@@ -97,7 +123,7 @@
+                                              const char *typename,
+                                              apr_pool_t *pool)
+ {
+-    swig_type_info *tinfo = SWIG_TypeQuery(typename);
++    swig_type_info *tinfo = _swig_perl_type_query(typename, 0);
+     return svn_swig_pl_objs_to_hash (source, tinfo, pool);
+ }
+ 
+@@ -297,7 +323,7 @@
+       case 'S': /* swig object */
+           o = va_arg (ap, void *);
+           t = va_arg (ap, swig_type_info *);
+-  
++
+           obj = sv_newmortal ();
+           SWIG_MakePtr (obj, o, t, 0);
+           XPUSHs(obj);
+@@ -411,37 +437,24 @@
+     return newb;
+ }
+ 
+-static svn_error_t * close_baton(void *baton, const char *method)
++static svn_error_t * close_baton(void *baton, const char *method, apr_pool_t *pool)
+ {
+     item_baton *ib = baton;
+-    dSP ;
+ 
+-    ENTER ;
+-    SAVETMPS ;
++    if (ib->baton) {
++        SVN_ERR (svn_swig_pl_callback_thunk (CALL_METHOD,
++                                             (void *)method, NULL,
++                                             "OOS", ib->editor, ib->baton,
++                                             pool, POOLINFO));
++        SvREFCNT_dec(ib->baton);
++    }
++    else {
++        SVN_ERR (svn_swig_pl_callback_thunk (CALL_METHOD,
++                                             (void *)method, NULL,
++                                             "OS", ib->editor, pool, POOLINFO));
++    }
+ 
+-    PUSHMARK(SP) ;
+-    XPUSHs(ib->editor);
+-
+-    if (ib->baton)
+-      XPUSHs(ib->baton);
+-
+-    PUTBACK;
+-
+-    call_method(method, G_DISCARD);
+-
+-    /* check result? */
+-
+     SvREFCNT_dec(ib->editor);
+-    if (ib->baton)
+-      SvREFCNT_dec(ib->baton);
+-
+-#ifdef SVN_DEBUG
+-    ib->editor = ib->baton = NULL;
+-#endif
+-
+-    FREETMPS ;
+-    LEAVE ;
+-
+     return SVN_NO_ERROR;
+ }
+ 
+@@ -464,13 +477,12 @@
+                                      void **root_baton)
+ {
+     item_baton *ib = edit_baton;
+-    swig_type_info *poolinfo = SWIG_TypeQuery("apr_pool_t *");
+     SV *result;
+ 
+     SVN_ERR (svn_swig_pl_callback_thunk (CALL_METHOD,
+                                        (void *)"open_root", &result,
+                                        "OrS", ib->editor, base_revision,
+-                                       dir_pool, poolinfo));
++                                       dir_pool, POOLINFO));
+ 
+     *root_baton = make_baton(dir_pool, ib->editor, result);
+     return SVN_NO_ERROR;
+@@ -482,12 +494,11 @@
+                                         apr_pool_t *pool)
+ {
+     item_baton *ib = parent_baton;
+-    swig_type_info *poolinfo = SWIG_TypeQuery("apr_pool_t *");
+ 
+     SVN_ERR (svn_swig_pl_callback_thunk (CALL_METHOD,
+                                        (void *)"delete_entry", NULL,
+                                        "OsrOS", ib->editor, path, revision,
+-                                       ib->baton, pool, poolinfo));
++                                       ib->baton, pool, POOLINFO));
+     return SVN_NO_ERROR;
+ }
+ 
+@@ -499,14 +510,13 @@
+                                          void **child_baton)
+ {
+     item_baton *ib = parent_baton;
+-    swig_type_info *poolinfo = SWIG_TypeQuery("apr_pool_t *");
+     SV *result;
+ 
+     SVN_ERR (svn_swig_pl_callback_thunk (CALL_METHOD,
+                                        (void *)"add_directory", &result,
+                                        "OsOsrS", ib->editor, path, ib->baton,
+                                        copyfrom_path, copyfrom_revision, 
+-                                       dir_pool, poolinfo));
++                                       dir_pool, POOLINFO));
+     *child_baton = make_baton(dir_pool, ib->editor, result);
+     return SVN_NO_ERROR;
+ }
+@@ -519,12 +529,11 @@
+ {
+     item_baton *ib = parent_baton;
+     SV *result;
+-    swig_type_info *poolinfo = SWIG_TypeQuery("apr_pool_t *");
+ 
+     SVN_ERR (svn_swig_pl_callback_thunk (CALL_METHOD,
+                                        (void *)"open_directory", &result,
+                                        "OsOrS", ib->editor, path, ib->baton,
+-                                       base_revision, dir_pool, poolinfo));
++                                       base_revision, dir_pool, POOLINFO));
+ 
+     *child_baton = make_baton(dir_pool, ib->editor, result);
+ 
+@@ -537,13 +546,12 @@
+                                            apr_pool_t *pool)
+ {
+     item_baton *ib = dir_baton;
+-    swig_type_info *poolinfo = SWIG_TypeQuery("apr_pool_t *");
+ 
+     SVN_ERR (svn_swig_pl_callback_thunk (CALL_METHOD,
+                                        (void *)"change_dir_prop", NULL,
+                                        "OOssS", ib->editor, ib->baton, name,
+                                        value ? value->data : NULL,
+-                                       pool, poolinfo));
++                                       pool, POOLINFO));
+ 
+     return SVN_NO_ERROR;
+ }
+@@ -551,7 +559,7 @@
+ static svn_error_t * thunk_close_directory(void *dir_baton,
+                                            apr_pool_t *pool)
+ {
+-    return close_baton(dir_baton, "close_directory");
++    return close_baton(dir_baton, "close_directory", pool);
+ }
+ 
+ static svn_error_t * thunk_absent_directory(const char *path,
+@@ -559,12 +567,11 @@
+                                           apr_pool_t *pool)
+ {
+     item_baton *ib = parent_baton;
+-    swig_type_info *poolinfo = SWIG_TypeQuery("apr_pool_t *");
+ 
+     SVN_ERR (svn_swig_pl_callback_thunk (CALL_METHOD,
+                                        (void *)"absent_directory", NULL,
+                                        "OsOS", ib->editor, path, ib->baton,
+-                                       pool, poolinfo));
++                                       pool, POOLINFO));
+ 
+     return SVN_NO_ERROR;
+ }
+@@ -578,13 +585,12 @@
+ {
+     item_baton *ib = parent_baton;
+     SV *result;
+-    swig_type_info *poolinfo = SWIG_TypeQuery("apr_pool_t *");
+ 
+     SVN_ERR (svn_swig_pl_callback_thunk (CALL_METHOD,
+                                        (void *)"add_file", &result,
+                                        "OsOsrS", ib->editor, path, ib->baton,
+                                        copyfrom_path, copyfrom_revision,
+-                                       file_pool, poolinfo));
++                                       file_pool, POOLINFO));
+ 
+     *file_baton = make_baton(file_pool, ib->editor, result);
+     return SVN_NO_ERROR;
+@@ -597,13 +603,12 @@
+                                      void **file_baton)
+ {
+     item_baton *ib = parent_baton;
+-    swig_type_info *poolinfo = SWIG_TypeQuery("apr_pool_t *");
+     SV *result;
+ 
+     SVN_ERR (svn_swig_pl_callback_thunk (CALL_METHOD,
+                                        (void *)"open_file", &result,
+                                        "OsOrS", ib->editor, path, ib->baton,
+-                                       base_revision, file_pool, poolinfo));
++                                       base_revision, file_pool, POOLINFO));
+ 
+     *file_baton = make_baton(file_pool, ib->editor, result);
+     return SVN_NO_ERROR;
+@@ -621,7 +626,7 @@
+         SvREFCNT_dec(handler);
+     }
+     else {
+-      swig_type_info *tinfo = SWIG_TypeQuery("svn_txdelta_window_t *");
++      swig_type_info *tinfo = _SWIG_TYPE("svn_txdelta_window_t *");
+       SVN_ERR (svn_swig_pl_callback_thunk (CALL_SV, handler,
+                                            NULL, "S", window, tinfo));
+     }
+@@ -637,18 +642,17 @@
+                       void **h_baton)
+ {
+     item_baton *ib = file_baton;
+-    swig_type_info *poolinfo = SWIG_TypeQuery("apr_pool_t *");
+     SV *result;



Home | Main Index | Thread Index | Old Index