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