\documentclass[letterpaper]{article}
\nonstopmode
\bkai
\usepackage{linuxdoc-sgml}
\usepackage{qwertz}
\usepackage{url}
\usepackage[latin1]{inputenc}
\usepackage{t1enc}
\usepackage[english]{babel}
\usepackage{epsfig}
\usepackage{null}
\def\addbibtoc{
\addcontentsline{toc}{section}{\numberline{\mbox{}}\relax\bibname}
}%end-preamble
\setcounter{page}{1}
\title{ 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
ÐÞ¶©°æ±¾¿ØÖÆÏµÍ³,ÕâÒ²°üÀ¨ {\ttfamily diff(1)}ºÍ {\ttfamily diff3(1)} ¹¤¾ßµÄ°²×°,Ëü¶Ô RCS µÄ²Ù×÷¶øÑÔÊÇ±ØÒªµÄ.ÕâÎÄ¼þ¿ÉÒÔÊÇ¿ÉÒÔÕû¸ö»òÕß²¿·Ö×ÔÓÉÖØÖÆ,
,Õâ·ÝÎÄ¼þµÄÈÎºÎÊ¹ÓÃ·½·¨ÈçÍ¬Ò»°ãµÄ Linux ÎÄ¼þ¼Æ»®µÄ HOWTOÏµÁÐµÄ°æÈ¨Ðû¸æ.¹Øì¶ÏêÏ¸×ÊÁÏÇë¿´µµ°¸°æÈ¨.ËÍËùÓÐµÄ±§Ô¹,½¨Òé,´íÎó,ºÍÔÓÏîÄ¿ÎÊÌâµ½ \onlynameurl{kiesling@terracom.net}, Ê¹ÎÒ¾Í¿ÉÒÔ¾¡¿ÉÄÜ±£³ÖÕâÎÄ¼þÊÇ×îÐÂÇÒ×îÍêÕû.}


\begin{document}
\maketitle
\tableofcontents

\section{RCS È«ÀÀ.}

RCS, °æ±¾¿ØÖÆÏµÍ³,ÊÇÒ»Ì×µÄ³ÌÊ½Ëü¿ÉÒÔ×·×Ù
ÎÄ¼þµÄ¸Ä±äºÍÔÚÓÐ¹¤×÷Ð¡×éÇéÐÎÏÂ¿É¿ØÖÆ¹²Ïí´æÈ¡ÎÄ¼þ
.ÕâÊÇÍ¨³£Ê¹ÓÃÔÚÎ¬»¤Ô­Ê¼Âë
Ä£×é.ËüÒ²Ìá¹©×·×ÙËü×Ô¼ºµÄÎÄ¼þµµ°¸µÄÐÞ¶©°æ±¾.

RCS ÓÉ Walter F. TichyºÍ Paul Eggert ËùÐ´.×î½ü Linux µÄ
°æÊÇ RCS°æ±¾ 5.7.ÓÐ
Ò²Ò»¸ö°ë¹Ù·½µÄ,·ÖÖ§µÄ°æ±¾Ò²¿ÉÒÔÓÃ.
Õâ·Ý HOWTO Ö®ÖÐµÄÐí¶à×ÊÁÏ¶¼ÊÇ´Ó RCS man page È¡µÃ.

RCS °üº¬ {\ttfamily rcs(1)}³ÌÊ½,Ëü¿ØÖÆ RCS µµ°¸ºÏ¼¯
ÎÄ¼þÊôÐÔ, {\ttfamily ci(1)}ºÍ {\ttfamily co(1)},Ëü¼ì²éÎÄ¼þÔÚ
RCS µµ°¸ºÏ¼¯µÄ½ø³ö, {\ttfamily ident(1)},Ëü½åÓÉ¹Ø¼ü×Ö±æÊ¶Ñ°ÕÒ RCS
µµ°¸ºÏ¼¯, {\ttfamily rcsclean(1)},Õâ¸ö³ÌÊ½
Ã»ÓÐÈËÔÚÆäÖÐ¹¤×÷»òÕßÃ»ÓÐ¸Ä±äµÄµµ°¸È»ááÇå³ýËü,
{\ttfamily rcsdiff(1)},ËüÖ´ÐÐ {\ttfamily diff(1)}±È½Ï
ÐÞ¶©°æ±¾, {\ttfamily rcsmerge(1),}ËüºÏ²¢Á½¸ö RCS ·ÖÖ§µ½Ò»¸ö
µ¥Ò»µÄ¹¤×÷µµ,ºÍ {\ttfamily rlog(1),}ËüÁÐÓ¡ RCS ¼ÇÂ¼Ñ¶Ï¢.

