版本控制系统 Subversion

For Subversion 1.1

(book compiled from 1.1)

Ben Collins-Sussman

Brian W. Fitzpatrick

C. Michael Pilato

翻译: Donny Liu

This work is licensed under the Creative Commons Attribution License. To view a copy of this license, visit http://creativecommons.org/licenses/by/2.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

(TBA)


目录

1. 入门
什么是Subversion?
Subversion 的历史
Subversion的特性
Subversion的架构
安装Subversion
Subversoin的组件:
快速上手
2. 基本概念
资料库
版本模型
文件共享的难题
解决方案:锁定-修改-解锁
解决方案:拷贝-修改-合并
Subversion实战
工作副本
修订版(Revision)
工作副本如何跟踪资料库
混合修订版的局限
总结
3. 使用指南
帮助!
导入
修订版:号码,关键字和日期,喔!
修订版号码
修订版关键字
修订版日期
最初的检出
基本工作流程
更新你的工作副本
修改你的工作副本
检查你的修改
解决冲突(合并别人的修改)
提交你的修改
检查历史
svn log
svn diff
svn cat
svn list
关于历史的最后一点说明
其他有用的命令
svn cleanup
svn import
总结
4. 分支和合并
什么是分支?
使用分支
创建一个分支
在你的分支上工作
分支背后的关键思想
在分支之间复制修改
复制指定的修改
合并的最佳实践
常见的用例
把整个分支合并到另一个
撤销修改
恢复删掉的项
常见的分支模式
切换工作副本
标签
创建简单的标签
创建一个复杂的标签
分支的维护
资料库布局
数据的生存时间
总结
5. 资料库管理
资料库基础知识
理解事务和修订版
未版本化的属性
资料库中的数据存储
资料库创建和配置
钩子脚本
Berkeley DB 配置
资料库维护
管理员的工具箱
资料库清理
管理磁盘空间
资料库恢复
移植资料库
资料库备份
添加项目
选择资料库布局
创建布局,并导入初始数据
总结
6. 服务器配置
概述
网络模型
请求和响应
客户凭证缓存
svnserve,定制的服务器
调用服务器
内建的认证和授权
外部的基于路径的授权
SSH 认证和授权
httpd,Apache HTTP 服务器
先决条件
基本的Apache配置
认证选项
Authorization 选项
特别奉献
支持多种资料库访问方式
A. Copyright

插图清单

1.1. Subversion 架构图
2.1. 一个典型的客户机/服务器 系统
2.2. 需要避免的问题
2.3. 图2.3 解决方案:锁定-修改-解锁
2.4. 解决方案:拷贝-修改-合并
2.5. 解决方案:拷贝-修改-合并(续)
2.6. 资料库的文件系统
2.7. 资料库
4.1. 开发的分支
4.2. 开始时的资料库布局
4.3. 有了新拷贝的资料库
4.4. 一个文件历史的分支

表格清单

2.1. 表2.1资料库访问URL
5.1. 资料库数据存储比较
6.1. 网络服务器比较

范例清单

5.1. 使用 svnshell 来航行于资料库中
5.2. txn-info.sh (报告未完成事务)
6.1. 匿名访问的一个配置范例。
6.2. 认证访问的一个配置范例。
6.3. 混合认证/匿名访问的一个配置范例。