[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

[PATCH] [libsvn_ra_svn/client.c] confugre remote command for tunnel via $SVN_REMCMD instead hardcoded svnserve

From: Stefan Petri <petri_at_pik-potsdam.de>
Date: 2006-09-19 11:08:28 CEST


I have stumbled across several cases where access via tunneling failed
because the remote svnserve binary was not in a system default search
path. The subversion FAQ and manual show the workaround via tweaking ssh
key configuration, but I have several cases where that is not
applicable. So, here is 4-line patch , which takes the command to invoke
from the environment variable SVN_REMCMD. If that is not set, the remote
command defaults to "svnserve".

subversion/libsvn_ra_svn/client.c use SVN_REMCMD to override hardcoded

To circumvent problems with the hardcoded invocation of "svnserve" on
the remote end of tunnels, look for environment variable SVN_REMCMD.
Fall back to "svnserve" if that is not set.
This helps when e.g. the svnserve command is not in the remote systems
default search path, and ssh key trickery as descibed in the Subversion
manual is not applicable.

--- subversion-1.4.0/subversion/libsvn_ra_svn/client.c-orig
+++ subversion-1.4.0/subversion/libsvn_ra_svn/client.c
@@ -451,6 +451,10 @@
    apr_size_t len;
    apr_status_t status;
    int n;
+ char *remcmd;
+ remcmd = getenv("SVN_REMCMD");
+ if (NULL == remcmd) remcmd = "svnserve";

    /* Look up the tunnel specification in config. */
    cfg = config ? apr_hash_get(config, SVN_CONFIG_CATEGORY_CONFIG,
@@ -499,7 +503,7 @@
    *argv = apr_palloc(pool, (n + 4) * sizeof(char *));
    memcpy(*argv, cmd_argv, n * sizeof(char *));
    (*argv)[n++] = svn_path_uri_decode(hostinfo, pool);
- (*argv)[n++] = "svnserve";
+ (*argv)[n++] = remcmd;
    (*argv)[n++] = "-t";
    (*argv)[n] = NULL;

To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Sep 19 11:08:42 2006

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.