⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 html2.html

📁 这是一个介绍 linux 编程知识的文章。
💻 HTML
字号:
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<META NAME="Generator" CONTENT="Microsoft Word 97">
<TITLE>rcs</TITLE>
</HEAD>
<BODY TEXT="#ffff00" LINK="#0000ff" VLINK="#800080" BACKGROUND="velvet.jpg">
<FONT FACE="宋体" LANG="ZH-CN"> 
<P ALIGN="JUSTIFY"><a href="html1.html"><img src="prev.gif" width="16" height="16" border="0"></a><a href="html3.html"><img src="next.gif" width="16" height="16" border="0"></a><a href="index.html"><img src="toc.gif" width="16" height="16" border="0"></a></P>
<P ALIGN="JUSTIFY">&nbsp;</P>
<P ALIGN="JUSTIFY">  单个文件的版本控制/管理,适合对少量文件进行版本控制,不适合小组进行项目协作开发。优点:使用简便;缺点:功能有限。RCS常用命令有ci/co/rcsdiff。</P>
<P ALIGN="JUSTIFY">  rcs用一个后缀为“,v”的文件保存一文件的内容和所有修改的历史信息,你可以随时取出任意一个版本,用rcs保存程序就不必为不同版本分别备份。下面是一个“,v”文件的例子:</P>
<P ALIGN="JUSTIFY"> (太长,忽略。请看演示或自己找一个样本)</P>
<P ALIGN="JUSTIFY">  rcs文件里记载了每次更新的日期、作者、还有更新说明(Log)。文件的最新版本内容放在Log之后,再后面是历次版本与其后一版本的差别,按check 
  in的时间做倒序排列。这么做的原因是因为新版本的check out机会大些,倒序排列可优化check out时间。</P>
</FONT> 
<P ALIGN="JUSTIFY"><FONT FACE="宋体" LANG="ZH-CN">   ci </font><FONT FACE="System" LANG="ZH-CN">_</FONT><FONT FACE="宋体" LANG="ZH-CN"> check in,保存新版本</font></P><FONT FACE="宋体" LANG="ZH-CN">
<P ALIGN="JUSTIFY">  此命令把指定文件添加到rcs历史文件中,同时把该文件删除。如果当前目录下有个RCS目录,ci会把历史文件存在此处,否则放在当前目录下。</P>
</FONT><P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">   </font><FONT FACE="Lucida Console">[hahalee@builder]$ mkdir RCS</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">   </font><FONT FACE="Lucida Console">[hahalee@builder]$ ci wood.txt</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">   </font><FONT FACE="Lucida Console">RCS/wood.txt,v &lt;-- wood.txt</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">   </font><FONT FACE="Lucida Console">enter description, terminated with single '.' or end of file:</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">   </font><FONT FACE="Lucida Console">NOTE: This is NOT the log message!</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">   </font><FONT FACE="Lucida Console">&gt;&gt; initial checkin&#9;&#9;&#9;&#9;&#9;#NOTE: </FONT><FONT FACE="宋体" LANG="ZH-CN">这里是给本次</FONT><FONT FACE="Lucida Console">checkin</FONT><FONT FACE="宋体" LANG="ZH-CN">做的说明</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">   </font><FONT FACE="Lucida Console">&gt;&gt; .</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">   </font><FONT FACE="Lucida Console">initial revision: 1.1</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">   </font><FONT FACE="Lucida Console">done</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">   </font><FONT FACE="Lucida Console">[hahalee@builder]$ ls -l RCS/</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="宋体" LANG="ZH-CN">   总共</font><FONT FACE="Lucida Console"> 4</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">   </font><FONT FACE="Lucida Console">-r--r--r-- 1 hahalee hahalee 451 Apr 7 07:27 wood.txt,v</font></P>
<FONT FACE="宋体" LANG="ZH-CN"><P ALIGN="JUSTIFY">  ci也有丰富的命令行选项,比如,可以指定check in的版本号,甚至可以用字符串来做版本号,请查阅ci的manpage。</P>
</FONT><P ALIGN="JUSTIFY"><FONT FACE="宋体" LANG="ZH-CN">    co </font><FONT FACE="System" LANG="ZH-CN">_</FONT><FONT FACE="宋体" LANG="ZH-CN"> check out,取出当前(或任意)版本</font></P><FONT FACE="宋体" LANG="ZH-CN">
<P ALIGN="JUSTIFY">常用命令行选项:</P><DIR>

<P ALIGN="JUSTIFY">  -r[rev]&#9;指定版本的checkout&#9;&#9;&#9;-l[rev]&#9;指定版本,加锁的checkout</P></DIR>