ÓÉ RCS µÄÊÕ¼¯µµ°¸¿ÉÒÔÊÇÈÎºÎ¸ñÊ½µÄ´¿ÎÄ×Ö,»òÊÇ¶þ½øÎ»Ôª¿ÉÖ´ÐÐµµÈç¹û
{\ttfamily diff}³ÌÊ½Ê¹ÓÃÀ´²úÉú¸Ä±äÎÄ¼þ²Ù×Ý 8-Î»Ôª
Êý¾Ý.¿¿ {\ttfamily ident(1)}×·×ÙÓÐÖúì¶ÎÄ¼þ¿ÉÒÔ¿ÉÑ¡ÔñµØ°üÀ¨±æÊ¶µÄ×Ö´®
.ÔÚÐÞ¶©°æ±¾Ö®¼ä  RCS Ê¹ÓÃ¹¤¾ß
{\ttfamily diff(1)}ºÍ {\ttfamily diff3(3)} ²úÉú¸Ä±äÎÄ¼þ
.Ò»¸ö RCSµµ°¸ºÏ¼¯ÓÉÒ»¸öµµ°¸µÄ×î³õµÄÐÞ¶©°æ±¾×é³É
,ËüÊÇ°æ±¾ 1.1,ºÍÒ»ÏµÁÐ¸Ä±äÎÄ¼þ,
Ã¿Ò»´ÎÐÞ¶©°æ±¾¾ÍÓÐÒ»¸ö.Ã¿Ò»´Î´ÓÒ»µµ°¸ºÏ¼¯ÖÐÌá³öÒ»¸öµµ°¸ÊÇÊ¹ÓÃ
{\ttfamily co(1)},±à¼­,ºÍÖØÐÂÊÕÈëµµ°¸ºÏ¼¯ÖÐÊ¹ÓÃ
{\ttfamily ci(1)},°æ±¾ºÅÂë±»Ôö¼Ó,ÀýÈç, 1.2,
1.3, 1.4,µÈµÈÁ¬ÐøµÄÐÞ¶©°æ±¾.

µµ°¸ºÏ¼¯ËûÃÇ±¾ÉíÒ»°ãÔÚÒ»¸ö {\ttfamily ./RCS}
×ÓÄ¿Â¼,¾¡¹Ü RCS ÓÐ±ðµÄÑ¡ÏîÕë¶Ôµµ°¸ºÏ¼¯´æ´¢µÄÎ»ÖÃ.
¶Ôì¶ RCS ×öÈ«ÀÀ,¿´ {\ttfamily rcsintro(1)}ÊÖ²áÒ³.






\section{ÏµÍ³ÐèÇó.}

RCS ÐèÒª {\ttfamily diff(1)}ºÍ {\ttfamily diff3(3)}ÔÚÐÞ¶©°æ±¾Ö®¼ä²úÉú
ÉÏÏÂÎÄ diff ÎÄ¼þ. ÄãµÄÏµÍ³ÉÏÐèÒª×°ÉÏ diff ¹¤¾ß³ÌÊ½Ì×¼þ
,ºÍµ±Äã°²×° RCS,ÈíÌå½«»á¼ì²éËüµÄ´æÔÚ.

ÊÂÏÈ±àÒëºÃµÄ diff ¹¤¾ß³ÌÊ½µÄ¶þ½øÎ»µµ¿ÉÒÔÔÚÒÔÏÂÍøÖ·È¡µÃ
\begin{verbatim}
ftp://sunsite.unc.edu/pub/Linux/utils/text/diffutils-2.6.bin.ELF.tar.gz
\end{verbatim}

ºÍËüµÄ¾µÏñÕ¾Ì¨.Èç¹ûÄãÐèÒª±àÒë {\ttfamily diff(1)}, et
al.,´ÓÀ´Ô´,ËüµÄÎ»ÖÃÊÇÔÚ
\begin{verbatim}
ftp://prep.ai.mit.edu/pub/gnu/diffutils-2.7.tar.gz
\end{verbatim}

ºÍËüµÄ¾µÏñÕ¾Ì¨.

Äã½«ÐèÒªÓÐ ELF libraries °²×°ÔÚÄãµÄÏµÍ³ÉÏ
Èç¹ûÄãÒª°²×°ÊÂÏÈ½¨ºÃµÄ¶þ½øÎ»Ôªµµ.¿´ ELF-HOWTO ÓÐ¸ü¶àµÄÏêÏ¸×ÊÁÏ.






\section{ÓÉÔ­Ê¼µµ±àÒë RCS.}

