采用 Subversion 进行版本控制
Maven(nickrpc@gmail.com)
目 录
前言
目标读者
本书结构
排版惯例
本书是自由的
致谢
1. 简介
什么是 Subversion?
Subversion 的历史
Subversion 的功能
安装 Subversion
Subversion 的组件
客户端组件 (供使用者使用)
服务器组件 (供管理员使用)
2. 基本概念
档案库
各种版本控制的模型
档案分享的问题
锁定-修改-解锁的解决方案
复制-修改-合并的解决方案
Subversion 实务
工作复本
修订版本
工作复本如何追踪档案库
混合修订版的限制
摘要
3. 导览
帮帮我!
汇入
修订版: 数字, 关键词, 与日期. 我的天啊!
修订版号
修订版关键词
修订版日期
最初的取出动作
基本工作流程
更新工作复本
对工作复本产生更动
检视你的更动
svn status
svn diff
svn revert
解决冲突 (合并他人的更动)
手动合并冲突
将档案复制并盖过你的工作档
弃踢: 使用 svn revert
送交更动
检视历史纪录
svn log
svn diff
检视本地端更动
比较档案库与本地复本
档案库与档案库之间的比较
svn cat
svn list
对历史纪录的最后叮咛
其它有用的命令
svn cleanup
svn import
摘要
4. 分支与合并
何谓分支?
使用分支
建立一个分支
与分支共事
事情的内涵
在分支之间复制更动
复制特定的更动
重复合并问题
合并整个分支
从档案库移除一个更动
切换工作复本
标记
建立一个简单的标记
建立一个复杂的标记
分支维护
档案库配置
资料生命周期
摘要
5. Repository 管理
档案库的基本知识
了解异动与修订版
无版本控制的性质
档案库的建立与设定
Hook scripts
Berkeley DB 设定
档案库维护
管理员的工具箱
svnlook
svnadmin
svnshell.py
Berkeley DB 工具
档案库善后
档案库回复
汇入档案库
档案库备份
网络档案库
httpd, Apache HTTP 服务器
你需要什么, 才能设定基于 HTTP 的档案库存取
基本 Apache 设定
权限, 认证, 以及授权
服务器名称与 COPY 要求
浏览档案库的 HEAD 修订版
杂项的 Apache 功能
svnserve, 自订的 Subversion 服务器
设定匿名 TCP/IP 存取
设定使用 SSH 存取
使用哪一个服务器?
档案库权限
新增专案
选择一种档案库配置
建立配置, 汇入起始数据
摘要
6. 进阶主题
执行时期的设定区域
设定区域配置
设定与 Windows 登录档
设定选项
Servers
Config
性质
为什么要用性质?
使用性质
特殊性质
svn:executable
svn:mime-type
svn:ignore
svn:keywords
svn:eol-style
svn:externals
外部定义
供货商分支
通用供货商分支管理程序
svn-load-dirs.pl
7. Developer Information
Layered Library Design
Repository Layer
Repository Access Layer
RA-DAV (Repository Access Using HTTP/DAV)
RA-SVN (Proprietary Protocol Repository Access)
RA-Local (Direct Repository Access)
Your RA Library Here
Client Layer
Using the APIs
The Apache Portable Runtime Library
URL and Path Requirements
Using Languages Other than C and C++
Inside the Working Copy Administration Area
The Entries File
Pristine Copies and Property Files
WebDAV
Programming with Memory Pools
Contributing to Subversion
Join the Community
Get the Source Code
Become Familiar with Community Policies
Make and Test Your Changes
Donate Your Changes
8. 完整 Subversion 参考手册
Subversion 命令列客户端: svn
svn 选项
svn 子命令
svn add
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 选项
svnadmin 子命令
svnadmin list-unused-dblogs
svnadmin create
svnadmin dump
svnadmin help
svnadmin load
svnadmin lstxns
svnadmin recover
svnadmin rmtxns
svnadmin setlog
svnlook
svnlook 选项
svnlook author
svnlook cat
svnlook changed
svnlook date
svnlook diff
svnlook dirs-changed
svnlook help
svnlook history
svnlook info
svnlook log
svnlook proplist
svnlook tree
svnlook youngest
A. 给 CVS 使用者的 Subversion 指引
不同的修订版号
目录版本
更多不需网络的动作
区分状态与更新
分支与标记
中介资料性质
冲突排解