附录 A. Subversion对于CVS用户

目录

修订版本号现在不同了
目录的版本
更多离线操作
区分状态和更新
分支和标签
元数据属性
冲突解决
二进制文件和转化
版本化的模块
认证
转化CVS版本库到Subversion

这个附录可以作为CVS用户开始使用Subversion的指南,实质上就是鸟瞰这两个系统之间的区别列表,在每一小节,我们会尽可能提供相关章节的引用。

尽管Subversion的目标是接管当前和未来的CVS用户基础,需要一些新的特性设计来修正一些CVS“不好的”行为习惯,这意味着,作为一个CVS用户,你或许需要打破习惯—忘记一些奇怪的习惯来作为开始。

修订版本号现在不同了

在CVS中,修订版本号是每文件的,这是因为CVS使用RCS作为后端;每个文件都在版本库有一个对应的RCS文件,版本库几乎就是根据项目树的结构创建。

在Subversion,版本库看起来像是一个单独的文件系统,每次提交导致一个新的文件系统;本质上,版本库是一堆树,每棵树都有一个单独的修订版本号。当有人谈论“修订版本54”时,他们是在讨论一个特定的树(并且间接来说,文件系统在提交54次之后的样子)。

技术上讲,谈论“文件foo.c的修订版本5”是不正确的,相反,一个人会说“foo.c在修订版本5出现”。同样,我们在假定文件的进展时也要小心,在CVS,文件foo.c的修订版本5和6一定是不同的,在Subversion,foo.c可能在修订版本5和6之间没有改变。

更多细节见“修订版本”一节.