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

RE: svn+ssh svnserve path issue workaround = solution?

From: Miller, Eric <Eric.Miller_at_amd.com>
Date: 2007-02-12 17:20:31 CET

Hi Mark-

This is what we currently do to resolve this:

In your config file:
[tunnels]
ssh=/path/to/svnssh
--------------------

svnssh is a wrapper:
  #!/bin/sh

  /path/to/ssh $1 /path/to/sshsvnserve -t
--------------------

sshsvnserve is also a wrapper:
  #!/bin/sh

  umask 002
  /path/to/subversion/bin/svnserve $*
--------------------

/path/to/sshsvnserve is the path on the remote machine to your svnserve executable (or wrapper).
Obviously sshsvnserve isn't required, but we use it to force the umask on repository access.

The only major issue we've had is that the config-dir must be specified on the command line (we can't modify the ssh install tree directly). You can get around this by placing the config file in ~/.subversion or making a wrapper around the svn executable.

This is closely related to the workaround specified by the author of the article you linked, but doesn't tie svn down to a particular machine.

HTH,

Eric

________________________________________
From: Mark [mailto:email2mark@gmail.com]
Sent: Wednesday, February 07, 2007 10:44 AM
To: dev@subversion.tigris.org
Subject: Fwd: svn+ssh svnserve path issue workaround = solution?

Hi,
 
I apologize in advance for posting here. A week ago I posted the email below to the subversion user list, but received no response.
 
If subversion client is not going to be updated to make the path of the remote svnserve binary to invoke configurable, I was wondering if the developers of subversion would be willing to comment on the workaround presented in the last link of my post. Specifically,

http://use.perl.org/~ziggy/journal/20330

That workaround was implemented two and a half years ago and still works today. I didn't find that particular workaround in past subversion user posts or the subversion FAQ.
 
What do subversion developers think about that workaround? Is it a long term viable workaround to the issue?
 
Thanks,
 
Mark

---------- Forwarded message ----------
From: Mark <email2mark@gmail.com>
Date: Jan 31, 2007 11:15 PM
Subject: svn+ssh svnserve path issue workaround = solution?
To: users@subversion.tigris.org

Hello,

I have searched and found many posts regarding the issue of svn+ssh and the path to svnserve on the server. The root of the issue seems to be the non-configurable and externally dependent way the subversion invokes svnserve through tunnel. The responses to this issue suggest to either configure the server where the subversion repository resides or configure the underlying tunnel used by subversion to (using a likely poor analogy) ensure proper reception of the subversion client's "hail mary" pass of the svnserve ball sent over the network. To have the server/tunnel configurations altered for subversion, not only to ensure that the subversions client's pass hits a svnserve binary somewhere, but hits the correct one.

Workarounds I have found include the following:

1- symlink to svnserve from a path on the server that SSH has in it
2- recompile SSH with the needed path
3- add the path to the .ssh/environment file
4- add a command string to the authorized_keys file

None of the above we can do in our situation. #1 and #2 are not permitted by the group responsible for the servers. This is understandable as standardized images are distributed throughout the company. #3 has been disabled in the ssh compile for one unmovable reason or another. #4 is what we are doing now, however we are moving to Kerberos and we have been told the authorize_key files will be removed soon (also user accounts have no home directories on the server hosting svn repos).

Someone recently opened an issue around this with a suggestion for a command line option to specify svnserve path. If it was persistent to the workarea, that would be fine (not needing to specify that option on svn commands in that workarea once created)

http://subversion.tigris.org/issues/show_bug.cgi?id=2694

Someone also posted a patch for a client environment variable to optional set a path to the svnserve to use. That would work also.
http://subversion.tigris.org/issues/show_bug.cgi?id=2626

A third option might be to use the .subversion/config file. Maybe something to configure a custom path to svnserve on a per host server basis or even on a host server and svn repo path basis.

I realize that this was an important issue affecting many folks it would have been addressed by now. So if anything, this post can serve as identifying another user that would like to have the path to svnserve binary the subversion client uses, to be optionally configurable on the client side.

In the mean time, does anyone have any thoughts on the workaround (sort of "gaming" the system) to this svnserve path issue posed on the Perl site below. I tested it briefly and it seems to work.
http://use.perl.org/~ziggy/journal/20330

Thanks,

Mark

 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Feb 12 17:21:07 2007

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