<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>svnserve</title><link rel="stylesheet" href="styles.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /><link rel="start" href="index.html" title="Version Control with Subversion" /><link rel="up" href="svn.ref.html" title="Chapter 9. Subversion Complete Reference" /><link rel="prev" href="svn.ref.svnsync.c.sync.html" title="svnsync synchronize" /><link rel="next" href="svn.ref.svnversion.html" title="svnversion" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span class="command"><strong>svnserve</strong></span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="svn.ref.svnsync.c.sync.html">Prev</a> </td><th width="60%" align="center">Chapter 9. Subversion Complete Reference</th><td width="20%" align="right"> <a accesskey="n" href="svn.ref.svnversion.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="svn.ref.svnserve"></a><span class="command"><strong>svnserve</strong></span></h2></div></div></div><p><span class="command"><strong>svnserve</strong></span> allows access to Subversion repositories using Subversion's custom network protocol.</p><p>You can run <span class="command"><strong>svnserve</strong></span> as a standalone server process (for clients that are using the <code class="literal">svn://</code> access method); you can have a daemon such as <span class="command"><strong>inetd</strong></span> or <span class="command"><strong>xinetd</strong></span> launch it for you on demand (also for <code class="literal">svn://</code>), or you can have <span class="command"><strong>sshd</strong></span> launch it on demand for the <code class="literal">svn+ssh://</code> access method.</p><p>Regardless of the access method, once the client has selected a repository by transmitting its URL, <span class="command"><strong>svnserve</strong></span> reads a file named <code class="filename">conf/svnserve.conf</code> in the repository directory to determine repository-specific settings such as what authentication database to use and what authorization policies to apply. See <a class="xref" href="svn.serverconfig.svnserve.html" title="svnserve, a custom server">the section called “svnserve, a custom server”</a> for details of the <code class="filename">svnserve.conf</code> file.</p><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="svn.ref.svnserve.sw"></a><span class="command"><strong>svnserve</strong></span> Options</h3></div></div></div><p>Unlike the previous commands we've described, <span class="command"><strong>svnserve</strong></span> has no subcommands—<span class="command"><strong>svnserve</strong></span> is controlled exclusively by options.</p><div class="variablelist"><dl><dt><span class="term"><code class="option">--daemon</code> (<code class="option">-d</code>)</span></dt><dd><p>Causes <span class="command"><strong>svnserve</strong></span> to run in daemon mode. <span class="command"><strong>svnserve</strong></span> backgrounds itself and accepts and serves TCP/IP connections on the svn port (3690, by default).</p></dd><dt><span class="term"><code class="option">--listen-port</code>=<em class="replaceable"><code>PORT</code></em></span></dt><dd><p>Causes svnserve to listen on <em class="replaceable"><code>PORT</code></em> when run in daemon mode. (FreeBSD daemons only listen on tcp6 by default—this option tells them to also listen on tcp4.)</p></dd><dt><span class="term"><code class="option">--listen-host</code>=<em class="replaceable"><code>HOST</code></em></span></dt><dd><p>Causes <span class="command"><strong>svnserve</strong></span> to listen on the interface specified by <em class="replaceable"><code>HOST</code></em>, which may be either a hostname or an IP address.</p></dd><dt><span class="term"><code class="option">--foreground</code></span></dt><dd><p>When used together with <code class="option">-d</code>, this option causes <span class="command"><strong>svnserve</strong></span> to stay in the foreground. This option is mainly useful for debugging.</p></dd><dt><span class="term"><code class="option">--inetd</code> (<code class="option">-i</code>)</span></dt><dd><p>Causes <span class="command"><strong>svnserve</strong></span> to use the stdin/stdout file descriptors, as is appropriate for a daemon running out of <span class="command"><strong>inetd</strong></span>.</p></dd><dt><span class="term"><code class="option">--help</code> (<code class="option">-h</code>)</span></dt><dd><p>Displays a usage summary and exits.</p></dd><dt><span class="term"><code class="option">--version</code></span></dt><dd><p>Displays version information, a list of repository back-end modules available, and exits.</p></dd><dt><span class="term"><code class="option">--root</code>=<em class="replaceable"><code>ROOT</code></em> (<code class="option">-r</code>=<em class="replaceable"><code>ROOT</code></em>)</span></dt><dd><p>Sets the virtual root for repositories served by <span class="command"><strong>svnserve</strong></span>. The pathname in URLs provided by the client will be interpreted relative to this root, and will not be allowed to escape this root.</p></dd><dt><span class="term"><code class="option">--tunnel</code> (<code class="option">-t</code>)</span></dt><dd><p>Causes <span class="command"><strong>svnserve</strong></span> to run in tunnel mode, which is just like the <span class="command"><strong>inetd</strong></span> mode of operation (both modes serve one connection over stdin/stdout, then exit), except that the connection is considered to be pre-authenticated 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 <span class="command"><strong>ssh</strong></span>. That means there's rarely any need for <span class="emphasis"><em>you</em></span> to pass this option to <span class="command"><strong>svnserve</strong></span>. So if you find yourself typing <code class="literal">svnserve --tunnel</code> on the command line, and wondering what to do next, see <a class="xref" href="svn.serverconfig.svnserve.html#svn.serverconfig.svnserve.sshauth" title="Tunneling over SSH">the section called “Tunneling over SSH”</a>. </p></dd><dt><span class="term"><code class="option">--tunnel-user NAME</code></span></dt><dd><p>Used in conjunction with the <code class="option">--tunnel</code> option; tells svnserve to assume that <em class="replaceable"><code>NAME</code></em> is the authenticated user, rather than the UID of the svnserve process. Useful for users wishing to share a single system account over SSH, but maintaining separate commit identities.</p></dd><dt><span class="term"><code class="option">--threads</code> (<code class="option">-T</code>)</span></dt><dd><p>When running in daemon mode, causes <span class="command"><strong>svnserve</strong></span> to spawn a thread instead of a process for each connection (e.g. for when running on Windows). The <span class="command"><strong>svnserve</strong></span> process still backgrounds itself at startup time.</p></dd><dt><span class="term"><code class="option">--listen-once</code> (<code class="option">-X</code>)</span></dt><dd><p>Causes <span class="command"><strong>svnserve</strong></span> to accept one connection on the svn port, serve it, and exit. This option is mainly useful for debugging.</p></dd></dl></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="svn.ref.svnsync.c.sync.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="svn.ref.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="svn.ref.svnversion.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">svnsync synchronize </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span class="command"><strong>svnversion</strong></span></td></tr></table></div></body></html>