本手册描述了 Subversion 1.2。如果您运行的是更新版本的 Subversion,我们强烈建议您访问 https://svnbooks.subversion.org.cn/ 并查阅与您的 Subversion 版本相匹配的版本。
svnserve 允许使用 svn
网络协议访问 Subversion 仓库。您可以将 svnserve 作为独立的服务器进程运行,也可以让其他进程(如 inetd、xinetd 或 sshd)为您启动它。
客户端通过传输其 URL 选择仓库后,svnserve 会读取仓库目录中名为 conf/svnserve.conf
的文件,以确定仓库特定的设置,例如使用哪个身份验证数据库以及应用哪些授权策略。有关 svnserve.conf
文件的详细信息,请参阅 “svnserve,自定义服务器”部分。
与我们之前描述的命令不同,svnserve 没有子命令——svnserve 完全通过开关控制。
--daemon
(-d
)使 svnserve 在守护进程模式下运行。svnserve 将自己置于后台,并在 svn 端口(默认值为 3690)上接受和处理 TCP/IP 连接。
--listen-port
=PORT
在守护进程模式下运行时,使 svnserve 监听 PORT
。
--listen-host
=HOST
使 svnserve 监听由 HOST
指定的接口,HOST
可以是主机名或 IP 地址。
--foreground
与 -d
结合使用时,此开关使 svnserve 保持在前景。此开关主要用于调试。
--inetd
(-i
)使 svnserve 使用 stdin/stdout 文件描述符,这适用于从 inetd 中运行的守护进程。
--help
(-h
)显示使用摘要并退出。
--version
显示版本信息、可用仓库后端模块列表并退出。
--root
=ROOT
(-r
=ROOT
)设置由 svnserve 提供服务的仓库的虚拟根目录。客户端提供的 URL 中的路径名将相对于此根目录进行解释,并且不允许超出此根目录。
--tunnel
(-t
)使 svnserve 在隧道模式下运行,该模式类似于 inetd 操作模式(通过 stdin/stdout 提供一项连接服务),只是连接被认为已使用当前 uid 的用户名预先验证。当通过隧道代理(如 ssh)运行时,客户端会选择此标志。
--tunnel-user NAME
与 --tunnel
开关结合使用;告诉 svnserve 假设 NAME
是经过验证的用户,而不是 svnserve 进程的 UID。这对于希望通过 SSH 共享单个系统帐户但保持单独提交身份的用户很有用。
--threads
(-T
)在守护进程模式下运行时,使 svnserve 为每个连接生成一个线程而不是一个进程。svnserve 进程在启动时仍然会将自己置于后台。
--listen-once
(-X
)使 svnserve 在 svn 端口上接受一个连接,处理它,然后退出。此选项主要用于调试。