It's not that straightforward getting svnserve to work under launchd. I can't take the credit for this but I thought it would be useful to have it here on TextSnippets.
1) Install subversion if you don't have it already. Here's how with DarwinPorts.
sudo port install subversion
2) Create your Subversion repository (for my own use, I used /Users/xyz/Repositories) e.g.
svnadmin create /Users/xyz/Repositories
3) Place the following XML into a file named org.tigris.subversion.svnserve in the /Library/LaunchDaemons directory.
Debug
GroupName
xyz
Label
org.tigris.subversion.svnserve
OnDemand
Program
/opt/local/bin/svnserve
ProgramArguments
svnserve
--inetd
--root=/Users/xyz/Repositories
ServiceDescription
SVN Version Control System
Sockets
Listeners
SockFamily
IPv4
SockServiceName
svn
SockType
stream
Umask
2
UserName
xyz
inetdCompatibility
Wait
You'll need to change xyz to your user name ...
4) Test it out by doing a
sudo launchctl load /Library/LaunchDaemons/org.tigris.subversion.svnserve
sudo launchctl start /Library/LaunchDaemons/org.tigris.subversion.svnserve
svn co svn://your.host.name/aModule/In/Your/Repository