第1篇 CVS入门篇 1
第1章 CVS概述 1
1.1 CVS是什么 1
1.2 为什么要使用CVS 2
1.3 CVS的特点 5
1.4 一定要用CVS吗 7
第2章 CVS安装和权限配置 10
2.1 本章导读 10
2.2 在UNIX/Linux平台上下载并安装CVS服务器 10
2.3 选定CVS仓库的位置 12
2.4 初始化CVS服务器 12
2.5 用户组和用户账号的设立 13
2.6 权限设定 14
2.7 配置CVS口令服务器 16
2.8 启动inetd/xinetd超级服务器 17
2.9 测试CVS口令服务器是否正常工作 17
2.10 安装CVS客户端 18
2.11 客户端配置 19
2.12 测试远程访问 22
2.13 在Visual Studio中集成CVS 23
2.14 在Windows NT/2000上安装CVS服务器 23
第3章 CVS的工作原理 27
3.1 本章导读 27
3.2 CVS系统的客户/服务器结构 27
3.3 什么是CVS仓库 28
3.4 仓库的内容 29
3.5 工作拷贝 30
3.6 仓库的指定 31
3.7 用CVS进行分布式协同开发 31
第4章 CVS基础 33
4.1 本章导读 33
4.2 CVS预备知识——版本管理 33
4.3 CVS基本概念 36
4.4 学习WinCVS 1.2 37
4.5 CVS命令 39
4.6 选定用于试验的CVS仓库 40
4.7 创建工作拷贝(检出源代码) 41
4.8 查看工作拷贝 42
4.9 修改工作拷贝中的源代码文件 43
4.10 将工作拷贝与仓库对照(查看差异) 44
4.11 将工作拷贝中的代码保存到仓库中(提交源代码) 46
4.12 将仓库中的新代码取到工作拷贝中(更新源代码) 48
4.13 代码冲突检测与解决 51
4.14 查看仓库中的CVS提交操作日志 52
4.15 版本回退 55
4.16 CVS与隐含参数 58
4.17 CVS命令的缩写 59
第2篇 CVS进阶篇 60
第5章 启动一个新项目 60
5.1 本章导读 60
5.2 创建全新项目 60
5.3 将外部项目导入CVS 61
5.4 在项目中添加新的目录和文件 62
5.5 CVS模块 63
5.6 CVS模块权限的设置 67
第6章 CVS版本、版本标签和基线 69
6.1 本章导读 69
6.2 什么是版本 69
6.3 版本编号 69
6.4 CVS版本与目录 70
6.5 版本标签 70
6.6 如何获取某个特定版本 77
6.7 CVS使用的时间格式 80
第7章 CVS并行开发(版本分支) 82
7.1 本章导读 82
7.2 什么是版本分支 82
7.3 为何需要并行开发 82
7.4 小心使用版本分支 84
7.5 版本分支与版本号 85
7.6 创建版本分支 85
7.7 访问版本分支 87
7.8 如何确定正在哪个分支上工作 88
7.9 版本分支的合并 88
7.10 Linux Kernel开发的版本分支应用 94
第8章 CVS协同开发 96
8.1 本章导读 96
8.2 协同开发需要CVS 96
8.3 CVS所不能替代的工作 96
8.4 CVS的锁定 97
8.5 协作中的同步 97
第9章 CVS中目录文件的增删与移动 101
9.1 本章导读 101
9.2 添加目录或文件 101
9.3 删除文件 102
9.4 删除目录 103
9.5 目录和文件更名 103
第10章 CVS与二进制文件 105
10.1 本章导读 105
10.2 CVS对文件的处理 105
10.3 二进制文件的问题 105
10.4 与ClearCase对照 106
10.5 如何保存二进制文件 106
10.6 恢复二进制文件 107
10.7 让CVS识别二进制文件 108
10.8 配置cvswrappers文件 108
第11章 CVS安全 110
11.1 本章导读 110
11.2 CVS安全的重要性 110
11.3 网络与系统安全 110
11.4 安装CVS口令服务器 111
11.5 使用更为安全的网络访问方式 111
11.6 配置CVS口令文件 111
11.7 设定只读用户 112
11.8 设定具有写权限的用户 112
11.9 使用更好的权限控制机制 113
第3篇 CVS高级篇 114
第12章 高级CVS 114
12.1 本章导读 114
12.2 CVS的触发器配置文件 114
12.3 其他的CVS配置文件 119
12.4 仓库维护必备知识 121
12.5 CVS日志信息的高级内容 123
12.6 CVS输出(export)——发布源码 126
12.7 巧用关键字扩展 126
12.8 清除工作拷贝 128
12.9 CVS协同开发的辅助通信 128
12.10 协同开发中的提交频率问题 133
第13章 CVS增强工具 135
13.1 CVSWeb 135
13.2 CVSUp 135
13.3 cvslock 135
13.4 cvs2cl 136
13.5 自己创建CVS工具 136
第14章 CVS与SCM 137
14.1 什么是SCM 137
14.2 为什么需要SCM 138
14.3 相关的软件工具 138
14.4 SCM的内容 139
14.5 软件配置项的相关性 141
14.6 重要的SCM概念——基线 141
14.7 变化控制 143
14.8 配置审计 145
14.9 配置状态报告 146
14.10 SCM自动化 147
14.11 在企业中实施SCM的注意事项 148
第4篇 Nightly Build技术 150
第15章 CVS与Nightly Build 150
15.1 什么是Nightly Build 150
15.2 什么是Continuous Build 151
15.3 为什么Nightly Build如此神奇 152
15.4 构建什么 154
15.5 安装工具的问题 154
15.6 每天构建——不可能吧 154
15.7 Nightly Build的管理机制 155
15.8 如何用CVS进行Nightly Build 156
15.9 实施Nightly Build注意事项 163
15.10 构建流程管理 164
附录A 使用CVS的建议和故障处理 168
A.1 经常出现的错误 168
A.2 排除故障的一般建议 171
A.3 一些实际问题及其解决方法 172
附录B CVS参考 182
B.1 命令和选项 182
B.2 关键字替换(RCS关键字) 211
B.3 仓库管理文件 213
B.4 运行控制文件 218
B.5 工作拷贝文件 219
B.6 环境变量 221
B.7 第三方提供的工具 223
参考文献 232