Description

svnserve via inetd

If you want inetd to launch the
process, then you need to pass the -i
(--inetd) option. In the example, we've shown the
output from running svnserve -i at the
command line, but note that isn't how you actually start the
daemon; see the paragraphs following the example for how to
configure inetd to
start svnserve.

$ svnserve -i
( success ( 1 2 ( ANONYMOUS ) ( edit-pipeline ) ) )

When invoked with the --inetd option,
svnserve attempts to speak with a
Subversion client via stdin and
stdout using a custom protocol. This is
the standard behavior for a program being run via
inetd. The IANA has reserved port 3690
for the Subversion protocol, so on a Unix-like system you can
add lines to /etc/services like these (if
they don't already exist):

svn 3690/tcp # Subversion
svn 3690/udp # Subversion

And if your system is using a classic Unix-like
inetd daemon, you can add this line to
/etc/inetd.conf:

svn stream tcp nowait svnowner /usr/bin/svnserve svnserve -i

Make sure “svnowner” is a user which has
appropriate permissions to access your repositories. Now, when
a client connection comes into your server on port 3690,
inetd will spawn an
svnserve process to service it. Of course,
you may also want to add -r to the
configuration line as well, to restrict which repositories are
exported.