萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

RCS 版本控制入門指南:Linux 環境下的檔案修訂管理

1. RCS 概覽

RCS(Revision Control System)用於追蹤檔案變更並管理多人協作環境下的共享檔案存取。常用於原始碼模組維護,也可追蹤文件修訂版本。由 Walter F. Tichy 與 Paul Eggert 開發,Linux 上最新版為 5.7。本指南多數資料取自 RCS man page。

2. 核心工具組

  • rcs(1) — 控制 RCS 檔案庫屬性
  • ci(1) / co(1) — 檔案檢入/檢出
  • ident(1) — 透過關鍵字識別檔案庫
  • rcsclean(1) — 清除未修改或無人編輯的工作檔
  • rcsdiff(1) — 比較修訂版本差異
  • rcsmerge(1) — 合併兩分支為單一工作檔
  • rlog(1) — 列印修訂記錄

RCS 檔案庫可儲存純文字或二進位檔(需 diff 支援)。透過 ident(1) 追蹤的文件可選擇性內嵌識別字串。修訂之間以 diff(1) 與 diff3(3) 產生差異檔。檔案庫由初始版本(1.1)與後續變更組成,版本號遞增(1.2、1.3…)。通常存放於 ./RCS 子目錄。

3. 系統需求

需 diff(1) 與 diff3(3) 產生上下文差異。安裝 RCS 時會自動檢查。預編譯二進位檔:diffutils-2.6.bin.ELF.tar.gz。原始碼:diffutils-2.7.tar.gz。需 ELF 函式庫支援。

4. 從原始碼編譯 RCS

下載原始碼:rcs-5.7.src.tar.gz。解壓後進入目錄執行 configure,產生 Makefile,再執行 make install。部分系統需切換 root 權限安裝至系統目錄。

5. 建立與維護檔案庫

先建立 RCS 目錄:

mkdir RCS

初始化檔案庫:

rcs -i work_file_name

會建立 ./RCS/work_file_name,v 並要求輸入描述文字,但不儲存修訂。可用 rcs -L 啟用嚴格鎖定、rcs -U 關閉。其他選項控制存取權限、檔案格式、修訂數量等,詳見 rcs(1)。

6. ci(1) 與 co(1) 運作

基本用法:

ci work_file_name
co work_file_name

ci -l 檢入後保持鎖定;co -l 檢出並自動鎖定;ci -u 檢入後以未鎖定模式重新檢出。所有情況均提示輸入記錄訊息。若檔案庫不存在,ci 會自動建立。未指定版本號時遞增主幹版本;指定現有分支版本需大於現有號碼;指定不存在版本號則建立新分支。

7. 修訂歷史記錄

使用 rlog work_file_name 列印版本歷史,含建立日期、作者 ID、鎖定者資訊。可加參數過濾特定版本或屬性。

8. 在工作檔內嵌 RCS 關鍵字

co(1) 檢出時會自動擴充關鍵字:

  • $Id$ → 檔名、版本號、日期、作者、狀態、鎖定者
  • $Log$ → 修訂歷史記錄

其他關鍵字可供 ident(1) 搜尋,詳見手冊頁。

9. 與 Emacs 整合

GNU Emacs 19.34+ 內建版本控制介面。編輯已註冊 RCS 檔案時,C-x C-q(vc-toggle-read-only)進入 RCS 操作,開啟緩衝區輸入記錄訊息,C-c C-c 送出。嚴格鎖定模式下需重新鎖定才能編輯。更多資訊請參閱 GNU Emacs 手冊。

copyright © 萬盛學電腦網 all rights reserved