如果你修改了一个程序以适应自己的需要,你也许想将这种修改也加到该程序的下一个版本中。cvs可以帮你完成这一任务。
在cvs术语中,程序的提供者称为vendor。从vendor得到的未经修改的发行版提交到他自己的分支,vendor branch。cvs将分支1.1.1用于此。
当你修改了源码并提交,版本号将回到主干上。当vendor发行了一个新版本,你将其提交到vendor branch,然后拷贝修改到主干上。
使import(导入)用命令可以创建和更新vendor branch。当导入一个新文件,vendor branch创建了'顶(head)'版本,这时检出该文件的拷贝得到的是这一版本。如果在本地做了修改并提交,则'顶'版本移动到主干上。
在第一次提交源码时使用import命令。使用import命令跟踪第三方代码时,vendor tag和release tags很有用。vendor tag是分支的符号名(除非使用-b branch标志--参看[多个vendor branches],分支号总是1.1.1)。release tags是特定版本的符号名,比如FSF_0_04。
注意import命令不改变你执行时所处的目录。特别是,它不会将该目录作为cvs工作目录。如果你想修改这些源码,提交后再检出到另一个不同目录中[获取源文件 在 第 1 章]。
假设你有wdiff程序的源码,目录为wdiff-0.04,打算做一些私有的修改,并能用于以后新的发行版本中。首先将源码导入源码库:
$ cd wdiff-0.04 $ cvs import -m "Import of FSF v. 0.04" fsf/wdiff FSF_DIST WDIFF_0_04 |
上面的例子中将vendor tag命名为FSF_DIST,唯一的release tag设为WDIFF_0_04。