Unlike the previous commands we’ve described, svnserve has no subcommands—it is controlled exclusively by options:
--daemon
(-d
)Causes svnserve to run in daemon mode. svnserve backgrounds itself and accepts and serves TCP/IP connections on the svn port (3690, by default).
--foreground
When used together with -d
, causes svnserve to stay in the foreground. This
is mainly useful for debugging.
--inetd
(-i
)Causes svnserve to use the stdin and stdout file descriptors, as is appropriate for a daemon running out of inetd.
--help
(-h
)Displays a usage summary and exits.
--listen-host
=HOST
Causes svnserve to
listen on the interface specified by
HOST
, which may be either a hostname or
an IP address.
--listen-once
(-X
)Causes svnserve to accept
one connection on the svn
port, serve it, and exit. This
option is mainly useful for debugging.
--listen-port
=PORT
Causes svnserve
to listen on PORT
when run
in daemon mode. (FreeBSD daemons listen only on tcp6 by
default—this option tells them to also listen on tcp4.)
--pid-file
FILENAME
Causes svnserve to
write its process ID to
FILENAME
, which must be writable by the
user under which svnserve is
running.
--root
=ROOT
(-r
=ROOT
)Sets the virtual root for repositories served by svnserve. The pathname in URLs provided by the client will be interpreted relative to this root and will not be allowed to escape this root.
--threads
(-T
)When running in daemon mode, causes svnserve to spawn a thread instead of a process for each connection (e.g., for when running on Windows). The svnserve process still backgrounds itself at startup time.
--tunnel
(-t
)Causes svnserve to run
in tunnel mode, which is just like the inetd mode of operation (both modes
serve one connection over stdin/stdout, and then exit), except that the
connection is considered to be preauthenticated with the username
of the current UID. This flag is automatically passed for you by
the client when running over a tunnel agent such as ssh. That means there’s rarely any need
for you to pass this option to svnserve. So, if you find yourself
typing svnserve --tunnel
on the
command line and wondering what to do next, see Tunneling over SSH.
--tunnel-user
NAME
Used in conjunction with the --tunnel
option, tells svnserve to
assume that NAME
is the authenticated
user, rather than the UID of the svnserve process. This is useful for
users who wish to share a single system account over SSH but who
want to maintain separate commit identities.
--version
Displays version information and a list of repository backend modules available, and then exits.