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