本文档旨在描述 Subversion 1.1。如果您正在运行更新版本的 Subversion,我们强烈建议您访问 https://svnbooks.subversion.org.cn/ 并查阅与您的 Subversion 版本相匹配的版本。
本附录是针对 Subversion 新手的 CVS 用户指南。它本质上是两个系统之间差异的列表,以“从 10,000 英尺处看”的方式呈现。对于每个部分,我们都会尽可能地提供对相关章节的回溯引用。
虽然 Subversion 的目标是接管当前和未来的 CVS 用户群,但需要一些新功能和设计更改来修复 CVS 中某些“损坏的”行为。这意味着,作为 CVS 用户,您可能需要改变一些习惯——一些您忘记了原本就很奇怪的习惯。
在 CVS 中,修订号是针对每个文件的。这是因为 CVS 使用 RCS 作为后端;每个文件在仓库中都有一个相应的 RCS 文件,并且仓库大致按照项目的树形结构进行布局。
在 Subversion 中,仓库看起来像一个单一的 filesystem。每次提交都会产生一个全新的 filesystem 树;本质上,仓库是树的数组。每个树都用单个修订号进行标记。当有人谈论“修订版 54”时,他们指的是特定的树(以及间接地,第 54 次提交之后 filesystem 的外观)。
从技术上讲,谈论“foo.c 的修订版 5”是不正确的。相反,人们应该说“foo.c 在修订版 5 中的样子”。另外,在对文件的演变进行假设时要小心。在 CVS 中,foo.c的修订版 5 和 6 永远不同。在 Subversion 中,很可能是foo.c在修订版 5 和 6 之间没有发生变化。
有关此主题的更多详细信息,请参见 名为“修订版”的部分.