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

Somebody put me out of my misery!

From: Bryant Eastham <beastham_at_slc.mew.com>
Date: 2006-02-03 05:10:08 CET

All-

It is time to migrate to 1.3. At the same time, we have decided to move
our server inside our firewall, and to improve performance by moving to
the svn+ssh scheme. After a few hours at what I believe should be
simple, here is where I stand.

[Windows 2003 Server, Windows XP Client]

1. Searched for an SSH server running on Windows that can authenticate
against domain controller -> freeSSHd.
2. Installed Subversion in default directory (on C: drive), created test
repository on D:\svn\test
3. Run svnserve -d -r D:\svn (to test)
4. Run svn list svn://<host>/test, add a single file, make another
revision, things look good.
5. Configure freeSSHd, finally figure it out (no documentation). Figure
that it is "obeying" svn client and only launching "svnserve -t".
6. No luck. Try again. No luck. Post to list.

Here is what I think I understand at this point, but a lot still doesn't
make sense.

1. The SSH server is launching the command that it is requested to,
"svnserve -t". Issues with paths, but it is working.
2. "svnserve -d" seems to be able to find repositories on different
drives, if the path matches, without --root.
        A. If I just run "svnserve -d" and then use the non-ssh client
to connect, it works - even if I move my svn directory to the C: drive.
3. "svnserve -t" does NOT seem to be able to find repositories on
different drives. It works if I put the repositories on the C: drive,
but fails if they are on the D: drive. Since the client isn't passing a
--root option, I'm hosed. Maybe it only checks the drive that subversion
is installed in? ;-)
4. I searched for different URL formats, but nothing seems to work. "svn
list svn+ssh://<host>/D:/svn/test" fails.

Is this behavior of svnserve expected? Is there any way to set the
--root option (registry, configuration file, etc.)?

Also, as my SSH server doesn't work with certificates, anybody know how
to get PuTTY/plink to pass a username/password without specifying it in
the [tunnels] section? Pageant seems to only work if certificates are
enabled.

Lastly, I have noticed that when I have things working (repository on
the C: drive where svnserve -t can find it), svnserve gets started twice
when I do "svn list svn+ssh://<host>/svn/test. I verified with Ethereal
that TWO SSH sessions are being created. Each one takes about 3 seconds
to start up, making the operation take a total of 6 seconds. I don't see
this behavior with "svn log svn+ssh://<host>/svn/test/file.txt", which
executes in about 3 seconds. Is this expected?

Really lastly, is plink really that slow? The regular svn: access is
almost instantaneous, vs. 3 seconds? https: was faster than that! I'm
hoping this is a startup cost, and that operations will still be faster
(like long logs, etc.).

Thanks for reading, thanks in advance for any answers.

Bryant Eastham
Chief Architect
Panasonic Electric Works Laboratory of America, Inc.
Salt Lake City Lab
4525 South Wasatch Blvd., Suite 100, Salt Lake City, Utah 84124
Phone : 801.993.7124 Email: beastham@slc.mew.com
Fax: 801.993.7260 Web: http://slc.mew.com <http://slc.mew.com/>
Received on Fri Feb 3 05:11:19 2006

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