The RCS MINI-HOWTO Robert Kiesling $Id: RCS-HOWTO.sgml,v 1.4 1997/08/14 15:09:56 rak Exp rak $ _________________________________________________________________ 這文件包涵 RCS基本的安裝及使用法, RCS 是在 Linux 之下的 GNU 修訂版本控 制系統,這也包括 diff(1)和 diff3(1) 工具的安裝,它對 RCS 的操作而言是必要 的.這文件可以是可以整個或者部分自由重製, ,這份文件的任何使用方法如同一 般的 Linux 文件計劃的 HOWTO系列的版權宣告.關於詳細資料請看檔案版權.送所 有的抱怨,建議,錯誤,和雜項目問題到 [1]kiesling@terracom.net, 使我就可以 盡可能保持這文件是最新且最完整. _________________________________________________________________ 1. RCS 全覽. 2. 系統需求. 3. 由原始檔編譯 RCS. 4. 建立和維護檔案. 5. ci(1)和 co(1). 6. 修訂版本的歷史記錄. 7. 在工作文件中包含 RCS 資料. 8. RCS和 emacs(1)版本控制. _________________________________________________________________ 1. RCS 全覽. RCS, 版本控制系統,是一套的程式它可以追蹤 文件的改變和在有工作小組情形下 可控制共享存取文件 .這是通常使用在維護原始碼 模組.它也提供追蹤它自己的 文件檔案的修訂版本. RCS 由 Walter F. Tichy和 Paul Eggert 所寫.最近 Linux 的 版是 RCS版本 5.7.有 也一個半官方的,分支的版本也可以用. 這份 HOWTO 之中的許多資料都是 從 RCS man page 取得. RCS 包含 rcs(1)程式,它控制 RCS 檔案合集 文件屬性, ci(1)和 co(1),它檢查 文件在 RCS 檔案合集的進出, ident(1),它藉由關鍵字辨識尋找 RCS 檔案合集, rcsclean(1),這個程式 沒有人在其中工作或者沒有改變的檔案然後清除它, rcsdiff(1),它執行 diff(1)比較 修訂版本, rcsmerge(1),它合並兩個 RCS 分支 到一個 單一的工作檔,和 rlog(1),它列印 RCS 記錄訊息. 由 RCS 的收集檔案可以是任何格式的純文字,或是二進位元可執行檔如果 diff程 式使用來產生改變文件操縱 8-位元 數據.靠 ident(1)追蹤有助於文件可以可選 擇地包括辨識的字串 .在修訂版本之間 RCS 使用工具 diff(1)和 diff3(3) 產生 改變文件 .一個 RCS檔案合集由一個檔案的最初的修訂版本組成 ,它是版本 1.1,和一系列改變文件, 每一次修訂版本就有一個.每一次從一檔案合集中提出一 個檔案是使用 co(1),編輯,和重新收入檔案合集中使用 ci(1),版本號碼被增加, 例如, 1.2, 1.3, 1.4,等等連續的修訂版本. 檔案合集他們本身一般在一個 ./RCS 子目錄,盡管 RCS 有別的選項針對檔案合集 存儲的位置. 對於 RCS 做全覽,看 rcsintro(1)手冊頁. 2. 系統需求. RCS 需要 diff(1)和 diff3(3)在修訂版本之間產生 上下文 diff 文件. 你的系 統上需要裝上 diff 工具程式套件 ,和當你安裝 RCS,軟體將會檢查它的存在. 事先編譯好的 diff 工具程式的二進位檔可以在以下網址取得 ftp://sunsite.unc.edu/pub/Linux/utils/text/diffutils-2.6.bin.ELF.tar.gz 和它的鏡像站台.如果你需要編譯 diff(1), et al.,從來源,它的位置是在 ftp://prep.ai.mit.edu/pub/gnu/diffutils-2.7.tar.gz 和它的鏡像站台. 你將需要有 ELF libraries 安裝在你的系統上 如果你要安裝事先建好的二進位 元檔.看 ELF-HOWTO 有更多的詳細資料. 3. 由原始檔編譯 RCS. 取得 RCS版本 5.7 的來源套件.這可以在以下網址取得 ftp://sunsite.unc.edu/pub/Linux/devel/vc/rcs-5.7.src.tar.gz 和它的鏡射站台.在你打開包裝的檔案合集之後到你的來源 樹,你需要針對你的系 統設定 RCS .在來源目錄有程序檔 configure 來完成它,這個首先你需要 執行 它.這將要產生一個 Makefile和 適當的 conf.sh針對你的系統.你能夠然後鍵入 make install 它將會建立二進位元可執行檔.在一些地方你也許需要 su 改變身份成為 root 那 麼二進位元可執行檔就可以被裝在正確的目錄. 4. 建立和維護檔案. 程式 rcs(1) 做這個工作或者建立檔案合集和 修改他們的屬性. rcs(1)的選項總 合可以在 rcs(1)說明頁中找到. 最容易的方法是建立一個檔案合集是首先 mkdir RCS在 現在目錄,當時初始化檔 案合集使用 rcs -i name_of_work_file 命令.它使用這名稱建立和收集檔案 ./RCS/name_of_work_file,v和要求一個文字 訊息 描述這檔案合集,但是這沒有儲存什麼修訂版本在 檔案合集中.你能夠打開 或者關掉嚴厲的檔案鎖住的使用以下的命令 rcs -L name_of_work_file 和 rcs -U name_of_work_file 各自地.有別的選項針對控制存取 檔案合集,設定它的格式,和設定修訂版本數 目,這些包涵在 rcs(1)說明頁中. 5. ci(1)和 co(1). ci(1)和 co(1)是命令被用來檢查 他們的 RCS檔案合集的文件進出. ci(1)命令 也可以使用在檢查一個檔案在一檔案合集中的進與出.在 他們的最簡單的形式, ci(1)和 co(1)拿唯一的名稱的工作檔案. ci name_of_work_file 和 co name_of_work_file The command form ci -l name_of_work_file 使用鎖定屬性啟動檢查檔案,和 co -l name_of_work_file 是履行自動地.即, ci -l檢查 使用鎖定啟動重新檢查檔案提出. ci -u name_of_work_file 檢查檔案進入檔案合集,重新再一次檢查它的進外使用 鎖住無效屬性.在所有的案 例中,使用者是由一個記錄訊息提示. ci(1)如果沒有已經存在一個檔案它會建立一個 RCS 儲存檔案. 如果你沒有詳細說明一個修訂版本, ci(1)在儲存檔案中增加 最後的修訂版本鎖 定的版本號目,和附加 改訂的工作檔案到其中.如果你詳細說明一個修訂版本在一 個 存在的分支,這必須是比已經存在的修訂版本號碼還高的. ci(1)將也創造一個 新的分支如果你詳細說明 沒有存在的一個分支的修訂版本.看 ci(1) 和 co(1) man pages(說明頁) 有詳細資料. ci(1)和 co(1)有不同的選項針對 和非互動的使用.再一次,看 ci(1)和 co(1) man pages(說明頁) 有詳細資料. 6. 修訂版本的歷史記錄. rlog(1)程式提供資料關於收集 檔案和的各修訂版本的記錄儲存在其中.命令如下 rlog work_file_name 將會列印檔案的版本歷史記錄,各修訂版的創造 日期和作者的 userids和是誰鎖 定那 檔案.你可以詳細說明檔案合集的屬性和修訂版本參數來檢視. 7. 在工作文件中包含 RCS 資料. co(1)維修一份 RCS 資料庫的關鍵字清單,它 是擴充的何時工作檔案是領出.關鍵 詞 $Id$ 在一個文件中將要擴大為一串字串它 包含檔案名,修訂版本號碼,提領出 來的日期, 作者,修訂版本狀態,和上鎖人,如果有的話.包含 關鍵詞 $Log$ 將要 擴大到文件的 修訂版本歷史記錄. 這些和別的關鍵字也許是使用當做是 RCS 的檔案合集的搜索條件 .看 ident(1)man page(說明頁) 可以知道進一步的細節. 8. RCS和 emacs(1)版本控制. emacs(1)的版本控制便利性可用作是 RCS 的前端 .這資料運用特別地針對版本 19.34 的 GNU Emacs,在主要 Linux distributions 中有提供.當 使用emacs(1) 編輯一個檔案 它是使用 RCS 註冊, 命令 vc-toggle-read-only (預設使用 C-x C-q )將會檢查一個檔案在 emacs 的版本控制中,然後 進入 RCS 中. Emacs 將會 打開一個緩衝區在哪裡你能夠鍵入一個記錄訊息 是被包含在 RCS 記錄中.當你是 完結了的鍵入一個記錄 欄位,鍵入 C-c C-c結束你的輸入和執行 登錄的程序. 如果你有選擇用 RCS 嚴厲的鎖住檔案,你必須 重新打開鎖定的檔案來編輯靠 emacs(1).你可以提 出檔案用 emacs 版本控制使用那指令 % 在 buffer-menu 模 式下. 更多資料,請看 GNU Emacs 手冊和 Emacs info (信息)頁. References 1. mailto:kiesling@terracom.net