svnserve(8)
π svnserve(8) π
okay bestie, this is the manual page for svnserve, and yes it lives in the System Manager's Manual section 8, we love a system-admin girlie π
β¨ NAME β¨
svnserve β the Server for the 'svn' repository access method π«Ά
πΈ SYNOPSIS πΈ
svnserve [options]
π¦ DESCRIPTION π¦
So like, svnserve is the whole reason you can reach your Subversion repositories over the svn network protocol. iconic behaviour, honestly.
She can run as a standalone server process, or she can run out of inetd. you literally must choose a mode of operation when you start svnserve, no vibes-based ambiguity here, bestie.
Here's every option she recognizes, and yes we're going through all of them because nobody gets left behind π
-d,--daemonβ makessvnserverun in daemon mode. she backgrounds herself and accepts and serves TCP/IP connections on the svn port (3690, by default). main character energy, no notes β¨- *
--listen-port=port* β makessvnservelisten on port when she's running in daemon mode. pick your port, queen. --listen-host=host β makessvnservelisten on the interface specified by host, which can be either a **hostname or an IP address. flexible fr fr π--foregroundβ when you use this together with-d, it makessvnservestay in the foreground. this one is mainly useful for debugging. she's not hiding anymore, she's right there in your terminal π«Ά-i,--inetdβ makessvnserveuse the stdin/stdout file descriptors, as is appropriate for a daemon running out of inetd.-h,--helpβ displays a usage summary and exits. the "just tell me what to do" option, we've all been there π--versionβ printssvnserve's version and the repository filesystem back-end(s) that this particularsvnservesupports.-rroot,--root=root β sets the **virtual root for repositories served bysvnserve. the pathname in URLs that the client provides gets interpreted relative to this root, and it will not be allowed to escape this root. no escaping, the boundary is real π§-R --read-onlyβ forces all write operations through thissvnserveinstance to be forbidden, overriding all other access policy configuration.
β οΈ bestie, listen: do not use this option to set your general repository access policy β that is what theconf/svnserve.confrepository configuration file is for. this option should be used only to restrict access via a certain method of invokingsvnserve. like, for example, to allow write access via SSH but not via asvnservedaemon, or to create a restricted SSH key that is only capable of read access. context matters, periodt π
-t,--tunnelβ makessvnserverun 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 gets selected by the client when running over a tunnel agent. she's already been introduced, no need for a formal greeting π₯--tunnel-user=username β when combined with--tunnel, this *overrides the pre-authenticated username with the supplied *username. super useful in combination with the sshauthorized_keyfile's "command" directive, so a single system account can be used by multiple committers, each one having a distinct ssh identity. shared account, separate identities, we love to see it π-T,--threadsβ when running in daemon mode, this makessvnservespawn a thread instead of a process for each connection. and yes, thesvnserveprocess still backgrounds itself at startup time. threads not processes, she's efficient π--config-file=filename β when specified,svnservereads filename *once at program startup and caches the svnserve configuration. the password and authorization configurations referenced from *filename will be loaded on each connection. also:svnservewill not read any per-repositoryconf/svnserve.conffiles when this option is used. see thesvnserve.conf(5)man page for the deets on the file format for this option π--pid-file=filename β when specified,svnservewill write its *process ID to *filename. so you can find her later π₯°-X,--listen-onceβ makessvnserveaccept one connection on the svn port, serve it, and exit. this option is mainly useful for debugging. one and done, a true one-connection wonder β¨
π the config file situation π
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 figure out repository-specific settings β like what authentication database to use and what authorization policies to apply.
see the svnserve.conf(5) man page for all the details on that file format, bestie π«Ά
π SEE ALSO π
and that's the whole page, gorgeous π this was the svnserve(8) manual out of the System Manager's Manual, and yeah, that's the version and date situation too β go read your local copy if you need the exact stamp, it's giving very "check the source" of it all πβ¨
π¦ where this page comes from
- alpine 3.22: subversion-doc 1.14.5-r0 Β· Apache-2.0 AND BSD-2-Clause
- alpine 3.23: subversion-doc 1.14.5-r1 Β· Apache-2.0 AND BSD-2-Clause
- alpine 3.24: subversion-doc 1.14.5-r1 Β· Apache-2.0 AND BSD-2-Clause
- arch rolling: subversion 1.14.5-6 Β· Apache-2.0
- centos-stream 10: subversion 1.14.5-3.el10 Β· Apache-2.0
- centos-stream 9: subversion 1.14.1-7.el9 Β· ASL 2.0
- debian bookworm: subversion 1.14.2-4+deb12u1 Β· Apache-2.0
- debian trixie: subversion 1.14.5-3 Β· Apache-2.0
- fedora 43: subversion 1.14.5-20.fc43 Β· Apache-2.0
- fedora 43: subversion 1.15.0-2.fc43 Β· Apache-2.0
- fedora 44: subversion 1.14.5-26.fc44 Β· Apache-2.0
- fedora 44: subversion 1.15.0-2.fc44 Β· Apache-2.0
- nixpkgs unstable: subversion 1.14.5
- nixpkgs unstable: subversion-client 1.14.5
- opensuse-leap 16.0: subversion 1.14.5-bp160.2.1 Β· Apache-2.0
- opensuse-leap 16.0: subversion 1.14.5-bp160.2.1 Β· Apache-2.0
- opensuse-leap 16.0: subversion 1.14.5-bp160.2.1 Β· Apache-2.0
- opensuse-leap 16.0: subversion 1.14.5-bp160.2.1 Β· Apache-2.0
- ubuntu jammy: subversion 1.14.1-3build4 Β· Apache-2.0
- ubuntu jammy: subversion 1.14.1-3ubuntu0.22.04.1 Β· Apache-2.0
- ubuntu noble: subversion 1.14.3-1build4 Β· Apache-2.0
- ubuntu questing: subversion 1.14.5-3
- ubuntu resolute: subversion 1.14.5-6build1 Β· Apache-2.0
- ubuntu stonking: subversion 1.14.5-6build2 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms