Add a few upstream patches to make KDevelop not crash with SVN 1.7.
Reported by: Luca Pizzamiglio on #kde-freebsd
This commit is contained in:
parent
959bb8b2d9
commit
49d97d92c3
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=289879
3 changed files with 128 additions and 1 deletions
|
@ -6,7 +6,7 @@
|
|||
|
||||
PORTNAME= kdevplatform
|
||||
PORTVERSION= ${KDEVELOP_VERSION:S/4./1./}
|
||||
PORTREVISION= 1
|
||||
PORTREVISION= 2
|
||||
CATEGORIES= devel kde
|
||||
MASTER_SITES= ${MASTER_SITE_KDE}
|
||||
MASTER_SITE_SUBDIR= ${KDEVELOP_BRANCH}/kdevelop/${KDEVELOP_VERSION}/src
|
||||
|
|
|
@ -0,0 +1,95 @@
|
|||
commit cc7f0798d314cdac14b90e427abe22e99c6bd591
|
||||
Author: Milian Wolff <mail@milianw.de>
|
||||
Date: Fri Nov 18 16:23:36 2011 +0100
|
||||
|
||||
properly initialize client context for compatibility with subversion API
|
||||
|
||||
this should hopefully fix the crash with svn 1.7 in kdevelop, please test
|
||||
|
||||
BUG: 284061
|
||||
|
||||
diff --git a/plugins/subversion/kdevsvncpp/context.cpp b/plugins/subversion/kdevsvncpp/context.cpp
|
||||
index d277591..ddbb657 100644
|
||||
--- ./plugins/subversion/kdevsvncpp/context.cpp
|
||||
+++ ./plugins/subversion/kdevsvncpp/context.cpp
|
||||
@@ -65,7 +65,7 @@ public:
|
||||
bool logIsSet;
|
||||
int promptCounter;
|
||||
Pool pool;
|
||||
- svn_client_ctx_t ctx;
|
||||
+ svn_client_ctx_t * ctx;
|
||||
std::string username;
|
||||
std::string password;
|
||||
std::string logMessage;
|
||||
@@ -205,26 +205,26 @@ public:
|
||||
svn_auth_open(&ab, providers, pool);
|
||||
|
||||
// initialize ctx structure
|
||||
- memset(&ctx, 0, sizeof(ctx));
|
||||
+ svn_client_create_context(&ctx, pool);
|
||||
|
||||
// get the config based on the configDir passed in
|
||||
- svn_config_get_config(&ctx.config, c_configDir, pool);
|
||||
+ svn_config_get_config(&ctx->config, c_configDir, pool);
|
||||
|
||||
// tell the auth functions where the config is
|
||||
svn_auth_set_parameter(ab, SVN_AUTH_PARAM_CONFIG_DIR,
|
||||
c_configDir);
|
||||
|
||||
- ctx.auth_baton = ab;
|
||||
- ctx.log_msg_func = onLogMsg;
|
||||
- ctx.log_msg_baton = this;
|
||||
- ctx.notify_func = onNotify;
|
||||
- ctx.notify_baton = this;
|
||||
- ctx.cancel_func = onCancel;
|
||||
- ctx.cancel_baton = this;
|
||||
+ ctx->auth_baton = ab;
|
||||
+ ctx->log_msg_func = onLogMsg;
|
||||
+ ctx->log_msg_baton = this;
|
||||
+ ctx->notify_func = onNotify;
|
||||
+ ctx->notify_baton = this;
|
||||
+ ctx->cancel_func = onCancel;
|
||||
+ ctx->cancel_baton = this;
|
||||
|
||||
#if (SVN_VER_MAJOR >= 1) && (SVN_VER_MINOR >= 2)
|
||||
- ctx.notify_func2 = onNotify2;
|
||||
- ctx.notify_baton2 = this;
|
||||
+ ctx->notify_func2 = onNotify2;
|
||||
+ ctx->notify_baton2 = this;
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -234,7 +234,7 @@ public:
|
||||
if (!value)
|
||||
param = (void *)"1";
|
||||
|
||||
- svn_auth_set_parameter(ctx.auth_baton,
|
||||
+ svn_auth_set_parameter(ctx->auth_baton,
|
||||
SVN_AUTH_PARAM_NO_AUTH_CACHE,
|
||||
param);
|
||||
}
|
||||
@@ -245,7 +245,7 @@ public:
|
||||
username = usr;
|
||||
password = pwd;
|
||||
|
||||
- svn_auth_baton_t * ab = ctx.auth_baton;
|
||||
+ svn_auth_baton_t * ab = ctx->auth_baton;
|
||||
svn_auth_set_parameter(ab, SVN_AUTH_PARAM_DEFAULT_USERNAME,
|
||||
username.c_str());
|
||||
svn_auth_set_parameter(ab, SVN_AUTH_PARAM_DEFAULT_PASSWORD,
|
||||
@@ -654,13 +654,13 @@ public:
|
||||
|
||||
Context::operator svn_client_ctx_t * ()
|
||||
{
|
||||
- return &(m->ctx);
|
||||
+ return m->ctx;
|
||||
}
|
||||
|
||||
svn_client_ctx_t *
|
||||
Context::ctx()
|
||||
{
|
||||
- return &(m->ctx);
|
||||
+ return m->ctx;
|
||||
}
|
||||
|
||||
void
|
|
@ -0,0 +1,32 @@
|
|||
commit 74dec52749e3c3af2ac6492f50e2676128f35b27
|
||||
Author: Milian Wolff <mail@milianw.de>
|
||||
Date: Fri Nov 18 16:26:06 2011 +0100
|
||||
|
||||
fix svn api usage: use svn_dirent_canonicalize instead of svn_path_internal_style
|
||||
|
||||
this was suggested by Stephan Sperling
|
||||
|
||||
CCBUG: 284061
|
||||
|
||||
diff --git a/plugins/subversion/kdevsvncpp/path.cpp b/plugins/subversion/kdevsvncpp/path.cpp
|
||||
index eaa84c1..4dced08 100644
|
||||
--- ./plugins/subversion/kdevsvncpp/path.cpp
|
||||
+++ ./plugins/subversion/kdevsvncpp/path.cpp
|
||||
@@ -24,6 +24,7 @@
|
||||
|
||||
// subversion api
|
||||
#include "svn_path.h"
|
||||
+#include "svn_dirent_uri.h"
|
||||
|
||||
// apr api
|
||||
#include "apr_file_io.h"
|
||||
@@ -63,8 +64,7 @@ namespace svn
|
||||
m_path = "";
|
||||
else
|
||||
{
|
||||
- const char * int_path =
|
||||
- svn_path_internal_style(path, pool.pool());
|
||||
+ const char * int_path = svn_dirent_canonicalize(path, pool);
|
||||
|
||||
m_path = int_path;
|
||||
|
Loading…
Reference in a new issue