{
    "content": [
        {
            "type": "text",
            "text": "# svnserve (man)\n\n## NAME\n\nsvnserve - Server for the 'svn' repository access method\n\n## SYNOPSIS\n\nsvnserve [options]\n\n## DESCRIPTION\n\nsvnserve  allows  access  to  Subversion repositories using the svn network protocol.  It can\nboth run as a standalone server process, or it can run out of inetd.  You must choose a  mode\nof operation when you start svnserve.  The following options are recognized:\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION** (10 subsections)\n- **SEE ALSO**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "svnserve",
        "section": "",
        "mode": "man",
        "summary": "svnserve - Server for the 'svn' repository access method",
        "synopsis": "svnserve [options]",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [
            {
                "flag": "-d",
                "long": "--daemon",
                "arg": null,
                "description": "Causes svnserve to run in daemon mode. svnserve backgrounds itself and accepts and serves TCP/IP connections on the svn port (3690, by default). --listen-port=port Causes svnserve to listen on port when run in daemon mode. --listen-host=host Causes svnserve to listen on the interface specified by host, which may be either a hostname or an IP address."
            },
            {
                "flag": "",
                "long": "--foreground",
                "arg": null,
                "description": "When used together with -d, this option causes svnserve to stay in the foreground. This option is mainly useful for debugging."
            },
            {
                "flag": "-i",
                "long": "--inetd",
                "arg": null,
                "description": "Causes svnserve to use the stdin/stdout file descriptors, as is appropriate for a daemon running out of inetd."
            },
            {
                "flag": "-h",
                "long": "--help",
                "arg": null,
                "description": "Displays a usage summary and exits."
            },
            {
                "flag": "",
                "long": "--version",
                "arg": null,
                "description": "Print svnserve's version and the repository filesystem back-end(s) a particular svnserve supports."
            },
            {
                "flag": "-r",
                "long": "--root",
                "arg": null,
                "description": "Sets the virtual root for repositories served by svnserve. The pathname in URLs pro‐ vided by the client will be interpreted relative to this root, and will not be allowed to escape this root."
            },
            {
                "flag": "-R",
                "long": "--read-only",
                "arg": null,
                "description": "Force all write operations through this svnserve 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 conf/svnserve.conf repository configuration file is for. This option should be used only to restrict access via a certain method of invok‐ ing svnserve - for example, to allow write access via SSH, but not via a svnserve dae‐ mon, or to create a restricted SSH key which is only capable of read access."
            },
            {
                "flag": "-t",
                "long": "--tunnel",
                "arg": null,
                "description": "Causes svnserve 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. --tunnel-user=username When combined with --tunnel, overrides the pre-authenticated username with the supplied username. This is useful in combination with the ssh authorizedkey file's \"command\" directive to allow a single system account to be used by multiple committers, each hav‐ ing a distinct ssh identity."
            },
            {
                "flag": "-T",
                "long": "--threads",
                "arg": null,
                "description": "When running in daemon mode, causes svnserve to spawn a thread instead of a process for each connection. The svnserve process still backgrounds itself at startup time. --config-file=filename When specified, svnserve reads filename once at program startup and caches the svnserve configuration. The password and authorization configurations referenced from filename will be loaded on each connection. svnserve will not read any per-repository conf/svnserve.conf files when this option is used. See the svnserve.conf(5) man page for details of the file format for this option. --pid-file=filename When specified, svnserve will write its process ID to filename."
            },
            {
                "flag": "-X",
                "long": "--listen-once",
                "arg": null,
                "description": "Causes svnserve to accept one connection on the svn port, serve it, and exit. This op‐ tion is mainly useful for debugging. Unless the --config-file option was specified on the command line, once the client has se‐ lected a repository by transmitting its URL, svnserve reads a file named conf/svnserve.conf in the repository directory to determine repository-specific settings such as what authenti‐ cation database to use and what authorization policies to apply. See the svnserve.conf(5) man page for details of that file format."
            }
        ],
        "examples": [],
        "see_also": [
            {
                "name": "svnserve.conf",
                "section": "5",
                "url": "https://www.chedong.com/phpMan.php/man/svnserve.conf/5/json"
            }
        ],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 4,
                "subsections": [
                    {
                        "name": "-d --daemon",
                        "lines": 10,
                        "flag": "-d",
                        "long": "--daemon"
                    },
                    {
                        "name": "--foreground",
                        "lines": 3,
                        "long": "--foreground"
                    },
                    {
                        "name": "-i --inetd",
                        "lines": 3,
                        "flag": "-i",
                        "long": "--inetd"
                    },
                    {
                        "name": "-h --help",
                        "lines": 2,
                        "flag": "-h",
                        "long": "--help"
                    },
                    {
                        "name": "--version",
                        "lines": 3,
                        "long": "--version"
                    },
                    {
                        "name": "-r --root",
                        "lines": 4,
                        "flag": "-r",
                        "long": "--root"
                    },
                    {
                        "name": "-R --read-only",
                        "lines": 7,
                        "flag": "-R",
                        "long": "--read-only"
                    },
                    {
                        "name": "-t --tunnel",
                        "lines": 11,
                        "flag": "-t",
                        "long": "--tunnel"
                    },
                    {
                        "name": "-T --threads",
                        "lines": 13,
                        "flag": "-T",
                        "long": "--threads"
                    },
                    {
                        "name": "-X --listen-once",
                        "lines": 9,
                        "flag": "-X",
                        "long": "--listen-once"
                    }
                ]
            },
            {
                "name": "SEE ALSO",
                "lines": 5,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "svnserve - Server for the 'svn' repository access method\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "svnserve [options]\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "svnserve  allows  access  to  Subversion repositories using the svn network protocol.  It can\nboth run as a standalone server process, or it can run out of inetd.  You must choose a  mode\nof operation when you start svnserve.  The following options are recognized:\n",
                "subsections": [
                    {
                        "name": "-d --daemon",
                        "content": "Causes  svnserve  to  run  in  daemon mode.  svnserve backgrounds itself and accepts and\nserves TCP/IP connections on the svn port (3690, by default).\n\n--listen-port=port\nCauses svnserve to listen on port when run in daemon mode.\n\n--listen-host=host\nCauses svnserve to listen on the interface specified by host,  which  may  be  either  a\nhostname or an IP address.\n",
                        "flag": "-d",
                        "long": "--daemon"
                    },
                    {
                        "name": "--foreground",
                        "content": "When used together with -d, this option causes svnserve to stay in the foreground.  This\noption is mainly useful for debugging.\n",
                        "long": "--foreground"
                    },
                    {
                        "name": "-i --inetd",
                        "content": "Causes svnserve to use the stdin/stdout file descriptors, as is appropriate for a daemon\nrunning out of inetd.\n",
                        "flag": "-i",
                        "long": "--inetd"
                    },
                    {
                        "name": "-h --help",
                        "content": "Displays a usage summary and exits.\n",
                        "flag": "-h",
                        "long": "--help"
                    },
                    {
                        "name": "--version",
                        "content": "Print svnserve's version and the repository filesystem back-end(s) a particular svnserve\nsupports.\n",
                        "long": "--version"
                    },
                    {
                        "name": "-r --root",
                        "content": "Sets the virtual root for repositories served by svnserve.  The pathname  in  URLs  pro‐\nvided  by  the client will be interpreted relative to this root, and will not be allowed\nto escape this root.\n",
                        "flag": "-r",
                        "long": "--root"
                    },
                    {
                        "name": "-R --read-only",
                        "content": "Force all write operations through this svnserve instance to  be  forbidden,  overriding\nall other access policy configuration.  Do not use this option to set general repository\naccess policy - that is what the conf/svnserve.conf  repository  configuration  file  is\nfor.   This option should be used only to restrict access via a certain method of invok‐\ning svnserve - for example, to allow write access via SSH, but not via a  svnserve  dae‐\nmon, or to create a restricted SSH key which is only capable of read access.\n",
                        "flag": "-R",
                        "long": "--read-only"
                    },
                    {
                        "name": "-t --tunnel",
                        "content": "Causes  svnserve  to  run in tunnel mode, which is just like the inetd mode of operation\n(serve one connection over stdin/stdout) except that the connection is considered to  be\npre-authenticated  with  the  username of the current uid.  This flag is selected by the\nclient when running over a tunnel agent.\n\n--tunnel-user=username\nWhen combined with --tunnel, overrides the pre-authenticated username with the  supplied\nusername.   This  is  useful in combination with the ssh authorizedkey file's \"command\"\ndirective to allow a single system account to be used by multiple committers, each  hav‐\ning a distinct ssh identity.\n",
                        "flag": "-t",
                        "long": "--tunnel"
                    },
                    {
                        "name": "-T --threads",
                        "content": "When  running in daemon mode, causes svnserve to spawn a thread instead of a process for\neach connection.  The svnserve process still backgrounds itself at startup time.\n\n--config-file=filename\nWhen specified, svnserve reads filename once at program startup and caches the  svnserve\nconfiguration.   The  password and authorization configurations referenced from filename\nwill  be  loaded  on  each  connection.   svnserve  will  not  read  any  per-repository\nconf/svnserve.conf  files  when  this option is used.  See the svnserve.conf(5) man page\nfor details of the file format for this option.\n\n--pid-file=filename\nWhen specified, svnserve will write its process ID to filename.\n",
                        "flag": "-T",
                        "long": "--threads"
                    },
                    {
                        "name": "-X --listen-once",
                        "content": "Causes svnserve to accept one connection on the svn port, serve it, and exit.  This  op‐\ntion is mainly useful for debugging.\n\nUnless  the  --config-file  option was specified on the command line, once the client has se‐\nlected a repository by transmitting its URL, svnserve reads a file  named  conf/svnserve.conf\nin  the repository directory to determine repository-specific settings such as what authenti‐\ncation database to use and what authorization policies to apply.   See  the  svnserve.conf(5)\nman page for details of that file format.\n",
                        "flag": "-X",
                        "long": "--listen-once"
                    }
                ]
            },
            "SEE ALSO": {
                "content": "svnserve.conf(5)\n\n\n\nsvnserve(8)",
                "subsections": []
            }
        }
    }
}