2011-03-10 128 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