# What is the name of the Subversion server process on MacOS?

I'm running a Subversion server on MacOS. My remote IDEs connect no problem (using ssh tunneling). But, I can't figure-out the process name of the Subversion server.

It is so easy:

$mkdir svnroot$ svnadmin create /Users/johndoe/dev/svnroot
$svn checkout svn+ssh://jdoe-macbook/Users/johndoe/dev/svnroot  But I go looking for the server as such: $ sudo ps -eal | grep svn


doesn't return anything. And none of the processes listed in Activity Manager jump out at me as anything that might be a Subversion server.

To get ssh tunneling to work, I had to make adjustments to System Preferences --> Sharing. The ssh server is involved first. But then, what is ssh connecting to to manage the Subversion repositories?

When you tunnel over ssh using svn checkout svn+ssh://.., the svn client is actually running svnserve -q -t for the duration of each ssh connection and then shutting down svnserve when the connection closes.

If you want to see this in action, try opening two Terminal sessions:

• In Terminal session 1, run an svn command with the svn+ssh:// protocol. Assuming you don't have any ssh identities saved in your ssh-agent, this should pause waiting for you to enter your password: svn checkout svn+ssh://localhost/Users/johndoe/dev/svnroot.

• Now switch to Terminal session 2. You should be able to find at least one svnserve process open via: ps -ef | grep svnserve.

For example, you should see a matching process similar to:

501 12869 12856 0 6:06pm ttys001 0:00.03 ssh -q -- localhost svnserve -t

• If you return to Terminal session 1 and either complete or abort the svn command, the associated ssh session and svnserve process will quit.

Note: if you are connecting to a local repository you can use the file:// protocol instead of tunnelling back into localhost via ssh.

For example: svn checkout file://localhost/Users/johndoe/dev/svnroot