下一个: Special Files, 上一个: Tracking sources, 上层: Top
简介中曾提到,cvs 不包含将源代码构建成软件的功能。本节只描述构建系统与 cvs 之间的交互操作。
一个常见的问题,特别是对 rcs 熟悉的人们,是如何得到源代码的最新副本。对
cvs 答案有两方面(tow-fold)。首先,因为 cvs 可在目录内递归,所以不必
修改 Makefile(或其他配置文件)以使每个文件都更新。所以,先使用
cvs -q update 命令,再用 make 或 build 工具中别的命令即可。其次,
在完成你的工作之前,不必 去考虑得到其他人做的修改的副本。建议的作法是
先更新源代码然后修改、构建和测试你的修改,然后提交你的源码(如果需要先更新)。
通过周期性地(修改之间,如刚才的描述)更新你的整个源码树,你就能保证你的源代码足够新。
还有一个常见的需要是纪录特定构建中源代码的版本。这种功能称为
bill of materials 或类似叫法。在 cvs 中最好的解决方法是使用
tag 命令来纪录给定构建的版本(参阅 Tags)。
大多数简单使用 cvs 的方式下,每个开发人员会有一份整个源码树的副本用于特定的 构建。如果源码树比较小,或者开发人员地理位置分散,这是一种比较合适的作法。对于 大的项目,应当将其分成小的可以独立编译的子系统,它们可以内部发布,这样每个开发 人员只需检出自己工作的相应的子系统。
另一种方式是创建一种结构,开发人员对部分文件有自己的拷贝,其他文件从中心获得。
在许多系统上可以使用符号链接,或者使用 make的 VPATH 特性。一个专为
此设计的 build 工具可以帮你处理,它就是 Odin (参考
ftp://ftp.cs.colorado.edu/pub/distribs/odin)。