2011-03-10 159 views
4

我一边看svn和cvs,一边看RCS和RCS关键字。我不知道RCS是什么以及RCS关键字是什么。它们似乎是一个功能,但对于它们的功能没有真正的解释。什么是RCS关键字?

回答

6

此功能是一种用元数据(如用户,日期,版本号和类似信息)替换文件中的某些令牌的方法。 这些关键词来自RCS(修订控制系统),这是一个基于单用户文件的版本控制系统,现在大概没人再使用它了。

颠覆(SVN)和并行版本系统(CVS)是中心版本控制系统,而不是那些分布(DVCS)。

  • CVS支持对同一关键词的RCS(因为CVS最初是基于RCS,并使用相同的后端文件格式),并自动replaces them如果文件没有特殊标记在签。

  • 颠覆(自我声明的CVS继承者)有一组类似的关键字集合,但不会自动替换它们,只有当您设置一些文件属性来说明您希望替换哪些关键字时。 (对于某些关键字的语法比相应的CVS关键字的一个有点不同。)

著名分布式VCS -es是的Git,水银,巴扎 - 我知道唯一的Git,有关信息Bazaar和Mercurial使用Google搜索。一般来说,因为它们通常使用当前树的散列作为版本标识符,所以它们不能在提交时插入此标识符,但是在结帐时(如果有的话)并且仅在配置时才这样做。

+0

为了清楚起见,该功能是一种基于关键词自动使用最新数据替换文件中的某个标记的方法。 – nelaaro 2011-03-10 12:08:54

+0

对,对不起。我认为人们首先会阅读* khmarbaise *的答案,因此我没有重复这一点。 – 2011-03-10 12:40:07

+1

这不是单用户,而是基于文件系统。 – kzh 2013-09-08 22:59:28

4

Revision Control System是一个基于文件而不是基于项目等的版本控制系统。关键字用于用修订控制系统的信息替换关键字的内容,例如源代码中的版本。看看docs of RCS。请参阅标识符(示例摘自手册)。

$Id$ 

将被替换为:

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

在这里你可以找到CVS Documentation