<P ALIGN="JUSTIFY">  如不加可选的版本号,缺省是最近的版本。如果只需要一份只读的拷贝,用-r(特殊情况,如需要一份只读的当前拷贝,可以不要任何选项)。如需要对checkout的文件进行修改,请用-l选项。常见的操作流程是:</P>
</FONT><P ALIGN="JUSTIFY"><FONT FACE="宋体" LANG="ZH-CN">   ci xxx.c; co </font><FONT FACE="System" LANG="ZH-CN">_</FONT><FONT FACE="宋体" LANG="ZH-CN">l xxx.c; 编辑,测试; ci xxx.c …………</font></P><FONT FACE="宋体" LANG="ZH-CN">
<P ALIGN="JUSTIFY">  在每次checkin的时候,版本号会自动在最低位上加1。为了在文件中反映版本控制信息,rcs提供了几个特殊的关键字,这里介绍$Id$和$Log$,其它的请参考info cvs。</P>
<P ALIGN="JUSTIFY">   $Id$代表文件的版本标识,由文件名/版本号/最后一次checkin时间/最后一次checkin的用户这几项组成,比如:</P></FONT><DIR><FONT FACE="宋体" LANG="ZH-CN">

</font><FONT FACE="Lucida Console"><P ALIGN="JUSTIFY">   $Id: wood.txt,v 1.3 2000/04/07 00:06:52 hahalee Exp $</P></font></DIR>

<FONT FACE="宋体" LANG="ZH-CN"><P ALIGN="JUSTIFY">如果需要更详细的信息,可以用$Log$,$Log$被扩展为该文件的所有修改日期和备注,例:</P>
</FONT><P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">    </font><FONT FACE="Lucida Console">/* $Log: wood.txt,v $</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">  </font><FONT FACE="Lucida Console"> </FONT><FONT FACE="System" LANG="ZH-CN"> </FONT><FONT FACE="Lucida Console">* Revision 1.2 2000/04/07 00:29:12 hahalee</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">   </font><FONT FACE="Lucida Console"> * This is my second checkin</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">   </font><FONT FACE="Lucida Console"> *</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">   </font><FONT FACE="Lucida Console"> * Revision 1.1 2000/04/07 00:28:39 hahalee</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">   </font><FONT FACE="Lucida Console"> * Initial revision</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">   </font><FONT FACE="Lucida Console"> * /</font></P>
<FONT FACE="宋体" LANG="ZH-CN"><P ALIGN="JUSTIFY">  顺便介绍一下ident命令。它的功能比较简单,就是从文件中搜索出RCS标示符并打印出来。可以用ident /usr/sbin/sendmail 来看看。不用说,如果想在最终的binary文件里找到$Id$串,得要把它声明到一个字符串里去。很多程序里这么写:</P>
</FONT><P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">    </font><FONT FACE="Lucida Console">#ifndef&#9;lint&#9;&#9;&#9;&#9;&#9;//</FONT><FONT FACE="宋体" LANG="ZH-CN">这里是为了避免</FONT><FONT FACE="Lucida Console">lint</FONT><FONT FACE="宋体" LANG="ZH-CN">报告“变量未使用”</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">    </font><FONT FACE="Lucida Console">static const char rcsid[] =</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">   </font><FONT FACE="Lucida Console">"$Id: bin/sh.c,v 1.15 1999/08/27 23:13:43 wp Exp $";&#9;//</FONT><FONT FACE="宋体" LANG="ZH-CN">这是从</FONT><FONT FACE="Lucida Console"> $Id$ </FONT><FONT FACE="宋体" LANG="ZH-CN">扩展                                                                                                                                                  //出来的</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">    </font><FONT FACE="Lucida Console">#endif</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="宋体" LANG="ZH-CN">     rcsdiff </font><FONT FACE="System" LANG="ZH-CN">_</FONT><FONT FACE="宋体" LANG="ZH-CN"> 比较revision之间的差异.运行diff命令,生成patch文件</font></P>
<FONT FACE="宋体" LANG="ZH-CN"> 
<P ALIGN="JUSTIFY">命令行格式:rcsdiff [选项] [-r版本[-r版本]] [diff选项] 文件名</P>
<P ALIGN="JUSTIFY">  说明:如果没给出版本号,把上次checkin的内容同当前工作文件比较;如给出了一个版本号,就把那个版本的内容同当前工作文件比较;若给出了两个版本号,则用第一个来跟第二个比较。由于rcsdiff调用diff命令,所有的diff选项都可用。它的输出也是加了额外信息的diff格式内容,可以给patch使用。</P>
<P ALIGN="JUSTIFY">  rcs里面还有rcs,rcsclean,rlog,merge,rcsmerge我们没有提到,有的特别简单有的特别繁琐且用得少。其中rcs命令可以用来对rcs文件进行各种精细的维护,最为复杂。</P>
<P ALIGN="JUSTIFY">&nbsp;</P>
<P ALIGN="JUSTIFY"><a href="html3.html"><img src="prev.gif" width="16" height="16" border="0"><img src="next.gif" width="16" height="16" border="0"></a> 
  <a href="index.html"><img src="toc.gif" width="16" height="16" border="0"></a> 
</P>
</FONT> 
</BODY>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -