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