1. 程式人生 > >RCS版本控制系統簡介

RCS版本控制系統簡介

    版本控制是指跟蹤和管理原始碼檔案變化的自動過程。RCS(Revision Control System),是最常用的版本控制解決方案,之後有兩個工具可以替代RCS,一個是SCCS(Source Code Control System),另外一個是CVS(Concurrent Version System),其中CVS建立在RCS的基礎上,但CVS更適合管理多目錄的專案,因為它處理層次目錄結構更加簡單。

   簡介RCS命令前先說明幾個概念。

   1、RCS file:指在RCS目錄下的檔案,有RCS控制,並通過RCS命令存取。副檔名是.v;

   2、Working file:從RCS目錄中檢索到的一個或多個檔案,放置在當前目錄,並能夠被編輯;

   3、Lock:以編輯目的取回工作檔案時別人就不能同時編輯這個檔案。此時,檔案由第一個編輯它的人鎖定。

   RCS只使用ci、co和一個名為RCS的目錄就可以完成RCS的很多工作,RCS目錄是RCS原始碼庫,各個版本的原始碼都存放在原始碼庫中,ci代表“check in”,即在RCS目錄下儲存一個工作檔案,co代表“check out”,用於從RCS目錄中檢索RCS檔案。

   首先,我們建立一個名為RCS的目錄

       #mkdir RCS

   然後,在RCS原始碼庫中存入原始碼

       #ci test.c

      

   取出檔案

        #co -l test.c,-l表示檔案鎖定,鎖定含義前面已經介紹清楚了。

    其他命令引數介紹

    -u 與-l意思相反,取出的檔案只讀;

    -r Num Num表示版本號,如取出1.5版本的檔案 #co -l -r1.5 test.c;

    -f 表示強制RCS覆蓋當前的工作檔案,預設情況下,工作目錄下存在同名檔案,RCS操作會失敗。

    RCS關鍵字:RCS關鍵字是一些特殊的類似於巨集的記號,可以用在原始碼、目標檔案或二進位制檔案中插入和維護識別資訊。形式為$KEYWORD$,當一個包含的關鍵字的檔案被取回時,RCS將$KEYWORD$擴充套件為$KEYWORD:VALUE$。

    $Id$:檔名,版本號,建立時間日期,作者,狀態,是否鎖定;

    $Log$:檔案版本資訊記錄

    $Author$:存入版本的使用者登入名

    $Date$:日期和時間

    $Header$:檔案全路徑名,版本號,日期,時間,作者,狀態,加鎖者

    $Locker$:加鎖者

    $Name$:用於取回該版本的符號名

    $RCSfile$:不包含路徑的檔名

    $Revision$:版本號

    $Source$:全路徑名

    $State$:版本狀態,實驗版Exp、穩定版Stab、發行版Rel