本手册旨在描述 Subversion 1.2。如果您运行的是更新版本的 Subversion,我们强烈建议您访问 https://svnbooks.subversion.org.cn/ 并查阅与您 Subversion 版本相符的书籍版本。
本附录是针对刚接触 Subversion 的 CVS 用户的指南。它本质上是两个系统之间差异的列表,以“从 10,000 英尺的高度来看”的形式呈现。对于每个部分,我们将在可能的情况下提供指向相关章节的回溯引用。
虽然 Subversion 的目标是接管当前和未来的 CVS 用户群体,但为了修复 CVS 中某些“损坏”的行为,需要一些新功能和设计变更。这意味着作为 CVS 用户,您可能需要打破一些习惯——那些您忘记原本就奇怪的习惯。
在 CVS 中,修订版本号是针对每个文件的。这是因为 CVS 将其数据存储在 RCS 文件中;每个文件在存储库中都有一个相应的 RCS 文件,并且存储库的布局大体上与您的项目树结构一致。
在 Subversion 中,存储库看起来像一个单一的文件系统。每次提交都会生成一个全新的文件系统树;本质上,存储库是一个树数组。这些树中的每一个都用一个唯一的修订版本号进行标记。当有人谈论“修订版本 54”时,他们指的是特定的树(以及间接地,第 54 次提交后文件系统的状态)。
从技术上讲,谈论“foo.c
的修订版本 5”是不正确的。相反,应该说“修订版本 5 中的 foo.c
”。此外,在对文件的演变过程进行假设时要小心。在 CVS 中,foo.c
的修订版本 5 和 6 始终不同。在 Subversion 中,foo.c
很可能在修订版本 5 和 6 之间没有发生任何变化。
有关此主题的更多详细信息,请参阅 名为“修订版本”的部分.