### **svnserve**
**svnserve**允许Subversion版本库使用`svn`网络协议,你可以作为独立服务器进程运行svnserve,或者是使用其它进程,如**inetd**、**xinetd**或**sshd**为你启动进程。
一旦客户端已经选择了一个版本库来传递它的URL,**svnserve**会读取版本库目录的`conf/svnserve.conf`文件,来检测版本库特定的设置,如使用哪个认证数据库和应用怎样的授权策略。关于`svnserve.conf`文件的详情见[“svnserve,一个自定义的服务器”一节](# "svnserve,一个自定义的服务器")。
### **svnserve**选项
不象前面描述的例子,**svnserve**没有子命令―**svnserve**完全通过选项控制。
`--daemon` (`-d`)
导致**svnserve**以守护进程方式运行,**svnserve**维护本身并且接受和服务svn端口(缺省3690)的TCP/IP连接。
`--listen-port`=*`PORT`*
在守护进程模式时导致svnserve监听*`PORT`*端口。
`--listen-host`=*`HOST`*
**svnserve**监听的*`HOST`*,可能是一个主机名或是一个IP地址。
`--foreground`
当与`-d`一起使用,会导致**svnserve**停留在前台,主要用来调试。
`--inetd` (`-i`)
导致**svnserve**使用标准输出/标准输入文件描述符,更准确的是使用**inetd**作为守护进程。
`--help` (`-h`)
显示有用的摘要和选项。
`--version`
显示版本信息,版本库后端存在和可用的模块列表。
`--root`=*`ROOT`* (`-r`=*`ROOT`*)
设置**svnserve**服务的版本库的虚拟根,客户端提供的URL中显示的路径会解释为这个根的相对路径,不会允许离开这个根。
`--tunnel` (`-t`)
导致**svnserve**以管道模式运行,很像**inetd**操作的模式(服务于一个标准输入/标准输出的连接),除了连接是用当前uid的用户名预先认证过的这一点。这个选项在客户端使用如**ssh**之类的管道时使用。
`--tunnel-user NAME`
与`--tunnel`选项结合使用;告诉svnserve假定NAME就是认证用户,而不是svnserve进程的UID用户,当希望多个用户通过SSH共享同一个系统帐户,但是维护各自的提交标示符时非常有用。
`--threads` (`-T`)
当以守护进程模式运行,导致**svnserve**为每个连接产生一个线程而不是一个进程,**svnserve**进程本身在启动后会一直在后台。
`--listen-once` (`-X`)
导致**svnserve**在svn端口接受一个连接,维护完成它退出。这个选项主要用来调试。
- 第1章介绍
- Subversion的历史
- Subversion的特性
- Subversion的架构
- 安装Subversion
- Subversion的组件
- 快速入门
- 第2章基本概念
- 版本模型
- Subversion实战
- 摘要
- 第3章指导教程
- 导入
- 修订版本: 号码、关键字和日期,噢,我的!
- 初始化的Checkout
- 基本的工作周期
- 检验历史
- 其他有用的命令
- 摘要
- 第4章分支与合并
- 使用分支
- 在分支间拷贝修改
- 常见用例
- 转换工作拷贝
- 标签
- 分支维护
- 摘要
- 第5章版本库管理
- 版本库的创建和配置
- 版本库维护
- 添加项目
- 摘要
- 第6章配置服务器
- 网络模型
- svnserve,一个自定义的服务器
- httpd,Apache的HTTP服务器
- 支持多种版本库访问方法
- 第7章高级主题
- 属性
- Peg和实施修订版本
- 外部定义
- 卖主分支
- 本地化
- Subversion版本库URL
- 第8章开发者信息
- 使用API
- 进入工作拷贝的管理区
- WebDAV
- 使用内存池编程
- 为Subversion做贡献
- 第9章Subversion完全参考
- svn add
- svn blame
- svn cat
- svn checkout
- svn cleanup
- svn commit
- svn copy
- svn delete
- svn diff
- svn export
- svn help
- svn import
- svn info
- svn list
- svn log
- svn merge
- svn mkdir
- svn move
- svn propdel
- svn propedit
- svn propget
- svn proplist
- svn propset
- svn resolved
- svn revert
- svn status
- svn switch
- svn update
- svnadmin
- svnadmin create
- svnadmin deltify
- svnadmin dump
- svnadmin help
- svnadmin hotcopy
- svnadmin list-dblogs
- svnadmin list-unused-dblogs
- svnadmin load
- svnadmin lstxns
- svnadmin recover
- svnadmin rmtxns
- svnadmin setlog
- svnadmin verify
- svnlook
- svnlook author
- svnlook cat
- svnlook changed
- svnlook date
- svnlook diff
- svnlook dirs-changed
- svnlook help
- svnlook history
- svnlook info
- svnlook log
- svnlook propget
- svnlook proplist
- svnlook tree
- svnlook uuid
- svnlook youngest
- svnserve
- svnversion
- mod_dav_svn Configuration Directives
- 附录A.Subversion对于CVS用户
- 目录的版本
- 更多离线操作
- 区分状态和更新
- 分支和标签
- 元数据属性
- 冲突解决
- 二进制文件和转化
- 版本化的模块
- 认证
- 转化CVS版本库到Subversion
- 附录C.WebDAV和自动版本化
- 自动版本化交互性
- Subversion和DeltaV
- 术语表