複製鏈接
請複製以下鏈接發送給好友

修訂控制系統

鎖定
修訂控制系統(Revision Control System)是一種用軟件實現自動存儲、檢索、日誌記錄、識別、和合並修訂的系統。
中文名
修訂控制系統
外文名
Revision Control System
縮    寫
RCS
領    域
計算機

修訂控制系統簡介

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

修訂控制系統歷史

修訂控制系統開發

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

修訂控制系統法律和許可

在最初(隨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條款。 [1] 

修訂控制系統行為

修訂控制系統操作方式

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

修訂控制系統用法

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

修訂控制系統優點

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

修訂控制系統缺點

  • 從某種意義上説,安全性很小,用户可以編輯版本歷史記錄。
  • 一次只能有一個用户處理文件。 [2] 

修訂控制系統版本更迭

RCS - 第一代工具
RCS仍然在一些項目中使用,但它的繼續使用遠不及像Git這樣的現代工具。
SCCS(1972年發佈)和DSEE(被認為是Atria ClearCase的前身)是另外兩個相對着名的突破性VCS軟件工具。這些工具通常被認為是第一代VCS作為自動化軟件工具。 [2] 
第二代
在第一代VCS工具之後,後來的CVSSubversionSVK可以被認為是第二代VCS,所有這些都具有本地集中的存儲庫。具體而言,CVS(併發版本系統)是在RCS結構之上開發的,為更大的組提高了工具的可擴展性,後來將PRCS擴展為更簡單的類似CVS的工具。
如今,可能會考慮Subversion作為最流行和廣泛,從我們這一代已經充滿CVS的重要弱點使用VCS工具。後來SVK以遠程貢獻功能為目標開發,但其設計的基礎仍然與其前輩非常相似。 [2] 
第三代
隨着互聯網開闢了通向世界的道路,第三代工具出現了,提供了分散式版本控制系統,允許用户在多台機器上保留其版本,同時為同一項目做出貢獻。在這一代中,有GitArch工具(BazaarArX),BitKeeper,MercurialMonotone以及許多其他作為第三代VCS軟件工具。 [2] 
參考資料
  • 1.    Tichy, Walter. Design, implementation, and evaluation of a Revision Control System. ICSE '82 Proceedings of the 6th international conference on Software engineering. 1982: 58–67
  • 2.    CSRG/cd2/4.3reno/usr/src/contrib/rcs/src/READ_ME. February 27, 1989.