È¡µÃ RCS°æ±¾ 5.7 µÄÀ´Ô´Ì×¼þ.Õâ¿ÉÒÔÔÚÒÔÏÂÍøÖ·È¡µÃ
\begin{verbatim}
ftp://sunsite.unc.edu/pub/Linux/devel/vc/rcs-5.7.src.tar.gz
\end{verbatim}

ºÍËüµÄ¾µÉäÕ¾Ì¨.ÔÚÄã´ò¿ª°ü×°µÄµµ°¸ºÏ¼¯Ö®ááµ½ÄãµÄÀ´Ô´
Ê÷,ÄãÐèÒªÕë¶ÔÄãµÄÏµÍ³Éè¶¨ RCS .ÔÚÀ´Ô´Ä¿Â¼ÓÐ³ÌÐòµµ
{\ttfamily configure} À´Íê³ÉËü,Õâ¸öÊ×ÏÈÄãÐèÒª
Ö´ÐÐËü.Õâ½«Òª²úÉúÒ»¸ö {\ttfamily Makefile}ºÍ
ÊÊµ±µÄ {\ttfamily conf.sh}Õë¶ÔÄãµÄÏµÍ³.ÄãÄÜ¹»È»áá¼üÈë
\begin{verbatim}
make install
\end{verbatim}

Ëü½«»á½¨Á¢¶þ½øÎ»Ôª¿ÉÖ´ÐÐµµ.ÔÚÒ»Ð©µØ·½ÄãÒ²ÐíÐèÒª
{\ttfamily su} ¸Ä±äÉí·Ý³ÉÎª root ÄÇ÷á¶þ½øÎ»Ôª¿ÉÖ´ÐÐµµ¾Í¿ÉÒÔ±»×°ÔÚÕýÈ·µÄÄ¿Â¼.






\section{½¨Á¢ºÍÎ¬»¤µµ°¸.}

³ÌÊ½ {\ttfamily rcs(1)} ×öÕâ¸ö¹¤×÷»òÕß½¨Á¢µµ°¸ºÏ¼¯ºÍ
ÐÞ¸ÄËûÃÇµÄÊôÐÔ. {\ttfamily rcs(1)}µÄÑ¡Ïî×ÜºÏ¿ÉÒÔÔÚ {\ttfamily rcs(1)}ËµÃ÷Ò³ÖÐÕÒµ½.

×îÈÝÒ×µÄ·½·¨ÊÇ½¨Á¢Ò»¸öµµ°¸ºÏ¼¯ÊÇÊ×ÏÈ {\ttfamily mkdir RCS}ÔÚ
ÏÖÔÚÄ¿Â¼,µ±Ê±³õÊ¼»¯µµ°¸ºÏ¼¯Ê¹ÓÃ
\begin{verbatim}
rcs -i name_of_work_file
\end{verbatim}

ÃüÁî.ËüÊ¹ÓÃÕâÃû³Æ½¨Á¢ºÍÊÕ¼¯µµ°¸ {\ttfamily ./RCS/name\_of\_work\_file,v}ºÍÒªÇóÒ»¸öÎÄ×ÖÑ¶Ï¢
ÃèÊöÕâµµ°¸ºÏ¼¯,µ«ÊÇÕâÃ»ÓÐ´¢´æÊ²÷áÐÞ¶©°æ±¾ÔÚ
µµ°¸ºÏ¼¯ÖÐ.ÄãÄÜ¹»´ò¿ª»òÕß¹ØµôÑÏÀ÷µÄµµ°¸Ëø×¡µÄÊ¹ÓÃÒÔÏÂµÄÃüÁî
\begin{verbatim}
rcs -L name_of_work_file
\end{verbatim}

ºÍ
\begin{verbatim}
rcs -U name_of_work_file
\end{verbatim}

¸÷×ÔµØ.ÓÐ±ðµÄÑ¡ÏîÕë¶Ô¿ØÖÆ´æÈ¡
µµ°¸ºÏ¼¯,Éè¶¨ËüµÄ¸ñÊ½,ºÍÉè¶¨ÐÞ¶©°æ±¾ÊýÄ¿,ÕâÐ©°üº­ÔÚ {\ttfamily rcs(1)}ËµÃ÷Ò³ÖÐ.






\section{{\ttfamily ci(1)}ºÍ {\ttfamily co(1)}.}

