Followup to r29625: fix getopt tests.
[svn.git] / subversion / svnserve / svnserve.8
blob6849922fe3f18d307c765e9acdf26cdfaddbe62e
1 .\" You can view this file with:
2 .\" nroff -man [filename]
3 .\"
4 .TH svnserve 8
5 .SH NAME
6 svnserve \- Server for the 'svn' repository access method
7 .SH SYNOPSIS
8 .TP
9 \fBsvnserve\fP [\fIoptions\fP]
10 .SH DESCRIPTION
11 \fBsvnserve\fP allows access to Subversion repositories using the svn
12 network protocol.  It can both run as a standalone server process, or
13 it can run out of inetd.  You must choose a mode of operation when you
14 start \fBsvnserve\fP.  The following options are recognized:
15 .PP
16 .TP 5
17 \fB\-d\fP, \fB\-\-daemon\fP
18 Causes \fBsvnserve\fP to run in daemon mode.  \fBsvnserve\fP
19 backgrounds itself and accepts and serves TCP/IP connections on the
20 svn port (3690, by default).
21 .PP
22 .TP 5
23 \fB\-\-listen\-port\fP=\fIport\fP
24 Causes \fBsvnserve\fP to listen on \fIport\fP when run in daemon mode.
25 .PP
26 .TP 5
27 \fB\-\-listen\-host\fP=\fIhost\fP
28 Causes \fBsvnserve\fP to listen on the interface specified by \fIhost\fP,
29 which may be either a hostname or an IP address.
30 .PP
31 .TP 5
32 \fB\-\-foreground\fP
33 When used together with \fB\-d\fP, this option causes \fBsvnserve\fP
34 to stay in the foreground.  This option is mainly useful for
35 debugging.
36 .PP
37 .TP 5
38 \fB\-i\fP, \fB\-\-inetd\fP
39 Causes \fBsvnserve\fP to use the stdin/stdout file descriptors, as is
40 appropriate for a daemon running out of inetd.
41 .PP
42 .TP 5
43 \fB\-h\fP, \fB\-\-help\fP
44 Displays a usage summary and exits.
45 .PP
46 .TP 5
47 \fB\-\-version\fP
48 Print \fBsvnserve\fP's version and the repository filesystem
49 back-end(s) a particular \fBsvnserve\fP supports.
50 .PP
51 .TP 5
52 \fB\-r\fP \fIroot\fP, \fB\-\-root\fP=\fIroot\fP
53 Sets the virtual root for repositories served by \fBsvnserve\fP.  The
54 pathname in URLs provided by the client will be interpreted relative
55 to this root, and will not be allowed to escape this root.
56 .PP
57 .TP 5
58 \fB\-R\fP \fB\-\-read\-only\fP
59 Force all write operations through this \fBsvnserve\fP instance to be
60 forbidden, overriding all other access policy configuration.  Do not
61 use this option to set general repository access policy - that is what
62 the \fBconf/svnserve.conf\fP repository configuration file is for.
63 This option should be used only to restrict access via a certain
64 method of invoking \fBsvnserve\fP - for example, to allow write access
65 via SSH, but not via a \fBsvnserve\fP daemon, or to create a
66 restricted SSH key which is only capable of read access.
67 .PP
68 .TP 5
69 \fB\-t\fP, \fB\-\-tunnel\fP
70 Causes \fBsvnserve\fP to run in tunnel mode, which is just like the
71 inetd mode of operation (serve one connection over stdin/stdout)
72 except that the connection is considered to be pre-authenticated with
73 the username of the current uid.  This flag is selected by the client
74 when running over a tunnel agent.
75 .PP
76 .TP 5
77 \fB\-\-tunnel\-user\fP=\fIusername\fP
78 When combined with \fB\-\-tunnel\fP, overrides the pre-authenticated
79 username with the supplied \fIusername\fP.  This is useful in
80 combination with the ssh authorized_key file's "command" directive to
81 allow a single system account to be used by multiple committers, each
82 having a distinct ssh identity.
83 .PP
84 .TP 5
85 \fB\-T\fP, \fB\-\-threads\fP
86 When running in daemon mode, causes \fBsvnserve\fP to spawn a thread
87 instead of a process for each connection.  The \fBsvnserve\fP process
88 still backgrounds itself at startup time.
89 .PP
90 .TP 5
91 \fB\-\-config\-file\fP=\fIfilename\fP
92 When specified, \fBsvnserve\fP reads \fIfilename\fP once at program
93 startup and caches the \fBsvnserve\fP configuration and any passwords
94 and authorization configuration referenced from \fIfilename\fP.
95 \fBsvnserve\fP will not read any per-repository
96 \fBconf/svnserve.conf\fP files when this option is used.  See the
97 \fBsvnserve.conf\fP(5) man page for details of the file format for
98 this option.
99 .PP
100 .TP 5
101 \fB\-\-pid\-file\fP=\fIfilename\fP
102 When specified, \fBsvnserve\fP will write its process ID to
103 \fIfilename\fP.
105 .TP 5
106 \fB\-X\fP, \fB\-\-listen\-once\fP
107 Causes \fBsvnserve\fP to accept one connection on the svn port, serve
108 it, and exit.  This option is mainly useful for debugging.
110 Unless the \fB\-\-config\-file\fP option was specified on the command
111 line, once the client has selected a repository by transmitting its
112 URL, \fBsvnserve\fP reads a file named \fBconf/svnserve.conf\fP in the
113 repository directory to determine repository-specific settings such as
114 what authentication database to use and what authorization policies to
115 apply.  See the \fBsvnserve.conf\fP(5) man page for details of that
116 file format.
117 .SH SEE ALSO
118 .BR svnserve.conf (5)