5

在查看 svn 和 cvs 时,我不断看到 RCS 和 RCS 关键字。我不知道 RCS 是什么以及 RCS 关键字是什么。它们似乎是一个功能,但没有真正解释它们的作用。

4

2 回答 2

7

此功能是一种将文件中的某些标记替换为用户、日期、修订号等元信息的方法。这些关键字来自 RCS(修订控制系统),一个基于单用户文件的版本控制系统,现在大概没人再使用了。

Subversion (svn) 和并发版本控制系统(CVS) 是集中式版本控制系统,而不是分布式版本控制系统 (DVCS)。

  • CVS 支持的关键字与 RCS 大致相同(因为 CVS 最初是基于 RCS 并使用相同的后端文件格式),如果文件在签入时没有特别标记,则会自动替换它们。

  • Subversion(自我声明的 CVS 继任者)有一组类似的可以替换的关键字,但不会自动替换它们,只有在您设置一些文件属性说明要替换哪些关键字时。(对于某些关键字,语法与相应的 CVS 关键字有点不同。)

著名的分布式 VCS -es 是 Git、Mercurial、Bazaar - 我只知道 Git,有关 Bazaar 和 Mercurial 的信息在 google 上搜索。通常,由于这些通常使用当前树的哈希作为版本标识符,因此它们不能在提交时插入此标识符,而是在结帐时执行此操作,如果有的话,并且仅在配置为这样做时。

于 2011-03-10T10:42:07.403 回答
5

修订控制系统是一个基于文件而不是项目等的版本控制系统。关键字用于将关键字的内容替换为修订控制系统的信息,例如在您的源代码中的修订。查看RCS 的文档。参见标识符(示例摘自手册)。

   $Id$

将被替换为:

  $Id: filename revision number date time author state locker $

在这里您可以找到CVS 文档

于 2011-03-10T10:12:07.507 回答