{\ttfamily ci(1)}ºÍ {\ttfamily co(1)}ÊÇÃüÁî±»ÓÃÀ´¼ì²é
ËûÃÇµÄ RCSµµ°¸ºÏ¼¯µÄÎÄ¼þ½ø³ö. {\ttfamily ci(1)}ÃüÁî
Ò²¿ÉÒÔÊ¹ÓÃÔÚ¼ì²éÒ»¸öµµ°¸ÔÚÒ»µµ°¸ºÏ¼¯ÖÐµÄ½øÓë³ö.ÔÚ
ËûÃÇµÄ×î¼òµ¥µÄÐÎÊ½, {\ttfamily ci(1)}ºÍ {\ttfamily co(1)}ÄÃÎ¨Ò»µÄÃû³ÆµÄ¹¤×÷µµ°¸.
\begin{verbatim}
ci name_of_work_file
\end{verbatim}

ºÍ
\begin{verbatim}
co name_of_work_file
\end{verbatim}

The command form
\begin{verbatim}
ci -l name_of_work_file
\end{verbatim}

Ê¹ÓÃËø¶¨ÊôÐÔÆô¶¯¼ì²éµµ°¸,ºÍ 
\begin{verbatim}
co -l name_of_work_file
\end{verbatim}

{\itshape ÊÇÂÄÐÐ×Ô¶¯µØ.\/}¼´, {\ttfamily ci -l}¼ì²é
Ê¹ÓÃËø¶¨Æô¶¯ÖØÐÂ¼ì²éµµ°¸Ìá³ö.
\begin{verbatim}
ci -u name_of_work_file
\end{verbatim}

¼ì²éµµ°¸½øÈëµµ°¸ºÏ¼¯,ÖØÐÂÔÙÒ»´Î¼ì²éËüµÄ½øÍâÊ¹ÓÃ
Ëø×¡ÎÞÐ§ÊôÐÔ.ÔÚËùÓÐµÄ°¸ÀýÖÐ,Ê¹ÓÃÕßÊÇÓÉÒ»¸ö¼ÇÂ¼Ñ¶Ï¢ÌáÊ¾.  

{\ttfamily ci(1)}Èç¹ûÃ»ÓÐÒÑ¾­´æÔÚÒ»¸öµµ°¸Ëü»á½¨Á¢Ò»¸ö RCS ´¢´æµµ°¸.  

Èç¹ûÄãÃ»ÓÐÏêÏ¸ËµÃ÷Ò»¸öÐÞ¶©°æ±¾, {\ttfamily ci(1)}ÔÚ´¢´æµµ°¸ÖÐÔö¼Ó
×îááµÄÐÞ¶©°æ±¾Ëø¶¨µÄ°æ±¾ºÅÄ¿,ºÍ¸½¼Ó
¸Ä¶©µÄ¹¤×÷µµ°¸µ½ÆäÖÐ.Èç¹ûÄãÏêÏ¸ËµÃ÷Ò»¸öÐÞ¶©°æ±¾ÔÚÒ»¸ö
´æÔÚµÄ·ÖÖ§,Õâ±ØÐëÊÇ±ÈÒÑ¾­´æÔÚµÄÐÞ¶©°æ±¾ºÅÂë»¹¸ßµÄ.
{\ttfamily ci(1)}½«Ò²´´ÔìÒ»¸öÐÂµÄ·ÖÖ§Èç¹ûÄãÏêÏ¸ËµÃ÷
Ã»ÓÐ´æÔÚµÄÒ»¸ö·ÖÖ§µÄÐÞ¶©°æ±¾.¿´ {\ttfamily ci(1)}
ºÍ {\ttfamily co(1)} man pages(ËµÃ÷Ò³) ÓÐÏêÏ¸×ÊÁÏ.

{\ttfamily ci(1)}ºÍ {\ttfamily co(1)}ÓÐ²»Í¬µÄÑ¡ÏîÕë¶Ô
ºÍ·Ç»¥¶¯µÄÊ¹ÓÃ.ÔÙÒ»´Î,¿´ {\ttfamily ci(1)}ºÍ
{\ttfamily co(1)} man pages(ËµÃ÷Ò³) ÓÐÏêÏ¸×ÊÁÏ.




\section{ÐÞ¶©°æ±¾µÄÀúÊ·¼ÇÂ¼.}

{\ttfamily rlog(1)}³ÌÊ½Ìá¹©×ÊÁÏ¹Øì¶ÊÕ¼¯
µµ°¸ºÍµÄ¸÷ÐÞ¶©°æ±¾µÄ¼ÇÂ¼´¢´æÔÚÆäÖÐ.ÃüÁîÈçÏÂ
\begin{verbatim}
rlog work_file_name 
\end{verbatim}
 
