| .\" |
| .\" |
| .\" Licensed to the Apache Software Foundation (ASF) under one |
| .\" or more contributor license agreements. See the NOTICE file |
| .\" distributed with this work for additional information |
| .\" regarding copyright ownership. The ASF licenses this file |
| .\" to you under the Apache License, Version 2.0 (the |
| .\" "License"); you may not use this file except in compliance |
| .\" with the License. You may obtain a copy of the License at |
| .\" |
| .\" http://www.apache.org/licenses/LICENSE-2.0 |
| .\" |
| .\" Unless required by applicable law or agreed to in writing, |
| .\" software distributed under the License is distributed on an |
| .\" "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| .\" KIND, either express or implied. See the License for the |
| .\" specific language governing permissions and limitations |
| .\" under the License. |
| .\" |
| .\" |
| .\" You can view this file with: |
| .\" nroff -man [filename] |
| .\" |
| .TH svnserve 8 |
| .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. The password |
| and authorization configurations referenced from \fIfilename\fP will |
| be loaded on each connection. \fBsvnserve\fP will not read any |
| per-repository \fBconf/svnserve.conf\fP files when this option is |
| used. See the \fBsvnserve.conf\fP(5) 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(5) man page for details of that |
| file format. |
| .SH SEE ALSO |
| .BR svnserve.conf (5) |