.\" You can view this file with: .\" nroff -man [filename] .\" .TH svnserve 1M .SH NAME svnserve \- Server for the 'svn' repository access method .SH SYNOPSIS .TP \fBsvnserve\fP [\fIoptions\fP] .SH DESCRIPTION \fBsvnserve\fP allows access to Subversion repositories using the svn network protocol. It can both run as a standalone server process, or it can run out of inetd. You must choose a mode of operation when you start \fBsvnserve\fP. The following options are recognized: .PP .TP 5 \fB\-d\fP, \fB\-\-daemon\fP Causes \fBsvnserve\fP to run in daemon mode. \fBsvnserve\fP backgrounds itself and accepts and serves TCP/IP connections on the svn port (3690, by default). .PP .TP 5 \fB\-\-listen\-port\fP=\fIport\fP Causes \fBsvnserve\fP to listen on \fIport\fP when run in daemon mode. .PP .TP 5 \fB\-\-listen\-host\fP=\fIhost\fP Causes \fBsvnserve\fP to listen on the interface specified by \fIhost\fP, which may be either a hostname or an IP address. .PP .TP 5 \fB\-\-foreground\fP When used together with \fB\-d\fP, this option causes \fBsvnserve\fP to stay in the foreground. This option is mainly useful for debugging. .PP .TP 5 \fB\-i\fP, \fB\-\-inetd\fP Causes \fBsvnserve\fP to use the stdin/stdout file descriptors, as is appropriate for a daemon running out of inetd. .PP .TP 5 \fB\-h\fP, \fB\-\-help\fP Displays a usage summary and exits. .PP .TP 5 \fB\-\-version\fP Print \fBsvnserve\fP's version and the repository filesystem back-end(s) a particular \fBsvnserve\fP supports. .PP .TP 5 \fB\-r\fP \fIroot\fP, \fB\-\-root\fP=\fIroot\fP Sets the virtual root for repositories served by \fBsvnserve\fP. The pathname in URLs provided by the client will be interpreted relative to this root, and will not be allowed to escape this root. .PP .TP 5 \fB\-R\fP \fB\-\-read\-only\fP Force all write operations through this \fBsvnserve\fP instance to be forbidden, overriding all other access policy configuration. Do not use this option to set general repository access policy - that is what the \fBconf/svnserve.conf\fP repository configuration file is for. This option should be used only to restrict access via a certain method of invoking \fBsvnserve\fP - for example, to allow write access via SSH, but not via a \fBsvnserve\fP daemon, or to create a restricted SSH key which is only capable of read access. .PP .TP 5 \fB\-t\fP, \fB\-\-tunnel\fP Causes \fBsvnserve\fP to run in tunnel mode, which is just like the inetd mode of operation (serve one connection over stdin/stdout) except that the connection is considered to be pre-authenticated with the username of the current uid. This flag is selected by the client when running over a tunnel agent. .PP .TP 5 \fB\-\-tunnel\-user\fP=\fIusername\fP When combined with \fB\-\-tunnel\fP, overrides the pre-authenticated username with the supplied \fIusername\fP. This is useful in combination with the ssh authorized_key file's "command" directive to allow a single system account to be used by multiple committers, each having a distinct ssh identity. .PP .TP 5 \fB\-T\fP, \fB\-\-threads\fP When running in daemon mode, causes \fBsvnserve\fP to spawn a thread instead of a process for each connection. The \fBsvnserve\fP process still backgrounds itself at startup time. .PP .TP 5 \fB\-\-config\-file\fP=\fIfilename\fP When specified, \fBsvnserve\fP reads \fIfilename\fP once at program startup and caches the \fBsvnserve\fP configuration and any passwords and authorization configuration referenced from \fIfilename\fP. \fBsvnserve\fP will not read any per-repository \fBconf/svnserve.conf\fP files when this option is used. See the \fBsvnserve.conf\fP(4) man page for details of the file format for this option. .PP .TP 5 \fB\-\-pid\-file\fP=\fIfilename\fP When specified, \fBsvnserve\fP will write its process ID to \fIfilename\fP. .PP .TP 5 \fB\-X\fP, \fB\-\-listen\-once\fP Causes \fBsvnserve\fP to accept one connection on the svn port, serve it, and exit. This option is mainly useful for debugging. .PP Unless the \fB\-\-config\-file\fP option was specified on the command line, once the client has selected a repository by transmitting its URL, \fBsvnserve\fP reads a file named \fBconf/svnserve.conf\fP in the repository directory to determine repository-specific settings such as what authentication database to use and what authorization policies to apply. See the \fBsvnserve.conf\fP(4) man page for details of that file format. .SH "NOTES" .PP The subversion server is managed by the service management facility, \fBsmf\fR(4), under the service identifier: .PP svc:/network/svn:default .PP Administrative actions on this service, such as enabling, disabling, or requesting restart, can be performed using \fBsvcadm\fR(1M)\&. The service's status can be queried using the \fBsvcs\fR(1) command\&. .PP The service will be run as user \fBsvn\fR\&. So, if such an account does not exist on the system, the service gets not started\&. .PP The service supports the following \fBapplication properties\fR: .TP 5 \fBconfig/root\fR Type: \fIstring\fR\&. The value is virtual root of the service (i\&.e\&. if not empty the service will be started with the option \fB\-\-root\fR using ths property's value as argument)\&. Per default it is set to an \fBempty\fR string\&. .TP 5 \fBconfig/threads\fR Type: \fIboolean\fR\&. If \fBtrue\fR, the service will be invoked using the threading option \fB\-\-threads\fR\&. Per default it is set to \fBtrue\fR\&. .TP 5 \fBconfig/port\fR Type: \fIinteger\fR\&. Set the port to be used (i\&.e\&. the argument for the option \fB\-\-listen\-port\fR)\&. Per default it is set to \fB3690\fR\&. .TP 5 \fBconfig/read-only\fR Type: \fIboolean\fR\&. If \fBtrue\fR, the service will be invoked using the read-only option \fB\-\-read\-only\fR\&. Per default it is set to \fBfalse\fR\&. .PP One may use the \fBsvccfg\fR(1M) utility to adjust the values of the mentioned properties\&. If you have changed one or more properties, don't forget to refresh the repository database\&. .SH "EXAMPLES" .PP \fBSet the virtual root for the service and enable read-only access\fR .PP .nf $ svccfg -s svn:default setprop config/root="/home/svn" $ svccfg -s svn:default setprop config/read-only="true" $ svcadm refresh svn .fi .SH SEE ALSO .BR svnserve.conf (4)