½«»áÁÐÓ¡µµ°¸µÄ°æ±¾ÀúÊ·¼ÇÂ¼,¸÷ÐÞ¶©°æµÄ´´Ôì
ÈÕÆÚºÍ×÷ÕßµÄ {\ttfamily userids}ºÍÊÇË­Ëø¶¨ÄÇ
µµ°¸.Äã¿ÉÒÔÏêÏ¸ËµÃ÷µµ°¸ºÏ¼¯µÄÊôÐÔºÍÐÞ¶©°æ±¾²ÎÊýÀ´¼ìÊÓ.






\section{ÔÚ¹¤×÷ÎÄ¼þÖÐ°üº¬ RCS ×ÊÁÏ.}

{\ttfamily co(1)}Î¬ÐÞÒ»·Ý RCS ×ÊÁÏ¿âµÄ¹Ø¼ü×ÖÇåµ¥,Ëü
ÊÇÀ©³äµÄºÎÊ±¹¤×÷µµ°¸ÊÇÁì³ö.¹Ø¼ü´Ê
{\ttfamily \$Id\$} ÔÚÒ»¸öÎÄ¼þÖÐ½«ÒªÀ©´óÎªÒ»´®×Ö´®Ëü
°üº¬µµ°¸Ãû,ÐÞ¶©°æ±¾ºÅÂë,ÌáÁì³öÀ´µÄÈÕÆÚ,
×÷Õß,ÐÞ¶©°æ±¾×´Ì¬,ºÍÉÏËøÈË,Èç¹ûÓÐµÄ»°.°üº¬
¹Ø¼ü´Ê {\ttfamily \$Log\$} ½«ÒªÀ©´óµ½ÎÄ¼þµÄ
ÐÞ¶©°æ±¾ÀúÊ·¼ÇÂ¼.

ÕâÐ©ºÍ±ðµÄ¹Ø¼ü×ÖÒ²ÐíÊÇÊ¹ÓÃµ±×öÊÇ RCS µÄµµ°¸ºÏ¼¯µÄËÑË÷Ìõ¼þ
.¿´ {\ttfamily ident(1)}man page(ËµÃ÷Ò³) ¿ÉÒÔÖªµÀ½øÒ»²½µÄÏ¸½Ú.




\section{RCSºÍ {\ttfamily emacs(1)}°æ±¾¿ØÖÆ.}

{\ttfamily emacs(1)}µÄ°æ±¾¿ØÖÆ±ãÀûÐÔ¿ÉÓÃ×÷ÊÇ  RCS µÄÇ°¶Ë
.Õâ×ÊÁÏÔËÓÃÌØ±ðµØÕë¶Ô°æ±¾ 19.34 µÄ GNU
Emacs,ÔÚÖ÷Òª Linux distributions ÖÐÓÐÌá¹©.µ±
Ê¹ÓÃ{\ttfamily emacs(1)}±à¼­Ò»¸öµµ°¸ ËüÊÇÊ¹ÓÃ RCS ×¢²á,
ÃüÁî {\ttfamily vc-toggle-read-only} (Ô¤ÉèÊ¹ÓÃ {\ttfamily C-x C-q}
)½«»á¼ì²éÒ»¸öµµ°¸ÔÚ emacs µÄ°æ±¾¿ØÖÆÖÐ,È»áá
½øÈë RCS ÖÐ.  Emacs ½«»á´ò¿ªÒ»¸ö»º³åÇøÔÚÄÄÀïÄãÄÜ¹»¼üÈëÒ»¸ö¼ÇÂ¼Ñ¶Ï¢
ÊÇ±»°üº¬ÔÚ RCS ¼ÇÂ¼ÖÐ.µ±ÄãÊÇÍê½áÁËµÄ¼üÈëÒ»¸ö¼ÇÂ¼
À¸Î»,¼üÈë {\ttfamily C-c C-c}½áÊøÄãµÄÊäÈëºÍÖ´ÐÐ
µÇÂ¼µÄ³ÌÐò.

Èç¹ûÄãÓÐÑ¡ÔñÓÃ RCS ÑÏÀ÷µÄËø×¡µµ°¸,Äã±ØÐë
ÖØÐÂ´ò¿ªËø¶¨µÄµµ°¸À´±à¼­¿¿ {\ttfamily emacs(1)}.Äã¿ÉÒÔÌá
³öµµ°¸ÓÃ emacs °æ±¾¿ØÖÆÊ¹ÓÃÄÇÖ¸Áî {\ttfamily \%} ÔÚ buffer-menu Ä£Ê½ÏÂ.

¸ü¶à×ÊÁÏ,Çë¿´ GNU Emacs ÊÖ²áºÍ Emacs info (ÐÅÏ¢)Ò³.



\end{document}
