svnserve
Name
svnserve — Serve Subversion repositories via Subversion's custom network protocol
Synopsis
svnserve [-d | -i | -t | -X] OPTIONS...
Description
svnserve allows access to Subversion repositories using Subversion's custom network protocol.
You can run svnserve as a standalone
server process (for clients that are using the
svn:// access method); you can have a
daemon such as inetd
or xinetd launch it for you on demand (also
for svn://), or you can have
sshd launch it on demand for the
svn+ssh:// access method.
Unless the --config-file option was specified on
the command line, once the client has selected a repository by
transmitting its URL, svnserve reads a file named
conf/svnserve.conf in the repository
directory to determine repository-specific settings such as
what authentication database to use and what authorization
policies to apply. See
the section called “svnserve, a Custom Server” for details of the
svnserve.conf file.
Options
Unlike the previous commands we've described, svnserve has no subcommands—it is controlled exclusively by options.
-
--cache-fulltextsARG Toggles support for fulltext file content caching (in FSFS repositories only).
-
--cache-txdeltasARG Toggles support for file content delta caching (in FSFS repositories only).
-
--compressionLEVEL Specifies the level of compression used for wire transmissions as an integer beween 0 and 9, inclusive. A value of
9offers the best compression,5is the default value, and0disables compression altogether.-
--config-fileFILENAME When specified, svnserve reads
FILENAMEonce at program startup and caches the svnserve configuration. The password and authorization configurations referenced from filename will be loaded on each connection. svnserve will not read any per‐repositoryconf/svnserve.conffiles when this option is used. See the the section called “svnserve, a Custom Server” for details of the file format for this option.-
--daemon(-d) Causes svnserve to run in daemon mode. svnserve backgrounds itself and accepts and serves TCP/IP connections on the
svnport (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
stdinandstdoutfile descriptors, as is appropriate for a daemon running out of inetd.-
--help(-h) Displays a usage summary and exits.
-
--listen-hostHOST 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
svnport, serve it, and exit. This option is mainly useful for debugging.-
--listen-portPORT Causes svnserve to listen on
PORTwhen run in daemon mode. (FreeBSD daemons listen only on tcp6 by default—this option tells them to also listen on tcp4.)-
--log-fileFILENAME Instructs svnserve to create (if necessary) and use the file located at
FILENAMEfor Subversion operational log output of the same sort that mod_dav_svn generates. See the section called “High-level Logging” for details.-
--memory-cache-size(-M)ARG Configures the size (in Megabytes) of the extra in-memory cache used to minimize redundant operations. The default value is
16. (This cache is used for FSFS-backed repositories only.)-
--pid-fileFILENAME Causes svnserve to write its process ID to
FILENAME, which must be writable by the user under which svnserve is running.-
--prefer-ipv6(-6) When resolving the listen hostname, prefer an IPv6 answer over an IPv4 one. IPv4 is preferred by default.
-
--quiet Disables progress notifications. Error output will still be printed.
-
--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 typingsvnserve --tunnelon the command line and wondering what to do next, see the section called “Tunneling over SSH”.-
--tunnel-userNAME Used in conjunction with the
--tunneloption, tells svnserve to assume thatNAMEis the authenticated user, rather than the UID of the svnserve process. This is useful for users wishing to share a single system account over SSH, but to maintain separate commit identities.-
--version Displays version information and a list of repository backend modules available, and then exits.