本文档旨在描述 Subversion 1.1。如果您正在运行更新版本的 Subversion,我们强烈建议您访问 https://svnbooks.subversion.org.cn/ 并查阅与您的 Subversion 版本相匹配的版本。

附录 A. Subversion 针对 CVS 用户

目录

修订号现在不同了
目录版本
更多脱节的操作
状态和更新之间的区别
分支和标签
元数据属性
冲突解决
二进制文件和翻译
版本化模块
身份验证
将仓库从 CVS 转换为 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 之间没有发生变化。

有关此主题的更多详细信息,请参见 名为“修订版”的部分.

TortoiseSVN 官方中文版 1.14.7 发布