【发布时间】:2011-07-12 14:03:12
【问题描述】:
在查看 svn 和 cvs 时,我不断看到 RCS 和 RCS 关键字。我不知道 RCS 是什么以及 RCS 关键字是什么。它们似乎是一个功能,但没有真正解释它们的作用。
【问题讨论】:
在查看 svn 和 cvs 时,我不断看到 RCS 和 RCS 关键字。我不知道 RCS 是什么以及 RCS 关键字是什么。它们似乎是一个功能,但没有真正解释它们的作用。
【问题讨论】:
此功能是一种将文件中的某些标记替换为用户、日期、修订号等元信息的方法。 这些关键字来自 RCS (Revision Control System),一个基于单用户文件的版本控制系统,现在大概没人再使用了。
Subversion (svn) 和 Concurrent Versioning System (CVS) 是集中式版本控制系统,而不是分布式版本控制系统 (DVCS)。
CVS 支持的关键字与 RCS 大致相同(因为 CVS 最初基于 RCS 并使用相同的后端文件格式),如果文件在签入时没有特别标记,则自动 replaces them。
Subversion(自我声明的 CVS 继任者)有一组类似的关键字 can be replaced,但不会自动替换它们,只有在您设置了一些文件属性来说明要替换哪些关键字时。 (对于某些关键字,语法与相应的 CVS 关键字有点不同。)
著名的分布式 VCS-es 是 Git、Mercurial、Bazaar - 我只知道 Git,有关 Bazaar 和 Mercurial 的信息在 Google 上搜索。一般来说,由于这些通常使用当前树的哈希作为版本标识符,因此它们不能在提交时插入此标识符,但在结帐时执行此操作,如果有的话,并且仅在配置为这样做时。
【讨论】:
Revision Control System 是一个基于文件而非项目等的版本控制系统。关键字用于将关键字的内容替换为版本控制系统的信息,例如在您的源代码中的修订。看看docs of RCS。参见标识符(示例摘自手册)。
$Id$
将被替换为:
$Id: filename revision number date time author state locker $
您可以在这里找到CVS Documentation。
【讨论】: