修訂控制系統

修訂控制系統(Revision Control System)是一種用軟體實現自動存儲、檢索、日誌記錄、識別、和合併修訂的系統。

基本介紹

  • 中文名:修訂控制系統
  • 外文名:Revision Control System
  • 縮寫:RCS
  • 領域:計算機
簡介,歷史,開發,法律和許可,行為,操作方式,用法,優點,缺點,相關工具和後繼者,RCS - 第一代工具,第二代,第三代,

簡介

修訂控制系統(Revision Control System,縮寫RCS)是一款早期的版本控制系統(VCS)。它可以被認為是一組允許多個用戶開發和維護程式代碼或文檔的UNIX命令。使用RCS後,用戶可以修訂文檔製成自己的版本,提交更改,然後匯總起來。RCS最初是為程式所開發,但它對於經常修改的文本或配置檔案也很有用。

歷史

開發

RCS最早於1982年由普渡大學的Walter F. Tichy發布。它是當時流行的原始碼控制系統(SCCS)的一個替代工具;SCCS基本上是史上首個版本控制工具,由早期Unix開發人員在1972年開發。RCS目前由GNU Project維護。

法律和許可

在最初(隨4.3BSD分發的第三版),其許可證為未經Walter Tichy書面許可,禁止再次分發:
Copyright (C) 1982 by Walter F. Tichy [...] All rights reserved. No part of this software may be sold or distributed in any form or by any means without the prior written permission of the author.
某些RCS版本有一個READ_ME檔案闡明了進一步限制,例如版本4.3BSD-Reno。約1989年,RCS許可證修改為類似於現代的BSD許可證,正如原始碼中所述。
Redistribution and use in source and binary forms are permitted provided that the above copyright notice and this paragraph are duplicated in all such forms and that any documentation, advertising materials, and other materials related to such distribution and use acknowledge that the software was developed by Walter Tichy.
1990年7月26日發布的RCS 4.3由自由軟體基金會分發於GPL條款。

行為

操作方式

RCS僅對單個檔案進行操作。它無法處理整個項目,因此它不支持影響多個檔案的原子提交。雖然它為單個檔案提供分支,但版本語法很麻煩。而不是使用分支,不少球隊只需使用內置的鎖定機構和工作在一個單一的分支。

用法

RCS圍繞“修訂組”或已通過“co”(checkout)和“ci”(簽入)命令簽入的檔案集的使用。默認情況下,已刪除簽入檔案並替換為“,”v“檔案(因此簽入時foo.rb變為foo.rb,v),然後可以由有權訪問修訂組的任何人簽出。RCS檔案(同樣,擴展名為“,v”的檔案)反映了主檔案的第一行添加了元數據。簽入後,RCS將修訂存儲在可以遵循的樹結構中,以便用戶可以根據需要將檔案還原為以前的表單。

優點

  • 結構簡單,易於使用
  • 修訂版本不依賴於中央存儲庫

缺點

  • 從某種意義上說,安全性很小,用戶可以編輯版本歷史記錄。
  • 一次只能有一個用戶處理檔案。

相關工具和後繼者

RCS - 第一代工具

RCS仍然在一些項目中使用,但它的繼續使用遠不及像Git這樣的現代工具。
SCCS(1972年發布)和DSEE(被認為是Atria ClearCase的前身)是另外兩個相對著名的突破性VCS軟體工具。這些工具通常被認為是第一代VCS作為自動化軟體工具。

第二代

在第一代VCS工具之後,後來的CVSSubversionSVK可以被認為是第二代VCS,所有這些都具有本地集中的存儲庫。具體而言,CVS(並發版本系統)是在RCS結構之上開發的,為更大的組提高了工具的可擴展性,後來將PRCS擴展為更簡單的類似CVS的工具。
如今,可能會考慮Subversion作為最流行和廣泛,從我們這一代已經充滿CVS的重要弱點使用VCS工具。後來SVK以遠程貢獻功能為目標開發,但其設計的基礎仍然與其前輩非常相似。

第三代

隨著網際網路開闢了通向世界的道路,第三代工具出現了,提供了分散式版本控制系統,允許用戶在多台機器上保留其版本,同時為同一項目做出貢獻。在這一代中,有GitArch工具(BazaarArX),BitKeeper,Mercurial和Monotone以及許多其他作為第三代VCS軟體工具。

相關詞條

熱門詞條

聯絡我們