www-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

www/software/cvs .bash_profile .symlinks cvs.ht...


From: karl
Subject: www/software/cvs .bash_profile .symlinks cvs.ht...
Date: Mon, 11 Feb 2013 22:17:12 +0000

CVSROOT:        /web/www
Module name:    www
Changes by:     karl <karl>     13/02/11 22:17:11

Removed files:
        software/cvs   : .bash_profile .symlinks cvs.html 
        software/cvs/manual: .symlinks cvs.html 
        software/cvs/manual/dvi: cvs.dvi.gz 
        software/cvs/manual/html_chapter: cvs_1.html cvs_10.html 
                                          cvs_11.html cvs_12.html 
                                          cvs_13.html cvs_14.html 
                                          cvs_15.html cvs_16.html 
                                          cvs_17.html cvs_18.html 
                                          cvs_19.html cvs_2.html 
                                          cvs_20.html cvs_21.html 
                                          cvs_22.html cvs_23.html 
                                          cvs_24.html cvs_25.html 
                                          cvs_3.html cvs_4.html 
                                          cvs_5.html cvs_6.html 
                                          cvs_7.html cvs_8.html 
                                          cvs_9.html cvs_toc.html 
        software/cvs/manual/html_mono: cvs.html 
        software/cvs/manual/html_node: cvs_1.html cvs_10.html 
                                       cvs_100.html cvs_101.html 
                                       cvs_102.html cvs_103.html 
                                       cvs_104.html cvs_105.html 
                                       cvs_106.html cvs_107.html 
                                       cvs_108.html cvs_109.html 
                                       cvs_11.html cvs_110.html 
                                       cvs_111.html cvs_112.html 
                                       cvs_113.html cvs_114.html 
                                       cvs_115.html cvs_116.html 
                                       cvs_117.html cvs_118.html 
                                       cvs_119.html cvs_12.html 
                                       cvs_120.html cvs_121.html 
                                       cvs_122.html cvs_123.html 
                                       cvs_124.html cvs_125.html 
                                       cvs_126.html cvs_127.html 
                                       cvs_128.html cvs_129.html 
                                       cvs_13.html cvs_130.html 
                                       cvs_131.html cvs_132.html 
                                       cvs_133.html cvs_134.html 
                                       cvs_135.html cvs_136.html 
                                       cvs_137.html cvs_138.html 
                                       cvs_139.html cvs_14.html 
                                       cvs_140.html cvs_141.html 
                                       cvs_142.html cvs_143.html 
                                       cvs_144.html cvs_145.html 
                                       cvs_146.html cvs_147.html 
                                       cvs_148.html cvs_15.html 
                                       cvs_16.html cvs_17.html 
                                       cvs_18.html cvs_19.html 
                                       cvs_2.html cvs_20.html 
                                       cvs_21.html cvs_22.html 
                                       cvs_23.html cvs_24.html 
                                       cvs_25.html cvs_26.html 
                                       cvs_27.html cvs_28.html 
                                       cvs_29.html cvs_3.html 
                                       cvs_30.html cvs_31.html 
                                       cvs_32.html cvs_33.html 
                                       cvs_34.html cvs_35.html 
                                       cvs_36.html cvs_37.html 
                                       cvs_38.html cvs_39.html 
                                       cvs_4.html cvs_40.html 
                                       cvs_41.html cvs_42.html 
                                       cvs_43.html cvs_44.html 
                                       cvs_45.html cvs_46.html 
                                       cvs_47.html cvs_48.html 
                                       cvs_49.html cvs_5.html 
                                       cvs_50.html cvs_51.html 
                                       cvs_52.html cvs_53.html 
                                       cvs_54.html cvs_55.html 
                                       cvs_56.html cvs_57.html 
                                       cvs_58.html cvs_59.html 
                                       cvs_6.html cvs_60.html 
                                       cvs_61.html cvs_62.html 
                                       cvs_63.html cvs_64.html 
                                       cvs_65.html cvs_66.html 
                                       cvs_67.html cvs_68.html 
                                       cvs_69.html cvs_7.html 
                                       cvs_70.html cvs_71.html 
                                       cvs_72.html cvs_73.html 
                                       cvs_74.html cvs_75.html 
                                       cvs_76.html cvs_77.html 
                                       cvs_78.html cvs_79.html 
                                       cvs_8.html cvs_80.html 
                                       cvs_81.html cvs_82.html 
                                       cvs_83.html cvs_84.html 
                                       cvs_85.html cvs_86.html 
                                       cvs_87.html cvs_88.html 
                                       cvs_89.html cvs_9.html 
                                       cvs_90.html cvs_91.html 
                                       cvs_92.html cvs_93.html 
                                       cvs_94.html cvs_95.html 
                                       cvs_96.html cvs_97.html 
                                       cvs_98.html cvs_99.html 
                                       cvs_toc.html 
        software/cvs/manual/info: cvs-infonfo.tar.gz 
        software/cvs/manual/ps: cvs.ps.gz 
        software/cvs/manual/texi: cvs.texinfo.tar.gz 
        software/cvs/manual/text: cvs.txt 

Log message:
        rm cvs here, since there is some super-redirect in place to nongnu/cvs

CVSWeb URLs:
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/.bash_profile?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/.symlinks?cvsroot=www&r1=1.2&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/cvs.html?cvsroot=www&r1=1.6&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/.symlinks?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/cvs.html?cvsroot=www&r1=1.3&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/dvi/cvs.dvi.gz?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_chapter/cvs_1.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_chapter/cvs_10.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_chapter/cvs_11.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_chapter/cvs_12.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_chapter/cvs_13.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_chapter/cvs_14.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_chapter/cvs_15.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_chapter/cvs_16.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_chapter/cvs_17.html?cvsroot=www&r1=1.2&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_chapter/cvs_18.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_chapter/cvs_19.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_chapter/cvs_2.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_chapter/cvs_20.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_chapter/cvs_21.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_chapter/cvs_22.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_chapter/cvs_23.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_chapter/cvs_24.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_chapter/cvs_25.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_chapter/cvs_3.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_chapter/cvs_4.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_chapter/cvs_5.html?cvsroot=www&r1=1.2&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_chapter/cvs_6.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_chapter/cvs_7.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_chapter/cvs_8.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_chapter/cvs_9.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_chapter/cvs_toc.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_mono/cvs.html?cvsroot=www&r1=1.3&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_1.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_10.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_100.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_101.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_102.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_103.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_104.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_105.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_106.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_107.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_108.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_109.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_11.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_110.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_111.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_112.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_113.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_114.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_115.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_116.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_117.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_118.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_119.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_12.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_120.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_121.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_122.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_123.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_124.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_125.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_126.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_127.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_128.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_129.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_13.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_130.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_131.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_132.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_133.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_134.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_135.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_136.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_137.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_138.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_139.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_14.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_140.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_141.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_142.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_143.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_144.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_145.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_146.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_147.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_148.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_15.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_16.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_17.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_18.html?cvsroot=www&r1=1.2&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_19.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_2.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_20.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_21.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_22.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_23.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_24.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_25.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_26.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_27.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_28.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_29.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_3.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_30.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_31.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_32.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_33.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_34.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_35.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_36.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_37.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_38.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_39.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_4.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_40.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_41.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_42.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_43.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_44.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_45.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_46.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_47.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_48.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_49.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_5.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_50.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_51.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_52.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_53.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_54.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_55.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_56.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_57.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_58.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_59.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_6.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_60.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_61.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_62.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_63.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_64.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_65.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_66.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_67.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_68.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_69.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_7.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_70.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_71.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_72.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_73.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_74.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_75.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_76.html?cvsroot=www&r1=1.2&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_77.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_78.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_79.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_8.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_80.html?cvsroot=www&r1=1.2&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_81.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_82.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_83.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_84.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_85.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_86.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_87.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_88.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_89.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_9.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_90.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_91.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_92.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_93.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_94.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_95.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_96.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_97.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_98.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_99.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/html_node/cvs_toc.html?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/info/cvs-infonfo.tar.gz?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/ps/cvs.ps.gz?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/texi/cvs.texinfo.tar.gz?cvsroot=www&r1=1.1&r2=0
http://web.cvs.savannah.gnu.org/viewcvs/www/software/cvs/manual/text/cvs.txt?cvsroot=www&r1=1.2&r2=0

Patches:
Index: .bash_profile
===================================================================
RCS file: .bash_profile
diff -N .bash_profile
--- .bash_profile       25 Feb 2001 22:29:02 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,4 +0,0 @@
-# ~/.bash_profile: executed by bash(1) for login shells.
-# $Id: .bash_profile,v 1.1 2001/02/25 22:29:02 webcvs Exp $
-
-umask 000

Index: .symlinks
===================================================================
RCS file: .symlinks
diff -N .symlinks
--- .symlinks   7 Feb 2008 11:17:18 -0000       1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1 +0,0 @@
-cvs.html index.html

Index: cvs.html
===================================================================
RCS file: cvs.html
diff -N cvs.html
--- cvs.html    24 Oct 2011 19:36:03 -0000      1.6
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,126 +0,0 @@
-<html><head>
-<title>CVS</title>
-</head><body>
-
-<h2>CVS</h2>
-
-<p>(CVS is not a GNU package, but we host this page about it anyway, for
-your hacking pleasure.)
-
-<!-- Contributing author: Frank Warmerdam, address@hidden -->
-
-<H4><A HREF="#TOCintroduction" NAME="introduction">Introduction to CVS</A></H4>
-<P>
-CVS is a version control system, and important component of
-Source Configuration Management (SCM).  
-Using it, you can record the history of sources files, and documents.  
-It fills a similar role to the free software 
-<A HREF="/software/rcs/rcs.html">RCS</A>, 
-<A HREF="http://www.xcf.berkeley.edu/~jmacd/prcs.html";>PRCS</A>,
-and <A HREF="http://www.canb.auug.org.au/~millerp/aegis.html";>Aegis</A>
-packages.
-
-<P>
-The <A HREF="http://www.cvshome.org/";>CVS Information
-Page</A> contains detailed, and current information on CVS.
-
-<P>
-The online manual is also available at 
-<A HREF="/software/cvs/manual/">www.gnu.org/software/cvs/manual/</A>
-
-<P>
-CVS is a production quality system in wide use around the world, including
-many free software projects.<P>
-
-<P>
-While CVS stores individual file history in the same format as RCS, it
-offers the following significant advantages over RCS:
-
-<UL>
-
-<LI> 
-
-It can run scripts which you can supply to log CVS operations or enforce 
-site-specific policies. 
-
-<LI> 
-
-<STRONG>Client/server CVS</STRONG> enables developers scattered by geography 
or slow
-modems to function as a single team.  The version history is stored on
-a single central server and the client machines have a copy of all the
-files that the developers are working on.  Therefore, the network
-between the client and the server must be up to perform CVS operations
-(such as checkins or updates) but need not be up to edit or manipulate the
-current versions of the files.  Clients can perform all the same
-operations which
-are available locally.
-
-<LI>
-
-In cases where several developers or teams want to each maintain
-their own version of the files, because of geography and/or policy,
-CVS's <STRONG>vendor branches</STRONG> can import a version from another team
-(even if they don't use CVS), and then CVS can merge the changes from
-the vendor branch with the latest files if that is what is desired.
-
-<LI>
-
-<STRONG>Unreserved checkouts</STRONG>, allowing more than one developer to 
work on
-the same files at the same time.
-
-<LI>
-
-CVS provides a flexible <STRONG>modules database</STRONG> that provides a 
symbolic
-mapping of names to components of a larger software distribution.  It
-applies names to collections of directories and files.  A single
-command can manipulate the entire collection.
-
-<LI> 
-CVS servers run on most Unix variants, and clients for Windows and VMS
-are also available.  CVS will also operate in non-client/server mode on
-Windows 95/NT.
-
-</UL>
-
-<H4><A HREF="#TOCdownloading" NAME="downloading">Downloading CVS</A></H4>
-<P>
-
-CVS can be found on in the subdirectory <CODE>/non-gnu/cvs/</CODE> on your 
favorite
-<A HREF="/prep/ftp.html">GNU mirror</A>. For other ways to 
-obtain CVS, please read
-<A HREF="/software/software.html#HowToGetSoftware">How to get GNU Software</A>
-
-
-<!-- beginning of final boilerplate ------------------------------------------>
-
-<HR>
-
-Return to <A HREF="/home.html">GNU's home page</A>.
-
-<P>
-Please send FSF &amp; GNU inquiries &amp; questions to
-
-<A HREF="mailto:address@hidden";><EM>address@hidden</EM></A>.
-There are also <A HREF="/home.html#ContactInfo">other ways to contact</A> the 
FSF.
-
-<P>
-Please send comments on these web pages to
-<A HREF="mailto:address@hidden";><EM>address@hidden</EM></A>,
-send other questions to
-<A HREF="mailto:address@hidden";><EM>address@hidden</EM></A>.
-
-<P>
-Copyright (C) 1998 Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA  02111,  USA
-
-<P>
-Verbatim copying and distribution of this entire article is
-permitted in any medium, provided this notice is preserved.
-<P>
-Updated:
-<!-- hhmts start -->
-22 Jul 2000 prashant
-<!-- hhmts end -->
-<HR>
-</BODY>
-</HTML>

Index: manual/.symlinks
===================================================================
RCS file: manual/.symlinks
diff -N manual/.symlinks
--- manual/.symlinks    7 Nov 2003 20:56:38 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1 +0,0 @@
-cvs.html index.html

Index: manual/cvs.html
===================================================================
RCS file: manual/cvs.html
diff -N manual/cvs.html
--- manual/cvs.html     24 Oct 2011 19:36:11 -0000      1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,74 +0,0 @@
-<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN">
-<HTML>
-<HEAD>
-<TITLE>CVS--Concurrent Versions System - Table of Contents - GNU Project - 
Free Software Foundation (FSF)</TITLE>
-<LINK REV="made" HREF="mailto:address@hidden";>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#1F00FF" ALINK="#FF0000" 
VLINK="#9900DD">
-<H1>CVS--Concurrent Versions System - Table of Contents</H1>
-<ADDRESS>Free Software Foundation</ADDRESS>
-<ADDRESS>last updated November 07, 1998</ADDRESS>
-<P>
-<A HREF="/graphics/gnu-head-sm.jpg"><IMG SRC="/graphics/gnu-head-sm.jpg"
-   ALT=" [image of the Head of a GNU] "
-   WIDTH="129" HEIGHT="122">&#32;(jpeg 7k)</A>
-<A HREF="/graphics/gnu-head.jpg">(jpeg 21k)</A>
-
-<P>
-<P>
-<P><HR><P>
-<P>
-This manual is available in the following formats:
-<P>
-<UL>
-  <LI>formatted in <A HREF="html_mono/cvs.html">HTML 
-      (300K characters)</A> entirely on one web page.
-  <P>
-  <LI> formatted in <a href="html_chapter/cvs_toc.html">HTML</a> 
-       with one web page per chapter.
-  <p>
-  <LI> formatted in <a href="html_node/cvs_toc.html">HTML</a> 
-       with one web page per node.
-  <p>
-  <LI>formatted as an
-      <A HREF="info/cvs-infonfo.tar.gz">Info document (79K characters
-      gzipped tar file)</A>.
-  <P>
-  <LI>formatted as
-      <A HREF="text/cvs.txt">ASCII text (242K characters)</A>.
-  <P>
-  <LI>formatted as
-      <A HREF="dvi/cvs.dvi.gz">a TeX dvi file (119K characters
-      gzipped)</A>.
-  <P>
-  <li>formatted as
-      <A href="ps/cvs.ps.gz">a PostScript file (171K characters
-      gzipped)</a>.
-  <p>
-  <LI>the original 
-      <A HREF="texi/cvs.texinfo.tar.gz">Texinfo source (113K characters
-      gzipped tar file)</A>
-  <P>
-</UL>
-<P>
-
-<HR>
-
-Return to <A HREF="/home.html">GNU's home page</A>.
-<P>
-FSF &amp; GNU inquiries &amp; questions to
-<A HREF="mailto:address@hidden";><EM>address@hidden</EM></A>.
-Other <A HREF="/home.html#ContactInfo">ways to contact</A> the FSF.
-<P>
-Comments on these web pages to
-<A HREF="mailto:address@hidden";><EM>address@hidden</EM></A>,
-send other questions to
-<A HREF="mailto:address@hidden";><EM>address@hidden</EM></A>.
-<P>
-Copyright (C) 1997, 1998 Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA  02111,  USA
-<P>
-Verbatim copying and distribution of this entire article is
-permitted in any medium, provided this notice is preserved.<HR>
-</BODY>
-</HTML>

Index: manual/dvi/cvs.dvi.gz
===================================================================
RCS file: manual/dvi/cvs.dvi.gz
diff -N manual/dvi/cvs.dvi.gz
Binary files /tmp/cvsR2b0Km and /dev/null differ

Index: manual/html_chapter/cvs_1.html
===================================================================
RCS file: manual/html_chapter/cvs_1.html
diff -N manual/html_chapter/cvs_1.html
--- manual/html_chapter/cvs_1.html      7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,278 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - About this manual</TITLE>
-</HEAD>
-<BODY>
-Go to the first, previous, <A HREF="cvs_2.html">next</A>, <A 
HREF="cvs_25.html">last</A> section, <A HREF="cvs_toc.html">table of 
contents</A>.
-<P><HR><P>
-
-<P>
-Version Management
-<P>
-with
-<P>
-CVS
-<P>
-for CVS 1.9
-<P>
-Per Cederqvist et al
-
-</P>
-<P>
-Copyright (C) 1992, 1993 Signum Support AB
-
-</P>
-<P>
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
-
-</P>
-<P>
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided also that the
-section entitled "GNU General Public License" is included exactly as
-in the original, and provided that the entire resulting derived work is
-distributed under the terms of a permission notice identical to this one.
-
-</P>
-<P>
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that the section entitled "GNU General Public License" and
-this permission notice may be included in translations approved by the
-Free Software Foundation instead of in the original English.
-
-</P>
-
-
-
-<H1><A NAME="SEC1" HREF="cvs_toc.html#TOC1">About this manual</A></H1>
-<P>
-<A NAME="IDX1"></A>
-<A NAME="IDX2"></A>
-
-</P>
-<P>
-Up to this point, one of the weakest parts of CVS
-has been the documentation.  CVS is a complex
-program.  Previous versions of the manual were written
-in the manual page format, which is not really well
-suited for such a complex program.
-
-</P>
-<P>
-When writing this manual, I had several goals in mind:
-
-</P>
-
-<UL>
-<LI>
-
-No knowledge of RCS should be necessary.
-
-<LI>
-
-No previous knowledge of revision control software
-should be necessary.  All terms, such as <EM>revision
-numbers</EM>, <EM>revision trees</EM> and <EM>merging</EM> are
-explained as they are introduced.
-
-<LI>
-
-The manual should concentrate on the things CVS users
-want to do, instead of what the CVS commands can do.
-The first part of this manual leads you through things
-you might want to do while doing development, and
-introduces the relevant CVS commands as they are
-needed.
-
-<LI>
-
-Information should be easy to find.  In the reference
-manual in the appendices almost all information about
-every CVS command is gathered together.  There is also
-an extensive index, and a lot of cross references.
-</UL>
-
-<P>
-<A NAME="IDX3"></A>
-<A NAME="IDX4"></A>
-This manual was contributed by Signum Support AB in
-Sweden.  Signum is yet another in the growing list of
-companies that support free software.  You are free to
-copy both this manual and the CVS program.
-See section <A HREF="cvs_24.html#SEC154">GNU GENERAL PUBLIC LICENSE</A>, for 
the details.  Signum Support offers
-support contracts and binary distribution for many
-programs, such as CVS, GNU Emacs, the
-GNU C compiler and others.  Write to us for
-more information.
-
-</P>
-
-<PRE>
-Signum Support AB
-Box 2044
-S-580 02  Linkoping
-Sweden
-
-Email: address@hidden
-Phone: +46 (0)13 - 21 46 00
-Fax:   +46 (0)13 - 21 47 00
-</PRE>
-
-<P>
-Another company selling support for CVS is Cyclic
-Software, web: <CODE>http://www.cyclic.com/</CODE>, email:
-<CODE>address@hidden</CODE>.
-
-</P>
-
-
-
-<H2><A NAME="SEC2" HREF="cvs_toc.html#TOC2">Checklist for the impatient 
reader</A></H2>
-
-<P>
-CVS is a complex system.  You will need to read
-the manual to be able to use all of its capabilities.
-There are dangers that can easily be avoided if you
-know about them, and this manual tries to warn you
-about them.  This checklist is intended to help you
-avoid the dangers without reading the entire manual.
-If you intend to read the entire manual you can skip
-this table.
-
-</P>
-<DL COMPACT>
-
-<DT>Binary files
-<DD>
-CVS can handle binary files, but
-you must have RCS release 5.5 or later and
-a release of GNU diff that supports the <SAMP>`-a'</SAMP>
-flag (release 1.15 and later are OK).  You must also
-configure both RCS and CVS to handle binary
-files when you install them.
-
-Keword substitution can be a source of trouble with
-binary files. See section <A HREF="cvs_17.html#SEC77">Keyword 
substitution</A>, for
-solutions.
-
-<DT>The <CODE>admin</CODE> command
-<DD>
-Careless use of the <CODE>admin</CODE> command can cause
-CVS to cease working.  See section <A 
HREF="cvs_20.html#SEC91">admin--Administration front end for rcs</A>, before 
trying
-to use it.
-</DL>
-
-
-
-<H2><A NAME="SEC3" HREF="cvs_toc.html#TOC3">Credits</A></H2>
-
-<P>
-<A NAME="IDX5"></A>
-<A NAME="IDX6"></A>
-Roland Pesch, Cygnus Support &#60;<TT>address@hidden</TT>&#62;
-wrote the manual pages which were distributed with
-CVS 1.3.  Appendix A and B contain much text that
-was extracted from them.  He also read an early draft
-of this manual and contributed many ideas and
-corrections.
-
-</P>
-<P>
-The mailing-list <CODE>info-cvs</CODE> is sometimes
-informative. I have included information from postings
-made by the following persons:
-David G. Grubbs &#60;<TT>address@hidden</TT>&#62;.
-
-</P>
-<P>
-Some text has been extracted from the man pages for
-RCS.
-
-</P>
-<P>
-The CVS FAQ by David G. Grubbs has provided
-useful material.  The FAQ is no longer maintained,
-however, and this manual about the closest thing there
-is to a successor (with respect to documenting how to
-use CVS, at least).
-
-</P>
-<P>
-In addition, the following persons have helped by
-telling me about mistakes I've made:
-Roxanne Brunskill &#60;<TT>address@hidden</TT>&#62;,
-Kathy Dyer &#60;<TT>address@hidden</TT>&#62;,
-Karl Pingle &#60;<TT>address@hidden</TT>&#62;,
-Thomas A Peterson &#60;<TT>address@hidden</TT>&#62;,
-Inge Wallin &#60;<TT>address@hidden</TT>&#62;,
-Dirk Koschuetzki &#60;<TT>address@hidden</TT>&#62;
-and Michael Brown &#60;<TT>address@hidden</TT>&#62;.
-
-</P>
-
-
-<H2><A NAME="SEC4" HREF="cvs_toc.html#TOC4">BUGS</A></H2>
-
-<P>
-<A NAME="IDX7"></A>
-<A NAME="IDX8"></A>
-This manual is known to have room for improvement.
-Here is a list of known deficiencies:
-
-</P>
-
-<UL>
-<LI>
-
-In the examples, the output from CVS is sometimes
-displayed, sometimes not.
-
-<LI>
-
-The input that you are supposed to type in the examples
-should have a different font than the output from the
-computer.
-
-<LI>
-
-This manual should be clearer about what file
-permissions you should set up in the repository, and
-about setuid/setgid.
-
-<LI>
-
-Some of the chapters are not yet complete.  They are
-noted by comments in the <TT>`cvs.texinfo'</TT> file.
-
-<LI>
-
-<A NAME="IDX9"></A>
-<A NAME="IDX10"></A>
-<A NAME="IDX11"></A>
-This list is not complete.  If you notice any error,
-omission, or something that is unclear, please send
-mail to <TT>address@hidden</TT>.
-</UL>
-
-<P>
-I hope that you will find this manual useful, despite
-the above-mentioned shortcomings.
-
-</P>
-
-<PRE>
-
-Linkoping, October 1993
-Per Cederqvist
-</PRE>
-
-<P><HR><P>
-Go to the first, previous, <A HREF="cvs_2.html">next</A>, <A 
HREF="cvs_25.html">last</A> section, <A HREF="cvs_toc.html">table of 
contents</A>.
-</BODY>
-</HTML>

Index: manual/html_chapter/cvs_10.html
===================================================================
RCS file: manual/html_chapter/cvs_10.html
diff -N manual/html_chapter/cvs_10.html
--- manual/html_chapter/cvs_10.html     7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,100 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Recursive behavior</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_9.html">previous</A>, 
<A HREF="cvs_11.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC60" HREF="cvs_toc.html#TOC60">Recursive behavior</A></H1>
-<P>
-<A NAME="IDX239"></A>
-<A NAME="IDX240"></A>
-<A NAME="IDX241"></A>
-<A NAME="IDX242"></A>
-
-</P>
-<P>
-Almost all of the subcommands of CVS work
-recursively when you specify a directory as an
-argument.  For instance, consider this directory
-structure:
-
-</P>
-
-<PRE>
-      <CODE>$HOME</CODE>
-        |
-        +--<TT>tc</TT>
-        |   |
-            +--<TT>CVS</TT>
-            |      (internal CVS files)
-            +--<TT>Makefile</TT>
-            +--<TT>backend.c</TT>
-            +--<TT>driver.c</TT>
-            +--<TT>frontend.c</TT>
-            +--<TT>parser.c</TT>
-            +--<TT>man</TT>
-            |    |
-            |    +--<TT>CVS</TT>
-            |    |  (internal CVS files)
-            |    +--<TT>tc.1</TT>
-            |     
-            +--<TT>testing</TT>
-                 |
-                 +--<TT>CVS</TT>
-                 |  (internal CVS files)
-                 +--<TT>testpgm.t</TT>
-                 +--<TT>test2.t</TT>
-</PRE>
-
-<P>
-If <TT>`tc'</TT> is the current working directory, the
-following is true:
-
-</P>
-
-<UL>
-<LI>
-
-<SAMP>`cvs update testing'</SAMP> is equivalent to <SAMP>`cvs
-update testing/testpgm.t testing/test2.t'</SAMP>
-
-<LI>
-
-<SAMP>`cvs update testing man'</SAMP> updates all files in the
-subdirectories 
-
-<LI>
-
-<SAMP>`cvs update .'</SAMP> or just <SAMP>`cvs update'</SAMP> updates
-all files in the <CODE>tc</CODE> module
-</UL>
-
-<P>
-If no arguments are given to <CODE>update</CODE> it will
-update all files in the current working directory and
-all its subdirectories.  In other words, <TT>`.'</TT> is a
-default argument to <CODE>update</CODE>.  This is also true
-for most of the CVS subcommands, not only the
-<CODE>update</CODE> command.
-
-</P>
-<P>
-The recursive behavior of the CVS subcommands can be
-turned off with the <SAMP>`-l'</SAMP> option.
-
-</P>
-
-<PRE>
-$ cvs update -l         # Don't update files in subdirectories
-</PRE>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_9.html">previous</A>, 
<A HREF="cvs_11.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_chapter/cvs_11.html
===================================================================
RCS file: manual/html_chapter/cvs_11.html
diff -N manual/html_chapter/cvs_11.html
--- manual/html_chapter/cvs_11.html     7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,129 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Adding files to a directory</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_10.html">previous</A>, 
<A HREF="cvs_12.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC61" HREF="cvs_toc.html#TOC61">Adding files to a 
directory</A></H1>
-<P>
-<A NAME="IDX243"></A>
-
-</P>
-<P>
-To add a new file to a directory, follow these steps.
-
-</P>
-
-<UL>
-<LI>
-
-You must have a working copy of the directory.
-See section <A HREF="cvs_4.html#SEC11">Getting the source</A>.
-
-<LI>
-
-Create the new file inside your working copy of the directory.
-
-<LI>
-
-Use <SAMP>`cvs add <VAR>filename</VAR>'</SAMP> to tell CVS that you
-want to version control the file.  If the file contains
-binary data, specify <SAMP>`-kb'</SAMP> (see section <A 
HREF="cvs_18.html#SEC83">Handling binary files</A>).
-
-<LI>
-
-Use <SAMP>`cvs commit <VAR>filename</VAR>'</SAMP> to actually check
-in the file into the repository.  Other developers
-cannot see the file until you perform this step.
-</UL>
-
-<P>
-You can also use the <CODE>add</CODE> command to add a new
-directory.
-
-</P>
-<P>
-Unlike most other commands, the <CODE>add</CODE> command is
-not recursive.  You cannot even type <SAMP>`cvs add
-foo/bar'</SAMP>!  Instead, you have to
-
-</P>
-
-<PRE>
-$ cd foo
-$ cvs add bar
-</PRE>
-
-<P>
-<A NAME="IDX244"></A>
-<DL>
-<DT><U>Command:</U> <B>cvs add</B> <I>[<CODE>-k</CODE> kflag] [<CODE>-m</CODE> 
message] files ...</I>
-<DD><A NAME="IDX245"></A>
-
-</P>
-<P>
-Schedule <VAR>files</VAR> to be added to the repository.
-The files or directories specified with <CODE>add</CODE> must
-already exist in the current directory.  To add a whole
-new directory hierarchy to the source repository (for
-example, files received from a third-party vendor), use
-the <CODE>import</CODE> command instead.  See section <A 
HREF="cvs_20.html#SEC112">import--Import sources into CVS, using vendor 
branches</A>.
-
-</P>
-<P>
-The added files are not placed in the source repository
-until you use <CODE>commit</CODE> to make the change
-permanent.  Doing an <CODE>add</CODE> on a file that was
-removed with the <CODE>remove</CODE> command will undo the
-effect of the <CODE>remove</CODE>, unless a <CODE>commit</CODE>
-command intervened.  See section <A HREF="cvs_12.html#SEC62">Removing files 
from a module</A>, for an
-example.
-
-</P>
-<P>
-The <SAMP>`-k'</SAMP> option specifies the default way that
-this file will be checked out; for more information see
-section <A HREF="cvs_17.html#SEC81">Substitution modes</A>.
-
-</P>
-<P>
-The <SAMP>`-m'</SAMP> option specifies a description for the
-file.  This description appears in the history log (if
-it is enabled, see section <A HREF="cvs_21.html#SEC149">The history file</A>). 
 It will also be
-saved in the version history inside the repository when
-the file is committed.  The <CODE>log</CODE> command displays
-this description.  The description can be changed using
-<SAMP>`admin -t'</SAMP>.  See section <A 
HREF="cvs_20.html#SEC91">admin--Administration front end for rcs</A>.  If you 
omit the
-<SAMP>`-m <VAR>description</VAR>'</SAMP> flag, an empty string will
-be used.  You will not be prompted for a description.
-</DL>
-
-</P>
-<P>
-For example, the following commands add the file
-<TT>`backend.c'</TT> to the repository:
-
-</P>
-
-<PRE>
-$ cvs add backend.c
-$ cvs commit -m "Early version. Not yet compilable." backend.c
-</PRE>
-
-<P>
-When you add a file it is added only on the branch
-which you are working on (see section <A 
HREF="cvs_8.html#SEC50">Branches</A>).  You can
-later merge the additions to another branch if you want
-(see section <A HREF="cvs_9.html#SEC59">Merging can add or remove files</A>).
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_10.html">previous</A>, 
<A HREF="cvs_12.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_chapter/cvs_12.html
===================================================================
RCS file: manual/html_chapter/cvs_12.html
diff -N manual/html_chapter/cvs_12.html
--- manual/html_chapter/cvs_12.html     7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,147 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Removing files from a module</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_11.html">previous</A>, 
<A HREF="cvs_13.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC62" HREF="cvs_toc.html#TOC62">Removing files from a 
module</A></H1>
-<P>
-<A NAME="IDX246"></A>
-<A NAME="IDX247"></A>
-
-</P>
-<P>
-Modules change.  New files are added, and old files
-disappear.  Still, you want to be able to retrieve an
-exact copy of old releases of the module.
-
-</P>
-<P>
-Here is what you can do to remove a file from a module,
-but remain able to retrieve old revisions:
-
-</P>
-
-<UL>
-<LI>
-
-Make sure that you have not made any uncommitted
-modifications to the file.  See section <A HREF="cvs_4.html#SEC14">Viewing 
differences</A>,
-for one way to do that.  You can also use the
-<CODE>status</CODE> or <CODE>update</CODE> command.  If you remove
-the file without committing your changes, you will of
-course not be able to retrieve the file as it was
-immediately before you deleted it.
-
-<LI>
-
-Remove the file from your working copy of the module.
-You can for instance use <CODE>rm</CODE>.
-
-<LI>
-
-Use <SAMP>`cvs remove <VAR>filename</VAR>'</SAMP> to tell CVS that
-you really want to delete the file.
-
-<LI>
-
-Use <SAMP>`cvs commit <VAR>filename</VAR>'</SAMP> to actually
-perform the removal of the file from the repository.
-</UL>
-
-<P>
-When you commit the removal of the file, CVS
-records the fact that the file no longer exists.  It is
-possible for a file to exist on only some branches and
-not on others, or to re-add another file with the same
-name later.  CVS will correctly create or not create
-the file, based on the <SAMP>`-r'</SAMP> and <SAMP>`-D'</SAMP> options
-specified to <CODE>checkout</CODE> or <CODE>update</CODE>.
-
-</P>
-<P>
-<A NAME="IDX248"></A>
-<DL>
-<DT><U>Command:</U> <B>cvs remove</B> <I>[<CODE>-lR</CODE>] files ...</I>
-<DD><A NAME="IDX249"></A>
-
-</P>
-<P>
-Schedule file(s) to be removed from the repository
-(files which have not already been removed from the
-working directory are not processed).  This command
-does not actually remove the file from the repository
-until you commit the removal.  The <SAMP>`-R'</SAMP> option
-(the default) specifies that it will recurse into
-subdirectories; <SAMP>`-l'</SAMP> specifies that it will not.
-</DL>
-
-</P>
-<P>
-Here is an example of removing several files:
-
-</P>
-
-<PRE>
-$ cd test
-$ rm ?.c
-$ cvs remove
-cvs remove: Removing .
-cvs remove: scheduling a.c for removal
-cvs remove: scheduling b.c for removal
-cvs remove: use 'cvs commit' to remove these files permanently
-$ cvs ci -m "Removed unneeded files"
-cvs commit: Examining .
-cvs commit: Committing .
-</PRE>
-
-<P>
-If you change your mind you can easily resurrect the
-file before you commit it, using the <CODE>add</CODE>
-command.
-
-</P>
-
-<PRE>
-$ ls
-CVS   ja.h  oj.c
-$ rm oj.c
-$ cvs remove oj.c
-cvs remove: scheduling oj.c for removal
-cvs remove: use 'cvs commit' to remove this file permanently
-$ cvs add oj.c
-U oj.c
-cvs add: oj.c, version 1.1.1.1, resurrected
-</PRE>
-
-<P>
-If you realize your mistake before you run the
-<CODE>remove</CODE> command you can use <CODE>update</CODE> to
-resurrect the file:
-
-</P>
-
-<PRE>
-$ rm oj.c
-$ cvs update oj.c
-cvs update: warning: oj.c was lost
-U oj.c
-</PRE>
-
-<P>
-When you remove a file it is added only on the branch
-which you are working on (see section <A 
HREF="cvs_8.html#SEC50">Branches</A>).  You can
-later merge the additions to another branch if you want
-(see section <A HREF="cvs_9.html#SEC59">Merging can add or remove files</A>).
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_11.html">previous</A>, 
<A HREF="cvs_13.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_chapter/cvs_13.html
===================================================================
RCS file: manual/html_chapter/cvs_13.html
diff -N manual/html_chapter/cvs_13.html
--- manual/html_chapter/cvs_13.html     7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,162 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Tracking third-party sources</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_12.html">previous</A>, 
<A HREF="cvs_14.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC63" HREF="cvs_toc.html#TOC63">Tracking third-party 
sources</A></H1>
-<P>
-<A NAME="IDX250"></A>
-<A NAME="IDX251"></A>
-
-</P>
-<P>
-If you modify a program to better fit your site, you
-probably want to include your modifications when the next
-release of the program arrives.  CVS can help you with
-this task.
-
-</P>
-<P>
-<A NAME="IDX252"></A>
-<A NAME="IDX253"></A>
-<A NAME="IDX254"></A>
-In the terminology used in CVS, the supplier of the
-program is called a <EM>vendor</EM>.  The unmodified
-distribution from the vendor is checked in on its own
-branch, the <EM>vendor branch</EM>.  CVS reserves branch
-1.1.1 for this use.
-
-</P>
-<P>
-When you modify the source and commit it, your revision
-will end up on the main trunk.  When a new release is
-made by the vendor, you commit it on the vendor branch
-and copy the modifications onto the main trunk.
-
-</P>
-<P>
-Use the <CODE>import</CODE> command to create and update
-the vendor branch.  After a successful <CODE>import</CODE>
-the vendor branch is made the `head' revision, so
-anyone that checks out a copy of the file gets that
-revision.  When a local modification is committed it is
-placed on the main trunk, and made the `head'
-revision.
-
-</P>
-
-
-
-<H2><A NAME="SEC64" HREF="cvs_toc.html#TOC64">Importing a module for the first 
time</A></H2>
-<P>
-<A NAME="IDX255"></A>
-
-</P>
-<P>
-Use the <CODE>import</CODE> command to check in the sources
-for the first time.  When you use the <CODE>import</CODE>
-command to track third-party sources, the <EM>vendor
-tag</EM> and <EM>release tags</EM> are useful.  The
-<EM>vendor tag</EM> is a symbolic name for the branch
-(which is always 1.1.1, unless you use the <SAMP>`-b
-<VAR>branch</VAR>'</SAMP> flag---See section <A 
HREF="cvs_20.html#SEC113">import options</A>).  The
-<EM>release tags</EM> are symbolic names for a particular
-release, such as <SAMP>`FSF_0_04'</SAMP>.
-
-</P>
-<P>
-<A NAME="IDX256"></A>
-Suppose you use <CODE>wdiff</CODE> (a variant of <CODE>diff</CODE>
-that ignores changes that only involve whitespace), and
-are going to make private modifications that you want
-to be able to use even when new releases are made in
-the future.  You start by importing the source to your
-repository:
-
-</P>
-
-<PRE>
-$ tar xfz wdiff-0.04.tar.gz
-$ cd wdiff-0.04
-$ cvs import -m "Import of FSF v. 0.04" fsf/wdiff FSF_DIST WDIFF_0_04
-</PRE>
-
-<P>
-The vendor tag is named <SAMP>`FSF_DIST'</SAMP> in the above
-example, and the only release tag assigned is
-<SAMP>`WDIFF_0_04'</SAMP>.
-
-</P>
-
-
-<H2><A NAME="SEC65" HREF="cvs_toc.html#TOC65">Updating a module with the 
import command</A></H2>
-
-<P>
-When a new release of the source arrives, you import it into the
-repository with the same <CODE>import</CODE> command that you used to set up
-the repository in the first place.  The only difference is that you
-specify a different release tag this time.
-
-</P>
-
-<PRE>
-$ tar xfz wdiff-0.05.tar.gz
-$ cd wdiff-0.05
-$ cvs import -m "Import of FSF v. 0.05" fsf/wdiff FSF_DIST WDIFF_0_05
-</PRE>
-
-<P>
-For files that have not been modified locally, the newly created
-revision becomes the head revision.  If you have made local
-changes, <CODE>import</CODE> will warn you that you must merge the changes
-into the main trunk, and tell you to use <SAMP>`checkout -j'</SAMP> to do so.
-
-</P>
-
-<PRE>
-$ cvs checkout -jFSF_DIST:yesterday -jFSF_DIST wdiff
-</PRE>
-
-<P>
-The above command will check out the latest revision of
-<SAMP>`wdiff'</SAMP>, merging the changes made on the vendor branch 
<SAMP>`FSF_DIST'</SAMP>
-since yesterday into the working copy.  If any conflicts arise during
-the merge they should be resolved in the normal way (see section <A 
HREF="cvs_7.html#SEC40">Conflicts example</A>).  Then, the modified files may 
be committed.
-
-</P>
-<P>
-Using a date, as suggested above, assumes that you do
-not import more than one release of a product per
-day. If you do, you can always use something like this
-instead:
-
-</P>
-
-<PRE>
-$ cvs checkout -jWDIFF_0_04 -jWDIFF_0_05 wdiff
-</PRE>
-
-<P>
-In this case, the two above commands are equivalent.
-
-</P>
-
-
-<H2><A NAME="SEC66" HREF="cvs_toc.html#TOC66">How to handle binary files with 
cvs import</A></H2>
-
-<P>
-Use the <SAMP>`-k'</SAMP> wrapper option to tell import which
-files are binary.  See section <A HREF="cvs_21.html#SEC138">The cvswrappers 
file</A>.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_12.html">previous</A>, 
<A HREF="cvs_14.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_chapter/cvs_14.html
===================================================================
RCS file: manual/html_chapter/cvs_14.html
diff -N manual/html_chapter/cvs_14.html
--- manual/html_chapter/cvs_14.html     7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,195 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Moving and renaming files</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_13.html">previous</A>, 
<A HREF="cvs_15.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC67" HREF="cvs_toc.html#TOC67">Moving and renaming 
files</A></H1>
-<P>
-<A NAME="IDX257"></A>
-<A NAME="IDX258"></A>
-<A NAME="IDX259"></A>
-
-</P>
-<P>
-Moving files to a different directory or renaming them
-is not difficult, but some of the ways in which this
-works may be non-obvious.  (Moving or renaming a
-directory is even harder.  See section <A HREF="cvs_15.html#SEC71">Moving and 
renaming directories</A>).
-
-</P>
-<P>
-The examples below assume that the file <VAR>old</VAR> is renamed to
-<VAR>new</VAR>.
-
-</P>
-
-
-
-<H2><A NAME="SEC68" HREF="cvs_toc.html#TOC68">The Normal way to Rename</A></H2>
-
-<P>
-The normal way to move a file is to copy <VAR>old</VAR> to
-<VAR>new</VAR>, and then issue the normal CVS commands
-to remove <VAR>old</VAR> from the repository, and add
-<VAR>new</VAR> to it.  (Both <VAR>old</VAR> and <VAR>new</VAR> could
-contain relative paths, for example <TT>`foo/bar.c'</TT>).
-
-</P>
-
-<PRE>
-$ mv <VAR>old</VAR> <VAR>new</VAR>
-$ cvs remove <VAR>old</VAR>
-$ cvs add <VAR>new</VAR> 
-$ cvs commit -m "Renamed <VAR>old</VAR> to <VAR>new</VAR>" <VAR>old</VAR> 
<VAR>new</VAR>
-</PRE>
-
-<P>
-This is the simplest way to move a file, it is not
-error-prone, and it preserves the history of what was
-done.  Note that to access the history of the file you
-must specify the old or the new name, depending on what
-portion of the history you are accessing.  For example,
-<CODE>cvs log <VAR>old</VAR></CODE> will give the log up until the
-time of the rename.
-
-</P>
-<P>
-When <VAR>new</VAR> is committed its revision numbers will
-start at 1.0 again, so if that bothers you, use the
-<SAMP>`-r rev'</SAMP> option to commit (see section <A 
HREF="cvs_20.html#SEC100">commit options</A>)
-
-</P>
-
-
-<H2><A NAME="SEC69" HREF="cvs_toc.html#TOC69">Moving the history file</A></H2>
-
-<P>
-This method is more dangerous, since it involves moving
-files inside the repository.  Read this entire section
-before trying it out!
-
-</P>
-
-<PRE>
-$ cd $CVSROOT/<VAR>module</VAR>
-$ mv <VAR>old</VAR>,v <VAR>new</VAR>,v
-</PRE>
-
-<P>
-Advantages:
-
-</P>
-
-<UL>
-<LI>
-
-The log of changes is maintained intact.
-
-<LI>
-
-The revision numbers are not affected.
-</UL>
-
-<P>
-Disadvantages:
-
-</P>
-
-<UL>
-<LI>
-
-Old releases of the module cannot easily be fetched from the
-repository.  (The file will show up as <VAR>new</VAR> even
-in revisions from the time before it was renamed).
-
-<LI>
-
-There is no log information of when the file was renamed.
-
-<LI>
-
-Nasty things might happen if someone accesses the history file
-while you are moving it.  Make sure no one else runs any of the CVS
-commands while you move it.
-</UL>
-
-
-
-<H2><A NAME="SEC70" HREF="cvs_toc.html#TOC70">Copying the history file</A></H2>
-
-<P>
-This way also involves direct modifications to the
-repository.  It is safe, but not without drawbacks.
-
-</P>
-
-<PRE>
-# Copy the RCS file inside the repository
-$ cd $CVSROOT/<VAR>module</VAR>
-$ cp <VAR>old</VAR>,v <VAR>new</VAR>,v
-# Remove the old file
-$ cd ~/<VAR>module</VAR>
-$ rm <VAR>old</VAR>
-$ cvs remove <VAR>old</VAR>
-$ cvs commit <VAR>old</VAR>
-# Remove all tags from <VAR>new</VAR>
-$ cvs update <VAR>new</VAR>
-$ cvs log <VAR>new</VAR>             # Remember the non-branch tag names
-$ cvs tag -d <VAR>tag1</VAR> <VAR>new</VAR>
-$ cvs tag -d <VAR>tag2</VAR> <VAR>new</VAR>
-...
-</PRE>
-
-<P>
-By removing the tags you will be able to check out old
-revisions of the module.
-
-</P>
-<P>
-Advantages:
-
-</P>
-
-<UL>
-<LI>
-
-Checking out old revisions works correctly, as long as
-you use <SAMP>`-r<VAR>tag</VAR>'</SAMP> and not 
<SAMP>`-D<VAR>date</VAR>'</SAMP>
-to retrieve the revisions.
-
-<LI>
-
-The log of changes is maintained intact.
-
-<LI>
-
-The revision numbers are not affected.
-</UL>
-
-<P>
-Disadvantages:
-
-</P>
-
-<UL>
-<LI>
-
-You cannot easily see the history of the file across the rename.
-
-<LI>
-
-Unless you use the <SAMP>`-r rev'</SAMP> (see section <A 
HREF="cvs_20.html#SEC100">commit options</A>) flag when <VAR>new</VAR> is 
committed its revision
-numbers will start at 1.0 again.
-</UL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_13.html">previous</A>, 
<A HREF="cvs_15.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_chapter/cvs_15.html
===================================================================
RCS file: manual/html_chapter/cvs_15.html
diff -N manual/html_chapter/cvs_15.html
--- manual/html_chapter/cvs_15.html     7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,82 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Moving and renaming 
directories</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_14.html">previous</A>, 
<A HREF="cvs_16.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC71" HREF="cvs_toc.html#TOC71">Moving and renaming 
directories</A></H1>
-<P>
-<A NAME="IDX260"></A>
-<A NAME="IDX261"></A>
-<A NAME="IDX262"></A>
-
-</P>
-<P>
-If you want to be able to retrieve old versions of the
-module, you must move each file in the directory
-with the CVS commands.  See section <A HREF="cvs_14.html#SEC68">The Normal way 
to Rename</A>.  The old, empty
-directory will remain inside the repository, but it
-will not appear in your workspace when you check out
-the module in the future.
-
-</P>
-<P>
-If you really want to rename or delete a directory, you
-can do it like this:
-
-</P>
-
-<OL>
-<LI>
-
-Inform everyone who has a copy of the module that the
-directory will be renamed.  They should commit all
-their changes, and remove their working copies of the
-module, before you take the steps below.
-
-<LI>
-
-Rename the directory inside the repository.
-
-
-<PRE>
-$ cd $CVSROOT/<VAR>module</VAR>
-$ mv <VAR>old-dir</VAR> <VAR>new-dir</VAR>
-</PRE>
-
-<LI>
-
-Fix the CVS administrative files, if necessary (for
-instance if you renamed an entire module).
-
-<LI>
-
-Tell everyone that they can check out the module and continue
-working.
-
-</OL>
-
-<P>
-If someone had a working copy of the module the CVS commands will
-cease to work for him, until he removes the directory
-that disappeared inside the repository.
-
-</P>
-<P>
-It is almost always better to move the files in the
-directory instead of moving the directory.  If you move the
-directory you are unlikely to be able to retrieve old
-releases correctly, since they probably depend on the
-name of the directories.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_14.html">previous</A>, 
<A HREF="cvs_16.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_chapter/cvs_16.html
===================================================================
RCS file: manual/html_chapter/cvs_16.html
diff -N manual/html_chapter/cvs_16.html
--- manual/html_chapter/cvs_16.html     7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,165 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - History browsing</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_15.html">previous</A>, 
<A HREF="cvs_17.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC72" HREF="cvs_toc.html#TOC72">History browsing</A></H1>
-<P>
-<A NAME="IDX263"></A>
-<A NAME="IDX264"></A>
-<A NAME="IDX265"></A>
-
-</P>
-
-<P>
-Once you have used CVS to store a version control
-history--what files have changed when, how, and by
-whom, there are a variety of mechanisms for looking
-through the history.
-
-</P>
-
-
-
-<H2><A NAME="SEC73" HREF="cvs_toc.html#TOC73">Log messages</A></H2>
-
-<P>
-Whenever you commit a file you specify a log message.
-
-</P>
-<P>
-To look through the log messages which have been
-specified for every revision which has been committed,
-use the <CODE>cvs log</CODE> command (see section <A 
HREF="cvs_20.html#SEC116">log--Print out log information for files</A>).
-
-</P>
-
-
-<H2><A NAME="SEC74" HREF="cvs_toc.html#TOC74">The history database</A></H2>
-
-<P>
-You can use the history file (see section <A HREF="cvs_21.html#SEC149">The 
history file</A>) to
-log various CVS actions.  To retrieve the
-information from the history file, use the <CODE>cvs
-history</CODE> command (see section <A HREF="cvs_20.html#SEC110">history--Show 
status of files and users</A>).
-
-</P>
-
-
-<H2><A NAME="SEC75" HREF="cvs_toc.html#TOC75">User-defined logging</A></H2>
-
-<P>
-You can customize CVS to log various kinds of
-actions, in whatever manner you choose.  These
-mechanisms operate by executing a script at various
-times.  The script might append a message to a file
-listing the information and the programmer who created
-it, or send mail to a group of developers, or, perhaps,
-post a message to a particular newsgroup.  To log
-commits, use the <TT>`loginfo'</TT> file (see section <A 
HREF="cvs_21.html#SEC144">Loginfo</A>).
-To log commits, checkouts, exports, and tags,
-respectively, you can also use the <SAMP>`-i'</SAMP>,
-<SAMP>`-o'</SAMP>, <SAMP>`-e'</SAMP>, and <SAMP>`-t'</SAMP> options in the
-modules file.  For a more flexible way of giving
-notifications to various users, which requires less in
-the way of keeping centralized scripts up to date, use
-the <CODE>cvs watch add</CODE> command (see section <A 
HREF="cvs_7.html#SEC45">Telling CVS to notify you</A>); this command is useful 
even if you are not
-using <CODE>cvs watch on</CODE>.
-
-</P>
-<P>
-<A NAME="IDX266"></A>
-The <TT>`taginfo'</TT> file defines programs to execute
-when someone executes a <CODE>tag</CODE> or <CODE>rtag</CODE>
-command.  The <TT>`taginfo'</TT> file has the standard form
-for administrative files (see section <A HREF="cvs_21.html#SEC136">Reference 
manual for the Administrative files</A>), where each line is a regular 
expression
-followed by a command to execute.  The arguments passed
-to the command are, in order, the <VAR>tagname</VAR>,
-<VAR>operation</VAR> (<CODE>add</CODE> for <CODE>tag</CODE>,
-<CODE>mov</CODE> for <CODE>tag -F</CODE>, and <CODE>del</CODE> for
-<CODE>tag -d</CODE>), <VAR>repository</VAR>, and any remaining are
-pairs of <VAR>filename</VAR> <VAR>revision</VAR>.  A non-zero
-exit of the filter program will cause the tag to be
-aborted.
-
-</P>
-
-
-<H2><A NAME="SEC76" HREF="cvs_toc.html#TOC76">Annotate command</A></H2>
-<P>
-<A NAME="IDX267"></A>
-
-</P>
-<P>
-<DL>
-<DT><U>Command:</U> <B>cvs annotate</B> <I>[<CODE>-lf</CODE>] [<CODE>-r 
rev</CODE>|<CODE>-D date</CODE>] files ...</I>
-<DD><A NAME="IDX268"></A>
-
-</P>
-<P>
-For each file in <VAR>files</VAR>, print the head revision
-of the trunk, together with information on the last
-modification for each line.  For example:
-
-</P>
-
-<PRE>
-$ cvs annotate ssfile
-Annotations for ssfile
-***************
-1.1          (mary     27-Mar-96): ssfile line 1
-1.2          (joe      28-Mar-96): ssfile line 2
-</PRE>
-
-<P>
-The file <TT>`ssfile'</TT> currently contains two lines.
-The <CODE>ssfile line 1</CODE> line was checked in by
-<CODE>mary</CODE> on March 27.  Then, on March 28, <CODE>joe</CODE>
-added a line <CODE>ssfile line 2</CODE>, without modifying
-the <CODE>ssfile line 1</CODE> line.  This report doesn't
-tell you anything about lines which have been deleted
-or replaced; you need to use <CODE>cvs diff</CODE> for that
-(see section <A HREF="cvs_20.html#SEC105">diff--Run diffs between 
revisions</A>).
-
-</P>
-</DL>
-
-<P>
-These standard options are available with
-<CODE>annotate</CODE> (see section <A HREF="cvs_20.html#SEC90">Common command 
options</A>, for a complete
-description of them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-D <VAR>date</VAR></CODE>
-<DD>
-Annotate the most recent revision no later than <VAR>date</VAR>.
-
-<DT><CODE>-f</CODE>
-<DD>
-Only useful with the <SAMP>`-D <VAR>date</VAR>'</SAMP> or <SAMP>`-r
-<VAR>tag</VAR>'</SAMP> flags.  If no matching revision is found,
-annotate the most recent revision (instead of ignoring
-the file).
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.  See section <A 
HREF="cvs_10.html#SEC60">Recursive behavior</A>.
-
-<DT><CODE>-r <VAR>tag</VAR></CODE>
-<DD>
-Annotate revision <VAR>tag</VAR>.
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_15.html">previous</A>, 
<A HREF="cvs_17.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_chapter/cvs_17.html
===================================================================
RCS file: manual/html_chapter/cvs_17.html
diff -N manual/html_chapter/cvs_17.html
--- manual/html_chapter/cvs_17.html     8 Jun 2009 20:46:50 -0000       1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,376 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Keyword substitution</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_16.html">previous</A>, 
<A HREF="cvs_18.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC77" HREF="cvs_toc.html#TOC77">Keyword substitution</A></H1>
-<P>
-<A NAME="IDX269"></A>
-<A NAME="IDX270"></A>
-<A NAME="IDX271"></A>
-
-</P>
-
-<P>
-As long as you edit source files inside your working
-copy of a module you can always find out the state of
-your files via <SAMP>`cvs status'</SAMP> and <SAMP>`cvs log'</SAMP>.
-But as soon as you export the files from your
-development environment it becomes harder to identify
-which revisions they are.
-
-</P>
-<P>
-RCS uses a mechanism known as <EM>keyword
-substitution</EM> (or <EM>keyword expansion</EM>) to help
-identifying the files.  Embedded strings of the form
-<CODE>$<VAR>keyword</VAR>$</CODE> and
-<CODE>$<VAR>keyword</VAR>:...$</CODE> in a file are replaced
-with strings of the form
-<CODE>$<VAR>keyword</VAR>:<VAR>value</VAR>$</CODE> whenever you obtain
-a new revision of the file.
-
-</P>
-
-
-
-<H2><A NAME="SEC78" HREF="cvs_toc.html#TOC78">RCS Keywords</A></H2>
-<P>
-<A NAME="IDX272"></A>
-
-</P>
-<P>
-This is a list of the keywords that RCS currently
-(in release 5.6.0.1) supports:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>$Author: ward $</CODE>
-<DD>
-<A NAME="IDX273"></A>
- 
-The login name of the user who checked in the revision.
-
-<A NAME="IDX274"></A>
-<DT><CODE>$Date: 2009/06/08 20:46:50 $</CODE>
-<DD>
-The date and time (UTC) the revision was checked in.
-
-<A NAME="IDX275"></A>
-<DT><CODE>$Header: 
/web/www/www/software/cvs/manual/html_chapter/Attic/cvs_17.html,v 1.2 
2009/06/08 20:46:50 ward Exp $</CODE>
-<DD>
-A standard header containing the full pathname of the
-RCS file, the revision number, the date (UTC), the
-author, the state, and the locker (if locked).  Files
-will normally never be locked when you use CVS.
-
-<A NAME="IDX276"></A>
-<DT><CODE>$Id: cvs_17.html,v 1.2 2009/06/08 20:46:50 ward Exp $</CODE>
-<DD>
-Same as <CODE>$Header: 
/web/www/www/software/cvs/manual/html_chapter/Attic/cvs_17.html,v 1.2 
2009/06/08 20:46:50 ward Exp $</CODE>, except that the RCS
-filename is without a path.
-
-<A NAME="IDX277"></A>
-<DT><CODE>$Name:  $</CODE>
-<DD>
-Tag name used to check out this file.
-
-<A NAME="IDX278"></A>
-<DT><CODE>$Locker:  $</CODE>
-<DD>
-The login name of the user who locked the revision
-(empty if not locked, and thus almost always useless
-when you are using CVS).
-
-<A NAME="IDX279"></A>
-<DT><CODE>$Log: cvs_17.html,v $
-<DT><CODE>Revision 1.2  2009/06/08 20:46:50  ward
-<DT><CODE>changes that were lost from the CVS tree due to the savannah crash 
of 2009/05/29
-<DT><CODE>
-<DT><CODE>Revision 1.1  2003/11/07 20:55:32  sinuhe
-<DT><CODE>Add manual.
-<DT><CODE></CODE>
-<DD>
-The log message supplied during commit, preceded by a
-header containing the RCS filename, the revision
-number, the author, and the date (UTC).  Existing log
-messages are <EM>not</EM> replaced.  Instead, the new log
-message is inserted after <CODE>$Log: cvs_17.html,v $
-message is inserted after <CODE>Revision 1.1  2003/11/07 20:55:32  sinuhe
-message is inserted after <CODE>Add manual.
-message is inserted after <CODE></CODE>.
-Each new line is prefixed with a <EM>comment leader</EM>
-which RCS guesses from the file name extension.
-It can be changed with <CODE>cvs admin -c</CODE>.
-See section <A HREF="cvs_20.html#SEC92">admin options</A>.  This keyword is 
useful for
-accumulating a complete change log in a source file,
-but for several reasons it can be problematic.
-See section <A HREF="cvs_17.html#SEC82">Problems with the $Log: cvs_17.html,v $
-See section <A HREF="cvs_17.html#SEC82">Problems with the Revision 1.1  
2003/11/07 20:55:32  sinuhe
-See section <A HREF="cvs_17.html#SEC82">Problems with the Add manual.
-See section <A HREF="cvs_17.html#SEC82">Problems with the keyword.</A>.
-
-<A NAME="IDX280"></A>
-<DT><CODE>$RCSfile: cvs_17.html,v $</CODE>
-<DD>
-The name of the RCS file without a path.
-
-<A NAME="IDX281"></A>
-<DT><CODE>$Revision: 1.2 $</CODE>
-<DD>
-The revision number assigned to the revision.
-
-<A NAME="IDX282"></A>
-<DT><CODE>$Source: 
/web/www/www/software/cvs/manual/html_chapter/Attic/cvs_17.html,v $</CODE>
-<DD>
-The full pathname of the RCS file.
-
-<A NAME="IDX283"></A>
-<DT><CODE>$State: Exp $</CODE>
-<DD>
-The state assigned to the revision.  States can be
-assigned with <CODE>cvs admin -s</CODE>---See section <A 
HREF="cvs_20.html#SEC92">admin options</A>.
-
-</DL>
-
-
-
-<H2><A NAME="SEC79" HREF="cvs_toc.html#TOC79">Using keywords</A></H2>
-
-<P>
-To include a keyword string you simply include the
-relevant text string, such as <CODE>$Id: cvs_17.html,v 1.2 2009/06/08 20:46:50 
ward Exp $</CODE>, inside the
-file, and commit the file.  CVS will automatically
-expand the string as part of the commit operation.
-
-</P>
-<P>
-It is common to embed <CODE>$</CODE>Id$ string in the
-C source code.  This example shows the first few lines
-of a typical file, after keyword substitution has been
-performed:
-
-</P>
-
-<PRE>
-static char *rcsid="$Id: cvs_17.html,v 1.2 2009/06/08 20:46:50 ward Exp $";
-/* The following lines will prevent <CODE>gcc</CODE> version 2.<VAR>x</VAR>
-   from issuing an "unused variable" warning. */
-#if __GNUC__ == 2
-#define USE(var) static void * use_##var = (&#38;use_##var, (void *) &#38;var) 
-USE (rcsid);
-#endif
-</PRE>
-
-<P>
-Even though a clever optimizing compiler could remove
-the unused variable <CODE>rcsid</CODE>, most compilers tend
-to include the string in the binary.  Some compilers
-have a <CODE>#pragma</CODE> directive to include literal text
-in the binary.
-
-</P>
-<P>
-<A NAME="IDX284"></A>
-The <CODE>ident</CODE> command (which is part of the RCS
-package) can be used to extract keywords and their
-values from a file.  This can be handy for text files,
-but it is even more useful for extracting keywords from
-binary files.
-
-</P>
-
-<PRE>
-$ ident samp.c
-samp.c:
-     $Id: cvs_17.html,v 1.2 2009/06/08 20:46:50 ward Exp $
-$ gcc samp.c
-$ ident a.out
-a.out:
-     $Id: cvs_17.html,v 1.2 2009/06/08 20:46:50 ward Exp $
-</PRE>
-
-<P>
-<A NAME="IDX285"></A>
-SCCS is another popular revision control system.
-It has a command, <CODE>what</CODE>, which is very similar to
-<CODE>ident</CODE> and used for the same purpose.  Many sites
-without RCS have SCCS.  Since <CODE>what</CODE>
-looks for the character sequence <CODE>@(#)</CODE> it is
-easy to include keywords that are detected by either
-command.  Simply prefix the RCS keyword with the
-magic SCCS phrase, like this:
-
-</P>
-
-<PRE>
-static char *id="@(#) $Id: cvs_17.html,v 1.2 2009/06/08 20:46:50 ward Exp $";
-</PRE>
-
-
-
-<H2><A NAME="SEC80" HREF="cvs_toc.html#TOC80">Avoiding substitution</A></H2>
-
-<P>
-Keyword substitution has its disadvantages.  Sometimes
-you might want the literal text string
-<SAMP>`$'</SAMP>Author$ to appear inside a file without
-RCS interpreting it as a keyword and expanding it
-into something like <SAMP>`$'</SAMP>Author: ceder $.  
-
-</P>
-<P>
-There is unfortunately no way to selectively turn off
-keyword substitution.  You can use <SAMP>`-ko'</SAMP>
-(see section <A HREF="cvs_17.html#SEC81">Substitution modes</A>) to turn off 
keyword
-substitution entirely.
-
-</P>
-<P>
-In many cases you can avoid using RCS keywords in
-the source, even though they appear in the final
-product.  For example, the source for this manual
-contains <SAMP>address@hidden'</SAMP> whenever the text
-<SAMP>`$'</SAMP>Author$ should appear.  In <CODE>nroff</CODE>
-and <CODE>troff</CODE> you can embed the null-character
-<CODE>\&#38;</CODE> inside the keyword for a similar effect.
-
-</P>
-
-
-<H2><A NAME="SEC81" HREF="cvs_toc.html#TOC81">Substitution modes</A></H2>
-<P>
-<A NAME="IDX286"></A>
-<A NAME="IDX287"></A>
-
-</P>
-<P>
-Each file has a stored default substitution mode, and
-each working directory copy of a file also has a
-substitution mode.  The former is set by the <SAMP>`-k'</SAMP>
-option to <CODE>cvs add</CODE> and <CODE>cvs admin</CODE>; the
-latter is set by the -k or -A options to <CODE>cvs
-checkout</CODE> or <CODE>cvs update</CODE>.  <CODE>cvs diff</CODE> also
-has a <SAMP>`-k'</SAMP> option.  For some examples,
-See section <A HREF="cvs_18.html#SEC83">Handling binary files</A>.
-
-</P>
-<P>
-The modes available are:
-
-</P>
-<DL COMPACT>
-
-<DT><SAMP>`-kkv'</SAMP>
-<DD>
-Generate keyword strings using the default form, e.g.
-<CODE>$</CODE>Revision: 5.7 $ for the <CODE>Revision</CODE>
-keyword.
-
-<DT><SAMP>`-kkvl'</SAMP>
-<DD>
-Like <SAMP>`-kkv'</SAMP>, except that a locker's name is always
-inserted if the given revision is currently locked.
-This option is normally not useful when CVS is used.
-
-<DT><SAMP>`-kk'</SAMP>
-<DD>
-Generate only keyword names in keyword strings; omit
-their values.  For example, for the <CODE>Revision</CODE>
-keyword, generate the string <CODE>$</CODE>Revision$
-instead of <CODE>$</CODE>Revision: 5.7 $.  This option
-is useful to ignore differences due to keyword
-substitution when comparing different revisions of a
-file.
-
-<DT><SAMP>`-ko'</SAMP>
-<DD>
-Generate the old keyword string, present in the working
-file just before it was checked in.  For example, for
-the <CODE>Revision</CODE> keyword, generate the string
-<CODE>$</CODE>Revision: 1.1 $ instead of
-<CODE>$</CODE>Revision: 5.7 $ if that is how the
-string appeared when the file was checked in.
-
-<DT><SAMP>`-kb'</SAMP>
-<DD>
-Like <SAMP>`-ko'</SAMP>, but also inhibit conversion of line
-endings between the canonical form in which they are
-stored in the repository (linefeed only), and the form
-appropriate to the operating system in use on the
-client.  For systems, like unix, which use linefeed
-only to terminate lines, this is the same as
-<SAMP>`-ko'</SAMP>.  For more information on binary files, see
-section <A HREF="cvs_18.html#SEC83">Handling binary files</A>.
-
-<DT><SAMP>`-kv'</SAMP>
-<DD>
-Generate only keyword values for keyword strings.  For
-example, for the <CODE>Revision</CODE> keyword, generate the string
-<CODE>5.7</CODE> instead of <CODE>$</CODE>Revision: 5.7 $.
-This can help generate files in programming languages
-where it is hard to strip keyword delimiters like
-<CODE>$</CODE>Revision: $ from a string.  However,
-further keyword substitution cannot be performed once
-the keyword names are removed, so this option should be
-used with care.
-
-One often would like to use <SAMP>`-kv'</SAMP> with <CODE>cvs
-export</CODE>---see section <A HREF="cvs_20.html#SEC108">export--Export 
sources from CVS, similar to checkout</A>.  But be aware that doesn't
-handle an export containing binary files correctly.
-
-</DL>
-
-
-
-<H2><A NAME="SEC82" HREF="cvs_toc.html#TOC82">Problems with the $Log: 
cvs_17.html,v $
-<H2><A NAME="SEC82" HREF="cvs_toc.html#TOC82">Problems with the Revision 1.1  
2003/11/07 20:55:32  sinuhe
-<H2><A NAME="SEC82" HREF="cvs_toc.html#TOC82">Problems with the Add manual.
-<H2><A NAME="SEC82" HREF="cvs_toc.html#TOC82">Problems with the 
keyword.</A></H2>
-
-<P>
-The <CODE>$</CODE>Log$ keyword is somewhat
-controversial.  As long as you are working on your
-development system the information is easily accessible
-even if you do not use the <CODE>$</CODE>Log$
-keyword--just do a <CODE>cvs log</CODE>.  Once you export
-the file the history information might be useless
-anyhow.
-
-</P>
-<P>
-A more serious concern is that RCS is not good at
-handling <CODE>$</CODE>Log$ entries when a branch is
-merged onto the main trunk.  Conflicts often result
-from the merging operation.
-
-</P>
-<P>
-People also tend to "fix" the log entries in the file
-(correcting spelling mistakes and maybe even factual
-errors).  If that is done the information from
-<CODE>cvs log</CODE> will not be consistent with the
-information inside the file.  This may or may not be a
-problem in real life.
-
-</P>
-<P>
-It has been suggested that the <CODE>$</CODE>Log$
-keyword should be inserted <EM>last</EM> in the file, and
-not in the files header, if it is to be used at all.
-That way the long list of change messages will not
-interfere with everyday source file browsing.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_16.html">previous</A>, 
<A HREF="cvs_18.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_chapter/cvs_18.html
===================================================================
RCS file: manual/html_chapter/cvs_18.html
diff -N manual/html_chapter/cvs_18.html
--- manual/html_chapter/cvs_18.html     7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,111 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Handling binary files</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_17.html">previous</A>, 
<A HREF="cvs_19.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC83" HREF="cvs_toc.html#TOC83">Handling binary files</A></H1>
-<P>
-<A NAME="IDX288"></A>
-
-</P>
-<P>
-There are two issues with using CVS to store
-binary files.  The first is that CVS by default
-convert line endings between the canonical form in
-which they are stored in the repository (linefeed
-only), and the form appropriate to the operating system
-in use on the client (for example, carriage return
-followed by line feed for Windows NT).
-
-</P>
-<P>
-The second is that a binary file might happen to
-contain data which looks like a keyword (see section <A 
HREF="cvs_17.html#SEC77">Keyword substitution</A>), so keyword expansion must 
be turned
-off.
-
-</P>
-<P>
-The <SAMP>`-kb'</SAMP> option available with some CVS
-commands insures that neither line ending conversion
-nor keyword expansion will be done.  If you are using
-an old version of RCS without this option, and you
-are using an operating system, such as unix, which
-terminates lines with linefeeds only, you can use
-<SAMP>`-ko'</SAMP> instead; if you are on another operating
-system, upgrade to a version of RCS, such as 5.7
-or later, which supports <SAMP>`-kb'</SAMP>.
-
-</P>
-<P>
-Here is an example of how you can create a new file
-using the <SAMP>`-kb'</SAMP> flag:
-
-</P>
-
-<PRE>
-$ echo '$Id: cvs_18.html,v 1.1 2003/11/07 20:55:32 sinuhe Exp $' &#62; kotest
-$ cvs add -kb -m"A test file" kotest
-$ cvs ci -m"First checkin; contains a keyword" kotest
-</PRE>
-
-<P>
-If a file accidentally gets added without <SAMP>`-kb'</SAMP>,
-one can use the <CODE>cvs admin</CODE> command to recover.
-For example:
-
-</P>
-
-<PRE>
-$ echo '$Id: cvs_18.html,v 1.1 2003/11/07 20:55:32 sinuhe Exp $' &#62; kotest
-$ cvs add -m"A test file" kotest
-$ cvs ci -m"First checkin; contains a keyword" kotest
-$ cvs admin -kb kotest
-$ cvs update -A kotest
-$ cvs commit -m "make it binary" kotest  # For non-unix systems
-</PRE>
-
-<P>
-When you check in the file <TT>`kotest'</TT> the keywords
-are expanded.  (Try the above example, and do a
-<CODE>cat kotest</CODE> after every command).  The <CODE>cvs
-admin -kb</CODE> command sets the default keyword
-substitution method for this file, but it does not
-alter the working copy of the file that you have.  The
-easiest way to get the unexpanded version of
-<TT>`kotest'</TT> is <CODE>cvs update -A</CODE>.  If you need to
-cope with line endings (that is, you are using a
-CVS client on a non-unix system), then you need to
-check in a new copy of the file, as shown by the
-<CODE>cvs commit</CODE> command above.
-
-</P>
-<P>
-However, in using <CODE>cvs admin -k</CODE> to change the
-keyword expansion, be aware that the keyword expansion
-mode is not version controlled.  This means that, for
-example, that if you have a text file in old releases,
-and a binary file with the same name in new releases,
-CVS provides no way to check out the file in text
-or binary mode depending on what version you are
-checking out.  There is no good workaround for this
-problem.
-
-</P>
-<P>
-You can also set a default for whether <CODE>cvs add</CODE>
-and <CODE>cvs import</CODE> treat a file as binary based on
-its name; for example you could say that files who
-names end in <SAMP>`.exe'</SAMP> are binary.  See section <A 
HREF="cvs_21.html#SEC138">The cvswrappers file</A>.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_17.html">previous</A>, 
<A HREF="cvs_19.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_chapter/cvs_19.html
===================================================================
RCS file: manual/html_chapter/cvs_19.html
diff -N manual/html_chapter/cvs_19.html
--- manual/html_chapter/cvs_19.html     7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,75 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Revision management</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_18.html">previous</A>, 
<A HREF="cvs_20.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC84" HREF="cvs_toc.html#TOC84">Revision management</A></H1>
-<P>
-<A NAME="IDX289"></A>
-
-</P>
-
-<P>
-If you have read this far, you probably have a pretty
-good grasp on what CVS can do for you.  This
-chapter talks a little about things that you still have
-to decide.
-
-</P>
-<P>
-If you are doing development on your own using CVS
-you could probably skip this chapter.  The questions
-this chapter takes up become more important when more
-than one person is working in a repository.
-
-</P>
-
-
-
-<H2><A NAME="SEC85" HREF="cvs_toc.html#TOC85">When to commit?</A></H2>
-<P>
-<A NAME="IDX290"></A>
-<A NAME="IDX291"></A>
-<A NAME="IDX292"></A>
-
-</P>
-<P>
-Your group should decide which policy to use regarding
-commits.  Several policies are possible, and as your
-experience with CVS grows you will probably find
-out what works for you.
-
-</P>
-<P>
-If you commit files too quickly you might commit files
-that do not even compile.  If your partner updates his
-working sources to include your buggy file, he will be
-unable to compile the code.  On the other hand, other
-persons will not be able to benefit from the
-improvements you make to the code if you commit very
-seldom, and conflicts will probably be more common.
-
-</P>
-<P>
-It is common to only commit files after making sure
-that they can be compiled.  Some sites require that the
-files pass a test suite.  Policies like this can be
-enforced using the commitinfo file
-(see section <A HREF="cvs_21.html#SEC141">Commitinfo</A>), but you should 
think twice before
-you enforce such a convention.  By making the
-development environment too controlled it might become
-too regimented and thus counter-productive to the real
-goal, which is to get software written.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_18.html">previous</A>, 
<A HREF="cvs_20.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_chapter/cvs_2.html
===================================================================
RCS file: manual/html_chapter/cvs_2.html
diff -N manual/html_chapter/cvs_2.html
--- manual/html_chapter/cvs_2.html      7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,247 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - What is CVS?</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_1.html">previous</A>, 
<A HREF="cvs_3.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC5" HREF="cvs_toc.html#TOC5">What is CVS?</A></H1>
-<P>
-<A NAME="IDX12"></A>
-<A NAME="IDX13"></A>
-<A NAME="IDX14"></A>
-
-</P>
-<P>
-CVS is a version control system.  Using it, you can
-record the history of your source files.
-
-</P>
-
-<P>
-For example, bugs sometimes creep in when
-software is modified, and you might not detect the bug
-until a long time after you make the modification.
-With CVS, you can easily retrieve old versions to see
-exactly which change caused the bug.  This can
-sometimes be a big help.
-
-</P>
-<P>
-You could of course save every version of every file
-you have ever created.  This would
-however waste an enormous amount of disk space.  CVS
-stores all the versions of a file in a single file in a
-clever way that only stores the differences between
-versions.
-
-</P>
-<P>
-CVS also helps you if you are part of a group of people working
-on the same project.  It is all too easy to overwrite
-each others' changes unless you are extremely careful.
-Some editors, like GNU Emacs, try to make sure that
-the same file is never modified by two people at the
-same time.  Unfortunately, if someone is using another
-editor, that safeguard will not work.  CVS solves this problem
-by insulating the different developers from each other.  Every
-developer works in his own directory, and CVS merges
-the work when each developer is done.
-
-</P>
-<P>
-<A NAME="IDX15"></A>
-<A NAME="IDX16"></A>
-<A NAME="IDX17"></A>
-<A NAME="IDX18"></A>
-CVS started out as a bunch of shell scripts written by
-Dick Grune, posted to <CODE>comp.sources.unix</CODE> in the volume 6
-release of December, 1986.  While no actual code from
-these shell scripts is present in the current version
-of CVS much of the CVS conflict resolution algorithms
-come from them.
-
-</P>
-<P>
-In April, 1989, Brian Berliner designed and coded CVS.
-Jeff Polk later helped Brian with the design of the CVS
-module and vendor branch support.
-
-</P>
-<P>
-<A NAME="IDX19"></A>
-You can get CVS via anonymous ftp from a number of
-sites, for instance <TT>prep.ai.mit.edu</TT> in
-<TT>`pub/gnu'</TT>.
-
-</P>
-<P>
-<A NAME="IDX20"></A>
-<A NAME="IDX21"></A>
-<A NAME="IDX22"></A>
-There is a mailing list, known as <CODE>info-cvs</CODE>,
-devoted to CVS.  To subscribe or
-unsubscribe 
-send a message to
-<CODE>address@hidden</CODE>.  Please be
-specific about your email address.  As of May 1996,
-subscription requests are handled by a busy human
-being, so you cannot expect to be added or removed
-immediately.  The usenet group
-<CODE>comp.software.config-mgmt</CODE> is also a suitable
-place for CVS discussions (along with other
-configuration management systems).
-
-</P>
-
-
-
-<H2><A NAME="SEC6" HREF="cvs_toc.html#TOC6">CVS is not...</A></H2>
-
-<P>
-CVS can do a lot of things for you, but it does
-not try to be everything for everyone.
-
-</P>
-<DL COMPACT>
-
-<DT>CVS is not a build system.
-<DD>
-Though the structure of your repository and modules
-file interact with your build system
-(e.g. <TT>`Makefile'</TT>s), they are essentially
-independent.
-
-CVS does not dictate how you build anything.  It
-merely stores files for retrieval in a tree structure
-you devise.
-
-CVS does not dictate how to use disk space in the
-checked out working directories.  If you write your
-<TT>`Makefile'</TT>s or scripts in every directory so they
-have to know the relative positions of everything else,
-you wind up requiring the entire repository to be
-checked out.
-
-If you modularize your work, and construct a build
-system that will share files (via links, mounts,
-<CODE>VPATH</CODE> in <TT>`Makefile'</TT>s, etc.), you can
-arrange your disk usage however you like.
-
-But you have to remember that <EM>any</EM> such system is
-a lot of work to construct and maintain.  CVS does
-not address the issues involved.
-
-Of course, you should place the tools created to
-support such a build system (scripts, <TT>`Makefile'</TT>s,
-etc) under CVS.
-
-Figuring out what files need to be rebuilt when
-something changes is, again, something to be handled
-outside the scope of CVS.  One traditional
-approach is to use <CODE>make</CODE> for building, and use
-some automated tool for generating the depencies which
-<CODE>make</CODE> uses.
-
-<DT>CVS is not a substitute for management.
-<DD>
-Your managers and project leaders are expected to talk
-to you frequently enough to make certain you are aware
-of schedules, merge points, branch names and release
-dates.  If they don't, CVS can't help.
-
-CVS is an instrument for making sources dance to
-your tune.  But you are the piper and the composer.  No
-instrument plays itself or writes its own music.
-
-<DT>CVS is not a substitute for developer communication.
-<DD>
-When faced with conflicts within a single file, most
-developers manage to resolve them without too much
-effort.  But a more general definition of "conflict"
-includes problems too difficult to solve without
-communication between developers.
-
-CVS cannot determine when simultaneous changes
-within a single file, or across a whole collection of
-files, will logically conflict with one another.  Its
-concept of a <EM>conflict</EM> is purely textual, arising
-when two changes to the same base file are near enough
-to spook the merge (i.e. <CODE>diff3</CODE>) command.
-
-CVS does not claim to help at all in figuring out
-non-textual or distributed conflicts in program logic.
-
-For example: Say you change the arguments to function
-<CODE>X</CODE> defined in file <TT>`A'</TT>.  At the same time,
-someone edits file <TT>`B'</TT>, adding new calls to
-function <CODE>X</CODE> using the old arguments.  You are
-outside the realm of CVS's competence.
-
-Acquire the habit of reading specs and talking to your
-peers.
-
-<DT>CVS does not have change control
-<DD>
-Change control refers to a number of things.  First of
-all it can mean <EM>bug-tracking</EM>, that is being able
-to keep a database of reported bugs and the status of
-each one (is it fixed?  in what release?  has the bug
-submitter agreed that it is fixed?).  For interfacing
-CVS to an external bug-tracking system, see the
-<TT>`rcsinfo'</TT> and <TT>`editinfo'</TT> files
-(see section <A HREF="cvs_21.html#SEC136">Reference manual for the 
Administrative files</A>).
-
-Another aspect of change control is keeping track of
-the fact that changes to several files were in fact
-changed together as one logical change.  If you check
-in several files in a single <CODE>cvs commit</CODE>
-operation, CVS then forgets that those files were
-checked in together, and the fact that they have the
-same log message is the only thing tying them
-together.  Keeping a GNU style <TT>`ChangeLog'</TT>
-can help somewhat.
-
-Another aspect of change control, in some systems, is
-the ability to keep track of the status of each
-change.  Some changes have been written by a developer,
-others have been reviewed by a second developer, and so
-on.  Generally, the way to do this with CVS is to
-generate a diff (using <CODE>cvs diff</CODE> or <CODE>diff</CODE>)
-and email it to someone who can then apply it using the
-<CODE>patch</CODE> utility.  This is very flexible, but
-depends on mechanisms outside CVS to make sure
-nothing falls through the cracks.
-
-<DT>CVS is not an automated testing program
-<DD>
-It should be possible to enforce mandatory use of a
-testsuite using the <CODE>commitinfo</CODE> file.  I haven't
-heard a lot about projects trying to do that or whether
-there are subtle gotchas, however.
-
-<DT>CVS does not have a builtin process model
-<DD>
-Some systems provide ways to ensure that changes or
-releases go through various steps, with various
-approvals as needed.  Generally, one can accomplish
-this with CVS but it might be a little more work.
-In some cases you'll want to use the <TT>`commitinfo'</TT>,
-<TT>`loginfo'</TT>, <TT>`rcsinfo'</TT>, or <TT>`editinfo'</TT>
-files, to require that certain steps be performed
-before cvs will allow a checkin.  Also consider whether
-features such as branches and tags can be used to
-perform tasks such as doing work in a development tree
-and then merging certain changes over to a stable tree
-only once they have been proven.
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_1.html">previous</A>, 
<A HREF="cvs_3.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_chapter/cvs_20.html
===================================================================
RCS file: manual/html_chapter/cvs_20.html
diff -N manual/html_chapter/cvs_20.html
--- manual/html_chapter/cvs_20.html     7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,3145 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Reference manual for CVS 
commands</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_19.html">previous</A>, 
<A HREF="cvs_21.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC86" HREF="cvs_toc.html#TOC86">Reference manual for CVS 
commands</A></H1>
-<P>
-<A NAME="IDX293"></A>
-<A NAME="IDX294"></A>
-<A NAME="IDX295"></A>
-
-</P>
-
-<P>
-This appendix describes how to invoke CVS, and
-describes in detail those subcommands of CVS which
-are not fully described elsewhere.  To look up a
-particular subcommand, see section <A HREF="cvs_25.html#SEC155">Index</A>.
-
-</P>
-
-
-
-<H2><A NAME="SEC87" HREF="cvs_toc.html#TOC87">Overall structure of CVS 
commands</A></H2>
-<P>
-<A NAME="IDX296"></A>
-<A NAME="IDX297"></A>
-<A NAME="IDX298"></A>
-<A NAME="IDX299"></A>
-
-</P>
-<P>
-The overall format of all CVS commands is:
-
-</P>
-
-<PRE>
-cvs [ cvs_options ] cvs_command [ command_options ] [ command_args ]
-</PRE>
-
-<DL COMPACT>
-
-<DT><CODE>cvs</CODE>
-<DD>
-The name of the CVS program.
-
-<DT><CODE>cvs_options</CODE>
-<DD>
-Some options that affect all sub-commands of CVS.  These are
-described below.
-
-<DT><CODE>cvs_command</CODE>
-<DD>
-One of several different sub-commands.  Some of the commands have
-aliases that can be used instead; those aliases are noted in the
-reference manual for that command.  There are only two situations
-where you may omit <SAMP>`cvs_command'</SAMP>: <SAMP>`cvs -H'</SAMP> elicits a
-list of available commands, and <SAMP>`cvs -v'</SAMP> displays version
-information on CVS itself.
-
-<DT><CODE>command_options</CODE>
-<DD>
-Options that are specific for the command.
-
-<DT><CODE>command_args</CODE>
-<DD>
-Arguments to the commands.
-</DL>
-
-<P>
-There is unfortunately some confusion between
-<CODE>cvs_options</CODE> and <CODE>command_options</CODE>.
-<SAMP>`-l'</SAMP>, when given as a <CODE>cvs_option</CODE>, only
-affects some of the commands.  When it is given as a
-<CODE>command_option</CODE> is has a different meaning, and
-is accepted by more commands.  In other words, do not
-take the above categorization too seriously.  Look at
-the documentation instead.
-
-</P>
-
-
-<H2><A NAME="SEC88" HREF="cvs_toc.html#TOC88">Default options and the ~/.cvsrc 
file</A></H2>
-<P>
-<A NAME="IDX300"></A>
-<A NAME="IDX301"></A>
-
-</P>
-<P>
-There are some <CODE>command_options</CODE> that are used so
-often that you might have set up an alias or some other
-means to make sure you always specify that option.  One
-example (the one that drove the implementation of the
-.cvsrc support, actually) is that many people find the
-default output of the <SAMP>`diff'</SAMP> command to be very
-hard to read, and that either context diffs or unidiffs
-are much easier to understand.
-
-</P>
-<P>
-The <TT>`~/.cvsrc'</TT> file is a way that you can add
-default options to <CODE>cvs_commands</CODE> within cvs,
-instead of relying on aliases or other shell scripts.
-
-</P>
-<P>
-The format of the <TT>`~/.cvsrc'</TT> file is simple.  The
-file is searched for a line that begins with the same
-name as the <CODE>cvs_command</CODE> being executed.  If a
-match is found, then the remainder of the line is split
-up (at whitespace characters) into separate options and
-added to the command arguments <EM>before</EM> any
-options from the command line.
-
-</P>
-<P>
-If a command has two names (e.g., <CODE>checkout</CODE> and
-<CODE>co</CODE>), the official name, not necessarily the one
-used on the command line, will be used to match against
-the file.  So if this is the contents of the user's
-<TT>`~/.cvsrc'</TT> file:
-
-</P>
-
-<PRE>
-log -N
-diff -u
-update -P
-co -P
-</PRE>
-
-<P>
-the command <SAMP>`cvs checkout foo'</SAMP> would have the
-<SAMP>`-P'</SAMP> option added to the arguments, as well as
-<SAMP>`cvs co foo'</SAMP>.
-
-</P>
-<P>
-With the example file above, the output from <SAMP>`cvs
-diff foobar'</SAMP> will be in unidiff format.  <SAMP>`cvs diff
--c foobar'</SAMP> will provide context diffs, as usual.
-Getting "old" format diffs would be slightly more
-complicated, because <CODE>diff</CODE> doesn't have an option
-to specify use of the "old" format, so you would need
-<SAMP>`cvs -f diff foobar'</SAMP>.
-
-</P>
-<P>
-In place of the command name you can use <CODE>cvs</CODE> to
-specify global options (see section <A HREF="cvs_20.html#SEC89">Global 
options</A>).  For
-example the following line in <TT>`.cvsrc'</TT>
-
-</P>
-
-<PRE>
-cvs -z6
-</PRE>
-
-<P>
-causes CVS to use compression level 6
-
-</P>
-
-
-<H2><A NAME="SEC89" HREF="cvs_toc.html#TOC89">Global options</A></H2>
-<P>
-<A NAME="IDX302"></A>
-<A NAME="IDX303"></A>
-<A NAME="IDX304"></A>
-
-</P>
-<P>
-The available <SAMP>`cvs_options'</SAMP> (that are given to the
-left of <SAMP>`cvs_command'</SAMP>) are:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-b <VAR>bindir</VAR></CODE>
-<DD>
-<A NAME="IDX305"></A>
- <A NAME="IDX306"></A>
- 
-Use <VAR>bindir</VAR> as the directory where RCS programs are
-located.  Overrides the setting of the <CODE>$RCSBIN</CODE> environment
-variable and any precompiled directory.  This parameter should be
-specified as an absolute pathname.
-
-<A NAME="IDX307"></A>
-<A NAME="IDX308"></A>
-<DT><CODE>-T <VAR>tempdir</VAR></CODE>
-<DD>
-Use <VAR>tempdir</VAR> as the directory where temporary files are
-located.  Overrides the setting of the <CODE>$TMPDIR</CODE> environment
-variable and any precompiled directory.  This parameter should be
-specified as an absolute pathname.
-
-<A NAME="IDX309"></A>
-<A NAME="IDX310"></A>
-<DT><CODE>-d <VAR>cvs_root_directory</VAR></CODE>
-<DD>
-Use <VAR>cvs_root_directory</VAR> as the root directory
-pathname of the repository.  Overrides the setting of
-the <CODE>$CVSROOT</CODE> environment variable.  See section <A 
HREF="cvs_5.html#SEC15">The Repository</A>.
-
-<A NAME="IDX311"></A>
-<A NAME="IDX312"></A>
-<DT><CODE>-e <VAR>editor</VAR></CODE>
-<DD>
-Use <VAR>editor</VAR> to enter revision log information.  Overrides the
-setting of the <CODE>$CVSEDITOR</CODE> and <CODE>$EDITOR</CODE> environment 
variables.
-
-<DT><CODE>-f</CODE>
-<DD>
-Do not read the <TT>`~/.cvsrc'</TT> file.  This
-option is most often used because of the
-non-orthogonality of the CVS option set.  For
-example, the <SAMP>`cvs log'</SAMP> option <SAMP>`-N'</SAMP> (turn off
-display of tag names) does not have a corresponding
-option to turn the display on.  So if you have
-<SAMP>`-N'</SAMP> in the <TT>`~/.cvsrc'</TT> entry for <SAMP>`log'</SAMP>,
-you may need to use <SAMP>`-f'</SAMP> to show the tag names.
-
-<DT><CODE>-H</CODE>
-<DD>
-Display usage information about the specified <SAMP>`cvs_command'</SAMP>
-(but do not actually execute the command).  If you don't specify
-a command name, <SAMP>`cvs -H'</SAMP> displays a summary of all the
-commands available.
-
-<DT><CODE>-l</CODE>
-<DD>
-Do not log the cvs_command in the command history (but execute it
-anyway).  See section <A HREF="cvs_20.html#SEC110">history--Show status of 
files and users</A>, for information on command history.
-
-<A NAME="IDX313"></A>
-<DT><CODE>-n</CODE>
-<DD>
-Do not change any files.  Attempt to execute the
-<SAMP>`cvs_command'</SAMP>, but only to issue reports; do not remove,
-update, or merge any existing files, or create any new files.
-
-<DT><CODE>-Q</CODE>
-<DD>
-Cause the command to be really quiet; the command will only
-generate output for serious problems.
-
-<DT><CODE>-q</CODE>
-<DD>
-Cause the command to be somewhat quiet; informational messages,
-such as reports of recursion through subdirectories, are
-suppressed.
-
-<A NAME="IDX314"></A>
-<DT><CODE>-r</CODE>
-<DD>
-Make new working files files read-only.  Same effect
-as if the <CODE>$CVSREAD</CODE> environment variable is set
-(see section <A HREF="cvs_22.html#SEC151">All environment variables which 
affect CVS</A>).  The default is to
-make working files writable, unless watches are on
-(see section <A HREF="cvs_7.html#SEC43">Mechanisms to track who is editing 
files</A>).
-
-<DT><CODE>-s <VAR>variable</VAR>=<VAR>value</VAR></CODE>
-<DD>
-Set a user variable (see section <A HREF="cvs_21.html#SEC150">Expansions in 
administrative files</A>).
-
-<A NAME="IDX315"></A>
-<DT><CODE>-t</CODE>
-<DD>
-Trace program execution; display messages showing the steps of
-CVS activity.  Particularly useful with <SAMP>`-n'</SAMP> to explore the
-potential impact of an unfamiliar command.
-
-<DT><CODE>-v</CODE>
-<DD>
-Display version and copyright information for CVS.
-
-<A NAME="IDX316"></A>
-<A NAME="IDX317"></A>
-<DT><CODE>-w</CODE>
-<DD>
-Make new working files read-write.  Overrides the
-setting of the <CODE>$CVSREAD</CODE> environment variable.
-Files are created read-write by default, unless <CODE>$CVSREAD</CODE> is
-set or <SAMP>`-r'</SAMP> is given.
-
-<DT><CODE>-x</CODE>
-<DD>
-Encrypt all communication between the client and the
-server.  Only has an effect on the CVS client.  As
-of this writing, this is only implemented when using a
-Kerberos connection (see section <A HREF="cvs_5.html#SEC30">Direct connection 
with kerberos</A>).
-Encryption support is not available by default; it must
-be enabled using a special configure option,
-<TT>`--enable-encryption'</TT>, when you build CVS.
-
-<DT><CODE>-z <VAR>gzip-level</VAR></CODE>
-<DD>
-Set the compression level.  Only has an effect on the
-CVS client.
-
-</DL>
-
-
-
-<H2><A NAME="SEC90" HREF="cvs_toc.html#TOC90">Common command options</A></H2>
-<P>
-<A NAME="IDX318"></A>
-<A NAME="IDX319"></A>
-
-</P>
-<P>
-This section describes the <SAMP>`command_options'</SAMP> that
-are available across several CVS commands.  These
-options are always given to the right of
-<SAMP>`cvs_command'</SAMP>. Not all
-commands support all of these options; each option is
-only supported for commands where it makes sense.
-However, when a command has one of these options you
-can almost always count on the same behavior of the
-option as in other commands.  (Other command options,
-which are listed with the individual commands, may have
-different behavior from one CVS command to the other).
-
-</P>
-<P>
-<STRONG>Warning:</STRONG> the <SAMP>`history'</SAMP> command is an exception; 
it supports
-many options that conflict even with these standard options.
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-D <VAR>date_spec</VAR></CODE>
-<DD>
-<A NAME="IDX320"></A>
- <A NAME="IDX321"></A>
- <A NAME="IDX322"></A>
- 
-Use the most recent revision no later than <VAR>date_spec</VAR>.
-<VAR>date_spec</VAR> is a single argument, a date description
-specifying a date in the past.
-
-The specification is <EM>sticky</EM> when you use it to make a
-private copy of a source file; that is, when you get a working
-file using <SAMP>`-D'</SAMP>, CVS records the date you specified, so that
-further updates in the same directory will use the same date
-(for more information on sticky tags/dates, see section <A 
HREF="cvs_8.html#SEC54">Sticky tags</A>).
-
-<A NAME="IDX323"></A>
-<A NAME="IDX324"></A>
-A wide variety of date formats are supported by
-CVS.  The <VAR>date_spec</VAR> is interpreted as being
-in the local timezone, unless a specific timezone is
-specified.  Examples of valid date specifications
-include:
-
-
-<PRE>
-                    1 month ago
-                    2 hours ago
-                    400000 seconds ago
-                    last year
-                    last Monday
-                    yesterday
-                    a fortnight ago
-                    3/31/92 10:00:07 PST
-                    January 23, 1987 10:05pm
-                    22:00 GMT
-</PRE>
-
-<SAMP>`-D'</SAMP> is available with the <CODE>checkout</CODE>,
-<CODE>diff</CODE>, <CODE>export</CODE>, <CODE>history</CODE>,
-<CODE>rdiff</CODE>, <CODE>rtag</CODE>, and <CODE>update</CODE> commands.
-(The <CODE>history</CODE> command uses this option in a
-slightly different way; see section <A HREF="cvs_20.html#SEC111">history 
options</A>).  Note
-that when specifying a date like <SAMP>`3/31/92'</SAMP> it is
-<CODE><VAR>month</VAR>/<VAR>day</VAR>/<VAR>year</VAR></CODE>.  So
-<SAMP>`1/4/96'</SAMP> is January 4, not March 1.
-
-Remember to quote the argument to the <SAMP>`-D'</SAMP>
-flag so that your shell doesn't interpret spaces as
-argument separators.  A command using the <SAMP>`-D'</SAMP>
-flag can look like this:
-
-
-<PRE>
-$ cvs diff -D "1 hour ago" cvs.texinfo
-</PRE>
-
-<A NAME="IDX325"></A>
-<DT><CODE>-f</CODE>
-<DD>
-When you specify a particular date or tag to CVS commands, they
-normally ignore files that do not contain the tag (or did not
-exist prior to the date) that you specified.  Use the <SAMP>`-f'</SAMP> option
-if you want files retrieved even when there is no match for the
-tag or date.  (The most recent revision of the file
-will be used). 
-
-<SAMP>`-f'</SAMP> is available with these commands: <CODE>checkout</CODE>,
-<CODE>export</CODE>, <CODE>rdiff</CODE>, <CODE>rtag</CODE>, and 
<CODE>update</CODE>.
-
-<STRONG>Warning:</STRONG>  The <CODE>commit</CODE> command also has a
-<SAMP>`-f'</SAMP> option, but it has a different behavior for
-that command.  See section <A HREF="cvs_20.html#SEC100">commit options</A>.
-
-<DT><CODE>-H</CODE>
-<DD>
-Help; describe the options available for this command.  This is
-the only option supported for all CVS commands.
-
-<DT><CODE>-k <VAR>kflag</VAR></CODE>
-<DD>
-Alter the default RCS processing of keywords.
-See section <A HREF="cvs_17.html#SEC77">Keyword substitution</A>, for the 
meaning of
-<VAR>kflag</VAR>.  Your <VAR>kflag</VAR> specification is
-<EM>sticky</EM> when you use it to create a private copy
-of a source file; that is, when you use this option
-with the <CODE>checkout</CODE> or <CODE>update</CODE> commands,
-CVS associates your selected <VAR>kflag</VAR> with the
-file, and continues to use it with future update
-commands on the same file until you specify otherwise.
-
-The <SAMP>`-k'</SAMP> option is available with the <CODE>add</CODE>,
-<CODE>checkout</CODE>, <CODE>diff</CODE> and
-<CODE>update</CODE> commands.
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory, rather than
-recursing through subdirectories.  
-
-<STRONG>Warning:</STRONG> this is not the same
-as the overall <SAMP>`cvs -l'</SAMP> option, which you can specify to the
-left of a cvs command!
-
-Available with the following commands: <CODE>checkout</CODE>,
-<CODE>commit</CODE>, <CODE>diff</CODE>, <CODE>export</CODE>, <CODE>log</CODE>,
-<CODE>remove</CODE>, <CODE>rdiff</CODE>, <CODE>rtag</CODE>,
-<CODE>status</CODE>, <CODE>tag</CODE>, and <CODE>update</CODE>.
-
-<A NAME="IDX326"></A>
-<A NAME="IDX327"></A>
-<DT><CODE>-m <VAR>message</VAR></CODE>
-<DD>
-Use <VAR>message</VAR> as log information, instead of
-invoking an editor.
-
-Available with the following commands: <CODE>add</CODE>,
-<CODE>commit</CODE> and <CODE>import</CODE>.
-
-<DT><CODE>-n</CODE>
-<DD>
-Do not run any checkout/commit/tag program.  (A program can be
-specified to run on each of these activities, in the modules
-database (see section <A HREF="cvs_21.html#SEC137">The modules file</A>); this 
option bypasses it). 
-
-<STRONG>Warning:</STRONG> this is not the same as the overall <SAMP>`cvs 
-n'</SAMP>
-option, which you can specify to the left of a cvs command!
-
-Available with the <CODE>checkout</CODE>, <CODE>commit</CODE>, 
<CODE>export</CODE>,
-and <CODE>rtag</CODE> commands.
-
-<DT><CODE>-P</CODE>
-<DD>
-Prune (remove) directories that are empty after being updated, on
-<CODE>checkout</CODE>, or <CODE>update</CODE>.  Normally, an empty directory
-(one that is void of revision-controlled files) is left alone.
-Specifying <SAMP>`-P'</SAMP> will cause these directories to be silently
-removed from your checked-out sources.  This does not remove the
-directory from the repository, only from your checked out copy.
-Note that this option is implied by the <SAMP>`-r'</SAMP> or <SAMP>`-D'</SAMP>
-options of <CODE>checkout</CODE> and <CODE>export</CODE>.
-
-<DT><CODE>-p</CODE>
-<DD>
-Pipe the files retrieved from the repository to standard output,
-rather than writing them in the current directory.  Available
-with the <CODE>checkout</CODE> and <CODE>update</CODE> commands.
-
-<DT><CODE>-W</CODE>
-<DD>
-Specify file names that should be filtered.  You can
-use this option repeatedly.  The spec can be a file
-name pattern of the same type that you can specify in
-the <TT>`.cvswrappers'</TT> file.
-Avaliable with the following commands: <CODE>import</CODE>,
-and <CODE>update</CODE>.
-
-<DT><CODE>-r <VAR>tag</VAR></CODE>
-<DD>
-Use the revision specified by the <VAR>tag</VAR> argument instead of the
-default <EM>head</EM> revision.  As well as arbitrary tags defined
-with the <CODE>tag</CODE> or <CODE>rtag</CODE> command, two special tags are
-always available: <SAMP>`HEAD'</SAMP> refers to the most recent version
-available in the repository, and <SAMP>`BASE'</SAMP> refers to the
-revision you last checked out into the current working directory.
-
-The tag specification is sticky when you use this
-with <CODE>checkout</CODE> or <CODE>update</CODE> to make your own
-copy of a file: CVS remembers the tag and continues to use it on
-future update commands, until you specify otherwise (for more information
-on sticky tags/dates, see section <A HREF="cvs_8.html#SEC54">Sticky tags</A>). 
 The
-tag can be either a symbolic or numeric tag.
-See section <A HREF="cvs_8.html#SEC51">Tags--Symbolic revisions</A>.
-
-Specifying the <SAMP>`-q'</SAMP> global option along with the
-<SAMP>`-r'</SAMP> command option is often useful, to suppress
-the warning messages when the RCS history file
-does not contain the specified tag.
-
-<STRONG>Warning:</STRONG> this is not the same as the overall `cvs -r' option,
-which you can specify to the left of a cvs command!
-
-<SAMP>`-r'</SAMP> is available with the <CODE>checkout</CODE>, 
<CODE>commit</CODE>,
-<CODE>diff</CODE>, <CODE>history</CODE>, <CODE>export</CODE>, 
<CODE>rdiff</CODE>,
-<CODE>rtag</CODE>, and <CODE>update</CODE> commands.
-
-</DL>
-
-
-
-<H2><A NAME="SEC91" HREF="cvs_toc.html#TOC91">admin--Administration front end 
for rcs</A></H2>
-<P>
-<A NAME="IDX328"></A>
-
-</P>
-
-<UL>
-<LI>
-
-Requires: repository, working directory.
-<LI>
-
-Changes: repository.
-<LI>
-
-Synonym: rcs
-</UL>
-
-<P>
-This is the CVS interface to assorted administrative RCS
-facilities, documented in rcs(1).  <CODE>admin</CODE> simply passes
-all its options and arguments to the <CODE>rcs</CODE> command; it does
-no filtering or other processing.  This command <EM>does</EM> work
-recursively, however, so extreme care should be used.
-
-</P>
-<P>
-If there is a group whose name matches a compiled in
-value which defaults to <CODE>cvsadmin</CODE>, only members
-of that group can use <CODE>cvs admin</CODE>.  To disallow
-<CODE>cvs admin</CODE> for all users, create a group with no
-users in it.
-
-</P>
-
-
-
-<H3><A NAME="SEC92" HREF="cvs_toc.html#TOC92">admin options</A></H3>
-
-<P>
-Not all valid <CODE>rcs</CODE> options are useful together
-with CVS.  Some even makes it impossible to use
-CVS until you undo the effect!
-
-</P>
-<P>
-This description of the available options is based on
-the <SAMP>`rcs(1)'</SAMP> man page, but modified to suit
-readers that are more interrested in CVS than
-RCS.
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-A<VAR>oldfile</VAR></CODE>
-<DD>
-Might not work together with CVS.  Append the
-access list of <VAR>oldfile</VAR> to the access list of the
-RCS file.
-
-<DT><CODE>-a<VAR>logins</VAR></CODE>
-<DD>
-Might not work together with CVS.  Append the
-login names appearing in the comma-separated list
-<VAR>logins</VAR> to the access list of the RCS file.
-
-<DT><CODE>-b[<VAR>rev</VAR>]</CODE>
-<DD>
-When used with bare RCS, this
-option sets the default branch to <VAR>rev</VAR>; in
-CVS sticky tags (see section <A HREF="cvs_8.html#SEC54">Sticky tags</A>) are a 
better
-way to decide which branch you want to work on.  With
-CVS, this option can be used to control behavior
-with respect to the vendor branch.
-
-<DT><CODE>-c<VAR>string</VAR></CODE>
-<DD>
-Useful with CVS.  Sets the comment leader to
-<VAR>string</VAR>.  The comment leader is printed before
-every log message line generated by the keyword
-<CODE>$</CODE>Log$ (see section <A HREF="cvs_17.html#SEC77">Keyword 
substitution</A>).
-This is useful for programming languages without
-multi-line comments.  RCS initially guesses the
-value of the comment leader from the file name
-extension when the file is first committed.
-
-<DT><CODE>-e[<VAR>logins</VAR>]</CODE>
-<DD>
-Might not work together with CVS.  Erase the login
-names appearing in the comma-separated list
-<VAR>logins</VAR> from the access list of the RCS file.  If
-<VAR>logins</VAR> is omitted, erase the entire access list.
-
-<DT><CODE>-I</CODE>
-<DD>
-Run interactively, even if the standard input is not a
-terminal.
-
-<DT><CODE>-i</CODE>
-<DD>
-Useless with CVS.  When using bare RCS, this
-is used to create and initialize a new RCS file,
-without depositing a revision.
-
-<DT><CODE>-k<VAR>subst</VAR></CODE>
-<DD>
-Useful with CVS.  Set the default keyword
-substitution to <VAR>subst</VAR>.  See section <A 
HREF="cvs_17.html#SEC77">Keyword substitution</A>.  Giving an explicit 
<SAMP>`-k'</SAMP> option to
-<CODE>cvs update</CODE>, <CODE>cvs export</CODE>, or <CODE>cvs
-checkout</CODE> overrides this default.
-
-<DT><CODE>-l[<VAR>rev</VAR>]</CODE>
-<DD>
-Lock the revision with number <VAR>rev</VAR>.  If a branch
-is given, lock the latest revision on that branch.  If
-<VAR>rev</VAR> is omitted, lock the latest revision on the
-default branch.
-
-This can be used in conjunction with the
-<TT>`rcslock.pl'</TT> script in the <TT>`contrib'</TT>
-directory of the CVS source distribution to
-provide reserved checkouts (where only one user can be
-editing a given file at a time).  See the comments in
-that file for details (and see the <TT>`README'</TT> file
-in that directory for disclaimers about the unsupported
-nature of contrib).  According to comments in that
-file, locking must set to strict (which is the default).
-
-<DT><CODE>-L</CODE>
-<DD>
-Set locking to strict.  Strict locking means that the
-owner of an RCS file is not exempt from locking for
-checkin.  For use with CVS, strict locking must be
-set; see the discussion under the <SAMP>`-l'</SAMP> option above.
-
-<A NAME="IDX329"></A>
-<A NAME="IDX330"></A>
-<A NAME="IDX331"></A>
-<A NAME="IDX332"></A>
-<A NAME="IDX333"></A>
-<DT><CODE>-m<VAR>rev</VAR>:<VAR>msg</VAR></CODE>
-<DD>
-Replace the log message of revision <VAR>rev</VAR> with
-<VAR>msg</VAR>.
-
-<DT><CODE>-N<VAR>name</VAR>[:[<VAR>rev</VAR>]]</CODE>
-<DD>
-Act like <SAMP>`-n'</SAMP>, except override any previous
-assignment of <VAR>name</VAR>.
-
-<DT><CODE>-n<VAR>name</VAR>[:[<VAR>rev</VAR>]]</CODE>
-<DD>
-Associate the symbolic name <VAR>name</VAR> with the branch
-or revision <VAR>rev</VAR>.  It is normally better to use
-<SAMP>`cvs tag'</SAMP> or <SAMP>`cvs rtag'</SAMP> instead.  Delete the
-symbolic name if both <SAMP>`:'</SAMP> and <VAR>rev</VAR> are
-omitted; otherwise, print an error message if
-<VAR>name</VAR> is already associated with another number.
-If <VAR>rev</VAR> is symbolic, it is expanded before
-association.  A <VAR>rev</VAR> consisting of a branch number
-followed by a <SAMP>`.'</SAMP> stands for the current latest
-revision in the branch.  A <SAMP>`:'</SAMP> with an empty
-<VAR>rev</VAR> stands for the current latest revision on the
-default branch, normally the trunk.  For example,
-<SAMP>`rcs -n<VAR>name</VAR>: RCS/*'</SAMP> associates <VAR>name</VAR> with the
-current latest revision of all the named RCS files;
-this contrasts with <SAMP>`rcs -n<VAR>name</VAR>:$ RCS/*'</SAMP> which
-associates <VAR>name</VAR> with the revision numbers
-extracted from keyword strings in the corresponding
-working files.
-
-<A NAME="IDX334"></A>
-<A NAME="IDX335"></A>
-<A NAME="IDX336"></A>
-<DT><CODE>-o<VAR>range</VAR></CODE>
-<DD>
-Potentially useful, but dangerous, with CVS (see below).
-Deletes (<EM>outdates</EM>) the revisions given by
-<VAR>range</VAR>.  A range consisting of a single revision
-number means that revision.  A range consisting of a
-branch number means the latest revision on that branch.
-A range of the form <SAMP>`<VAR>rev1</VAR>:<VAR>rev2</VAR>'</SAMP> means
-revisions <VAR>rev1</VAR> to <VAR>rev2</VAR> on the same branch,
-<SAMP>`:<VAR>rev</VAR>'</SAMP> means from the beginning of the
-branch containing <VAR>rev</VAR> up to and including
-<VAR>rev</VAR>, and <SAMP>`<VAR>rev</VAR>:'</SAMP> means from revision
-<VAR>rev</VAR> to the end of the branch containing
-<VAR>rev</VAR>.  None of the outdated revisions may have
-branches or locks.
-
-Due to the way CVS handles branches <VAR>rev</VAR>
-cannot be specified symbolically if it is a branch.
-See section <A HREF="cvs_23.html#SEC153">Magic branch numbers</A>, for an 
explanation.
-
-Make sure that no-one has checked out a copy of the
-revision you outdate.  Strange things will happen if he
-starts to edit it and tries to check it back in.  For
-this reason, this option is not a good way to take back
-a bogus commit; commit a new revision undoing the bogus
-change instead (see section <A HREF="cvs_9.html#SEC58">Merging differences 
between any two revisions</A>).
-
-<DT><CODE>-q</CODE>
-<DD>
-Run quietly; do not print diagnostics.
-
-<DT><CODE>-s<VAR>state</VAR>[:<VAR>rev</VAR>]</CODE>
-<DD>
-Useful with CVS.  Set the state attribute of the
-revision <VAR>rev</VAR> to <VAR>state</VAR>.  If <VAR>rev</VAR> is a
-branch number, assume the latest revision on that
-branch.  If <VAR>rev</VAR> is omitted, assume the latest
-revision on the default branch.  Any identifier is
-acceptable for <VAR>state</VAR>.  A useful set of states is
-<SAMP>`Exp'</SAMP> (for experimental), <SAMP>`Stab'</SAMP> (for
-stable), and <SAMP>`Rel'</SAMP> (for released).  By default,
-the state of a new revision is set to <SAMP>`Exp'</SAMP> when
-it is created.  The state is visible in the output from
-<VAR>cvs log</VAR> (see section <A HREF="cvs_20.html#SEC116">log--Print out 
log information for files</A>), and in the
-<SAMP>`$'</SAMP>Log$ and <SAMP>`$'</SAMP>State$ keywords
-(see section <A HREF="cvs_17.html#SEC77">Keyword substitution</A>).  Note that 
CVS
-uses the <CODE>dead</CODE> state for its own purposes; to
-take a file to or from the <CODE>dead</CODE> state use
-commands like <CODE>cvs remove</CODE> and <CODE>cvs add</CODE>, not
-<CODE>cvs admin -s</CODE>.
-
-<DT><CODE>-t[<VAR>file</VAR>]</CODE>
-<DD>
-Useful with CVS.  Write descriptive text from the
-contents of the named <VAR>file</VAR> into the RCS file,
-deleting the existing text.  The <VAR>file</VAR> pathname
-may not begin with <SAMP>`-'</SAMP>.  If <VAR>file</VAR> is omitted,
-obtain the text from standard input, terminated by
-end-of-file or by a line containing <SAMP>`.'</SAMP> by itself.
-Prompt for the text if interaction is possible; see
-<SAMP>`-I'</SAMP>.  The descriptive text can be seen in the
-output from <SAMP>`cvs log'</SAMP> (see section <A 
HREF="cvs_20.html#SEC116">log--Print out log information for files</A>).
-
-<DT><CODE>-t-<VAR>string</VAR></CODE>
-<DD>
-Similar to <SAMP>`-t<VAR>file</VAR>'</SAMP>. Write descriptive text
-from the <VAR>string</VAR> into the RCS file, deleting
-the existing text.
-
-<DT><CODE>-U</CODE>
-<DD>
-Set locking to non-strict.  Non-strict locking means
-that the owner of a file need not lock a revision for
-checkin.  For use with CVS, strict locking must be
-set; see the discussion under the <SAMP>`-l'</SAMP> option
-above.
-
-<DT><CODE>-u[<VAR>rev</VAR>]</CODE>
-<DD>
-See the option <SAMP>`-l'</SAMP> above, for a discussion of
-using this option with CVS.  Unlock the revision
-with number <VAR>rev</VAR>.  If a branch is given, unlock
-the latest revision on that branch.  If <VAR>rev</VAR> is
-omitted, remove the latest lock held by the caller.
-Normally, only the locker of a revision may unlock it.
-Somebody else unlocking a revision breaks the lock.
-This causes a mail message to be sent to the original
-locker.  The message contains a commentary solicited
-from the breaker.  The commentary is terminated by
-end-of-file or by a line containing <CODE>.</CODE> by itself.
-
-<DT><CODE>-V<VAR>n</VAR></CODE>
-<DD>
-Emulate RCS version <VAR>n</VAR>. Use -V<VAR>n</VAR> to make
-an RCS file acceptable to RCS version <VAR>n</VAR>
-by discarding information that would confuse version
-<VAR>n</VAR>.
-
-<DT><CODE>-x<VAR>suffixes</VAR></CODE>
-<DD>
-Useless with CVS. Use <VAR>suffixes</VAR> to
-characterize RCS files.
-</DL>
-
-
-
-<H3><A NAME="SEC93" HREF="cvs_toc.html#TOC93">admin examples</A></H3>
-
-
-
-<H4><A NAME="SEC94" HREF="cvs_toc.html#TOC94">Outdating is dangerous</A></H4>
-
-<P>
-First, an example of how <EM>not</EM> to use the
-<CODE>admin</CODE> command.  It is included to stress the
-fact that this command can be quite dangerous unless
-you know <EM>exactly</EM> what you are doing.
-
-</P>
-<P>
-The <SAMP>`-o'</SAMP> option can be used to <EM>outdate</EM> old revisions
-from the history file.  If you are short on disc this option
-might help you.  But think twice before using it--there is no
-way short of restoring the latest backup to undo this command!
-
-</P>
-<P>
-The next line is an example of a command that you would
-<EM>not</EM> like to execute.
-
-</P>
-
-<PRE>
-$ cvs admin -o:R_1_02 .
-</PRE>
-
-<P>
-The above command will delete all revisions up to, and
-including, the revision that corresponds to the tag
-R_1_02.  But beware!  If there are files that have not
-changed between R_1_02 and R_1_03 the file will have
-<EM>the same</EM> numerical revision number assigned to
-the tags R_1_02 and R_1_03.  So not only will it be
-impossible to retrieve R_1_02; R_1_03 will also have to
-be restored from the tapes!
-
-</P>
-
-
-<H4><A NAME="SEC95" HREF="cvs_toc.html#TOC95">Comment leaders</A></H4>
-<P>
-<A NAME="IDX337"></A>
-<A NAME="IDX338"></A>
-<A NAME="IDX339"></A>
-
-</P>
-<P>
-If you use the <CODE>$</CODE>Log$ keyword and you do
-not agree with the guess for comment leader that
-CVS has done, you can enforce your will with
-<CODE>cvs admin -c</CODE>.  This might be suitable for
-<CODE>nroff</CODE> source:
-
-</P>
-
-<PRE>
-$ cvs admin -c'.\" ' *.man
-$ rm *.man
-$ cvs update
-</PRE>
-
-<P>
-The two last steps are to make sure that you get the
-versions with correct comment leaders in your working
-files.
-
-</P>
-
-
-<H2><A NAME="SEC96" HREF="cvs_toc.html#TOC96">checkout--Check out sources for 
editing</A></H2>
-<P>
-<A NAME="IDX340"></A>
-<A NAME="IDX341"></A>
-
-</P>
-
-<UL>
-<LI>
-
-Synopsis: checkout [options] modules...
-<LI>
-
-Requires: repository.
-<LI>
-
-Changes: working directory.
-<LI>
-
-Synonyms: co, get
-</UL>
-
-<P>
-Make a working directory containing copies of the
-source files specified by <VAR>modules</VAR>.  You must execute
-<CODE>checkout</CODE> before using most of the other CVS
-commands, since most of them operate on your working
-directory.
-
-</P>
-<P>
-The <VAR>modules</VAR> part of the command are either
-symbolic names for some
-collection of source directories and files, or paths to
-directories or files in the repository.  The symbolic
-names are defined in the <SAMP>`modules'</SAMP> file.
-See section <A HREF="cvs_21.html#SEC137">The modules file</A>.
-
-</P>
-<P>
-Depending on the modules you specify, <CODE>checkout</CODE> may
-recursively create directories and populate them with
-the appropriate source files.  You can then edit these
-source files at any time (regardless of whether other
-software developers are editing their own copies of the
-sources); update them to include new changes applied by
-others to the source repository; or commit your work as
-a permanent change to the source repository.
-
-</P>
-<P>
-Note that <CODE>checkout</CODE> is used to create
-directories.  The top-level directory created is always
-added to the directory where <CODE>checkout</CODE> is
-invoked, and usually has the same name as the specified
-module.  In the case of a module alias, the created
-sub-directory may have a different name, but you can be
-sure that it will be a sub-directory, and that
-<CODE>checkout</CODE> will show the relative path leading to
-each file as it is extracted into your private work
-area (unless you specify the <SAMP>`-Q'</SAMP> global option).
-
-</P>
-<P>
-The files created by <CODE>checkout</CODE> are created
-read-write, unless the <SAMP>`-r'</SAMP> option to CVS
-(see section <A HREF="cvs_20.html#SEC89">Global options</A>) is specified, the
-<CODE>CVSREAD</CODE> environment variable is specified
-(see section <A HREF="cvs_22.html#SEC151">All environment variables which 
affect CVS</A>), or a watch is in
-effect for that file (see section <A HREF="cvs_7.html#SEC43">Mechanisms to 
track who is editing files</A>).
-
-</P>
-<P>
-Running <CODE>checkout</CODE> on a directory that was already
-built by a prior <CODE>checkout</CODE> is also permitted, and
-has the same effect as specifying the <SAMP>`-d'</SAMP> option
-to the <CODE>update</CODE> command, that is, any new
-directories that have been created in the repository
-will appear in your work area.  See section <A 
HREF="cvs_20.html#SEC132">update--Bring work tree in sync with repository</A>.
-
-</P>
-<P>
-For the output produced by the <CODE>checkout</CODE> command
-see section <A HREF="cvs_20.html#SEC134">update output</A>.
-
-</P>
-
-
-
-<H3><A NAME="SEC97" HREF="cvs_toc.html#TOC97">checkout options</A></H3>
-
-<P>
-These standard options are supported by <CODE>checkout</CODE>
-(see section <A HREF="cvs_20.html#SEC90">Common command options</A>, for a 
complete description of
-them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-D <VAR>date</VAR></CODE>
-<DD>
-Use the most recent revision no later than <VAR>date</VAR>.
-This option is sticky, and implies <SAMP>`-P'</SAMP>.  See
-section <A HREF="cvs_8.html#SEC54">Sticky tags</A>, for more information on 
sticky tags/dates.
-
-<DT><CODE>-f</CODE>
-<DD>
-Only useful with the <SAMP>`-D <VAR>date</VAR>'</SAMP> or <SAMP>`-r
-<VAR>tag</VAR>'</SAMP> flags.  If no matching revision is found,
-retrieve the most recent revision (instead of ignoring
-the file).
-
-<DT><CODE>-k <VAR>kflag</VAR></CODE>
-<DD>
-Process RCS keywords according to <VAR>kflag</VAR>.  See
-co(1).  This option is sticky; future updates of
-this file in this working directory will use the same
-<VAR>kflag</VAR>.  The <CODE>status</CODE> command can be viewed
-to see the sticky options.  See section <A 
HREF="cvs_20.html#SEC128">status--Display status information on checked out 
files</A>.
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.
-
-<DT><CODE>-n</CODE>
-<DD>
-Do not run any checkout program (as specified
-with the <SAMP>`-o'</SAMP> option in the modules file;
-see section <A HREF="cvs_21.html#SEC137">The modules file</A>).
-
-<DT><CODE>-P</CODE>
-<DD>
-Prune empty directories.
-
-<DT><CODE>-p</CODE>
-<DD>
-Pipe files to the standard output.
-
-<DT><CODE>-r <VAR>tag</VAR></CODE>
-<DD>
-Use revision <VAR>tag</VAR>.  This option is sticky, and implies 
<SAMP>`-P'</SAMP>.
-See section <A HREF="cvs_8.html#SEC54">Sticky tags</A>, for more information 
on sticky tags/dates.
-</DL>
-
-<P>
-In addition to those, you can use these special command
-options with <CODE>checkout</CODE>:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-A</CODE>
-<DD>
-Reset any sticky tags, dates, or <SAMP>`-k'</SAMP> options.
-See section <A HREF="cvs_8.html#SEC54">Sticky tags</A>, for more information 
on sticky tags/dates.
-
-<DT><CODE>-c</CODE>
-<DD>
-Copy the module file, sorted, to the standard output,
-instead of creating or modifying any files or
-directories in your working directory.
-
-<DT><CODE>-d <VAR>dir</VAR></CODE>
-<DD>
-Create a directory called <VAR>dir</VAR> for the working
-files, instead of using the module name.  Unless you
-also use <SAMP>`-N'</SAMP>, the paths created under <VAR>dir</VAR>
-will be as short as possible.
-
-<DT><CODE>-j <VAR>tag</VAR></CODE>
-<DD>
-With two <SAMP>`-j'</SAMP> options, merge changes from the
-revision specified with the first <SAMP>`-j'</SAMP> option to
-the revision specified with the second <SAMP>`j'</SAMP> option,
-into the working directory.
-
-With one <SAMP>`-j'</SAMP> option, merge changes from the
-ancestor revision to the revision specified with the
-<SAMP>`-j'</SAMP> option, into the working directory.  The
-ancestor revision is the common ancestor of the
-revision which the working directory is based on, and
-the revision specified in the <SAMP>`-j'</SAMP> option.
-
-In addition, each -j option can contain an optional
-date specification which, when used with branches, can
-limit the chosen revision to one within a specific
-date.  An optional date is specified by adding a colon
-(:) to the tag:
-<SAMP>`-j<VAR>Symbolic_Tag</VAR>:<VAR>Date_Specifier</VAR>'</SAMP>.
-
-See section <A HREF="cvs_9.html#SEC55">Merging</A>.
-
-<DT><CODE>-N</CODE>
-<DD>
-Only useful together with <SAMP>`-d <VAR>dir</VAR>'</SAMP>.  With this
-option, CVS will not shorten module paths in your
-working directory.  (Normally, CVS shortens paths as
-much as possible when you specify an explicit target
-directory).
-
-<DT><CODE>-s</CODE>
-<DD>
-Like <SAMP>`-c'</SAMP>, but include the status of all modules,
-and sort it by the status string.  See section <A 
HREF="cvs_21.html#SEC137">The modules file</A>, for
-info about the <SAMP>`-s'</SAMP> option that is used inside the
-modules file to set the module status.
-</DL>
-
-
-
-<H3><A NAME="SEC98" HREF="cvs_toc.html#TOC98">checkout examples</A></H3>
-
-<P>
-Get a copy of the module <SAMP>`tc'</SAMP>:
-
-</P>
-
-<PRE>
-$ cvs checkout tc
-</PRE>
-
-<P>
-Get a copy of the module <SAMP>`tc'</SAMP> as it looked one day
-ago:
-
-</P>
-
-<PRE>
-$ cvs checkout -D yesterday tc
-</PRE>
-
-
-
-<H2><A NAME="SEC99" HREF="cvs_toc.html#TOC99">commit--Check files into the 
repository</A></H2>
-<P>
-<A NAME="IDX342"></A>
-
-</P>
-
-<UL>
-<LI>
-
-Version 1.3 Synopsis: commit [-lnR] [-m 'log_message' |
--f file] [-r revision] [files...]
-<LI>
-
-Version 1.3.1 Synopsis: commit [-lnRf] [-m 'log_message' |
--F file] [-r revision] [files...]
-<LI>
-
-Requires: working directory, repository.
-<LI>
-
-Changes: repository.
-<LI>
-
-Synonym: ci
-</UL>
-
-<P>
-<STRONG>Warning:</STRONG> The <SAMP>`-f <VAR>file</VAR>'</SAMP> option will
-probably be renamed to <SAMP>`-F <VAR>file</VAR>'</SAMP>, and <SAMP>`-f'</SAMP>
-will be given a new behavior in future releases of CVS.
-
-</P>
-<P>
-Use <CODE>commit</CODE> when you want to incorporate changes
-from your working source files into the source
-repository.
-
-</P>
-<P>
-If you don't specify particular files to commit, all of
-the files in your working current directory are
-examined.  <CODE>commit</CODE> is careful to change in the
-repository only those files that you have really
-changed.  By default (or if you explicitly specify the
-<SAMP>`-R'</SAMP> option), files in subdirectories are also
-examined and committed if they have changed; you can
-use the <SAMP>`-l'</SAMP> option to limit <CODE>commit</CODE> to the
-current directory only.
-
-</P>
-<P>
-<CODE>commit</CODE> verifies that the selected files are up
-to date with the current revisions in the source
-repository; it will notify you, and exit without
-committing, if any of the specified files must be made
-current first with <CODE>update</CODE> (see section <A 
HREF="cvs_20.html#SEC132">update--Bring work tree in sync with repository</A>).
-<CODE>commit</CODE> does not call the <CODE>update</CODE> command
-for you, but rather leaves that for you to do when the
-time is right.
-
-</P>
-<P>
-When all is well, an editor is invoked to allow you to
-enter a log message that will be written to one or more
-logging programs (see section <A HREF="cvs_21.html#SEC137">The modules 
file</A>, and see section <A HREF="cvs_21.html#SEC144">Loginfo</A>)
-and placed in the RCS history file inside the
-repository.  This log message can be retrieved with the
-<CODE>log</CODE> command; See section <A HREF="cvs_20.html#SEC116">log--Print 
out log information for files</A>.  You can specify the
-log message on the command line with the <SAMP>`-m
-<VAR>message</VAR>'</SAMP> option, and thus avoid the editor invocation,
-or use the <SAMP>`-f <VAR>file</VAR>'</SAMP> option to specify
-that the argument file contains the log message.
-
-</P>
-
-
-
-<H3><A NAME="SEC100" HREF="cvs_toc.html#TOC100">commit options</A></H3>
-
-<P>
-These standard options are supported by <CODE>commit</CODE>
-(see section <A HREF="cvs_20.html#SEC90">Common command options</A>, for a 
complete description of
-them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.
-
-<DT><CODE>-n</CODE>
-<DD>
-Do not run any module program.
-
-<DT><CODE>-R</CODE>
-<DD>
-Commit directories recursively.  This is on by default.
-
-<DT><CODE>-r <VAR>revision</VAR></CODE>
-<DD>
-Commit to <VAR>revision</VAR>.  <VAR>revision</VAR> must be
-either a branch, or a revision on the main trunk that
-is higher than any existing revision number.  You
-cannot commit to a specific revision on a branch.
-</DL>
-
-<P>
-<CODE>commit</CODE> also supports these options:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-F <VAR>file</VAR></CODE>
-<DD>
-This option is present in CVS releases 1.3-s3 and
-later.  Read the log message from <VAR>file</VAR>, instead
-of invoking an editor.
-
-<DT><CODE>-f</CODE>
-<DD>
-This option is present in CVS 1.3-s3 and later releases
-of CVS.  Note that this is not the standard behavior of
-the <SAMP>`-f'</SAMP> option as defined in See section <A 
HREF="cvs_20.html#SEC90">Common command options</A>.
-
-Force CVS to commit a new revision even if you haven't
-made any changes to the file.  If the current revision
-of <VAR>file</VAR> is 1.7, then the following two commands
-are equivalent:
-
-
-<PRE>
-$ cvs commit -f <VAR>file</VAR>
-$ cvs commit -r 1.8 <VAR>file</VAR>
-</PRE>
-
-<DT><CODE>-f <VAR>file</VAR></CODE>
-<DD>
-This option is present in CVS releases 1.3, 1.3-s1 and
-1.3-s2.  Note that this is not the standard behavior of
-the <SAMP>`-f'</SAMP> option as defined in See section <A 
HREF="cvs_20.html#SEC90">Common command options</A>.
-
-Read the log message from <VAR>file</VAR>, instead
-of invoking an editor.
-
-<DT><CODE>-m <VAR>message</VAR></CODE>
-<DD>
-Use <VAR>message</VAR> as the log message, instead of
-invoking an editor.
-</DL>
-
-
-
-<H3><A NAME="SEC101" HREF="cvs_toc.html#TOC101">commit examples</A></H3>
-
-
-
-<H4><A NAME="SEC102" HREF="cvs_toc.html#TOC102">New major release 
number</A></H4>
-
-<P>
-When you make a major release of your product, you
-might want the revision numbers to track your major
-release number.  You should normally not care about
-the revision numbers, but this is a thing that many
-people want to do, and it can be done without doing any
-harm.
-
-</P>
-<P>
-To bring all your files up to the RCS revision 3.0
-(including those that haven't changed), you might do:
-
-</P>
-
-<PRE>
-$ cvs commit -r 3.0
-</PRE>
-
-<P>
-Note that it is generally a bad idea to try to make the
-RCS revision number equal to the current release number
-of your product.  You should think of the revision
-number as an internal number that the CVS package
-maintains, and that you generally never need to care
-much about.  Using the <CODE>tag</CODE> and <CODE>rtag</CODE>
-commands you can give symbolic names to the releases
-instead.  See section <A HREF="cvs_20.html#SEC130">tag--Add a symbolic tag to 
checked out versions of files</A> and See section <A 
HREF="cvs_20.html#SEC126">rtag--Add a symbolic tag to a module</A>.
-
-</P>
-<P>
-Note that the number you specify with <SAMP>`-r'</SAMP> must be
-larger than any existing revision number.  That is, if
-revision 3.0 exists, you cannot <SAMP>`cvs commit
--r 1.3'</SAMP>.
-
-</P>
-
-
-<H4><A NAME="SEC103" HREF="cvs_toc.html#TOC103">Committing to a branch</A></H4>
-
-<P>
-You can commit to a branch revision (one that has an
-even number of dots) with the <SAMP>`-r'</SAMP> option.  To
-create a branch revision, use the <SAMP>`-b'</SAMP> option
-of the <CODE>rtag</CODE> or <CODE>tag</CODE> commands (see section <A 
HREF="cvs_20.html#SEC130">tag--Add a symbolic tag to checked out versions of 
files</A>
-or see section <A HREF="cvs_20.html#SEC126">rtag--Add a symbolic tag to a 
module</A>).  Then, either <CODE>checkout</CODE> or
-<CODE>update</CODE> can be used to base your sources on the
-newly created branch.  From that point on, all
-<CODE>commit</CODE> changes made within these working sources
-will be automatically added to a branch revision,
-thereby not disturbing main-line development in any
-way.  For example, if you had to create a patch to the
-1.2 version of the product, even though the 2.0 version
-is already under development, you might do:
-
-</P>
-
-<PRE>
-$ cvs rtag -b -r FCS1_2 FCS1_2_Patch product_module
-$ cvs checkout -r FCS1_2_Patch product_module
-$ cd product_module
-[[ hack away ]]
-$ cvs commit
-</PRE>
-
-<P>
-This works automatically since the <SAMP>`-r'</SAMP> option is
-sticky.
-
-</P>
-
-
-<H4><A NAME="SEC104" HREF="cvs_toc.html#TOC104">Creating the branch after 
editing</A></H4>
-
-<P>
-Say you have been working on some extremely
-experimental software, based on whatever revision you
-happened to checkout last week.  If others in your
-group would like to work on this software with you, but
-without disturbing main-line development, you could
-commit your change to a new branch.  Others can then
-checkout your experimental stuff and utilize the full
-benefit of CVS conflict resolution.  The scenario might
-look like:
-
-</P>
-
-<PRE>
-[[ hacked sources are present ]]
-$ cvs tag -b EXPR1
-$ cvs update -r EXPR1
-$ cvs commit
-</PRE>
-
-<P>
-The <CODE>update</CODE> command will make the <SAMP>`-r
-EXPR1'</SAMP> option sticky on all files.  Note that your
-changes to the files will never be removed by the
-<CODE>update</CODE> command.  The <CODE>commit</CODE> will
-automatically commit to the correct branch, because the
-<SAMP>`-r'</SAMP> is sticky.  You could also do like this:
-
-</P>
-
-<PRE>
-[[ hacked sources are present ]]
-$ cvs tag -b EXPR1
-$ cvs commit -r EXPR1
-</PRE>
-
-<P>
-but then, only those files that were changed by you
-will have the <SAMP>`-r EXPR1'</SAMP> sticky flag.  If you hack
-away, and commit without specifying the <SAMP>`-r EXPR1'</SAMP>
-flag, some files may accidentally end up on the main
-trunk.
-
-</P>
-<P>
-To work with you on the experimental change, others
-would simply do
-
-</P>
-
-<PRE>
-$ cvs checkout -r EXPR1 whatever_module
-</PRE>
-
-
-
-<H2><A NAME="SEC105" HREF="cvs_toc.html#TOC105">diff--Run diffs between 
revisions</A></H2>
-<P>
-<A NAME="IDX343"></A>
-
-</P>
-
-<UL>
-<LI>
-
-Synopsis: diff [-l] [rcsdiff_options] [[-r rev1 | -D date1] [-r rev2 |  -D 
date2]] [files...]
-<LI>
-
-Requires: working directory, repository.
-<LI>
-
-Changes: nothing.
-</UL>
-
-<P>
-The <CODE>diff</CODE> command is used to compare different
-revisions of files.  The default action is to compare
-your working files with the revisions they were based
-on, and report any differences that are found.
-
-</P>
-<P>
-If any file names are given, only those files are
-compared.  If any directories are given, all files
-under them will be compared.
-
-</P>
-<P>
-The exit status will be 0 if no differences were found,
-1 if some differences were found, and 2 if any error
-occurred.
-
-</P>
-
-
-
-<H3><A NAME="SEC106" HREF="cvs_toc.html#TOC106">diff options</A></H3>
-
-<P>
-These standard options are supported by <CODE>diff</CODE>
-(see section <A HREF="cvs_20.html#SEC90">Common command options</A>, for a 
complete description of
-them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-D <VAR>date</VAR></CODE>
-<DD>
-Use the most recent revision no later than <VAR>date</VAR>.
-See <SAMP>`-r'</SAMP> for how this affects the comparison.
-
-CVS can be configured to pass the <SAMP>`-D'</SAMP> option
-through to <CODE>rcsdiff</CODE> (which in turn passes it on
-to <CODE>diff</CODE>.  GNU diff uses <SAMP>`-D'</SAMP> as a way to
-put <CODE>cpp</CODE>-style <SAMP>`#define'</SAMP> statements around the output
-differences.  There is no way short of testing to
-figure out how CVS was configured.  In the default
-configuration CVS will use the <SAMP>`-D <VAR>date</VAR>'</SAMP> option.
-
-<DT><CODE>-k <VAR>kflag</VAR></CODE>
-<DD>
-Process RCS keywords according to <VAR>kflag</VAR>.  See
-co(1).
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.
-
-<DT><CODE>-R</CODE>
-<DD>
-Examine directories recursively.  This option is on by
-default.
-
-<DT><CODE>-r <VAR>tag</VAR></CODE>
-<DD>
-Compare with revision <VAR>tag</VAR>.  Zero, one or two
-<SAMP>`-r'</SAMP> options can be present.  With no <SAMP>`-r'</SAMP>
-option, the working file will be compared with the
-revision it was based on.  With one <SAMP>`-r'</SAMP>, that
-revision will be compared to your current working file.
-With two <SAMP>`-r'</SAMP> options those two revisions will be
-compared (and your working file will not affect the
-outcome in any way).
-
-One or both <SAMP>`-r'</SAMP> options can be replaced by a
-<SAMP>`-D <VAR>date</VAR>'</SAMP> option, described above.
-</DL>
-
-<P>
-Any other options that are found are passed through to
-<CODE>rcsdiff</CODE>, which in turn passes them to
-<CODE>diff</CODE>.  The exact meaning of the options depends
-on which <CODE>diff</CODE> you are using.  The long options
-introduced in GNU diff 2.0 are not yet supported in
-CVS.  See the documentation for your <CODE>diff</CODE> to see
-which options are supported.
-
-</P>
-
-
-<H3><A NAME="SEC107" HREF="cvs_toc.html#TOC107">diff examples</A></H3>
-
-<P>
-The following line produces a Unidiff (<SAMP>`-u'</SAMP> flag)
-between revision 1.14 and 1.19 of
-<TT>`backend.c'</TT>.  Due to the <SAMP>`-kk'</SAMP> flag no
-keywords are substituted, so differences that only depend
-on keyword substitution are ignored.
-
-</P>
-
-<PRE>
-$ cvs diff -kk -u -r 1.14 -r 1.19 backend.c
-</PRE>
-
-<P>
-Suppose the experimental branch EXPR1 was based on a
-set of files tagged RELEASE_1_0.  To see what has
-happened on that branch, the following can be used:
-
-</P>
-
-<PRE>
-$ cvs diff -r RELEASE_1_0 -r EXPR1
-</PRE>
-
-<P>
-A command like this can be used to produce a context
-diff between two releases:
-
-</P>
-
-<PRE>
-$ cvs diff -c -r RELEASE_1_0 -r RELEASE_1_1 &#62; diffs
-</PRE>
-
-<P>
-If you are maintaining ChangeLogs, a command like the following
-just before you commit your changes may help you write
-the ChangeLog entry.  All local modifications that have
-not yet been committed will be printed.
-
-</P>
-
-<PRE>
-$ cvs diff -u | less
-</PRE>
-
-
-
-<H2><A NAME="SEC108" HREF="cvs_toc.html#TOC108">export--Export sources from 
CVS, similar to checkout</A></H2>
-<P>
-<A NAME="IDX344"></A>
-
-</P>
-
-<UL>
-<LI>
-
-Synopsis: export [-flNn] [-r rev|-D date] [-k subst] [-d dir] module...
-<LI>
-
-Requires: repository.
-<LI>
-
-Changes: current directory.
-</UL>
-
-<P>
-This command is a variant of <CODE>checkout</CODE>; use it
-when you want a copy of the source for module without
-the CVS administrative directories.  For example, you
-might use <CODE>export</CODE> to prepare source for shipment
-off-site.  This command requires that you specify a
-date or tag (with <SAMP>`-D'</SAMP> or <SAMP>`-r'</SAMP>), so that you
-can count on reproducing the source you ship to others.
-
-</P>
-<P>
-One often would like to use <SAMP>`-kv'</SAMP> with <CODE>cvs
-export</CODE>.  This causes any RCS keywords to be
-expanded such that an import done at some other site
-will not lose the keyword revision information.  But be
-aware that doesn't handle an export containing binary
-files correctly.  Also be aware that after having used
-<SAMP>`-kv'</SAMP>, one can no longer use the <CODE>ident</CODE>
-command (which is part of the RCS suite--see
-ident(1)) which looks for RCS keyword strings.  If
-you want to be able to use <CODE>ident</CODE> you must not
-use <SAMP>`-kv'</SAMP>.
-
-</P>
-
-
-
-<H3><A NAME="SEC109" HREF="cvs_toc.html#TOC109">export options</A></H3>
-
-<P>
-These standard options are supported by <CODE>export</CODE>
-(see section <A HREF="cvs_20.html#SEC90">Common command options</A>, for a 
complete description of
-them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-D <VAR>date</VAR></CODE>
-<DD>
-Use the most recent revision no later than <VAR>date</VAR>.
-
-<DT><CODE>-f</CODE>
-<DD>
-If no matching revision is found, retrieve the most
-recent revision (instead of ignoring the file).
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.
-
-<DT><CODE>-n</CODE>
-<DD>
-Do not run any checkout program.
-
-<DT><CODE>-R</CODE>
-<DD>
-Export directories recursively.  This is on by default.
-
-<DT><CODE>-r <VAR>tag</VAR></CODE>
-<DD>
-Use revision <VAR>tag</VAR>.
-</DL>
-
-<P>
-In addition, these options (that are common to
-<CODE>checkout</CODE> and <CODE>export</CODE>) are also supported:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-d <VAR>dir</VAR></CODE>
-<DD>
-Create a directory called <VAR>dir</VAR> for the working
-files, instead of using the module name.  Unless you
-also use <SAMP>`-N'</SAMP>, the paths created under <VAR>dir</VAR>
-will be as short as possible.
-
-<DT><CODE>-k <VAR>subst</VAR></CODE>
-<DD>
-Set keyword expansion mode (see section <A 
HREF="cvs_17.html#SEC81">Substitution modes</A>).
-
-<DT><CODE>-N</CODE>
-<DD>
-Only useful together with <SAMP>`-d <VAR>dir</VAR>'</SAMP>.  With this
-option, CVS will not shorten module paths in your
-working directory.  (Normally, CVS shortens paths as
-much as possible when you specify an explicit target
-directory.)
-</DL>
-
-
-
-<H2><A NAME="SEC110" HREF="cvs_toc.html#TOC110">history--Show status of files 
and users</A></H2>
-<P>
-<A NAME="IDX345"></A>
-
-</P>
-
-<UL>
-<LI>
-
-Synopsis:     history [-report] [-flags] [-options args] [files...]
-<LI>
-
-Requires: the file <TT>`$CVSROOT/CVSROOT/history'</TT>
-<LI>
-
-Changes: nothing.
-</UL>
-
-<P>
-CVS can keep a history file that tracks each use of the
-<CODE>checkout</CODE>, <CODE>commit</CODE>, <CODE>rtag</CODE>,
-<CODE>update</CODE>, and <CODE>release</CODE> commands.  You can
-use <CODE>history</CODE> to display this information in
-various formats.
-
-</P>
-<P>
-Logging must be enabled by creating the file
-<TT>`$CVSROOT/CVSROOT/history'</TT>.
-
-</P>
-<P>
-<STRONG>Warning:</STRONG> <CODE>history</CODE> uses <SAMP>`-f'</SAMP>, 
<SAMP>`-l'</SAMP>,
-<SAMP>`-n'</SAMP>, and <SAMP>`-p'</SAMP> in ways that conflict with the
-normal use inside CVS (see section <A HREF="cvs_20.html#SEC90">Common command 
options</A>).
-
-</P>
-
-
-
-<H3><A NAME="SEC111" HREF="cvs_toc.html#TOC111">history options</A></H3>
-
-<P>
-Several options (shown above as <SAMP>`-report'</SAMP>)  control  what
-kind of report is generated:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-c</CODE>
-<DD>
-Report on each time commit was used (i.e., each time
-the repository was modified).
-
-<DT><CODE>-e</CODE>
-<DD>
-Everything (all record types); equivalent to specifying
-<SAMP>`-xMACFROGWUT'</SAMP>.
-
-<DT><CODE>-m <VAR>module</VAR></CODE>
-<DD>
-Report on a particular module.  (You can meaningfully
-use <SAMP>`-m'</SAMP> more than once on the command line.)
-
-<DT><CODE>-o</CODE>
-<DD>
-Report on checked-out modules.
-
-<DT><CODE>-T</CODE>
-<DD>
-Report on all tags.
-
-<DT><CODE>-x <VAR>type</VAR></CODE>
-<DD>
-Extract a particular set of record types <VAR>type</VAR> from the CVS
-history.  The types are indicated by single letters,
-which you may specify in combination.  
-
-Certain commands have a single record type: 
-
-<DL COMPACT>
-
-<DT><CODE>F</CODE>
-<DD>
-release
-<DT><CODE>O</CODE>
-<DD>
-checkout
-<DT><CODE>T</CODE>
-<DD>
-rtag
-</DL>
-
-One of four record types may result from an update:
-
-<DL COMPACT>
-
-<DT><CODE>C</CODE>
-<DD>
-A merge was necessary but collisions were
-detected (requiring manual merging).  
-<DT><CODE>G</CODE>
-<DD>
-A merge was necessary and it succeeded.
-<DT><CODE>U</CODE>
-<DD>
-A working file was copied from the repository.
-<DT><CODE>W</CODE>
-<DD>
-The working copy of a file was deleted during
-update (because it was gone from the repository).
-</DL>
-
-One of three record types results from commit:
-
-<DL COMPACT>
-
-<DT><CODE>A</CODE>
-<DD>
-A file was added for the first time.
-<DT><CODE>M</CODE>
-<DD>
-A file was modified.
-<DT><CODE>R</CODE>
-<DD>
-A file was removed.
-</DL>
-</DL>
-
-<P>
-The options shown as <SAMP>`-flags'</SAMP> constrain or expand
-the report without requiring option arguments:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-a</CODE>
-<DD>
-Show data for all users (the default is to show data
-only for the user executing <CODE>history</CODE>).
-
-<DT><CODE>-l</CODE>
-<DD>
-Show last modification only.
-
-<DT><CODE>-w</CODE>
-<DD>
-Show only the records for modifications done from the
-same working directory where <CODE>history</CODE> is
-executing.
-</DL>
-
-<P>
-The options shown as <SAMP>`-options <VAR>args</VAR>'</SAMP> constrain the 
report
-based on an argument:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-b <VAR>str</VAR></CODE>
-<DD>
-Show data back to a record containing  the  string
-<VAR>str</VAR>  in  either the module name, the file name, or
-the repository path.
-
-<DT><CODE>-D <VAR>date</VAR></CODE>
-<DD>
-Show data since <VAR>date</VAR>.  This is slightly different
-from the normal use of <SAMP>`-D <VAR>date</VAR>'</SAMP>, which
-selects the newest revision older than <VAR>date</VAR>.
-
-<DT><CODE>-p <VAR>repository</VAR></CODE>
-<DD>
-Show data for a particular source repository  (you
-can specify several <SAMP>`-p'</SAMP> options on the same command
-line).
-
-<DT><CODE>-r <VAR>rev</VAR></CODE>
-<DD>
-Show records referring to revisions since the revision
-or tag named <VAR>rev</VAR> appears in individual RCS
-files.  Each RCS file is searched for the revision or
-tag.
-
-<DT><CODE>-t <VAR>tag</VAR></CODE>
-<DD>
-Show records since tag <VAR>tag</VAR> was last added to the the
-history file.  This differs from the <SAMP>`-r'</SAMP> flag
-above in that it reads only the history file, not the
-RCS files, and is much faster.
-
-<DT><CODE>-u <VAR>name</VAR></CODE>
-<DD>
-Show records for user <VAR>name</VAR>.
-</DL>
-
-
-
-<H2><A NAME="SEC112" HREF="cvs_toc.html#TOC112">import--Import sources into 
CVS, using vendor branches</A></H2>
-<P>
-<A NAME="IDX346"></A>
-
-</P>
-
-<UL>
-<LI>
-
-Synopsis: import [-options] repository vendortag releasetag...
-<LI>
-
-Requires: Repository, source distribution directory.
-<LI>
-
-Changes: repository.
-</UL>
-
-<P>
-Use <CODE>import</CODE> to incorporate an entire source
-distribution from an outside source (e.g., a source
-vendor) into your source repository directory.  You can
-use this command both for initial creation of a
-repository, and for wholesale updates to the module
-from the outside source.  See section <A HREF="cvs_13.html#SEC63">Tracking 
third-party sources</A>, for
-a discussion on this subject.
-
-</P>
-<P>
-The <VAR>repository</VAR> argument gives a directory name
-(or a path to a directory) under the CVS root directory
-for repositories; if the directory did not exist,
-import creates it.
-
-</P>
-<P>
-When you use import for updates to source that has been
-modified in your source repository (since a prior
-import), it will notify you of any files that conflict
-in the two branches of development; use <SAMP>`checkout
--j'</SAMP> to reconcile the differences, as import instructs
-you to do.
-
-</P>
-<P>
-If CVS decides a file should be ignored
-(see section <A HREF="cvs_21.html#SEC148">Ignoring files via cvsignore</A>), 
it does not import it and prints
-<SAMP>`I '</SAMP> followed by the filename (see section <A 
HREF="cvs_20.html#SEC114">import output</A>, for a
-complete description of the output).
-
-</P>
-<P>
-If the file <TT>`$CVSROOT/CVSROOT/cvswrappers'</TT> exists,
-any file whose names match the specifications in that
-file will be treated as packages and the appropriate
-filtering will be performed on the file/directory
-before being imported, See section <A HREF="cvs_21.html#SEC138">The 
cvswrappers file</A>.
-
-</P>
-<P>
-The outside source is saved in a first-level RCS
-branch, by default 1.1.1.  Updates are leaves of this
-branch; for example, files from the first imported
-collection of source will be revision 1.1.1.1, then
-files from the first imported update will be revision
-1.1.1.2, and so on.
-
-</P>
-<P>
-At least three arguments are required.
-<VAR>repository</VAR> is needed to identify the collection
-of source.  <VAR>vendortag</VAR> is a tag for the entire
-branch (e.g., for 1.1.1).  You must also specify at
-least one <VAR>releasetag</VAR> to identify the files at
-the leaves created each time you execute <CODE>import</CODE>.
-
-</P>
-
-
-
-<H3><A NAME="SEC113" HREF="cvs_toc.html#TOC113">import options</A></H3>
-
-<P>
-This standard option is supported by <CODE>import</CODE>
-(see section <A HREF="cvs_20.html#SEC90">Common command options</A>, for a 
complete description):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-m <VAR>message</VAR></CODE>
-<DD>
-Use <VAR>message</VAR> as log information, instead of
-invoking an editor.
-</DL>
-
-<P>
-There are three additional special options.
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-b <VAR>branch</VAR></CODE>
-<DD>
-Specify a first-level branch other than 1.1.1.  Unless
-the <SAMP>`-b <VAR>branch</VAR>'</SAMP> flag is given, revisions will
-<EM>always</EM> be made to the branch 1.1.1--even if a
-<VAR>vendortag</VAR> that matches another branch is given!
-What happens in that case, is that the tag will be
-reset to 1.1.1.  Warning: This behavior might change
-in the future.
-
-<DT><CODE>-k <VAR>subst</VAR></CODE>
-<DD>
-Indicate the RCS keyword expansion mode desired.  This
-setting will apply to all files created during the
-import, but not to any files that previously existed in
-the repository.  See section <A HREF="cvs_17.html#SEC81">Substitution 
modes</A> for a
-list of valid <SAMP>`-k'</SAMP> settings.
-
-<DT><CODE>-I <VAR>name</VAR></CODE>
-<DD>
-Specify file names that should be ignored during
-import.  You can use this option repeatedly.  To avoid
-ignoring any files at all (even those ignored by
-default), specify `-I !'.
-
-<VAR>name</VAR> can be a file name pattern of the same type
-that you can specify in the <TT>`.cvsignore'</TT> file.
-See section <A HREF="cvs_21.html#SEC148">Ignoring files via cvsignore</A>.
-
-<DT><CODE>-W <VAR>spec</VAR></CODE>
-<DD>
-Specify file names that should be filtered during
-import.  You can use this option repeatedly.
-
-<VAR>spec</VAR> can be a file name pattern of the same type
-that you can specify in the <TT>`.cvswrappers'</TT>
-file. See section <A HREF="cvs_21.html#SEC138">The cvswrappers file</A>.
-</DL>
-
-
-
-<H3><A NAME="SEC114" HREF="cvs_toc.html#TOC114">import output</A></H3>
-
-<P>
-<CODE>import</CODE> keeps you informed of its progress by printing a line
-for each file, preceded by one character indicating the status of the file:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>U <VAR>file</VAR></CODE>
-<DD>
-The file already exists in the repository and has not been locally
-modified; a new revision has been created (if necessary).
-
-<DT><CODE>N <VAR>file</VAR></CODE>
-<DD>
-The file is a new file which has been added to the repository.
-
-<DT><CODE>C <VAR>file</VAR></CODE>
-<DD>
-The file already exists in the repository but has been locally modified;
-you will have to merge the changes.
-
-<DT><CODE>I <VAR>file</VAR></CODE>
-<DD>
-The file is being ignored (see section <A HREF="cvs_21.html#SEC148">Ignoring 
files via cvsignore</A>).
-
-<DT><CODE>L <VAR>file</VAR></CODE>
-<DD>
-The file is a symbolic link; at the moment (and for the forseeable
-future), symbolic links are ignored.
-(Various options in the <TT>`modules'</TT> file can be used
-to recreate symbolic links on checkout, update, etc.;
-see section <A HREF="cvs_21.html#SEC137">The modules file</A>.)
-</DL>
-
-
-
-<H3><A NAME="SEC115" HREF="cvs_toc.html#TOC115">import examples</A></H3>
-
-<P>
-See section <A HREF="cvs_13.html#SEC63">Tracking third-party sources</A>, and 
See section <A HREF="cvs_6.html#SEC33">Creating a directory tree from a number 
of files</A>.
-
-</P>
-
-
-<H2><A NAME="SEC116" HREF="cvs_toc.html#TOC116">log--Print out log information 
for files</A></H2>
-<P>
-<A NAME="IDX347"></A>
-
-</P>
-
-<UL>
-<LI>
-
-Synopsis: log [options] [files...]
-<LI>
-
-Requires: repository, working directory.
-<LI>
-
-Changes: nothing.
-</UL>
-
-<P>
-Display log information for files.  <CODE>log</CODE> used to
-call the RCS utility <CODE>rlog</CODE>.  Although this
-is no longer true in the current sources, this history
-determines the format of the output and the options,
-which are not quite in the style of the other CVS
-commands.
-
-</P>
-<P>
-<A NAME="IDX348"></A>
-<A NAME="IDX349"></A>
-The output includes the location of the RCS file,
-the <EM>head</EM> revision (the latest revision on the
-trunk), all symbolic names (tags) and some other
-things.  For each revision, the revision number, the
-author, the number of lines added/deleted and the log
-message are printed.  All times are displayed in
-Coordinated Universal Time (UTC).  (Other parts of
-CVS print times in the local timezone).
-
-</P>
-
-
-
-<H3><A NAME="SEC117" HREF="cvs_toc.html#TOC117">log options</A></H3>
-
-<P>
-By default, <CODE>log</CODE> prints all information that is
-available.  All other options restrict the output.
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-b</CODE>
-<DD>
-Print information about the revisions on the default
-branch, normally the highest branch on the trunk.
-
-<DT><CODE>-d <VAR>dates</VAR></CODE>
-<DD>
-Print information about revisions with a checkin
-date/time in the range given by the
-semicolon-separated list of dates.  The date formats
-accepted are those accepted by the <SAMP>`-D'</SAMP> option to
-many other CVS commands (see section <A HREF="cvs_20.html#SEC90">Common 
command options</A>).
-Dates can be combined into ranges as follows:
-
-<DL COMPACT>
-
-<DT><CODE><VAR>d1</VAR>&#60;<VAR>d2</VAR></CODE>
-<DD>
-<DT><CODE><VAR>d2</VAR>&#62;<VAR>d1</VAR></CODE>
-<DD>
-Select the revisions that were deposited between
-<VAR>d1</VAR> and <VAR>d2</VAR>.
-
-<DT><CODE>&#60;<VAR>d</VAR></CODE>
-<DD>
-<DT><CODE><VAR>d</VAR>&#62;</CODE>
-<DD>
-Select all revisions dated <VAR>d</VAR> or earlier.
-
-<DT><CODE><VAR>d</VAR>&#60;</CODE>
-<DD>
-<DT><CODE>&#62;<VAR>d</VAR></CODE>
-<DD>
-Select all revisions dated <VAR>d</VAR> or later.
-
-<DT><CODE><VAR>d</VAR></CODE>
-<DD>
-Select the single, latest revision dated <VAR>d</VAR> or
-earlier.
-</DL>
-
-The <SAMP>`&#62;'</SAMP> or <SAMP>`&#60;'</SAMP> characters may be followed by
-<SAMP>`='</SAMP> to indicate an inclusive range rather than an
-exclusive one.
-
-Note that the separator is a semicolon (;).
-
-<DT><CODE>-h</CODE>
-<DD>
-Print only the RCS pathname, working pathname, head,
-default branch, access list, locks, symbolic names, and
-suffix.
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.  (Default
-is to run recursively).
-
-<DT><CODE>-N</CODE>
-<DD>
-Do not print the list of tags for this file.  This
-option can be very useful when your site uses a lot of
-tags, so rather than "more"'ing over 3 pages of tag
-information, the log information is presented without
-tags at all.  
-
-<DT><CODE>-R</CODE>
-<DD>
-Print only the name of the RCS history file.
-
-<DT><CODE>-r<VAR>revisions</VAR></CODE>
-<DD>
-Print information about revisions given in the
-comma-separated list <VAR>revisions</VAR> of revisions and
-ranges.  The following table explains the available
-range formats:
-
-<DL COMPACT>
-
-<DT><CODE><VAR>rev1</VAR>:<VAR>rev2</VAR></CODE>
-<DD>
-Revisions <VAR>rev1</VAR> to <VAR>rev2</VAR> (which must be on
-the same branch).
-
-<DT><CODE>:<VAR>rev</VAR></CODE>
-<DD>
-Revisions from the beginning of the branch up to
-and including <VAR>rev</VAR>.
-
-<DT><CODE><VAR>rev</VAR>:</CODE>
-<DD>
-Revisions starting with <VAR>rev</VAR> to the end of the
-branch containing <VAR>rev</VAR>.
-
-<DT><CODE><VAR>branch</VAR></CODE>
-<DD>
-An argument that is a branch means all revisions on
-that branch.
-
-<DT><CODE><VAR>branch1</VAR>:<VAR>branch2</VAR></CODE>
-<DD>
-A range of branches means all revisions
-on the branches in that range.
-
-<DT><CODE><VAR>branch</VAR>.</CODE>
-<DD>
-The latest revision in <VAR>branch</VAR>.
-</DL>
-
-A bare <SAMP>`-r'</SAMP> with no revisions means the latest
-revision on the default branch, normally the trunk.
-There can be no space between the <SAMP>`-r'</SAMP> option and
-its argument.
-
-<DT><CODE>-s <VAR>states</VAR></CODE>
-<DD>
-Print information about revisions whose state
-attributes match one of the states given in the
-comma-separated list <VAR>states</VAR>.
-
-<DT><CODE>-t</CODE>
-<DD>
-Print the same as <SAMP>`-h'</SAMP>, plus the descriptive text.
-
-<DT><CODE>-w<VAR>logins</VAR></CODE>
-<DD>
-Print information about revisions checked in by users
-with login names appearing in the comma-separated list
-<VAR>logins</VAR>.  If <VAR>logins</VAR> is omitted, the user's
-login is assumed.  There can be no space between the
-<SAMP>`-w'</SAMP> option and its argument.
-</DL>
-
-<P>
-<CODE>log</CODE> prints the intersection of the revisions
-selected with the options <SAMP>`-d'</SAMP>, <SAMP>`-s'</SAMP>, and
-<SAMP>`-w'</SAMP>, intersected with the union of the revisions
-selected by <SAMP>`-b'</SAMP> and <SAMP>`-r'</SAMP>.
-
-</P>
-
-
-<H3><A NAME="SEC118" HREF="cvs_toc.html#TOC118">log examples</A></H3>
-
-<P>
-Contributed examples are gratefully accepted.
-
-</P>
-
-
-<H2><A NAME="SEC119" HREF="cvs_toc.html#TOC119">rdiff---'patch' format diffs 
between releases</A></H2>
-<P>
-<A NAME="IDX350"></A>
-
-</P>
-
-<UL>
-<LI>
-
-rdiff [-flags] [-V vn] [-r t|-D d [-r t2|-D d2]] modules...
-<LI>
-
-Requires: repository.
-<LI>
-
-Changes: nothing.
-<LI>
-
-Synonym: patch
-</UL>
-
-<P>
-Builds a Larry Wall format patch(1) file between two
-releases, that can be fed directly into the patch
-program to bring an old release up-to-date with the new
-release.  (This is one of the few CVS commands that
-operates directly from the repository, and doesn't
-require a prior checkout.) The diff output is sent to
-the standard output device.
-
-</P>
-<P>
-You can specify (using the standard <SAMP>`-r'</SAMP> and
-<SAMP>`-D'</SAMP> options) any combination of one or two
-revisions or dates.  If only one revision or date is
-specified, the patch file reflects differences between
-that revision or date and the current head revisions in
-the RCS file.
-
-</P>
-<P>
-Note that if the software release affected is contained
-in more than one directory, then it may be necessary to
-specify the <SAMP>`-p'</SAMP> option to the patch command when
-patching the old sources, so that patch is able to find
-the files that are located in other directories.
-
-</P>
-
-
-
-<H3><A NAME="SEC120" HREF="cvs_toc.html#TOC120">rdiff options</A></H3>
-
-<P>
-These standard options are supported by <CODE>rdiff</CODE>
-(see section <A HREF="cvs_20.html#SEC90">Common command options</A>, for a 
complete description of
-them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-D <VAR>date</VAR></CODE>
-<DD>
-Use the most recent revision no later than <VAR>date</VAR>.
-
-<DT><CODE>-f</CODE>
-<DD>
-If no matching revision is found, retrieve the most
-recent revision (instead of ignoring the file).
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; don't descend subdirectories.
-
-<DT><CODE>-r <VAR>tag</VAR></CODE>
-<DD>
-Use revision <VAR>tag</VAR>.
-</DL>
-
-<P>
-In addition to the above, these options are available:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-c</CODE>
-<DD>
-Use the context diff format.  This is the default format.
-
-<DT><CODE>-s</CODE>
-<DD>
-Create a summary change report instead of a patch.  The
-summary includes information about files that were
-changed or added between the releases.  It is sent to
-the standard output device.  This is useful for finding
-out, for example, which files have changed between two
-dates or revisions.
-
-<DT><CODE>-t</CODE>
-<DD>
-A diff of the top two revisions is sent to the standard
-output device.  This is most useful for seeing what the
-last change to a file was.
-
-<DT><CODE>-u</CODE>
-<DD>
-Use the unidiff format for the context diffs.
-This option is not available if your diff does not
-support the unidiff format.  Remember that old versions
-of the <CODE>patch</CODE> program can't handle the unidiff
-format, so if you plan to post this patch to the net
-you should probably not use <SAMP>`-u'</SAMP>.
-
-<DT><CODE>-V <VAR>vn</VAR></CODE>
-<DD>
-Expand RCS keywords according to the rules current in
-RCS version <VAR>vn</VAR> (the expansion format changed with
-RCS version 5).
-</DL>
-
-
-
-<H3><A NAME="SEC121" HREF="cvs_toc.html#TOC121">rdiff examples</A></H3>
-
-<P>
-Suppose you receive mail from <TT>address@hidden</TT> asking for an
-update from release 1.2 to 1.4 of the tc compiler.  You
-have no such patches on hand, but with CVS that can
-easily be fixed with a command such as this:
-
-</P>
-
-<PRE>
-$ cvs rdiff -c -r FOO1_2 -r FOO1_4 tc | \
-$$ Mail -s 'The patches you asked for' address@hidden
-</PRE>
-
-<P>
-Suppose you have made release 1.3, and forked a branch
-called <SAMP>`R_1_3fix'</SAMP> for bugfixes.  <SAMP>`R_1_3_1'</SAMP>
-corresponds to release 1.3.1, which was made some time
-ago.  Now, you want to see how much development has been
-done on the branch.  This command can be used:
-
-</P>
-
-<PRE>
-$ cvs patch -s -r R_1_3_1 -r R_1_3fix module-name
-cvs rdiff: Diffing module-name
-File ChangeLog,v changed from revision 1.52.2.5 to 1.52.2.6
-File foo.c,v changed from revision 1.52.2.3 to 1.52.2.4
-File bar.h,v changed from revision 1.29.2.1 to 1.2
-</PRE>
-
-
-
-<H2><A NAME="SEC122" HREF="cvs_toc.html#TOC122">release--Indicate that a 
Module is no longer in use</A></H2>
-<P>
-<A NAME="IDX351"></A>
-
-</P>
-
-<UL>
-<LI>
-
-release [-d] directories...
-<LI>
-
-Requires: Working directory.
-<LI>
-
-Changes: Working directory, history log.
-</UL>
-
-<P>
-This command is meant to safely cancel the effect of
-<SAMP>`cvs checkout'</SAMP>.  Since CVS doesn't lock files, it
-isn't strictly necessary to use this command.  You can
-always simply delete your working directory, if you
-like; but you risk losing changes you may have
-forgotten, and you leave no trace in the CVS history
-file (see section <A HREF="cvs_21.html#SEC149">The history file</A>) that 
you've abandoned your
-checkout.
-
-</P>
-<P>
-Use <SAMP>`cvs release'</SAMP> to avoid these problems.  This
-command checks that no uncommitted changes are
-present; that you are executing it from immediately
-above a CVS working directory; and that the repository
-recorded for your files is the same as the repository
-defined in the module database.
-
-</P>
-<P>
-If all these conditions are true, <SAMP>`cvs release'</SAMP>
-leaves a record of its execution (attesting to your
-intentionally abandoning your checkout) in the CVS
-history log.
-
-</P>
-
-
-
-<H3><A NAME="SEC123" HREF="cvs_toc.html#TOC123">release options</A></H3>
-
-<P>
-The <CODE>release</CODE> command supports one command option:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-d</CODE>
-<DD>
-Delete your working copy of the file if the release
-succeeds.  If this flag is not given your files will
-remain in your working directory.
-
-<STRONG>Warning:</STRONG>  The <CODE>release</CODE> command deletes
-all directories and files recursively.  This
-has the very serious side-effect that any directory
-that you have created inside your checked-out sources,
-and not added to the repository (using the <CODE>add</CODE>
-command; see section <A HREF="cvs_11.html#SEC61">Adding files to a 
directory</A>) will be silently deleted--even
-if it is non-empty!
-</DL>
-
-
-
-<H3><A NAME="SEC124" HREF="cvs_toc.html#TOC124">release output</A></H3>
-
-<P>
-Before <CODE>release</CODE> releases your sources it will
-print a one-line message for any file that is not
-up-to-date.  
-
-</P>
-<P>
-<STRONG>Warning:</STRONG>  Any new directories that you have
-created, but not added to the CVS directory hierarchy
-with the <CODE>add</CODE> command (see section <A 
HREF="cvs_11.html#SEC61">Adding files to a directory</A>) will be
-silently ignored (and deleted, if <SAMP>`-d'</SAMP> is
-specified), even if they contain files.
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>U <VAR>file</VAR></CODE>
-<DD>
-There exists a newer revision of this file in the
-repository, and you have not modified your local copy
-of the file.
-
-<DT><CODE>A <VAR>file</VAR></CODE>
-<DD>
-The file has been added to your private copy of the
-sources, but has not yet been committed to the
-repository.  If you delete your copy of the sources
-this file will be lost.
-
-<DT><CODE>R <VAR>file</VAR></CODE>
-<DD>
-The file has been removed from your private copy of the
-sources, but has not yet been removed from the
-repository, since you have not yet committed the
-removal.  See section <A HREF="cvs_20.html#SEC99">commit--Check files into the 
repository</A>.
-
-<DT><CODE>M <VAR>file</VAR></CODE>
-<DD>
-The file is modified in your working directory.  There
-might also be a newer revision inside the repository.
-
-<DT><CODE>? <VAR>file</VAR></CODE>
-<DD>
-<VAR>file</VAR> is in your working directory, but does not
-correspond to anything in the source repository, and is
-not in the list of files for CVS to ignore (see the
-description of the <SAMP>`-I'</SAMP> option, and
-see section <A HREF="cvs_21.html#SEC148">Ignoring files via cvsignore</A>).  
If you remove your working
-sources, this file will be lost.
-
-Note that no warning message like this is printed for
-spurious directories that CVS encounters.  The
-directory, and all its contents, are silently ignored.
-
-</DL>
-
-
-
-<H3><A NAME="SEC125" HREF="cvs_toc.html#TOC125">release examples</A></H3>
-
-<P>
-Release the module, and delete your local working copy
-of the files.
-
-</P>
-
-<PRE>
-$ cd ..         # You must stand immediately above the
-                # sources when you issue <SAMP>`cvs release'</SAMP>.
-$ cvs release -d tc
-You have [0] altered files in this repository.
-Are you sure you want to release (and delete) module `tc': y
-$
-</PRE>
-
-
-
-<H2><A NAME="SEC126" HREF="cvs_toc.html#TOC126">rtag--Add a symbolic tag to a 
module</A></H2>
-<P>
-<A NAME="IDX352"></A>
-
-</P>
-
-<UL>
-<LI>
-
-rtag [-falnR] [-b] [-d] [-r tag | -Ddate] symbolic_tag modules...
-<LI>
-
-Requires: repository.
-<LI>
-
-Changes: repository.
-<LI>
-
-Synonym: rfreeze
-</UL>
-
-<P>
-You can use this command to assign symbolic tags to
-particular, explicitly specified source revisions in
-the repository.  <CODE>rtag</CODE> works directly on the
-repository contents (and requires no prior checkout).
-Use <CODE>tag</CODE> instead (see section <A 
HREF="cvs_20.html#SEC130">tag--Add a symbolic tag to checked out versions of 
files</A>), to base the
-selection of revisions on the contents of your
-working directory.
-
-</P>
-<P>
-If you attempt to use a tag name that already exists,
-CVS will complain and not overwrite that tag.  Use
-the <SAMP>`-F'</SAMP> option to force the new tag value.
-
-</P>
-
-
-
-<H3><A NAME="SEC127" HREF="cvs_toc.html#TOC127">rtag options</A></H3>
-
-<P>
-These standard options are supported by <CODE>rtag</CODE>
-(see section <A HREF="cvs_20.html#SEC90">Common command options</A>, for a 
complete description of
-them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-D <VAR>date</VAR></CODE>
-<DD>
-Tag the most recent revision no later than <VAR>date</VAR>.
-
-<DT><CODE>-f</CODE>
-<DD>
-Only useful with the <SAMP>`-D <VAR>date</VAR>'</SAMP> or <SAMP>`-r 
<VAR>tag</VAR>'</SAMP>
-flags.  If no matching revision is found, use the most
-recent revision (instead of ignoring the file).
-
-<DT><CODE>-F</CODE>
-<DD>
-Overwrite an existing tag of the same name on a
-different revision.  This option is new in CVS
-1.4.  The old behavior is matched by <SAMP>`cvs tag -F'</SAMP>.
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.
-
-<DT><CODE>-n</CODE>
-<DD>
-Do not run any tag program that was specified with the
-<SAMP>`-t'</SAMP> flag inside the <TT>`modules'</TT> file.
-(see section <A HREF="cvs_21.html#SEC137">The modules file</A>).
-
-<DT><CODE>-R</CODE>
-<DD>
-Commit directories recursively.  This is on by default.
-
-<DT><CODE>-r <VAR>tag</VAR></CODE>
-<DD>
-Only tag those files that contain <VAR>tag</VAR>.  This can
-be used to rename a tag: tag only the files identified
-by the old tag, then delete the old tag, leaving the
-new tag on exactly the same files as the old tag.
-</DL>
-
-<P>
-In addition to the above common options, these options
-are available:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-a</CODE>
-<DD>
-Use the <SAMP>`-a'</SAMP> option to have <CODE>rtag</CODE> look in the
-<TT>`Attic'</TT> (see section <A HREF="cvs_12.html#SEC62">Removing files from 
a module</A>) for removed files
-that contain the specified tag.  The tag is removed from
-these files, which makes it convenient to re-use a
-symbolic tag as development continues (and files get
-removed from the up-coming distribution).
-
-<DT><CODE>-b</CODE>
-<DD>
-Make the tag a branch tag.  See section <A 
HREF="cvs_8.html#SEC50">Branches</A>.
-
-<DT><CODE>-d</CODE>
-<DD>
-Delete the tag instead of creating it.
-
-In general, tags (often the symbolic names of software
-distributions) should not be removed, but the <SAMP>`-d'</SAMP>
-option is available as a means to remove completely
-obsolete symbolic names if necessary (as might be the
-case for an Alpha release, or if you mistagged a
-module).
-</DL>
-
-
-
-<H2><A NAME="SEC128" HREF="cvs_toc.html#TOC128">status--Display status 
information on checked out files</A></H2>
-<P>
-<A NAME="IDX353"></A>
-
-</P>
-
-
-<UL>
-<LI>
-
-status [-lR] [-v] [files...]
-<LI>
-
-Requires: working directory, repository.
-<LI>
-
-Changes: nothing.
-</UL>
-
-<P>
-Display a brief report on the current status of files
-with respect to the source repository.  For information
-on the basic output see section <A HREF="cvs_7.html#SEC38">File status</A>.  
For
-information on the <CODE>Sticky tag</CODE> and <CODE>Sticky
-date</CODE> output, see section <A HREF="cvs_8.html#SEC54">Sticky tags</A>.  
For information
-on the <CODE>Sticky options</CODE> output, see the <SAMP>`-k'</SAMP>
-option in section <A HREF="cvs_20.html#SEC133">update options</A>.
-
-</P>
-<P>
-You can also use this command to determine the
-potential impact of a <SAMP>`cvs update'</SAMP> on your working
-source directory--but remember that things might
-change in the repository before you run <CODE>update</CODE>.
-
-</P>
-
-
-
-<H3><A NAME="SEC129" HREF="cvs_toc.html#TOC129">status options</A></H3>
-
-<P>
-These standard options are supported by <CODE>status</CODE>
-(see section <A HREF="cvs_20.html#SEC90">Common command options</A>, for a 
complete description of
-them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.
-
-<DT><CODE>-R</CODE>
-<DD>
-Commit directories recursively.  This is on by default.
-</DL>
-
-<P>
-There is one additional option:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-v</CODE>
-<DD>
-Verbose.  In addition to the information normally
-displayed, print all symbolic tags, together with the
-numerical value of the revision or branch they refer
-to.  For more information, see section <A 
HREF="cvs_8.html#SEC51">Tags--Symbolic revisions</A>
-</DL>
-
-
-
-<H2><A NAME="SEC130" HREF="cvs_toc.html#TOC130">tag--Add a symbolic tag to 
checked out versions of files</A></H2>
-<P>
-<A NAME="IDX354"></A>
-
-</P>
-
-<UL>
-<LI>
-
-tag [-lR] [-b] [-c] [-d] symbolic_tag [files...]
-<LI>
-
-Requires: working directory, repository.
-<LI>
-
-Changes: repository.
-<LI>
-
-Synonym: freeze
-</UL>
-
-<P>
-Use this command to assign symbolic tags to the nearest
-repository versions to your working sources.  The tags
-are applied immediately to the repository, as with
-<CODE>rtag</CODE>, but the versions are supplied implicitly by the
-CVS records of your working files' history rather than
-applied explicitly.
-
-</P>
-<P>
-One use for tags is to record a snapshot of the
-current sources when the software freeze date of a
-project arrives.  As bugs are fixed after the freeze
-date, only those changed sources that are to be part of
-the release need be re-tagged.
-
-</P>
-<P>
-The symbolic tags are meant to permanently record which
-revisions of which files were used in creating a
-software distribution.  The <CODE>checkout</CODE> and
-<CODE>update</CODE> commands allow you to extract an exact
-copy of a tagged release at any time in the future,
-regardless of whether files have been changed, added,
-or removed since the release was tagged.
-
-</P>
-<P>
-This command can also be used to delete a symbolic tag,
-or to create a branch.  See the options section below.
-
-</P>
-<P>
-If you attempt to use a tag name that already exists,
-CVS will complain and not overwrite that tag.  Use
-the <SAMP>`-F'</SAMP> option to force the new tag value.
-
-</P>
-
-
-
-<H3><A NAME="SEC131" HREF="cvs_toc.html#TOC131">tag options</A></H3>
-
-<P>
-These standard options are supported by <CODE>tag</CODE>
-(see section <A HREF="cvs_20.html#SEC90">Common command options</A>, for a 
complete description of
-them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-F</CODE>
-<DD>
-Overwrite an existing tag of the same name on a
-different revision.  This option is new in CVS
-1.4.  The old behavior is matched by <SAMP>`cvs tag -F'</SAMP>.
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.
-
-<DT><CODE>-R</CODE>
-<DD>
-Commit directories recursively.  This is on by default.
-</DL>
-
-<P>
-Two special options are available:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-b</CODE>
-<DD>
-The -b option makes the tag a branch tag
-(see section <A HREF="cvs_8.html#SEC50">Branches</A>), allowing concurrent, 
isolated
-development.  This is most useful for creating a patch
-to a previously released software distribution.
-
-<DT><CODE>-c</CODE>
-<DD>
-The -c option checks that all files which are to be tagged are
-unmodified.  This can be used to make sure that you can reconstruct the
-current file contents.
-
-<DT><CODE>-d</CODE>
-<DD>
-Delete a tag.
-
-If you use <SAMP>`cvs tag -d symbolic_tag'</SAMP>, the symbolic
-tag you specify is deleted instead of being added.
-Warning: Be very certain of your ground before you
-delete a tag; doing this permanently discards some
-historical information, which may later turn out to
-be valuable.
-</DL>
-
-
-
-<H2><A NAME="SEC132" HREF="cvs_toc.html#TOC132">update--Bring work tree in 
sync with repository</A></H2>
-<P>
-<A NAME="IDX355"></A>
-
-</P>
-
-<UL>
-<LI>
-
-update [-AdflPpR] [-d] [-r tag|-D date] files...
-<LI>
-
-Requires: repository, working directory.
-<LI>
-
-Changes: working directory.
-</UL>
-
-<P>
-After you've run checkout to create your private copy
-of source from the common repository, other developers
-will continue changing the central source.  From time
-to time, when it is convenient in your development
-process, you can use the <CODE>update</CODE> command from
-within your working directory to reconcile your work
-with any revisions applied to the source repository
-since your last checkout or update.
-
-</P>
-
-
-
-<H3><A NAME="SEC133" HREF="cvs_toc.html#TOC133">update options</A></H3>
-
-<P>
-These standard options are available with <CODE>update</CODE>
-(see section <A HREF="cvs_20.html#SEC90">Common command options</A>, for a 
complete description of
-them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-D date</CODE>
-<DD>
-Use the most recent revision no later than <VAR>date</VAR>.
-This option is sticky, and implies <SAMP>`-P'</SAMP>.
-See section <A HREF="cvs_8.html#SEC54">Sticky tags</A>, for more information 
on sticky tags/dates.
-
-<DT><CODE>-f</CODE>
-<DD>
-Only useful with the <SAMP>`-D <VAR>date</VAR>'</SAMP> or <SAMP>`-r
-<VAR>tag</VAR>'</SAMP> flags.  If no matching revision is found,
-retrieve the most recent revision (instead of ignoring
-the file).
-
-<DT><CODE>-k <VAR>kflag</VAR></CODE>
-<DD>
-Process RCS keywords according to <VAR>kflag</VAR>.  See
-co(1).  This option is sticky; future updates of
-this file in this working directory will use the same
-<VAR>kflag</VAR>.  The <CODE>status</CODE> command can be viewed
-to see the sticky options.  See section <A 
HREF="cvs_20.html#SEC128">status--Display status information on checked out 
files</A>.
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.  See section <A 
HREF="cvs_10.html#SEC60">Recursive behavior</A>.
-
-<DT><CODE>-P</CODE>
-<DD>
-Prune empty directories.
-
-<DT><CODE>-p</CODE>
-<DD>
-Pipe files to the standard output.
-
-<DT><CODE>-R</CODE>
-<DD>
-Operate recursively.  This is on by default.
-See section <A HREF="cvs_10.html#SEC60">Recursive behavior</A>.
-
-<DT><CODE>-r tag</CODE>
-<DD>
-Retrieve revision <VAR>tag</VAR>.  This option is sticky,
-and implies <SAMP>`-P'</SAMP>.
-See section <A HREF="cvs_8.html#SEC54">Sticky tags</A>, for more information 
on sticky tags/dates.
-</DL>
-
-<P>
-These special options are also available with
-<CODE>update</CODE>.
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-A</CODE>
-<DD>
-Reset any sticky tags, dates, or <SAMP>`-k'</SAMP> options.
-See section <A HREF="cvs_8.html#SEC54">Sticky tags</A>, for more information 
on sticky tags/dates.
-
-<DT><CODE>-d</CODE>
-<DD>
-Create any directories that exist in the repository if
-they're missing from the working directory.  Normally,
-<CODE>update</CODE> acts only on directories and files that
-were already enrolled in your working directory.  
-
-This is useful for updating directories that were
-created in the repository since the initial checkout;
-but it has an unfortunate side effect.  If you
-deliberately avoided certain directories in the
-repository when you created your working directory
-(either through use of a module name or by listing
-explicitly the files and directories you wanted on the
-command line), then updating with <SAMP>`-d'</SAMP> will create
-those directories, which may not be what you want.
-
-<DT><CODE>-I <VAR>name</VAR></CODE>
-<DD>
-Ignore files whose names match <VAR>name</VAR> (in your
-working directory) during the update.  You can specify
-<SAMP>`-I'</SAMP> more than once on the command line to specify
-several files to ignore.  Use <SAMP>`-I !'</SAMP> to avoid
-ignoring any files at all.  See section <A HREF="cvs_21.html#SEC148">Ignoring 
files via cvsignore</A>, for other
-ways to make CVS ignore some files.
-
-<DT><CODE>-W<VAR>spec</VAR></CODE>
-<DD>
-Specify file names that should be filtered during
-update.  You can use this option repeatedly.
-
-<VAR>spec</VAR> can be a file name pattern of the same type
-that you can specify in the <TT>`.cvswrappers'</TT>
-file. See section <A HREF="cvs_21.html#SEC138">The cvswrappers file</A>.
-
-<DT><CODE>-j<VAR>revision</VAR></CODE>
-<DD>
-With two <SAMP>`-j'</SAMP> options, merge changes from the
-revision specified with the first <SAMP>`-j'</SAMP> option to
-the revision specified with the second <SAMP>`j'</SAMP> option,
-into the working directory.
-
-With one <SAMP>`-j'</SAMP> option, merge changes from the
-ancestor revision to the revision specified with the
-<SAMP>`-j'</SAMP> option, into the working directory.  The
-ancestor revision is the common ancestor of the
-revision which the working directory is based on, and
-the revision specified in the <SAMP>`-j'</SAMP> option.
-
-In addition, each -j option can contain an optional
-date specification which, when used with branches, can
-limit the chosen revision to one within a specific
-date.  An optional date is specified by adding a colon
-(:) to the tag:
-<SAMP>`-j<VAR>Symbolic_Tag</VAR>:<VAR>Date_Specifier</VAR>'</SAMP>.
-
-See section <A HREF="cvs_9.html#SEC55">Merging</A>.
-
-</DL>
-
-
-
-<H3><A NAME="SEC134" HREF="cvs_toc.html#TOC134">update output</A></H3>
-
-<P>
-<CODE>update</CODE> and <CODE>checkout</CODE> keep you informed of
-its progress by printing a line for each file, preceded
-by one character indicating the status of the file:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>U <VAR>file</VAR></CODE>
-<DD>
-The file was brought up to date with respect to the
-repository.  This is done for any file that exists in
-the repository but not in your source, and for files
-that you haven't changed but are not the most recent
-versions available in the repository.
-
-<DT><CODE>A <VAR>file</VAR></CODE>
-<DD>
-The file has been added to your private copy of the
-sources, and will be added to the source repository
-when you run <CODE>commit</CODE> on the file.  This is a
-reminder to you that the file needs to be committed.
-
-<DT><CODE>R <VAR>file</VAR></CODE>
-<DD>
-The file has been removed from your private copy of the
-sources, and will be removed from the source repository
-when you run <CODE>commit</CODE> on the file.  This is a
-reminder to you that the file needs to be committed.
-
-<DT><CODE>M <VAR>file</VAR></CODE>
-<DD>
-The file is modified in  your  working  directory.
-
-<SAMP>`M'</SAMP> can indicate one of two states for a file
-you're working on: either there were no modifications
-to the same file in the repository, so that your file
-remains as you last saw it; or there were modifications
-in the repository as well as in your copy, but they
-were merged successfully, without conflict, in your
-working directory.
-
-CVS will print some messages if it merges your work,
-and a backup copy of your working file (as it looked
-before you ran <CODE>update</CODE>) will be made.  The exact
-name of that file is printed while <CODE>update</CODE> runs.
-
-<DT><CODE>C <VAR>file</VAR></CODE>
-<DD>
-<A NAME="IDX356"></A>
-<A NAME="IDX357"></A>
-A conflict was detected while trying to merge your
-changes to <VAR>file</VAR> with changes from the source
-repository.  <VAR>file</VAR> (the copy in your working
-directory) is now the output of the rcsmerge(1) command
-on the two revisions; an unmodified copy of your file
-is also in your working directory, with the name
-<TT>`.#<VAR>file</VAR>.<VAR>revision</VAR>'</TT> where <VAR>revision</VAR>
-is the RCS revision that your modified file started
-from.  Resolve the conflict as described in
-section <A HREF="cvs_7.html#SEC40">Conflicts example</A>
-(Note that some systems automatically purge
-files that begin with <TT>`.#'</TT> if they have not been
-accessed for a few days.  If you intend to keep a copy
-of your original file, it is a very good idea to rename
-it.)  Under VMS, the file name starts with
-<TT>`__'</TT> rather than <TT>`.#'</TT>.
-
-<DT><CODE>? <VAR>file</VAR></CODE>
-<DD>
-<VAR>file</VAR> is in your working directory, but does not
-correspond to anything in the source repository, and is
-not in the list of files for CVS to ignore (see the
-description of the <SAMP>`-I'</SAMP> option, and
-see section <A HREF="cvs_21.html#SEC148">Ignoring files via cvsignore</A>).
-
-Note that no warning message like this is printed for
-spurious directories that CVS encounters.  The
-directory, and all its contents, are silently ignored.
-</DL>
-
-
-
-<H3><A NAME="SEC135" HREF="cvs_toc.html#TOC135">update examples</A></H3>
-
-<P>
-The following line will display all files which are not
-up-to-date without actually change anything in your
-working directory.  It can be used to check what has
-been going on with the project.
-
-</P>
-
-<PRE>
-$ cvs -n -q update
-</PRE>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_19.html">previous</A>, 
<A HREF="cvs_21.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_chapter/cvs_21.html
===================================================================
RCS file: manual/html_chapter/cvs_21.html
diff -N manual/html_chapter/cvs_21.html
--- manual/html_chapter/cvs_21.html     7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,976 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Reference manual for the 
Administrative files</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_20.html">previous</A>, 
<A HREF="cvs_22.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC136" HREF="cvs_toc.html#TOC136">Reference manual for the 
Administrative files</A></H1>
-<P>
-<A NAME="IDX358"></A>
-<A NAME="IDX359"></A>
-<A NAME="IDX360"></A>
-<A NAME="IDX361"></A>
-
-</P>
-<P>
-Inside the repository, in the directory
-<TT>`$CVSROOT/CVSROOT'</TT>, there are a number of
-supportive files for CVS.  You can use CVS in a limited
-fashion without any of them, but if they are set up
-properly they can help make life easier.  For a
-discussion of how to edit them, See section <A HREF="cvs_5.html#SEC20">The 
administrative files</A>.
-
-</P>
-<P>
-The most important of these files is the <TT>`modules'</TT>
-file, which defines the modules inside the repository.
-
-</P>
-
-
-
-<H2><A NAME="SEC137" HREF="cvs_toc.html#TOC137">The modules file</A></H2>
-<P>
-<A NAME="IDX362"></A>
-<A NAME="IDX363"></A>
-
-</P>
-<P>
-The <TT>`modules'</TT> file records your definitions of
-names for collections of source code.  CVS will
-use these definitions if you use CVS to update the
-modules file (use normal commands like <CODE>add</CODE>,
-<CODE>commit</CODE>, etc).
-
-</P>
-<P>
-The <TT>`modules'</TT> file may contain blank lines and
-comments (lines beginning with <SAMP>`#'</SAMP>) as well as
-module definitions.  Long lines can be continued on the
-next line by specifying a backslash (<SAMP>`\'</SAMP>) as the
-last character on the line.
-
-</P>
-<P>
-A module definition is a single line of the
-<TT>`modules'</TT> file, in either of two formats.  In both
-cases, <VAR>mname</VAR> represents the symbolic module name,
-and the remainder of the line is its definition.
-
-</P>
-<DL COMPACT>
-
-<DT><CODE><VAR>mname</VAR> -a <VAR>aliases</VAR>...</CODE>
-<DD>
-This represents the simplest way of defining a module
-<VAR>mname</VAR>.  The <SAMP>`-a'</SAMP> flags the definition as a
-simple alias: CVS will treat any use of <VAR>mname</VAR> (as
-a command argument) as if the list of names
-<VAR>aliases</VAR> had been specified instead.
-<VAR>aliases</VAR> may contain either other module names or
-paths.  When you use paths in aliases, <CODE>checkout</CODE>
-creates all intermediate directories in the working
-directory, just as if the path had been specified
-explicitly in the CVS arguments.
-
-<DT><CODE><VAR>mname</VAR> [ options ] <VAR>dir</VAR> [ <VAR>files</VAR>... ] 
[ &#38;<VAR>module</VAR>... ]</CODE>
-<DD>
-In the simplest case, this form of module definition
-reduces to <SAMP>`<VAR>mname</VAR> <VAR>dir</VAR>'</SAMP>.  This defines
-all the files in directory <VAR>dir</VAR> as module mname.
-<VAR>dir</VAR> is a relative path (from <CODE>$CVSROOT</CODE>) to a
-directory of source in the source repository.  In this
-case, on checkout, a single directory called
-<VAR>mname</VAR> is created as a working directory; no
-intermediate directory levels are used by default, even
-if <VAR>dir</VAR> was a path involving several directory
-levels.
-
-By explicitly specifying files in the module definition
-after <VAR>dir</VAR>, you can select particular files from
-directory <VAR>dir</VAR>.  The sample definition for
-<SAMP>`modules'</SAMP> is an example of a module defined with a
-single file from a particular directory.  Here is
-another example:
-
-
-<PRE>
-m4test  unsupported/gnu/m4 foreach.m4 forloop.m4
-</PRE>
-
-With this definition, executing <SAMP>`cvs checkout
-m4test'</SAMP> will create a single working directory
-<TT>`m4test'</TT> containing the two files listed, which
-both come from a common directory several levels deep
-in the CVS source repository.
-
-A module definition can refer to other modules by
-including <SAMP>`&#38;<VAR>module</VAR>'</SAMP> in its definition.
-<CODE>checkout</CODE> creates a subdirectory for each such
-module, in your working directory.
-
-<DL COMPACT>
-
-<DT><CODE>-d <VAR>name</VAR></CODE>
-<DD>
-Name the working directory something other than the
-module name.
-
-<A NAME="IDX364"></A>
-<DT><CODE>-e <VAR>prog</VAR></CODE>
-<DD>
-Specify a program <VAR>prog</VAR> to run whenever files in a
-module are exported.  <VAR>prog</VAR> runs with a single
-argument, the module name.
-
-<A NAME="IDX365"></A>
-<DT><CODE>-i <VAR>prog</VAR></CODE>
-<DD>
-Specify a program <VAR>prog</VAR> to run whenever files in a
-module are committed.  <VAR>prog</VAR> runs with a single
-argument, the full pathname of the affected directory
-in a source repository.  The <TT>`commitinfo'</TT>,
-<TT>`loginfo'</TT>, and <TT>`editinfo'</TT> files provide other
-ways to call a program on commit.
-
-<A NAME="IDX366"></A>
-<DT><CODE>-o <VAR>prog</VAR></CODE>
-<DD>
-Specify a program <VAR>prog</VAR> to run whenever files in a
-module are checked out.  <VAR>prog</VAR> runs with a single
-argument, the module name.
-
-<A NAME="IDX367"></A>
-<A NAME="IDX368"></A>
-<DT><CODE>-s <VAR>status</VAR></CODE>
-<DD>
-Assign a status to the module.  When the module file is
-printed with <SAMP>`cvs checkout -s'</SAMP> the modules are
-sorted according to primarily module status, and
-secondarily according to the module name.  This option
-has no other meaning.  You can use this option for
-several things besides status: for instance, list the
-person that is responsible for this module.
-
-<A NAME="IDX369"></A>
-<DT><CODE>-t <VAR>prog</VAR></CODE>
-<DD>
-Specify a program <VAR>prog</VAR> to run whenever files in a
-module are tagged with <CODE>rtag</CODE>.  <VAR>prog</VAR> runs
-with two arguments: the module name and the symbolic
-tag specified to <CODE>rtag</CODE>.  There is no way to
-specify a program to run when <CODE>tag</CODE> is executed.
-
-<A NAME="IDX370"></A>
-<DT><CODE>-u <VAR>prog</VAR></CODE>
-<DD>
-Specify a program <VAR>prog</VAR> to run whenever <SAMP>`cvs
-update'</SAMP> is executed from the top-level directory of the
-checked-out module.  <VAR>prog</VAR> runs with a single
-argument, the full path to the source repository for
-this module.
-</DL>
-</DL>
-
-
-
-<H2><A NAME="SEC138" HREF="cvs_toc.html#TOC138">The cvswrappers file</A></H2>
-<P>
-<A NAME="IDX371"></A>
-<A NAME="IDX372"></A>
-<A NAME="IDX373"></A>
-
-</P>
-
-<P>
-Wrappers allow you to set a hook which transforms files on
-their way in and out of CVS.  Most or all of the
-wrappers features do not work with client/server CVS.
-
-</P>
-<P>
-The file <TT>`cvswrappers'</TT> defines the script that will be
-run on a file when its name matches a regular
-expresion. There are two scripts that can be run on a
-file or directory. One script is executed on the file/directory
-before being checked into the repository (this is denoted
-with the <CODE>-t</CODE> flag) and the other when the file is
-checked out of the repository (this is denoted with the
-<CODE>-f</CODE> flag)
-
-</P>
-<P>
-The <TT>`cvswrappers'</TT> also has a <SAMP>`-m'</SAMP> option to
-specify the merge methodology that should be used when
-the file is updated.  <CODE>MERGE</CODE> means the usual
-CVS behavior: try to merge the files (this
-generally will not work for binary files).  <CODE>COPY</CODE>
-means that <CODE>cvs update</CODE> will merely copy one
-version over the other, and require the user using
-mechanisms outside CVS, to insert any necessary
-changes.
-The <SAMP>`-m'</SAMP> wrapper option only affects behavior when
-merging is done on update; it does not affect how files
-are stored.  See See section <A HREF="cvs_18.html#SEC83">Handling binary 
files</A>, for more on
-binary files.
-
-</P>
-<P>
-The basic format of the file <TT>`cvswrappers'</TT> is:
-
-</P>
-
-<PRE>
-wildcard     [option value][option value]...
-
-where option is one of
--f           from cvs filter         value: path to filter
--t           to cvs filter           value: path to filter
--m           update methodology      value: MERGE or COPY
--k           keyword expansion       value: expansion mode
-
-and value is a single-quote delimited value.
-</PRE>
-
-
-<PRE>
-*.nib    -f 'unwrap %s' -t 'wrap %s %s' -m 'COPY'
-*.c      -t 'indent %s %s'
-</PRE>
-
-<P>
-The above example of a <TT>`cvswrappers'</TT> file
-states that all files/directories that end with a <CODE>.nib</CODE>
-should be filtered with the <TT>`wrap'</TT> program before
-checking the file into the repository. The file should
-be filtered though the <TT>`unwrap'</TT> program when the
-file is checked out of the repository. The
-<TT>`cvswrappers'</TT> file also states that a <CODE>COPY</CODE>
-methodology should be used when updating the files in
-the repository (that is no merging should be performed).
-
-</P>
-<P>
-The last example line says that all files that end with
-a <CODE>*.c</CODE> should be filtered with <TT>`indent'</TT>
-before being checked into the repository. Unlike the previous
-example no filtering of the <CODE>*.c</CODE> file is done when
-it is checked out of the repository.
-The <CODE>-t</CODE> filter is called with two arguments,
-the first is the name of the file/directory to filter
-and the second is the pathname to where the resulting
-filtered file should be placed.
-
-</P>
-<P>
-The <CODE>-f</CODE> filter is called with one argument,
-which is the name of the file to filter from. The end
-result of this filter will be a file in the users directory
-that they can work on as they normally would.
-
-</P>
-<P>
-For another example, the following command imports a
-directory, treating files whose name ends in
-<SAMP>`.exe'</SAMP> as binary:
-
-</P>
-
-<PRE>
-cvs import -I ! -W "*.exe -k 'b'" first-dir vendortag reltag
-</PRE>
-
-
-
-<H2><A NAME="SEC139" HREF="cvs_toc.html#TOC139">The commit support 
files</A></H2>
-<P>
-<A NAME="IDX374"></A>
-
-</P>
-<P>
-The <SAMP>`-i'</SAMP> flag in the <TT>`modules'</TT> file can be
-used to run a certain program whenever files are
-committed (see section <A HREF="cvs_21.html#SEC137">The modules file</A>).  
The files described in
-this section provide other, more flexible, ways to run
-programs whenever something is committed.
-
-</P>
-<P>
-There are three kind of programs that can be run on
-commit.  They are specified in files in the repository,
-as described below.  The following table summarizes the
-file names and the purpose of the corresponding
-programs.
-
-</P>
-<DL COMPACT>
-
-<DT><TT>`commitinfo'</TT>
-<DD>
-The program is responsible for checking that the commit
-is allowed.  If it exits with a non-zero exit status
-the commit will be aborted.
-
-<DT><TT>`editinfo'</TT>
-<DD>
-The specified program is used to edit the log message,
-and possibly verify that it contains all required
-fields.  This is most useful in combination with the
-<TT>`rcsinfo'</TT> file, which can hold a log message
-template (see section <A HREF="cvs_21.html#SEC147">Rcsinfo</A>).
-
-<DT><TT>`loginfo'</TT>
-<DD>
-The specified program is called when the commit is
-complete.  It receives the log message and some
-additional information and can store the log message in
-a file, or mail it to appropriate persons, or maybe
-post it to a local newsgroup, or...  Your
-imagination is the limit!
-</DL>
-
-
-
-<H3><A NAME="SEC140" HREF="cvs_toc.html#TOC140">The common syntax</A></H3>
-<P>
-<A NAME="IDX375"></A>
-<A NAME="IDX376"></A>
-<A NAME="IDX377"></A>
-
-</P>
-
-<P>
-The four files <TT>`commitinfo'</TT>, <TT>`loginfo'</TT>,
-<TT>`rcsinfo'</TT> and <TT>`editinfo'</TT> all have a common
-format.  The purpose of the files are described later
-on.  The common syntax is described here.
-
-</P>
-<P>
-Each line contains the following:
-
-<UL>
-<LI>
-
-A regular expression
-
-<LI>
-
-A whitespace separator--one or more spaces and/or tabs.
-
-<LI>
-
-A file name or command-line template.
-</UL>
-
-<P>
-Blank lines are ignored.  Lines that start with the
-character <SAMP>`#'</SAMP> are treated as comments.  Long lines
-unfortunately can <EM>not</EM> be broken in two parts in
-any way.
-
-</P>
-<P>
-The first regular expression that matches the current
-directory name in the repository is used.  The rest of the line
-is used as a file name or command-line as appropriate.
-
-</P>
-
-
-<H2><A NAME="SEC141" HREF="cvs_toc.html#TOC141">Commitinfo</A></H2>
-<P>
-<A NAME="IDX378"></A>
-<A NAME="IDX379"></A>
-<A NAME="IDX380"></A>
-
-</P>
-<P>
-The <TT>`commitinfo'</TT> file defines programs to execute
-whenever <SAMP>`cvs commit'</SAMP> is about to execute.  These
-programs are used for pre-commit checking to verify
-that the modified, added and removed files are really
-ready to be committed.  This could be used, for
-instance, to verify that the changed files conform to
-to your site's standards for coding practice.
-
-</P>
-<P>
-As mentioned earlier, each line in the
-<TT>`commitinfo'</TT> file consists of a regular expression
-and a command-line template.  The template can include
-a program name and any number of arguments you wish to
-supply to it.  The full path to the current source
-repository is appended to the template, followed by the
-file names of any files involved in the commit (added,
-removed, and modified files).
-
-</P>
-<P>
-The first line with a regular expression matching the
-relative path to the module will be used.  If the
-command returns a non-zero exit status the commit will
-be aborted.
-
-</P>
-<P>
-<A NAME="IDX381"></A>
-If the repository name does not match any of the
-regular expressions in this file, the <SAMP>`DEFAULT'</SAMP>
-line is used, if it is specified.
-
-</P>
-<P>
-<A NAME="IDX382"></A>
-All occurances of the name <SAMP>`ALL'</SAMP> appearing as a
-regular expression are used in addition to the first
-matching regular expression or the name <SAMP>`DEFAULT'</SAMP>.
-
-</P>
-<P>
-Note: when CVS is accessing a remote repository,
-<TT>`commitinfo'</TT> will be run on the <EM>remote</EM>
-(i.e., server) side, not the client side (see section <A 
HREF="cvs_5.html#SEC24">Remote repositories</A>).
-
-</P>
-
-
-
-<H2><A NAME="SEC142" HREF="cvs_toc.html#TOC142">Editinfo</A></H2>
-<P>
-<A NAME="IDX383"></A>
-<A NAME="IDX384"></A>
-<A NAME="IDX385"></A>
-<A NAME="IDX386"></A>
-
-</P>
-<P>
-If you want to make sure that all log messages look the
-same way, you can use the <TT>`editinfo'</TT> file to
-specify a program that is used to edit the log message.
-This program could be a custom-made editor that always
-enforces a certain style of the log message, or maybe a
-simple shell script that calls an editor, and checks
-that the entered message contains the required fields.
-
-</P>
-<P>
-If no matching line is found in the <TT>`editinfo'</TT>
-file, the editor specified in the environment variable
-<CODE>$CVSEDITOR</CODE> is used instead.  If that variable is
-not set, then the environment variable <CODE>$EDITOR</CODE>
-is used instead.  If that variable is not
-set a precompiled default, normally <CODE>vi</CODE>, will be
-used.
-
-</P>
-<P>
-The <TT>`editinfo'</TT> file is often most useful together
-with the <TT>`rcsinfo'</TT> file, which can be used to
-specify a log message template.
-
-</P>
-<P>
-Each line in the <TT>`editinfo'</TT> file consists of a
-regular expression and a command-line template.  The
-template must include a program name, and can include
-any number of arguments.  The full path to the current
-log message template file is appended to the template.
-
-</P>
-<P>
-One thing that should be noted is that the <SAMP>`ALL'</SAMP>
-keyword is not supported.  If more than one matching
-line is found, the first one is used.  This can be
-useful for specifying a default edit script in a
-module, and then overriding it in a subdirectory.
-
-</P>
-<P>
-<A NAME="IDX387"></A>
-If the repository name does not match any of the
-regular expressions in this file, the <SAMP>`DEFAULT'</SAMP>
-line is used, if it is specified.
-
-</P>
-<P>
-If the edit script exits with a non-zero exit status,
-the commit is aborted.
-
-</P>
-<P>
-Note: when CVS is accessing a remote repository,
-or when the <SAMP>`-m'</SAMP> or <SAMP>`-F'</SAMP> options to <CODE>cvs
-commit</CODE> are used, <TT>`editinfo'</TT> will not be consulted.
-There is no good workaround for this.
-
-</P>
-
-
-
-<H3><A NAME="SEC143" HREF="cvs_toc.html#TOC143">Editinfo example</A></H3>
-
-<P>
-The following is a little silly example of a
-<TT>`editinfo'</TT> file, together with the corresponding
-<TT>`rcsinfo'</TT> file, the log message template and an
-editor script.  We begin with the log message template.
-We want to always record a bug-id number on the first
-line of the log message.  The rest of log message is
-free text.  The following template is found in the file
-<TT>`/usr/cvssupport/tc.template'</TT>.
-
-</P>
-
-<PRE>
-BugId:    
-</PRE>
-
-<P>
-The script <TT>`/usr/cvssupport/bugid.edit'</TT> is used to
-edit the log message.
-
-</P>
-
-<PRE>
-#!/bin/sh
-#
-#       bugid.edit filename
-#
-#  Call $EDITOR on FILENAME, and verify that the
-#  resulting file contains a valid bugid on the first
-#  line.
-if [ "x$EDITOR" = "x" ]; then EDITOR=vi; fi
-if [ "x$CVSEDITOR" = "x" ]; then CVSEDITOR=$EDITOR; fi
-$CVSEDITOR $1
-until head -1|grep '^BugId:[ ]*[0-9][0-9]*$' &#60; $1
-do  echo -n  "No BugId found.  Edit again? ([y]/n)"
-    read ans
-    case ${ans} in
-        n*) exit 1;;
-    esac
-    $CVSEDITOR $1
-done
-</PRE>
-
-<P>
-The <TT>`editinfo'</TT> file contains this line:
-
-</P>
-
-<PRE>
-^tc     /usr/cvssupport/bugid.edit
-</PRE>
-
-<P>
-The <TT>`rcsinfo'</TT> file contains this line:
-
-</P>
-
-<PRE>
-^tc     /usr/cvssupport/tc.template
-</PRE>
-
-
-
-<H2><A NAME="SEC144" HREF="cvs_toc.html#TOC144">Loginfo</A></H2>
-<P>
-<A NAME="IDX388"></A>
-<A NAME="IDX389"></A>
-<A NAME="IDX390"></A>
-<A NAME="IDX391"></A>
-<A NAME="IDX392"></A>
-
-</P>
-<P>
-The <TT>`loginfo'</TT> file is used to control where
-<SAMP>`cvs commit'</SAMP> log information is sent.  The first
-entry on a line is a regular expression which is tested
-against the directory that the change is being made to,
-relative to the <CODE>$CVSROOT</CODE>.  If a match is found, then
-the remainder of the line is a filter program that
-should expect log information on its standard input.
-
-</P>
-<P>
-The filter program may use one and only one % modifier
-(a la printf).  If <SAMP>`%s'</SAMP> is specified in the filter
-program, a brief title is included (enclosed in single
-quotes) showing the modified file names.
-
-</P>
-<P>
-If the repository name does not match any of the
-regular expressions in this file, the <SAMP>`DEFAULT'</SAMP>
-line is used, if it is specified.
-
-</P>
-<P>
-All occurances of the name <SAMP>`ALL'</SAMP> appearing as a
-regular expression are used in addition to the first
-matching regular expression or <SAMP>`DEFAULT'</SAMP>.
-
-</P>
-<P>
-The first matching regular expression is used.
-
-</P>
-<P>
-See section <A HREF="cvs_21.html#SEC139">The commit support files</A>, for a 
description of the syntax of
-the <TT>`loginfo'</TT> file.  
-
-</P>
-<P>
-Note: when CVS is accessing a remote repository,
-<TT>`loginfo'</TT> will be run on the <EM>remote</EM>
-(i.e., server) side, not the client side (see section <A 
HREF="cvs_5.html#SEC24">Remote repositories</A>).
-
-</P>
-
-
-
-<H3><A NAME="SEC145" HREF="cvs_toc.html#TOC145">Loginfo example</A></H3>
-
-<P>
-The following <TT>`loginfo'</TT> file, together with the
-tiny shell-script below, appends all log messages 
-to the file <TT>`$CVSROOT/CVSROOT/commitlog'</TT>,
-and any commits to the administrative files (inside
-the <TT>`CVSROOT'</TT> directory) are also logged in
-<TT>`/usr/adm/cvsroot-log'</TT>.
-
-</P>
-
-<PRE>
-ALL             /usr/local/bin/cvs-log $CVSROOT/CVSROOT/commitlog
-^CVSROOT        /usr/local/bin/cvs-log /usr/adm/cvsroot-log
-</PRE>
-
-<P>
-The shell-script <TT>`/usr/local/bin/cvs-log'</TT> looks
-like this:
-
-</P>
-
-<PRE>
-#!/bin/sh
-(echo "-----------------------------------------------------------------";
- echo -n $USER"  ";
- date;
- echo;
- sed '1s+'${CVSROOT}'++') &#62;&#62; $1
-</PRE>
-
-
-
-<H3><A NAME="SEC146" HREF="cvs_toc.html#TOC146">Keeping a checked out 
copy</A></H3>
-
-<P>
-<A NAME="IDX393"></A>
-<A NAME="IDX394"></A>
-
-</P>
-<P>
-It is often useful to maintain a directory tree which
-contains files which correspond to the latest version
-in the repository.  For example, other developers might
-want to refer to the latest sources without having to
-check them out, or you might be maintaining a web site
-with CVS and want every checkin to cause the files
-used by the web server to be updated.
-
-</P>
-<P>
-The way to do this is by having loginfo invoke
-<CODE>cvs update</CODE>.  Doing so in the naive way will
-cause a problem with locks, so the <CODE>cvs update</CODE>
-must be run in the background.
-Here is an example (this should all be on one line):
-
-</P>
-
-<PRE>
-^cyclic-pages          (date; cat; (sleep 2; cd /u/www/local-docs;
- cvs -q update -d) &#38;) &#62;&#62; $CVSROOT/CVSROOT/updatelog 2&#62;&#38;1
-</PRE>
-
-<P>
-This will cause checkins to repository directories
-starting with <CODE>cyclic-pages</CODE> to update the checked
-out tree in <TT>`/u/www/local-docs'</TT>.
-
-</P>
-
-
-<H2><A NAME="SEC147" HREF="cvs_toc.html#TOC147">Rcsinfo</A></H2>
-<P>
-<A NAME="IDX395"></A>
-<A NAME="IDX396"></A>
-<A NAME="IDX397"></A>
-<A NAME="IDX398"></A>
-
-</P>
-<P>
-The <TT>`rcsinfo'</TT> file can be used to specify a form to
-edit when filling out the commit log.  The
-<TT>`rcsinfo'</TT> file has a syntax similar to the
-<TT>`editinfo'</TT>, <TT>`commitinfo'</TT> and <TT>`loginfo'</TT>
-files.  See section <A HREF="cvs_21.html#SEC140">The common syntax</A>.  
Unlike the other files the second
-part is <EM>not</EM> a command-line template.  Instead,
-the part after the regular expression should be a full pathname to
-a file containing the log message template.
-
-</P>
-<P>
-If the repository name does not match any of the
-regular expressions in this file, the <SAMP>`DEFAULT'</SAMP>
-line is used, if it is specified.
-
-</P>
-<P>
-All occurances of the name <SAMP>`ALL'</SAMP> appearing as a
-regular expression are used in addition to the first
-matching regular expression or <SAMP>`DEFAULT'</SAMP>.
-
-</P>
-<P>
-The log message template will be used as a default log
-message.  If you specify a log message with <SAMP>`cvs
-commit -m <VAR>message</VAR>'</SAMP> or <SAMP>`cvs commit -f
-<VAR>file</VAR>'</SAMP> that log message will override the
-template.
-
-</P>
-<P>
-See section <A HREF="cvs_21.html#SEC143">Editinfo example</A>, for an example 
<TT>`rcsinfo'</TT>
-file.
-
-</P>
-<P>
-When CVS is accessing a remote repository,
-the contents of <TT>`rcsinfo'</TT> at the time a directory
-is first checked out will specify a template which does
-not then change.  If you edit <TT>`rcsinfo'</TT> or its
-templates, you may need to check out a new working
-directory.
-
-</P>
-
-
-<H2><A NAME="SEC148" HREF="cvs_toc.html#TOC148">Ignoring files via 
cvsignore</A></H2>
-<P>
-<A NAME="IDX399"></A>
-<A NAME="IDX400"></A>
-<A NAME="IDX401"></A>
-
-</P>
-<P>
-There are certain file names that frequently occur
-inside your working copy, but that you don't want to
-put under CVS control.  Examples are all the object
-files that you get while you compile your sources.
-Normally, when you run <SAMP>`cvs update'</SAMP>, it prints a
-line for each file it encounters that it doesn't know
-about (see section <A HREF="cvs_20.html#SEC134">update output</A>).
-
-</P>
-<P>
-CVS has a list of files (or sh(1) file name patterns)
-that it should ignore while running <CODE>update</CODE>,
-<CODE>import</CODE> and <CODE>release</CODE>.
-This list is constructed in the following way.
-
-</P>
-
-<UL>
-<LI>
-
-The list is initialized to include certain file name
-patterns: names associated with CVS
-administration, or with other common source control
-systems; common names for patch files, object files,
-archive files, and editor backup files; and other names
-that are usually artifacts of assorted utilities.
-Currently, the default list of ignored file name
-patterns is:
-
-<A NAME="IDX402"></A>
-<A NAME="IDX403"></A>
-
-<PRE>
-    RCS     SCCS    CVS     CVS.adm
-    RCSLOG  cvslog.*
-    tags    TAGS
-    .make.state     .nse_depinfo
-    *~      #*      .#*     ,*      _$*     *$
-    *.old   *.bak   *.BAK   *.orig  *.rej   .del-*
-    *.a     *.olb   *.o     *.obj   *.so    *.exe
-    *.Z     *.elc   *.ln  
-    core
-</PRE>
-
-<LI>
-
-The per-repository list in
-<TT>`$CVSROOT/CVSROOT/cvsignore'</TT> is appended to
-the list, if that file exists.
-
-<LI>
-
-The per-user list in <TT>`.cvsignore'</TT> in your home
-directory is appended to the list, if it exists.
-
-<LI>
-
-Any entries in the environment variable
-<CODE>$CVSIGNORE</CODE> is appended to the list.
-
-<LI>
-
-Any <SAMP>`-I'</SAMP> options given to CVS is appended.
-
-<LI>
-
-As CVS traverses through your directories, the contents
-of any <TT>`.cvsignore'</TT> will be appended to the list.
-The patterns found in <TT>`.cvsignore'</TT> are only valid
-for the directory that contains them, not for
-any sub-directories.
-</UL>
-
-<P>
-In any of the 5 places listed above, a single
-exclamation mark (<SAMP>`!'</SAMP>) clears the ignore list.
-This can be used if you want to store any file which
-normally is ignored by CVS.
-
-</P>
-
-
-<H2><A NAME="SEC149" HREF="cvs_toc.html#TOC149">The history file</A></H2>
-<P>
-<A NAME="IDX404"></A>
-<A NAME="IDX405"></A>
-
-</P>
-<P>
-The file <TT>`$CVSROOT/CVSROOT/history'</TT> is used
-to log information for the <CODE>history</CODE> command
-(see section <A HREF="cvs_20.html#SEC110">history--Show status of files and 
users</A>).  This file must be created to turn
-on logging.  This is done automatically if the
-<CODE>cvs init</CODE> command is used to set up the
-repository (see section <A HREF="cvs_5.html#SEC23">Creating a repository</A>).
-
-</P>
-<P>
-The file format of the <TT>`history'</TT> file is
-documented only in comments in the CVS source
-code, but generally programs should use the <CODE>cvs
-history</CODE> command to access it anyway, in case the
-format changes with future releases of CVS.
-
-</P>
-
-
-<H2><A NAME="SEC150" HREF="cvs_toc.html#TOC150">Expansions in administrative 
files</A></H2>
-
-<P>
-Sometimes in writing an administrative file, you might
-want the file to be able to know various things based
-on environment CVS is running in.  There are
-several mechanisms to do that.
-
-</P>
-<P>
-To find the home directory of the user running CVS
-(from the <CODE>HOME</CODE> environment variable), use
-<SAMP>`~'</SAMP> followed by <SAMP>`/'</SAMP> or the end of the line.
-Likewise for the home directory of <VAR>user</VAR>, use
-<SAMP>`~<VAR>user</VAR>'</SAMP>.  These variables are expanded on
-the server machine, and don't get any resonable
-expansion if pserver (see section <A HREF="cvs_5.html#SEC26">Direct connection 
with password authentication</A>)
-is in used; therefore user variables (see below) may be
-a better choice to customize behavior based on the user
-running CVS.
-
-</P>
-<P>
-One may want to know about various pieces of
-information internal to CVS.  A CVS internal
-variable has the syntax <CODE>${<VAR>variable</VAR>}</CODE>,
-where <VAR>variable</VAR> starts with a letter and consists
-of alphanumberic characters and <SAMP>`_'</SAMP>.  If the
-character following <VAR>variable</VAR> is a
-non-alphanumeric character other than <SAMP>`_'</SAMP>, the
-<SAMP>`{'</SAMP> and <SAMP>`}'</SAMP> can be omitted.  The CVS
-internal variables are:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>CVSROOT</CODE>
-<DD>
-This is the value of the CVS root in use.
-See section <A HREF="cvs_5.html#SEC15">The Repository</A>, for a description 
of the various
-ways to specify this.
-
-<DT><CODE>RCSBIN</CODE>
-<DD>
-This is the value CVS is using for where to find
-RCS binaries.  See section <A HREF="cvs_20.html#SEC89">Global options</A>, for 
a
-description of how to specify this.
-
-<DT><CODE>CVSEDITOR</CODE>
-<DD>
-<DT><CODE>VISUAL</CODE>
-<DD>
-<DT><CODE>EDITOR</CODE>
-<DD>
-These all expand to the same value, which is the editor
-that CVS is using.  See section <A HREF="cvs_20.html#SEC89">Global 
options</A>, for how
-to specify this.
-
-<DT><CODE>USER</CODE>
-<DD>
-Username of the user running CVS (on the CVS
-server machine).
-</DL>
-
-<P>
-If you want to pass a value to the administrative files
-which the user that is running CVS can specify,
-use a user variable.  To expand a user variable, the
-administrative file contains
-<CODE>${=<VAR>variable</VAR>}</CODE>.  To set a user variable,
-specify the global option <SAMP>`-s'</SAMP> to CVS, with
-argument <CODE><VAR>variable</VAR>=<VAR>value</VAR></CODE>.  It may be
-particularly useful to specify this option via
-<TT>`.cvsrc'</TT> (see section <A HREF="cvs_20.html#SEC88">Default options and 
the ~/.cvsrc file</A>).
-
-</P>
-<P>
-For example, if you want the administrative file to
-refer to a test directory you might create a user
-variable <CODE>TESTDIR</CODE>.  Then if CVS is invoked
-as <CODE>cvs -s TESTDIR=/work/local/tests</CODE>, and the
-administrative file contains <CODE>sh
-${=TESTDIR}/runtests</CODE>, then that string is expanded
-to <CODE>sh /work/local/tests/runtests</CODE>.
-
-</P>
-<P>
-All other strings containing <SAMP>`$'</SAMP> are reserved;
-there is no way to quote a <SAMP>`$'</SAMP> character so that
-<SAMP>`$'</SAMP> represents itself.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_20.html">previous</A>, 
<A HREF="cvs_22.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_chapter/cvs_22.html
===================================================================
RCS file: manual/html_chapter/cvs_22.html
diff -N manual/html_chapter/cvs_22.html
--- manual/html_chapter/cvs_22.html     7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,234 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - All environment variables which 
affect CVS</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_21.html">previous</A>, 
<A HREF="cvs_23.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC151" HREF="cvs_toc.html#TOC151">All environment variables 
which affect CVS</A></H1>
-<P>
-<A NAME="IDX406"></A>
-<A NAME="IDX407"></A>
-
-</P>
-<P>
-This is a complete list of all environment variables
-that affect CVS.
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>$CVSIGNORE</CODE>
-<DD>
-<A NAME="IDX408"></A>
- 
-A whitespace-separated list of file name patterns that
-CVS should ignore. See section <A HREF="cvs_21.html#SEC148">Ignoring files via 
cvsignore</A>.
-
-<A NAME="IDX409"></A>
-<DT><CODE>$CVSWRAPPERS</CODE>
-<DD>
-A whitespace-separated list of file name patterns that
-CVS should treat as wrappers. See section <A HREF="cvs_21.html#SEC138">The 
cvswrappers file</A>.
-
-<A NAME="IDX410"></A>
-<A NAME="IDX411"></A>
-<DT><CODE>$CVSREAD</CODE>
-<DD>
-If this is set, <CODE>checkout</CODE> and <CODE>update</CODE> will
-try hard to make the files in your working directory
-read-only.  When this is not set, the default behavior
-is to permit modification of your working files.
-
-<A NAME="IDX412"></A>
-<DT><CODE>$CVSROOT</CODE>
-<DD>
-Should contain the full pathname to the root of the CVS
-source repository (where the RCS history files are
-kept).  This information must be available to CVS for
-most commands to execute; if <CODE>$CVSROOT</CODE> is not set,
-or if you wish to override it for one invocation, you
-can supply it on the command line: <SAMP>`cvs -d cvsroot
-cvs_command...'</SAMP> Once you have checked out a working
-directory, CVS stores the appropriate root (in
-the file <TT>`CVS/Root'</TT>), so normally you only need to
-worry about this when initially checking out a working 
-directory.
-
-<A NAME="IDX413"></A>
-<A NAME="IDX414"></A>
-<DT><CODE>$EDITOR</CODE>
-<DD>
-<DT><CODE>$CVSEDITOR</CODE>
-<DD>
-Specifies the program to use for recording log messages
-during commit.  If not set, the default is
-<SAMP>`/usr/ucb/vi'</SAMP>.  <CODE>$CVSEDITOR</CODE> overrides
-<CODE>$EDITOR</CODE>.  <CODE>$CVSEDITOR</CODE> does not exist in
-CVS 1.3, but the next release will probably
-include it.
-
-<A NAME="IDX415"></A>
-<DT><CODE>$PATH</CODE>
-<DD>
-If <CODE>$RCSBIN</CODE> is not set, and no path is compiled
-into CVS, it will use <CODE>$PATH</CODE> to try to find all
-programs it uses.
-
-<A NAME="IDX416"></A>
-<DT><CODE>$RCSBIN</CODE>
-<DD>
-This is the value CVS is using for where to find
-RCS binaries.  See section <A HREF="cvs_20.html#SEC89">Global options</A>, for 
a
-description of how to specify this.  If not set, a
-compiled-in value is used, or your <CODE>$PATH</CODE> is searched.
-
-<A NAME="IDX417"></A>
-<DT><CODE>$HOME</CODE>
-<DD>
-<A NAME="IDX418"></A>
-<DT><CODE>$HOMEPATH</CODE>
-<DD>
-Used to locate the directory where the <TT>`.cvsrc'</TT>
-file is searched (<CODE>$HOMEPATH</CODE> is used for Windows-NT).
-see section <A HREF="cvs_20.html#SEC88">Default options and the ~/.cvsrc 
file</A>
-
-<A NAME="IDX419"></A>
-<DT><CODE>$CVS_RSH</CODE>
-<DD>
-Specifies the external program which CVS connects with,
-when <CODE>:ext:</CODE> access method is specified.
-see section <A HREF="cvs_5.html#SEC25">Connecting with rsh</A>.
-
-<DT><CODE>$CVS_SERVER</CODE>
-<DD>
-Used in client-server mode when accessing a remote
-repository using RSH.  It specifies the name of
-the program to start on the server side when accessing
-a remote repository using RSH.  The default value
-is <CODE>cvs</CODE>.  see section <A HREF="cvs_5.html#SEC25">Connecting with 
rsh</A>
-
-<DT><CODE>$CVS_PASSFILE</CODE>
-<DD>
-Used in client-server mode when accessing the <CODE>cvs
-login server</CODE>.  Default value is <TT>`$HOME/.cvspass'</TT>.
-see section <A HREF="cvs_5.html#SEC28">Using the client with password 
authentication</A>
-
-<DT><CODE>$CVS_PASSWORD</CODE>
-<DD>
-Used in client-server mode when accessing the <CODE>cvs
-login server</CODE>.
-see section <A HREF="cvs_5.html#SEC28">Using the client with password 
authentication</A>
-
-<DT><CODE>$CVS_CLIENT_PORT</CODE>
-<DD>
-Used in client-server mode when accessing the server
-via Kerberos.
-see section <A HREF="cvs_5.html#SEC30">Direct connection with kerberos</A>
-
-<A NAME="IDX420"></A>
-<DT><CODE>$CVS_RCMD_PORT</CODE>
-<DD>
-Used in client-server mode.  If set, specifies the port
-number to be used when accessing the RCMD demon on
-the server side. (Currently not used for Unix clients).
-
-<A NAME="IDX421"></A>
-<DT><CODE>$CVS_CLIENT_LOG</CODE>
-<DD>
-Used for debugging only in client-server
-mode.  If set, everything send to the server is logged
-into <TT>`<CODE>$CVS_CLIENT_LOG</CODE>.in'</TT> and everything
-send from the server is logged into
-<TT>`<CODE>$CVS_CLIENT_LOG</CODE>.out'</TT>.
-
-<A NAME="IDX422"></A>
-<DT><CODE>$CVS_SERVER_SLEEP</CODE>
-<DD>
-Used only for debugging the server side in
-client-server mode.  If set, delays the start of the
-server child process the the specified amount of
-seconds so that you can attach to it with a debugger.
-
-<A NAME="IDX423"></A>
-<DT><CODE>$CVS_IGNORE_REMOTE_ROOT</CODE>
-<DD>
-(What is the purpose of this variable?)
-
-<A NAME="IDX424"></A>
-<DT><CODE>$COMSPEC</CODE>
-<DD>
-Used under OS/2 only.  It specifies the name of the
-command interpreter and defaults to CMD.EXE.
-
-<A NAME="IDX425"></A>
-<DT><CODE>$TMPDIR</CODE>
-<DD>
-<A NAME="IDX426"></A>
-<DT><CODE>$TMP</CODE>
-<DD>
-<A NAME="IDX427"></A>
-<DT><CODE>$TEMP</CODE>
-<DD>
-<A NAME="IDX428"></A>
-Directory in which temporary files are located.  Those
-parts of CVS which are implemented using RCS
-inspect the above variables in the order they appear
-above and the first value found is taken; if none of
-them are set, a host-dependent default is used,
-typically <TT>`/tmp'</TT>.  The CVS server uses
-<CODE>TMPDIR</CODE>.  See section <A HREF="cvs_20.html#SEC89">Global 
options</A>, for a
-description of how to specify this.
-Some parts of CVS will always use <TT>`/tmp'</TT> (via
-the <CODE>tmpnam</CODE> function provided by the system).
-
-On Windows NT, <CODE>TMP</CODE> is used (via the <CODE>_tempnam</CODE>
-function provided by the system).
-
-The <CODE>patch</CODE> program which is used by the CVS
-client uses <CODE>TMPDIR</CODE>, and if it is not set, uses
-<TT>`/tmp'</TT> (at least with GNU patch 2.1).
-</DL>
-
-<P>
-CVS invokes RCS to perform certain
-operations.  The following environment
-variables affect RCS.  Note that if you are using
-the client/server CVS, these variables need to be
-set on the server side (which may or not may be
-possible depending on how you are connecting).  There
-is probably not any need to set any of them, however.
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>$LOGNAME</CODE>
-<DD>
-<A NAME="IDX429"></A>
- 
-<A NAME="IDX430"></A>
-<DT><CODE>$USER</CODE>
-<DD>
-If set, they affect who RCS thinks you are.  If you
-have trouble checking in files it might be because your
-login name differs from the setting of e.g.
-<CODE>$LOGNAME</CODE>.
-
-<A NAME="IDX431"></A>
-<DT><CODE>$RCSINIT</CODE>
-<DD>
-Options prepended to the argument list, separated by
-spaces.  A backslash escapes spaces within an option.
-The <CODE>$RCSINIT</CODE> options are prepended to the
-argument lists of most RCS commands.
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_21.html">previous</A>, 
<A HREF="cvs_23.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_chapter/cvs_23.html
===================================================================
RCS file: manual/html_chapter/cvs_23.html
diff -N manual/html_chapter/cvs_23.html
--- manual/html_chapter/cvs_23.html     7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,71 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Troubleshooting</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_22.html">previous</A>, 
<A HREF="cvs_24.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC152" HREF="cvs_toc.html#TOC152">Troubleshooting</A></H1>
-
-
-
-<H2><A NAME="SEC153" HREF="cvs_toc.html#TOC153">Magic branch numbers</A></H2>
-
-<P>
-Externally, branch numbers consist of an odd number of
-dot-separated decimal integers.  See section <A 
HREF="cvs_3.html#SEC8">Revision numbers</A>.  That is not the whole truth, 
however.  For
-efficiency reasons CVS sometimes inserts an extra 0
-in the second rightmost position (1.2.3 becomes
-1.2.0.3, 8.9.10.11.12 becomes 8.9.10.11.0.12 and so
-on).
-
-</P>
-<P>
-CVS does a pretty good job at hiding these so
-called magic branches, but in a few places the hiding
-is incomplete:
-
-</P>
-
-<UL>
-<LI>
-
-The magic branch number appears in the output from
-<CODE>cvs log</CODE>.
-
-<LI>
-
-You cannot specify a symbolic branch name to <CODE>cvs
-admin</CODE>.
-
-</UL>
-
-<P>
-You can use the <CODE>admin</CODE> command to reassign a
-symbolic name to a branch the way RCS expects it
-to be.  If <CODE>R4patches</CODE> is assigned to the branch
-1.4.2 (magic branch number 1.4.0.2) in file
-<TT>`numbers.c'</TT> you can do this:
-
-</P>
-
-<PRE>
-$ cvs admin -NR4patches:1.4.2 numbers.c
-</PRE>
-
-<P>
-It only works if at least one revision is already
-committed on the branch.  Be very careful so that you
-do not assign the tag to the wrong number.  (There is
-no way to see how the tag was assigned yesterday).
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_22.html">previous</A>, 
<A HREF="cvs_24.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_chapter/cvs_24.html
===================================================================
RCS file: manual/html_chapter/cvs_24.html
diff -N manual/html_chapter/cvs_24.html
--- manual/html_chapter/cvs_24.html     7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,18 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - GNU GENERAL PUBLIC LICENSE</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_23.html">previous</A>, 
<A HREF="cvs_25.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC154" HREF="cvs_toc.html#TOC154">GNU GENERAL PUBLIC 
LICENSE</A></H1>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_23.html">previous</A>, 
<A HREF="cvs_25.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_chapter/cvs_25.html
===================================================================
RCS file: manual/html_chapter/cvs_25.html
diff -N manual/html_chapter/cvs_25.html
--- manual/html_chapter/cvs_25.html     7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,602 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Index</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_24.html">previous</A>, 
next, last section, <A HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC155" HREF="cvs_toc.html#TOC155">Index</A></H1>
-<P>
-<A NAME="IDX432"></A>
-
-</P>
-<P>
-Jump to:
-<A HREF="#cindex_-">-</A>
--
-<A HREF="#cindex_.">.</A>
--
-<A HREF="#cindex_/">/</A>
--
-<A HREF="#cindex_:">:</A>
--
-<A HREF="#cindex_<">&#60;</A>
--
-<A HREF="#cindex_=">=</A>
--
-<A HREF="#cindex_>">&#62;</A>
--
-<A HREF="#cindex__">_</A>
--
-<A HREF="#cindex_a">a</A>
--
-<A HREF="#cindex_b">b</A>
--
-<A HREF="#cindex_c">c</A>
--
-<A HREF="#cindex_d">d</A>
--
-<A HREF="#cindex_e">e</A>
--
-<A HREF="#cindex_f">f</A>
--
-<A HREF="#cindex_g">g</A>
--
-<A HREF="#cindex_h">h</A>
--
-<A HREF="#cindex_i">i</A>
--
-<A HREF="#cindex_j">j</A>
--
-<A HREF="#cindex_k">k</A>
--
-<A HREF="#cindex_l">l</A>
--
-<A HREF="#cindex_m">m</A>
--
-<A HREF="#cindex_n">n</A>
--
-<A HREF="#cindex_o">o</A>
--
-<A HREF="#cindex_p">p</A>
--
-<A HREF="#cindex_r">r</A>
--
-<A HREF="#cindex_s">s</A>
--
-<A HREF="#cindex_t">t</A>
--
-<A HREF="#cindex_u">u</A>
--
-<A HREF="#cindex_v">v</A>
--
-<A HREF="#cindex_w">w</A>
--
-<A HREF="#cindex_z">z</A>
-<P>
-<H2><A NAME="cindex_-">-</A></H2>
-<DIR>
-<LI><A HREF="cvs_9.html#IDX229">-j (merging branches)</A>
-<LI><A HREF="cvs_17.html#IDX286">-k (RCS kflags)</A>
-</DIR>
-<H2><A NAME="cindex_.">.</A></H2>
-<DIR>
-<LI><A HREF="cvs_20.html#IDX356">.# files</A>
-<LI><A HREF="cvs_5.html#IDX66">.bashrc, setting CVSROOT in</A>
-<LI><A HREF="cvs_5.html#IDX64">.cshrc, setting CVSROOT in</A>
-<LI><A HREF="cvs_20.html#IDX300">.cvsrc file</A>
-<LI><A HREF="cvs_5.html#IDX63">.profile, setting CVSROOT in</A>
-<LI><A HREF="cvs_5.html#IDX65">.tcshrc, setting CVSROOT in</A>
-</DIR>
-<H2><A NAME="cindex_/">/</A></H2>
-<DIR>
-<LI><A HREF="cvs_5.html#IDX60">/usr/local/cvsroot, as example repository</A>
-</DIR>
-<H2><A NAME="cindex_:">:</A></H2>
-<DIR>
-<LI><A HREF="cvs_5.html#IDX101">:ext:</A>
-<LI><A HREF="cvs_5.html#IDX114">:kserver:</A>
-<LI><A HREF="cvs_5.html#IDX62">:local:</A>
-<LI><A HREF="cvs_5.html#IDX110">:pserver:</A>
-<LI><A HREF="cvs_5.html#IDX100">:server:</A>
-</DIR>
-<H2><A NAME="cindex_<">&#60;</A></H2>
-<DIR>
-<LI><A HREF="cvs_7.html#IDX157">&#60;&#60;&#60;&#60;&#60;&#60;&#60;</A>
-</DIR>
-<H2><A NAME="cindex_=">=</A></H2>
-<DIR>
-<LI><A HREF="cvs_7.html#IDX159">=======</A>
-</DIR>
-<H2><A NAME="cindex_>">&#62;</A></H2>
-<DIR>
-<LI><A HREF="cvs_7.html#IDX158">&#62;&#62;&#62;&#62;&#62;&#62;&#62;</A>
-</DIR>
-<H2><A NAME="cindex__">_</A></H2>
-<DIR>
-<LI><A HREF="cvs_20.html#IDX357">__ files (VMS)</A>
-</DIR>
-<H2><A NAME="cindex_a">a</A></H2>
-<DIR>
-<LI><A HREF="cvs_4.html#IDX35">A sample session</A>
-<LI><A HREF="cvs_7.html#IDX185">abandoning work</A>
-<LI><A HREF="cvs_1.html#IDX2">About this manual</A>
-<LI><A HREF="cvs_11.html#IDX244">add (subcommand)</A>
-<LI><A HREF="cvs_8.html#IDX203">Adding a tag</A>
-<LI><A HREF="cvs_11.html#IDX243">Adding files</A>
-<LI><A HREF="cvs_20.html#IDX328">Admin (subcommand)</A>
-<LI><A HREF="cvs_5.html#IDX79">Administrative files (intro)</A>
-<LI><A HREF="cvs_21.html#IDX358">Administrative files (reference)</A>
-<LI><A HREF="cvs_5.html#IDX84">Administrative files, editing them</A>
-<LI><A HREF="cvs_21.html#IDX382">ALL in commitinfo</A>
-<LI><A HREF="cvs_16.html#IDX267">annotate (subcommand)</A>
-<LI><A HREF="cvs_7.html#IDX167">Atomic transactions, lack of</A>
-<LI><A HREF="cvs_5.html#IDX109">authenticated client, using</A>
-<LI><A HREF="cvs_5.html#IDX104">authenticating server, setting up</A>
-<LI><A HREF="cvs_17.html#IDX273">Author keyword</A>
-<LI><A HREF="cvs_21.html#IDX403">Automatically ignored files</A>
-<LI><A HREF="cvs_20.html#IDX327">Avoiding editor invocation</A>
-</DIR>
-<H2><A NAME="cindex_b">b</A></H2>
-<DIR>
-<LI><A HREF="cvs_18.html#IDX288">Binary files</A>
-<LI><A HREF="cvs_9.html#IDX231">Branch merge example</A>
-<LI><A HREF="cvs_3.html#IDX30">Branch number</A>
-<LI><A HREF="cvs_8.html#IDX213">Branch numbers</A>
-<LI><A HREF="cvs_8.html#IDX211">Branch, creating a</A>
-<LI><A HREF="cvs_13.html#IDX254">Branch, vendor-</A>
-<LI><A HREF="cvs_8.html#IDX194">Branches</A>
-<LI><A HREF="cvs_8.html#IDX207">Branches motivation</A>
-<LI><A HREF="cvs_9.html#IDX225">Branches, copying changes between</A>
-<LI><A HREF="cvs_8.html#IDX216">Branches, sticky</A>
-<LI><A HREF="cvs_7.html#IDX146">Bringing a file up to date</A>
-<LI><A HREF="cvs_1.html#IDX7">Bugs, known in this manual</A>
-<LI><A HREF="cvs_1.html#IDX10">Bugs, reporting (manual)</A>
-</DIR>
-<H2><A NAME="cindex_c">c</A></H2>
-<DIR>
-<LI><A HREF="cvs_9.html#IDX226">Changes, copying between branches</A>
-<LI><A HREF="cvs_20.html#IDX329">Changing a log message</A>
-<LI><A HREF="cvs_21.html#IDX394">checked out copy, keeping</A>
-<LI><A HREF="cvs_21.html#IDX365">Checkin program</A>
-<LI><A HREF="cvs_21.html#IDX379">Checking commits</A>
-<LI><A HREF="cvs_4.html#IDX42">Checking out source</A>
-<LI><A HREF="cvs_20.html#IDX340">Checkout (subcommand)</A>
-<LI><A HREF="cvs_21.html#IDX366">Checkout program</A>
-<LI><A HREF="cvs_7.html#IDX181">checkout, as term for getting ready to edit</A>
-<LI><A HREF="cvs_4.html#IDX45">Checkout, example</A>
-<LI><A HREF="cvs_7.html#IDX193">choosing, reserved or unreserved checkouts</A>
-<LI><A HREF="cvs_4.html#IDX50">Cleaning up</A>
-<LI><A HREF="cvs_5.html#IDX97">Client/Server Operation</A>
-<LI><A HREF="cvs_20.html#IDX341">Co (subcommand)</A>
-<LI><A HREF="cvs_20.html#IDX293">Command reference</A>
-<LI><A HREF="cvs_20.html#IDX298">Command structure</A>
-<LI><A HREF="cvs_20.html#IDX337">Comment leader</A>
-<LI><A HREF="cvs_20.html#IDX342">Commit (subcommand)</A>
-<LI><A HREF="cvs_21.html#IDX374">Commit files</A>
-<LI><A HREF="cvs_19.html#IDX291">Commit, when to</A>
-<LI><A HREF="cvs_21.html#IDX378">Commitinfo</A>
-<LI><A HREF="cvs_4.html#IDX46">Committing changes</A>
-<LI><A HREF="cvs_20.html#IDX318">Common options</A>
-<LI><A HREF="cvs_21.html#IDX377">Common syntax of info files</A>
-<LI><A HREF="cvs_22.html#IDX424">COMSPEC</A>
-<LI><A HREF="cvs_7.html#IDX156">Conflict markers</A>
-<LI><A HREF="cvs_7.html#IDX161">Conflict resolution</A>
-<LI><A HREF="cvs_7.html#IDX154">Conflicts (merge example)</A>
-<LI><A HREF="cvs_2.html#IDX18">Contributors (CVS program)</A>
-<LI><A HREF="cvs_1.html#IDX5">Contributors (manual)</A>
-<LI><A HREF="cvs_9.html#IDX224">Copying changes</A>
-<LI><A HREF="cvs_20.html#IDX331">Correcting a log message</A>
-<LI><A HREF="cvs_8.html#IDX210">Creating a branch</A>
-<LI><A HREF="cvs_6.html#IDX118">Creating a project</A>
-<LI><A HREF="cvs_5.html#IDX92">Creating a repository</A>
-<LI><A HREF="cvs_2.html#IDX17">Credits (CVS program)</A>
-<LI><A HREF="cvs_1.html#IDX6">Credits (manual)</A>
-<LI><A HREF="cvs_7.html#IDX192">CVS 1.6, and watches</A>
-<LI><A HREF="cvs_20.html#IDX297">CVS command structure</A>
-<LI><A HREF="cvs_5.html#IDX105">CVS passwd file</A>
-<LI><A HREF="cvs_2.html#IDX16">CVS, history of</A>
-<LI><A HREF="cvs_2.html#IDX14">CVS, introduction to</A>
-<LI><A HREF="cvs_22.html#IDX421">CVS_CLIENT_LOG</A>
-<LI><A HREF="cvs_5.html#IDX115">CVS_CLIENT_PORT</A>
-<LI><A HREF="cvs_22.html#IDX423">CVS_IGNORE_REMOTE_ROOT</A>
-<LI><A HREF="cvs_5.html#IDX111">CVS_PASSFILE, environment variable</A>
-<LI><A HREF="cvs_5.html#IDX112">CVS_PASSWORD, environment variable</A>
-<LI><A HREF="cvs_22.html#IDX420">CVS_RCMD_PORT</A>
-<LI><A HREF="cvs_22.html#IDX419">CVS_RSH</A>
-<LI><A HREF="cvs_5.html#IDX99">CVS_SERVER</A>
-<LI><A HREF="cvs_22.html#IDX422">CVS_SERVER_SLEEP</A>
-<LI><A HREF="cvs_22.html#IDX414">CVSEDITOR</A>
-<LI><A HREF="cvs_4.html#IDX48">CVSEDITOR, environment variable</A>
-<LI><A HREF="cvs_22.html#IDX408">CVSIGNORE</A>
-<LI><A HREF="cvs_21.html#IDX399">cvsignore (admin file), global</A>
-<LI><A HREF="cvs_22.html#IDX410">CVSREAD</A>
-<LI><A HREF="cvs_20.html#IDX316">CVSREAD, overriding</A>
-<LI><A HREF="cvs_22.html#IDX412">CVSROOT</A>
-<LI><A HREF="cvs_5.html#IDX61">cvsroot</A>
-<LI><A HREF="cvs_21.html#IDX361">CVSROOT (file)</A>
-<LI><A HREF="cvs_5.html#IDX67">CVSROOT, environment variable</A>
-<LI><A HREF="cvs_5.html#IDX81">CVSROOT, module name</A>
-<LI><A HREF="cvs_5.html#IDX90">CVSROOT, multiple repositories</A>
-<LI><A HREF="cvs_20.html#IDX309">CVSROOT, overriding</A>
-<LI><A HREF="cvs_5.html#IDX75">CVSUMASK</A>
-<LI><A HREF="cvs_22.html#IDX409">CVSWRAPPERS</A>
-<LI><A HREF="cvs_21.html#IDX371">cvswrappers (admin file)</A>
-<LI><A HREF="cvs_21.html#IDX372">CVSWRAPPERS, environment variable</A>
-</DIR>
-<H2><A NAME="cindex_d">d</A></H2>
-<DIR>
-<LI><A HREF="cvs_17.html#IDX274">Date keyword</A>
-<LI><A HREF="cvs_20.html#IDX320">Dates</A>
-<LI><A HREF="cvs_3.html#IDX28">Decimal revision number</A>
-<LI><A HREF="cvs_21.html#IDX381">DEFAULT in commitinfo</A>
-<LI><A HREF="cvs_21.html#IDX387">DEFAULT in editinfo</A>
-<LI><A HREF="cvs_6.html#IDX123">Defining a module</A>
-<LI><A HREF="cvs_5.html#IDX82">Defining modules (intro)</A>
-<LI><A HREF="cvs_21.html#IDX363">Defining modules (reference manual)</A>
-<LI><A HREF="cvs_12.html#IDX247">Deleting files</A>
-<LI><A HREF="cvs_20.html#IDX334">Deleting revisions</A>
-<LI><A HREF="cvs_8.html#IDX219">Deleting sticky tags</A>
-<LI><A HREF="cvs_10.html#IDX241">Descending directories</A>
-<LI><A HREF="cvs_4.html#IDX55">Diff</A>
-<LI><A HREF="cvs_20.html#IDX343">Diff (subcommand)</A>
-<LI><A HREF="cvs_9.html#IDX236">Differences, merging</A>
-<LI><A HREF="cvs_15.html#IDX262">Directories, moving</A>
-<LI><A HREF="cvs_10.html#IDX240">Directory, descending</A>
-<LI><A HREF="cvs_5.html#IDX89">Disjoint repositories</A>
-<LI><A HREF="cvs_21.html#IDX391">Distributing log messages</A>
-<LI><A HREF="cvs_7.html#IDX153">driver.c (merge example)</A>
-</DIR>
-<H2><A NAME="cindex_e">e</A></H2>
-<DIR>
-<LI><A HREF="cvs_7.html#IDX182">edit (subcommand)</A>
-<LI><A HREF="cvs_21.html#IDX383">editinfo (admin file)</A>
-<LI><A HREF="cvs_5.html#IDX83">Editing administrative files</A>
-<LI><A HREF="cvs_6.html#IDX124">Editing the modules file</A>
-<LI><A HREF="cvs_22.html#IDX413">EDITOR</A>
-<LI><A HREF="cvs_20.html#IDX326">Editor, avoiding invocation of</A>
-<LI><A HREF="cvs_4.html#IDX49">EDITOR, environment variable</A>
-<LI><A HREF="cvs_20.html#IDX311">EDITOR, overriding</A>
-<LI><A HREF="cvs_21.html#IDX384">Editor, specifying per module</A>
-<LI><A HREF="cvs_7.html#IDX190">editors (subcommand)</A>
-<LI><A HREF="cvs_7.html#IDX162">emerge</A>
-<LI><A HREF="cvs_22.html#IDX406">Environment variables</A>
-<LI><A HREF="cvs_1.html#IDX11">Errors, reporting (manual)</A>
-<LI><A HREF="cvs_4.html#IDX36">Example of a work-session</A>
-<LI><A HREF="cvs_7.html#IDX152">Example of merge</A>
-<LI><A HREF="cvs_9.html#IDX232">Example, branch merge</A>
-<LI><A HREF="cvs_20.html#IDX344">Export (subcommand)</A>
-<LI><A HREF="cvs_21.html#IDX364">Export program</A>
-</DIR>
-<H2><A NAME="cindex_f">f</A></H2>
-<DIR>
-<LI><A HREF="cvs_4.html#IDX43">Fetching source</A>
-<LI><A HREF="cvs_7.html#IDX129">File locking</A>
-<LI><A HREF="cvs_5.html#IDX72">File permissions</A>
-<LI><A HREF="cvs_7.html#IDX135">File status</A>
-<LI><A HREF="cvs_14.html#IDX259">Files, moving</A>
-<LI><A HREF="cvs_21.html#IDX359">Files, reference manual</A>
-<LI><A HREF="cvs_20.html#IDX332">Fixing a log message</A>
-<LI><A HREF="cvs_20.html#IDX325">Forcing a tag match</A>
-<LI><A HREF="cvs_21.html#IDX396">Form for log message</A>
-<LI><A HREF="cvs_20.html#IDX299">Format of CVS commands</A>
-</DIR>
-<H2><A NAME="cindex_g">g</A></H2>
-<DIR>
-<LI><A HREF="cvs_4.html#IDX37">Getting started</A>
-<LI><A HREF="cvs_4.html#IDX41">Getting the source</A>
-<LI><A HREF="cvs_21.html#IDX400">Global cvsignore</A>
-<LI><A HREF="cvs_20.html#IDX303">Global options</A>
-<LI><A HREF="cvs_5.html#IDX73">Group</A>
-</DIR>
-<H2><A NAME="cindex_h">h</A></H2>
-<DIR>
-<LI><A HREF="cvs_17.html#IDX275">Header keyword</A>
-<LI><A HREF="cvs_20.html#IDX345">History (subcommand)</A>
-<LI><A HREF="cvs_16.html#IDX263">History browsing</A>
-<LI><A HREF="cvs_21.html#IDX404">History file</A>
-<LI><A HREF="cvs_5.html#IDX69">History files</A>
-<LI><A HREF="cvs_2.html#IDX15">History of CVS</A>
-<LI><A HREF="cvs_22.html#IDX417">HOME</A>
-<LI><A HREF="cvs_22.html#IDX418">HOMEPATH</A>
-</DIR>
-<H2><A NAME="cindex_i">i</A></H2>
-<DIR>
-<LI><A HREF="cvs_17.html#IDX276">Id keyword</A>
-<LI><A HREF="cvs_17.html#IDX284">Ident (shell command)</A>
-<LI><A HREF="cvs_17.html#IDX271">Identifying files</A>
-<LI><A HREF="cvs_21.html#IDX402">Ignored files</A>
-<LI><A HREF="cvs_21.html#IDX401">Ignoring files</A>
-<LI><A HREF="cvs_20.html#IDX346">Import (subcommand)</A>
-<LI><A HREF="cvs_6.html#IDX119">Importing files</A>
-<LI><A HREF="cvs_6.html#IDX120">Importing files, from other version control 
systesm</A>
-<LI><A HREF="cvs_13.html#IDX255">Importing modules</A>
-<LI><A HREF="cvs_25.html#IDX432">Index</A>
-<LI><A HREF="cvs_21.html#IDX375">Info files (syntax)</A>
-<LI><A HREF="cvs_7.html#IDX163">Informing others</A>
-<LI><A HREF="cvs_5.html#IDX94">init (subcommand)</A>
-<LI><A HREF="cvs_2.html#IDX13">Introduction to CVS</A>
-<LI><A HREF="cvs_20.html#IDX295">Invoking CVS</A>
-<LI><A HREF="cvs_16.html#IDX265">Isolation</A>
-</DIR>
-<H2><A NAME="cindex_j">j</A></H2>
-<DIR>
-<LI><A HREF="cvs_9.html#IDX230">Join</A>
-</DIR>
-<H2><A NAME="cindex_k">k</A></H2>
-<DIR>
-<LI><A HREF="cvs_21.html#IDX393">keeping a checked out copy</A>
-<LI><A HREF="cvs_5.html#IDX113">kerberos</A>
-<LI><A HREF="cvs_17.html#IDX270">Keyword expansion</A>
-<LI><A HREF="cvs_17.html#IDX269">Keyword substitution</A>
-<LI><A HREF="cvs_17.html#IDX287">Kflag</A>
-<LI><A HREF="cvs_5.html#IDX116">kinit</A>
-<LI><A HREF="cvs_1.html#IDX8">Known bugs in this manual</A>
-</DIR>
-<H2><A NAME="cindex_l">l</A></H2>
-<DIR>
-<LI><A HREF="cvs_5.html#IDX58">Layout of repository</A>
-<LI><A HREF="cvs_20.html#IDX304">Left-hand options</A>
-<LI><A HREF="cvs_3.html#IDX26">Linear development</A>
-<LI><A HREF="cvs_2.html#IDX21">List, mailing list</A>
-<LI><A HREF="cvs_7.html#IDX139">Locally Added</A>
-<LI><A HREF="cvs_7.html#IDX138">Locally Modified</A>
-<LI><A HREF="cvs_7.html#IDX140">Locally Removed</A>
-<LI><A HREF="cvs_17.html#IDX278">Locker keyword</A>
-<LI><A HREF="cvs_7.html#IDX130">Locking files</A>
-<LI><A HREF="cvs_7.html#IDX166">locks, cvs</A>
-<LI><A HREF="cvs_20.html#IDX347">Log (subcommand)</A>
-<LI><A HREF="cvs_21.html#IDX405">Log information, saving</A>
-<LI><A HREF="cvs_17.html#IDX279">Log keyword</A>
-<LI><A HREF="cvs_20.html#IDX338">Log keyword, selecting comment leader</A>
-<LI><A HREF="cvs_4.html#IDX47">Log message entry</A>
-<LI><A HREF="cvs_21.html#IDX397">Log message template</A>
-<LI><A HREF="cvs_20.html#IDX333">Log message, correcting</A>
-<LI><A HREF="cvs_21.html#IDX392">Log messages</A>
-<LI><A HREF="cvs_21.html#IDX386">Log messages, editing</A>
-<LI><A HREF="cvs_5.html#IDX107">Login (subcommand)</A>
-<LI><A HREF="cvs_21.html#IDX388">loginfo (admin file)</A>
-<LI><A HREF="cvs_22.html#IDX429">LOGNAME</A>
-</DIR>
-<H2><A NAME="cindex_m">m</A></H2>
-<DIR>
-<LI><A HREF="cvs_7.html#IDX165">Mail, automatic mail on commit</A>
-<LI><A HREF="cvs_2.html#IDX20">Mailing list</A>
-<LI><A HREF="cvs_21.html#IDX390">Mailing log messages</A>
-<LI><A HREF="cvs_3.html#IDX29">Main trunk (intro)</A>
-<LI><A HREF="cvs_8.html#IDX195">Main trunk and branches</A>
-<LI><A HREF="cvs_5.html#IDX87">Many repositories</A>
-<LI><A HREF="cvs_7.html#IDX155">Markers, conflict</A>
-<LI><A HREF="cvs_7.html#IDX151">Merge, an example</A>
-<LI><A HREF="cvs_9.html#IDX233">Merge, branch example</A>
-<LI><A HREF="cvs_9.html#IDX223">Merging</A>
-<LI><A HREF="cvs_9.html#IDX228">Merging a branch</A>
-<LI><A HREF="cvs_7.html#IDX148">Merging a file</A>
-<LI><A HREF="cvs_9.html#IDX234">Merging two revisions</A>
-<LI><A HREF="cvs_9.html#IDX227">Modifications, copying between branches</A>
-<LI><A HREF="cvs_21.html#IDX368">Module status</A>
-<LI><A HREF="cvs_6.html#IDX125">Module, defining</A>
-<LI><A HREF="cvs_21.html#IDX362">Modules (admin file)</A>
-<LI><A HREF="cvs_3.html#IDX23">Modules (intro)</A>
-<LI><A HREF="cvs_5.html#IDX80">Modules file</A>
-<LI><A HREF="cvs_6.html#IDX126">Modules file, changing</A>
-<LI><A HREF="cvs_8.html#IDX209">Motivation for branches</A>
-<LI><A HREF="cvs_15.html#IDX260">Moving directories</A>
-<LI><A HREF="cvs_14.html#IDX257">Moving files</A>
-<LI><A HREF="cvs_7.html#IDX127">Multiple developers</A>
-<LI><A HREF="cvs_5.html#IDX85">Multiple repositories</A>
-</DIR>
-<H2><A NAME="cindex_n">n</A></H2>
-<DIR>
-<LI><A HREF="cvs_17.html#IDX277">Name keyword</A>
-<LI><A HREF="cvs_8.html#IDX202">Name, symbolic (tag)</A>
-<LI><A HREF="cvs_7.html#IDX141">Needs Checkout</A>
-<LI><A HREF="cvs_7.html#IDX143">Needs Merge</A>
-<LI><A HREF="cvs_7.html#IDX142">Needs Patch</A>
-<LI><A HREF="cvs_2.html#IDX22">Newsgroups</A>
-<LI><A HREF="cvs_7.html#IDX179">notify (admin file)</A>
-<LI><A HREF="cvs_20.html#IDX339">Nroff (selecting comment leader)</A>
-<LI><A HREF="cvs_3.html#IDX31">Number, branch</A>
-<LI><A HREF="cvs_3.html#IDX27">Number, revision-</A>
-</DIR>
-<H2><A NAME="cindex_o">o</A></H2>
-<DIR>
-<LI><A HREF="cvs_20.html#IDX301">option defaults</A>
-<LI><A HREF="cvs_20.html#IDX302">Options, global</A>
-<LI><A HREF="cvs_20.html#IDX335">Outdating revisions</A>
-<LI><A HREF="cvs_7.html#IDX150">Overlap</A>
-<LI><A HREF="cvs_20.html#IDX317">Overriding CVSREAD</A>
-<LI><A HREF="cvs_20.html#IDX310">Overriding CVSROOT</A>
-<LI><A HREF="cvs_20.html#IDX312">Overriding EDITOR</A>
-<LI><A HREF="cvs_20.html#IDX306">Overriding RCSBIN</A>
-<LI><A HREF="cvs_20.html#IDX308">Overriding TMPDIR</A>
-</DIR>
-<H2><A NAME="cindex_p">p</A></H2>
-<DIR>
-<LI><A HREF="cvs_5.html#IDX88">Parallel repositories</A>
-<LI><A HREF="cvs_5.html#IDX106">passwd (admin file)</A>
-<LI><A HREF="cvs_5.html#IDX108">password client, using</A>
-<LI><A HREF="cvs_5.html#IDX103">password server, setting up</A>
-<LI><A HREF="cvs_22.html#IDX415">PATH</A>
-<LI><A HREF="cvs_21.html#IDX385">Per-module editor</A>
-<LI><A HREF="cvs_19.html#IDX292">Policy</A>
-<LI><A HREF="cvs_21.html#IDX380">Precommit checking</A>
-<LI><A HREF="cvs_1.html#IDX1">Preface</A>
-<LI><A HREF="cvs_5.html#IDX102">Pserver (subcommand)</A>
-</DIR>
-<H2><A NAME="cindex_r">r</A></H2>
-<DIR>
-<LI><A HREF="cvs_5.html#IDX70">RCS history files</A>
-<LI><A HREF="cvs_17.html#IDX272">RCS keywords</A>
-<LI><A HREF="cvs_8.html#IDX198">RCS revision numbers</A>
-<LI><A HREF="cvs_6.html#IDX121">RCS, importing files from</A>
-<LI><A HREF="cvs_7.html#IDX134">RCS-style locking</A>
-<LI><A HREF="cvs_22.html#IDX416">RCSBIN</A>
-<LI><A HREF="cvs_20.html#IDX305">RCSBIN, overriding</A>
-<LI><A HREF="cvs_17.html#IDX280">RCSfile keyword</A>
-<LI><A HREF="cvs_21.html#IDX395">rcsinfo (admin file)</A>
-<LI><A HREF="cvs_22.html#IDX431">RCSINIT</A>
-<LI><A HREF="cvs_20.html#IDX350">Rdiff (subcommand)</A>
-<LI><A HREF="cvs_20.html#IDX314">read-only files, and -r</A>
-<LI><A HREF="cvs_22.html#IDX411">read-only files, and CVSREAD</A>
-<LI><A HREF="cvs_7.html#IDX172">read-only files, and watches</A>
-<LI><A HREF="cvs_5.html#IDX74">read-only files, in repository</A>
-<LI><A HREF="cvs_20.html#IDX313">Read-only mode</A>
-<LI><A HREF="cvs_10.html#IDX239">Recursive (directory descending)</A>
-<LI><A HREF="cvs_21.html#IDX360">Reference manual (files)</A>
-<LI><A HREF="cvs_22.html#IDX407">Reference manual for variables</A>
-<LI><A HREF="cvs_20.html#IDX294">Reference, commands</A>
-<LI><A HREF="cvs_20.html#IDX351">Release (subcommand)</A>
-<LI><A HREF="cvs_3.html#IDX34">Releases, revisions and versions</A>
-<LI><A HREF="cvs_4.html#IDX53">Releasing your working copy</A>
-<LI><A HREF="cvs_5.html#IDX96">Remote repositories</A>
-<LI><A HREF="cvs_12.html#IDX248">Remove (subcommand)</A>
-<LI><A HREF="cvs_9.html#IDX238">Removing a change</A>
-<LI><A HREF="cvs_12.html#IDX246">Removing files</A>
-<LI><A HREF="cvs_4.html#IDX52">Removing your working copy</A>
-<LI><A HREF="cvs_15.html#IDX261">Renaming directories</A>
-<LI><A HREF="cvs_14.html#IDX258">Renaming files</A>
-<LI><A HREF="cvs_20.html#IDX330">Replacing a log message</A>
-<LI><A HREF="cvs_1.html#IDX9">Reporting bugs (manual)</A>
-<LI><A HREF="cvs_5.html#IDX86">Repositories, multiple</A>
-<LI><A HREF="cvs_5.html#IDX95">Repositories, remote</A>
-<LI><A HREF="cvs_5.html#IDX56">Repository (intro)</A>
-<LI><A HREF="cvs_5.html#IDX57">Repository, example</A>
-<LI><A HREF="cvs_5.html#IDX68">Repository, how data is stored</A>
-<LI><A HREF="cvs_5.html#IDX91">Repository, setting up</A>
-<LI><A HREF="cvs_7.html#IDX132">reserved checkouts</A>
-<LI><A HREF="cvs_8.html#IDX217">Resetting sticky tags</A>
-<LI><A HREF="cvs_7.html#IDX160">Resolving a conflict</A>
-<LI><A HREF="cvs_8.html#IDX221">Restoring old version of removed file</A>
-<LI><A HREF="cvs_8.html#IDX222">Resurrecting old version of dead file</A>
-<LI><A HREF="cvs_8.html#IDX205">Retrieving an old revision using tags</A>
-<LI><A HREF="cvs_7.html#IDX186">reverting to repository version</A>
-<LI><A HREF="cvs_17.html#IDX281">Revision keyword</A>
-<LI><A HREF="cvs_19.html#IDX289">Revision management</A>
-<LI><A HREF="cvs_3.html#IDX24">Revision numbers</A>
-<LI><A HREF="cvs_3.html#IDX25">Revision tree</A>
-<LI><A HREF="cvs_8.html#IDX196">Revision tree, making branches</A>
-<LI><A HREF="cvs_9.html#IDX235">Revisions, merging differences between</A>
-<LI><A HREF="cvs_3.html#IDX32">Revisions, versions and releases</A>
-<LI><A HREF="cvs_20.html#IDX319">Right-hand options</A>
-<LI><A HREF="cvs_5.html#IDX98">rsh</A>
-<LI><A HREF="cvs_20.html#IDX352">Rtag (subcommand)</A>
-<LI><A HREF="cvs_8.html#IDX212">rtag, creating a branch using</A>
-</DIR>
-<H2><A NAME="cindex_s">s</A></H2>
-<DIR>
-<LI><A HREF="cvs_20.html#IDX336">Saving space</A>
-<LI><A HREF="cvs_6.html#IDX122">SCCS, importing files from</A>
-<LI><A HREF="cvs_5.html#IDX71">Security</A>
-<LI><A HREF="cvs_5.html#IDX78">setgid</A>
-<LI><A HREF="cvs_5.html#IDX93">Setting up a repository</A>
-<LI><A HREF="cvs_5.html#IDX77">setuid</A>
-<LI><A HREF="cvs_1.html#IDX3">Signum Support</A>
-<LI><A HREF="cvs_17.html#IDX282">Source keyword</A>
-<LI><A HREF="cvs_2.html#IDX19">Source, getting CVS source</A>
-<LI><A HREF="cvs_4.html#IDX44">Source, getting from CVS</A>
-<LI><A HREF="cvs_20.html#IDX322">Specifying dates</A>
-<LI><A HREF="cvs_7.html#IDX164">Spreading information</A>
-<LI><A HREF="cvs_6.html#IDX117">Starting a project with CVS</A>
-<LI><A HREF="cvs_17.html#IDX283">State keyword</A>
-<LI><A HREF="cvs_20.html#IDX353">Status (subcommand)</A>
-<LI><A HREF="cvs_7.html#IDX136">Status of a file</A>
-<LI><A HREF="cvs_21.html#IDX367">Status of a module</A>
-<LI><A HREF="cvs_8.html#IDX220">sticky date</A>
-<LI><A HREF="cvs_8.html#IDX214">Sticky tags</A>
-<LI><A HREF="cvs_8.html#IDX218">Sticky tags, resetting</A>
-<LI><A HREF="cvs_21.html#IDX389">Storing log messages</A>
-<LI><A HREF="cvs_20.html#IDX296">Structure</A>
-<LI><A HREF="cvs_10.html#IDX242">Subdirectories</A>
-<LI><A HREF="cvs_1.html#IDX4">Support, getting CVS support</A>
-<LI><A HREF="cvs_8.html#IDX201">Symbolic name (tag)</A>
-<LI><A HREF="cvs_21.html#IDX376">Syntax of info files</A>
-</DIR>
-<H2><A NAME="cindex_t">t</A></H2>
-<DIR>
-<LI><A HREF="cvs_20.html#IDX354">Tag (subcommand)</A>
-<LI><A HREF="cvs_21.html#IDX369">Tag program</A>
-<LI><A HREF="cvs_8.html#IDX199">tag, command, introduction</A>
-<LI><A HREF="cvs_8.html#IDX204">tag, example</A>
-<LI><A HREF="cvs_8.html#IDX206">Tag, retrieving old revisions</A>
-<LI><A HREF="cvs_8.html#IDX200">Tag, symbolic name</A>
-<LI><A HREF="cvs_16.html#IDX266">taginfo</A>
-<LI><A HREF="cvs_8.html#IDX197">Tags</A>
-<LI><A HREF="cvs_8.html#IDX215">Tags, sticky</A>
-<LI><A HREF="cvs_4.html#IDX39">tc, Trivial Compiler (example)</A>
-<LI><A HREF="cvs_7.html#IDX128">Team of developers</A>
-<LI><A HREF="cvs_22.html#IDX427">TEMP</A>
-<LI><A HREF="cvs_21.html#IDX398">Template for log message</A>
-<LI><A HREF="cvs_22.html#IDX428">temporary files, location of</A>
-<LI><A HREF="cvs_13.html#IDX250">Third-party sources</A>
-<LI><A HREF="cvs_20.html#IDX321">Time</A>
-<LI><A HREF="cvs_20.html#IDX323">timezone, in input</A>
-<LI><A HREF="cvs_20.html#IDX348">timezone, in output</A>
-<LI><A HREF="cvs_22.html#IDX426">TMP</A>
-<LI><A HREF="cvs_22.html#IDX425">TMPDIR</A>
-<LI><A HREF="cvs_20.html#IDX307">TMPDIR, overriding</A>
-<LI><A HREF="cvs_20.html#IDX315">Trace</A>
-<LI><A HREF="cvs_16.html#IDX264">Traceability</A>
-<LI><A HREF="cvs_13.html#IDX251">Tracking sources</A>
-<LI><A HREF="cvs_7.html#IDX168">Transactions, atomic, lack of</A>
-<LI><A HREF="cvs_4.html#IDX40">Trivial Compiler (example)</A>
-<LI><A HREF="cvs_5.html#IDX59">Typical repository</A>
-</DIR>
-<H2><A NAME="cindex_u">u</A></H2>
-<DIR>
-<LI><A HREF="cvs_5.html#IDX76">umask, for repository files</A>
-<LI><A HREF="cvs_9.html#IDX237">Undoing a change</A>
-<LI><A HREF="cvs_7.html#IDX184">unedit (subcommand)</A>
-<LI><A HREF="cvs_7.html#IDX145">Unknown</A>
-<LI><A HREF="cvs_7.html#IDX133">unreserved checkouts</A>
-<LI><A HREF="cvs_7.html#IDX144">Unresolved Conflict</A>
-<LI><A HREF="cvs_7.html#IDX137">Up-to-date</A>
-<LI><A HREF="cvs_20.html#IDX355">Update (subcommand)</A>
-<LI><A HREF="cvs_21.html#IDX370">Update program</A>
-<LI><A HREF="cvs_7.html#IDX149">update, introduction</A>
-<LI><A HREF="cvs_7.html#IDX147">Updating a file</A>
-<LI><A HREF="cvs_22.html#IDX430">USER</A>
-<LI><A HREF="cvs_7.html#IDX180">users (admin file)</A>
-</DIR>
-<H2><A NAME="cindex_v">v</A></H2>
-<DIR>
-<LI><A HREF="cvs_13.html#IDX252">Vendor</A>
-<LI><A HREF="cvs_13.html#IDX253">Vendor branch</A>
-<LI><A HREF="cvs_3.html#IDX33">Versions, revisions and releases</A>
-<LI><A HREF="cvs_4.html#IDX54">Viewing differences</A>
-</DIR>
-<H2><A NAME="cindex_w">w</A></H2>
-<DIR>
-<LI><A HREF="cvs_7.html#IDX175">watch add (subcommand)</A>
-<LI><A HREF="cvs_7.html#IDX173">watch off (subcommand)</A>
-<LI><A HREF="cvs_7.html#IDX170">watch on (subcommand)</A>
-<LI><A HREF="cvs_7.html#IDX177">watch remove (subcommand)</A>
-<LI><A HREF="cvs_7.html#IDX188">watchers (subcommand)</A>
-<LI><A HREF="cvs_7.html#IDX169">Watches</A>
-<LI><A HREF="cvs_13.html#IDX256">Wdiff (import example)</A>
-<LI><A HREF="cvs_17.html#IDX285">What (shell command)</A>
-<LI><A HREF="cvs_8.html#IDX208">What branches are good for</A>
-<LI><A HREF="cvs_2.html#IDX12">What is CVS?</A>
-<LI><A HREF="cvs_19.html#IDX290">When to commit</A>
-<LI><A HREF="cvs_4.html#IDX38">Work-session, example of</A>
-<LI><A HREF="cvs_7.html#IDX131">Working copy</A>
-<LI><A HREF="cvs_4.html#IDX51">Working copy, removing</A>
-<LI><A HREF="cvs_21.html#IDX373">Wrappers</A>
-</DIR>
-<H2><A NAME="cindex_z">z</A></H2>
-<DIR>
-<LI><A HREF="cvs_20.html#IDX324">zone, time, in input</A>
-<LI><A HREF="cvs_20.html#IDX349">zone, time, in output</A>
-</DIR>
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_24.html">previous</A>, 
next, last section, <A HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_chapter/cvs_3.html
===================================================================
RCS file: manual/html_chapter/cvs_3.html
diff -N manual/html_chapter/cvs_3.html
--- manual/html_chapter/cvs_3.html      7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,151 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Basic concepts</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_2.html">previous</A>, 
<A HREF="cvs_4.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC7" HREF="cvs_toc.html#TOC7">Basic concepts</A></H1>
-<P>
-<A NAME="IDX23"></A>
-
-</P>
-<P>
-CVS stores all files in a centralized
-<EM>repository</EM> (see section <A HREF="cvs_5.html#SEC15">The 
Repository</A>).
-
-</P>
-<P>
-The repository contains directories and files, in an
-arbitrary tree.  The <EM>modules</EM> feature can be used
-to group together a set of directories or files into a
-single entity (see section <A HREF="cvs_21.html#SEC137">The modules file</A>). 
 A typical usage is to
-define one module per project.
-
-</P>
-
-
-
-<H2><A NAME="SEC8" HREF="cvs_toc.html#TOC8">Revision numbers</A></H2>
-<P>
-<A NAME="IDX24"></A>
-<A NAME="IDX25"></A>
-<A NAME="IDX26"></A>
-<A NAME="IDX27"></A>
-<A NAME="IDX28"></A>
-<A NAME="IDX29"></A>
-<A NAME="IDX30"></A>
-<A NAME="IDX31"></A>
-
-</P>
-<P>
-Each version of a file has a unique <EM>revision
-number</EM>.  Revision numbers look like <SAMP>`1.1'</SAMP>,
-<SAMP>`1.2'</SAMP>, <SAMP>`1.3.2.2'</SAMP> or even <SAMP>`1.3.2.2.4.5'</SAMP>.
-A revision number always has an even number of
-period-separated decimal integers.  By default revision
-1.1 is the first revision of a file.  Each successive
-revision is given a new number by increasing the
-rightmost number by one.  The following figure displays
-a few revisions, with newer revisions to the right.
-
-</P>
-
-<PRE>
-       +-----+    +-----+    +-----+    +-----+    +-----+
-       ! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 1.5 !
-       +-----+    +-----+    +-----+    +-----+    +-----+
-</PRE>
-
-<P>
-CVS is not limited to linear development.  The
-<EM>revision tree</EM> can be split into <EM>branches</EM>,
-where each branch is a self-maintained line of
-development.  Changes made on one branch can easily be
-moved back to the main trunk.  
-
-</P>
-<P>
-Each branch has a <EM>branch number</EM>, consisting of an
-odd number of period-separated decimal integers.  The
-branch number is created by appending an integer to the
-revision number where the corresponding branch forked
-off.  Having branch numbers allows more than one branch
-to be forked off from a certain revision.
-
-</P>
-<P>
-All revisions on a branch have revision numbers formed
-by appending an ordinal number to the branch number.
-The following figure illustrates branching with an
-example.
-
-</P>
-
-<PRE>
-                                                     +-------------+
-                          Branch 1.2.2.3.2 -&#62;        ! 1.2.2.3.2.1 !
-                                                   / +-------------+
-                                                  /
-                                                 /
-                 +---------+    +---------+    +---------+    +---------+
-Branch 1.2.2 -&#62; _! 1.2.2.1 !----! 1.2.2.2 !----! 1.2.2.3 !----! 1.2.2.4 !
-               / +---------+    +---------+    +---------+    +---------+
-              /
-             /
-+-----+    +-----+    +-----+    +-----+    +-----+
-! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 1.5 !      &#60;- The main trunk
-+-----+    +-----+    +-----+    +-----+    +-----+
-                !
-                !
-                !   +---------+    +---------+    +---------+
-Branch 1.2.4 -&#62; +---! 1.2.4.1 !----! 1.2.4.2 !----! 1.2.4.3 !
-                    +---------+    +---------+    +---------+
-
-</PRE>
-
-<P>
-The exact details of how the branch number is
-constructed is not something you normally need to be
-concerned about, but here is how it works: When
-CVS creates a branch number it picks the first
-unused even integer, starting with 2.  So when you want
-to create a branch from revision 6.4 it will be
-numbered 6.4.2.  All branch numbers ending in a zero
-(such as 6.4.0) are used internally by CVS
-(see section <A HREF="cvs_23.html#SEC153">Magic branch numbers</A>).  The 
branch 1.1.1 has a
-special meaning.  See section <A HREF="cvs_13.html#SEC63">Tracking third-party 
sources</A>.
-
-</P>
-
-
-<H2><A NAME="SEC9" HREF="cvs_toc.html#TOC9">Versions, revisions and 
releases</A></H2>
-<P>
-<A NAME="IDX32"></A>
-<A NAME="IDX33"></A>
-<A NAME="IDX34"></A>
-
-</P>
-<P>
-A file can have several versions, as described above.
-Likewise, a software product can have several versions.
-A software product is often given a version number such
-as <SAMP>`4.1.1'</SAMP>.
-
-</P>
-<P>
-Versions in the first sense are called <EM>revisions</EM>
-in this document, and versions in the second sense are
-called <EM>releases</EM>.  To avoid confusion, the word
-<EM>version</EM> is almost never used in this document.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_2.html">previous</A>, 
<A HREF="cvs_4.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_chapter/cvs_4.html
===================================================================
RCS file: manual/html_chapter/cvs_4.html
diff -N manual/html_chapter/cvs_4.html
--- manual/html_chapter/cvs_4.html      7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,246 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - A sample session</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_3.html">previous</A>, 
<A HREF="cvs_5.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC10" HREF="cvs_toc.html#TOC10">A sample session</A></H1>
-<P>
-<A NAME="IDX35"></A>
-<A NAME="IDX36"></A>
-<A NAME="IDX37"></A>
-<A NAME="IDX38"></A>
-<A NAME="IDX39"></A>
-<A NAME="IDX40"></A>
-
-</P>
-<P>
-This section describes a typical work-session using
-CVS.  It assumes that a repository is set up
-(see section <A HREF="cvs_5.html#SEC15">The Repository</A>).
-
-</P>
-<P>
-Suppose you are working on a simple compiler.  The source
-consists of a handful of C files and a <TT>`Makefile'</TT>.
-The compiler is called <SAMP>`tc'</SAMP> (Trivial Compiler),
-and the repository is set up so that there is a module
-called <SAMP>`tc'</SAMP>.
-
-</P>
-
-
-
-<H2><A NAME="SEC11" HREF="cvs_toc.html#TOC11">Getting the source</A></H2>
-<P>
-<A NAME="IDX41"></A>
-<A NAME="IDX42"></A>
-<A NAME="IDX43"></A>
-<A NAME="IDX44"></A>
-<A NAME="IDX45"></A>
-
-</P>
-<P>
-The first thing you must do is to get your own working copy of the
-source for <SAMP>`tc'</SAMP>.  For this, you use the <CODE>checkout</CODE> 
command:
-
-</P>
-
-<PRE>
-$ cvs checkout tc
-</PRE>
-
-<P>
-This will create a new directory called <TT>`tc'</TT> and populate it with
-the source files.
-
-</P>
-
-<PRE>
-$ cd tc
-$ ls
-CVS         Makefile    backend.c   driver.c    frontend.c  parser.c
-</PRE>
-
-<P>
-The <TT>`CVS'</TT> directory is used internally by
-CVS.  Normally, you should not modify or remove
-any of the files in it.
-
-</P>
-<P>
-You start your favorite editor, hack away at <TT>`backend.c'</TT>, and a couple
-of hours later you have added an optimization pass to the compiler.
-A note to RCS and SCCS users: There is no need to lock the files that
-you want to edit.  See section <A HREF="cvs_7.html#SEC37">Multiple 
developers</A> for an explanation.
-
-</P>
-
-
-<H2><A NAME="SEC12" HREF="cvs_toc.html#TOC12">Committing your changes</A></H2>
-<P>
-<A NAME="IDX46"></A>
-<A NAME="IDX47"></A>
-<A NAME="IDX48"></A>
-<A NAME="IDX49"></A>
-
-</P>
-<P>
-When you have checked that the compiler is still compilable you decide
-to make a new version of <TT>`backend.c'</TT>.
-
-</P>
-
-<PRE>
-$ cvs commit backend.c
-</PRE>
-
-<P>
-CVS starts an editor, to allow you to enter a log
-message.  You type in "Added an optimization pass.",
-save the temporary file, and exit the editor.
-
-</P>
-<P>
-The environment variable <CODE>$CVSEDITOR</CODE> determines
-which editor is started.  If <CODE>$CVSEDITOR</CODE> is not
-set, then if the environment variable <CODE>$EDITOR</CODE> is
-set, it will be used. If both <CODE>$CVSEDITOR</CODE> and
-<CODE>$EDITOR</CODE> are not set then the editor defaults to
-<CODE>vi</CODE>.  If you want to avoid the overhead of
-starting an editor you can specify the log message on
-the command line using the <SAMP>`-m'</SAMP> flag instead, like
-this:
-
-</P>
-
-<PRE>
-$ cvs commit -m "Added an optimization pass" backend.c
-</PRE>
-
-
-
-<H2><A NAME="SEC13" HREF="cvs_toc.html#TOC13">Cleaning up</A></H2>
-<P>
-<A NAME="IDX50"></A>
-<A NAME="IDX51"></A>
-<A NAME="IDX52"></A>
-<A NAME="IDX53"></A>
-
-</P>
-<P>
-Before you turn to other tasks you decide to remove your working copy of
-tc.  One acceptable way to do that is of course
-
-</P>
-
-<PRE>
-$ cd ..
-$ rm -r tc
-</PRE>
-
-<P>
-but a better way is to use the <CODE>release</CODE> command (see section <A 
HREF="cvs_20.html#SEC122">release--Indicate that a Module is no longer in 
use</A>):
-
-</P>
-
-<PRE>
-$ cd ..
-$ cvs release -d tc
-M driver.c
-? tc
-You have [1] altered files in this repository.
-Are you sure you want to release (and delete) module `tc': n
-** `release' aborted by user choice.
-</PRE>
-
-<P>
-The <CODE>release</CODE> command checks that all your modifications have been
-committed.  If history logging is enabled it also makes a note in the
-history file.  See section <A HREF="cvs_21.html#SEC149">The history file</A>.
-
-</P>
-<P>
-When you use the <SAMP>`-d'</SAMP> flag with <CODE>release</CODE>, it
-also removes your working copy.
-
-</P>
-<P>
-In the example above, the <CODE>release</CODE> command wrote a couple of lines
-of output.  <SAMP>`? tc'</SAMP> means that the file <TT>`tc'</TT> is unknown 
to CVS.
-That is nothing to worry about: <TT>`tc'</TT> is the executable compiler,
-and it should not be stored in the repository.  See section <A 
HREF="cvs_21.html#SEC148">Ignoring files via cvsignore</A>,
-for information about how to make that warning go away.
-See section <A HREF="cvs_20.html#SEC124">release output</A>, for a complete 
explanation of
-all possible output from <CODE>release</CODE>.
-
-</P>
-<P>
-<SAMP>`M driver.c'</SAMP> is more serious.  It means that the
-file <TT>`driver.c'</TT> has been modified since it was
-checked out.
-
-</P>
-<P>
-The <CODE>release</CODE> command always finishes by telling
-you how many modified files you have in your working
-copy of the sources, and then asks you for confirmation
-before deleting any files or making any note in the
-history file.
-
-</P>
-<P>
-You decide to play it safe and answer <KBD>n <KBD>RET</KBD></KBD>
-when <CODE>release</CODE> asks for confirmation.
-
-</P>
-
-
-<H2><A NAME="SEC14" HREF="cvs_toc.html#TOC14">Viewing differences</A></H2>
-<P>
-<A NAME="IDX54"></A>
-<A NAME="IDX55"></A>
-
-</P>
-<P>
-You do not remember modifying <TT>`driver.c'</TT>, so you want to see what
-has happened to that file.
-
-</P>
-
-<PRE>
-$ cd tc
-$ cvs diff driver.c
-</PRE>
-
-<P>
-This command runs <CODE>diff</CODE> to compare the version of 
<TT>`driver.c'</TT>
-that you checked out with your working copy.  When you see the output
-you remember that you added a command line option that enabled the
-optimization pass.  You check it in, and release the module.
-
-</P>
-
-<PRE>
-$ cvs commit -m "Added an optimization pass" driver.c
-Checking in driver.c;
-/usr/local/cvsroot/tc/driver.c,v  &#60;--  driver.c
-new revision: 1.2; previous revision: 1.1
-done
-$ cd ..
-$ cvs release -d tc
-? tc
-You have [0] altered files in this repository.
-Are you sure you want to release (and delete) module `tc': y
-</PRE>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_3.html">previous</A>, 
<A HREF="cvs_5.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_chapter/cvs_5.html
===================================================================
RCS file: manual/html_chapter/cvs_5.html
diff -N manual/html_chapter/cvs_5.html
--- manual/html_chapter/cvs_5.html      7 Feb 2007 02:36:35 -0000       1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,929 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - The Repository</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_4.html">previous</A>, 
<A HREF="cvs_6.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC15" HREF="cvs_toc.html#TOC15">The Repository</A></H1>
-<P>
-<A NAME="IDX56"></A>
-<A NAME="IDX57"></A>
-<A NAME="IDX58"></A>
-<A NAME="IDX59"></A>
-<A NAME="IDX60"></A>
-<A NAME="IDX61"></A>
-
-</P>
-<P>
-The CVS <EM>repository</EM> stores a complete copy of
-all the files and directories which are under version
-control.
-
-</P>
-<P>
-Normally, you never access any of the files in the
-repository directly.  Instead, you use CVS
-commands to get your own copy of the files, and then
-work on that copy.  When you've finished a set of
-changes, you check (or <EM>commit</EM>) them back into the
-repository.  The repository then contains the changes
-which you have made, as well as recording exactly what
-you changed, when you changed it, and other such
-information.
-
-</P>
-<P>
-<A NAME="IDX62"></A>
-CVS can access a repository by a variety of
-means.  It might be on the local computer, or it might
-be on a computer across the room or across the world.
-To distinguish various ways to access a repository, the
-repository name can start with an <EM>access method</EM>.
-For example, the access method <CODE>:local:</CODE> means to
-access a repository directory, so the repository
-<CODE>:local:/usr/local/cvsroot</CODE> means that the
-repository is in <TT>`/usr/local/cvsroot'</TT> on the
-computer running CVS.  For information on other
-access methods, see section <A HREF="cvs_5.html#SEC24">Remote repositories</A>.
-
-</P>
-<P>
-If the access method is omitted, then if the repository
-does not contain <SAMP>`:'</SAMP>, then <CODE>:local:</CODE> is
-assumed.  If it does contain <SAMP>`:'</SAMP> than either
-<CODE>:ext:</CODE> or <CODE>:server:</CODE> is assumed.  For
-example, if you have a local repository in
-<TT>`/usr/local/cvsroot'</TT>, you can use
-<CODE>/usr/local/cvsroot</CODE> instead of
-<CODE>:local:/usr/local/cvsroot</CODE>.  But if (under
-Windows NT, for example) your local repository is
-<TT>`c:\src\cvsroot'</TT>, then you must specify the access
-method, as in <CODE>:local:c:\src\cvsroot</CODE>.
-
-</P>
-<P>
-The repository is split in two parts.  <TT>`$CVSROOT/CVSROOT'</TT> contains
-administrative files for CVS.  The other directories contain the actual
-user-defined modules.
-
-</P>
-
-
-
-<H2><A NAME="SEC16" HREF="cvs_toc.html#TOC16">Telling CVS where your 
repository is</A></H2>
-
-<P>
-There are a couple of different ways to tell CVS
-where to find the repository.  You can name the
-repository on the command line explicitly, with the
-<CODE>-d</CODE> (for "directory") option:
-
-</P>
-
-<PRE>
-cvs -d /usr/local/cvsroot checkout yoyodyne/tc
-</PRE>
-
-<P>
-<A NAME="IDX63"></A>
-<A NAME="IDX64"></A>
-<A NAME="IDX65"></A>
-<A NAME="IDX66"></A>
-<A NAME="IDX67"></A>
-        Or you can set the <CODE>$CVSROOT</CODE> environment
-variable to an absolute path to the root of the
-repository, <TT>`/usr/local/cvsroot'</TT> in this example.
-To set <CODE>$CVSROOT</CODE>, all <CODE>csh</CODE> and <CODE>tcsh</CODE>
-users should have this line in their <TT>`.cshrc'</TT> or
-<TT>`.tcshrc'</TT> files:
-
-</P>
-
-<PRE>
-setenv CVSROOT /usr/local/cvsroot
-</PRE>
-
-<P>
-<CODE>sh</CODE> and <CODE>bash</CODE> users should instead have these lines in 
their
-<TT>`.profile'</TT> or <TT>`.bashrc'</TT>:
-
-</P>
-
-<PRE>
-CVSROOT=/usr/local/cvsroot
-export CVSROOT
-</PRE>
-
-<P>
-        A repository specified with <CODE>-d</CODE> will
-override the <CODE>$CVSROOT</CODE> environment variable.
-Once you've checked a working copy out from the
-repository, it will remember where its repository is
-(the information is recorded in the
-<TT>`CVS/Root'</TT> file in the working copy).  
-
-</P>
-<P>
-The <CODE>-d</CODE> option and the <TT>`CVS/Root'</TT> file both
-override the <CODE>$CVSROOT</CODE> environment variable.  If
-<CODE>-d</CODE> option differs from <TT>`CVS/Root'</TT>, the
-former is used (and specifying <CODE>-d</CODE> will cause
-<TT>`CVS/Root'</TT> to be updated).  Of course, for proper
-operation they should be two ways of referring to the
-same repository.
-
-</P>
-
-
-<H2><A NAME="SEC17" HREF="cvs_toc.html#TOC17">How data is stored in the 
repository</A></H2>
-<P>
-<A NAME="IDX68"></A>
-
-</P>
-<P>
-For most purposes it isn't important <EM>how</EM>
-CVS stores information in the repository.  In
-fact, the format has changed in the past, and is likely
-to change in the future.  Since in almost all cases one
-accesses the repository via CVS commands; such
-changes need not be disruptive.
-
-</P>
-<P>
-However, in some cases it may be necessary to
-understand how CVS stores data in the repository,
-for example you might need to track down CVS locks
-(see section <A HREF="cvs_7.html#SEC42">Several developers simultaneously 
attempting to run CVS</A>) or you might need to deal with
-the file permissions appropriate for the repository.
-
-</P>
-
-
-
-<H3><A NAME="SEC18" HREF="cvs_toc.html#TOC18">Where files are stored within 
the repository</A></H3>
-
-<P>
-The overall structure of the repository is a directory
-tree corresponding to the directories in the working
-directory.  For example, supposing the repository is in
-<TT>`/usr/local/cvsroot'</TT>, here is a possible directory
-tree (showing only the directories):
-
-</P>
-
-<PRE>
-<TT>/usr</TT>
- |
- +--<TT>local</TT>
- |   |
- |   +--<TT>cvsroot</TT>
- |   |    | 
- |   |    +--<TT>CVSROOT</TT>
-          |      (administrative files) 
-          | 
-          +--<TT>gnu</TT>
-          |   | 
-          |   +--<TT>diff</TT>
-          |   |   (source code to GNU diff) 
-          |   | 
-          |   +--<TT>rcs</TT>
-          |   |   (source code to RCS)
-          |   | 
-          |   +--<TT>cvs</TT>
-          |       (source code to CVS) 
-          | 
-          +--<TT>yoyodyne</TT>
-              | 
-              +--<TT>tc</TT>
-              |    |
-              |    +--<TT>man</TT>
-              |    |
-              |    +--<TT>testing</TT>
-              | 
-              +--(other Yoyodyne software)
-</PRE>
-
-<P>
-With the directories are <EM>history files</EM> for each file
-under version control.  The name of the history file is
-the name of the corresponding file with <SAMP>`,v'</SAMP>
-appended to the end.  Here is what the repository for
-the <TT>`yoyodyne/tc'</TT> directory might look like:
-
-</P>
-
-<PRE>
-  <CODE>$CVSROOT</CODE>
-    |
-    +--<TT>yoyodyne</TT>
-    |   |
-    |   +--<TT>tc</TT>
-    |   |   |
-            +--<TT>Makefile,v</TT>
-            +--<TT>backend.c,v</TT>
-            +--<TT>driver.c,v</TT>
-            +--<TT>frontend.c,v</TT>
-            +--<TT>parser.c,v</TT>
-            +--<TT>man</TT>
-            |    |
-            |    +--<TT>tc.1,v</TT>
-            |     
-            +--<TT>testing</TT>
-                 |
-                 +--<TT>testpgm.t,v</TT>
-                 +--<TT>test2.t,v</TT>
-</PRE>
-
-<P>
-<A NAME="IDX69"></A>
-<A NAME="IDX70"></A>
-The history files contain, among other things, enough
-information to recreate any revision of the file, a log
-of all commit messages and the user-name of the person
-who committed the revision.  The history files are
-known as <EM>RCS files</EM>, because the first program to
-store files in that format was a version control system
-known as RCS.  For a full
-description of the file format, see the <CODE>man</CODE> page
-<CITE>rcsfile(5)</CITE>, distributed with RCS.  This
-file format has become very common--many systems other
-than CVS or RCS can at least import history
-files in this format.
-
-</P>
-
-
-<H3><A NAME="SEC19" HREF="cvs_toc.html#TOC19">File permissions</A></H3>
-<P>
-<A NAME="IDX71"></A>
-<A NAME="IDX72"></A>
-<A NAME="IDX73"></A>
-<A NAME="IDX74"></A>
-All <SAMP>`,v'</SAMP> files are created read-only, and you
-should not change the permission of those files.  The
-directories inside the repository should be writable by
-the persons that have permission to modify the files in
-each directory.  This normally means that you must
-create a Unix group (see group(5)) consisting of the
-persons that are to edit the files in a project, and
-set up the repository so that it is that group that
-owns the directory.
-
-</P>
-<P>
-This means that you can only control access to files on
-a per-directory basis.
-
-</P>
-<P>
-Note that users must also have write access to check
-out files, because CVS needs to create lock files
-(see section <A HREF="cvs_7.html#SEC42">Several developers simultaneously 
attempting to run CVS</A>).
-
-</P>
-<P>
-Also note that users must have write access to the
-<TT>`CVSROOT/val-tags'</TT> file.  CVS uses it to keep
-track of what tags are valid tag names (it is sometimes
-updated when tags are used, as well as when they are
-created, though).
-
-</P>
-<P>
-<A NAME="IDX75"></A>
-<A NAME="IDX76"></A>
-CVS tries to set up reasonable file permissions
-for new directories that are added inside the tree, but
-you must fix the permissions manually when a new
-directory should have different permissions than its
-parent directory.  If you set the <CODE>CVSUMASK</CODE>
-environment variable that will control the file
-permissions which CVS uses in creating directories
-and/or files in the repository.  <CODE>CVSUMASK</CODE> does
-not affect the file permissions in the working
-directory; such files have the permissions which are
-typical for newly created files, except that sometimes
-CVS creates them read-only (see the sections on
-watches, section <A HREF="cvs_7.html#SEC44">Telling CVS to watch certain 
files</A>; -r, section <A HREF="cvs_20.html#SEC89">Global options</A>; or 
CVSREAD, section <A HREF="cvs_22.html#SEC151">All environment variables which 
affect CVS</A>).
-
-</P>
-<P>
-<A NAME="IDX77"></A>
-<A NAME="IDX78"></A>
-Since CVS was not written to be run setuid, it is
-unsafe to try to run it setuid.  You cannot use the
-setuid features of RCS together with CVS.
-
-</P>
-
-
-<H2><A NAME="SEC20" HREF="cvs_toc.html#TOC20">The administrative files</A></H2>
-<P>
-<A NAME="IDX79"></A>
-<A NAME="IDX80"></A>
-<A NAME="IDX81"></A>
-<A NAME="IDX82"></A>
-
-</P>
-
-<P>
-The directory <TT>`$CVSROOT/CVSROOT'</TT> contains some <EM>administrative
-files</EM>.  See section <A HREF="cvs_21.html#SEC136">Reference manual for the 
Administrative files</A>, for a complete description.
-You can use CVS without any of these files, but
-some commands work better when at least the
-<TT>`modules'</TT> file is properly set up.
-
-</P>
-<P>
-The most important of these files is the <TT>`modules'</TT>
-file.  It defines all modules in the repository.  This
-is a sample <TT>`modules'</TT> file.
-
-</P>
-
-<PRE>
-CVSROOT         CVSROOT
-modules         CVSROOT modules
-cvs             gnu/cvs
-rcs             gnu/rcs
-diff            gnu/diff
-tc              yoyodyne/tc
-</PRE>
-
-<P>
-The <TT>`modules'</TT> file is line oriented.  In its
-simplest form each line contains the name of the
-module, whitespace, and the directory where the module
-resides.  The directory is a path relative to
-<CODE>$CVSROOT</CODE>.  The last four lines in the example
-above are examples of such lines.
-
-</P>
-
-<P>
-The line that defines the module called <SAMP>`modules'</SAMP>
-uses features that are not explained here.
-See section <A HREF="cvs_21.html#SEC137">The modules file</A>, for a full 
explanation of all the
-available features.
-
-</P>
-
-
-<H3><A NAME="SEC21" HREF="cvs_toc.html#TOC21">Editing administrative 
files</A></H3>
-<P>
-<A NAME="IDX83"></A>
-<A NAME="IDX84"></A>
-
-</P>
-<P>
-You edit the administrative files in the same way that you would edit
-any other module.  Use <SAMP>`cvs checkout CVSROOT'</SAMP> to get a working
-copy, edit it, and commit your changes in the normal way.
-
-</P>
-<P>
-It is possible to commit an erroneous administrative
-file.  You can often fix the error and check in a new
-revision, but sometimes a particularly bad error in the
-administrative file makes it impossible to commit new
-revisions.  
-
-</P>
-
-
-<H2><A NAME="SEC22" HREF="cvs_toc.html#TOC22">Multiple repositories</A></H2>
-<P>
-<A NAME="IDX85"></A>
-<A NAME="IDX86"></A>
-<A NAME="IDX87"></A>
-<A NAME="IDX88"></A>
-<A NAME="IDX89"></A>
-<A NAME="IDX90"></A>
-
-</P>
-<P>
-In some situations it is a good idea to have more than
-one repository, for instance if you have two
-development groups that work on separate projects
-without sharing any code.  All you have to do to have
-several repositories is to specify the appropriate
-repository, using the <CODE>CVSROOT</CODE> environment
-variable, the <SAMP>`-d'</SAMP> option to CVS, or (once
-you have checked out a working directory) by simply
-allowing CVS to use the repository that was used
-to check out the working directory
-(see section <A HREF="cvs_5.html#SEC16">Telling CVS where your repository 
is</A>).
-
-</P>
-<P>
-The big advantage of having multiple repositories is
-that they can reside on different servers.  The big
-disadvantage is that you cannot have a single CVS
-command recurse into directories which comes from
-different repositories.  Generally speaking, if you are
-thinking of setting up several repositories on the same
-machine, you might want to consider using several
-directories within the same repository.
-
-</P>
-<P>
-None of the examples in this manual show multiple
-repositories.
-
-</P>
-
-
-<H2><A NAME="SEC23" HREF="cvs_toc.html#TOC23">Creating a repository</A></H2>
-
-<P>
-<A NAME="IDX91"></A>
-<A NAME="IDX92"></A>
-<A NAME="IDX93"></A>
-
-</P>
-<P>
-To set up a CVS repository, choose a directory
-with ample disk space available for the revision
-history of the source files.  It should be accessable
-(directly or via a networked file system) from all
-machines which want to use CVS in server or local
-mode; the client machines need not have any access to
-it other than via the CVS protocol.  It is not
-possible to use CVS to read from a repository
-which one only has read access to; CVS needs to be
-able to create lock files (see section <A HREF="cvs_7.html#SEC42">Several 
developers simultaneously attempting to run CVS</A>).
-
-</P>
-<P>
-<A NAME="IDX94"></A>
-To create a repository, run the <CODE>cvs init</CODE>
-command.  It will set up an empty repository in the
-CVS root specified in the usual way
-(see section <A HREF="cvs_5.html#SEC15">The Repository</A>).  For example,
-
-</P>
-
-<PRE>
-cvs -d /usr/local/cvsroot init
-</PRE>
-
-<P>
-<CODE>cvs init</CODE> is careful to never overwrite any
-existing files in the repository, so no harm is done if
-you run <CODE>cvs init</CODE> on an already set-up
-repository.
-
-</P>
-<P>
-<CODE>cvs init</CODE> will enable history logging; if you
-don't want that, remove the history file after running
-<CODE>cvs init</CODE>.  See section <A HREF="cvs_21.html#SEC149">The history 
file</A>.
-
-</P>
-
-
-<H2><A NAME="SEC24" HREF="cvs_toc.html#TOC24">Remote repositories</A></H2>
-<P>
-<A NAME="IDX95"></A>
-<A NAME="IDX96"></A>
-<A NAME="IDX97"></A>
-
-</P>
-<P>
-        Your working copy of the sources can be on a
-different machine than the repository.  Generally,
-using a remote repository is just like using a local
-one, except that the format of the repository name is:
-
-</P>
-
-<PRE>
-:<VAR>method</VAR>:<VAR>user</VAR>@<VAR>hostname</VAR>:/path/to/repository
-</PRE>
-
-<P>
-The details of exactly what needs to be set up depend
-on how you are connecting to the server.
-
-</P>
-<P>
-If <VAR>method</VAR> is not specified, and the repository
-name contains <SAMP>`:'</SAMP>, then the default is <CODE>ext</CODE>
-or <CODE>server</CODE>, depending on your platform; both are
-described in section <A HREF="cvs_5.html#SEC25">Connecting with rsh</A>.
-
-</P>
-
-
-
-<H3><A NAME="SEC25" HREF="cvs_toc.html#TOC25">Connecting with rsh</A></H3>
-
-<P>
-<A NAME="IDX98"></A>
-CVS uses the <TT>`rsh'</TT> protocol to perform these
-operations, so the remote user host needs to have a
-<TT>`.rhosts'</TT> file which grants access to the local
-user.
-
-</P>
-<P>
-For example, suppose you are the user <TT>`mozart'</TT> on
-the local machine <TT>`anklet.grunge.com'</TT>, and the
-server machine is <TT>`chainsaw.brickyard.com'</TT>.  On
-chainsaw, put the following line into the file
-<TT>`.rhosts'</TT> in <TT>`bach'</TT>'s home directory:
-
-</P>
-
-<PRE>
-anklet.grunge.com  mozart
-</PRE>
-
-<P>
-Then test that <CODE>rsh</CODE> is working with
-
-</P>
-
-<PRE>
-rsh -l bach chainsaw.brickyard.com 'echo $PATH'
-</PRE>
-
-<P>
-<A NAME="IDX99"></A>
-Next you have to make sure that <CODE>rsh</CODE> will be able
-to find the server.  Make sure that the path which
-<CODE>rsh</CODE> printed in the above example includes the
-directory containing a program named <CODE>cvs</CODE> which
-is the server.  You need to set the path in
-<TT>`.bashrc'</TT>, <TT>`.cshrc'</TT>, etc., not <TT>`.login'</TT>
-or <TT>`.profile'</TT>.  Alternately, you can set the
-environment variable <CODE>CVS_SERVER</CODE> on the client
-machine to the filename of the server you want to use,
-for example <TT>`/usr/local/bin/cvs-1.6'</TT>.
-
-</P>
-<P>
-There is no need to edit <CODE>inetd.conf</CODE> or start a
-CVS server daemon.
-
-</P>
-<P>
-<A NAME="IDX100"></A>
-<A NAME="IDX101"></A>
-There are two access methods that you use in CVSROOT
-for rsh.  <CODE>:server:</CODE> specifies an internal rsh
-client, which is supported only by some CVS ports.
-<CODE>:ext:</CODE> specifies an external rsh program.  By
-default this is <CODE>rsh</CODE> but you may set the
-<CODE>CVS_RSH</CODE> environment variable to invoke another
-program which can access the remote server (for
-example, <CODE>remsh</CODE> on HP-UX 9 because <CODE>rsh</CODE> is
-something different).  It must be a program which can
-transmit data to and from the server without modifying
-it; for example the Windows NT <CODE>rsh</CODE> is not
-suitable since it by default translates between CRLF
-and LF.  The OS/2 CVS port has a hack to pass <SAMP>`-b'</SAMP>
-to <CODE>rsh</CODE> to get around this, but since this could
-potentially cause programs for programs other than the
-standard <CODE>rsh</CODE>, it may change in the future.  If
-you set <CODE>CVS_RSH</CODE> to <CODE>SSH</CODE> or some other rsh
-replacement, the instructions in the rest of this
-section concerning <TT>`.rhosts'</TT> and so on are likely
-to be incorrect; consult the documentation for your rsh
-replacement.
-
-</P>
-<P>
-Continuing our example, supposing you want to access
-the module <TT>`foo'</TT> in the repository
-<TT>`/usr/local/cvsroot/'</TT>, on machine
-<TT>`chainsaw.brickyard.com'</TT>, you are ready to go:
-
-</P>
-
-<PRE>
-cvs -d :ext:address@hidden:/usr/local/cvsroot checkout foo
-</PRE>
-
-<P>
-(The <TT>`bach@'</TT> can be omitted if the username is
-the same on both the local and remote hosts.)
-
-</P>
-
-
-
-<H3><A NAME="SEC26" HREF="cvs_toc.html#TOC26">Direct connection with password 
authentication</A></H3>
-
-<P>
-The CVS client can also connect to the server
-using a password protocol.  This is particularly useful
-if using <CODE>rsh</CODE> is not feasible (for example,
-the server is behind a firewall), and Kerberos also is
-not available.
-
-</P>
-<P>
-        To use this method, it is necessary to make
-some adjustments on both the server and client sides.
-
-</P>
-
-
-
-<H4><A NAME="SEC27" HREF="cvs_toc.html#TOC27">Setting up the server for 
password authentication</A></H4>
-
-<P>
-<A NAME="IDX102"></A>
-<A NAME="IDX103"></A>
-<A NAME="IDX104"></A>
-On the server side, the file <TT>`/etc/inetd.conf'</TT>
-needs to be edited so <CODE>inetd</CODE> knows to run the
-command <CODE>cvs pserver</CODE> when it receives a
-connection on the right port.  By default, the port
-number is 2401; it would be different if your client
-were compiled with <CODE>CVS_AUTH_PORT</CODE> defined to
-something else, though.
-
-</P>
-<P>
-        If your <CODE>inetd</CODE> allows raw port numbers in
-<TT>`/etc/inetd.conf'</TT>, then the following (all on a
-single line in <TT>`inetd.conf'</TT>) should be sufficient:
-
-</P>
-
-<PRE>
-2401  stream  tcp  nowait  root  /usr/local/bin/cvs
-cvs -b /usr/local/bin pserver
-</PRE>
-
-<P>
-The <SAMP>`-b'</SAMP> option specifies the directory which contains
-the RCS binaries on the server.  You could also use the
-<SAMP>`-T'</SAMP> option to specify a temporary directory.
-
-</P>
-<P>
-        If your <CODE>inetd</CODE> wants a symbolic service
-name instead of a raw port number, then put this in
-<TT>`/etc/services'</TT>:
-
-</P>
-
-<PRE>
-cvspserver      2401/tcp
-</PRE>
-
-<P>
-        and put <CODE>cvspserver</CODE> instead of
-<CODE>2401</CODE> in <TT>`inetd.conf'</TT>.
-
-</P>
-<P>
-        Once the above is taken care of, restart your
-<CODE>inetd</CODE>, or do whatever is necessary to force it
-to reread its initialization files.
-
-</P>
-
-<P>
-<A NAME="IDX105"></A>
-<A NAME="IDX106"></A>
-Because the client stores and transmits passwords in
-cleartext (almost--see section <A HREF="cvs_5.html#SEC29">Security 
considerations with password authentication</A> for details), a separate CVS 
password
-file may be used, so people don't compromise their
-regular passwords when they access the repository.
-This file is <TT>`$CVSROOT/CVSROOT/passwd'</TT>
-(see section <A HREF="cvs_5.html#SEC20">The administrative files</A>).  Its 
format is
-similar to <TT>`/etc/passwd'</TT>, except that it only has
-two fields, username and password.  For example:
-
-</P>
-
-<PRE>
-bach:ULtgRLXo7NRxs
-cwang:1sOp854gDF3DY
-</PRE>
-
-<P>
-The password is encrypted according to the standard
-Unix <CODE>crypt()</CODE> function, so it is possible to
-paste in passwords directly from regular Unix
-<TT>`passwd'</TT> files.
-
-</P>
-<P>
-When authenticating a password, the server first checks
-for the user in the CVS <TT>`passwd'</TT> file.  If it
-finds the user, it compares against that password.  If
-it does not find the user, or if the CVS
-<TT>`passwd'</TT> file does not exist, then the server
-tries to match the password using the system's
-user-lookup routine.  When using the CVS
-<TT>`passwd'</TT> file, the server runs under as the
-username specified in the the third argument in the
-entry, or as the first argument if there is no third
-argument (in this way CVS allows imaginary
-usernames provided the CVS <TT>`passwd'</TT> file
-indicates corresponding valid system usernames).  In
-any case, CVS will have no privileges which the
-(valid) user would not have.
-
-</P>
-<P>
-Right now, the only way to put a password in the
-CVS <TT>`passwd'</TT> file is to paste it there from
-somewhere else.  Someday, there may be a <CODE>cvs
-passwd</CODE> command.
-
-</P>
-
-
-<H4><A NAME="SEC28" HREF="cvs_toc.html#TOC28">Using the client with password 
authentication</A></H4>
-<P>
-<A NAME="IDX107"></A>
-<A NAME="IDX108"></A>
-<A NAME="IDX109"></A>
-<A NAME="IDX110"></A>
-Before connecting to the server, the client must <EM>log
-in</EM> with the command <CODE>cvs login</CODE>.  Logging in
-verifies a password with the server, and also records
-the password for later transactions with the server.
-The <CODE>cvs login</CODE> command needs to know the
-username, server hostname, and full repository path,
-and it gets this information from the repository
-argument or the <CODE>CVSROOT</CODE> environment variable.
-
-</P>
-<P>
-<CODE>cvs login</CODE> is interactive -- it prompts for a
-password:
-
-</P>
-
-<PRE>
-cvs -d :pserver:address@hidden:/usr/local/cvsroot login 
-CVS password: 
-</PRE>
-
-<P>
-The password is checked with the server; if it is
-correct, the <CODE>login</CODE> succeeds, else it fails,
-complaining that the password was incorrect.
-
-</P>
-<P>
-Once you have logged in, you can force CVS to
-connect directly to the server and authenticate with
-the stored password:
-
-</P>
-
-<PRE>
-cvs -d :pserver:address@hidden:/usr/local/cvsroot checkout foo
-</PRE>
-
-<P>
-The <SAMP>`:pserver:'</SAMP> is necessary because without it,
-CVS will assume it should use <CODE>rsh</CODE> to
-connect with the server (see section <A HREF="cvs_5.html#SEC25">Connecting 
with rsh</A>).
-(Once you have a working copy checked out and are
-running CVS commands from within it, there is no
-longer any need to specify the repository explicitly,
-because CVS records it in the working copy's
-<TT>`CVS'</TT> subdirectory.)
-
-</P>
-<P>
-<A NAME="IDX111"></A>
-Passwords are stored by default in the file
-<TT>`$HOME/.cvspass'</TT>.  Its format is human-readable,
-but don't edit it unless you know what you are doing.
-The passwords are not stored in cleartext, but are
-trivially encoded to protect them from "innocent"
-compromise (i.e., inadvertently being seen by a system
-administrator who happens to look at that file).
-
-</P>
-<P>
-The <CODE>CVS_PASSFILE</CODE> environment variable overrides
-this default.  If you use this variable, make sure you
-set it <EM>before</EM> <CODE>cvs login</CODE> is run.  If you
-were to set it after running <CODE>cvs login</CODE>, then
-later CVS commands would be unable to look up the
-password for transmission to the server.
-
-</P>
-<P>
-<A NAME="IDX112"></A>
-The <CODE>CVS_PASSWORD</CODE> environment variable overrides
-<EM>all</EM> stored passwords.  If it is set, CVS
-will use it for all password-authenticated
-connections.
-
-</P>
-
-
-<H4><A NAME="SEC29" HREF="cvs_toc.html#TOC29">Security considerations with 
password authentication</A></H4>
-
-<P>
-The passwords are stored on the client side in a
-trivial encoding of the cleartext, and transmitted in
-the same encoding.  The encoding is done only to
-prevent inadvertent password compromises (i.e., a
-system administrator accidentally looking at the file),
-and will not prevent even a naive attacker from gaining
-the password.
-
-</P>
-<P>
-The separate CVS password file (see section <A HREF="cvs_5.html#SEC27">Setting 
up the server for password authentication</A>) allows people
-to use a different password for repository access than
-for login access.  On the other hand, once a user has
-access to the repository, she can execute programs on
-the server system through a variety of means.  Thus, repository
-access implies fairly broad system access as well.  It
-might be possible to modify CVS to prevent that,
-but no one has done so as of this writing.
-Furthermore, there may be other ways in which having
-access to CVS allows people to gain more general
-access to the system; noone has done a careful audit.
-
-</P>
-<P>
-In summary, anyone who gets the password gets
-repository access, and some measure of general system
-access as well.  The password is available to anyone
-who can sniff network packets or read a protected
-(i.e., user read-only) file.  If you want real
-security, get Kerberos.
-
-</P>
-
-
-<H3><A NAME="SEC30" HREF="cvs_toc.html#TOC30">Direct connection with 
kerberos</A></H3>
-
-<P>
-<A NAME="IDX113"></A>
-<A NAME="IDX114"></A>
-The main disadvantage of using rsh is that all the data
-needs to pass through additional programs, so it may be
-slower.  So if you have kerberos installed you can
-connect via a direct TCP connection,
-authenticating with kerberos.
-
-</P>
-<P>
-To do this, CVS needs to be compiled with kerberos
-support; when configuring CVS it tries to detect
-whether kerberos is present or you can use the
-<TT>`--with-krb4'</TT> flag to configure.
-
-</P>
-<P>
-The data transmitted is <EM>not</EM> encrypted by
-default.  Encryption support must be compiled into both
-the client and server; use the
-<TT>`--enable-encryption'</TT> configure option to turn it
-on.  You must then use the <CODE>-x</CODE> global option to
-request encryption.
-
-</P>
-<P>
-<A NAME="IDX115"></A>
-You need to edit <CODE>inetd.conf</CODE> on the server
-machine to run <CODE>cvs kserver</CODE>.  The client uses
-port 1999 by default; if you want to use another port
-specify it in the <CODE>CVS_CLIENT_PORT</CODE> environment
-variable on the client.
-
-</P>
-<P>
-<A NAME="IDX116"></A>
-When you want to use CVS, get a ticket in the
-usual way (generally <CODE>kinit</CODE>); it must be a ticket
-which allows you to log into the server machine.  Then
-you are ready to go:
-
-</P>
-
-<PRE>
-cvs -d :kserver:chainsaw.brickyard.com:/user/local/cvsroot checkout foo
-</PRE>
-
-<P>
-Previous versions of CVS would fall back to a
-connection via rsh; this version will not do so.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_4.html">previous</A>, 
<A HREF="cvs_6.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_chapter/cvs_6.html
===================================================================
RCS file: manual/html_chapter/cvs_6.html
diff -N manual/html_chapter/cvs_6.html
--- manual/html_chapter/cvs_6.html      7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,285 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Starting a project with CVS</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_5.html">previous</A>, 
<A HREF="cvs_7.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC31" HREF="cvs_toc.html#TOC31">Starting a project with 
CVS</A></H1>
-<P>
-<A NAME="IDX117"></A>
-<A NAME="IDX118"></A>
-
-</P>
-<P>
-Because renaming files and moving them between
-directories is somewhat inconvenient, the first thing
-you do when you start a new project should be to think
-through your file organization.  It is not impossible
-to rename or move files, but it does increase the
-potential for confusion and CVS does have some
-quirks particularly in the area of renaming
-directories.  See section <A HREF="cvs_14.html#SEC67">Moving and renaming 
files</A>.
-
-</P>
-<P>
-What to do next depends on the situation at hand.
-
-</P>
-
-
-
-<H2><A NAME="SEC32" HREF="cvs_toc.html#TOC32">Setting up the files</A></H2>
-
-<P>
-The first step is to create the files inside the repository.  This can
-be done in a couple of different ways.
-
-</P>
-
-
-
-<H3><A NAME="SEC33" HREF="cvs_toc.html#TOC33">Creating a directory tree from a 
number of files</A></H3>
-<P>
-<A NAME="IDX119"></A>
-
-</P>
-<P>
-When you begin using CVS, you will probably already have several
-projects that can be
-put under CVS control.  In these cases the easiest way is to use the
-<CODE>import</CODE> command.  An example is probably the easiest way to
-explain how to use it.  If the files you want to install in
-CVS reside in <TT>`<VAR>wdir</VAR>'</TT>, and you want them to appear in the
-repository as <TT>`$CVSROOT/yoyodyne/<VAR>rdir</VAR>'</TT>, you can do this:
-
-</P>
-
-<PRE>
-$ cd <VAR>wdir</VAR>
-$ cvs import -m "Imported sources" yoyodyne/<VAR>rdir</VAR> yoyo start
-</PRE>
-
-<P>
-Unless you supply a log message with the <SAMP>`-m'</SAMP>
-flag, CVS starts an editor and prompts for a
-message.  The string <SAMP>`yoyo'</SAMP> is a <EM>vendor tag</EM>,
-and <SAMP>`start'</SAMP> is a <EM>release tag</EM>.  They may fill
-no purpose in this context, but since CVS requires
-them they must be present.  See section <A HREF="cvs_13.html#SEC63">Tracking 
third-party sources</A>, for
-more information about them.
-
-</P>
-<P>
-You can now verify that it worked, and remove your
-original source directory.
-
-</P>
-
-<PRE>
-$ cd ..
-$ mv <VAR>dir</VAR> <VAR>dir</VAR>.orig
-$ cvs checkout yoyodyne/<VAR>dir</VAR>       # Explanation below
-$ ls -R yoyodyne
-$ rm -r <VAR>dir</VAR>.orig
-</PRE>
-
-<P>
-Erasing the original sources is a good idea, to make sure that you do
-not accidentally edit them in <VAR>dir</VAR>, bypassing CVS.
-Of course, it would be wise to make sure that you have
-a backup of the sources before you remove them.
-
-</P>
-<P>
-The <CODE>checkout</CODE> command can either take a module
-name as argument (as it has done in all previous
-examples) or a path name relative to <CODE>$CVSROOT</CODE>,
-as it did in the example above.
-
-</P>
-<P>
-It is a good idea to check that the permissions
-CVS sets on the directories inside <SAMP>`$CVSROOT'</SAMP>
-are reasonable, and that they belong to the proper
-groups.  See section <A HREF="cvs_5.html#SEC19">File permissions</A>.
-
-</P>
-<P>
-If some of the files you want to import are binary, you
-may want to use the wrappers features to specify which
-files are binary and which are not.  See section <A 
HREF="cvs_21.html#SEC138">The cvswrappers file</A>.
-
-</P>
-
-
-<H3><A NAME="SEC34" HREF="cvs_toc.html#TOC34">Creating Files From Other 
Version Control Systems</A></H3>
-<P>
-<A NAME="IDX120"></A>
-
-</P>
-<P>
-If you have a project which you are maintaining with
-another version control system, such as RCS, you
-may wish to put the files from that project into
-CVS, and preserve the revision history of the
-files.
-
-</P>
-<DL COMPACT>
-
-<DT>From RCS
-<DD>
-<A NAME="IDX121"></A>
- 
-If you have been using RCS, find the RCS
-files--usually a file named <TT>`foo.c'</TT> will have its
-RCS file in <TT>`RCS/foo.c,v'</TT> (but it could be
-other places; consult the RCS documentation for
-details).  Then create the appropriate directories in
-CVS if they do not already exist.  Then copy the
-files into the appropriate directories in the CVS
-repository (the name in the repository must be the name
-of the source file with <SAMP>`,v'</SAMP> added; the files go
-directly in the appopriate directory of the repository,
-not in an <TT>`RCS'</TT> subdirectory).  This is one of the
-few times when it is a good idea to access the CVS
-repository directly, rather than using CVS
-commands.  Then you are ready to check out a new
-working directory.
-
-The RCS file should not be locked when you move it
-into CVS; if it is, CVS will have trouble
-letting you operate on it.
-
-<DT>From another version control system
-<DD>
-Many version control systems have the ability to export
-RCS files in the standard format.  If yours does,
-export the RCS files and then follow the above
-instructions.
-
-<A NAME="IDX122"></A>
-<DT>From SCCS
-<DD>
-There is a script in the <TT>`contrib'</TT> directory of
-the CVS source distribution called <TT>`sccs2rcs'</TT>
-which converts SCCS files to RCS files.
-Note: you must run it on a machine which has both
-SCCS and RCS installed, and like everything
-else in contrib it is unsupported (your mileage may
-vary).
-</DL>
-
-
-
-<H3><A NAME="SEC35" HREF="cvs_toc.html#TOC35">Creating a directory tree from 
scratch</A></H3>
-
-<P>
-For a new project, the easiest thing to do is probably
-to create an empty directory structure, like this:
-
-</P>
-
-<PRE>
-$ mkdir tc
-$ mkdir tc/man
-$ mkdir tc/testing
-</PRE>
-
-<P>
-After that, you use the <CODE>import</CODE> command to create
-the corresponding (empty) directory structure inside
-the repository:
-
-</P>
-
-<PRE>
-$ cd tc
-$ cvs import -m "Created directory structure" yoyodyne/<VAR>dir</VAR> yoyo 
start
-</PRE>
-
-<P>
-Then, use <CODE>add</CODE> to add files (and new directories)
-as they appear.
-
-</P>
-<P>
-Check that the permissions CVS sets on the
-directories inside <SAMP>`$CVSROOT'</SAMP> are reasonable.
-
-</P>
-
-
-<H2><A NAME="SEC36" HREF="cvs_toc.html#TOC36">Defining the module</A></H2>
-<P>
-<A NAME="IDX123"></A>
-<A NAME="IDX124"></A>
-<A NAME="IDX125"></A>
-<A NAME="IDX126"></A>
-
-</P>
-<P>
-The next step is to define the module in the
-<TT>`modules'</TT> file.  This is not strictly necessary,
-but modules can be convenient in grouping together
-related files and directories.
-
-</P>
-<P>
-In simple cases these steps are sufficient to define a module.
-
-</P>
-
-<OL>
-<LI>
-
-Get a working copy of the modules file.
-
-
-<PRE>
-$ cvs checkout CVSROOT/modules
-$ cd CVSROOT
-</PRE>
-
-<LI>
-
-Edit the file and insert a line that defines the module.  See section <A 
HREF="cvs_5.html#SEC20">The administrative files</A>, for an introduction.  See 
section <A HREF="cvs_21.html#SEC137">The modules file</A>, for a full
-description of the modules file.  You can use the
-following line to define the module <SAMP>`tc'</SAMP>:
-
-
-<PRE>
-tc   yoyodyne/tc
-</PRE>
-
-<LI>
-
-Commit your changes to the modules file.
-
-
-<PRE>
-$ cvs commit -m "Added the tc module." modules
-</PRE>
-
-<LI>
-
-Release the modules module.
-
-
-<PRE>
-$ cd ..
-$ cvs release -d CVSROOT
-</PRE>
-
-</OL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_5.html">previous</A>, 
<A HREF="cvs_7.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_chapter/cvs_7.html
===================================================================
RCS file: manual/html_chapter/cvs_7.html
diff -N manual/html_chapter/cvs_7.html
--- manual/html_chapter/cvs_7.html      7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,974 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Multiple developers</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_6.html">previous</A>, 
<A HREF="cvs_8.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC37" HREF="cvs_toc.html#TOC37">Multiple developers</A></H1>
-<P>
-<A NAME="IDX127"></A>
-<A NAME="IDX128"></A>
-<A NAME="IDX129"></A>
-<A NAME="IDX130"></A>
-<A NAME="IDX131"></A>
-<A NAME="IDX132"></A>
-<A NAME="IDX133"></A>
-<A NAME="IDX134"></A>
-
-</P>
-<P>
-When more than one person works on a software project
-things often get complicated.  Often, two people try to
-edit the same file simultaneously.  One solution, known
-as <EM>file locking</EM> or <EM>reserved checkouts</EM>, is
-to allow only one person to edit each file at a time.
-This is the only solution with some version control
-systems, including RCS and SCCS.  CVS
-doesn't have a very nice implementation of reserved
-checkouts (yet) but there are ways to get it working
-(for example, see the <CODE>cvs admin -l</CODE> command in
-section <A HREF="cvs_20.html#SEC92">admin options</A>).  It also may be 
possible to use
-the watches features described below, together with
-suitable procedures (not enforced by software), to
-avoid having two people edit at the same time.
-
-</P>
-<P>
-The default model with CVS is known as
-<EM>unreserved checkouts</EM>.  In this model, developers
-can edit their own <EM>working copy</EM> of a file
-simultaneously.  The first person that commits his
-changes has no automatic way of knowing that another
-has started to edit it.  Others will get an error
-message when they try to commit the file.  They must
-then use CVS commands to bring their working copy
-up to date with the repository revision.  This process
-is almost automatic.
-
-</P>
-<P>
-CVS also supports mechanisms which facilitate
-various kinds of communcation, without actually
-enforcing rules like reserved checkouts do.
-
-</P>
-<P>
-The rest of this chapter describes how these various
-models work, and some of the issues involved in
-choosing between them.
-
-</P>
-
-
-
-<H2><A NAME="SEC38" HREF="cvs_toc.html#TOC38">File status</A></H2>
-<P>
-<A NAME="IDX135"></A>
-<A NAME="IDX136"></A>
-
-</P>
-<P>
-Based on what operations you have performed on a
-checked out file, and what operations others have
-performed to that file in the repository, one can
-classify a file in a number of states.  The states, as
-reported by the <CODE>status</CODE> command, are:
-
-</P>
-<DL COMPACT>
-
-<DT>Up-to-date
-<DD>
-<A NAME="IDX137"></A>
- 
-The file is identical with the latest revision in the
-repository for the branch in use.
-
-<DT>Locally Modified
-<DD>
-<A NAME="IDX138"></A>
-You have edited the file, and not yet committed your changes.
-
-<DT>Locally Added
-<DD>
-<A NAME="IDX139"></A>
-You have added the file with <CODE>add</CODE>, and not yet
-committed your changes.
-
-<DT>Locally Removed
-<DD>
-<A NAME="IDX140"></A>
-You have removed the file with <CODE>remove</CODE>, and not yet
-committed your changes.
-
-<DT>Needs Checkout
-<DD>
-<A NAME="IDX141"></A>
-Someone else has committed a newer revision to the
-repository.  The name is slightly misleading; you will
-ordinarily use <CODE>update</CODE> rather than
-<CODE>checkout</CODE> to get that newer revision.
-
-<DT>Needs Patch
-<DD>
-<A NAME="IDX142"></A>
-Like Needs Checkout, but the CVS server will send
-a patch rather than the entire file.  Sending a patch or
-sending an entire file accomplishes the same thing.
-
-<DT>Needs Merge
-<DD>
-<A NAME="IDX143"></A>
-Someone else has committed a newer revision to the repository, and you
-have also made modifications to the file.
-
-<DT>Unresolved Conflict
-<DD>
-<A NAME="IDX144"></A>
-This is like Locally Modified, except that a previous
-<CODE>update</CODE> command gave a conflict.  You need to
-resolve the conflict as described in section <A 
HREF="cvs_7.html#SEC40">Conflicts example</A>.
-
-<DT>Unknown
-<DD>
-<A NAME="IDX145"></A>
-CVS doesn't know anything about this file.  For
-example, you have created a new file and have not run
-<CODE>add</CODE>.
-
-</DL>
-
-<P>
-To help clarify the file status, <CODE>status</CODE> also
-reports the <CODE>Working revision</CODE> which is the
-revision that the file in the working directory derives
-from, and the <CODE>Repository revision</CODE> which is the
-latest revision in the repository for the branch in
-use.
-
-</P>
-<P>
-For information on the options to <CODE>status</CODE>, see
-section <A HREF="cvs_20.html#SEC128">status--Display status information on 
checked out files</A>.  For information on its <CODE>Sticky tag</CODE>
-and <CODE>Sticky date</CODE> output, see section <A 
HREF="cvs_8.html#SEC54">Sticky tags</A>.
-For information on its <CODE>Sticky options</CODE> output,
-see the <SAMP>`-k'</SAMP> option in section <A 
HREF="cvs_20.html#SEC133">update options</A>.
-
-</P>
-
-
-<H2><A NAME="SEC39" HREF="cvs_toc.html#TOC39">Bringing a file up to 
date</A></H2>
-<P>
-<A NAME="IDX146"></A>
-<A NAME="IDX147"></A>
-<A NAME="IDX148"></A>
-<A NAME="IDX149"></A>
-
-</P>
-<P>
-When you want to update or merge a file, use the <CODE>update</CODE>
-command.  For files that are not up to date this is roughly equivalent
-to a <CODE>checkout</CODE> command: the newest revision of the file is
-extracted from the repository and put in your working copy of the
-module.
-
-</P>
-<P>
-Your modifications to a file are never lost when you
-use <CODE>update</CODE>.  If no newer revision exists,
-running <CODE>update</CODE> has no effect.  If you have
-edited the file, and a newer revision is available,
-CVS will merge all changes into your working copy.
-
-</P>
-<P>
-For instance, imagine that you checked out revision 1.4 and started
-editing it.  In the meantime someone else committed revision 1.5, and
-shortly after that revision 1.6.  If you run <CODE>update</CODE> on the file
-now, CVS will incorporate all changes between revision 1.4 and 1.6 into
-your file.
-
-</P>
-<P>
-<A NAME="IDX150"></A>
-If any of the changes between 1.4 and 1.6 were made too
-close to any of the changes you have made, an
-<EM>overlap</EM> occurs.  In such cases a warning is
-printed, and the resulting file includes both
-versions of the lines that overlap, delimited by
-special markers.
-See section <A HREF="cvs_20.html#SEC132">update--Bring work tree in sync with 
repository</A>, for a complete description of the
-<CODE>update</CODE> command.
-
-</P>
-
-
-<H2><A NAME="SEC40" HREF="cvs_toc.html#TOC40">Conflicts example</A></H2>
-<P>
-<A NAME="IDX151"></A>
-<A NAME="IDX152"></A>
-<A NAME="IDX153"></A>
-
-</P>
-<P>
-Suppose revision 1.4 of <TT>`driver.c'</TT> contains this:
-
-</P>
-
-<PRE>
-#include &#60;stdio.h&#62;
-
-void main()
-{
-    parse();
-    if (nerr == 0)
-        gencode();
-    else
-        fprintf(stderr, "No code generated.\n");
-    exit(nerr == 0 ? 0 : 1);
-}
-</PRE>
-
-<P>
-Revision 1.6 of <TT>`driver.c'</TT> contains this:
-
-</P>
-
-<PRE>
-#include &#60;stdio.h&#62;
-
-int main(int argc,
-         char **argv)
-{
-    parse();
-    if (argc != 1)
-    {
-        fprintf(stderr, "tc: No args expected.\n");
-        exit(1);
-    }
-    if (nerr == 0)
-        gencode();
-    else
-        fprintf(stderr, "No code generated.\n");
-    exit(!!nerr);
-}
-</PRE>
-
-<P>
-Your working copy of <TT>`driver.c'</TT>, based on revision
-1.4, contains this before you run <SAMP>`cvs update'</SAMP>:
-
-</P>
-
-<PRE>
-#include &#60;stdlib.h&#62;
-#include &#60;stdio.h&#62;
-
-void main()
-{
-    init_scanner();
-    parse();
-    if (nerr == 0)
-        gencode();
-    else
-        fprintf(stderr, "No code generated.\n");
-    exit(nerr == 0 ? EXIT_SUCCESS : EXIT_FAILURE);
-}
-</PRE>
-
-<P>
-You run <SAMP>`cvs update'</SAMP>:
-
-</P>
-
-<PRE>
-$ cvs update driver.c
-RCS file: /usr/local/cvsroot/yoyodyne/tc/driver.c,v
-retrieving revision 1.4
-retrieving revision 1.6
-Merging differences between 1.4 and 1.6 into driver.c
-rcsmerge warning: overlaps during merge
-cvs update: conflicts found in driver.c
-C driver.c
-</PRE>
-
-<P>
-<A NAME="IDX154"></A>
-CVS tells you that there were some conflicts.
-Your original working file is saved unmodified in
-<TT>`.#driver.c.1.4'</TT>.  The new version of
-<TT>`driver.c'</TT> contains this:
-
-</P>
-
-<PRE>
-#include &#60;stdlib.h&#62;
-#include &#60;stdio.h&#62;
-
-int main(int argc,
-         char **argv)
-{
-    init_scanner();
-    parse();
-    if (argc != 1)
-    {
-        fprintf(stderr, "tc: No args expected.\n");
-        exit(1);
-    }
-    if (nerr == 0)
-        gencode();
-    else
-        fprintf(stderr, "No code generated.\n");
-&#60;&#60;&#60;&#60;&#60;&#60;&#60; driver.c
-    exit(nerr == 0 ? EXIT_SUCCESS : EXIT_FAILURE);
-=======
-    exit(!!nerr);
-&#62;&#62;&#62;&#62;&#62;&#62;&#62; 1.6
-}
-</PRE>
-
-<P>
-<A NAME="IDX155"></A>
-<A NAME="IDX156"></A>
-<A NAME="IDX157"></A>
-<A NAME="IDX158"></A>
-<A NAME="IDX159"></A>
-
-</P>
-<P>
-Note how all non-overlapping modifications are incorporated in your working
-copy, and that the overlapping section is clearly marked with
-<SAMP>`&#60;&#60;&#60;&#60;&#60;&#60;&#60;'</SAMP>, <SAMP>`======='</SAMP> and 
<SAMP>`&#62;&#62;&#62;&#62;&#62;&#62;&#62;'</SAMP>.
-
-</P>
-<P>
-<A NAME="IDX160"></A>
-<A NAME="IDX161"></A>
-You resolve the conflict by editing the file, removing the markers and
-the erroneous line.  Suppose you end up with this file:
-
-<PRE>
-#include &#60;stdlib.h&#62;
-#include &#60;stdio.h&#62;
-
-int main(int argc,
-         char **argv)
-{
-    init_scanner();
-    parse();
-    if (argc != 1)
-    {
-        fprintf(stderr, "tc: No args expected.\n");
-        exit(1);
-    }
-    if (nerr == 0)
-        gencode();
-    else
-        fprintf(stderr, "No code generated.\n");
-    exit(nerr == 0 ? EXIT_SUCCESS : EXIT_FAILURE);
-}
-</PRE>
-
-<P>
-You can now go ahead and commit this as revision 1.7.
-
-</P>
-
-<PRE>
-$ cvs commit -m "Initialize scanner. Use symbolic exit values." driver.c
-Checking in driver.c;
-/usr/local/cvsroot/yoyodyne/tc/driver.c,v  &#60;--  driver.c
-new revision: 1.7; previous revision: 1.6
-done
-</PRE>
-
-<P>
-For your protection, CVS will refuse to check in a
-file if a conflict occurred and you have not resolved
-the conflict.  Currently to resolve a conflict, you
-must change the timestamp on the file, and must also
-insure that the file contains no conflict markers.  If
-your file legitimately contains conflict markers (that
-is, occurrences of <SAMP>`&#62;&#62;&#62;&#62;&#62;&#62;&#62; '</SAMP> at the 
start of a
-line that don't mark a conflict), then CVS has
-trouble handling this and you need to start hacking on
-the <CODE>CVS/Entries</CODE> file or other such workarounds.
-
-</P>
-<P>
-<A NAME="IDX162"></A>
-If you use release 1.04 or later of pcl-cvs (a GNU
-Emacs front-end for CVS) you can use an Emacs
-package called emerge to help you resolve conflicts.
-See the documentation for pcl-cvs.
-
-</P>
-
-
-<H2><A NAME="SEC41" HREF="cvs_toc.html#TOC41">Informing others about 
commits</A></H2>
-<P>
-<A NAME="IDX163"></A>
-<A NAME="IDX164"></A>
-<A NAME="IDX165"></A>
-
-</P>
-<P>
-It is often useful to inform others when you commit a
-new revision of a file.  The <SAMP>`-i'</SAMP> option of the
-<TT>`modules'</TT> file, or the <TT>`loginfo'</TT> file, can be
-used to automate this process.  See section <A HREF="cvs_21.html#SEC137">The 
modules file</A>.
-See section <A HREF="cvs_21.html#SEC144">Loginfo</A>.  You can use these 
features of CVS
-to, for instance, instruct CVS to mail a
-message to all developers, or post a message to a local
-newsgroup.
-
-</P>
-
-
-<H2><A NAME="SEC42" HREF="cvs_toc.html#TOC42">Several developers 
simultaneously attempting to run CVS</A></H2>
-
-<P>
-<A NAME="IDX166"></A>
-If several developers try to run CVS at the same
-time, one may get the following message:
-
-</P>
-
-<PRE>
-[11:43:23] waiting for bach's lock in /usr/local/cvsroot/foo
-</PRE>
-
-<P>
-CVS will try again every 30 seconds, and either
-continue with the operation or print the message again,
-if it still needs to wait.  If a lock seems to stick
-around for an undue amount of time, find the person
-holding the lock and ask them about the cvs command
-they are running.  If they aren't running a cvs
-command, look for and remove files starting with
-<TT>`#cvs.tfl'</TT>, <TT>`#cvs.rfl'</TT>, or <TT>`#cvs.wfl'</TT>
-from the repository.
-
-</P>
-<P>
-Note that these locks are to protect CVS's
-internal data structures and have no relationship to
-the word <EM>lock</EM> in the sense used by
-RCS---which refers to reserved checkouts
-(see section <A HREF="cvs_7.html#SEC37">Multiple developers</A>).
-
-</P>
-<P>
-Any number of people can be reading from a given
-repository at a time; only when someone is writing do
-the locks prevent other people from reading or writing.
-
-</P>
-<P>
-<A NAME="IDX167"></A>
-<A NAME="IDX168"></A>
-One might hope for the following property
-
-</P>
-
-<PRE>
-If someone commits some changes in one cvs command,
-then an update by someone else will either get all the
-changes, or none of them.
-</PRE>
-
-<P>
-but CVS does <EM>not</EM> have this property.  For
-example, given the files
-
-</P>
-
-<PRE>
-a/one.c
-a/two.c
-b/three.c
-b/four.c
-</PRE>
-
-<P>
-if someone runs
-
-</P>
-
-<PRE>
-cvs ci a/two.c b/three.c
-</PRE>
-
-<P>
-and someone else runs <CODE>cvs update</CODE> at the same
-time, the person running <CODE>update</CODE> might get only
-the change to <TT>`b/three.c'</TT> and not the change to
-<TT>`a/two.c'</TT>.
-
-</P>
-
-
-<H2><A NAME="SEC43" HREF="cvs_toc.html#TOC43">Mechanisms to track who is 
editing files</A></H2>
-<P>
-<A NAME="IDX169"></A>
-
-</P>
-<P>
-For many groups, use of CVS in its default mode is
-perfectly satisfactory.  Users may sometimes go to
-check in a modification only to find that another
-modification has intervened, but they deal with it and
-proceed with their check in.  Other groups prefer to be
-able to know who is editing what files, so that if two
-people try to edit the same file they can choose to
-talk about who is doing what when rather than be
-surprised at check in time.  The features in this
-section allow such coordination, while retaining the
-ability of two developers to edit the same file at the
-same time.
-
-</P>
-<P>
-For maximum benefit developers should use <CODE>cvs
-edit</CODE> (not <CODE>chmod</CODE>) to make files read-write to
-edit them, and <CODE>cvs release</CODE> (not <CODE>rm</CODE>) to
-discard a working directory which is no longer in use,
-but CVS is not able to enforce this behavior.
-
-</P>
-
-
-
-<H3><A NAME="SEC44" HREF="cvs_toc.html#TOC44">Telling CVS to watch certain 
files</A></H3>
-
-<P>
-To enable the watch features, you first specify that
-certain files are to be watched.
-
-</P>
-<P>
-<A NAME="IDX170"></A>
-<DL>
-<DT><U>Command:</U> <B>cvs watch on</B> <I>[<CODE>-l</CODE>] files ...</I>
-<DD><A NAME="IDX171"></A>
-
-</P>
-<P>
-<A NAME="IDX172"></A>
-Specify that developers should run <CODE>cvs edit</CODE>
-before editing <VAR>files</VAR>.  CVS will create working
-copies of <VAR>files</VAR> read-only, to remind developers
-to run the <CODE>cvs edit</CODE> command before working on
-them.
-
-</P>
-<P>
-If <VAR>files</VAR> includes the name of a directory, CVS
-arranges to watch all files added to the corresponding
-repository directory, and sets a default for files
-added in the future; this allows the user to set
-notification policies on a per-directory basis.  The
-contents of the directory are processed recursively,
-unless the <CODE>-l</CODE> option is given.
-
-</P>
-<P>
-If <VAR>files</VAR> is omitted, it defaults to the current directory.
-
-</P>
-<P>
-<A NAME="IDX173"></A>
-</DL>
-
-</P>
-<P>
-<DL>
-<DT><U>Command:</U> <B>cvs watch off</B> <I>[<CODE>-l</CODE>] files ...</I>
-<DD><A NAME="IDX174"></A>
-
-</P>
-<P>
-Do not provide notification about work on <VAR>files</VAR>.  CVS will create
-working copies of <VAR>files</VAR> read-write.
-
-</P>
-<P>
-The <VAR>files</VAR> and <CODE>-l</CODE> arguments are processed as for 
<CODE>cvs
-watch on</CODE>.
-
-</P>
-</DL>
-
-
-
-<H3><A NAME="SEC45" HREF="cvs_toc.html#TOC45">Telling CVS to notify 
you</A></H3>
-
-<P>
-You can tell CVS that you want to receive
-notifications about various actions taken on a file.
-You can do this without using <CODE>cvs watch on</CODE> for
-the file, but generally you will want to use <CODE>cvs
-watch on</CODE>, so that developers use the <CODE>cvs edit</CODE>
-command.
-
-</P>
-<P>
-<A NAME="IDX175"></A>
-<DL>
-<DT><U>Command:</U> <B>cvs watch add</B> <I>[<CODE>-a</CODE> action] 
[<CODE>-l</CODE>] files ...</I>
-<DD><A NAME="IDX176"></A>
-
-</P>
-<P>
-Add the current user to the list of people to receive notification of
-work done on <VAR>files</VAR>.
-
-</P>
-<P>
-The <CODE>-a</CODE> option specifies what kinds of events CVS should notify
-the user about.  <VAR>action</VAR> is one of the following:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>edit</CODE>
-<DD>
-Another user has applied the <CODE>cvs edit</CODE> command (described
-below) to a file.
-
-<DT><CODE>unedit</CODE>
-<DD>
-Another user has applied the <CODE>cvs unedit</CODE> command (described
-below) or the <CODE>cvs release</CODE> command to a file, or has deleted
-the file and allowed <CODE>cvs update</CODE> to recreate it.
-
-<DT><CODE>commit</CODE>
-<DD>
-Another user has committed changes to a file.
-
-<DT><CODE>all</CODE>
-<DD>
-All of the above.
-
-<DT><CODE>none</CODE>
-<DD>
-None of the above.  (This is useful with <CODE>cvs edit</CODE>,
-described below.)
-
-</DL>
-
-<P>
-The <CODE>-a</CODE> option may appear more than once, or not at all.  If
-omitted, the action defaults to <CODE>all</CODE>.
-
-</P>
-<P>
-The <VAR>files</VAR> and <CODE>-l</CODE> option are processed as for the
-<CODE>cvs watch</CODE> commands.
-
-</P>
-</DL>
-
-<P>
-<A NAME="IDX177"></A>
-<DL>
-<DT><U>Command:</U> <B>cvs watch remove</B> <I>[<CODE>-a</CODE> action] 
[<CODE>-l</CODE>] files ...</I>
-<DD><A NAME="IDX178"></A>
-
-</P>
-<P>
-Remove a notification request established using <CODE>cvs watch add</CODE>;
-the arguments are the same.  If the <CODE>-a</CODE> option is present, only
-watches for the specified actions are removed.
-
-</P>
-</DL>
-
-<P>
-<A NAME="IDX179"></A>
-When the conditions exist for notification, CVS
-calls the <TT>`notify'</TT> administrative file.  Edit
-<TT>`notify'</TT> as one edits the other administrative
-files (see section <A HREF="cvs_5.html#SEC20">The administrative files</A>).  
This
-file follows the usual conventions for administrative
-files (see section <A HREF="cvs_21.html#SEC140">The common syntax</A>), where 
each line is a regular
-expression followed by a command to execute.  The
-command should contain a single ocurrence of <SAMP>`%s'</SAMP>
-which will be replaced by the user to notify; the rest
-of the information regarding the notification will be
-supplied to the command on standard input.  The
-standard thing to put in the <CODE>notify</CODE> file is the
-single line:
-
-</P>
-
-<PRE>
-ALL mail %s -s \"CVS notification\"
-</PRE>
-
-<P>
-This causes users to be notified by electronic mail.
-
-</P>
-<P>
-<A NAME="IDX180"></A>
-Note that if you set this up in the straightforward
-way, users receive notifications on the server machine.
-One could of course write a <TT>`notify'</TT> script which
-directed notifications elsewhere, but to make this
-easy, CVS allows you to associate a notification
-address for each user.  To do so create a file
-<TT>`users'</TT> in <TT>`CVSROOT'</TT> with a line for each
-user in the format <VAR>user</VAR>:<VAR>value</VAR>.  Then
-instead of passing the name of the user to be notified
-to <TT>`notify'</TT>, CVS will pass the <VAR>value</VAR>
-(normally an email address on some other machine).
-
-</P>
-
-
-<H3><A NAME="SEC46" HREF="cvs_toc.html#TOC46">How to edit a file which is 
being watched</A></H3>
-
-<P>
-<A NAME="IDX181"></A>
-Since a file which is being watched is checked out
-read-only, you cannot simply edit it.  To make it
-read-write, and inform others that you are planning to
-edit it, use the <CODE>cvs edit</CODE> command.  Some systems
-call this a <EM>checkout</EM>, but CVS uses that term
-for obtaining a copy of the sources (see section <A 
HREF="cvs_4.html#SEC11">Getting the source</A>), an operation which those 
systems call a
-<EM>get</EM> or a <EM>fetch</EM>.
-
-</P>
-<P>
-<A NAME="IDX182"></A>
-<DL>
-<DT><U>Command:</U> <B>cvs edit</B> <I>[options] files ...</I>
-<DD><A NAME="IDX183"></A>
-
-</P>
-<P>
-Prepare to edit the working files <VAR>files</VAR>.  CVS makes the
-<VAR>files</VAR> read-write, and notifies users who have requested
-<CODE>edit</CODE> notification for any of <VAR>files</VAR>.
-
-</P>
-<P>
-The <CODE>cvs edit</CODE> command accepts the same <VAR>options</VAR> as the
-<CODE>cvs watch add</CODE> command, and establishes a temporary watch for the
-user on <VAR>files</VAR>; CVS will remove the watch when <VAR>files</VAR> are
-<CODE>unedit</CODE>ed or <CODE>commit</CODE>ted.  If the user does not wish to
-receive notifications, she should specify <CODE>-a none</CODE>.
-
-</P>
-<P>
-The <VAR>files</VAR> and <CODE>-l</CODE> option are processed as for the 
<CODE>cvs
-watch</CODE> commands.
-
-</P>
-</DL>
-
-<P>
-Normally when you are done with a set of changes, you
-use the <CODE>cvs commit</CODE> command, which checks in your
-changes and returns the watched files to their usual
-read-only state.  But if you instead decide to abandon
-your changes, or not to make any changes, you can use
-the <CODE>cvs unedit</CODE> command.
-
-</P>
-<P>
-<A NAME="IDX184"></A>
-<A NAME="IDX185"></A>
-<A NAME="IDX186"></A>
-<DL>
-<DT><U>Command:</U> <B>cvs unedit</B> <I>[<CODE>-l</CODE>] files ...</I>
-<DD><A NAME="IDX187"></A>
-
-</P>
-<P>
-Abandon work on the working files <VAR>files</VAR>, and revert them to the
-repository versions on which they are based.  CVS makes those
-<VAR>files</VAR> read-only for which users have requested notification using
-<CODE>cvs watch on</CODE>.  CVS notifies users who have requested 
<CODE>unedit</CODE>
-notification for any of <VAR>files</VAR>.
-
-</P>
-<P>
-The <VAR>files</VAR> and <CODE>-l</CODE> option are processed as for the
-<CODE>cvs watch</CODE> commands.
-
-</P>
-<P>
-If watches are not in use, the <CODE>unedit</CODE> command
-probably does not work, and the way to revert to the
-repository version is to remove the file and then use
-<CODE>cvs update</CODE> to get a new copy.  The meaning is
-not precisely the same; removing and updating may also
-bring in some changes which have been made in the
-repository since the last time you updated.
-</DL>
-
-</P>
-<P>
-When using client/server CVS, you can use the
-<CODE>cvs edit</CODE> and <CODE>cvs unedit</CODE> commands even if
-CVS is unable to succesfully communicate with the
-server; the notifications will be sent upon the next
-successful CVS command.
-
-</P>
-
-
-<H3><A NAME="SEC47" HREF="cvs_toc.html#TOC47">Information about who is 
watching and editing</A></H3>
-
-<P>
-<A NAME="IDX188"></A>
-<DL>
-<DT><U>Command:</U> <B>cvs watchers</B> <I>[<CODE>-l</CODE>] files ...</I>
-<DD><A NAME="IDX189"></A>
-
-</P>
-<P>
-List the users currently watching changes to <VAR>files</VAR>.  The report
-includes the files being watched, and the mail address of each watcher.
-
-</P>
-<P>
-The <VAR>files</VAR> and <CODE>-l</CODE> arguments are processed as for the
-<CODE>cvs watch</CODE> commands.
-
-</P>
-</DL>
-
-<P>
-<A NAME="IDX190"></A>
-<DL>
-<DT><U>Command:</U> <B>cvs editors</B> <I>[<CODE>-l</CODE>] files ...</I>
-<DD><A NAME="IDX191"></A>
-
-</P>
-<P>
-List the users currently working on <VAR>files</VAR>.  The report
-includes the mail address of each user, the time when the user began
-working with the file, and the host and path of the working directory
-containing the file.
-
-</P>
-<P>
-The <VAR>files</VAR> and <CODE>-l</CODE> arguments are processed as for the
-<CODE>cvs watch</CODE> commands.
-
-</P>
-</DL>
-
-
-
-<H3><A NAME="SEC48" HREF="cvs_toc.html#TOC48">Using watches with old versions 
of CVS</A></H3>
-
-<P>
-<A NAME="IDX192"></A>
-If you use the watch features on a repository, it
-creates <TT>`CVS'</TT> directories in the repository and
-stores the information about watches in that directory.
-If you attempt to use CVS 1.6 or earlier with the
-repository, you get an error message such as
-
-</P>
-
-<PRE>
-cvs update: cannot open CVS/Entries for reading: No such file or directory
-</PRE>
-
-<P>
-and your operation will likely be aborted.  To use the
-watch features, you must upgrade all copies of CVS
-which use that repository in local or server mode.  If
-you cannot upgrade, use the <CODE>watch off</CODE> and
-<CODE>watch remove</CODE> commands to remove all watches, and
-that will restore the repository to a state which
-CVS 1.6 can cope with.
-
-</P>
-
-
-<H2><A NAME="SEC49" HREF="cvs_toc.html#TOC49">Choosing between reserved or 
unreserved checkouts</A></H2>
-<P>
-<A NAME="IDX193"></A>
-
-</P>
-<P>
-Reserved and unreserved checkouts each have pros and
-cons.  Let it be said that a lot of this is a matter of
-opinion or what works given different groups' working
-styles, but here is an attempt to briefly describe the
-issues.  There are many ways to organize a team of
-developers.  CVS does not try to enforce a certain
-organization.  It is a tool that can be used in several
-ways.
-
-</P>
-<P>
-Reserved checkouts can be very counter-productive.  If
-two persons want to edit different parts of a file,
-there may be no reason to prevent either of them from
-doing so.  Also, it is common for someone to take out a
-lock on a file, because they are planning to edit it,
-but then forget to release the lock.
-
-</P>
-<P>
-People, especially people who are familiar with
-reserved checkouts, often wonder how often conflicts
-occur if unreserved checkouts are used, and how
-difficult they are to resolve.  The experience with
-many groups is that they occur rarely and usually are
-relatively straightforward to resolve.
-
-</P>
-<P>
-The rarity of serious conflicts may be surprising, until one realizes
-that they occur only when two developers disagree on the proper design
-for a given section of code; such a disagreement suggests that the
-team has not been communicating properly in the first place.  In order
-to collaborate under <EM>any</EM> source management regimen, developers
-must agree on the general design of the system; given this agreement,
-overlapping changes are usually straightforward to merge.
-
-</P>
-<P>
-In some cases unreserved checkouts are clearly
-inappropriate.  If no merge tool exists for the kind of
-file you are managing (for example word processor files
-or files edited by Computer Aided Design programs), and
-it is not desirable to change to a program which uses a
-mergeable data format, then resolving conflicts is
-going to be unpleasant enough that you generally will
-be better off to simply avoid the conflicts instead, by
-using reserved checkouts.
-
-</P>
-<P>
-The watches features described above in section <A 
HREF="cvs_7.html#SEC43">Mechanisms to track who is editing files</A>
-can be considered to be an intermediate model between
-reserved checkouts and unreserved checkouts.  When you
-go to edit a file, it is possible to find out who else
-is editing it.  And rather than having the system
-simply forbid both people editing the file, it can tell
-you what the situation is and let you figure out
-whether it is a problem in that particular case or not.
-Therefore, for some groups it can be considered the
-best of both the reserved checkout and unreserved
-checkout worlds.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_6.html">previous</A>, 
<A HREF="cvs_8.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_chapter/cvs_8.html
===================================================================
RCS file: manual/html_chapter/cvs_8.html
diff -N manual/html_chapter/cvs_8.html
--- manual/html_chapter/cvs_8.html      7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,428 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Branches</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_7.html">previous</A>, 
<A HREF="cvs_9.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC50" HREF="cvs_toc.html#TOC50">Branches</A></H1>
-<P>
-<A NAME="IDX194"></A>
-<A NAME="IDX195"></A>
-<A NAME="IDX196"></A>
-
-</P>
-<P>
-So far, all revisions shown in this manual have been on
-the <EM>main trunk</EM>
-of the revision tree, i.e., all revision numbers
-have been of the form <VAR>x</VAR>.<VAR>y</VAR>.  One useful
-feature, especially when maintaining several releases
-of a software product at once, is the ability to make
-branches on the revision tree.  <EM>Tags</EM>, symbolic
-names for revisions, will also be
-introduced in this chapter.
-
-</P>
-
-
-
-<H2><A NAME="SEC51" HREF="cvs_toc.html#TOC51">Tags--Symbolic revisions</A></H2>
-<P>
-<A NAME="IDX197"></A>
-
-</P>
-<P>
-The revision numbers live a life of their own.  They
-need not have anything at all to do with the release
-numbers of your software product.  Depending
-on how you use CVS the revision numbers might change several times
-between two releases.  As an example, some of the
-source files that make up RCS 5.6 have the following
-revision numbers:
-<A NAME="IDX198"></A>
-
-</P>
-
-<PRE>
-ci.c            5.21
-co.c            5.9
-ident.c         5.3
-rcs.c           5.12
-rcsbase.h       5.11
-rcsdiff.c       5.10
-rcsedit.c       5.11
-rcsfcmp.c       5.9
-rcsgen.c        5.10
-rcslex.c        5.11
-rcsmap.c        5.2
-rcsutil.c       5.10
-</PRE>
-
-<P>
-<A NAME="IDX199"></A>
-<A NAME="IDX200"></A>
-<A NAME="IDX201"></A>
-<A NAME="IDX202"></A>
-You can use the <CODE>tag</CODE> command to give a symbolic name to a
-certain revision of a file.  You can use the <SAMP>`-v'</SAMP> flag to the
-<CODE>status</CODE> command to see all tags that a file has, and
-which revision numbers they represent.  Tag names can
-contain uppercase and lowercase letters, digits,
-<SAMP>`-'</SAMP>, and <SAMP>`_'</SAMP>.  The two tag names <CODE>BASE</CODE>
-and <CODE>HEAD</CODE> are reserved for use by CVS.  It
-is expected that future names which are special to
-CVS will contain characters such as <SAMP>`%'</SAMP> or
-<SAMP>`='</SAMP>, rather than being named analogously to
-<CODE>BASE</CODE> and <CODE>HEAD</CODE>, to avoid conflicts with
-actual tag names.
-
-</P>
-<P>
-<A NAME="IDX203"></A>
-<A NAME="IDX204"></A>
-The following example shows how you can add a tag to a
-file.  The commands must be issued inside your working
-copy of the module.  That is, you should issue the
-command in the directory where <TT>`backend.c'</TT>
-resides.
-
-</P>
-
-<PRE>
-$ cvs tag release-0-4 backend.c
-T backend.c
-$ cvs status -v backend.c
-===================================================================
-File: backend.c         Status: Up-to-date
-
-    Version:            1.4     Tue Dec  1 14:39:01 1992
-    RCS Version:        1.4     /usr/local/cvsroot/yoyodyne/tc/backend.c,v
-    Sticky Tag:         (none)
-    Sticky Date:        (none)
-    Sticky Options:     (none)
-
-    Existing Tags:
-        release-0-4                     (revision: 1.4)
-
-</PRE>
-
-<P>
-There is seldom reason to tag a file in isolation.  A more common use is
-to tag all the files that constitute a module with the same tag at
-strategic points in the development life-cycle, such as when a release
-is made.
-
-</P>
-
-<PRE>
-$ cvs tag release-1-0 .
-cvs tag: Tagging .
-T Makefile
-T backend.c
-T driver.c
-T frontend.c
-T parser.c
-</PRE>
-
-<P>
-(When you give CVS a directory as argument, it generally applies the
-operation to all the files in that directory, and (recursively), to any
-subdirectories that it may contain.  See section <A 
HREF="cvs_10.html#SEC60">Recursive behavior</A>.)
-
-</P>
-<P>
-<A NAME="IDX205"></A>
-<A NAME="IDX206"></A>
-The <CODE>checkout</CODE> command has a flag, <SAMP>`-r'</SAMP>, that lets you 
check out
-a certain revision of a module.  This flag makes it easy to
-retrieve the sources that make up release 1.0 of the module <SAMP>`tc'</SAMP> 
at
-any time in the future:
-
-</P>
-
-<PRE>
-$ cvs checkout -r release-1-0 tc
-</PRE>
-
-<P>
-This is useful, for instance, if someone claims that there is a bug in
-that release, but you cannot find the bug in the current working copy.
-
-</P>
-<P>
-You can also check out a module as it was at any given date.
-See section <A HREF="cvs_20.html#SEC97">checkout options</A>.
-
-</P>
-<P>
-When you tag more than one file with the same tag you
-can think about the tag as "a curve drawn through a
-matrix of filename vs. revision number."  Say we have 5
-files with the following revisions:
-
-</P>
-
-<PRE>
-        file1   file2   file3   file4   file5
-
-        1.1     1.1     1.1     1.1  /--1.1*      &#60;-*-  TAG
-        1.2*-   1.2     1.2    -1.2*-
-        1.3  \- 1.3*-   1.3   / 1.3
-        1.4          \  1.4  /  1.4
-                      \-1.5*-   1.5
-                        1.6
-</PRE>
-
-<P>
-At some time in the past, the <CODE>*</CODE> versions were tagged.
-You can think of the tag as a handle attached to the curve
-drawn through the tagged revisions.  When you pull on
-the handle, you get all the tagged revisions.  Another
-way to look at it is that you "sight" through a set of
-revisions that is "flat" along the tagged revisions,
-like this:
-
-</P>
-
-<PRE>
-        file1   file2   file3   file4   file5
-
-                        1.1
-                        1.2
-                1.1     1.3                       _
-        1.1     1.2     1.4     1.1              /
-        1.2*----1.3*----1.5*----1.2*----1.1     (--- &#60;--- Look here
-        1.3             1.6     1.3              \_
-        1.4                     1.4
-                                1.5
-</PRE>
-
-
-
-<H2><A NAME="SEC52" HREF="cvs_toc.html#TOC52">What branches are good 
for</A></H2>
-<P>
-<A NAME="IDX207"></A>
-<A NAME="IDX208"></A>
-<A NAME="IDX209"></A>
-
-</P>
-<P>
-Suppose that release 1.0 of tc has been made.  You are continuing to
-develop tc, planning to create release 1.1 in a couple of months.  After a
-while your customers start to complain about a fatal bug.  You check
-out release 1.0 (see section <A HREF="cvs_8.html#SEC51">Tags--Symbolic 
revisions</A>) and find the bug
-(which turns out to have a trivial fix).  However, the current revision
-of the sources are in a state of flux and are not expected to be stable
-for at least another month.  There is no way to make a
-bugfix release based on the newest sources.
-
-</P>
-<P>
-The thing to do in a situation like this is to create a <EM>branch</EM> on
-the revision trees for all the files that make up
-release 1.0 of tc.  You can then make
-modifications to the branch without disturbing the main trunk.  When the
-modifications are finished you can select to either incorporate them on
-the main trunk, or leave them on the branch.
-
-</P>
-
-
-<H2><A NAME="SEC53" HREF="cvs_toc.html#TOC53">Creating a branch</A></H2>
-<P>
-<A NAME="IDX210"></A>
-<A NAME="IDX211"></A>
-<A NAME="IDX212"></A>
-
-</P>
-<P>
-The <CODE>rtag</CODE> command can be used to create a branch.
-The <CODE>rtag</CODE> command is much like <CODE>tag</CODE>, but it
-does not require that you have a working copy of the
-module.  See section <A HREF="cvs_20.html#SEC126">rtag--Add a symbolic tag to 
a module</A>.  (You can also use the <CODE>tag</CODE>
-command; see section <A HREF="cvs_20.html#SEC130">tag--Add a symbolic tag to 
checked out versions of files</A>).
-
-</P>
-
-<PRE>
-$ cvs rtag -b -r release-1-0 release-1-0-patches tc
-</PRE>
-
-<P>
-The <SAMP>`-b'</SAMP> flag makes <CODE>rtag</CODE> create a branch
-(rather than just a symbolic revision name).  <SAMP>`-r
-release-1-0'</SAMP> says that this branch should be rooted at the node (in
-the revision tree) that corresponds to the tag
-<SAMP>`release-1-0'</SAMP>.  Note that the numeric revision number that matches
-<SAMP>`release-1-0'</SAMP> will probably be different from file to file.  The
-name of the new branch is <SAMP>`release-1-0-patches'</SAMP>, and the
-module affected is <SAMP>`tc'</SAMP>.
-
-</P>
-<P>
-To fix the problem in release 1.0, you need a working
-copy of the branch you just created.
-
-</P>
-
-<PRE>
-$ cvs checkout -r release-1-0-patches tc
-$ cvs status -v driver.c backend.c
-===================================================================
-File: driver.c          Status: Up-to-date
-
-    Version:            1.7     Sat Dec  5 18:25:54 1992
-    RCS Version:        1.7     /usr/local/cvsroot/yoyodyne/tc/driver.c,v
-    Sticky Tag:         release-1-0-patches (branch: 1.7.2)
-    Sticky Date:        (none)
-    Sticky Options:     (none)
-
-    Existing Tags:
-        release-1-0-patches             (branch: 1.7.2)
-        release-1-0                     (revision: 1.7)
-
-===================================================================
-File: backend.c         Status: Up-to-date
-
-    Version:            1.4     Tue Dec  1 14:39:01 1992
-    RCS Version:        1.4     /usr/local/cvsroot/yoyodyne/tc/backend.c,v
-    Sticky Tag:         release-1-0-patches (branch: 1.4.2)
-    Sticky Date:        (none)
-    Sticky Options:     (none)
-
-    Existing Tags:
-        release-1-0-patches             (branch: 1.4.2)
-        release-1-0                     (revision: 1.4)
-        release-0-4                     (revision: 1.4)
-
-</PRE>
-
-<P>
-<A NAME="IDX213"></A>
-As the output from the <CODE>status</CODE> command shows the branch
-number is created by adding a digit at the tail of the revision number
-it is based on.  (If <SAMP>`release-1-0'</SAMP> corresponds to revision 1.4, 
the
-branch's revision number will be 1.4.2.  For obscure reasons CVS always
-gives branches even numbers, starting at 2.
-See section <A HREF="cvs_3.html#SEC8">Revision numbers</A>).
-
-</P>
-
-
-<H2><A NAME="SEC54" HREF="cvs_toc.html#TOC54">Sticky tags</A></H2>
-<P>
-<A NAME="IDX214"></A>
-<A NAME="IDX215"></A>
-<A NAME="IDX216"></A>
-
-</P>
-<P>
-The <SAMP>`-r release-1-0-patches'</SAMP> flag that was given
-to <CODE>checkout</CODE> in the previous example
-is <EM>sticky</EM>, that is, it will apply to subsequent commands
-in this directory.  If you commit any modifications, they are
-committed on the branch.  You can later merge the modifications into
-the main trunk.  See section <A HREF="cvs_9.html#SEC55">Merging</A>.
-
-</P>
-<P>
-You can use the <CODE>status</CODE> command to see what
-sticky tags or dates are set:
-
-</P>
-
-<PRE>
-$ vi driver.c   # Fix the bugs
-$ cvs commit -m "Fixed initialization bug" driver.c
-Checking in driver.c;
-/usr/local/cvsroot/yoyodyne/tc/driver.c,v  &#60;--  driver.c
-new revision: 1.7.2.1; previous revision: 1.7
-done
-$ cvs status -v driver.c
-===================================================================
-File: driver.c          Status: Up-to-date
-
-    Version:            1.7.2.1 Sat Dec  5 19:35:03 1992
-    RCS Version:        1.7.2.1 /usr/local/cvsroot/yoyodyne/tc/driver.c,v
-    Sticky Tag:         release-1-0-patches (branch: 1.7.2)
-    Sticky Date:        (none)
-    Sticky Options:     (none)
-
-    Existing Tags:
-        release-1-0-patches             (branch: 1.7.2)
-        release-1-0                     (revision: 1.7)
-
-</PRE>
-
-<P>
-<A NAME="IDX217"></A>
-<A NAME="IDX218"></A>
-<A NAME="IDX219"></A>
-The sticky tags will remain on your working files until
-you delete them with <SAMP>`cvs update -A'</SAMP>.  The
-<SAMP>`-A'</SAMP> option retrieves the version of the file from
-the head of the trunk, and forgets any sticky tags,
-dates, or options.
-
-</P>
-<P>
-<A NAME="IDX220"></A>
-Sticky tags are not just for branches.  For example,
-suppose that you want to avoid updating your working
-directory, to isolate yourself from possibly
-destabilizing changes other people are making.  You
-can, of course, just refrain from running <CODE>cvs
-update</CODE>.  But if you want to avoid updating only a
-portion of a larger tree, then sticky tags can help.
-If you check out a certain revision (such as 1.4) it
-will become sticky.  Subsequent <CODE>cvs update</CODE> will
-not retrieve the latest revision until you reset the
-tag with <CODE>cvs update -A</CODE>.  Likewise, use of the
-<SAMP>`-D'</SAMP> option to <CODE>update</CODE> or <CODE>checkout</CODE>
-sets a <EM>sticky date</EM>, which, similarly, causes that
-date to be used for future retrievals.
-
-</P>
-<P>
-<A NAME="IDX221"></A>
-<A NAME="IDX222"></A>
-Many times you will want to retrieve an old version of
-a file without setting a sticky tag.  The way to do
-that is with the <SAMP>`-p'</SAMP> option to <CODE>checkout</CODE> or
-<CODE>update</CODE>, which sends the contents of the file to
-standard output.  For example, suppose you have a file
-named <TT>`file1'</TT> which existed as revision 1.1, and
-you then removed it (thus adding a dead revision 1.2).
-Now suppose you want to add it again, with the same
-contents it had previously.  Here is how to do it:
-
-</P>
-
-<PRE>
-$ cvs update -p -r 1.1 file1 &#62;file1
-===================================================================
-Checking out file1
-RCS:  /tmp/cvs-sanity/cvsroot/first-dir/Attic/file1,v
-VERS: 1.1
-***************
-$ cvs add file1
-cvs add: re-adding file file1 (in place of dead revision 1.2)
-cvs add: use 'cvs commit' to add this file permanently
-$ cvs commit -m test
-Checking in file1;
-/tmp/cvs-sanity/cvsroot/first-dir/file1,v  &#60;--  file1
-new revision: 1.3; previous revision: 1.2
-done
-$ 
-</PRE>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_7.html">previous</A>, 
<A HREF="cvs_9.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_chapter/cvs_9.html
===================================================================
RCS file: manual/html_chapter/cvs_9.html
diff -N manual/html_chapter/cvs_9.html
--- manual/html_chapter/cvs_9.html      7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,259 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Merging</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_8.html">previous</A>, 
<A HREF="cvs_10.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC55" HREF="cvs_toc.html#TOC55">Merging</A></H1>
-<P>
-<A NAME="IDX223"></A>
-<A NAME="IDX224"></A>
-<A NAME="IDX225"></A>
-<A NAME="IDX226"></A>
-<A NAME="IDX227"></A>
-
-</P>
-<P>
-You can include the changes made between any two
-revisions into your working copy, by <EM>merging</EM>.
-You can then commit that revision, and thus effectively
-copy the changes onto another branch.
-
-</P>
-
-
-
-<H2><A NAME="SEC56" HREF="cvs_toc.html#TOC56">Merging an entire branch</A></H2>
-<P>
-<A NAME="IDX228"></A>
-<A NAME="IDX229"></A>
-
-</P>
-<P>
-You can merge changes made on a branch into your working copy by giving
-the <SAMP>`-j <VAR>branch</VAR>'</SAMP> flag to the <CODE>update</CODE> 
command.  With one
-<SAMP>`-j <VAR>branch</VAR>'</SAMP> option it merges the changes made between 
the
-point where the branch forked and newest revision on that branch (into
-your working copy).
-
-</P>
-<P>
-<A NAME="IDX230"></A>
-The <SAMP>`-j'</SAMP> stands for "join".
-
-</P>
-<P>
-<A NAME="IDX231"></A>
-<A NAME="IDX232"></A>
-<A NAME="IDX233"></A>
-Consider this revision tree:
-
-</P>
-
-<PRE>
-+-----+    +-----+    +-----+    +-----+
-! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !      &#60;- The main trunk
-+-----+    +-----+    +-----+    +-----+
-                !
-                !
-                !   +---------+    +---------+
-Branch R1fix -&#62; +---! 1.2.2.1 !----! 1.2.2.2 !
-                    +---------+    +---------+
-</PRE>
-
-<P>
-The branch 1.2.2 has been given the tag (symbolic name) <SAMP>`R1fix'</SAMP>.  
The
-following example assumes that the module <SAMP>`mod'</SAMP> contains only one
-file, <TT>`m.c'</TT>.
-
-</P>
-
-<PRE>
-$ cvs checkout mod               # Retrieve the latest revision, 1.4
-
-$ cvs update -j R1fix m.c        # Merge all changes made on the branch,
-                                 # i.e. the changes between revision 1.2
-                                 # and 1.2.2.2, into your working copy
-                                 # of the file.
-
-$ cvs commit -m "Included R1fix" # Create revision 1.5.
-</PRE>
-
-<P>
-A conflict can result from a merge operation.  If that
-happens, you should resolve it before committing the
-new revision.  See section <A HREF="cvs_7.html#SEC40">Conflicts example</A>.
-
-</P>
-<P>
-The <CODE>checkout</CODE> command also supports the <SAMP>`-j 
<VAR>branch</VAR>'</SAMP> flag.  The
-same effect as above could be achieved with this:
-
-</P>
-
-<PRE>
-$ cvs checkout -j R1fix mod
-$ cvs commit -m "Included R1fix"
-</PRE>
-
-
-
-<H2><A NAME="SEC57" HREF="cvs_toc.html#TOC57">Merging from a branch several 
times</A></H2>
-
-<P>
-Continuing our example, the revision tree now looks
-like this:
-
-</P>
-
-<PRE>
-+-----+    +-----+    +-----+    +-----+    +-----+
-! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 1.5 !      &#60;- The main trunk
-+-----+    +-----+    +-----+    +-----+    +-----+
-                !                           *
-                !                          *
-                !   +---------+    +---------+
-Branch R1fix -&#62; +---! 1.2.2.1 !----! 1.2.2.2 !
-                    +---------+    +---------+
-</PRE>
-
-<P>
-where the starred line represents the merge from the
-<SAMP>`R1fix'</SAMP> branch to the main trunk, as just
-discussed.
-
-</P>
-<P>
-Now suppose that development continues on the
-<SAMP>`R1fix'</SAMP> branch:
-
-</P>
-
-<PRE>
-+-----+    +-----+    +-----+    +-----+    +-----+
-! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 1.5 !      &#60;- The main trunk
-+-----+    +-----+    +-----+    +-----+    +-----+
-                !                           *
-                !                          *
-                !   +---------+    +---------+    +---------+
-Branch R1fix -&#62; +---! 1.2.2.1 !----! 1.2.2.2 !----! 1.2.2.3 !
-                    +---------+    +---------+    +---------+
-</PRE>
-
-<P>
-and then you want to merge those new changes onto the
-main trunk.  If you just use the <CODE>cvs update -j
-R1fix m.c</CODE> command again, CVS will attempt to
-merge again the changes which you have already merged,
-which can have undesirable side effects.
-
-</P>
-<P>
-So instead you need to specify that you only want to
-merge the changes on the branch which have not yet been
-merged into the trunk.  To do that you specify two
-<SAMP>`-j'</SAMP> options, and CVS merges the changes from
-the first revision to the second revision.  For
-example, in this case the simplest way would be
-
-</P>
-
-<PRE>
-cvs update -j 1.2.2.2 -j R1fix m.c    # Merge changes from 1.2.2.2 to the
-                                      # head of the R1fix branch
-</PRE>
-
-<P>
-The problem with this is that you need to specify the
-1.2.2.2 revision manually.  A slightly better approach
-might be to use the date the last merge was done:
-
-</P>
-
-<PRE>
-cvs update -j R1fix:yesterday -j R1fix m.c
-</PRE>
-
-<P>
-Better yet, tag the R1fix branch after every merge into
-the trunk, and then use that tag for subsequent merges:
-
-</P>
-
-<PRE>
-cvs update -j merged_from_R1fix_to_trunk -j R1fix m.c
-</PRE>
-
-
-
-<H2><A NAME="SEC58" HREF="cvs_toc.html#TOC58">Merging differences between any 
two revisions</A></H2>
-<P>
-<A NAME="IDX234"></A>
-<A NAME="IDX235"></A>
-<A NAME="IDX236"></A>
-
-</P>
-<P>
-With two <SAMP>`-j <VAR>revision</VAR>'</SAMP> flags, the <CODE>update</CODE>
-(and <CODE>checkout</CODE>) command can merge the differences
-between any two revisions into your working file.
-
-</P>
-<P>
-<A NAME="IDX237"></A>
-<A NAME="IDX238"></A>
-
-<PRE>
-$ cvs update -j 1.5 -j 1.3 backend.c
-</PRE>
-
-<P>
-will <EM>remove</EM> all changes made between revision
-1.3 and 1.5.  Note the order of the revisions!
-
-</P>
-<P>
-If you try to use this option when operating on
-multiple files, remember that the numeric revisions will
-probably be very different between the various files
-that make up a module.  You almost always use symbolic
-tags rather than revision numbers when operating on
-multiple files.
-
-</P>
-
-
-<H2><A NAME="SEC59" HREF="cvs_toc.html#TOC59">Merging can add or remove 
files</A></H2>
-
-<P>
-If the changes which you are merging involve removing
-or adding some files, <CODE>update -j</CODE> will reflect
-such additions or removals.
-
-</P>
-<P>
-For example:
-
-<PRE>
-cvs update -A
-touch a b c
-cvs add a b c ; cvs ci -m "added" a b c
-cvs tag -b branchtag
-cvs update -r branchtag
-touch d ; cvs add d
-rm a ; cvs rm a
-cvs ci -m "added d, removed a"
-cvs update -A
-cvs update -jbranchtag
-</PRE>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_8.html">previous</A>, 
<A HREF="cvs_10.html">next</A>, <A HREF="cvs_25.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_chapter/cvs_toc.html
===================================================================
RCS file: manual/html_chapter/cvs_toc.html
diff -N manual/html_chapter/cvs_toc.html
--- manual/html_chapter/cvs_toc.html    7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,258 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Table of Contents</TITLE>
-</HEAD>
-<BODY>
-<H1>CVS--Concurrent Versions System</H1>
-<P>
-<P><HR><P>
-<UL>
-<LI><A NAME="TOC1" HREF="cvs_1.html#SEC1">About this manual</A>
-<UL>
-<LI><A NAME="TOC2" HREF="cvs_1.html#SEC2">Checklist for the impatient 
reader</A>
-<LI><A NAME="TOC3" HREF="cvs_1.html#SEC3">Credits</A>
-<LI><A NAME="TOC4" HREF="cvs_1.html#SEC4">BUGS</A>
-</UL>
-<LI><A NAME="TOC5" HREF="cvs_2.html#SEC5">What is CVS?</A>
-<UL>
-<LI><A NAME="TOC6" HREF="cvs_2.html#SEC6">CVS is not...</A>
-</UL>
-<LI><A NAME="TOC7" HREF="cvs_3.html#SEC7">Basic concepts</A>
-<UL>
-<LI><A NAME="TOC8" HREF="cvs_3.html#SEC8">Revision numbers</A>
-<LI><A NAME="TOC9" HREF="cvs_3.html#SEC9">Versions, revisions and releases</A>
-</UL>
-<LI><A NAME="TOC10" HREF="cvs_4.html#SEC10">A sample session</A>
-<UL>
-<LI><A NAME="TOC11" HREF="cvs_4.html#SEC11">Getting the source</A>
-<LI><A NAME="TOC12" HREF="cvs_4.html#SEC12">Committing your changes</A>
-<LI><A NAME="TOC13" HREF="cvs_4.html#SEC13">Cleaning up</A>
-<LI><A NAME="TOC14" HREF="cvs_4.html#SEC14">Viewing differences</A>
-</UL>
-<LI><A NAME="TOC15" HREF="cvs_5.html#SEC15">The Repository</A>
-<UL>
-<LI><A NAME="TOC16" HREF="cvs_5.html#SEC16">Telling CVS where your repository 
is</A>
-<LI><A NAME="TOC17" HREF="cvs_5.html#SEC17">How data is stored in the 
repository</A>
-<UL>
-<LI><A NAME="TOC18" HREF="cvs_5.html#SEC18">Where files are stored within the 
repository</A>
-<LI><A NAME="TOC19" HREF="cvs_5.html#SEC19">File permissions</A>
-</UL>
-<LI><A NAME="TOC20" HREF="cvs_5.html#SEC20">The administrative files</A>
-<UL>
-<LI><A NAME="TOC21" HREF="cvs_5.html#SEC21">Editing administrative files</A>
-</UL>
-<LI><A NAME="TOC22" HREF="cvs_5.html#SEC22">Multiple repositories</A>
-<LI><A NAME="TOC23" HREF="cvs_5.html#SEC23">Creating a repository</A>
-<LI><A NAME="TOC24" HREF="cvs_5.html#SEC24">Remote repositories</A>
-<UL>
-<LI><A NAME="TOC25" HREF="cvs_5.html#SEC25">Connecting with rsh</A>
-<LI><A NAME="TOC26" HREF="cvs_5.html#SEC26">Direct connection with password 
authentication</A>
-<UL>
-<LI><A NAME="TOC27" HREF="cvs_5.html#SEC27">Setting up the server for password 
authentication</A>
-<LI><A NAME="TOC28" HREF="cvs_5.html#SEC28">Using the client with password 
authentication</A>
-<LI><A NAME="TOC29" HREF="cvs_5.html#SEC29">Security considerations with 
password authentication</A>
-</UL>
-<LI><A NAME="TOC30" HREF="cvs_5.html#SEC30">Direct connection with kerberos</A>
-</UL>
-</UL>
-<LI><A NAME="TOC31" HREF="cvs_6.html#SEC31">Starting a project with CVS</A>
-<UL>
-<LI><A NAME="TOC32" HREF="cvs_6.html#SEC32">Setting up the files</A>
-<UL>
-<LI><A NAME="TOC33" HREF="cvs_6.html#SEC33">Creating a directory tree from a 
number of files</A>
-<LI><A NAME="TOC34" HREF="cvs_6.html#SEC34">Creating Files From Other Version 
Control Systems</A>
-<LI><A NAME="TOC35" HREF="cvs_6.html#SEC35">Creating a directory tree from 
scratch</A>
-</UL>
-<LI><A NAME="TOC36" HREF="cvs_6.html#SEC36">Defining the module</A>
-</UL>
-<LI><A NAME="TOC37" HREF="cvs_7.html#SEC37">Multiple developers</A>
-<UL>
-<LI><A NAME="TOC38" HREF="cvs_7.html#SEC38">File status</A>
-<LI><A NAME="TOC39" HREF="cvs_7.html#SEC39">Bringing a file up to date</A>
-<LI><A NAME="TOC40" HREF="cvs_7.html#SEC40">Conflicts example</A>
-<LI><A NAME="TOC41" HREF="cvs_7.html#SEC41">Informing others about commits</A>
-<LI><A NAME="TOC42" HREF="cvs_7.html#SEC42">Several developers simultaneously 
attempting to run CVS</A>
-<LI><A NAME="TOC43" HREF="cvs_7.html#SEC43">Mechanisms to track who is editing 
files</A>
-<UL>
-<LI><A NAME="TOC44" HREF="cvs_7.html#SEC44">Telling CVS to watch certain 
files</A>
-<LI><A NAME="TOC45" HREF="cvs_7.html#SEC45">Telling CVS to notify you</A>
-<LI><A NAME="TOC46" HREF="cvs_7.html#SEC46">How to edit a file which is being 
watched</A>
-<LI><A NAME="TOC47" HREF="cvs_7.html#SEC47">Information about who is watching 
and editing</A>
-<LI><A NAME="TOC48" HREF="cvs_7.html#SEC48">Using watches with old versions of 
CVS</A>
-</UL>
-<LI><A NAME="TOC49" HREF="cvs_7.html#SEC49">Choosing between reserved or 
unreserved checkouts</A>
-</UL>
-<LI><A NAME="TOC50" HREF="cvs_8.html#SEC50">Branches</A>
-<UL>
-<LI><A NAME="TOC51" HREF="cvs_8.html#SEC51">Tags--Symbolic revisions</A>
-<LI><A NAME="TOC52" HREF="cvs_8.html#SEC52">What branches are good for</A>
-<LI><A NAME="TOC53" HREF="cvs_8.html#SEC53">Creating a branch</A>
-<LI><A NAME="TOC54" HREF="cvs_8.html#SEC54">Sticky tags</A>
-</UL>
-<LI><A NAME="TOC55" HREF="cvs_9.html#SEC55">Merging</A>
-<UL>
-<LI><A NAME="TOC56" HREF="cvs_9.html#SEC56">Merging an entire branch</A>
-<LI><A NAME="TOC57" HREF="cvs_9.html#SEC57">Merging from a branch several 
times</A>
-<LI><A NAME="TOC58" HREF="cvs_9.html#SEC58">Merging differences between any 
two revisions</A>
-<LI><A NAME="TOC59" HREF="cvs_9.html#SEC59">Merging can add or remove files</A>
-</UL>
-<LI><A NAME="TOC60" HREF="cvs_10.html#SEC60">Recursive behavior</A>
-<LI><A NAME="TOC61" HREF="cvs_11.html#SEC61">Adding files to a directory</A>
-<LI><A NAME="TOC62" HREF="cvs_12.html#SEC62">Removing files from a module</A>
-<LI><A NAME="TOC63" HREF="cvs_13.html#SEC63">Tracking third-party sources</A>
-<UL>
-<LI><A NAME="TOC64" HREF="cvs_13.html#SEC64">Importing a module for the first 
time</A>
-<LI><A NAME="TOC65" HREF="cvs_13.html#SEC65">Updating a module with the import 
command</A>
-<LI><A NAME="TOC66" HREF="cvs_13.html#SEC66">How to handle binary files with 
cvs import</A>
-</UL>
-<LI><A NAME="TOC67" HREF="cvs_14.html#SEC67">Moving and renaming files</A>
-<UL>
-<LI><A NAME="TOC68" HREF="cvs_14.html#SEC68">The Normal way to Rename</A>
-<LI><A NAME="TOC69" HREF="cvs_14.html#SEC69">Moving the history file</A>
-<LI><A NAME="TOC70" HREF="cvs_14.html#SEC70">Copying the history file</A>
-</UL>
-<LI><A NAME="TOC71" HREF="cvs_15.html#SEC71">Moving and renaming 
directories</A>
-<LI><A NAME="TOC72" HREF="cvs_16.html#SEC72">History browsing</A>
-<UL>
-<LI><A NAME="TOC73" HREF="cvs_16.html#SEC73">Log messages</A>
-<LI><A NAME="TOC74" HREF="cvs_16.html#SEC74">The history database</A>
-<LI><A NAME="TOC75" HREF="cvs_16.html#SEC75">User-defined logging</A>
-<LI><A NAME="TOC76" HREF="cvs_16.html#SEC76">Annotate command</A>
-</UL>
-<LI><A NAME="TOC77" HREF="cvs_17.html#SEC77">Keyword substitution</A>
-<UL>
-<LI><A NAME="TOC78" HREF="cvs_17.html#SEC78">RCS Keywords</A>
-<LI><A NAME="TOC79" HREF="cvs_17.html#SEC79">Using keywords</A>
-<LI><A NAME="TOC80" HREF="cvs_17.html#SEC80">Avoiding substitution</A>
-<LI><A NAME="TOC81" HREF="cvs_17.html#SEC81">Substitution modes</A>
-<LI><A NAME="TOC82" HREF="cvs_17.html#SEC82">Problems with the address@hidden 
keyword.</A>
-</UL>
-<LI><A NAME="TOC83" HREF="cvs_18.html#SEC83">Handling binary files</A>
-<LI><A NAME="TOC84" HREF="cvs_19.html#SEC84">Revision management</A>
-<UL>
-<LI><A NAME="TOC85" HREF="cvs_19.html#SEC85">When to commit?</A>
-</UL>
-<LI><A NAME="TOC86" HREF="cvs_20.html#SEC86">Reference manual for CVS 
commands</A>
-<UL>
-<LI><A NAME="TOC87" HREF="cvs_20.html#SEC87">Overall structure of CVS 
commands</A>
-<LI><A NAME="TOC88" HREF="cvs_20.html#SEC88">Default options and the ~/.cvsrc 
file</A>
-<LI><A NAME="TOC89" HREF="cvs_20.html#SEC89">Global options</A>
-<LI><A NAME="TOC90" HREF="cvs_20.html#SEC90">Common command options</A>
-<LI><A NAME="TOC91" HREF="cvs_20.html#SEC91">admin--Administration front end 
for rcs</A>
-<UL>
-<LI><A NAME="TOC92" HREF="cvs_20.html#SEC92">admin options</A>
-<LI><A NAME="TOC93" HREF="cvs_20.html#SEC93">admin examples</A>
-<UL>
-<LI><A NAME="TOC94" HREF="cvs_20.html#SEC94">Outdating is dangerous</A>
-<LI><A NAME="TOC95" HREF="cvs_20.html#SEC95">Comment leaders</A>
-</UL>
-</UL>
-<LI><A NAME="TOC96" HREF="cvs_20.html#SEC96">checkout--Check out sources for 
editing</A>
-<UL>
-<LI><A NAME="TOC97" HREF="cvs_20.html#SEC97">checkout options</A>
-<LI><A NAME="TOC98" HREF="cvs_20.html#SEC98">checkout examples</A>
-</UL>
-<LI><A NAME="TOC99" HREF="cvs_20.html#SEC99">commit--Check files into the 
repository</A>
-<UL>
-<LI><A NAME="TOC100" HREF="cvs_20.html#SEC100">commit options</A>
-<LI><A NAME="TOC101" HREF="cvs_20.html#SEC101">commit examples</A>
-<UL>
-<LI><A NAME="TOC102" HREF="cvs_20.html#SEC102">New major release number</A>
-<LI><A NAME="TOC103" HREF="cvs_20.html#SEC103">Committing to a branch</A>
-<LI><A NAME="TOC104" HREF="cvs_20.html#SEC104">Creating the branch after 
editing</A>
-</UL>
-</UL>
-<LI><A NAME="TOC105" HREF="cvs_20.html#SEC105">diff--Run diffs between 
revisions</A>
-<UL>
-<LI><A NAME="TOC106" HREF="cvs_20.html#SEC106">diff options</A>
-<LI><A NAME="TOC107" HREF="cvs_20.html#SEC107">diff examples</A>
-</UL>
-<LI><A NAME="TOC108" HREF="cvs_20.html#SEC108">export--Export sources from 
CVS, similar to checkout</A>
-<UL>
-<LI><A NAME="TOC109" HREF="cvs_20.html#SEC109">export options</A>
-</UL>
-<LI><A NAME="TOC110" HREF="cvs_20.html#SEC110">history--Show status of files 
and users</A>
-<UL>
-<LI><A NAME="TOC111" HREF="cvs_20.html#SEC111">history options</A>
-</UL>
-<LI><A NAME="TOC112" HREF="cvs_20.html#SEC112">import--Import sources into 
CVS, using vendor branches</A>
-<UL>
-<LI><A NAME="TOC113" HREF="cvs_20.html#SEC113">import options</A>
-<LI><A NAME="TOC114" HREF="cvs_20.html#SEC114">import output</A>
-<LI><A NAME="TOC115" HREF="cvs_20.html#SEC115">import examples</A>
-</UL>
-<LI><A NAME="TOC116" HREF="cvs_20.html#SEC116">log--Print out log information 
for files</A>
-<UL>
-<LI><A NAME="TOC117" HREF="cvs_20.html#SEC117">log options</A>
-<LI><A NAME="TOC118" HREF="cvs_20.html#SEC118">log examples</A>
-</UL>
-<LI><A NAME="TOC119" HREF="cvs_20.html#SEC119">rdiff---'patch' format diffs 
between releases</A>
-<UL>
-<LI><A NAME="TOC120" HREF="cvs_20.html#SEC120">rdiff options</A>
-<LI><A NAME="TOC121" HREF="cvs_20.html#SEC121">rdiff examples</A>
-</UL>
-<LI><A NAME="TOC122" HREF="cvs_20.html#SEC122">release--Indicate that a Module 
is no longer in use</A>
-<UL>
-<LI><A NAME="TOC123" HREF="cvs_20.html#SEC123">release options</A>
-<LI><A NAME="TOC124" HREF="cvs_20.html#SEC124">release output</A>
-<LI><A NAME="TOC125" HREF="cvs_20.html#SEC125">release examples</A>
-</UL>
-<LI><A NAME="TOC126" HREF="cvs_20.html#SEC126">rtag--Add a symbolic tag to a 
module</A>
-<UL>
-<LI><A NAME="TOC127" HREF="cvs_20.html#SEC127">rtag options</A>
-</UL>
-<LI><A NAME="TOC128" HREF="cvs_20.html#SEC128">status--Display status 
information on checked out files</A>
-<UL>
-<LI><A NAME="TOC129" HREF="cvs_20.html#SEC129">status options</A>
-</UL>
-<LI><A NAME="TOC130" HREF="cvs_20.html#SEC130">tag--Add a symbolic tag to 
checked out versions of files</A>
-<UL>
-<LI><A NAME="TOC131" HREF="cvs_20.html#SEC131">tag options</A>
-</UL>
-<LI><A NAME="TOC132" HREF="cvs_20.html#SEC132">update--Bring work tree in sync 
with repository</A>
-<UL>
-<LI><A NAME="TOC133" HREF="cvs_20.html#SEC133">update options</A>
-<LI><A NAME="TOC134" HREF="cvs_20.html#SEC134">update output</A>
-<LI><A NAME="TOC135" HREF="cvs_20.html#SEC135">update examples</A>
-</UL>
-</UL>
-<LI><A NAME="TOC136" HREF="cvs_21.html#SEC136">Reference manual for the 
Administrative files</A>
-<UL>
-<LI><A NAME="TOC137" HREF="cvs_21.html#SEC137">The modules file</A>
-<LI><A NAME="TOC138" HREF="cvs_21.html#SEC138">The cvswrappers file</A>
-<LI><A NAME="TOC139" HREF="cvs_21.html#SEC139">The commit support files</A>
-<UL>
-<LI><A NAME="TOC140" HREF="cvs_21.html#SEC140">The common syntax</A>
-</UL>
-<LI><A NAME="TOC141" HREF="cvs_21.html#SEC141">Commitinfo</A>
-<LI><A NAME="TOC142" HREF="cvs_21.html#SEC142">Editinfo</A>
-<UL>
-<LI><A NAME="TOC143" HREF="cvs_21.html#SEC143">Editinfo example</A>
-</UL>
-<LI><A NAME="TOC144" HREF="cvs_21.html#SEC144">Loginfo</A>
-<UL>
-<LI><A NAME="TOC145" HREF="cvs_21.html#SEC145">Loginfo example</A>
-<LI><A NAME="TOC146" HREF="cvs_21.html#SEC146">Keeping a checked out copy</A>
-</UL>
-<LI><A NAME="TOC147" HREF="cvs_21.html#SEC147">Rcsinfo</A>
-<LI><A NAME="TOC148" HREF="cvs_21.html#SEC148">Ignoring files via cvsignore</A>
-<LI><A NAME="TOC149" HREF="cvs_21.html#SEC149">The history file</A>
-<LI><A NAME="TOC150" HREF="cvs_21.html#SEC150">Expansions in administrative 
files</A>
-</UL>
-<LI><A NAME="TOC151" HREF="cvs_22.html#SEC151">All environment variables which 
affect CVS</A>
-<LI><A NAME="TOC152" HREF="cvs_23.html#SEC152">Troubleshooting</A>
-<UL>
-<LI><A NAME="TOC153" HREF="cvs_23.html#SEC153">Magic branch numbers</A>
-</UL>
-<LI><A NAME="TOC154" HREF="cvs_24.html#SEC154">GNU GENERAL PUBLIC LICENSE</A>
-<LI><A NAME="TOC155" HREF="cvs_25.html#SEC155">Index</A>
-</UL>
-<P><HR><P>
-This document was generated on 7 November 1998 using the
-<A HREF="http://wwwinfo.cern.ch/dis/texi2html/";>texi2html</A>
-translator version 1.52.</P>
-</BODY>
-</HTML>

Index: manual/html_mono/cvs.html
===================================================================
RCS file: manual/html_mono/cvs.html
diff -N manual/html_mono/cvs.html
--- manual/html_mono/cvs.html   8 Jun 2009 20:46:55 -0000       1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,10307 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System</TITLE>
-</HEAD>
-<BODY>
-<H1>CVS--Concurrent Versions System</H1>
-<P>
-<P><HR><P>
-<H1>Table of Contents</H1>
-<UL>
-<LI><A NAME="TOC1" HREF="cvs.html#SEC1">About this manual</A>
-<UL>
-<LI><A NAME="TOC2" HREF="cvs.html#SEC2">Checklist for the impatient reader</A>
-<LI><A NAME="TOC3" HREF="cvs.html#SEC3">Credits</A>
-<LI><A NAME="TOC4" HREF="cvs.html#SEC4">BUGS</A>
-</UL>
-<LI><A NAME="TOC5" HREF="cvs.html#SEC5">What is CVS?</A>
-<UL>
-<LI><A NAME="TOC6" HREF="cvs.html#SEC6">CVS is not...</A>
-</UL>
-<LI><A NAME="TOC7" HREF="cvs.html#SEC7">Basic concepts</A>
-<UL>
-<LI><A NAME="TOC8" HREF="cvs.html#SEC8">Revision numbers</A>
-<LI><A NAME="TOC9" HREF="cvs.html#SEC9">Versions, revisions and releases</A>
-</UL>
-<LI><A NAME="TOC10" HREF="cvs.html#SEC10">A sample session</A>
-<UL>
-<LI><A NAME="TOC11" HREF="cvs.html#SEC11">Getting the source</A>
-<LI><A NAME="TOC12" HREF="cvs.html#SEC12">Committing your changes</A>
-<LI><A NAME="TOC13" HREF="cvs.html#SEC13">Cleaning up</A>
-<LI><A NAME="TOC14" HREF="cvs.html#SEC14">Viewing differences</A>
-</UL>
-<LI><A NAME="TOC15" HREF="cvs.html#SEC15">The Repository</A>
-<UL>
-<LI><A NAME="TOC16" HREF="cvs.html#SEC16">Telling CVS where your repository 
is</A>
-<LI><A NAME="TOC17" HREF="cvs.html#SEC17">How data is stored in the 
repository</A>
-<UL>
-<LI><A NAME="TOC18" HREF="cvs.html#SEC18">Where files are stored within the 
repository</A>
-<LI><A NAME="TOC19" HREF="cvs.html#SEC19">File permissions</A>
-</UL>
-<LI><A NAME="TOC20" HREF="cvs.html#SEC20">The administrative files</A>
-<UL>
-<LI><A NAME="TOC21" HREF="cvs.html#SEC21">Editing administrative files</A>
-</UL>
-<LI><A NAME="TOC22" HREF="cvs.html#SEC22">Multiple repositories</A>
-<LI><A NAME="TOC23" HREF="cvs.html#SEC23">Creating a repository</A>
-<LI><A NAME="TOC24" HREF="cvs.html#SEC24">Remote repositories</A>
-<UL>
-<LI><A NAME="TOC25" HREF="cvs.html#SEC25">Connecting with rsh</A>
-<LI><A NAME="TOC26" HREF="cvs.html#SEC26">Direct connection with password 
authentication</A>
-<UL>
-<LI><A NAME="TOC27" HREF="cvs.html#SEC27">Setting up the server for password 
authentication</A>
-<LI><A NAME="TOC28" HREF="cvs.html#SEC28">Using the client with password 
authentication</A>
-<LI><A NAME="TOC29" HREF="cvs.html#SEC29">Security considerations with 
password authentication</A>
-</UL>
-<LI><A NAME="TOC30" HREF="cvs.html#SEC30">Direct connection with kerberos</A>
-</UL>
-</UL>
-<LI><A NAME="TOC31" HREF="cvs.html#SEC31">Starting a project with CVS</A>
-<UL>
-<LI><A NAME="TOC32" HREF="cvs.html#SEC32">Setting up the files</A>
-<UL>
-<LI><A NAME="TOC33" HREF="cvs.html#SEC33">Creating a directory tree from a 
number of files</A>
-<LI><A NAME="TOC34" HREF="cvs.html#SEC34">Creating Files From Other Version 
Control Systems</A>
-<LI><A NAME="TOC35" HREF="cvs.html#SEC35">Creating a directory tree from 
scratch</A>
-</UL>
-<LI><A NAME="TOC36" HREF="cvs.html#SEC36">Defining the module</A>
-</UL>
-<LI><A NAME="TOC37" HREF="cvs.html#SEC37">Multiple developers</A>
-<UL>
-<LI><A NAME="TOC38" HREF="cvs.html#SEC38">File status</A>
-<LI><A NAME="TOC39" HREF="cvs.html#SEC39">Bringing a file up to date</A>
-<LI><A NAME="TOC40" HREF="cvs.html#SEC40">Conflicts example</A>
-<LI><A NAME="TOC41" HREF="cvs.html#SEC41">Informing others about commits</A>
-<LI><A NAME="TOC42" HREF="cvs.html#SEC42">Several developers simultaneously 
attempting to run CVS</A>
-<LI><A NAME="TOC43" HREF="cvs.html#SEC43">Mechanisms to track who is editing 
files</A>
-<UL>
-<LI><A NAME="TOC44" HREF="cvs.html#SEC44">Telling CVS to watch certain 
files</A>
-<LI><A NAME="TOC45" HREF="cvs.html#SEC45">Telling CVS to notify you</A>
-<LI><A NAME="TOC46" HREF="cvs.html#SEC46">How to edit a file which is being 
watched</A>
-<LI><A NAME="TOC47" HREF="cvs.html#SEC47">Information about who is watching 
and editing</A>
-<LI><A NAME="TOC48" HREF="cvs.html#SEC48">Using watches with old versions of 
CVS</A>
-</UL>
-<LI><A NAME="TOC49" HREF="cvs.html#SEC49">Choosing between reserved or 
unreserved checkouts</A>
-</UL>
-<LI><A NAME="TOC50" HREF="cvs.html#SEC50">Branches</A>
-<UL>
-<LI><A NAME="TOC51" HREF="cvs.html#SEC51">Tags--Symbolic revisions</A>
-<LI><A NAME="TOC52" HREF="cvs.html#SEC52">What branches are good for</A>
-<LI><A NAME="TOC53" HREF="cvs.html#SEC53">Creating a branch</A>
-<LI><A NAME="TOC54" HREF="cvs.html#SEC54">Sticky tags</A>
-</UL>
-<LI><A NAME="TOC55" HREF="cvs.html#SEC55">Merging</A>
-<UL>
-<LI><A NAME="TOC56" HREF="cvs.html#SEC56">Merging an entire branch</A>
-<LI><A NAME="TOC57" HREF="cvs.html#SEC57">Merging from a branch several 
times</A>
-<LI><A NAME="TOC58" HREF="cvs.html#SEC58">Merging differences between any two 
revisions</A>
-<LI><A NAME="TOC59" HREF="cvs.html#SEC59">Merging can add or remove files</A>
-</UL>
-<LI><A NAME="TOC60" HREF="cvs.html#SEC60">Recursive behavior</A>
-<LI><A NAME="TOC61" HREF="cvs.html#SEC61">Adding files to a directory</A>
-<LI><A NAME="TOC62" HREF="cvs.html#SEC62">Removing files from a module</A>
-<LI><A NAME="TOC63" HREF="cvs.html#SEC63">Tracking third-party sources</A>
-<UL>
-<LI><A NAME="TOC64" HREF="cvs.html#SEC64">Importing a module for the first 
time</A>
-<LI><A NAME="TOC65" HREF="cvs.html#SEC65">Updating a module with the import 
command</A>
-<LI><A NAME="TOC66" HREF="cvs.html#SEC66">How to handle binary files with cvs 
import</A>
-</UL>
-<LI><A NAME="TOC67" HREF="cvs.html#SEC67">Moving and renaming files</A>
-<UL>
-<LI><A NAME="TOC68" HREF="cvs.html#SEC68">The Normal way to Rename</A>
-<LI><A NAME="TOC69" HREF="cvs.html#SEC69">Moving the history file</A>
-<LI><A NAME="TOC70" HREF="cvs.html#SEC70">Copying the history file</A>
-</UL>
-<LI><A NAME="TOC71" HREF="cvs.html#SEC71">Moving and renaming directories</A>
-<LI><A NAME="TOC72" HREF="cvs.html#SEC72">History browsing</A>
-<UL>
-<LI><A NAME="TOC73" HREF="cvs.html#SEC73">Log messages</A>
-<LI><A NAME="TOC74" HREF="cvs.html#SEC74">The history database</A>
-<LI><A NAME="TOC75" HREF="cvs.html#SEC75">User-defined logging</A>
-<LI><A NAME="TOC76" HREF="cvs.html#SEC76">Annotate command</A>
-</UL>
-<LI><A NAME="TOC77" HREF="cvs.html#SEC77">Keyword substitution</A>
-<UL>
-<LI><A NAME="TOC78" HREF="cvs.html#SEC78">RCS Keywords</A>
-<LI><A NAME="TOC79" HREF="cvs.html#SEC79">Using keywords</A>
-<LI><A NAME="TOC80" HREF="cvs.html#SEC80">Avoiding substitution</A>
-<LI><A NAME="TOC81" HREF="cvs.html#SEC81">Substitution modes</A>
-<LI><A NAME="TOC82" HREF="cvs.html#SEC82">Problems with the address@hidden 
keyword.</A>
-</UL>
-<LI><A NAME="TOC83" HREF="cvs.html#SEC83">Handling binary files</A>
-<LI><A NAME="TOC84" HREF="cvs.html#SEC84">Revision management</A>
-<UL>
-<LI><A NAME="TOC85" HREF="cvs.html#SEC85">When to commit?</A>
-</UL>
-<LI><A NAME="TOC86" HREF="cvs.html#SEC86">Reference manual for CVS commands</A>
-<UL>
-<LI><A NAME="TOC87" HREF="cvs.html#SEC87">Overall structure of CVS commands</A>
-<LI><A NAME="TOC88" HREF="cvs.html#SEC88">Default options and the ~/.cvsrc 
file</A>
-<LI><A NAME="TOC89" HREF="cvs.html#SEC89">Global options</A>
-<LI><A NAME="TOC90" HREF="cvs.html#SEC90">Common command options</A>
-<LI><A NAME="TOC91" HREF="cvs.html#SEC91">admin--Administration front end for 
rcs</A>
-<UL>
-<LI><A NAME="TOC92" HREF="cvs.html#SEC92">admin options</A>
-<LI><A NAME="TOC93" HREF="cvs.html#SEC93">admin examples</A>
-<UL>
-<LI><A NAME="TOC94" HREF="cvs.html#SEC94">Outdating is dangerous</A>
-<LI><A NAME="TOC95" HREF="cvs.html#SEC95">Comment leaders</A>
-</UL>
-</UL>
-<LI><A NAME="TOC96" HREF="cvs.html#SEC96">checkout--Check out sources for 
editing</A>
-<UL>
-<LI><A NAME="TOC97" HREF="cvs.html#SEC97">checkout options</A>
-<LI><A NAME="TOC98" HREF="cvs.html#SEC98">checkout examples</A>
-</UL>
-<LI><A NAME="TOC99" HREF="cvs.html#SEC99">commit--Check files into the 
repository</A>
-<UL>
-<LI><A NAME="TOC100" HREF="cvs.html#SEC100">commit options</A>
-<LI><A NAME="TOC101" HREF="cvs.html#SEC101">commit examples</A>
-<UL>
-<LI><A NAME="TOC102" HREF="cvs.html#SEC102">New major release number</A>
-<LI><A NAME="TOC103" HREF="cvs.html#SEC103">Committing to a branch</A>
-<LI><A NAME="TOC104" HREF="cvs.html#SEC104">Creating the branch after 
editing</A>
-</UL>
-</UL>
-<LI><A NAME="TOC105" HREF="cvs.html#SEC105">diff--Run diffs between 
revisions</A>
-<UL>
-<LI><A NAME="TOC106" HREF="cvs.html#SEC106">diff options</A>
-<LI><A NAME="TOC107" HREF="cvs.html#SEC107">diff examples</A>
-</UL>
-<LI><A NAME="TOC108" HREF="cvs.html#SEC108">export--Export sources from CVS, 
similar to checkout</A>
-<UL>
-<LI><A NAME="TOC109" HREF="cvs.html#SEC109">export options</A>
-</UL>
-<LI><A NAME="TOC110" HREF="cvs.html#SEC110">history--Show status of files and 
users</A>
-<UL>
-<LI><A NAME="TOC111" HREF="cvs.html#SEC111">history options</A>
-</UL>
-<LI><A NAME="TOC112" HREF="cvs.html#SEC112">import--Import sources into CVS, 
using vendor branches</A>
-<UL>
-<LI><A NAME="TOC113" HREF="cvs.html#SEC113">import options</A>
-<LI><A NAME="TOC114" HREF="cvs.html#SEC114">import output</A>
-<LI><A NAME="TOC115" HREF="cvs.html#SEC115">import examples</A>
-</UL>
-<LI><A NAME="TOC116" HREF="cvs.html#SEC116">log--Print out log information for 
files</A>
-<UL>
-<LI><A NAME="TOC117" HREF="cvs.html#SEC117">log options</A>
-<LI><A NAME="TOC118" HREF="cvs.html#SEC118">log examples</A>
-</UL>
-<LI><A NAME="TOC119" HREF="cvs.html#SEC119">rdiff---'patch' format diffs 
between releases</A>
-<UL>
-<LI><A NAME="TOC120" HREF="cvs.html#SEC120">rdiff options</A>
-<LI><A NAME="TOC121" HREF="cvs.html#SEC121">rdiff examples</A>
-</UL>
-<LI><A NAME="TOC122" HREF="cvs.html#SEC122">release--Indicate that a Module is 
no longer in use</A>
-<UL>
-<LI><A NAME="TOC123" HREF="cvs.html#SEC123">release options</A>
-<LI><A NAME="TOC124" HREF="cvs.html#SEC124">release output</A>
-<LI><A NAME="TOC125" HREF="cvs.html#SEC125">release examples</A>
-</UL>
-<LI><A NAME="TOC126" HREF="cvs.html#SEC126">rtag--Add a symbolic tag to a 
module</A>
-<UL>
-<LI><A NAME="TOC127" HREF="cvs.html#SEC127">rtag options</A>
-</UL>
-<LI><A NAME="TOC128" HREF="cvs.html#SEC128">status--Display status information 
on checked out files</A>
-<UL>
-<LI><A NAME="TOC129" HREF="cvs.html#SEC129">status options</A>
-</UL>
-<LI><A NAME="TOC130" HREF="cvs.html#SEC130">tag--Add a symbolic tag to checked 
out versions of files</A>
-<UL>
-<LI><A NAME="TOC131" HREF="cvs.html#SEC131">tag options</A>
-</UL>
-<LI><A NAME="TOC132" HREF="cvs.html#SEC132">update--Bring work tree in sync 
with repository</A>
-<UL>
-<LI><A NAME="TOC133" HREF="cvs.html#SEC133">update options</A>
-<LI><A NAME="TOC134" HREF="cvs.html#SEC134">update output</A>
-<LI><A NAME="TOC135" HREF="cvs.html#SEC135">update examples</A>
-</UL>
-</UL>
-<LI><A NAME="TOC136" HREF="cvs.html#SEC136">Reference manual for the 
Administrative files</A>
-<UL>
-<LI><A NAME="TOC137" HREF="cvs.html#SEC137">The modules file</A>
-<LI><A NAME="TOC138" HREF="cvs.html#SEC138">The cvswrappers file</A>
-<LI><A NAME="TOC139" HREF="cvs.html#SEC139">The commit support files</A>
-<UL>
-<LI><A NAME="TOC140" HREF="cvs.html#SEC140">The common syntax</A>
-</UL>
-<LI><A NAME="TOC141" HREF="cvs.html#SEC141">Commitinfo</A>
-<LI><A NAME="TOC142" HREF="cvs.html#SEC142">Editinfo</A>
-<UL>
-<LI><A NAME="TOC143" HREF="cvs.html#SEC143">Editinfo example</A>
-</UL>
-<LI><A NAME="TOC144" HREF="cvs.html#SEC144">Loginfo</A>
-<UL>
-<LI><A NAME="TOC145" HREF="cvs.html#SEC145">Loginfo example</A>
-<LI><A NAME="TOC146" HREF="cvs.html#SEC146">Keeping a checked out copy</A>
-</UL>
-<LI><A NAME="TOC147" HREF="cvs.html#SEC147">Rcsinfo</A>
-<LI><A NAME="TOC148" HREF="cvs.html#SEC148">Ignoring files via cvsignore</A>
-<LI><A NAME="TOC149" HREF="cvs.html#SEC149">The history file</A>
-<LI><A NAME="TOC150" HREF="cvs.html#SEC150">Expansions in administrative 
files</A>
-</UL>
-<LI><A NAME="TOC151" HREF="cvs.html#SEC151">All environment variables which 
affect CVS</A>
-<LI><A NAME="TOC152" HREF="cvs.html#SEC152">Troubleshooting</A>
-<UL>
-<LI><A NAME="TOC153" HREF="cvs.html#SEC153">Magic branch numbers</A>
-</UL>
-<LI><A NAME="TOC154" HREF="cvs.html#SEC154">GNU GENERAL PUBLIC LICENSE</A>
-<LI><A NAME="TOC155" HREF="cvs.html#SEC155">Index</A>
-</UL>
-<P><HR><P>
-
-<P>
-Version Management
-<P>
-with
-<P>
-CVS
-<P>
-for CVS 1.9
-<P>
-Per Cederqvist et al
-
-</P>
-<P>
-Copyright (C) 1992, 1993 Signum Support AB
-
-</P>
-<P>
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
-
-</P>
-<P>
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided also that the
-section entitled "GNU General Public License" is included exactly as
-in the original, and provided that the entire resulting derived work is
-distributed under the terms of a permission notice identical to this one.
-
-</P>
-<P>
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that the section entitled "GNU General Public License" and
-this permission notice may be included in translations approved by the
-Free Software Foundation instead of in the original English.
-
-</P>
-
-
-
-<H1><A NAME="SEC1" HREF="cvs.html#TOC1">About this manual</A></H1>
-<P>
-<A NAME="IDX1"></A>
-<A NAME="IDX2"></A>
-
-</P>
-<P>
-Up to this point, one of the weakest parts of CVS
-has been the documentation.  CVS is a complex
-program.  Previous versions of the manual were written
-in the manual page format, which is not really well
-suited for such a complex program.
-
-</P>
-<P>
-When writing this manual, I had several goals in mind:
-
-</P>
-
-<UL>
-<LI>
-
-No knowledge of RCS should be necessary.
-
-<LI>
-
-No previous knowledge of revision control software
-should be necessary.  All terms, such as <EM>revision
-numbers</EM>, <EM>revision trees</EM> and <EM>merging</EM> are
-explained as they are introduced.
-
-<LI>
-
-The manual should concentrate on the things CVS users
-want to do, instead of what the CVS commands can do.
-The first part of this manual leads you through things
-you might want to do while doing development, and
-introduces the relevant CVS commands as they are
-needed.
-
-<LI>
-
-Information should be easy to find.  In the reference
-manual in the appendices almost all information about
-every CVS command is gathered together.  There is also
-an extensive index, and a lot of cross references.
-</UL>
-
-<P>
-<A NAME="IDX3"></A>
-<A NAME="IDX4"></A>
-This manual was contributed by Signum Support AB in
-Sweden.  Signum is yet another in the growing list of
-companies that support free software.  You are free to
-copy both this manual and the CVS program.
-See section <A HREF="cvs.html#SEC154">GNU GENERAL PUBLIC LICENSE</A>, for the 
details.  Signum Support offers
-support contracts and binary distribution for many
-programs, such as CVS, GNU Emacs, the
-GNU C compiler and others.  Write to us for
-more information.
-
-</P>
-
-<PRE>
-Signum Support AB
-Box 2044
-S-580 02  Linkoping
-Sweden
-
-Email: address@hidden
-Phone: +46 (0)13 - 21 46 00
-Fax:   +46 (0)13 - 21 47 00
-</PRE>
-
-<P>
-Another company selling support for CVS is Cyclic
-Software, web: <CODE>http://www.cyclic.com/</CODE>, email:
-<CODE>address@hidden</CODE>.
-
-</P>
-
-
-
-<H2><A NAME="SEC2" HREF="cvs.html#TOC2">Checklist for the impatient 
reader</A></H2>
-
-<P>
-CVS is a complex system.  You will need to read
-the manual to be able to use all of its capabilities.
-There are dangers that can easily be avoided if you
-know about them, and this manual tries to warn you
-about them.  This checklist is intended to help you
-avoid the dangers without reading the entire manual.
-If you intend to read the entire manual you can skip
-this table.
-
-</P>
-<DL COMPACT>
-
-<DT>Binary files
-<DD>
-CVS can handle binary files, but
-you must have RCS release 5.5 or later and
-a release of GNU diff that supports the <SAMP>`-a'</SAMP>
-flag (release 1.15 and later are OK).  You must also
-configure both RCS and CVS to handle binary
-files when you install them.
-
-Keword substitution can be a source of trouble with
-binary files. See section <A HREF="cvs.html#SEC77">Keyword substitution</A>, 
for
-solutions.
-
-<DT>The <CODE>admin</CODE> command
-<DD>
-Careless use of the <CODE>admin</CODE> command can cause
-CVS to cease working.  See section <A 
HREF="cvs.html#SEC91">admin--Administration front end for rcs</A>, before trying
-to use it.
-</DL>
-
-
-
-<H2><A NAME="SEC3" HREF="cvs.html#TOC3">Credits</A></H2>
-
-<P>
-<A NAME="IDX5"></A>
-<A NAME="IDX6"></A>
-Roland Pesch, Cygnus Support &#60;<TT>address@hidden</TT>&#62;
-wrote the manual pages which were distributed with
-CVS 1.3.  Appendix A and B contain much text that
-was extracted from them.  He also read an early draft
-of this manual and contributed many ideas and
-corrections.
-
-</P>
-<P>
-The mailing-list <CODE>info-cvs</CODE> is sometimes
-informative. I have included information from postings
-made by the following persons:
-David G. Grubbs &#60;<TT>address@hidden</TT>&#62;.
-
-</P>
-<P>
-Some text has been extracted from the man pages for
-RCS.
-
-</P>
-<P>
-The CVS FAQ by David G. Grubbs has provided
-useful material.  The FAQ is no longer maintained,
-however, and this manual about the closest thing there
-is to a successor (with respect to documenting how to
-use CVS, at least).
-
-</P>
-<P>
-In addition, the following persons have helped by
-telling me about mistakes I've made:
-Roxanne Brunskill &#60;<TT>address@hidden</TT>&#62;,
-Kathy Dyer &#60;<TT>address@hidden</TT>&#62;,
-Karl Pingle &#60;<TT>address@hidden</TT>&#62;,
-Thomas A Peterson &#60;<TT>address@hidden</TT>&#62;,
-Inge Wallin &#60;<TT>address@hidden</TT>&#62;,
-Dirk Koschuetzki &#60;<TT>address@hidden</TT>&#62;
-and Michael Brown &#60;<TT>address@hidden</TT>&#62;.
-
-</P>
-
-
-<H2><A NAME="SEC4" HREF="cvs.html#TOC4">BUGS</A></H2>
-
-<P>
-<A NAME="IDX7"></A>
-<A NAME="IDX8"></A>
-This manual is known to have room for improvement.
-Here is a list of known deficiencies:
-
-</P>
-
-<UL>
-<LI>
-
-In the examples, the output from CVS is sometimes
-displayed, sometimes not.
-
-<LI>
-
-The input that you are supposed to type in the examples
-should have a different font than the output from the
-computer.
-
-<LI>
-
-This manual should be clearer about what file
-permissions you should set up in the repository, and
-about setuid/setgid.
-
-<LI>
-
-Some of the chapters are not yet complete.  They are
-noted by comments in the <TT>`cvs.texinfo'</TT> file.
-
-<LI>
-
-<A NAME="IDX9"></A>
-<A NAME="IDX10"></A>
-<A NAME="IDX11"></A>
-This list is not complete.  If you notice any error,
-omission, or something that is unclear, please send
-mail to <TT>address@hidden</TT>.
-</UL>
-
-<P>
-I hope that you will find this manual useful, despite
-the above-mentioned shortcomings.
-
-</P>
-
-<PRE>
-
-Linkoping, October 1993
-Per Cederqvist
-</PRE>
-
-
-
-<H1><A NAME="SEC5" HREF="cvs.html#TOC5">What is CVS?</A></H1>
-<P>
-<A NAME="IDX12"></A>
-<A NAME="IDX13"></A>
-<A NAME="IDX14"></A>
-
-</P>
-<P>
-CVS is a version control system.  Using it, you can
-record the history of your source files.
-
-</P>
-
-<P>
-For example, bugs sometimes creep in when
-software is modified, and you might not detect the bug
-until a long time after you make the modification.
-With CVS, you can easily retrieve old versions to see
-exactly which change caused the bug.  This can
-sometimes be a big help.
-
-</P>
-<P>
-You could of course save every version of every file
-you have ever created.  This would
-however waste an enormous amount of disk space.  CVS
-stores all the versions of a file in a single file in a
-clever way that only stores the differences between
-versions.
-
-</P>
-<P>
-CVS also helps you if you are part of a group of people working
-on the same project.  It is all too easy to overwrite
-each others' changes unless you are extremely careful.
-Some editors, like GNU Emacs, try to make sure that
-the same file is never modified by two people at the
-same time.  Unfortunately, if someone is using another
-editor, that safeguard will not work.  CVS solves this problem
-by insulating the different developers from each other.  Every
-developer works in his own directory, and CVS merges
-the work when each developer is done.
-
-</P>
-<P>
-<A NAME="IDX15"></A>
-<A NAME="IDX16"></A>
-<A NAME="IDX17"></A>
-<A NAME="IDX18"></A>
-CVS started out as a bunch of shell scripts written by
-Dick Grune, posted to <CODE>comp.sources.unix</CODE> in the volume 6
-release of December, 1986.  While no actual code from
-these shell scripts is present in the current version
-of CVS much of the CVS conflict resolution algorithms
-come from them.
-
-</P>
-<P>
-In April, 1989, Brian Berliner designed and coded CVS.
-Jeff Polk later helped Brian with the design of the CVS
-module and vendor branch support.
-
-</P>
-<P>
-<A NAME="IDX19"></A>
-You can get CVS via anonymous ftp from a number of
-sites, for instance <TT>prep.ai.mit.edu</TT> in
-<TT>`pub/gnu'</TT>.
-
-</P>
-<P>
-<A NAME="IDX20"></A>
-<A NAME="IDX21"></A>
-<A NAME="IDX22"></A>
-There is a mailing list, known as <CODE>info-cvs</CODE>,
-devoted to CVS.  To subscribe or
-unsubscribe 
-send a message to
-<CODE>address@hidden</CODE>.  Please be
-specific about your email address.  As of May 1996,
-subscription requests are handled by a busy human
-being, so you cannot expect to be added or removed
-immediately.  The usenet group
-<CODE>comp.software.config-mgmt</CODE> is also a suitable
-place for CVS discussions (along with other
-configuration management systems).
-
-</P>
-
-
-
-<H2><A NAME="SEC6" HREF="cvs.html#TOC6">CVS is not...</A></H2>
-
-<P>
-CVS can do a lot of things for you, but it does
-not try to be everything for everyone.
-
-</P>
-<DL COMPACT>
-
-<DT>CVS is not a build system.
-<DD>
-Though the structure of your repository and modules
-file interact with your build system
-(e.g. <TT>`Makefile'</TT>s), they are essentially
-independent.
-
-CVS does not dictate how you build anything.  It
-merely stores files for retrieval in a tree structure
-you devise.
-
-CVS does not dictate how to use disk space in the
-checked out working directories.  If you write your
-<TT>`Makefile'</TT>s or scripts in every directory so they
-have to know the relative positions of everything else,
-you wind up requiring the entire repository to be
-checked out.
-
-If you modularize your work, and construct a build
-system that will share files (via links, mounts,
-<CODE>VPATH</CODE> in <TT>`Makefile'</TT>s, etc.), you can
-arrange your disk usage however you like.
-
-But you have to remember that <EM>any</EM> such system is
-a lot of work to construct and maintain.  CVS does
-not address the issues involved.
-
-Of course, you should place the tools created to
-support such a build system (scripts, <TT>`Makefile'</TT>s,
-etc) under CVS.
-
-Figuring out what files need to be rebuilt when
-something changes is, again, something to be handled
-outside the scope of CVS.  One traditional
-approach is to use <CODE>make</CODE> for building, and use
-some automated tool for generating the depencies which
-<CODE>make</CODE> uses.
-
-<DT>CVS is not a substitute for management.
-<DD>
-Your managers and project leaders are expected to talk
-to you frequently enough to make certain you are aware
-of schedules, merge points, branch names and release
-dates.  If they don't, CVS can't help.
-
-CVS is an instrument for making sources dance to
-your tune.  But you are the piper and the composer.  No
-instrument plays itself or writes its own music.
-
-<DT>CVS is not a substitute for developer communication.
-<DD>
-When faced with conflicts within a single file, most
-developers manage to resolve them without too much
-effort.  But a more general definition of "conflict"
-includes problems too difficult to solve without
-communication between developers.
-
-CVS cannot determine when simultaneous changes
-within a single file, or across a whole collection of
-files, will logically conflict with one another.  Its
-concept of a <EM>conflict</EM> is purely textual, arising
-when two changes to the same base file are near enough
-to spook the merge (i.e. <CODE>diff3</CODE>) command.
-
-CVS does not claim to help at all in figuring out
-non-textual or distributed conflicts in program logic.
-
-For example: Say you change the arguments to function
-<CODE>X</CODE> defined in file <TT>`A'</TT>.  At the same time,
-someone edits file <TT>`B'</TT>, adding new calls to
-function <CODE>X</CODE> using the old arguments.  You are
-outside the realm of CVS's competence.
-
-Acquire the habit of reading specs and talking to your
-peers.
-
-<DT>CVS does not have change control
-<DD>
-Change control refers to a number of things.  First of
-all it can mean <EM>bug-tracking</EM>, that is being able
-to keep a database of reported bugs and the status of
-each one (is it fixed?  in what release?  has the bug
-submitter agreed that it is fixed?).  For interfacing
-CVS to an external bug-tracking system, see the
-<TT>`rcsinfo'</TT> and <TT>`editinfo'</TT> files
-(see section <A HREF="cvs.html#SEC136">Reference manual for the Administrative 
files</A>).
-
-Another aspect of change control is keeping track of
-the fact that changes to several files were in fact
-changed together as one logical change.  If you check
-in several files in a single <CODE>cvs commit</CODE>
-operation, CVS then forgets that those files were
-checked in together, and the fact that they have the
-same log message is the only thing tying them
-together.  Keeping a GNU style <TT>`ChangeLog'</TT>
-can help somewhat.
-
-Another aspect of change control, in some systems, is
-the ability to keep track of the status of each
-change.  Some changes have been written by a developer,
-others have been reviewed by a second developer, and so
-on.  Generally, the way to do this with CVS is to
-generate a diff (using <CODE>cvs diff</CODE> or <CODE>diff</CODE>)
-and email it to someone who can then apply it using the
-<CODE>patch</CODE> utility.  This is very flexible, but
-depends on mechanisms outside CVS to make sure
-nothing falls through the cracks.
-
-<DT>CVS is not an automated testing program
-<DD>
-It should be possible to enforce mandatory use of a
-testsuite using the <CODE>commitinfo</CODE> file.  I haven't
-heard a lot about projects trying to do that or whether
-there are subtle gotchas, however.
-
-<DT>CVS does not have a builtin process model
-<DD>
-Some systems provide ways to ensure that changes or
-releases go through various steps, with various
-approvals as needed.  Generally, one can accomplish
-this with CVS but it might be a little more work.
-In some cases you'll want to use the <TT>`commitinfo'</TT>,
-<TT>`loginfo'</TT>, <TT>`rcsinfo'</TT>, or <TT>`editinfo'</TT>
-files, to require that certain steps be performed
-before cvs will allow a checkin.  Also consider whether
-features such as branches and tags can be used to
-perform tasks such as doing work in a development tree
-and then merging certain changes over to a stable tree
-only once they have been proven.
-</DL>
-
-
-
-<H1><A NAME="SEC7" HREF="cvs.html#TOC7">Basic concepts</A></H1>
-<P>
-<A NAME="IDX23"></A>
-
-</P>
-<P>
-CVS stores all files in a centralized
-<EM>repository</EM> (see section <A HREF="cvs.html#SEC15">The Repository</A>).
-
-</P>
-<P>
-The repository contains directories and files, in an
-arbitrary tree.  The <EM>modules</EM> feature can be used
-to group together a set of directories or files into a
-single entity (see section <A HREF="cvs.html#SEC137">The modules file</A>).  A 
typical usage is to
-define one module per project.
-
-</P>
-
-
-
-<H2><A NAME="SEC8" HREF="cvs.html#TOC8">Revision numbers</A></H2>
-<P>
-<A NAME="IDX24"></A>
-<A NAME="IDX25"></A>
-<A NAME="IDX26"></A>
-<A NAME="IDX27"></A>
-<A NAME="IDX28"></A>
-<A NAME="IDX29"></A>
-<A NAME="IDX30"></A>
-<A NAME="IDX31"></A>
-
-</P>
-<P>
-Each version of a file has a unique <EM>revision
-number</EM>.  Revision numbers look like <SAMP>`1.1'</SAMP>,
-<SAMP>`1.2'</SAMP>, <SAMP>`1.3.2.2'</SAMP> or even <SAMP>`1.3.2.2.4.5'</SAMP>.
-A revision number always has an even number of
-period-separated decimal integers.  By default revision
-1.1 is the first revision of a file.  Each successive
-revision is given a new number by increasing the
-rightmost number by one.  The following figure displays
-a few revisions, with newer revisions to the right.
-
-</P>
-
-<PRE>
-       +-----+    +-----+    +-----+    +-----+    +-----+
-       ! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 1.5 !
-       +-----+    +-----+    +-----+    +-----+    +-----+
-</PRE>
-
-<P>
-CVS is not limited to linear development.  The
-<EM>revision tree</EM> can be split into <EM>branches</EM>,
-where each branch is a self-maintained line of
-development.  Changes made on one branch can easily be
-moved back to the main trunk.  
-
-</P>
-<P>
-Each branch has a <EM>branch number</EM>, consisting of an
-odd number of period-separated decimal integers.  The
-branch number is created by appending an integer to the
-revision number where the corresponding branch forked
-off.  Having branch numbers allows more than one branch
-to be forked off from a certain revision.
-
-</P>
-<P>
-All revisions on a branch have revision numbers formed
-by appending an ordinal number to the branch number.
-The following figure illustrates branching with an
-example.
-
-</P>
-
-<PRE>
-                                                     +-------------+
-                          Branch 1.2.2.3.2 -&#62;        ! 1.2.2.3.2.1 !
-                                                   / +-------------+
-                                                  /
-                                                 /
-                 +---------+    +---------+    +---------+    +---------+
-Branch 1.2.2 -&#62; _! 1.2.2.1 !----! 1.2.2.2 !----! 1.2.2.3 !----! 1.2.2.4 !
-               / +---------+    +---------+    +---------+    +---------+
-              /
-             /
-+-----+    +-----+    +-----+    +-----+    +-----+
-! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 1.5 !      &#60;- The main trunk
-+-----+    +-----+    +-----+    +-----+    +-----+
-                !
-                !
-                !   +---------+    +---------+    +---------+
-Branch 1.2.4 -&#62; +---! 1.2.4.1 !----! 1.2.4.2 !----! 1.2.4.3 !
-                    +---------+    +---------+    +---------+
-
-</PRE>
-
-<P>
-The exact details of how the branch number is
-constructed is not something you normally need to be
-concerned about, but here is how it works: When
-CVS creates a branch number it picks the first
-unused even integer, starting with 2.  So when you want
-to create a branch from revision 6.4 it will be
-numbered 6.4.2.  All branch numbers ending in a zero
-(such as 6.4.0) are used internally by CVS
-(see section <A HREF="cvs.html#SEC153">Magic branch numbers</A>).  The branch 
1.1.1 has a
-special meaning.  See section <A HREF="cvs.html#SEC63">Tracking third-party 
sources</A>.
-
-</P>
-
-
-<H2><A NAME="SEC9" HREF="cvs.html#TOC9">Versions, revisions and 
releases</A></H2>
-<P>
-<A NAME="IDX32"></A>
-<A NAME="IDX33"></A>
-<A NAME="IDX34"></A>
-
-</P>
-<P>
-A file can have several versions, as described above.
-Likewise, a software product can have several versions.
-A software product is often given a version number such
-as <SAMP>`4.1.1'</SAMP>.
-
-</P>
-<P>
-Versions in the first sense are called <EM>revisions</EM>
-in this document, and versions in the second sense are
-called <EM>releases</EM>.  To avoid confusion, the word
-<EM>version</EM> is almost never used in this document.
-
-</P>
-
-
-<H1><A NAME="SEC10" HREF="cvs.html#TOC10">A sample session</A></H1>
-<P>
-<A NAME="IDX35"></A>
-<A NAME="IDX36"></A>
-<A NAME="IDX37"></A>
-<A NAME="IDX38"></A>
-<A NAME="IDX39"></A>
-<A NAME="IDX40"></A>
-
-</P>
-<P>
-This section describes a typical work-session using
-CVS.  It assumes that a repository is set up
-(see section <A HREF="cvs.html#SEC15">The Repository</A>).
-
-</P>
-<P>
-Suppose you are working on a simple compiler.  The source
-consists of a handful of C files and a <TT>`Makefile'</TT>.
-The compiler is called <SAMP>`tc'</SAMP> (Trivial Compiler),
-and the repository is set up so that there is a module
-called <SAMP>`tc'</SAMP>.
-
-</P>
-
-
-
-<H2><A NAME="SEC11" HREF="cvs.html#TOC11">Getting the source</A></H2>
-<P>
-<A NAME="IDX41"></A>
-<A NAME="IDX42"></A>
-<A NAME="IDX43"></A>
-<A NAME="IDX44"></A>
-<A NAME="IDX45"></A>
-
-</P>
-<P>
-The first thing you must do is to get your own working copy of the
-source for <SAMP>`tc'</SAMP>.  For this, you use the <CODE>checkout</CODE> 
command:
-
-</P>
-
-<PRE>
-$ cvs checkout tc
-</PRE>
-
-<P>
-This will create a new directory called <TT>`tc'</TT> and populate it with
-the source files.
-
-</P>
-
-<PRE>
-$ cd tc
-$ ls
-CVS         Makefile    backend.c   driver.c    frontend.c  parser.c
-</PRE>
-
-<P>
-The <TT>`CVS'</TT> directory is used internally by
-CVS.  Normally, you should not modify or remove
-any of the files in it.
-
-</P>
-<P>
-You start your favorite editor, hack away at <TT>`backend.c'</TT>, and a couple
-of hours later you have added an optimization pass to the compiler.
-A note to RCS and SCCS users: There is no need to lock the files that
-you want to edit.  See section <A HREF="cvs.html#SEC37">Multiple 
developers</A> for an explanation.
-
-</P>
-
-
-<H2><A NAME="SEC12" HREF="cvs.html#TOC12">Committing your changes</A></H2>
-<P>
-<A NAME="IDX46"></A>
-<A NAME="IDX47"></A>
-<A NAME="IDX48"></A>
-<A NAME="IDX49"></A>
-
-</P>
-<P>
-When you have checked that the compiler is still compilable you decide
-to make a new version of <TT>`backend.c'</TT>.
-
-</P>
-
-<PRE>
-$ cvs commit backend.c
-</PRE>
-
-<P>
-CVS starts an editor, to allow you to enter a log
-message.  You type in "Added an optimization pass.",
-save the temporary file, and exit the editor.
-
-</P>
-<P>
-The environment variable <CODE>$CVSEDITOR</CODE> determines
-which editor is started.  If <CODE>$CVSEDITOR</CODE> is not
-set, then if the environment variable <CODE>$EDITOR</CODE> is
-set, it will be used. If both <CODE>$CVSEDITOR</CODE> and
-<CODE>$EDITOR</CODE> are not set then the editor defaults to
-<CODE>vi</CODE>.  If you want to avoid the overhead of
-starting an editor you can specify the log message on
-the command line using the <SAMP>`-m'</SAMP> flag instead, like
-this:
-
-</P>
-
-<PRE>
-$ cvs commit -m "Added an optimization pass" backend.c
-</PRE>
-
-
-
-<H2><A NAME="SEC13" HREF="cvs.html#TOC13">Cleaning up</A></H2>
-<P>
-<A NAME="IDX50"></A>
-<A NAME="IDX51"></A>
-<A NAME="IDX52"></A>
-<A NAME="IDX53"></A>
-
-</P>
-<P>
-Before you turn to other tasks you decide to remove your working copy of
-tc.  One acceptable way to do that is of course
-
-</P>
-
-<PRE>
-$ cd ..
-$ rm -r tc
-</PRE>
-
-<P>
-but a better way is to use the <CODE>release</CODE> command (see section <A 
HREF="cvs.html#SEC122">release--Indicate that a Module is no longer in use</A>):
-
-</P>
-
-<PRE>
-$ cd ..
-$ cvs release -d tc
-M driver.c
-? tc
-You have [1] altered files in this repository.
-Are you sure you want to release (and delete) module `tc': n
-** `release' aborted by user choice.
-</PRE>
-
-<P>
-The <CODE>release</CODE> command checks that all your modifications have been
-committed.  If history logging is enabled it also makes a note in the
-history file.  See section <A HREF="cvs.html#SEC149">The history file</A>.
-
-</P>
-<P>
-When you use the <SAMP>`-d'</SAMP> flag with <CODE>release</CODE>, it
-also removes your working copy.
-
-</P>
-<P>
-In the example above, the <CODE>release</CODE> command wrote a couple of lines
-of output.  <SAMP>`? tc'</SAMP> means that the file <TT>`tc'</TT> is unknown 
to CVS.
-That is nothing to worry about: <TT>`tc'</TT> is the executable compiler,
-and it should not be stored in the repository.  See section <A 
HREF="cvs.html#SEC148">Ignoring files via cvsignore</A>,
-for information about how to make that warning go away.
-See section <A HREF="cvs.html#SEC124">release output</A>, for a complete 
explanation of
-all possible output from <CODE>release</CODE>.
-
-</P>
-<P>
-<SAMP>`M driver.c'</SAMP> is more serious.  It means that the
-file <TT>`driver.c'</TT> has been modified since it was
-checked out.
-
-</P>
-<P>
-The <CODE>release</CODE> command always finishes by telling
-you how many modified files you have in your working
-copy of the sources, and then asks you for confirmation
-before deleting any files or making any note in the
-history file.
-
-</P>
-<P>
-You decide to play it safe and answer <KBD>n <KBD>RET</KBD></KBD>
-when <CODE>release</CODE> asks for confirmation.
-
-</P>
-
-
-<H2><A NAME="SEC14" HREF="cvs.html#TOC14">Viewing differences</A></H2>
-<P>
-<A NAME="IDX54"></A>
-<A NAME="IDX55"></A>
-
-</P>
-<P>
-You do not remember modifying <TT>`driver.c'</TT>, so you want to see what
-has happened to that file.
-
-</P>
-
-<PRE>
-$ cd tc
-$ cvs diff driver.c
-</PRE>
-
-<P>
-This command runs <CODE>diff</CODE> to compare the version of 
<TT>`driver.c'</TT>
-that you checked out with your working copy.  When you see the output
-you remember that you added a command line option that enabled the
-optimization pass.  You check it in, and release the module.
-
-</P>
-
-<PRE>
-$ cvs commit -m "Added an optimization pass" driver.c
-Checking in driver.c;
-/usr/local/cvsroot/tc/driver.c,v  &#60;--  driver.c
-new revision: 1.2; previous revision: 1.1
-done
-$ cd ..
-$ cvs release -d tc
-? tc
-You have [0] altered files in this repository.
-Are you sure you want to release (and delete) module `tc': y
-</PRE>
-
-
-
-<H1><A NAME="SEC15" HREF="cvs.html#TOC15">The Repository</A></H1>
-<P>
-<A NAME="IDX56"></A>
-<A NAME="IDX57"></A>
-<A NAME="IDX58"></A>
-<A NAME="IDX59"></A>
-<A NAME="IDX60"></A>
-<A NAME="IDX61"></A>
-
-</P>
-<P>
-The CVS <EM>repository</EM> stores a complete copy of
-all the files and directories which are under version
-control.
-
-</P>
-<P>
-Normally, you never access any of the files in the
-repository directly.  Instead, you use CVS
-commands to get your own copy of the files, and then
-work on that copy.  When you've finished a set of
-changes, you check (or <EM>commit</EM>) them back into the
-repository.  The repository then contains the changes
-which you have made, as well as recording exactly what
-you changed, when you changed it, and other such
-information.
-
-</P>
-<P>
-<A NAME="IDX62"></A>
-CVS can access a repository by a variety of
-means.  It might be on the local computer, or it might
-be on a computer across the room or across the world.
-To distinguish various ways to access a repository, the
-repository name can start with an <EM>access method</EM>.
-For example, the access method <CODE>:local:</CODE> means to
-access a repository directory, so the repository
-<CODE>:local:/usr/local/cvsroot</CODE> means that the
-repository is in <TT>`/usr/local/cvsroot'</TT> on the
-computer running CVS.  For information on other
-access methods, see section <A HREF="cvs.html#SEC24">Remote repositories</A>.
-
-</P>
-<P>
-If the access method is omitted, then if the repository
-does not contain <SAMP>`:'</SAMP>, then <CODE>:local:</CODE> is
-assumed.  If it does contain <SAMP>`:'</SAMP> than either
-<CODE>:ext:</CODE> or <CODE>:server:</CODE> is assumed.  For
-example, if you have a local repository in
-<TT>`/usr/local/cvsroot'</TT>, you can use
-<CODE>/usr/local/cvsroot</CODE> instead of
-<CODE>:local:/usr/local/cvsroot</CODE>.  But if (under
-Windows NT, for example) your local repository is
-<TT>`c:\src\cvsroot'</TT>, then you must specify the access
-method, as in <CODE>:local:c:\src\cvsroot</CODE>.
-
-</P>
-<P>
-The repository is split in two parts.  <TT>`$CVSROOT/CVSROOT'</TT> contains
-administrative files for CVS.  The other directories contain the actual
-user-defined modules.
-
-</P>
-
-
-
-<H2><A NAME="SEC16" HREF="cvs.html#TOC16">Telling CVS where your repository 
is</A></H2>
-
-<P>
-There are a couple of different ways to tell CVS
-where to find the repository.  You can name the
-repository on the command line explicitly, with the
-<CODE>-d</CODE> (for "directory") option:
-
-</P>
-
-<PRE>
-cvs -d /usr/local/cvsroot checkout yoyodyne/tc
-</PRE>
-
-<P>
-<A NAME="IDX63"></A>
-<A NAME="IDX64"></A>
-<A NAME="IDX65"></A>
-<A NAME="IDX66"></A>
-<A NAME="IDX67"></A>
-        Or you can set the <CODE>$CVSROOT</CODE> environment
-variable to an absolute path to the root of the
-repository, <TT>`/usr/local/cvsroot'</TT> in this example.
-To set <CODE>$CVSROOT</CODE>, all <CODE>csh</CODE> and <CODE>tcsh</CODE>
-users should have this line in their <TT>`.cshrc'</TT> or
-<TT>`.tcshrc'</TT> files:
-
-</P>
-
-<PRE>
-setenv CVSROOT /usr/local/cvsroot
-</PRE>
-
-<P>
-<CODE>sh</CODE> and <CODE>bash</CODE> users should instead have these lines in 
their
-<TT>`.profile'</TT> or <TT>`.bashrc'</TT>:
-
-</P>
-
-<PRE>
-CVSROOT=/usr/local/cvsroot
-export CVSROOT
-</PRE>
-
-<P>
-        A repository specified with <CODE>-d</CODE> will
-override the <CODE>$CVSROOT</CODE> environment variable.
-Once you've checked a working copy out from the
-repository, it will remember where its repository is
-(the information is recorded in the
-<TT>`CVS/Root'</TT> file in the working copy).  
-
-</P>
-<P>
-The <CODE>-d</CODE> option and the <TT>`CVS/Root'</TT> file both
-override the <CODE>$CVSROOT</CODE> environment variable.  If
-<CODE>-d</CODE> option differs from <TT>`CVS/Root'</TT>, the
-former is used (and specifying <CODE>-d</CODE> will cause
-<TT>`CVS/Root'</TT> to be updated).  Of course, for proper
-operation they should be two ways of referring to the
-same repository.
-
-</P>
-
-
-<H2><A NAME="SEC17" HREF="cvs.html#TOC17">How data is stored in the 
repository</A></H2>
-<P>
-<A NAME="IDX68"></A>
-
-</P>
-<P>
-For most purposes it isn't important <EM>how</EM>
-CVS stores information in the repository.  In
-fact, the format has changed in the past, and is likely
-to change in the future.  Since in almost all cases one
-accesses the repository via CVS commands; such
-changes need not be disruptive.
-
-</P>
-<P>
-However, in some cases it may be necessary to
-understand how CVS stores data in the repository,
-for example you might need to track down CVS locks
-(see section <A HREF="cvs.html#SEC42">Several developers simultaneously 
attempting to run CVS</A>) or you might need to deal with
-the file permissions appropriate for the repository.
-
-</P>
-
-
-
-<H3><A NAME="SEC18" HREF="cvs.html#TOC18">Where files are stored within the 
repository</A></H3>
-
-<P>
-The overall structure of the repository is a directory
-tree corresponding to the directories in the working
-directory.  For example, supposing the repository is in
-<TT>`/usr/local/cvsroot'</TT>, here is a possible directory
-tree (showing only the directories):
-
-</P>
-
-<PRE>
-<TT>/usr</TT>
- |
- +--<TT>local</TT>
- |   |
- |   +--<TT>cvsroot</TT>
- |   |    | 
- |   |    +--<TT>CVSROOT</TT>
-          |      (administrative files) 
-          | 
-          +--<TT>gnu</TT>
-          |   | 
-          |   +--<TT>diff</TT>
-          |   |   (source code to GNU diff) 
-          |   | 
-          |   +--<TT>rcs</TT>
-          |   |   (source code to RCS)
-          |   | 
-          |   +--<TT>cvs</TT>
-          |       (source code to CVS) 
-          | 
-          +--<TT>yoyodyne</TT>
-              | 
-              +--<TT>tc</TT>
-              |    |
-              |    +--<TT>man</TT>
-              |    |
-              |    +--<TT>testing</TT>
-              | 
-              +--(other Yoyodyne software)
-</PRE>
-
-<P>
-With the directories are <EM>history files</EM> for each file
-under version control.  The name of the history file is
-the name of the corresponding file with <SAMP>`,v'</SAMP>
-appended to the end.  Here is what the repository for
-the <TT>`yoyodyne/tc'</TT> directory might look like:
-
-</P>
-
-<PRE>
-  <CODE>$CVSROOT</CODE>
-    |
-    +--<TT>yoyodyne</TT>
-    |   |
-    |   +--<TT>tc</TT>
-    |   |   |
-            +--<TT>Makefile,v</TT>
-            +--<TT>backend.c,v</TT>
-            +--<TT>driver.c,v</TT>
-            +--<TT>frontend.c,v</TT>
-            +--<TT>parser.c,v</TT>
-            +--<TT>man</TT>
-            |    |
-            |    +--<TT>tc.1,v</TT>
-            |     
-            +--<TT>testing</TT>
-                 |
-                 +--<TT>testpgm.t,v</TT>
-                 +--<TT>test2.t,v</TT>
-</PRE>
-
-<P>
-<A NAME="IDX69"></A>
-<A NAME="IDX70"></A>
-The history files contain, among other things, enough
-information to recreate any revision of the file, a log
-of all commit messages and the user-name of the person
-who committed the revision.  The history files are
-known as <EM>RCS files</EM>, because the first program to
-store files in that format was a version control system
-known as RCS.  For a full
-description of the file format, see the <CODE>man</CODE> page
-<CITE>rcsfile(5)</CITE>, distributed with RCS.  This
-file format has become very common--many systems other
-than CVS or RCS can at least import history
-files in this format.
-
-</P>
-
-
-<H3><A NAME="SEC19" HREF="cvs.html#TOC19">File permissions</A></H3>
-<P>
-<A NAME="IDX71"></A>
-<A NAME="IDX72"></A>
-<A NAME="IDX73"></A>
-<A NAME="IDX74"></A>
-All <SAMP>`,v'</SAMP> files are created read-only, and you
-should not change the permission of those files.  The
-directories inside the repository should be writable by
-the persons that have permission to modify the files in
-each directory.  This normally means that you must
-create a Unix group (see group(5)) consisting of the
-persons that are to edit the files in a project, and
-set up the repository so that it is that group that
-owns the directory.
-
-</P>
-<P>
-This means that you can only control access to files on
-a per-directory basis.
-
-</P>
-<P>
-Note that users must also have write access to check
-out files, because CVS needs to create lock files
-(see section <A HREF="cvs.html#SEC42">Several developers simultaneously 
attempting to run CVS</A>).
-
-</P>
-<P>
-Also note that users must have write access to the
-<TT>`CVSROOT/val-tags'</TT> file.  CVS uses it to keep
-track of what tags are valid tag names (it is sometimes
-updated when tags are used, as well as when they are
-created, though).
-
-</P>
-<P>
-<A NAME="IDX75"></A>
-<A NAME="IDX76"></A>
-CVS tries to set up reasonable file permissions
-for new directories that are added inside the tree, but
-you must fix the permissions manually when a new
-directory should have different permissions than its
-parent directory.  If you set the <CODE>CVSUMASK</CODE>
-environment variable that will control the file
-permissions which CVS uses in creating directories
-and/or files in the repository.  <CODE>CVSUMASK</CODE> does
-not affect the file permissions in the working
-directory; such files have the permissions which are
-typical for newly created files, except that sometimes
-CVS creates them read-only (see the sections on
-watches, section <A HREF="cvs.html#SEC44">Telling CVS to watch certain 
files</A>; -r, section <A HREF="cvs.html#SEC89">Global options</A>; or CVSREAD, 
section <A HREF="cvs.html#SEC151">All environment variables which affect 
CVS</A>).
-
-</P>
-<P>
-<A NAME="IDX77"></A>
-<A NAME="IDX78"></A>
-Since CVS was not written to be run setuid, it is
-unsafe to try to run it setuid.  You cannot use the
-setuid features of RCS together with CVS.
-
-</P>
-
-
-<H2><A NAME="SEC20" HREF="cvs.html#TOC20">The administrative files</A></H2>
-<P>
-<A NAME="IDX79"></A>
-<A NAME="IDX80"></A>
-<A NAME="IDX81"></A>
-<A NAME="IDX82"></A>
-
-</P>
-
-<P>
-The directory <TT>`$CVSROOT/CVSROOT'</TT> contains some <EM>administrative
-files</EM>.  See section <A HREF="cvs.html#SEC136">Reference manual for the 
Administrative files</A>, for a complete description.
-You can use CVS without any of these files, but
-some commands work better when at least the
-<TT>`modules'</TT> file is properly set up.
-
-</P>
-<P>
-The most important of these files is the <TT>`modules'</TT>
-file.  It defines all modules in the repository.  This
-is a sample <TT>`modules'</TT> file.
-
-</P>
-
-<PRE>
-CVSROOT         CVSROOT
-modules         CVSROOT modules
-cvs             gnu/cvs
-rcs             gnu/rcs
-diff            gnu/diff
-tc              yoyodyne/tc
-</PRE>
-
-<P>
-The <TT>`modules'</TT> file is line oriented.  In its
-simplest form each line contains the name of the
-module, whitespace, and the directory where the module
-resides.  The directory is a path relative to
-<CODE>$CVSROOT</CODE>.  The last four lines in the example
-above are examples of such lines.
-
-</P>
-
-<P>
-The line that defines the module called <SAMP>`modules'</SAMP>
-uses features that are not explained here.
-See section <A HREF="cvs.html#SEC137">The modules file</A>, for a full 
explanation of all the
-available features.
-
-</P>
-
-
-<H3><A NAME="SEC21" HREF="cvs.html#TOC21">Editing administrative files</A></H3>
-<P>
-<A NAME="IDX83"></A>
-<A NAME="IDX84"></A>
-
-</P>
-<P>
-You edit the administrative files in the same way that you would edit
-any other module.  Use <SAMP>`cvs checkout CVSROOT'</SAMP> to get a working
-copy, edit it, and commit your changes in the normal way.
-
-</P>
-<P>
-It is possible to commit an erroneous administrative
-file.  You can often fix the error and check in a new
-revision, but sometimes a particularly bad error in the
-administrative file makes it impossible to commit new
-revisions.  
-
-</P>
-
-
-<H2><A NAME="SEC22" HREF="cvs.html#TOC22">Multiple repositories</A></H2>
-<P>
-<A NAME="IDX85"></A>
-<A NAME="IDX86"></A>
-<A NAME="IDX87"></A>
-<A NAME="IDX88"></A>
-<A NAME="IDX89"></A>
-<A NAME="IDX90"></A>
-
-</P>
-<P>
-In some situations it is a good idea to have more than
-one repository, for instance if you have two
-development groups that work on separate projects
-without sharing any code.  All you have to do to have
-several repositories is to specify the appropriate
-repository, using the <CODE>CVSROOT</CODE> environment
-variable, the <SAMP>`-d'</SAMP> option to CVS, or (once
-you have checked out a working directory) by simply
-allowing CVS to use the repository that was used
-to check out the working directory
-(see section <A HREF="cvs.html#SEC16">Telling CVS where your repository 
is</A>).
-
-</P>
-<P>
-The big advantage of having multiple repositories is
-that they can reside on different servers.  The big
-disadvantage is that you cannot have a single CVS
-command recurse into directories which comes from
-different repositories.  Generally speaking, if you are
-thinking of setting up several repositories on the same
-machine, you might want to consider using several
-directories within the same repository.
-
-</P>
-<P>
-None of the examples in this manual show multiple
-repositories.
-
-</P>
-
-
-<H2><A NAME="SEC23" HREF="cvs.html#TOC23">Creating a repository</A></H2>
-
-<P>
-<A NAME="IDX91"></A>
-<A NAME="IDX92"></A>
-<A NAME="IDX93"></A>
-
-</P>
-<P>
-To set up a CVS repository, choose a directory
-with ample disk space available for the revision
-history of the source files.  It should be accessable
-(directly or via a networked file system) from all
-machines which want to use CVS in server or local
-mode; the client machines need not have any access to
-it other than via the CVS protocol.  It is not
-possible to use CVS to read from a repository
-which one only has read access to; CVS needs to be
-able to create lock files (see section <A HREF="cvs.html#SEC42">Several 
developers simultaneously attempting to run CVS</A>).
-
-</P>
-<P>
-<A NAME="IDX94"></A>
-To create a repository, run the <CODE>cvs init</CODE>
-command.  It will set up an empty repository in the
-CVS root specified in the usual way
-(see section <A HREF="cvs.html#SEC15">The Repository</A>).  For example,
-
-</P>
-
-<PRE>
-cvs -d /usr/local/cvsroot init
-</PRE>
-
-<P>
-<CODE>cvs init</CODE> is careful to never overwrite any
-existing files in the repository, so no harm is done if
-you run <CODE>cvs init</CODE> on an already set-up
-repository.
-
-</P>
-<P>
-<CODE>cvs init</CODE> will enable history logging; if you
-don't want that, remove the history file after running
-<CODE>cvs init</CODE>.  See section <A HREF="cvs.html#SEC149">The history 
file</A>.
-
-</P>
-
-
-<H2><A NAME="SEC24" HREF="cvs.html#TOC24">Remote repositories</A></H2>
-<P>
-<A NAME="IDX95"></A>
-<A NAME="IDX96"></A>
-<A NAME="IDX97"></A>
-
-</P>
-<P>
-        Your working copy of the sources can be on a
-different machine than the repository.  Generally,
-using a remote repository is just like using a local
-one, except that the format of the repository name is:
-
-</P>
-
-<PRE>
-:<VAR>method</VAR>:<VAR>user</VAR>@<VAR>hostname</VAR>:/path/to/repository
-</PRE>
-
-<P>
-The details of exactly what needs to be set up depend
-on how you are connecting to the server.
-
-</P>
-<P>
-If <VAR>method</VAR> is not specified, and the repository
-name contains <SAMP>`:'</SAMP>, then the default is <CODE>ext</CODE>
-or <CODE>server</CODE>, depending on your platform; both are
-described in section <A HREF="cvs.html#SEC25">Connecting with rsh</A>.
-
-</P>
-
-
-
-<H3><A NAME="SEC25" HREF="cvs.html#TOC25">Connecting with rsh</A></H3>
-
-<P>
-<A NAME="IDX98"></A>
-CVS uses the <TT>`rsh'</TT> protocol to perform these
-operations, so the remote user host needs to have a
-<TT>`.rhosts'</TT> file which grants access to the local
-user.
-
-</P>
-<P>
-For example, suppose you are the user <TT>`mozart'</TT> on
-the local machine <TT>`anklet.grunge.com'</TT>, and the
-server machine is <TT>`chainsaw.brickyard.com'</TT>.  On
-chainsaw, put the following line into the file
-<TT>`.rhosts'</TT> in <TT>`bach'</TT>'s home directory:
-
-</P>
-
-<PRE>
-anklet.grunge.com  mozart
-</PRE>
-
-<P>
-Then test that <CODE>rsh</CODE> is working with
-
-</P>
-
-<PRE>
-rsh -l bach chainsaw.brickyard.com 'echo $PATH'
-</PRE>
-
-<P>
-<A NAME="IDX99"></A>
-Next you have to make sure that <CODE>rsh</CODE> will be able
-to find the server.  Make sure that the path which
-<CODE>rsh</CODE> printed in the above example includes the
-directory containing a program named <CODE>cvs</CODE> which
-is the server.  You need to set the path in
-<TT>`.bashrc'</TT>, <TT>`.cshrc'</TT>, etc., not <TT>`.login'</TT>
-or <TT>`.profile'</TT>.  Alternately, you can set the
-environment variable <CODE>CVS_SERVER</CODE> on the client
-machine to the filename of the server you want to use,
-for example <TT>`/usr/local/bin/cvs-1.6'</TT>.
-
-</P>
-<P>
-There is no need to edit <CODE>inetd.conf</CODE> or start a
-CVS server daemon.
-
-</P>
-<P>
-<A NAME="IDX100"></A>
-<A NAME="IDX101"></A>
-There are two access methods that you use in CVSROOT
-for rsh.  <CODE>:server:</CODE> specifies an internal rsh
-client, which is supported only by some CVS ports.
-<CODE>:ext:</CODE> specifies an external rsh program.  By
-default this is <CODE>rsh</CODE> but you may set the
-<CODE>CVS_RSH</CODE> environment variable to invoke another
-program which can access the remote server (for
-example, <CODE>remsh</CODE> on HP-UX 9 because <CODE>rsh</CODE> is
-something different).  It must be a program which can
-transmit data to and from the server without modifying
-it; for example the Windows NT <CODE>rsh</CODE> is not
-suitable since it by default translates between CRLF
-and LF.  The OS/2 CVS port has a hack to pass <SAMP>`-b'</SAMP>
-to <CODE>rsh</CODE> to get around this, but since this could
-potentially cause programs for programs other than the
-standard <CODE>rsh</CODE>, it may change in the future.  If
-you set <CODE>CVS_RSH</CODE> to <CODE>SSH</CODE> or some other rsh
-replacement, the instructions in the rest of this
-section concerning <TT>`.rhosts'</TT> and so on are likely
-to be incorrect; consult the documentation for your rsh
-replacement.
-
-</P>
-<P>
-Continuing our example, supposing you want to access
-the module <TT>`foo'</TT> in the repository
-<TT>`/usr/local/cvsroot/'</TT>, on machine
-<TT>`chainsaw.brickyard.com'</TT>, you are ready to go:
-
-</P>
-
-<PRE>
-cvs -d :ext:address@hidden:/usr/local/cvsroot checkout foo
-</PRE>
-
-<P>
-(The <TT>`bach@'</TT> can be omitted if the username is
-the same on both the local and remote hosts.)
-
-</P>
-
-
-
-<H3><A NAME="SEC26" HREF="cvs.html#TOC26">Direct connection with password 
authentication</A></H3>
-
-<P>
-The CVS client can also connect to the server
-using a password protocol.  This is particularly useful
-if using <CODE>rsh</CODE> is not feasible (for example,
-the server is behind a firewall), and Kerberos also is
-not available.
-
-</P>
-<P>
-        To use this method, it is necessary to make
-some adjustments on both the server and client sides.
-
-</P>
-
-
-
-<H4><A NAME="SEC27" HREF="cvs.html#TOC27">Setting up the server for password 
authentication</A></H4>
-
-<P>
-<A NAME="IDX102"></A>
-<A NAME="IDX103"></A>
-<A NAME="IDX104"></A>
-On the server side, the file <TT>`/etc/inetd.conf'</TT>
-needs to be edited so <CODE>inetd</CODE> knows to run the
-command <CODE>cvs pserver</CODE> when it receives a
-connection on the right port.  By default, the port
-number is 2401; it would be different if your client
-were compiled with <CODE>CVS_AUTH_PORT</CODE> defined to
-something else, though.
-
-</P>
-<P>
-        If your <CODE>inetd</CODE> allows raw port numbers in
-<TT>`/etc/inetd.conf'</TT>, then the following (all on a
-single line in <TT>`inetd.conf'</TT>) should be sufficient:
-
-</P>
-
-<PRE>
-2401  stream  tcp  nowait  root  /usr/local/bin/cvs
-cvs -b /usr/local/bin pserver
-</PRE>
-
-<P>
-The <SAMP>`-b'</SAMP> option specifies the directory which contains
-the RCS binaries on the server.  You could also use the
-<SAMP>`-T'</SAMP> option to specify a temporary directory.
-
-</P>
-<P>
-        If your <CODE>inetd</CODE> wants a symbolic service
-name instead of a raw port number, then put this in
-<TT>`/etc/services'</TT>:
-
-</P>
-
-<PRE>
-cvspserver      2401/tcp
-</PRE>
-
-<P>
-        and put <CODE>cvspserver</CODE> instead of
-<CODE>2401</CODE> in <TT>`inetd.conf'</TT>.
-
-</P>
-<P>
-        Once the above is taken care of, restart your
-<CODE>inetd</CODE>, or do whatever is necessary to force it
-to reread its initialization files.
-
-</P>
-
-<P>
-<A NAME="IDX105"></A>
-<A NAME="IDX106"></A>
-Because the client stores and transmits passwords in
-cleartext (almost--see section <A HREF="cvs.html#SEC29">Security 
considerations with password authentication</A> for details), a separate CVS 
password
-file may be used, so people don't compromise their
-regular passwords when they access the repository.
-This file is <TT>`$CVSROOT/CVSROOT/passwd'</TT>
-(see section <A HREF="cvs.html#SEC20">The administrative files</A>).  Its 
format is
-similar to <TT>`/etc/passwd'</TT>, except that it only has
-two fields, username and password.  For example:
-
-</P>
-
-<PRE>
-bach:ULtgRLXo7NRxs
-cwang:1sOp854gDF3DY
-</PRE>
-
-<P>
-The password is encrypted according to the standard
-Unix <CODE>crypt()</CODE> function, so it is possible to
-paste in passwords directly from regular Unix
-<TT>`passwd'</TT> files.
-
-</P>
-<P>
-When authenticating a password, the server first checks
-for the user in the CVS <TT>`passwd'</TT> file.  If it
-finds the user, it compares against that password.  If
-it does not find the user, or if the CVS
-<TT>`passwd'</TT> file does not exist, then the server
-tries to match the password using the system's
-user-lookup routine.  When using the CVS
-<TT>`passwd'</TT> file, the server runs under as the
-username specified in the the third argument in the
-entry, or as the first argument if there is no third
-argument (in this way CVS allows imaginary
-usernames provided the CVS <TT>`passwd'</TT> file
-indicates corresponding valid system usernames).  In
-any case, CVS will have no privileges which the
-(valid) user would not have.
-
-</P>
-<P>
-Right now, the only way to put a password in the
-CVS <TT>`passwd'</TT> file is to paste it there from
-somewhere else.  Someday, there may be a <CODE>cvs
-passwd</CODE> command.
-
-</P>
-
-
-<H4><A NAME="SEC28" HREF="cvs.html#TOC28">Using the client with password 
authentication</A></H4>
-<P>
-<A NAME="IDX107"></A>
-<A NAME="IDX108"></A>
-<A NAME="IDX109"></A>
-<A NAME="IDX110"></A>
-Before connecting to the server, the client must <EM>log
-in</EM> with the command <CODE>cvs login</CODE>.  Logging in
-verifies a password with the server, and also records
-the password for later transactions with the server.
-The <CODE>cvs login</CODE> command needs to know the
-username, server hostname, and full repository path,
-and it gets this information from the repository
-argument or the <CODE>CVSROOT</CODE> environment variable.
-
-</P>
-<P>
-<CODE>cvs login</CODE> is interactive -- it prompts for a
-password:
-
-</P>
-
-<PRE>
-cvs -d :pserver:address@hidden:/usr/local/cvsroot login 
-CVS password: 
-</PRE>
-
-<P>
-The password is checked with the server; if it is
-correct, the <CODE>login</CODE> succeeds, else it fails,
-complaining that the password was incorrect.
-
-</P>
-<P>
-Once you have logged in, you can force CVS to
-connect directly to the server and authenticate with
-the stored password:
-
-</P>
-
-<PRE>
-cvs -d :pserver:address@hidden:/usr/local/cvsroot checkout foo
-</PRE>
-
-<P>
-The <SAMP>`:pserver:'</SAMP> is necessary because without it,
-CVS will assume it should use <CODE>rsh</CODE> to
-connect with the server (see section <A HREF="cvs.html#SEC25">Connecting with 
rsh</A>).
-(Once you have a working copy checked out and are
-running CVS commands from within it, there is no
-longer any need to specify the repository explicitly,
-because CVS records it in the working copy's
-<TT>`CVS'</TT> subdirectory.)
-
-</P>
-<P>
-<A NAME="IDX111"></A>
-Passwords are stored by default in the file
-<TT>`$HOME/.cvspass'</TT>.  Its format is human-readable,
-but don't edit it unless you know what you are doing.
-The passwords are not stored in cleartext, but are
-trivially encoded to protect them from "innocent"
-compromise (i.e., inadvertently being seen by a system
-administrator who happens to look at that file).
-
-</P>
-<P>
-The <CODE>CVS_PASSFILE</CODE> environment variable overrides
-this default.  If you use this variable, make sure you
-set it <EM>before</EM> <CODE>cvs login</CODE> is run.  If you
-were to set it after running <CODE>cvs login</CODE>, then
-later CVS commands would be unable to look up the
-password for transmission to the server.
-
-</P>
-<P>
-<A NAME="IDX112"></A>
-The <CODE>CVS_PASSWORD</CODE> environment variable overrides
-<EM>all</EM> stored passwords.  If it is set, CVS
-will use it for all password-authenticated
-connections.
-
-</P>
-
-
-<H4><A NAME="SEC29" HREF="cvs.html#TOC29">Security considerations with 
password authentication</A></H4>
-
-<P>
-The passwords are stored on the client side in a
-trivial encoding of the cleartext, and transmitted in
-the same encoding.  The encoding is done only to
-prevent inadvertent password compromises (i.e., a
-system administrator accidentally looking at the file),
-and will not prevent even a naive attacker from gaining
-the password.
-
-</P>
-<P>
-The separate CVS password file (see section <A HREF="cvs.html#SEC27">Setting 
up the server for password authentication</A>) allows people
-to use a different password for repository access than
-for login access.  On the other hand, once a user has
-access to the repository, she can execute programs on
-the server system through a variety of means.  Thus, repository
-access implies fairly broad system access as well.  It
-might be possible to modify CVS to prevent that,
-but no one has done so as of this writing.
-Furthermore, there may be other ways in which having
-access to CVS allows people to gain more general
-access to the system; noone has done a careful audit.
-
-</P>
-<P>
-In summary, anyone who gets the password gets
-repository access, and some measure of general system
-access as well.  The password is available to anyone
-who can sniff network packets or read a protected
-(i.e., user read-only) file.  If you want real
-security, get Kerberos.
-
-</P>
-
-
-<H3><A NAME="SEC30" HREF="cvs.html#TOC30">Direct connection with 
kerberos</A></H3>
-
-<P>
-<A NAME="IDX113"></A>
-<A NAME="IDX114"></A>
-The main disadvantage of using rsh is that all the data
-needs to pass through additional programs, so it may be
-slower.  So if you have kerberos installed you can
-connect via a direct TCP connection,
-authenticating with kerberos.
-
-</P>
-<P>
-To do this, CVS needs to be compiled with kerberos
-support; when configuring CVS it tries to detect
-whether kerberos is present or you can use the
-<TT>`--with-krb4'</TT> flag to configure.
-
-</P>
-<P>
-The data transmitted is <EM>not</EM> encrypted by
-default.  Encryption support must be compiled into both
-the client and server; use the
-<TT>`--enable-encryption'</TT> configure option to turn it
-on.  You must then use the <CODE>-x</CODE> global option to
-request encryption.
-
-</P>
-<P>
-<A NAME="IDX115"></A>
-You need to edit <CODE>inetd.conf</CODE> on the server
-machine to run <CODE>cvs kserver</CODE>.  The client uses
-port 1999 by default; if you want to use another port
-specify it in the <CODE>CVS_CLIENT_PORT</CODE> environment
-variable on the client.
-
-</P>
-<P>
-<A NAME="IDX116"></A>
-When you want to use CVS, get a ticket in the
-usual way (generally <CODE>kinit</CODE>); it must be a ticket
-which allows you to log into the server machine.  Then
-you are ready to go:
-
-</P>
-
-<PRE>
-cvs -d :kserver:chainsaw.brickyard.com:/user/local/cvsroot checkout foo
-</PRE>
-
-<P>
-Previous versions of CVS would fall back to a
-connection via rsh; this version will not do so.
-
-</P>
-
-
-<H1><A NAME="SEC31" HREF="cvs.html#TOC31">Starting a project with CVS</A></H1>
-<P>
-<A NAME="IDX117"></A>
-<A NAME="IDX118"></A>
-
-</P>
-<P>
-Because renaming files and moving them between
-directories is somewhat inconvenient, the first thing
-you do when you start a new project should be to think
-through your file organization.  It is not impossible
-to rename or move files, but it does increase the
-potential for confusion and CVS does have some
-quirks particularly in the area of renaming
-directories.  See section <A HREF="cvs.html#SEC67">Moving and renaming 
files</A>.
-
-</P>
-<P>
-What to do next depends on the situation at hand.
-
-</P>
-
-
-
-<H2><A NAME="SEC32" HREF="cvs.html#TOC32">Setting up the files</A></H2>
-
-<P>
-The first step is to create the files inside the repository.  This can
-be done in a couple of different ways.
-
-</P>
-
-
-
-<H3><A NAME="SEC33" HREF="cvs.html#TOC33">Creating a directory tree from a 
number of files</A></H3>
-<P>
-<A NAME="IDX119"></A>
-
-</P>
-<P>
-When you begin using CVS, you will probably already have several
-projects that can be
-put under CVS control.  In these cases the easiest way is to use the
-<CODE>import</CODE> command.  An example is probably the easiest way to
-explain how to use it.  If the files you want to install in
-CVS reside in <TT>`<VAR>wdir</VAR>'</TT>, and you want them to appear in the
-repository as <TT>`$CVSROOT/yoyodyne/<VAR>rdir</VAR>'</TT>, you can do this:
-
-</P>
-
-<PRE>
-$ cd <VAR>wdir</VAR>
-$ cvs import -m "Imported sources" yoyodyne/<VAR>rdir</VAR> yoyo start
-</PRE>
-
-<P>
-Unless you supply a log message with the <SAMP>`-m'</SAMP>
-flag, CVS starts an editor and prompts for a
-message.  The string <SAMP>`yoyo'</SAMP> is a <EM>vendor tag</EM>,
-and <SAMP>`start'</SAMP> is a <EM>release tag</EM>.  They may fill
-no purpose in this context, but since CVS requires
-them they must be present.  See section <A HREF="cvs.html#SEC63">Tracking 
third-party sources</A>, for
-more information about them.
-
-</P>
-<P>
-You can now verify that it worked, and remove your
-original source directory.
-
-</P>
-
-<PRE>
-$ cd ..
-$ mv <VAR>dir</VAR> <VAR>dir</VAR>.orig
-$ cvs checkout yoyodyne/<VAR>dir</VAR>       # Explanation below
-$ ls -R yoyodyne
-$ rm -r <VAR>dir</VAR>.orig
-</PRE>
-
-<P>
-Erasing the original sources is a good idea, to make sure that you do
-not accidentally edit them in <VAR>dir</VAR>, bypassing CVS.
-Of course, it would be wise to make sure that you have
-a backup of the sources before you remove them.
-
-</P>
-<P>
-The <CODE>checkout</CODE> command can either take a module
-name as argument (as it has done in all previous
-examples) or a path name relative to <CODE>$CVSROOT</CODE>,
-as it did in the example above.
-
-</P>
-<P>
-It is a good idea to check that the permissions
-CVS sets on the directories inside <SAMP>`$CVSROOT'</SAMP>
-are reasonable, and that they belong to the proper
-groups.  See section <A HREF="cvs.html#SEC19">File permissions</A>.
-
-</P>
-<P>
-If some of the files you want to import are binary, you
-may want to use the wrappers features to specify which
-files are binary and which are not.  See section <A HREF="cvs.html#SEC138">The 
cvswrappers file</A>.
-
-</P>
-
-
-<H3><A NAME="SEC34" HREF="cvs.html#TOC34">Creating Files From Other Version 
Control Systems</A></H3>
-<P>
-<A NAME="IDX120"></A>
-
-</P>
-<P>
-If you have a project which you are maintaining with
-another version control system, such as RCS, you
-may wish to put the files from that project into
-CVS, and preserve the revision history of the
-files.
-
-</P>
-<DL COMPACT>
-
-<DT>From RCS
-<DD>
-<A NAME="IDX121"></A>
- 
-If you have been using RCS, find the RCS
-files--usually a file named <TT>`foo.c'</TT> will have its
-RCS file in <TT>`RCS/foo.c,v'</TT> (but it could be
-other places; consult the RCS documentation for
-details).  Then create the appropriate directories in
-CVS if they do not already exist.  Then copy the
-files into the appropriate directories in the CVS
-repository (the name in the repository must be the name
-of the source file with <SAMP>`,v'</SAMP> added; the files go
-directly in the appopriate directory of the repository,
-not in an <TT>`RCS'</TT> subdirectory).  This is one of the
-few times when it is a good idea to access the CVS
-repository directly, rather than using CVS
-commands.  Then you are ready to check out a new
-working directory.
-
-The RCS file should not be locked when you move it
-into CVS; if it is, CVS will have trouble
-letting you operate on it.
-
-<DT>From another version control system
-<DD>
-Many version control systems have the ability to export
-RCS files in the standard format.  If yours does,
-export the RCS files and then follow the above
-instructions.
-
-<A NAME="IDX122"></A>
-<DT>From SCCS
-<DD>
-There is a script in the <TT>`contrib'</TT> directory of
-the CVS source distribution called <TT>`sccs2rcs'</TT>
-which converts SCCS files to RCS files.
-Note: you must run it on a machine which has both
-SCCS and RCS installed, and like everything
-else in contrib it is unsupported (your mileage may
-vary).
-</DL>
-
-
-
-<H3><A NAME="SEC35" HREF="cvs.html#TOC35">Creating a directory tree from 
scratch</A></H3>
-
-<P>
-For a new project, the easiest thing to do is probably
-to create an empty directory structure, like this:
-
-</P>
-
-<PRE>
-$ mkdir tc
-$ mkdir tc/man
-$ mkdir tc/testing
-</PRE>
-
-<P>
-After that, you use the <CODE>import</CODE> command to create
-the corresponding (empty) directory structure inside
-the repository:
-
-</P>
-
-<PRE>
-$ cd tc
-$ cvs import -m "Created directory structure" yoyodyne/<VAR>dir</VAR> yoyo 
start
-</PRE>
-
-<P>
-Then, use <CODE>add</CODE> to add files (and new directories)
-as they appear.
-
-</P>
-<P>
-Check that the permissions CVS sets on the
-directories inside <SAMP>`$CVSROOT'</SAMP> are reasonable.
-
-</P>
-
-
-<H2><A NAME="SEC36" HREF="cvs.html#TOC36">Defining the module</A></H2>
-<P>
-<A NAME="IDX123"></A>
-<A NAME="IDX124"></A>
-<A NAME="IDX125"></A>
-<A NAME="IDX126"></A>
-
-</P>
-<P>
-The next step is to define the module in the
-<TT>`modules'</TT> file.  This is not strictly necessary,
-but modules can be convenient in grouping together
-related files and directories.
-
-</P>
-<P>
-In simple cases these steps are sufficient to define a module.
-
-</P>
-
-<OL>
-<LI>
-
-Get a working copy of the modules file.
-
-
-<PRE>
-$ cvs checkout CVSROOT/modules
-$ cd CVSROOT
-</PRE>
-
-<LI>
-
-Edit the file and insert a line that defines the module.  See section <A 
HREF="cvs.html#SEC20">The administrative files</A>, for an introduction.  See 
section <A HREF="cvs.html#SEC137">The modules file</A>, for a full
-description of the modules file.  You can use the
-following line to define the module <SAMP>`tc'</SAMP>:
-
-
-<PRE>
-tc   yoyodyne/tc
-</PRE>
-
-<LI>
-
-Commit your changes to the modules file.
-
-
-<PRE>
-$ cvs commit -m "Added the tc module." modules
-</PRE>
-
-<LI>
-
-Release the modules module.
-
-
-<PRE>
-$ cd ..
-$ cvs release -d CVSROOT
-</PRE>
-
-</OL>
-
-
-
-<H1><A NAME="SEC37" HREF="cvs.html#TOC37">Multiple developers</A></H1>
-<P>
-<A NAME="IDX127"></A>
-<A NAME="IDX128"></A>
-<A NAME="IDX129"></A>
-<A NAME="IDX130"></A>
-<A NAME="IDX131"></A>
-<A NAME="IDX132"></A>
-<A NAME="IDX133"></A>
-<A NAME="IDX134"></A>
-
-</P>
-<P>
-When more than one person works on a software project
-things often get complicated.  Often, two people try to
-edit the same file simultaneously.  One solution, known
-as <EM>file locking</EM> or <EM>reserved checkouts</EM>, is
-to allow only one person to edit each file at a time.
-This is the only solution with some version control
-systems, including RCS and SCCS.  CVS
-doesn't have a very nice implementation of reserved
-checkouts (yet) but there are ways to get it working
-(for example, see the <CODE>cvs admin -l</CODE> command in
-section <A HREF="cvs.html#SEC92">admin options</A>).  It also may be possible 
to use
-the watches features described below, together with
-suitable procedures (not enforced by software), to
-avoid having two people edit at the same time.
-
-</P>
-<P>
-The default model with CVS is known as
-<EM>unreserved checkouts</EM>.  In this model, developers
-can edit their own <EM>working copy</EM> of a file
-simultaneously.  The first person that commits his
-changes has no automatic way of knowing that another
-has started to edit it.  Others will get an error
-message when they try to commit the file.  They must
-then use CVS commands to bring their working copy
-up to date with the repository revision.  This process
-is almost automatic.
-
-</P>
-<P>
-CVS also supports mechanisms which facilitate
-various kinds of communcation, without actually
-enforcing rules like reserved checkouts do.
-
-</P>
-<P>
-The rest of this chapter describes how these various
-models work, and some of the issues involved in
-choosing between them.
-
-</P>
-
-
-
-<H2><A NAME="SEC38" HREF="cvs.html#TOC38">File status</A></H2>
-<P>
-<A NAME="IDX135"></A>
-<A NAME="IDX136"></A>
-
-</P>
-<P>
-Based on what operations you have performed on a
-checked out file, and what operations others have
-performed to that file in the repository, one can
-classify a file in a number of states.  The states, as
-reported by the <CODE>status</CODE> command, are:
-
-</P>
-<DL COMPACT>
-
-<DT>Up-to-date
-<DD>
-<A NAME="IDX137"></A>
- 
-The file is identical with the latest revision in the
-repository for the branch in use.
-
-<DT>Locally Modified
-<DD>
-<A NAME="IDX138"></A>
-You have edited the file, and not yet committed your changes.
-
-<DT>Locally Added
-<DD>
-<A NAME="IDX139"></A>
-You have added the file with <CODE>add</CODE>, and not yet
-committed your changes.
-
-<DT>Locally Removed
-<DD>
-<A NAME="IDX140"></A>
-You have removed the file with <CODE>remove</CODE>, and not yet
-committed your changes.
-
-<DT>Needs Checkout
-<DD>
-<A NAME="IDX141"></A>
-Someone else has committed a newer revision to the
-repository.  The name is slightly misleading; you will
-ordinarily use <CODE>update</CODE> rather than
-<CODE>checkout</CODE> to get that newer revision.
-
-<DT>Needs Patch
-<DD>
-<A NAME="IDX142"></A>
-Like Needs Checkout, but the CVS server will send
-a patch rather than the entire file.  Sending a patch or
-sending an entire file accomplishes the same thing.
-
-<DT>Needs Merge
-<DD>
-<A NAME="IDX143"></A>
-Someone else has committed a newer revision to the repository, and you
-have also made modifications to the file.
-
-<DT>Unresolved Conflict
-<DD>
-<A NAME="IDX144"></A>
-This is like Locally Modified, except that a previous
-<CODE>update</CODE> command gave a conflict.  You need to
-resolve the conflict as described in section <A 
HREF="cvs.html#SEC40">Conflicts example</A>.
-
-<DT>Unknown
-<DD>
-<A NAME="IDX145"></A>
-CVS doesn't know anything about this file.  For
-example, you have created a new file and have not run
-<CODE>add</CODE>.
-
-</DL>
-
-<P>
-To help clarify the file status, <CODE>status</CODE> also
-reports the <CODE>Working revision</CODE> which is the
-revision that the file in the working directory derives
-from, and the <CODE>Repository revision</CODE> which is the
-latest revision in the repository for the branch in
-use.
-
-</P>
-<P>
-For information on the options to <CODE>status</CODE>, see
-section <A HREF="cvs.html#SEC128">status--Display status information on 
checked out files</A>.  For information on its <CODE>Sticky tag</CODE>
-and <CODE>Sticky date</CODE> output, see section <A 
HREF="cvs.html#SEC54">Sticky tags</A>.
-For information on its <CODE>Sticky options</CODE> output,
-see the <SAMP>`-k'</SAMP> option in section <A HREF="cvs.html#SEC133">update 
options</A>.
-
-</P>
-
-
-<H2><A NAME="SEC39" HREF="cvs.html#TOC39">Bringing a file up to date</A></H2>
-<P>
-<A NAME="IDX146"></A>
-<A NAME="IDX147"></A>
-<A NAME="IDX148"></A>
-<A NAME="IDX149"></A>
-
-</P>
-<P>
-When you want to update or merge a file, use the <CODE>update</CODE>
-command.  For files that are not up to date this is roughly equivalent
-to a <CODE>checkout</CODE> command: the newest revision of the file is
-extracted from the repository and put in your working copy of the
-module.
-
-</P>
-<P>
-Your modifications to a file are never lost when you
-use <CODE>update</CODE>.  If no newer revision exists,
-running <CODE>update</CODE> has no effect.  If you have
-edited the file, and a newer revision is available,
-CVS will merge all changes into your working copy.
-
-</P>
-<P>
-For instance, imagine that you checked out revision 1.4 and started
-editing it.  In the meantime someone else committed revision 1.5, and
-shortly after that revision 1.6.  If you run <CODE>update</CODE> on the file
-now, CVS will incorporate all changes between revision 1.4 and 1.6 into
-your file.
-
-</P>
-<P>
-<A NAME="IDX150"></A>
-If any of the changes between 1.4 and 1.6 were made too
-close to any of the changes you have made, an
-<EM>overlap</EM> occurs.  In such cases a warning is
-printed, and the resulting file includes both
-versions of the lines that overlap, delimited by
-special markers.
-See section <A HREF="cvs.html#SEC132">update--Bring work tree in sync with 
repository</A>, for a complete description of the
-<CODE>update</CODE> command.
-
-</P>
-
-
-<H2><A NAME="SEC40" HREF="cvs.html#TOC40">Conflicts example</A></H2>
-<P>
-<A NAME="IDX151"></A>
-<A NAME="IDX152"></A>
-<A NAME="IDX153"></A>
-
-</P>
-<P>
-Suppose revision 1.4 of <TT>`driver.c'</TT> contains this:
-
-</P>
-
-<PRE>
-#include &#60;stdio.h&#62;
-
-void main()
-{
-    parse();
-    if (nerr == 0)
-        gencode();
-    else
-        fprintf(stderr, "No code generated.\n");
-    exit(nerr == 0 ? 0 : 1);
-}
-</PRE>
-
-<P>
-Revision 1.6 of <TT>`driver.c'</TT> contains this:
-
-</P>
-
-<PRE>
-#include &#60;stdio.h&#62;
-
-int main(int argc,
-         char **argv)
-{
-    parse();
-    if (argc != 1)
-    {
-        fprintf(stderr, "tc: No args expected.\n");
-        exit(1);
-    }
-    if (nerr == 0)
-        gencode();
-    else
-        fprintf(stderr, "No code generated.\n");
-    exit(!!nerr);
-}
-</PRE>
-
-<P>
-Your working copy of <TT>`driver.c'</TT>, based on revision
-1.4, contains this before you run <SAMP>`cvs update'</SAMP>:
-
-</P>
-
-<PRE>
-#include &#60;stdlib.h&#62;
-#include &#60;stdio.h&#62;
-
-void main()
-{
-    init_scanner();
-    parse();
-    if (nerr == 0)
-        gencode();
-    else
-        fprintf(stderr, "No code generated.\n");
-    exit(nerr == 0 ? EXIT_SUCCESS : EXIT_FAILURE);
-}
-</PRE>
-
-<P>
-You run <SAMP>`cvs update'</SAMP>:
-
-</P>
-
-<PRE>
-$ cvs update driver.c
-RCS file: /usr/local/cvsroot/yoyodyne/tc/driver.c,v
-retrieving revision 1.4
-retrieving revision 1.6
-Merging differences between 1.4 and 1.6 into driver.c
-rcsmerge warning: overlaps during merge
-cvs update: conflicts found in driver.c
-C driver.c
-</PRE>
-
-<P>
-<A NAME="IDX154"></A>
-CVS tells you that there were some conflicts.
-Your original working file is saved unmodified in
-<TT>`.#driver.c.1.4'</TT>.  The new version of
-<TT>`driver.c'</TT> contains this:
-
-</P>
-
-<PRE>
-#include &#60;stdlib.h&#62;
-#include &#60;stdio.h&#62;
-
-int main(int argc,
-         char **argv)
-{
-    init_scanner();
-    parse();
-    if (argc != 1)
-    {
-        fprintf(stderr, "tc: No args expected.\n");
-        exit(1);
-    }
-    if (nerr == 0)
-        gencode();
-    else
-        fprintf(stderr, "No code generated.\n");
-&#60;&#60;&#60;&#60;&#60;&#60;&#60; driver.c
-    exit(nerr == 0 ? EXIT_SUCCESS : EXIT_FAILURE);
-=======
-    exit(!!nerr);
-&#62;&#62;&#62;&#62;&#62;&#62;&#62; 1.6
-}
-</PRE>
-
-<P>
-<A NAME="IDX155"></A>
-<A NAME="IDX156"></A>
-<A NAME="IDX157"></A>
-<A NAME="IDX158"></A>
-<A NAME="IDX159"></A>
-
-</P>
-<P>
-Note how all non-overlapping modifications are incorporated in your working
-copy, and that the overlapping section is clearly marked with
-<SAMP>`&#60;&#60;&#60;&#60;&#60;&#60;&#60;'</SAMP>, <SAMP>`======='</SAMP> and 
<SAMP>`&#62;&#62;&#62;&#62;&#62;&#62;&#62;'</SAMP>.
-
-</P>
-<P>
-<A NAME="IDX160"></A>
-<A NAME="IDX161"></A>
-You resolve the conflict by editing the file, removing the markers and
-the erroneous line.  Suppose you end up with this file:
-
-<PRE>
-#include &#60;stdlib.h&#62;
-#include &#60;stdio.h&#62;
-
-int main(int argc,
-         char **argv)
-{
-    init_scanner();
-    parse();
-    if (argc != 1)
-    {
-        fprintf(stderr, "tc: No args expected.\n");
-        exit(1);
-    }
-    if (nerr == 0)
-        gencode();
-    else
-        fprintf(stderr, "No code generated.\n");
-    exit(nerr == 0 ? EXIT_SUCCESS : EXIT_FAILURE);
-}
-</PRE>
-
-<P>
-You can now go ahead and commit this as revision 1.7.
-
-</P>
-
-<PRE>
-$ cvs commit -m "Initialize scanner. Use symbolic exit values." driver.c
-Checking in driver.c;
-/usr/local/cvsroot/yoyodyne/tc/driver.c,v  &#60;--  driver.c
-new revision: 1.7; previous revision: 1.6
-done
-</PRE>
-
-<P>
-For your protection, CVS will refuse to check in a
-file if a conflict occurred and you have not resolved
-the conflict.  Currently to resolve a conflict, you
-must change the timestamp on the file, and must also
-insure that the file contains no conflict markers.  If
-your file legitimately contains conflict markers (that
-is, occurrences of <SAMP>`&#62;&#62;&#62;&#62;&#62;&#62;&#62; '</SAMP> at the 
start of a
-line that don't mark a conflict), then CVS has
-trouble handling this and you need to start hacking on
-the <CODE>CVS/Entries</CODE> file or other such workarounds.
-
-</P>
-<P>
-<A NAME="IDX162"></A>
-If you use release 1.04 or later of pcl-cvs (a GNU
-Emacs front-end for CVS) you can use an Emacs
-package called emerge to help you resolve conflicts.
-See the documentation for pcl-cvs.
-
-</P>
-
-
-<H2><A NAME="SEC41" HREF="cvs.html#TOC41">Informing others about 
commits</A></H2>
-<P>
-<A NAME="IDX163"></A>
-<A NAME="IDX164"></A>
-<A NAME="IDX165"></A>
-
-</P>
-<P>
-It is often useful to inform others when you commit a
-new revision of a file.  The <SAMP>`-i'</SAMP> option of the
-<TT>`modules'</TT> file, or the <TT>`loginfo'</TT> file, can be
-used to automate this process.  See section <A HREF="cvs.html#SEC137">The 
modules file</A>.
-See section <A HREF="cvs.html#SEC144">Loginfo</A>.  You can use these features 
of CVS
-to, for instance, instruct CVS to mail a
-message to all developers, or post a message to a local
-newsgroup.
-
-</P>
-
-
-<H2><A NAME="SEC42" HREF="cvs.html#TOC42">Several developers simultaneously 
attempting to run CVS</A></H2>
-
-<P>
-<A NAME="IDX166"></A>
-If several developers try to run CVS at the same
-time, one may get the following message:
-
-</P>
-
-<PRE>
-[11:43:23] waiting for bach's lock in /usr/local/cvsroot/foo
-</PRE>
-
-<P>
-CVS will try again every 30 seconds, and either
-continue with the operation or print the message again,
-if it still needs to wait.  If a lock seems to stick
-around for an undue amount of time, find the person
-holding the lock and ask them about the cvs command
-they are running.  If they aren't running a cvs
-command, look for and remove files starting with
-<TT>`#cvs.tfl'</TT>, <TT>`#cvs.rfl'</TT>, or <TT>`#cvs.wfl'</TT>
-from the repository.
-
-</P>
-<P>
-Note that these locks are to protect CVS's
-internal data structures and have no relationship to
-the word <EM>lock</EM> in the sense used by
-RCS---which refers to reserved checkouts
-(see section <A HREF="cvs.html#SEC37">Multiple developers</A>).
-
-</P>
-<P>
-Any number of people can be reading from a given
-repository at a time; only when someone is writing do
-the locks prevent other people from reading or writing.
-
-</P>
-<P>
-<A NAME="IDX167"></A>
-<A NAME="IDX168"></A>
-One might hope for the following property
-
-</P>
-
-<PRE>
-If someone commits some changes in one cvs command,
-then an update by someone else will either get all the
-changes, or none of them.
-</PRE>
-
-<P>
-but CVS does <EM>not</EM> have this property.  For
-example, given the files
-
-</P>
-
-<PRE>
-a/one.c
-a/two.c
-b/three.c
-b/four.c
-</PRE>
-
-<P>
-if someone runs
-
-</P>
-
-<PRE>
-cvs ci a/two.c b/three.c
-</PRE>
-
-<P>
-and someone else runs <CODE>cvs update</CODE> at the same
-time, the person running <CODE>update</CODE> might get only
-the change to <TT>`b/three.c'</TT> and not the change to
-<TT>`a/two.c'</TT>.
-
-</P>
-
-
-<H2><A NAME="SEC43" HREF="cvs.html#TOC43">Mechanisms to track who is editing 
files</A></H2>
-<P>
-<A NAME="IDX169"></A>
-
-</P>
-<P>
-For many groups, use of CVS in its default mode is
-perfectly satisfactory.  Users may sometimes go to
-check in a modification only to find that another
-modification has intervened, but they deal with it and
-proceed with their check in.  Other groups prefer to be
-able to know who is editing what files, so that if two
-people try to edit the same file they can choose to
-talk about who is doing what when rather than be
-surprised at check in time.  The features in this
-section allow such coordination, while retaining the
-ability of two developers to edit the same file at the
-same time.
-
-</P>
-<P>
-For maximum benefit developers should use <CODE>cvs
-edit</CODE> (not <CODE>chmod</CODE>) to make files read-write to
-edit them, and <CODE>cvs release</CODE> (not <CODE>rm</CODE>) to
-discard a working directory which is no longer in use,
-but CVS is not able to enforce this behavior.
-
-</P>
-
-
-
-<H3><A NAME="SEC44" HREF="cvs.html#TOC44">Telling CVS to watch certain 
files</A></H3>
-
-<P>
-To enable the watch features, you first specify that
-certain files are to be watched.
-
-</P>
-<P>
-<A NAME="IDX170"></A>
-<DL>
-<DT><U>Command:</U> <B>cvs watch on</B> <I>[<CODE>-l</CODE>] files ...</I>
-<DD><A NAME="IDX171"></A>
-
-</P>
-<P>
-<A NAME="IDX172"></A>
-Specify that developers should run <CODE>cvs edit</CODE>
-before editing <VAR>files</VAR>.  CVS will create working
-copies of <VAR>files</VAR> read-only, to remind developers
-to run the <CODE>cvs edit</CODE> command before working on
-them.
-
-</P>
-<P>
-If <VAR>files</VAR> includes the name of a directory, CVS
-arranges to watch all files added to the corresponding
-repository directory, and sets a default for files
-added in the future; this allows the user to set
-notification policies on a per-directory basis.  The
-contents of the directory are processed recursively,
-unless the <CODE>-l</CODE> option is given.
-
-</P>
-<P>
-If <VAR>files</VAR> is omitted, it defaults to the current directory.
-
-</P>
-<P>
-<A NAME="IDX173"></A>
-</DL>
-
-</P>
-<P>
-<DL>
-<DT><U>Command:</U> <B>cvs watch off</B> <I>[<CODE>-l</CODE>] files ...</I>
-<DD><A NAME="IDX174"></A>
-
-</P>
-<P>
-Do not provide notification about work on <VAR>files</VAR>.  CVS will create
-working copies of <VAR>files</VAR> read-write.
-
-</P>
-<P>
-The <VAR>files</VAR> and <CODE>-l</CODE> arguments are processed as for 
<CODE>cvs
-watch on</CODE>.
-
-</P>
-</DL>
-
-
-
-<H3><A NAME="SEC45" HREF="cvs.html#TOC45">Telling CVS to notify you</A></H3>
-
-<P>
-You can tell CVS that you want to receive
-notifications about various actions taken on a file.
-You can do this without using <CODE>cvs watch on</CODE> for
-the file, but generally you will want to use <CODE>cvs
-watch on</CODE>, so that developers use the <CODE>cvs edit</CODE>
-command.
-
-</P>
-<P>
-<A NAME="IDX175"></A>
-<DL>
-<DT><U>Command:</U> <B>cvs watch add</B> <I>[<CODE>-a</CODE> action] 
[<CODE>-l</CODE>] files ...</I>
-<DD><A NAME="IDX176"></A>
-
-</P>
-<P>
-Add the current user to the list of people to receive notification of
-work done on <VAR>files</VAR>.
-
-</P>
-<P>
-The <CODE>-a</CODE> option specifies what kinds of events CVS should notify
-the user about.  <VAR>action</VAR> is one of the following:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>edit</CODE>
-<DD>
-Another user has applied the <CODE>cvs edit</CODE> command (described
-below) to a file.
-
-<DT><CODE>unedit</CODE>
-<DD>
-Another user has applied the <CODE>cvs unedit</CODE> command (described
-below) or the <CODE>cvs release</CODE> command to a file, or has deleted
-the file and allowed <CODE>cvs update</CODE> to recreate it.
-
-<DT><CODE>commit</CODE>
-<DD>
-Another user has committed changes to a file.
-
-<DT><CODE>all</CODE>
-<DD>
-All of the above.
-
-<DT><CODE>none</CODE>
-<DD>
-None of the above.  (This is useful with <CODE>cvs edit</CODE>,
-described below.)
-
-</DL>
-
-<P>
-The <CODE>-a</CODE> option may appear more than once, or not at all.  If
-omitted, the action defaults to <CODE>all</CODE>.
-
-</P>
-<P>
-The <VAR>files</VAR> and <CODE>-l</CODE> option are processed as for the
-<CODE>cvs watch</CODE> commands.
-
-</P>
-</DL>
-
-<P>
-<A NAME="IDX177"></A>
-<DL>
-<DT><U>Command:</U> <B>cvs watch remove</B> <I>[<CODE>-a</CODE> action] 
[<CODE>-l</CODE>] files ...</I>
-<DD><A NAME="IDX178"></A>
-
-</P>
-<P>
-Remove a notification request established using <CODE>cvs watch add</CODE>;
-the arguments are the same.  If the <CODE>-a</CODE> option is present, only
-watches for the specified actions are removed.
-
-</P>
-</DL>
-
-<P>
-<A NAME="IDX179"></A>
-When the conditions exist for notification, CVS
-calls the <TT>`notify'</TT> administrative file.  Edit
-<TT>`notify'</TT> as one edits the other administrative
-files (see section <A HREF="cvs.html#SEC20">The administrative files</A>).  
This
-file follows the usual conventions for administrative
-files (see section <A HREF="cvs.html#SEC140">The common syntax</A>), where 
each line is a regular
-expression followed by a command to execute.  The
-command should contain a single ocurrence of <SAMP>`%s'</SAMP>
-which will be replaced by the user to notify; the rest
-of the information regarding the notification will be
-supplied to the command on standard input.  The
-standard thing to put in the <CODE>notify</CODE> file is the
-single line:
-
-</P>
-
-<PRE>
-ALL mail %s -s \"CVS notification\"
-</PRE>
-
-<P>
-This causes users to be notified by electronic mail.
-
-</P>
-<P>
-<A NAME="IDX180"></A>
-Note that if you set this up in the straightforward
-way, users receive notifications on the server machine.
-One could of course write a <TT>`notify'</TT> script which
-directed notifications elsewhere, but to make this
-easy, CVS allows you to associate a notification
-address for each user.  To do so create a file
-<TT>`users'</TT> in <TT>`CVSROOT'</TT> with a line for each
-user in the format <VAR>user</VAR>:<VAR>value</VAR>.  Then
-instead of passing the name of the user to be notified
-to <TT>`notify'</TT>, CVS will pass the <VAR>value</VAR>
-(normally an email address on some other machine).
-
-</P>
-
-
-<H3><A NAME="SEC46" HREF="cvs.html#TOC46">How to edit a file which is being 
watched</A></H3>
-
-<P>
-<A NAME="IDX181"></A>
-Since a file which is being watched is checked out
-read-only, you cannot simply edit it.  To make it
-read-write, and inform others that you are planning to
-edit it, use the <CODE>cvs edit</CODE> command.  Some systems
-call this a <EM>checkout</EM>, but CVS uses that term
-for obtaining a copy of the sources (see section <A 
HREF="cvs.html#SEC11">Getting the source</A>), an operation which those systems 
call a
-<EM>get</EM> or a <EM>fetch</EM>.
-
-</P>
-<P>
-<A NAME="IDX182"></A>
-<DL>
-<DT><U>Command:</U> <B>cvs edit</B> <I>[options] files ...</I>
-<DD><A NAME="IDX183"></A>
-
-</P>
-<P>
-Prepare to edit the working files <VAR>files</VAR>.  CVS makes the
-<VAR>files</VAR> read-write, and notifies users who have requested
-<CODE>edit</CODE> notification for any of <VAR>files</VAR>.
-
-</P>
-<P>
-The <CODE>cvs edit</CODE> command accepts the same <VAR>options</VAR> as the
-<CODE>cvs watch add</CODE> command, and establishes a temporary watch for the
-user on <VAR>files</VAR>; CVS will remove the watch when <VAR>files</VAR> are
-<CODE>unedit</CODE>ed or <CODE>commit</CODE>ted.  If the user does not wish to
-receive notifications, she should specify <CODE>-a none</CODE>.
-
-</P>
-<P>
-The <VAR>files</VAR> and <CODE>-l</CODE> option are processed as for the 
<CODE>cvs
-watch</CODE> commands.
-
-</P>
-</DL>
-
-<P>
-Normally when you are done with a set of changes, you
-use the <CODE>cvs commit</CODE> command, which checks in your
-changes and returns the watched files to their usual
-read-only state.  But if you instead decide to abandon
-your changes, or not to make any changes, you can use
-the <CODE>cvs unedit</CODE> command.
-
-</P>
-<P>
-<A NAME="IDX184"></A>
-<A NAME="IDX185"></A>
-<A NAME="IDX186"></A>
-<DL>
-<DT><U>Command:</U> <B>cvs unedit</B> <I>[<CODE>-l</CODE>] files ...</I>
-<DD><A NAME="IDX187"></A>
-
-</P>
-<P>
-Abandon work on the working files <VAR>files</VAR>, and revert them to the
-repository versions on which they are based.  CVS makes those
-<VAR>files</VAR> read-only for which users have requested notification using
-<CODE>cvs watch on</CODE>.  CVS notifies users who have requested 
<CODE>unedit</CODE>
-notification for any of <VAR>files</VAR>.
-
-</P>
-<P>
-The <VAR>files</VAR> and <CODE>-l</CODE> option are processed as for the
-<CODE>cvs watch</CODE> commands.
-
-</P>
-<P>
-If watches are not in use, the <CODE>unedit</CODE> command
-probably does not work, and the way to revert to the
-repository version is to remove the file and then use
-<CODE>cvs update</CODE> to get a new copy.  The meaning is
-not precisely the same; removing and updating may also
-bring in some changes which have been made in the
-repository since the last time you updated.
-</DL>
-
-</P>
-<P>
-When using client/server CVS, you can use the
-<CODE>cvs edit</CODE> and <CODE>cvs unedit</CODE> commands even if
-CVS is unable to succesfully communicate with the
-server; the notifications will be sent upon the next
-successful CVS command.
-
-</P>
-
-
-<H3><A NAME="SEC47" HREF="cvs.html#TOC47">Information about who is watching 
and editing</A></H3>
-
-<P>
-<A NAME="IDX188"></A>
-<DL>
-<DT><U>Command:</U> <B>cvs watchers</B> <I>[<CODE>-l</CODE>] files ...</I>
-<DD><A NAME="IDX189"></A>
-
-</P>
-<P>
-List the users currently watching changes to <VAR>files</VAR>.  The report
-includes the files being watched, and the mail address of each watcher.
-
-</P>
-<P>
-The <VAR>files</VAR> and <CODE>-l</CODE> arguments are processed as for the
-<CODE>cvs watch</CODE> commands.
-
-</P>
-</DL>
-
-<P>
-<A NAME="IDX190"></A>
-<DL>
-<DT><U>Command:</U> <B>cvs editors</B> <I>[<CODE>-l</CODE>] files ...</I>
-<DD><A NAME="IDX191"></A>
-
-</P>
-<P>
-List the users currently working on <VAR>files</VAR>.  The report
-includes the mail address of each user, the time when the user began
-working with the file, and the host and path of the working directory
-containing the file.
-
-</P>
-<P>
-The <VAR>files</VAR> and <CODE>-l</CODE> arguments are processed as for the
-<CODE>cvs watch</CODE> commands.
-
-</P>
-</DL>
-
-
-
-<H3><A NAME="SEC48" HREF="cvs.html#TOC48">Using watches with old versions of 
CVS</A></H3>
-
-<P>
-<A NAME="IDX192"></A>
-If you use the watch features on a repository, it
-creates <TT>`CVS'</TT> directories in the repository and
-stores the information about watches in that directory.
-If you attempt to use CVS 1.6 or earlier with the
-repository, you get an error message such as
-
-</P>
-
-<PRE>
-cvs update: cannot open CVS/Entries for reading: No such file or directory
-</PRE>
-
-<P>
-and your operation will likely be aborted.  To use the
-watch features, you must upgrade all copies of CVS
-which use that repository in local or server mode.  If
-you cannot upgrade, use the <CODE>watch off</CODE> and
-<CODE>watch remove</CODE> commands to remove all watches, and
-that will restore the repository to a state which
-CVS 1.6 can cope with.
-
-</P>
-
-
-<H2><A NAME="SEC49" HREF="cvs.html#TOC49">Choosing between reserved or 
unreserved checkouts</A></H2>
-<P>
-<A NAME="IDX193"></A>
-
-</P>
-<P>
-Reserved and unreserved checkouts each have pros and
-cons.  Let it be said that a lot of this is a matter of
-opinion or what works given different groups' working
-styles, but here is an attempt to briefly describe the
-issues.  There are many ways to organize a team of
-developers.  CVS does not try to enforce a certain
-organization.  It is a tool that can be used in several
-ways.
-
-</P>
-<P>
-Reserved checkouts can be very counter-productive.  If
-two persons want to edit different parts of a file,
-there may be no reason to prevent either of them from
-doing so.  Also, it is common for someone to take out a
-lock on a file, because they are planning to edit it,
-but then forget to release the lock.
-
-</P>
-<P>
-People, especially people who are familiar with
-reserved checkouts, often wonder how often conflicts
-occur if unreserved checkouts are used, and how
-difficult they are to resolve.  The experience with
-many groups is that they occur rarely and usually are
-relatively straightforward to resolve.
-
-</P>
-<P>
-The rarity of serious conflicts may be surprising, until one realizes
-that they occur only when two developers disagree on the proper design
-for a given section of code; such a disagreement suggests that the
-team has not been communicating properly in the first place.  In order
-to collaborate under <EM>any</EM> source management regimen, developers
-must agree on the general design of the system; given this agreement,
-overlapping changes are usually straightforward to merge.
-
-</P>
-<P>
-In some cases unreserved checkouts are clearly
-inappropriate.  If no merge tool exists for the kind of
-file you are managing (for example word processor files
-or files edited by Computer Aided Design programs), and
-it is not desirable to change to a program which uses a
-mergeable data format, then resolving conflicts is
-going to be unpleasant enough that you generally will
-be better off to simply avoid the conflicts instead, by
-using reserved checkouts.
-
-</P>
-<P>
-The watches features described above in section <A 
HREF="cvs.html#SEC43">Mechanisms to track who is editing files</A>
-can be considered to be an intermediate model between
-reserved checkouts and unreserved checkouts.  When you
-go to edit a file, it is possible to find out who else
-is editing it.  And rather than having the system
-simply forbid both people editing the file, it can tell
-you what the situation is and let you figure out
-whether it is a problem in that particular case or not.
-Therefore, for some groups it can be considered the
-best of both the reserved checkout and unreserved
-checkout worlds.
-
-</P>
-
-
-<H1><A NAME="SEC50" HREF="cvs.html#TOC50">Branches</A></H1>
-<P>
-<A NAME="IDX194"></A>
-<A NAME="IDX195"></A>
-<A NAME="IDX196"></A>
-
-</P>
-<P>
-So far, all revisions shown in this manual have been on
-the <EM>main trunk</EM>
-of the revision tree, i.e., all revision numbers
-have been of the form <VAR>x</VAR>.<VAR>y</VAR>.  One useful
-feature, especially when maintaining several releases
-of a software product at once, is the ability to make
-branches on the revision tree.  <EM>Tags</EM>, symbolic
-names for revisions, will also be
-introduced in this chapter.
-
-</P>
-
-
-
-<H2><A NAME="SEC51" HREF="cvs.html#TOC51">Tags--Symbolic revisions</A></H2>
-<P>
-<A NAME="IDX197"></A>
-
-</P>
-<P>
-The revision numbers live a life of their own.  They
-need not have anything at all to do with the release
-numbers of your software product.  Depending
-on how you use CVS the revision numbers might change several times
-between two releases.  As an example, some of the
-source files that make up RCS 5.6 have the following
-revision numbers:
-<A NAME="IDX198"></A>
-
-</P>
-
-<PRE>
-ci.c            5.21
-co.c            5.9
-ident.c         5.3
-rcs.c           5.12
-rcsbase.h       5.11
-rcsdiff.c       5.10
-rcsedit.c       5.11
-rcsfcmp.c       5.9
-rcsgen.c        5.10
-rcslex.c        5.11
-rcsmap.c        5.2
-rcsutil.c       5.10
-</PRE>
-
-<P>
-<A NAME="IDX199"></A>
-<A NAME="IDX200"></A>
-<A NAME="IDX201"></A>
-<A NAME="IDX202"></A>
-You can use the <CODE>tag</CODE> command to give a symbolic name to a
-certain revision of a file.  You can use the <SAMP>`-v'</SAMP> flag to the
-<CODE>status</CODE> command to see all tags that a file has, and
-which revision numbers they represent.  Tag names can
-contain uppercase and lowercase letters, digits,
-<SAMP>`-'</SAMP>, and <SAMP>`_'</SAMP>.  The two tag names <CODE>BASE</CODE>
-and <CODE>HEAD</CODE> are reserved for use by CVS.  It
-is expected that future names which are special to
-CVS will contain characters such as <SAMP>`%'</SAMP> or
-<SAMP>`='</SAMP>, rather than being named analogously to
-<CODE>BASE</CODE> and <CODE>HEAD</CODE>, to avoid conflicts with
-actual tag names.
-
-</P>
-<P>
-<A NAME="IDX203"></A>
-<A NAME="IDX204"></A>
-The following example shows how you can add a tag to a
-file.  The commands must be issued inside your working
-copy of the module.  That is, you should issue the
-command in the directory where <TT>`backend.c'</TT>
-resides.
-
-</P>
-
-<PRE>
-$ cvs tag release-0-4 backend.c
-T backend.c
-$ cvs status -v backend.c
-===================================================================
-File: backend.c         Status: Up-to-date
-
-    Version:            1.4     Tue Dec  1 14:39:01 1992
-    RCS Version:        1.4     /usr/local/cvsroot/yoyodyne/tc/backend.c,v
-    Sticky Tag:         (none)
-    Sticky Date:        (none)
-    Sticky Options:     (none)
-
-    Existing Tags:
-        release-0-4                     (revision: 1.4)
-
-</PRE>
-
-<P>
-There is seldom reason to tag a file in isolation.  A more common use is
-to tag all the files that constitute a module with the same tag at
-strategic points in the development life-cycle, such as when a release
-is made.
-
-</P>
-
-<PRE>
-$ cvs tag release-1-0 .
-cvs tag: Tagging .
-T Makefile
-T backend.c
-T driver.c
-T frontend.c
-T parser.c
-</PRE>
-
-<P>
-(When you give CVS a directory as argument, it generally applies the
-operation to all the files in that directory, and (recursively), to any
-subdirectories that it may contain.  See section <A 
HREF="cvs.html#SEC60">Recursive behavior</A>.)
-
-</P>
-<P>
-<A NAME="IDX205"></A>
-<A NAME="IDX206"></A>
-The <CODE>checkout</CODE> command has a flag, <SAMP>`-r'</SAMP>, that lets you 
check out
-a certain revision of a module.  This flag makes it easy to
-retrieve the sources that make up release 1.0 of the module <SAMP>`tc'</SAMP> 
at
-any time in the future:
-
-</P>
-
-<PRE>
-$ cvs checkout -r release-1-0 tc
-</PRE>
-
-<P>
-This is useful, for instance, if someone claims that there is a bug in
-that release, but you cannot find the bug in the current working copy.
-
-</P>
-<P>
-You can also check out a module as it was at any given date.
-See section <A HREF="cvs.html#SEC97">checkout options</A>.
-
-</P>
-<P>
-When you tag more than one file with the same tag you
-can think about the tag as "a curve drawn through a
-matrix of filename vs. revision number."  Say we have 5
-files with the following revisions:
-
-</P>
-
-<PRE>
-        file1   file2   file3   file4   file5
-
-        1.1     1.1     1.1     1.1  /--1.1*      &#60;-*-  TAG
-        1.2*-   1.2     1.2    -1.2*-
-        1.3  \- 1.3*-   1.3   / 1.3
-        1.4          \  1.4  /  1.4
-                      \-1.5*-   1.5
-                        1.6
-</PRE>
-
-<P>
-At some time in the past, the <CODE>*</CODE> versions were tagged.
-You can think of the tag as a handle attached to the curve
-drawn through the tagged revisions.  When you pull on
-the handle, you get all the tagged revisions.  Another
-way to look at it is that you "sight" through a set of
-revisions that is "flat" along the tagged revisions,
-like this:
-
-</P>
-
-<PRE>
-        file1   file2   file3   file4   file5
-
-                        1.1
-                        1.2
-                1.1     1.3                       _
-        1.1     1.2     1.4     1.1              /
-        1.2*----1.3*----1.5*----1.2*----1.1     (--- &#60;--- Look here
-        1.3             1.6     1.3              \_
-        1.4                     1.4
-                                1.5
-</PRE>
-
-
-
-<H2><A NAME="SEC52" HREF="cvs.html#TOC52">What branches are good for</A></H2>
-<P>
-<A NAME="IDX207"></A>
-<A NAME="IDX208"></A>
-<A NAME="IDX209"></A>
-
-</P>
-<P>
-Suppose that release 1.0 of tc has been made.  You are continuing to
-develop tc, planning to create release 1.1 in a couple of months.  After a
-while your customers start to complain about a fatal bug.  You check
-out release 1.0 (see section <A HREF="cvs.html#SEC51">Tags--Symbolic 
revisions</A>) and find the bug
-(which turns out to have a trivial fix).  However, the current revision
-of the sources are in a state of flux and are not expected to be stable
-for at least another month.  There is no way to make a
-bugfix release based on the newest sources.
-
-</P>
-<P>
-The thing to do in a situation like this is to create a <EM>branch</EM> on
-the revision trees for all the files that make up
-release 1.0 of tc.  You can then make
-modifications to the branch without disturbing the main trunk.  When the
-modifications are finished you can select to either incorporate them on
-the main trunk, or leave them on the branch.
-
-</P>
-
-
-<H2><A NAME="SEC53" HREF="cvs.html#TOC53">Creating a branch</A></H2>
-<P>
-<A NAME="IDX210"></A>
-<A NAME="IDX211"></A>
-<A NAME="IDX212"></A>
-
-</P>
-<P>
-The <CODE>rtag</CODE> command can be used to create a branch.
-The <CODE>rtag</CODE> command is much like <CODE>tag</CODE>, but it
-does not require that you have a working copy of the
-module.  See section <A HREF="cvs.html#SEC126">rtag--Add a symbolic tag to a 
module</A>.  (You can also use the <CODE>tag</CODE>
-command; see section <A HREF="cvs.html#SEC130">tag--Add a symbolic tag to 
checked out versions of files</A>).
-
-</P>
-
-<PRE>
-$ cvs rtag -b -r release-1-0 release-1-0-patches tc
-</PRE>
-
-<P>
-The <SAMP>`-b'</SAMP> flag makes <CODE>rtag</CODE> create a branch
-(rather than just a symbolic revision name).  <SAMP>`-r
-release-1-0'</SAMP> says that this branch should be rooted at the node (in
-the revision tree) that corresponds to the tag
-<SAMP>`release-1-0'</SAMP>.  Note that the numeric revision number that matches
-<SAMP>`release-1-0'</SAMP> will probably be different from file to file.  The
-name of the new branch is <SAMP>`release-1-0-patches'</SAMP>, and the
-module affected is <SAMP>`tc'</SAMP>.
-
-</P>
-<P>
-To fix the problem in release 1.0, you need a working
-copy of the branch you just created.
-
-</P>
-
-<PRE>
-$ cvs checkout -r release-1-0-patches tc
-$ cvs status -v driver.c backend.c
-===================================================================
-File: driver.c          Status: Up-to-date
-
-    Version:            1.7     Sat Dec  5 18:25:54 1992
-    RCS Version:        1.7     /usr/local/cvsroot/yoyodyne/tc/driver.c,v
-    Sticky Tag:         release-1-0-patches (branch: 1.7.2)
-    Sticky Date:        (none)
-    Sticky Options:     (none)
-
-    Existing Tags:
-        release-1-0-patches             (branch: 1.7.2)
-        release-1-0                     (revision: 1.7)
-
-===================================================================
-File: backend.c         Status: Up-to-date
-
-    Version:            1.4     Tue Dec  1 14:39:01 1992
-    RCS Version:        1.4     /usr/local/cvsroot/yoyodyne/tc/backend.c,v
-    Sticky Tag:         release-1-0-patches (branch: 1.4.2)
-    Sticky Date:        (none)
-    Sticky Options:     (none)
-
-    Existing Tags:
-        release-1-0-patches             (branch: 1.4.2)
-        release-1-0                     (revision: 1.4)
-        release-0-4                     (revision: 1.4)
-
-</PRE>
-
-<P>
-<A NAME="IDX213"></A>
-As the output from the <CODE>status</CODE> command shows the branch
-number is created by adding a digit at the tail of the revision number
-it is based on.  (If <SAMP>`release-1-0'</SAMP> corresponds to revision 1.4, 
the
-branch's revision number will be 1.4.2.  For obscure reasons CVS always
-gives branches even numbers, starting at 2.
-See section <A HREF="cvs.html#SEC8">Revision numbers</A>).
-
-</P>
-
-
-<H2><A NAME="SEC54" HREF="cvs.html#TOC54">Sticky tags</A></H2>
-<P>
-<A NAME="IDX214"></A>
-<A NAME="IDX215"></A>
-<A NAME="IDX216"></A>
-
-</P>
-<P>
-The <SAMP>`-r release-1-0-patches'</SAMP> flag that was given
-to <CODE>checkout</CODE> in the previous example
-is <EM>sticky</EM>, that is, it will apply to subsequent commands
-in this directory.  If you commit any modifications, they are
-committed on the branch.  You can later merge the modifications into
-the main trunk.  See section <A HREF="cvs.html#SEC55">Merging</A>.
-
-</P>
-<P>
-You can use the <CODE>status</CODE> command to see what
-sticky tags or dates are set:
-
-</P>
-
-<PRE>
-$ vi driver.c   # Fix the bugs
-$ cvs commit -m "Fixed initialization bug" driver.c
-Checking in driver.c;
-/usr/local/cvsroot/yoyodyne/tc/driver.c,v  &#60;--  driver.c
-new revision: 1.7.2.1; previous revision: 1.7
-done
-$ cvs status -v driver.c
-===================================================================
-File: driver.c          Status: Up-to-date
-
-    Version:            1.7.2.1 Sat Dec  5 19:35:03 1992
-    RCS Version:        1.7.2.1 /usr/local/cvsroot/yoyodyne/tc/driver.c,v
-    Sticky Tag:         release-1-0-patches (branch: 1.7.2)
-    Sticky Date:        (none)
-    Sticky Options:     (none)
-
-    Existing Tags:
-        release-1-0-patches             (branch: 1.7.2)
-        release-1-0                     (revision: 1.7)
-
-</PRE>
-
-<P>
-<A NAME="IDX217"></A>
-<A NAME="IDX218"></A>
-<A NAME="IDX219"></A>
-The sticky tags will remain on your working files until
-you delete them with <SAMP>`cvs update -A'</SAMP>.  The
-<SAMP>`-A'</SAMP> option retrieves the version of the file from
-the head of the trunk, and forgets any sticky tags,
-dates, or options.
-
-</P>
-<P>
-<A NAME="IDX220"></A>
-Sticky tags are not just for branches.  For example,
-suppose that you want to avoid updating your working
-directory, to isolate yourself from possibly
-destabilizing changes other people are making.  You
-can, of course, just refrain from running <CODE>cvs
-update</CODE>.  But if you want to avoid updating only a
-portion of a larger tree, then sticky tags can help.
-If you check out a certain revision (such as 1.4) it
-will become sticky.  Subsequent <CODE>cvs update</CODE> will
-not retrieve the latest revision until you reset the
-tag with <CODE>cvs update -A</CODE>.  Likewise, use of the
-<SAMP>`-D'</SAMP> option to <CODE>update</CODE> or <CODE>checkout</CODE>
-sets a <EM>sticky date</EM>, which, similarly, causes that
-date to be used for future retrievals.
-
-</P>
-<P>
-<A NAME="IDX221"></A>
-<A NAME="IDX222"></A>
-Many times you will want to retrieve an old version of
-a file without setting a sticky tag.  The way to do
-that is with the <SAMP>`-p'</SAMP> option to <CODE>checkout</CODE> or
-<CODE>update</CODE>, which sends the contents of the file to
-standard output.  For example, suppose you have a file
-named <TT>`file1'</TT> which existed as revision 1.1, and
-you then removed it (thus adding a dead revision 1.2).
-Now suppose you want to add it again, with the same
-contents it had previously.  Here is how to do it:
-
-</P>
-
-<PRE>
-$ cvs update -p -r 1.1 file1 &#62;file1
-===================================================================
-Checking out file1
-RCS:  /tmp/cvs-sanity/cvsroot/first-dir/Attic/file1,v
-VERS: 1.1
-***************
-$ cvs add file1
-cvs add: re-adding file file1 (in place of dead revision 1.2)
-cvs add: use 'cvs commit' to add this file permanently
-$ cvs commit -m test
-Checking in file1;
-/tmp/cvs-sanity/cvsroot/first-dir/file1,v  &#60;--  file1
-new revision: 1.3; previous revision: 1.2
-done
-$ 
-</PRE>
-
-
-
-<H1><A NAME="SEC55" HREF="cvs.html#TOC55">Merging</A></H1>
-<P>
-<A NAME="IDX223"></A>
-<A NAME="IDX224"></A>
-<A NAME="IDX225"></A>
-<A NAME="IDX226"></A>
-<A NAME="IDX227"></A>
-
-</P>
-<P>
-You can include the changes made between any two
-revisions into your working copy, by <EM>merging</EM>.
-You can then commit that revision, and thus effectively
-copy the changes onto another branch.
-
-</P>
-
-
-
-<H2><A NAME="SEC56" HREF="cvs.html#TOC56">Merging an entire branch</A></H2>
-<P>
-<A NAME="IDX228"></A>
-<A NAME="IDX229"></A>
-
-</P>
-<P>
-You can merge changes made on a branch into your working copy by giving
-the <SAMP>`-j <VAR>branch</VAR>'</SAMP> flag to the <CODE>update</CODE> 
command.  With one
-<SAMP>`-j <VAR>branch</VAR>'</SAMP> option it merges the changes made between 
the
-point where the branch forked and newest revision on that branch (into
-your working copy).
-
-</P>
-<P>
-<A NAME="IDX230"></A>
-The <SAMP>`-j'</SAMP> stands for "join".
-
-</P>
-<P>
-<A NAME="IDX231"></A>
-<A NAME="IDX232"></A>
-<A NAME="IDX233"></A>
-Consider this revision tree:
-
-</P>
-
-<PRE>
-+-----+    +-----+    +-----+    +-----+
-! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !      &#60;- The main trunk
-+-----+    +-----+    +-----+    +-----+
-                !
-                !
-                !   +---------+    +---------+
-Branch R1fix -&#62; +---! 1.2.2.1 !----! 1.2.2.2 !
-                    +---------+    +---------+
-</PRE>
-
-<P>
-The branch 1.2.2 has been given the tag (symbolic name) <SAMP>`R1fix'</SAMP>.  
The
-following example assumes that the module <SAMP>`mod'</SAMP> contains only one
-file, <TT>`m.c'</TT>.
-
-</P>
-
-<PRE>
-$ cvs checkout mod               # Retrieve the latest revision, 1.4
-
-$ cvs update -j R1fix m.c        # Merge all changes made on the branch,
-                                 # i.e. the changes between revision 1.2
-                                 # and 1.2.2.2, into your working copy
-                                 # of the file.
-
-$ cvs commit -m "Included R1fix" # Create revision 1.5.
-</PRE>
-
-<P>
-A conflict can result from a merge operation.  If that
-happens, you should resolve it before committing the
-new revision.  See section <A HREF="cvs.html#SEC40">Conflicts example</A>.
-
-</P>
-<P>
-The <CODE>checkout</CODE> command also supports the <SAMP>`-j 
<VAR>branch</VAR>'</SAMP> flag.  The
-same effect as above could be achieved with this:
-
-</P>
-
-<PRE>
-$ cvs checkout -j R1fix mod
-$ cvs commit -m "Included R1fix"
-</PRE>
-
-
-
-<H2><A NAME="SEC57" HREF="cvs.html#TOC57">Merging from a branch several 
times</A></H2>
-
-<P>
-Continuing our example, the revision tree now looks
-like this:
-
-</P>
-
-<PRE>
-+-----+    +-----+    +-----+    +-----+    +-----+
-! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 1.5 !      &#60;- The main trunk
-+-----+    +-----+    +-----+    +-----+    +-----+
-                !                           *
-                !                          *
-                !   +---------+    +---------+
-Branch R1fix -&#62; +---! 1.2.2.1 !----! 1.2.2.2 !
-                    +---------+    +---------+
-</PRE>
-
-<P>
-where the starred line represents the merge from the
-<SAMP>`R1fix'</SAMP> branch to the main trunk, as just
-discussed.
-
-</P>
-<P>
-Now suppose that development continues on the
-<SAMP>`R1fix'</SAMP> branch:
-
-</P>
-
-<PRE>
-+-----+    +-----+    +-----+    +-----+    +-----+
-! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 1.5 !      &#60;- The main trunk
-+-----+    +-----+    +-----+    +-----+    +-----+
-                !                           *
-                !                          *
-                !   +---------+    +---------+    +---------+
-Branch R1fix -&#62; +---! 1.2.2.1 !----! 1.2.2.2 !----! 1.2.2.3 !
-                    +---------+    +---------+    +---------+
-</PRE>
-
-<P>
-and then you want to merge those new changes onto the
-main trunk.  If you just use the <CODE>cvs update -j
-R1fix m.c</CODE> command again, CVS will attempt to
-merge again the changes which you have already merged,
-which can have undesirable side effects.
-
-</P>
-<P>
-So instead you need to specify that you only want to
-merge the changes on the branch which have not yet been
-merged into the trunk.  To do that you specify two
-<SAMP>`-j'</SAMP> options, and CVS merges the changes from
-the first revision to the second revision.  For
-example, in this case the simplest way would be
-
-</P>
-
-<PRE>
-cvs update -j 1.2.2.2 -j R1fix m.c    # Merge changes from 1.2.2.2 to the
-                                      # head of the R1fix branch
-</PRE>
-
-<P>
-The problem with this is that you need to specify the
-1.2.2.2 revision manually.  A slightly better approach
-might be to use the date the last merge was done:
-
-</P>
-
-<PRE>
-cvs update -j R1fix:yesterday -j R1fix m.c
-</PRE>
-
-<P>
-Better yet, tag the R1fix branch after every merge into
-the trunk, and then use that tag for subsequent merges:
-
-</P>
-
-<PRE>
-cvs update -j merged_from_R1fix_to_trunk -j R1fix m.c
-</PRE>
-
-
-
-<H2><A NAME="SEC58" HREF="cvs.html#TOC58">Merging differences between any two 
revisions</A></H2>
-<P>
-<A NAME="IDX234"></A>
-<A NAME="IDX235"></A>
-<A NAME="IDX236"></A>
-
-</P>
-<P>
-With two <SAMP>`-j <VAR>revision</VAR>'</SAMP> flags, the <CODE>update</CODE>
-(and <CODE>checkout</CODE>) command can merge the differences
-between any two revisions into your working file.
-
-</P>
-<P>
-<A NAME="IDX237"></A>
-<A NAME="IDX238"></A>
-
-<PRE>
-$ cvs update -j 1.5 -j 1.3 backend.c
-</PRE>
-
-<P>
-will <EM>remove</EM> all changes made between revision
-1.3 and 1.5.  Note the order of the revisions!
-
-</P>
-<P>
-If you try to use this option when operating on
-multiple files, remember that the numeric revisions will
-probably be very different between the various files
-that make up a module.  You almost always use symbolic
-tags rather than revision numbers when operating on
-multiple files.
-
-</P>
-
-
-<H2><A NAME="SEC59" HREF="cvs.html#TOC59">Merging can add or remove 
files</A></H2>
-
-<P>
-If the changes which you are merging involve removing
-or adding some files, <CODE>update -j</CODE> will reflect
-such additions or removals.
-
-</P>
-<P>
-For example:
-
-<PRE>
-cvs update -A
-touch a b c
-cvs add a b c ; cvs ci -m "added" a b c
-cvs tag -b branchtag
-cvs update -r branchtag
-touch d ; cvs add d
-rm a ; cvs rm a
-cvs ci -m "added d, removed a"
-cvs update -A
-cvs update -jbranchtag
-</PRE>
-
-
-
-<H1><A NAME="SEC60" HREF="cvs.html#TOC60">Recursive behavior</A></H1>
-<P>
-<A NAME="IDX239"></A>
-<A NAME="IDX240"></A>
-<A NAME="IDX241"></A>
-<A NAME="IDX242"></A>
-
-</P>
-<P>
-Almost all of the subcommands of CVS work
-recursively when you specify a directory as an
-argument.  For instance, consider this directory
-structure:
-
-</P>
-
-<PRE>
-      <CODE>$HOME</CODE>
-        |
-        +--<TT>tc</TT>
-        |   |
-            +--<TT>CVS</TT>
-            |      (internal CVS files)
-            +--<TT>Makefile</TT>
-            +--<TT>backend.c</TT>
-            +--<TT>driver.c</TT>
-            +--<TT>frontend.c</TT>
-            +--<TT>parser.c</TT>
-            +--<TT>man</TT>
-            |    |
-            |    +--<TT>CVS</TT>
-            |    |  (internal CVS files)
-            |    +--<TT>tc.1</TT>
-            |     
-            +--<TT>testing</TT>
-                 |
-                 +--<TT>CVS</TT>
-                 |  (internal CVS files)
-                 +--<TT>testpgm.t</TT>
-                 +--<TT>test2.t</TT>
-</PRE>
-
-<P>
-If <TT>`tc'</TT> is the current working directory, the
-following is true:
-
-</P>
-
-<UL>
-<LI>
-
-<SAMP>`cvs update testing'</SAMP> is equivalent to <SAMP>`cvs
-update testing/testpgm.t testing/test2.t'</SAMP>
-
-<LI>
-
-<SAMP>`cvs update testing man'</SAMP> updates all files in the
-subdirectories 
-
-<LI>
-
-<SAMP>`cvs update .'</SAMP> or just <SAMP>`cvs update'</SAMP> updates
-all files in the <CODE>tc</CODE> module
-</UL>
-
-<P>
-If no arguments are given to <CODE>update</CODE> it will
-update all files in the current working directory and
-all its subdirectories.  In other words, <TT>`.'</TT> is a
-default argument to <CODE>update</CODE>.  This is also true
-for most of the CVS subcommands, not only the
-<CODE>update</CODE> command.
-
-</P>
-<P>
-The recursive behavior of the CVS subcommands can be
-turned off with the <SAMP>`-l'</SAMP> option.
-
-</P>
-
-<PRE>
-$ cvs update -l         # Don't update files in subdirectories
-</PRE>
-
-
-
-<H1><A NAME="SEC61" HREF="cvs.html#TOC61">Adding files to a directory</A></H1>
-<P>
-<A NAME="IDX243"></A>
-
-</P>
-<P>
-To add a new file to a directory, follow these steps.
-
-</P>
-
-<UL>
-<LI>
-
-You must have a working copy of the directory.
-See section <A HREF="cvs.html#SEC11">Getting the source</A>.
-
-<LI>
-
-Create the new file inside your working copy of the directory.
-
-<LI>
-
-Use <SAMP>`cvs add <VAR>filename</VAR>'</SAMP> to tell CVS that you
-want to version control the file.  If the file contains
-binary data, specify <SAMP>`-kb'</SAMP> (see section <A 
HREF="cvs.html#SEC83">Handling binary files</A>).
-
-<LI>
-
-Use <SAMP>`cvs commit <VAR>filename</VAR>'</SAMP> to actually check
-in the file into the repository.  Other developers
-cannot see the file until you perform this step.
-</UL>
-
-<P>
-You can also use the <CODE>add</CODE> command to add a new
-directory.
-
-</P>
-<P>
-Unlike most other commands, the <CODE>add</CODE> command is
-not recursive.  You cannot even type <SAMP>`cvs add
-foo/bar'</SAMP>!  Instead, you have to
-
-</P>
-
-<PRE>
-$ cd foo
-$ cvs add bar
-</PRE>
-
-<P>
-<A NAME="IDX244"></A>
-<DL>
-<DT><U>Command:</U> <B>cvs add</B> <I>[<CODE>-k</CODE> kflag] [<CODE>-m</CODE> 
message] files ...</I>
-<DD><A NAME="IDX245"></A>
-
-</P>
-<P>
-Schedule <VAR>files</VAR> to be added to the repository.
-The files or directories specified with <CODE>add</CODE> must
-already exist in the current directory.  To add a whole
-new directory hierarchy to the source repository (for
-example, files received from a third-party vendor), use
-the <CODE>import</CODE> command instead.  See section <A 
HREF="cvs.html#SEC112">import--Import sources into CVS, using vendor 
branches</A>.
-
-</P>
-<P>
-The added files are not placed in the source repository
-until you use <CODE>commit</CODE> to make the change
-permanent.  Doing an <CODE>add</CODE> on a file that was
-removed with the <CODE>remove</CODE> command will undo the
-effect of the <CODE>remove</CODE>, unless a <CODE>commit</CODE>
-command intervened.  See section <A HREF="cvs.html#SEC62">Removing files from 
a module</A>, for an
-example.
-
-</P>
-<P>
-The <SAMP>`-k'</SAMP> option specifies the default way that
-this file will be checked out; for more information see
-section <A HREF="cvs.html#SEC81">Substitution modes</A>.
-
-</P>
-<P>
-The <SAMP>`-m'</SAMP> option specifies a description for the
-file.  This description appears in the history log (if
-it is enabled, see section <A HREF="cvs.html#SEC149">The history file</A>).  
It will also be
-saved in the version history inside the repository when
-the file is committed.  The <CODE>log</CODE> command displays
-this description.  The description can be changed using
-<SAMP>`admin -t'</SAMP>.  See section <A 
HREF="cvs.html#SEC91">admin--Administration front end for rcs</A>.  If you omit 
the
-<SAMP>`-m <VAR>description</VAR>'</SAMP> flag, an empty string will
-be used.  You will not be prompted for a description.
-</DL>
-
-</P>
-<P>
-For example, the following commands add the file
-<TT>`backend.c'</TT> to the repository:
-
-</P>
-
-<PRE>
-$ cvs add backend.c
-$ cvs commit -m "Early version. Not yet compilable." backend.c
-</PRE>
-
-<P>
-When you add a file it is added only on the branch
-which you are working on (see section <A HREF="cvs.html#SEC50">Branches</A>).  
You can
-later merge the additions to another branch if you want
-(see section <A HREF="cvs.html#SEC59">Merging can add or remove files</A>).
-
-</P>
-
-
-<H1><A NAME="SEC62" HREF="cvs.html#TOC62">Removing files from a module</A></H1>
-<P>
-<A NAME="IDX246"></A>
-<A NAME="IDX247"></A>
-
-</P>
-<P>
-Modules change.  New files are added, and old files
-disappear.  Still, you want to be able to retrieve an
-exact copy of old releases of the module.
-
-</P>
-<P>
-Here is what you can do to remove a file from a module,
-but remain able to retrieve old revisions:
-
-</P>
-
-<UL>
-<LI>
-
-Make sure that you have not made any uncommitted
-modifications to the file.  See section <A HREF="cvs.html#SEC14">Viewing 
differences</A>,
-for one way to do that.  You can also use the
-<CODE>status</CODE> or <CODE>update</CODE> command.  If you remove
-the file without committing your changes, you will of
-course not be able to retrieve the file as it was
-immediately before you deleted it.
-
-<LI>
-
-Remove the file from your working copy of the module.
-You can for instance use <CODE>rm</CODE>.
-
-<LI>
-
-Use <SAMP>`cvs remove <VAR>filename</VAR>'</SAMP> to tell CVS that
-you really want to delete the file.
-
-<LI>
-
-Use <SAMP>`cvs commit <VAR>filename</VAR>'</SAMP> to actually
-perform the removal of the file from the repository.
-</UL>
-
-<P>
-When you commit the removal of the file, CVS
-records the fact that the file no longer exists.  It is
-possible for a file to exist on only some branches and
-not on others, or to re-add another file with the same
-name later.  CVS will correctly create or not create
-the file, based on the <SAMP>`-r'</SAMP> and <SAMP>`-D'</SAMP> options
-specified to <CODE>checkout</CODE> or <CODE>update</CODE>.
-
-</P>
-<P>
-<A NAME="IDX248"></A>
-<DL>
-<DT><U>Command:</U> <B>cvs remove</B> <I>[<CODE>-lR</CODE>] files ...</I>
-<DD><A NAME="IDX249"></A>
-
-</P>
-<P>
-Schedule file(s) to be removed from the repository
-(files which have not already been removed from the
-working directory are not processed).  This command
-does not actually remove the file from the repository
-until you commit the removal.  The <SAMP>`-R'</SAMP> option
-(the default) specifies that it will recurse into
-subdirectories; <SAMP>`-l'</SAMP> specifies that it will not.
-</DL>
-
-</P>
-<P>
-Here is an example of removing several files:
-
-</P>
-
-<PRE>
-$ cd test
-$ rm ?.c
-$ cvs remove
-cvs remove: Removing .
-cvs remove: scheduling a.c for removal
-cvs remove: scheduling b.c for removal
-cvs remove: use 'cvs commit' to remove these files permanently
-$ cvs ci -m "Removed unneeded files"
-cvs commit: Examining .
-cvs commit: Committing .
-</PRE>
-
-<P>
-If you change your mind you can easily resurrect the
-file before you commit it, using the <CODE>add</CODE>
-command.
-
-</P>
-
-<PRE>
-$ ls
-CVS   ja.h  oj.c
-$ rm oj.c
-$ cvs remove oj.c
-cvs remove: scheduling oj.c for removal
-cvs remove: use 'cvs commit' to remove this file permanently
-$ cvs add oj.c
-U oj.c
-cvs add: oj.c, version 1.1.1.1, resurrected
-</PRE>
-
-<P>
-If you realize your mistake before you run the
-<CODE>remove</CODE> command you can use <CODE>update</CODE> to
-resurrect the file:
-
-</P>
-
-<PRE>
-$ rm oj.c
-$ cvs update oj.c
-cvs update: warning: oj.c was lost
-U oj.c
-</PRE>
-
-<P>
-When you remove a file it is added only on the branch
-which you are working on (see section <A HREF="cvs.html#SEC50">Branches</A>).  
You can
-later merge the additions to another branch if you want
-(see section <A HREF="cvs.html#SEC59">Merging can add or remove files</A>).
-
-</P>
-
-
-<H1><A NAME="SEC63" HREF="cvs.html#TOC63">Tracking third-party sources</A></H1>
-<P>
-<A NAME="IDX250"></A>
-<A NAME="IDX251"></A>
-
-</P>
-<P>
-If you modify a program to better fit your site, you
-probably want to include your modifications when the next
-release of the program arrives.  CVS can help you with
-this task.
-
-</P>
-<P>
-<A NAME="IDX252"></A>
-<A NAME="IDX253"></A>
-<A NAME="IDX254"></A>
-In the terminology used in CVS, the supplier of the
-program is called a <EM>vendor</EM>.  The unmodified
-distribution from the vendor is checked in on its own
-branch, the <EM>vendor branch</EM>.  CVS reserves branch
-1.1.1 for this use.
-
-</P>
-<P>
-When you modify the source and commit it, your revision
-will end up on the main trunk.  When a new release is
-made by the vendor, you commit it on the vendor branch
-and copy the modifications onto the main trunk.
-
-</P>
-<P>
-Use the <CODE>import</CODE> command to create and update
-the vendor branch.  After a successful <CODE>import</CODE>
-the vendor branch is made the `head' revision, so
-anyone that checks out a copy of the file gets that
-revision.  When a local modification is committed it is
-placed on the main trunk, and made the `head'
-revision.
-
-</P>
-
-
-
-<H2><A NAME="SEC64" HREF="cvs.html#TOC64">Importing a module for the first 
time</A></H2>
-<P>
-<A NAME="IDX255"></A>
-
-</P>
-<P>
-Use the <CODE>import</CODE> command to check in the sources
-for the first time.  When you use the <CODE>import</CODE>
-command to track third-party sources, the <EM>vendor
-tag</EM> and <EM>release tags</EM> are useful.  The
-<EM>vendor tag</EM> is a symbolic name for the branch
-(which is always 1.1.1, unless you use the <SAMP>`-b
-<VAR>branch</VAR>'</SAMP> flag---See section <A HREF="cvs.html#SEC113">import 
options</A>).  The
-<EM>release tags</EM> are symbolic names for a particular
-release, such as <SAMP>`FSF_0_04'</SAMP>.
-
-</P>
-<P>
-<A NAME="IDX256"></A>
-Suppose you use <CODE>wdiff</CODE> (a variant of <CODE>diff</CODE>
-that ignores changes that only involve whitespace), and
-are going to make private modifications that you want
-to be able to use even when new releases are made in
-the future.  You start by importing the source to your
-repository:
-
-</P>
-
-<PRE>
-$ tar xfz wdiff-0.04.tar.gz
-$ cd wdiff-0.04
-$ cvs import -m "Import of FSF v. 0.04" fsf/wdiff FSF_DIST WDIFF_0_04
-</PRE>
-
-<P>
-The vendor tag is named <SAMP>`FSF_DIST'</SAMP> in the above
-example, and the only release tag assigned is
-<SAMP>`WDIFF_0_04'</SAMP>.
-
-</P>
-
-
-<H2><A NAME="SEC65" HREF="cvs.html#TOC65">Updating a module with the import 
command</A></H2>
-
-<P>
-When a new release of the source arrives, you import it into the
-repository with the same <CODE>import</CODE> command that you used to set up
-the repository in the first place.  The only difference is that you
-specify a different release tag this time.
-
-</P>
-
-<PRE>
-$ tar xfz wdiff-0.05.tar.gz
-$ cd wdiff-0.05
-$ cvs import -m "Import of FSF v. 0.05" fsf/wdiff FSF_DIST WDIFF_0_05
-</PRE>
-
-<P>
-For files that have not been modified locally, the newly created
-revision becomes the head revision.  If you have made local
-changes, <CODE>import</CODE> will warn you that you must merge the changes
-into the main trunk, and tell you to use <SAMP>`checkout -j'</SAMP> to do so.
-
-</P>
-
-<PRE>
-$ cvs checkout -jFSF_DIST:yesterday -jFSF_DIST wdiff
-</PRE>
-
-<P>
-The above command will check out the latest revision of
-<SAMP>`wdiff'</SAMP>, merging the changes made on the vendor branch 
<SAMP>`FSF_DIST'</SAMP>
-since yesterday into the working copy.  If any conflicts arise during
-the merge they should be resolved in the normal way (see section <A 
HREF="cvs.html#SEC40">Conflicts example</A>).  Then, the modified files may be 
committed.
-
-</P>
-<P>
-Using a date, as suggested above, assumes that you do
-not import more than one release of a product per
-day. If you do, you can always use something like this
-instead:
-
-</P>
-
-<PRE>
-$ cvs checkout -jWDIFF_0_04 -jWDIFF_0_05 wdiff
-</PRE>
-
-<P>
-In this case, the two above commands are equivalent.
-
-</P>
-
-
-<H2><A NAME="SEC66" HREF="cvs.html#TOC66">How to handle binary files with cvs 
import</A></H2>
-
-<P>
-Use the <SAMP>`-k'</SAMP> wrapper option to tell import which
-files are binary.  See section <A HREF="cvs.html#SEC138">The cvswrappers 
file</A>.
-
-</P>
-
-
-<H1><A NAME="SEC67" HREF="cvs.html#TOC67">Moving and renaming files</A></H1>
-<P>
-<A NAME="IDX257"></A>
-<A NAME="IDX258"></A>
-<A NAME="IDX259"></A>
-
-</P>
-<P>
-Moving files to a different directory or renaming them
-is not difficult, but some of the ways in which this
-works may be non-obvious.  (Moving or renaming a
-directory is even harder.  See section <A HREF="cvs.html#SEC71">Moving and 
renaming directories</A>).
-
-</P>
-<P>
-The examples below assume that the file <VAR>old</VAR> is renamed to
-<VAR>new</VAR>.
-
-</P>
-
-
-
-<H2><A NAME="SEC68" HREF="cvs.html#TOC68">The Normal way to Rename</A></H2>
-
-<P>
-The normal way to move a file is to copy <VAR>old</VAR> to
-<VAR>new</VAR>, and then issue the normal CVS commands
-to remove <VAR>old</VAR> from the repository, and add
-<VAR>new</VAR> to it.  (Both <VAR>old</VAR> and <VAR>new</VAR> could
-contain relative paths, for example <TT>`foo/bar.c'</TT>).
-
-</P>
-
-<PRE>
-$ mv <VAR>old</VAR> <VAR>new</VAR>
-$ cvs remove <VAR>old</VAR>
-$ cvs add <VAR>new</VAR> 
-$ cvs commit -m "Renamed <VAR>old</VAR> to <VAR>new</VAR>" <VAR>old</VAR> 
<VAR>new</VAR>
-</PRE>
-
-<P>
-This is the simplest way to move a file, it is not
-error-prone, and it preserves the history of what was
-done.  Note that to access the history of the file you
-must specify the old or the new name, depending on what
-portion of the history you are accessing.  For example,
-<CODE>cvs log <VAR>old</VAR></CODE> will give the log up until the
-time of the rename.
-
-</P>
-<P>
-When <VAR>new</VAR> is committed its revision numbers will
-start at 1.0 again, so if that bothers you, use the
-<SAMP>`-r rev'</SAMP> option to commit (see section <A 
HREF="cvs.html#SEC100">commit options</A>)
-
-</P>
-
-
-<H2><A NAME="SEC69" HREF="cvs.html#TOC69">Moving the history file</A></H2>
-
-<P>
-This method is more dangerous, since it involves moving
-files inside the repository.  Read this entire section
-before trying it out!
-
-</P>
-
-<PRE>
-$ cd $CVSROOT/<VAR>module</VAR>
-$ mv <VAR>old</VAR>,v <VAR>new</VAR>,v
-</PRE>
-
-<P>
-Advantages:
-
-</P>
-
-<UL>
-<LI>
-
-The log of changes is maintained intact.
-
-<LI>
-
-The revision numbers are not affected.
-</UL>
-
-<P>
-Disadvantages:
-
-</P>
-
-<UL>
-<LI>
-
-Old releases of the module cannot easily be fetched from the
-repository.  (The file will show up as <VAR>new</VAR> even
-in revisions from the time before it was renamed).
-
-<LI>
-
-There is no log information of when the file was renamed.
-
-<LI>
-
-Nasty things might happen if someone accesses the history file
-while you are moving it.  Make sure no one else runs any of the CVS
-commands while you move it.
-</UL>
-
-
-
-<H2><A NAME="SEC70" HREF="cvs.html#TOC70">Copying the history file</A></H2>
-
-<P>
-This way also involves direct modifications to the
-repository.  It is safe, but not without drawbacks.
-
-</P>
-
-<PRE>
-# Copy the RCS file inside the repository
-$ cd $CVSROOT/<VAR>module</VAR>
-$ cp <VAR>old</VAR>,v <VAR>new</VAR>,v
-# Remove the old file
-$ cd ~/<VAR>module</VAR>
-$ rm <VAR>old</VAR>
-$ cvs remove <VAR>old</VAR>
-$ cvs commit <VAR>old</VAR>
-# Remove all tags from <VAR>new</VAR>
-$ cvs update <VAR>new</VAR>
-$ cvs log <VAR>new</VAR>             # Remember the non-branch tag names
-$ cvs tag -d <VAR>tag1</VAR> <VAR>new</VAR>
-$ cvs tag -d <VAR>tag2</VAR> <VAR>new</VAR>
-...
-</PRE>
-
-<P>
-By removing the tags you will be able to check out old
-revisions of the module.
-
-</P>
-<P>
-Advantages:
-
-</P>
-
-<UL>
-<LI>
-
-Checking out old revisions works correctly, as long as
-you use <SAMP>`-r<VAR>tag</VAR>'</SAMP> and not 
<SAMP>`-D<VAR>date</VAR>'</SAMP>
-to retrieve the revisions.
-
-<LI>
-
-The log of changes is maintained intact.
-
-<LI>
-
-The revision numbers are not affected.
-</UL>
-
-<P>
-Disadvantages:
-
-</P>
-
-<UL>
-<LI>
-
-You cannot easily see the history of the file across the rename.
-
-<LI>
-
-Unless you use the <SAMP>`-r rev'</SAMP> (see section <A 
HREF="cvs.html#SEC100">commit options</A>) flag when <VAR>new</VAR> is 
committed its revision
-numbers will start at 1.0 again.
-</UL>
-
-
-
-<H1><A NAME="SEC71" HREF="cvs.html#TOC71">Moving and renaming 
directories</A></H1>
-<P>
-<A NAME="IDX260"></A>
-<A NAME="IDX261"></A>
-<A NAME="IDX262"></A>
-
-</P>
-<P>
-If you want to be able to retrieve old versions of the
-module, you must move each file in the directory
-with the CVS commands.  See section <A HREF="cvs.html#SEC68">The Normal way to 
Rename</A>.  The old, empty
-directory will remain inside the repository, but it
-will not appear in your workspace when you check out
-the module in the future.
-
-</P>
-<P>
-If you really want to rename or delete a directory, you
-can do it like this:
-
-</P>
-
-<OL>
-<LI>
-
-Inform everyone who has a copy of the module that the
-directory will be renamed.  They should commit all
-their changes, and remove their working copies of the
-module, before you take the steps below.
-
-<LI>
-
-Rename the directory inside the repository.
-
-
-<PRE>
-$ cd $CVSROOT/<VAR>module</VAR>
-$ mv <VAR>old-dir</VAR> <VAR>new-dir</VAR>
-</PRE>
-
-<LI>
-
-Fix the CVS administrative files, if necessary (for
-instance if you renamed an entire module).
-
-<LI>
-
-Tell everyone that they can check out the module and continue
-working.
-
-</OL>
-
-<P>
-If someone had a working copy of the module the CVS commands will
-cease to work for him, until he removes the directory
-that disappeared inside the repository.
-
-</P>
-<P>
-It is almost always better to move the files in the
-directory instead of moving the directory.  If you move the
-directory you are unlikely to be able to retrieve old
-releases correctly, since they probably depend on the
-name of the directories.
-
-</P>
-
-
-<H1><A NAME="SEC72" HREF="cvs.html#TOC72">History browsing</A></H1>
-<P>
-<A NAME="IDX263"></A>
-<A NAME="IDX264"></A>
-<A NAME="IDX265"></A>
-
-</P>
-
-<P>
-Once you have used CVS to store a version control
-history--what files have changed when, how, and by
-whom, there are a variety of mechanisms for looking
-through the history.
-
-</P>
-
-
-
-<H2><A NAME="SEC73" HREF="cvs.html#TOC73">Log messages</A></H2>
-
-<P>
-Whenever you commit a file you specify a log message.
-
-</P>
-<P>
-To look through the log messages which have been
-specified for every revision which has been committed,
-use the <CODE>cvs log</CODE> command (see section <A 
HREF="cvs.html#SEC116">log--Print out log information for files</A>).
-
-</P>
-
-
-<H2><A NAME="SEC74" HREF="cvs.html#TOC74">The history database</A></H2>
-
-<P>
-You can use the history file (see section <A HREF="cvs.html#SEC149">The 
history file</A>) to
-log various CVS actions.  To retrieve the
-information from the history file, use the <CODE>cvs
-history</CODE> command (see section <A HREF="cvs.html#SEC110">history--Show 
status of files and users</A>).
-
-</P>
-
-
-<H2><A NAME="SEC75" HREF="cvs.html#TOC75">User-defined logging</A></H2>
-
-<P>
-You can customize CVS to log various kinds of
-actions, in whatever manner you choose.  These
-mechanisms operate by executing a script at various
-times.  The script might append a message to a file
-listing the information and the programmer who created
-it, or send mail to a group of developers, or, perhaps,
-post a message to a particular newsgroup.  To log
-commits, use the <TT>`loginfo'</TT> file (see section <A 
HREF="cvs.html#SEC144">Loginfo</A>).
-To log commits, checkouts, exports, and tags,
-respectively, you can also use the <SAMP>`-i'</SAMP>,
-<SAMP>`-o'</SAMP>, <SAMP>`-e'</SAMP>, and <SAMP>`-t'</SAMP> options in the
-modules file.  For a more flexible way of giving
-notifications to various users, which requires less in
-the way of keeping centralized scripts up to date, use
-the <CODE>cvs watch add</CODE> command (see section <A 
HREF="cvs.html#SEC45">Telling CVS to notify you</A>); this command is useful 
even if you are not
-using <CODE>cvs watch on</CODE>.
-
-</P>
-<P>
-<A NAME="IDX266"></A>
-The <TT>`taginfo'</TT> file defines programs to execute
-when someone executes a <CODE>tag</CODE> or <CODE>rtag</CODE>
-command.  The <TT>`taginfo'</TT> file has the standard form
-for administrative files (see section <A HREF="cvs.html#SEC136">Reference 
manual for the Administrative files</A>), where each line is a regular 
expression
-followed by a command to execute.  The arguments passed
-to the command are, in order, the <VAR>tagname</VAR>,
-<VAR>operation</VAR> (<CODE>add</CODE> for <CODE>tag</CODE>,
-<CODE>mov</CODE> for <CODE>tag -F</CODE>, and <CODE>del</CODE> for
-<CODE>tag -d</CODE>), <VAR>repository</VAR>, and any remaining are
-pairs of <VAR>filename</VAR> <VAR>revision</VAR>.  A non-zero
-exit of the filter program will cause the tag to be
-aborted.
-
-</P>
-
-
-<H2><A NAME="SEC76" HREF="cvs.html#TOC76">Annotate command</A></H2>
-<P>
-<A NAME="IDX267"></A>
-
-</P>
-<P>
-<DL>
-<DT><U>Command:</U> <B>cvs annotate</B> <I>[<CODE>-lf</CODE>] [<CODE>-r 
rev</CODE>|<CODE>-D date</CODE>] files ...</I>
-<DD><A NAME="IDX268"></A>
-
-</P>
-<P>
-For each file in <VAR>files</VAR>, print the head revision
-of the trunk, together with information on the last
-modification for each line.  For example:
-
-</P>
-
-<PRE>
-$ cvs annotate ssfile
-Annotations for ssfile
-***************
-1.1          (mary     27-Mar-96): ssfile line 1
-1.2          (joe      28-Mar-96): ssfile line 2
-</PRE>
-
-<P>
-The file <TT>`ssfile'</TT> currently contains two lines.
-The <CODE>ssfile line 1</CODE> line was checked in by
-<CODE>mary</CODE> on March 27.  Then, on March 28, <CODE>joe</CODE>
-added a line <CODE>ssfile line 2</CODE>, without modifying
-the <CODE>ssfile line 1</CODE> line.  This report doesn't
-tell you anything about lines which have been deleted
-or replaced; you need to use <CODE>cvs diff</CODE> for that
-(see section <A HREF="cvs.html#SEC105">diff--Run diffs between revisions</A>).
-
-</P>
-</DL>
-
-<P>
-These standard options are available with
-<CODE>annotate</CODE> (see section <A HREF="cvs.html#SEC90">Common command 
options</A>, for a complete
-description of them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-D <VAR>date</VAR></CODE>
-<DD>
-Annotate the most recent revision no later than <VAR>date</VAR>.
-
-<DT><CODE>-f</CODE>
-<DD>
-Only useful with the <SAMP>`-D <VAR>date</VAR>'</SAMP> or <SAMP>`-r
-<VAR>tag</VAR>'</SAMP> flags.  If no matching revision is found,
-annotate the most recent revision (instead of ignoring
-the file).
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.  See section <A 
HREF="cvs.html#SEC60">Recursive behavior</A>.
-
-<DT><CODE>-r <VAR>tag</VAR></CODE>
-<DD>
-Annotate revision <VAR>tag</VAR>.
-</DL>
-
-
-
-<H1><A NAME="SEC77" HREF="cvs.html#TOC77">Keyword substitution</A></H1>
-<P>
-<A NAME="IDX269"></A>
-<A NAME="IDX270"></A>
-<A NAME="IDX271"></A>
-
-</P>
-
-<P>
-As long as you edit source files inside your working
-copy of a module you can always find out the state of
-your files via <SAMP>`cvs status'</SAMP> and <SAMP>`cvs log'</SAMP>.
-But as soon as you export the files from your
-development environment it becomes harder to identify
-which revisions they are.
-
-</P>
-<P>
-RCS uses a mechanism known as <EM>keyword
-substitution</EM> (or <EM>keyword expansion</EM>) to help
-identifying the files.  Embedded strings of the form
-<CODE>$<VAR>keyword</VAR>$</CODE> and
-<CODE>$<VAR>keyword</VAR>:...$</CODE> in a file are replaced
-with strings of the form
-<CODE>$<VAR>keyword</VAR>:<VAR>value</VAR>$</CODE> whenever you obtain
-a new revision of the file.
-
-</P>
-
-
-
-<H2><A NAME="SEC78" HREF="cvs.html#TOC78">RCS Keywords</A></H2>
-<P>
-<A NAME="IDX272"></A>
-
-</P>
-<P>
-This is a list of the keywords that RCS currently
-(in release 5.6.0.1) supports:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>$Author: ward $</CODE>
-<DD>
-<A NAME="IDX273"></A>
- 
-The login name of the user who checked in the revision.
-
-<A NAME="IDX274"></A>
-<DT><CODE>$Date: 2009/06/08 20:46:55 $</CODE>
-<DD>
-The date and time (UTC) the revision was checked in.
-
-<A NAME="IDX275"></A>
-<DT><CODE>$Header: /web/www/www/software/cvs/manual/html_mono/Attic/cvs.html,v 
1.3 2009/06/08 20:46:55 ward Exp $</CODE>
-<DD>
-A standard header containing the full pathname of the
-RCS file, the revision number, the date (UTC), the
-author, the state, and the locker (if locked).  Files
-will normally never be locked when you use CVS.
-
-<A NAME="IDX276"></A>
-<DT><CODE>$Id: cvs.html,v 1.3 2009/06/08 20:46:55 ward Exp $</CODE>
-<DD>
-Same as <CODE>$Header: 
/web/www/www/software/cvs/manual/html_mono/Attic/cvs.html,v 1.3 2009/06/08 
20:46:55 ward Exp $</CODE>, except that the RCS
-filename is without a path.
-
-<A NAME="IDX277"></A>
-<DT><CODE>$Name:  $</CODE>
-<DD>
-Tag name used to check out this file.
-
-<A NAME="IDX278"></A>
-<DT><CODE>$Locker:  $</CODE>
-<DD>
-The login name of the user who locked the revision
-(empty if not locked, and thus almost always useless
-when you are using CVS).
-
-<A NAME="IDX279"></A>
-<DT><CODE>$Log: cvs.html,v $
-<DT><CODE>Revision 1.3  2009/06/08 20:46:55  ward
-<DT><CODE>changes that were lost from the CVS tree due to the savannah crash 
of 2009/05/29
-<DT><CODE>
-<DT><CODE>Revision 1.2  2007/02/07 02:36:39  mattl
-<DT><CODE>Changed 'UNIX' to 'Unix' on request of SCO/dbe/RMS^rms ;)
-<DT><CODE>
-<DT><CODE>Revision 1.1  2003/11/07 20:55:32  sinuhe
-<DT><CODE>Add manual.
-<DT><CODE></CODE>
-<DD>
-The log message supplied during commit, preceded by a
-header containing the RCS filename, the revision
-number, the author, and the date (UTC).  Existing log
-messages are <EM>not</EM> replaced.  Instead, the new log
-message is inserted after <CODE>$Log: cvs.html,v $
-message is inserted after <CODE>Revision 1.2  2007/02/07 02:36:39  mattl
-message is inserted after <CODE>Changed 'UNIX' to 'Unix' on request of 
SCO/dbe/RMS^rms ;)
-message is inserted after <CODE>
-message is inserted after <CODE>Revision 1.1  2003/11/07 20:55:32  sinuhe
-message is inserted after <CODE>Add manual.
-message is inserted after <CODE></CODE>.
-Each new line is prefixed with a <EM>comment leader</EM>
-which RCS guesses from the file name extension.
-It can be changed with <CODE>cvs admin -c</CODE>.
-See section <A HREF="cvs.html#SEC92">admin options</A>.  This keyword is 
useful for
-accumulating a complete change log in a source file,
-but for several reasons it can be problematic.
-See section <A HREF="cvs.html#SEC82">Problems with the $Log: cvs.html,v $
-See section <A HREF="cvs.html#SEC82">Problems with the Revision 1.2  
2007/02/07 02:36:39  mattl
-See section <A HREF="cvs.html#SEC82">Problems with the Changed 'UNIX' to 
'Unix' on request of SCO/dbe/RMS^rms ;)
-See section <A HREF="cvs.html#SEC82">Problems with the
-See section <A HREF="cvs.html#SEC82">Problems with the Revision 1.1  
2003/11/07 20:55:32  sinuhe
-See section <A HREF="cvs.html#SEC82">Problems with the Add manual.
-See section <A HREF="cvs.html#SEC82">Problems with the keyword.</A>.
-
-<A NAME="IDX280"></A>
-<DT><CODE>$RCSfile: cvs.html,v $</CODE>
-<DD>
-The name of the RCS file without a path.
-
-<A NAME="IDX281"></A>
-<DT><CODE>$Revision: 1.3 $</CODE>
-<DD>
-The revision number assigned to the revision.
-
-<A NAME="IDX282"></A>
-<DT><CODE>$Source: /web/www/www/software/cvs/manual/html_mono/Attic/cvs.html,v 
$</CODE>
-<DD>
-The full pathname of the RCS file.
-
-<A NAME="IDX283"></A>
-<DT><CODE>$State: Exp $</CODE>
-<DD>
-The state assigned to the revision.  States can be
-assigned with <CODE>cvs admin -s</CODE>---See section <A 
HREF="cvs.html#SEC92">admin options</A>.
-
-</DL>
-
-
-
-<H2><A NAME="SEC79" HREF="cvs.html#TOC79">Using keywords</A></H2>
-
-<P>
-To include a keyword string you simply include the
-relevant text string, such as <CODE>$Id: cvs.html,v 1.3 2009/06/08 20:46:55 
ward Exp $</CODE>, inside the
-file, and commit the file.  CVS will automatically
-expand the string as part of the commit operation.
-
-</P>
-<P>
-It is common to embed <CODE>$</CODE>Id$ string in the
-C source code.  This example shows the first few lines
-of a typical file, after keyword substitution has been
-performed:
-
-</P>
-
-<PRE>
-static char *rcsid="$Id: cvs.html,v 1.3 2009/06/08 20:46:55 ward Exp $";
-/* The following lines will prevent <CODE>gcc</CODE> version 2.<VAR>x</VAR>
-   from issuing an "unused variable" warning. */
-#if __GNUC__ == 2
-#define USE(var) static void * use_##var = (&#38;use_##var, (void *) &#38;var) 
-USE (rcsid);
-#endif
-</PRE>
-
-<P>
-Even though a clever optimizing compiler could remove
-the unused variable <CODE>rcsid</CODE>, most compilers tend
-to include the string in the binary.  Some compilers
-have a <CODE>#pragma</CODE> directive to include literal text
-in the binary.
-
-</P>
-<P>
-<A NAME="IDX284"></A>
-The <CODE>ident</CODE> command (which is part of the RCS
-package) can be used to extract keywords and their
-values from a file.  This can be handy for text files,
-but it is even more useful for extracting keywords from
-binary files.
-
-</P>
-
-<PRE>
-$ ident samp.c
-samp.c:
-     $Id: cvs.html,v 1.3 2009/06/08 20:46:55 ward Exp $
-$ gcc samp.c
-$ ident a.out
-a.out:
-     $Id: cvs.html,v 1.3 2009/06/08 20:46:55 ward Exp $
-</PRE>
-
-<P>
-<A NAME="IDX285"></A>
-SCCS is another popular revision control system.
-It has a command, <CODE>what</CODE>, which is very similar to
-<CODE>ident</CODE> and used for the same purpose.  Many sites
-without RCS have SCCS.  Since <CODE>what</CODE>
-looks for the character sequence <CODE>@(#)</CODE> it is
-easy to include keywords that are detected by either
-command.  Simply prefix the RCS keyword with the
-magic SCCS phrase, like this:
-
-</P>
-
-<PRE>
-static char *id="@(#) $Id: cvs.html,v 1.3 2009/06/08 20:46:55 ward Exp $";
-</PRE>
-
-
-
-<H2><A NAME="SEC80" HREF="cvs.html#TOC80">Avoiding substitution</A></H2>
-
-<P>
-Keyword substitution has its disadvantages.  Sometimes
-you might want the literal text string
-<SAMP>`$'</SAMP>Author$ to appear inside a file without
-RCS interpreting it as a keyword and expanding it
-into something like <SAMP>`$'</SAMP>Author: ceder $.  
-
-</P>
-<P>
-There is unfortunately no way to selectively turn off
-keyword substitution.  You can use <SAMP>`-ko'</SAMP>
-(see section <A HREF="cvs.html#SEC81">Substitution modes</A>) to turn off 
keyword
-substitution entirely.
-
-</P>
-<P>
-In many cases you can avoid using RCS keywords in
-the source, even though they appear in the final
-product.  For example, the source for this manual
-contains <SAMP>address@hidden'</SAMP> whenever the text
-<SAMP>`$'</SAMP>Author$ should appear.  In <CODE>nroff</CODE>
-and <CODE>troff</CODE> you can embed the null-character
-<CODE>\&#38;</CODE> inside the keyword for a similar effect.
-
-</P>
-
-
-<H2><A NAME="SEC81" HREF="cvs.html#TOC81">Substitution modes</A></H2>
-<P>
-<A NAME="IDX286"></A>
-<A NAME="IDX287"></A>
-
-</P>
-<P>
-Each file has a stored default substitution mode, and
-each working directory copy of a file also has a
-substitution mode.  The former is set by the <SAMP>`-k'</SAMP>
-option to <CODE>cvs add</CODE> and <CODE>cvs admin</CODE>; the
-latter is set by the -k or -A options to <CODE>cvs
-checkout</CODE> or <CODE>cvs update</CODE>.  <CODE>cvs diff</CODE> also
-has a <SAMP>`-k'</SAMP> option.  For some examples,
-See section <A HREF="cvs.html#SEC83">Handling binary files</A>.
-
-</P>
-<P>
-The modes available are:
-
-</P>
-<DL COMPACT>
-
-<DT><SAMP>`-kkv'</SAMP>
-<DD>
-Generate keyword strings using the default form, e.g.
-<CODE>$</CODE>Revision: 5.7 $ for the <CODE>Revision</CODE>
-keyword.
-
-<DT><SAMP>`-kkvl'</SAMP>
-<DD>
-Like <SAMP>`-kkv'</SAMP>, except that a locker's name is always
-inserted if the given revision is currently locked.
-This option is normally not useful when CVS is used.
-
-<DT><SAMP>`-kk'</SAMP>
-<DD>
-Generate only keyword names in keyword strings; omit
-their values.  For example, for the <CODE>Revision</CODE>
-keyword, generate the string <CODE>$</CODE>Revision$
-instead of <CODE>$</CODE>Revision: 5.7 $.  This option
-is useful to ignore differences due to keyword
-substitution when comparing different revisions of a
-file.
-
-<DT><SAMP>`-ko'</SAMP>
-<DD>
-Generate the old keyword string, present in the working
-file just before it was checked in.  For example, for
-the <CODE>Revision</CODE> keyword, generate the string
-<CODE>$</CODE>Revision: 1.1 $ instead of
-<CODE>$</CODE>Revision: 5.7 $ if that is how the
-string appeared when the file was checked in.
-
-<DT><SAMP>`-kb'</SAMP>
-<DD>
-Like <SAMP>`-ko'</SAMP>, but also inhibit conversion of line
-endings between the canonical form in which they are
-stored in the repository (linefeed only), and the form
-appropriate to the operating system in use on the
-client.  For systems, like unix, which use linefeed
-only to terminate lines, this is the same as
-<SAMP>`-ko'</SAMP>.  For more information on binary files, see
-section <A HREF="cvs.html#SEC83">Handling binary files</A>.
-
-<DT><SAMP>`-kv'</SAMP>
-<DD>
-Generate only keyword values for keyword strings.  For
-example, for the <CODE>Revision</CODE> keyword, generate the string
-<CODE>5.7</CODE> instead of <CODE>$</CODE>Revision: 5.7 $.
-This can help generate files in programming languages
-where it is hard to strip keyword delimiters like
-<CODE>$</CODE>Revision: $ from a string.  However,
-further keyword substitution cannot be performed once
-the keyword names are removed, so this option should be
-used with care.
-
-One often would like to use <SAMP>`-kv'</SAMP> with <CODE>cvs
-export</CODE>---see section <A HREF="cvs.html#SEC108">export--Export sources 
from CVS, similar to checkout</A>.  But be aware that doesn't
-handle an export containing binary files correctly.
-
-</DL>
-
-
-
-<H2><A NAME="SEC82" HREF="cvs.html#TOC82">Problems with the $Log: cvs.html,v $
-<H2><A NAME="SEC82" HREF="cvs.html#TOC82">Problems with the Revision 1.2  
2007/02/07 02:36:39  mattl
-<H2><A NAME="SEC82" HREF="cvs.html#TOC82">Problems with the Changed 'UNIX' to 
'Unix' on request of SCO/dbe/RMS^rms ;)
-<H2><A NAME="SEC82" HREF="cvs.html#TOC82">Problems with the
-<H2><A NAME="SEC82" HREF="cvs.html#TOC82">Problems with the Revision 1.1  
2003/11/07 20:55:32  sinuhe
-<H2><A NAME="SEC82" HREF="cvs.html#TOC82">Problems with the Add manual.
-<H2><A NAME="SEC82" HREF="cvs.html#TOC82">Problems with the keyword.</A></H2>
-
-<P>
-The <CODE>$</CODE>Log$ keyword is somewhat
-controversial.  As long as you are working on your
-development system the information is easily accessible
-even if you do not use the <CODE>$</CODE>Log$
-keyword--just do a <CODE>cvs log</CODE>.  Once you export
-the file the history information might be useless
-anyhow.
-
-</P>
-<P>
-A more serious concern is that RCS is not good at
-handling <CODE>$</CODE>Log$ entries when a branch is
-merged onto the main trunk.  Conflicts often result
-from the merging operation.
-
-</P>
-<P>
-People also tend to "fix" the log entries in the file
-(correcting spelling mistakes and maybe even factual
-errors).  If that is done the information from
-<CODE>cvs log</CODE> will not be consistent with the
-information inside the file.  This may or may not be a
-problem in real life.
-
-</P>
-<P>
-It has been suggested that the <CODE>$</CODE>Log$
-keyword should be inserted <EM>last</EM> in the file, and
-not in the files header, if it is to be used at all.
-That way the long list of change messages will not
-interfere with everyday source file browsing.
-
-</P>
-
-
-<H1><A NAME="SEC83" HREF="cvs.html#TOC83">Handling binary files</A></H1>
-<P>
-<A NAME="IDX288"></A>
-
-</P>
-<P>
-There are two issues with using CVS to store
-binary files.  The first is that CVS by default
-convert line endings between the canonical form in
-which they are stored in the repository (linefeed
-only), and the form appropriate to the operating system
-in use on the client (for example, carriage return
-followed by line feed for Windows NT).
-
-</P>
-<P>
-The second is that a binary file might happen to
-contain data which looks like a keyword (see section <A 
HREF="cvs.html#SEC77">Keyword substitution</A>), so keyword expansion must be 
turned
-off.
-
-</P>
-<P>
-The <SAMP>`-kb'</SAMP> option available with some CVS
-commands insures that neither line ending conversion
-nor keyword expansion will be done.  If you are using
-an old version of RCS without this option, and you
-are using an operating system, such as unix, which
-terminates lines with linefeeds only, you can use
-<SAMP>`-ko'</SAMP> instead; if you are on another operating
-system, upgrade to a version of RCS, such as 5.7
-or later, which supports <SAMP>`-kb'</SAMP>.
-
-</P>
-<P>
-Here is an example of how you can create a new file
-using the <SAMP>`-kb'</SAMP> flag:
-
-</P>
-
-<PRE>
-$ echo '$Id: cvs.html,v 1.3 2009/06/08 20:46:55 ward Exp $' &#62; kotest
-$ cvs add -kb -m"A test file" kotest
-$ cvs ci -m"First checkin; contains a keyword" kotest
-</PRE>
-
-<P>
-If a file accidentally gets added without <SAMP>`-kb'</SAMP>,
-one can use the <CODE>cvs admin</CODE> command to recover.
-For example:
-
-</P>
-
-<PRE>
-$ echo '$Id: cvs.html,v 1.3 2009/06/08 20:46:55 ward Exp $' &#62; kotest
-$ cvs add -m"A test file" kotest
-$ cvs ci -m"First checkin; contains a keyword" kotest
-$ cvs admin -kb kotest
-$ cvs update -A kotest
-$ cvs commit -m "make it binary" kotest  # For non-unix systems
-</PRE>
-
-<P>
-When you check in the file <TT>`kotest'</TT> the keywords
-are expanded.  (Try the above example, and do a
-<CODE>cat kotest</CODE> after every command).  The <CODE>cvs
-admin -kb</CODE> command sets the default keyword
-substitution method for this file, but it does not
-alter the working copy of the file that you have.  The
-easiest way to get the unexpanded version of
-<TT>`kotest'</TT> is <CODE>cvs update -A</CODE>.  If you need to
-cope with line endings (that is, you are using a
-CVS client on a non-unix system), then you need to
-check in a new copy of the file, as shown by the
-<CODE>cvs commit</CODE> command above.
-
-</P>
-<P>
-However, in using <CODE>cvs admin -k</CODE> to change the
-keyword expansion, be aware that the keyword expansion
-mode is not version controlled.  This means that, for
-example, that if you have a text file in old releases,
-and a binary file with the same name in new releases,
-CVS provides no way to check out the file in text
-or binary mode depending on what version you are
-checking out.  There is no good workaround for this
-problem.
-
-</P>
-<P>
-You can also set a default for whether <CODE>cvs add</CODE>
-and <CODE>cvs import</CODE> treat a file as binary based on
-its name; for example you could say that files who
-names end in <SAMP>`.exe'</SAMP> are binary.  See section <A 
HREF="cvs.html#SEC138">The cvswrappers file</A>.
-
-</P>
-
-
-<H1><A NAME="SEC84" HREF="cvs.html#TOC84">Revision management</A></H1>
-<P>
-<A NAME="IDX289"></A>
-
-</P>
-
-<P>
-If you have read this far, you probably have a pretty
-good grasp on what CVS can do for you.  This
-chapter talks a little about things that you still have
-to decide.
-
-</P>
-<P>
-If you are doing development on your own using CVS
-you could probably skip this chapter.  The questions
-this chapter takes up become more important when more
-than one person is working in a repository.
-
-</P>
-
-
-
-<H2><A NAME="SEC85" HREF="cvs.html#TOC85">When to commit?</A></H2>
-<P>
-<A NAME="IDX290"></A>
-<A NAME="IDX291"></A>
-<A NAME="IDX292"></A>
-
-</P>
-<P>
-Your group should decide which policy to use regarding
-commits.  Several policies are possible, and as your
-experience with CVS grows you will probably find
-out what works for you.
-
-</P>
-<P>
-If you commit files too quickly you might commit files
-that do not even compile.  If your partner updates his
-working sources to include your buggy file, he will be
-unable to compile the code.  On the other hand, other
-persons will not be able to benefit from the
-improvements you make to the code if you commit very
-seldom, and conflicts will probably be more common.
-
-</P>
-<P>
-It is common to only commit files after making sure
-that they can be compiled.  Some sites require that the
-files pass a test suite.  Policies like this can be
-enforced using the commitinfo file
-(see section <A HREF="cvs.html#SEC141">Commitinfo</A>), but you should think 
twice before
-you enforce such a convention.  By making the
-development environment too controlled it might become
-too regimented and thus counter-productive to the real
-goal, which is to get software written.
-
-</P>
-
-
-<H1><A NAME="SEC86" HREF="cvs.html#TOC86">Reference manual for CVS 
commands</A></H1>
-<P>
-<A NAME="IDX293"></A>
-<A NAME="IDX294"></A>
-<A NAME="IDX295"></A>
-
-</P>
-
-<P>
-This appendix describes how to invoke CVS, and
-describes in detail those subcommands of CVS which
-are not fully described elsewhere.  To look up a
-particular subcommand, see section <A HREF="cvs.html#SEC155">Index</A>.
-
-</P>
-
-
-
-<H2><A NAME="SEC87" HREF="cvs.html#TOC87">Overall structure of CVS 
commands</A></H2>
-<P>
-<A NAME="IDX296"></A>
-<A NAME="IDX297"></A>
-<A NAME="IDX298"></A>
-<A NAME="IDX299"></A>
-
-</P>
-<P>
-The overall format of all CVS commands is:
-
-</P>
-
-<PRE>
-cvs [ cvs_options ] cvs_command [ command_options ] [ command_args ]
-</PRE>
-
-<DL COMPACT>
-
-<DT><CODE>cvs</CODE>
-<DD>
-The name of the CVS program.
-
-<DT><CODE>cvs_options</CODE>
-<DD>
-Some options that affect all sub-commands of CVS.  These are
-described below.
-
-<DT><CODE>cvs_command</CODE>
-<DD>
-One of several different sub-commands.  Some of the commands have
-aliases that can be used instead; those aliases are noted in the
-reference manual for that command.  There are only two situations
-where you may omit <SAMP>`cvs_command'</SAMP>: <SAMP>`cvs -H'</SAMP> elicits a
-list of available commands, and <SAMP>`cvs -v'</SAMP> displays version
-information on CVS itself.
-
-<DT><CODE>command_options</CODE>
-<DD>
-Options that are specific for the command.
-
-<DT><CODE>command_args</CODE>
-<DD>
-Arguments to the commands.
-</DL>
-
-<P>
-There is unfortunately some confusion between
-<CODE>cvs_options</CODE> and <CODE>command_options</CODE>.
-<SAMP>`-l'</SAMP>, when given as a <CODE>cvs_option</CODE>, only
-affects some of the commands.  When it is given as a
-<CODE>command_option</CODE> is has a different meaning, and
-is accepted by more commands.  In other words, do not
-take the above categorization too seriously.  Look at
-the documentation instead.
-
-</P>
-
-
-<H2><A NAME="SEC88" HREF="cvs.html#TOC88">Default options and the ~/.cvsrc 
file</A></H2>
-<P>
-<A NAME="IDX300"></A>
-<A NAME="IDX301"></A>
-
-</P>
-<P>
-There are some <CODE>command_options</CODE> that are used so
-often that you might have set up an alias or some other
-means to make sure you always specify that option.  One
-example (the one that drove the implementation of the
-.cvsrc support, actually) is that many people find the
-default output of the <SAMP>`diff'</SAMP> command to be very
-hard to read, and that either context diffs or unidiffs
-are much easier to understand.
-
-</P>
-<P>
-The <TT>`~/.cvsrc'</TT> file is a way that you can add
-default options to <CODE>cvs_commands</CODE> within cvs,
-instead of relying on aliases or other shell scripts.
-
-</P>
-<P>
-The format of the <TT>`~/.cvsrc'</TT> file is simple.  The
-file is searched for a line that begins with the same
-name as the <CODE>cvs_command</CODE> being executed.  If a
-match is found, then the remainder of the line is split
-up (at whitespace characters) into separate options and
-added to the command arguments <EM>before</EM> any
-options from the command line.
-
-</P>
-<P>
-If a command has two names (e.g., <CODE>checkout</CODE> and
-<CODE>co</CODE>), the official name, not necessarily the one
-used on the command line, will be used to match against
-the file.  So if this is the contents of the user's
-<TT>`~/.cvsrc'</TT> file:
-
-</P>
-
-<PRE>
-log -N
-diff -u
-update -P
-co -P
-</PRE>
-
-<P>
-the command <SAMP>`cvs checkout foo'</SAMP> would have the
-<SAMP>`-P'</SAMP> option added to the arguments, as well as
-<SAMP>`cvs co foo'</SAMP>.
-
-</P>
-<P>
-With the example file above, the output from <SAMP>`cvs
-diff foobar'</SAMP> will be in unidiff format.  <SAMP>`cvs diff
--c foobar'</SAMP> will provide context diffs, as usual.
-Getting "old" format diffs would be slightly more
-complicated, because <CODE>diff</CODE> doesn't have an option
-to specify use of the "old" format, so you would need
-<SAMP>`cvs -f diff foobar'</SAMP>.
-
-</P>
-<P>
-In place of the command name you can use <CODE>cvs</CODE> to
-specify global options (see section <A HREF="cvs.html#SEC89">Global 
options</A>).  For
-example the following line in <TT>`.cvsrc'</TT>
-
-</P>
-
-<PRE>
-cvs -z6
-</PRE>
-
-<P>
-causes CVS to use compression level 6
-
-</P>
-
-
-<H2><A NAME="SEC89" HREF="cvs.html#TOC89">Global options</A></H2>
-<P>
-<A NAME="IDX302"></A>
-<A NAME="IDX303"></A>
-<A NAME="IDX304"></A>
-
-</P>
-<P>
-The available <SAMP>`cvs_options'</SAMP> (that are given to the
-left of <SAMP>`cvs_command'</SAMP>) are:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-b <VAR>bindir</VAR></CODE>
-<DD>
-<A NAME="IDX305"></A>
- <A NAME="IDX306"></A>
- 
-Use <VAR>bindir</VAR> as the directory where RCS programs are
-located.  Overrides the setting of the <CODE>$RCSBIN</CODE> environment
-variable and any precompiled directory.  This parameter should be
-specified as an absolute pathname.
-
-<A NAME="IDX307"></A>
-<A NAME="IDX308"></A>
-<DT><CODE>-T <VAR>tempdir</VAR></CODE>
-<DD>
-Use <VAR>tempdir</VAR> as the directory where temporary files are
-located.  Overrides the setting of the <CODE>$TMPDIR</CODE> environment
-variable and any precompiled directory.  This parameter should be
-specified as an absolute pathname.
-
-<A NAME="IDX309"></A>
-<A NAME="IDX310"></A>
-<DT><CODE>-d <VAR>cvs_root_directory</VAR></CODE>
-<DD>
-Use <VAR>cvs_root_directory</VAR> as the root directory
-pathname of the repository.  Overrides the setting of
-the <CODE>$CVSROOT</CODE> environment variable.  See section <A 
HREF="cvs.html#SEC15">The Repository</A>.
-
-<A NAME="IDX311"></A>
-<A NAME="IDX312"></A>
-<DT><CODE>-e <VAR>editor</VAR></CODE>
-<DD>
-Use <VAR>editor</VAR> to enter revision log information.  Overrides the
-setting of the <CODE>$CVSEDITOR</CODE> and <CODE>$EDITOR</CODE> environment 
variables.
-
-<DT><CODE>-f</CODE>
-<DD>
-Do not read the <TT>`~/.cvsrc'</TT> file.  This
-option is most often used because of the
-non-orthogonality of the CVS option set.  For
-example, the <SAMP>`cvs log'</SAMP> option <SAMP>`-N'</SAMP> (turn off
-display of tag names) does not have a corresponding
-option to turn the display on.  So if you have
-<SAMP>`-N'</SAMP> in the <TT>`~/.cvsrc'</TT> entry for <SAMP>`log'</SAMP>,
-you may need to use <SAMP>`-f'</SAMP> to show the tag names.
-
-<DT><CODE>-H</CODE>
-<DD>
-Display usage information about the specified <SAMP>`cvs_command'</SAMP>
-(but do not actually execute the command).  If you don't specify
-a command name, <SAMP>`cvs -H'</SAMP> displays a summary of all the
-commands available.
-
-<DT><CODE>-l</CODE>
-<DD>
-Do not log the cvs_command in the command history (but execute it
-anyway).  See section <A HREF="cvs.html#SEC110">history--Show status of files 
and users</A>, for information on command history.
-
-<A NAME="IDX313"></A>
-<DT><CODE>-n</CODE>
-<DD>
-Do not change any files.  Attempt to execute the
-<SAMP>`cvs_command'</SAMP>, but only to issue reports; do not remove,
-update, or merge any existing files, or create any new files.
-
-<DT><CODE>-Q</CODE>
-<DD>
-Cause the command to be really quiet; the command will only
-generate output for serious problems.
-
-<DT><CODE>-q</CODE>
-<DD>
-Cause the command to be somewhat quiet; informational messages,
-such as reports of recursion through subdirectories, are
-suppressed.
-
-<A NAME="IDX314"></A>
-<DT><CODE>-r</CODE>
-<DD>
-Make new working files files read-only.  Same effect
-as if the <CODE>$CVSREAD</CODE> environment variable is set
-(see section <A HREF="cvs.html#SEC151">All environment variables which affect 
CVS</A>).  The default is to
-make working files writable, unless watches are on
-(see section <A HREF="cvs.html#SEC43">Mechanisms to track who is editing 
files</A>).
-
-<DT><CODE>-s <VAR>variable</VAR>=<VAR>value</VAR></CODE>
-<DD>
-Set a user variable (see section <A HREF="cvs.html#SEC150">Expansions in 
administrative files</A>).
-
-<A NAME="IDX315"></A>
-<DT><CODE>-t</CODE>
-<DD>
-Trace program execution; display messages showing the steps of
-CVS activity.  Particularly useful with <SAMP>`-n'</SAMP> to explore the
-potential impact of an unfamiliar command.
-
-<DT><CODE>-v</CODE>
-<DD>
-Display version and copyright information for CVS.
-
-<A NAME="IDX316"></A>
-<A NAME="IDX317"></A>
-<DT><CODE>-w</CODE>
-<DD>
-Make new working files read-write.  Overrides the
-setting of the <CODE>$CVSREAD</CODE> environment variable.
-Files are created read-write by default, unless <CODE>$CVSREAD</CODE> is
-set or <SAMP>`-r'</SAMP> is given.
-
-<DT><CODE>-x</CODE>
-<DD>
-Encrypt all communication between the client and the
-server.  Only has an effect on the CVS client.  As
-of this writing, this is only implemented when using a
-Kerberos connection (see section <A HREF="cvs.html#SEC30">Direct connection 
with kerberos</A>).
-Encryption support is not available by default; it must
-be enabled using a special configure option,
-<TT>`--enable-encryption'</TT>, when you build CVS.
-
-<DT><CODE>-z <VAR>gzip-level</VAR></CODE>
-<DD>
-Set the compression level.  Only has an effect on the
-CVS client.
-
-</DL>
-
-
-
-<H2><A NAME="SEC90" HREF="cvs.html#TOC90">Common command options</A></H2>
-<P>
-<A NAME="IDX318"></A>
-<A NAME="IDX319"></A>
-
-</P>
-<P>
-This section describes the <SAMP>`command_options'</SAMP> that
-are available across several CVS commands.  These
-options are always given to the right of
-<SAMP>`cvs_command'</SAMP>. Not all
-commands support all of these options; each option is
-only supported for commands where it makes sense.
-However, when a command has one of these options you
-can almost always count on the same behavior of the
-option as in other commands.  (Other command options,
-which are listed with the individual commands, may have
-different behavior from one CVS command to the other).
-
-</P>
-<P>
-<STRONG>Warning:</STRONG> the <SAMP>`history'</SAMP> command is an exception; 
it supports
-many options that conflict even with these standard options.
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-D <VAR>date_spec</VAR></CODE>
-<DD>
-<A NAME="IDX320"></A>
- <A NAME="IDX321"></A>
- <A NAME="IDX322"></A>
- 
-Use the most recent revision no later than <VAR>date_spec</VAR>.
-<VAR>date_spec</VAR> is a single argument, a date description
-specifying a date in the past.
-
-The specification is <EM>sticky</EM> when you use it to make a
-private copy of a source file; that is, when you get a working
-file using <SAMP>`-D'</SAMP>, CVS records the date you specified, so that
-further updates in the same directory will use the same date
-(for more information on sticky tags/dates, see section <A 
HREF="cvs.html#SEC54">Sticky tags</A>).
-
-<A NAME="IDX323"></A>
-<A NAME="IDX324"></A>
-A wide variety of date formats are supported by
-CVS.  The <VAR>date_spec</VAR> is interpreted as being
-in the local timezone, unless a specific timezone is
-specified.  Examples of valid date specifications
-include:
-
-
-<PRE>
-                    1 month ago
-                    2 hours ago
-                    400000 seconds ago
-                    last year
-                    last Monday
-                    yesterday
-                    a fortnight ago
-                    3/31/92 10:00:07 PST
-                    January 23, 1987 10:05pm
-                    22:00 GMT
-</PRE>
-
-<SAMP>`-D'</SAMP> is available with the <CODE>checkout</CODE>,
-<CODE>diff</CODE>, <CODE>export</CODE>, <CODE>history</CODE>,
-<CODE>rdiff</CODE>, <CODE>rtag</CODE>, and <CODE>update</CODE> commands.
-(The <CODE>history</CODE> command uses this option in a
-slightly different way; see section <A HREF="cvs.html#SEC111">history 
options</A>).  Note
-that when specifying a date like <SAMP>`3/31/92'</SAMP> it is
-<CODE><VAR>month</VAR>/<VAR>day</VAR>/<VAR>year</VAR></CODE>.  So
-<SAMP>`1/4/96'</SAMP> is January 4, not March 1.
-
-Remember to quote the argument to the <SAMP>`-D'</SAMP>
-flag so that your shell doesn't interpret spaces as
-argument separators.  A command using the <SAMP>`-D'</SAMP>
-flag can look like this:
-
-
-<PRE>
-$ cvs diff -D "1 hour ago" cvs.texinfo
-</PRE>
-
-<A NAME="IDX325"></A>
-<DT><CODE>-f</CODE>
-<DD>
-When you specify a particular date or tag to CVS commands, they
-normally ignore files that do not contain the tag (or did not
-exist prior to the date) that you specified.  Use the <SAMP>`-f'</SAMP> option
-if you want files retrieved even when there is no match for the
-tag or date.  (The most recent revision of the file
-will be used). 
-
-<SAMP>`-f'</SAMP> is available with these commands: <CODE>checkout</CODE>,
-<CODE>export</CODE>, <CODE>rdiff</CODE>, <CODE>rtag</CODE>, and 
<CODE>update</CODE>.
-
-<STRONG>Warning:</STRONG>  The <CODE>commit</CODE> command also has a
-<SAMP>`-f'</SAMP> option, but it has a different behavior for
-that command.  See section <A HREF="cvs.html#SEC100">commit options</A>.
-
-<DT><CODE>-H</CODE>
-<DD>
-Help; describe the options available for this command.  This is
-the only option supported for all CVS commands.
-
-<DT><CODE>-k <VAR>kflag</VAR></CODE>
-<DD>
-Alter the default RCS processing of keywords.
-See section <A HREF="cvs.html#SEC77">Keyword substitution</A>, for the meaning 
of
-<VAR>kflag</VAR>.  Your <VAR>kflag</VAR> specification is
-<EM>sticky</EM> when you use it to create a private copy
-of a source file; that is, when you use this option
-with the <CODE>checkout</CODE> or <CODE>update</CODE> commands,
-CVS associates your selected <VAR>kflag</VAR> with the
-file, and continues to use it with future update
-commands on the same file until you specify otherwise.
-
-The <SAMP>`-k'</SAMP> option is available with the <CODE>add</CODE>,
-<CODE>checkout</CODE>, <CODE>diff</CODE> and
-<CODE>update</CODE> commands.
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory, rather than
-recursing through subdirectories.  
-
-<STRONG>Warning:</STRONG> this is not the same
-as the overall <SAMP>`cvs -l'</SAMP> option, which you can specify to the
-left of a cvs command!
-
-Available with the following commands: <CODE>checkout</CODE>,
-<CODE>commit</CODE>, <CODE>diff</CODE>, <CODE>export</CODE>, <CODE>log</CODE>,
-<CODE>remove</CODE>, <CODE>rdiff</CODE>, <CODE>rtag</CODE>,
-<CODE>status</CODE>, <CODE>tag</CODE>, and <CODE>update</CODE>.
-
-<A NAME="IDX326"></A>
-<A NAME="IDX327"></A>
-<DT><CODE>-m <VAR>message</VAR></CODE>
-<DD>
-Use <VAR>message</VAR> as log information, instead of
-invoking an editor.
-
-Available with the following commands: <CODE>add</CODE>,
-<CODE>commit</CODE> and <CODE>import</CODE>.
-
-<DT><CODE>-n</CODE>
-<DD>
-Do not run any checkout/commit/tag program.  (A program can be
-specified to run on each of these activities, in the modules
-database (see section <A HREF="cvs.html#SEC137">The modules file</A>); this 
option bypasses it). 
-
-<STRONG>Warning:</STRONG> this is not the same as the overall <SAMP>`cvs 
-n'</SAMP>
-option, which you can specify to the left of a cvs command!
-
-Available with the <CODE>checkout</CODE>, <CODE>commit</CODE>, 
<CODE>export</CODE>,
-and <CODE>rtag</CODE> commands.
-
-<DT><CODE>-P</CODE>
-<DD>
-Prune (remove) directories that are empty after being updated, on
-<CODE>checkout</CODE>, or <CODE>update</CODE>.  Normally, an empty directory
-(one that is void of revision-controlled files) is left alone.
-Specifying <SAMP>`-P'</SAMP> will cause these directories to be silently
-removed from your checked-out sources.  This does not remove the
-directory from the repository, only from your checked out copy.
-Note that this option is implied by the <SAMP>`-r'</SAMP> or <SAMP>`-D'</SAMP>
-options of <CODE>checkout</CODE> and <CODE>export</CODE>.
-
-<DT><CODE>-p</CODE>
-<DD>
-Pipe the files retrieved from the repository to standard output,
-rather than writing them in the current directory.  Available
-with the <CODE>checkout</CODE> and <CODE>update</CODE> commands.
-
-<DT><CODE>-W</CODE>
-<DD>
-Specify file names that should be filtered.  You can
-use this option repeatedly.  The spec can be a file
-name pattern of the same type that you can specify in
-the <TT>`.cvswrappers'</TT> file.
-Avaliable with the following commands: <CODE>import</CODE>,
-and <CODE>update</CODE>.
-
-<DT><CODE>-r <VAR>tag</VAR></CODE>
-<DD>
-Use the revision specified by the <VAR>tag</VAR> argument instead of the
-default <EM>head</EM> revision.  As well as arbitrary tags defined
-with the <CODE>tag</CODE> or <CODE>rtag</CODE> command, two special tags are
-always available: <SAMP>`HEAD'</SAMP> refers to the most recent version
-available in the repository, and <SAMP>`BASE'</SAMP> refers to the
-revision you last checked out into the current working directory.
-
-The tag specification is sticky when you use this
-with <CODE>checkout</CODE> or <CODE>update</CODE> to make your own
-copy of a file: CVS remembers the tag and continues to use it on
-future update commands, until you specify otherwise (for more information
-on sticky tags/dates, see section <A HREF="cvs.html#SEC54">Sticky tags</A>).  
The
-tag can be either a symbolic or numeric tag.
-See section <A HREF="cvs.html#SEC51">Tags--Symbolic revisions</A>.
-
-Specifying the <SAMP>`-q'</SAMP> global option along with the
-<SAMP>`-r'</SAMP> command option is often useful, to suppress
-the warning messages when the RCS history file
-does not contain the specified tag.
-
-<STRONG>Warning:</STRONG> this is not the same as the overall `cvs -r' option,
-which you can specify to the left of a cvs command!
-
-<SAMP>`-r'</SAMP> is available with the <CODE>checkout</CODE>, 
<CODE>commit</CODE>,
-<CODE>diff</CODE>, <CODE>history</CODE>, <CODE>export</CODE>, 
<CODE>rdiff</CODE>,
-<CODE>rtag</CODE>, and <CODE>update</CODE> commands.
-
-</DL>
-
-
-
-<H2><A NAME="SEC91" HREF="cvs.html#TOC91">admin--Administration front end for 
rcs</A></H2>
-<P>
-<A NAME="IDX328"></A>
-
-</P>
-
-<UL>
-<LI>
-
-Requires: repository, working directory.
-<LI>
-
-Changes: repository.
-<LI>
-
-Synonym: rcs
-</UL>
-
-<P>
-This is the CVS interface to assorted administrative RCS
-facilities, documented in rcs(1).  <CODE>admin</CODE> simply passes
-all its options and arguments to the <CODE>rcs</CODE> command; it does
-no filtering or other processing.  This command <EM>does</EM> work
-recursively, however, so extreme care should be used.
-
-</P>
-<P>
-If there is a group whose name matches a compiled in
-value which defaults to <CODE>cvsadmin</CODE>, only members
-of that group can use <CODE>cvs admin</CODE>.  To disallow
-<CODE>cvs admin</CODE> for all users, create a group with no
-users in it.
-
-</P>
-
-
-
-<H3><A NAME="SEC92" HREF="cvs.html#TOC92">admin options</A></H3>
-
-<P>
-Not all valid <CODE>rcs</CODE> options are useful together
-with CVS.  Some even makes it impossible to use
-CVS until you undo the effect!
-
-</P>
-<P>
-This description of the available options is based on
-the <SAMP>`rcs(1)'</SAMP> man page, but modified to suit
-readers that are more interrested in CVS than
-RCS.
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-A<VAR>oldfile</VAR></CODE>
-<DD>
-Might not work together with CVS.  Append the
-access list of <VAR>oldfile</VAR> to the access list of the
-RCS file.
-
-<DT><CODE>-a<VAR>logins</VAR></CODE>
-<DD>
-Might not work together with CVS.  Append the
-login names appearing in the comma-separated list
-<VAR>logins</VAR> to the access list of the RCS file.
-
-<DT><CODE>-b[<VAR>rev</VAR>]</CODE>
-<DD>
-When used with bare RCS, this
-option sets the default branch to <VAR>rev</VAR>; in
-CVS sticky tags (see section <A HREF="cvs.html#SEC54">Sticky tags</A>) are a 
better
-way to decide which branch you want to work on.  With
-CVS, this option can be used to control behavior
-with respect to the vendor branch.
-
-<DT><CODE>-c<VAR>string</VAR></CODE>
-<DD>
-Useful with CVS.  Sets the comment leader to
-<VAR>string</VAR>.  The comment leader is printed before
-every log message line generated by the keyword
-<CODE>$</CODE>Log$ (see section <A HREF="cvs.html#SEC77">Keyword 
substitution</A>).
-This is useful for programming languages without
-multi-line comments.  RCS initially guesses the
-value of the comment leader from the file name
-extension when the file is first committed.
-
-<DT><CODE>-e[<VAR>logins</VAR>]</CODE>
-<DD>
-Might not work together with CVS.  Erase the login
-names appearing in the comma-separated list
-<VAR>logins</VAR> from the access list of the RCS file.  If
-<VAR>logins</VAR> is omitted, erase the entire access list.
-
-<DT><CODE>-I</CODE>
-<DD>
-Run interactively, even if the standard input is not a
-terminal.
-
-<DT><CODE>-i</CODE>
-<DD>
-Useless with CVS.  When using bare RCS, this
-is used to create and initialize a new RCS file,
-without depositing a revision.
-
-<DT><CODE>-k<VAR>subst</VAR></CODE>
-<DD>
-Useful with CVS.  Set the default keyword
-substitution to <VAR>subst</VAR>.  See section <A 
HREF="cvs.html#SEC77">Keyword substitution</A>.  Giving an explicit 
<SAMP>`-k'</SAMP> option to
-<CODE>cvs update</CODE>, <CODE>cvs export</CODE>, or <CODE>cvs
-checkout</CODE> overrides this default.
-
-<DT><CODE>-l[<VAR>rev</VAR>]</CODE>
-<DD>
-Lock the revision with number <VAR>rev</VAR>.  If a branch
-is given, lock the latest revision on that branch.  If
-<VAR>rev</VAR> is omitted, lock the latest revision on the
-default branch.
-
-This can be used in conjunction with the
-<TT>`rcslock.pl'</TT> script in the <TT>`contrib'</TT>
-directory of the CVS source distribution to
-provide reserved checkouts (where only one user can be
-editing a given file at a time).  See the comments in
-that file for details (and see the <TT>`README'</TT> file
-in that directory for disclaimers about the unsupported
-nature of contrib).  According to comments in that
-file, locking must set to strict (which is the default).
-
-<DT><CODE>-L</CODE>
-<DD>
-Set locking to strict.  Strict locking means that the
-owner of an RCS file is not exempt from locking for
-checkin.  For use with CVS, strict locking must be
-set; see the discussion under the <SAMP>`-l'</SAMP> option above.
-
-<A NAME="IDX329"></A>
-<A NAME="IDX330"></A>
-<A NAME="IDX331"></A>
-<A NAME="IDX332"></A>
-<A NAME="IDX333"></A>
-<DT><CODE>-m<VAR>rev</VAR>:<VAR>msg</VAR></CODE>
-<DD>
-Replace the log message of revision <VAR>rev</VAR> with
-<VAR>msg</VAR>.
-
-<DT><CODE>-N<VAR>name</VAR>[:[<VAR>rev</VAR>]]</CODE>
-<DD>
-Act like <SAMP>`-n'</SAMP>, except override any previous
-assignment of <VAR>name</VAR>.
-
-<DT><CODE>-n<VAR>name</VAR>[:[<VAR>rev</VAR>]]</CODE>
-<DD>
-Associate the symbolic name <VAR>name</VAR> with the branch
-or revision <VAR>rev</VAR>.  It is normally better to use
-<SAMP>`cvs tag'</SAMP> or <SAMP>`cvs rtag'</SAMP> instead.  Delete the
-symbolic name if both <SAMP>`:'</SAMP> and <VAR>rev</VAR> are
-omitted; otherwise, print an error message if
-<VAR>name</VAR> is already associated with another number.
-If <VAR>rev</VAR> is symbolic, it is expanded before
-association.  A <VAR>rev</VAR> consisting of a branch number
-followed by a <SAMP>`.'</SAMP> stands for the current latest
-revision in the branch.  A <SAMP>`:'</SAMP> with an empty
-<VAR>rev</VAR> stands for the current latest revision on the
-default branch, normally the trunk.  For example,
-<SAMP>`rcs -n<VAR>name</VAR>: RCS/*'</SAMP> associates <VAR>name</VAR> with the
-current latest revision of all the named RCS files;
-this contrasts with <SAMP>`rcs -n<VAR>name</VAR>:$ RCS/*'</SAMP> which
-associates <VAR>name</VAR> with the revision numbers
-extracted from keyword strings in the corresponding
-working files.
-
-<A NAME="IDX334"></A>
-<A NAME="IDX335"></A>
-<A NAME="IDX336"></A>
-<DT><CODE>-o<VAR>range</VAR></CODE>
-<DD>
-Potentially useful, but dangerous, with CVS (see below).
-Deletes (<EM>outdates</EM>) the revisions given by
-<VAR>range</VAR>.  A range consisting of a single revision
-number means that revision.  A range consisting of a
-branch number means the latest revision on that branch.
-A range of the form <SAMP>`<VAR>rev1</VAR>:<VAR>rev2</VAR>'</SAMP> means
-revisions <VAR>rev1</VAR> to <VAR>rev2</VAR> on the same branch,
-<SAMP>`:<VAR>rev</VAR>'</SAMP> means from the beginning of the
-branch containing <VAR>rev</VAR> up to and including
-<VAR>rev</VAR>, and <SAMP>`<VAR>rev</VAR>:'</SAMP> means from revision
-<VAR>rev</VAR> to the end of the branch containing
-<VAR>rev</VAR>.  None of the outdated revisions may have
-branches or locks.
-
-Due to the way CVS handles branches <VAR>rev</VAR>
-cannot be specified symbolically if it is a branch.
-See section <A HREF="cvs.html#SEC153">Magic branch numbers</A>, for an 
explanation.
-
-Make sure that no-one has checked out a copy of the
-revision you outdate.  Strange things will happen if he
-starts to edit it and tries to check it back in.  For
-this reason, this option is not a good way to take back
-a bogus commit; commit a new revision undoing the bogus
-change instead (see section <A HREF="cvs.html#SEC58">Merging differences 
between any two revisions</A>).
-
-<DT><CODE>-q</CODE>
-<DD>
-Run quietly; do not print diagnostics.
-
-<DT><CODE>-s<VAR>state</VAR>[:<VAR>rev</VAR>]</CODE>
-<DD>
-Useful with CVS.  Set the state attribute of the
-revision <VAR>rev</VAR> to <VAR>state</VAR>.  If <VAR>rev</VAR> is a
-branch number, assume the latest revision on that
-branch.  If <VAR>rev</VAR> is omitted, assume the latest
-revision on the default branch.  Any identifier is
-acceptable for <VAR>state</VAR>.  A useful set of states is
-<SAMP>`Exp'</SAMP> (for experimental), <SAMP>`Stab'</SAMP> (for
-stable), and <SAMP>`Rel'</SAMP> (for released).  By default,
-the state of a new revision is set to <SAMP>`Exp'</SAMP> when
-it is created.  The state is visible in the output from
-<VAR>cvs log</VAR> (see section <A HREF="cvs.html#SEC116">log--Print out log 
information for files</A>), and in the
-<SAMP>`$'</SAMP>Log$ and <SAMP>`$'</SAMP>State$ keywords
-(see section <A HREF="cvs.html#SEC77">Keyword substitution</A>).  Note that CVS
-uses the <CODE>dead</CODE> state for its own purposes; to
-take a file to or from the <CODE>dead</CODE> state use
-commands like <CODE>cvs remove</CODE> and <CODE>cvs add</CODE>, not
-<CODE>cvs admin -s</CODE>.
-
-<DT><CODE>-t[<VAR>file</VAR>]</CODE>
-<DD>
-Useful with CVS.  Write descriptive text from the
-contents of the named <VAR>file</VAR> into the RCS file,
-deleting the existing text.  The <VAR>file</VAR> pathname
-may not begin with <SAMP>`-'</SAMP>.  If <VAR>file</VAR> is omitted,
-obtain the text from standard input, terminated by
-end-of-file or by a line containing <SAMP>`.'</SAMP> by itself.
-Prompt for the text if interaction is possible; see
-<SAMP>`-I'</SAMP>.  The descriptive text can be seen in the
-output from <SAMP>`cvs log'</SAMP> (see section <A 
HREF="cvs.html#SEC116">log--Print out log information for files</A>).
-
-<DT><CODE>-t-<VAR>string</VAR></CODE>
-<DD>
-Similar to <SAMP>`-t<VAR>file</VAR>'</SAMP>. Write descriptive text
-from the <VAR>string</VAR> into the RCS file, deleting
-the existing text.
-
-<DT><CODE>-U</CODE>
-<DD>
-Set locking to non-strict.  Non-strict locking means
-that the owner of a file need not lock a revision for
-checkin.  For use with CVS, strict locking must be
-set; see the discussion under the <SAMP>`-l'</SAMP> option
-above.
-
-<DT><CODE>-u[<VAR>rev</VAR>]</CODE>
-<DD>
-See the option <SAMP>`-l'</SAMP> above, for a discussion of
-using this option with CVS.  Unlock the revision
-with number <VAR>rev</VAR>.  If a branch is given, unlock
-the latest revision on that branch.  If <VAR>rev</VAR> is
-omitted, remove the latest lock held by the caller.
-Normally, only the locker of a revision may unlock it.
-Somebody else unlocking a revision breaks the lock.
-This causes a mail message to be sent to the original
-locker.  The message contains a commentary solicited
-from the breaker.  The commentary is terminated by
-end-of-file or by a line containing <CODE>.</CODE> by itself.
-
-<DT><CODE>-V<VAR>n</VAR></CODE>
-<DD>
-Emulate RCS version <VAR>n</VAR>. Use -V<VAR>n</VAR> to make
-an RCS file acceptable to RCS version <VAR>n</VAR>
-by discarding information that would confuse version
-<VAR>n</VAR>.
-
-<DT><CODE>-x<VAR>suffixes</VAR></CODE>
-<DD>
-Useless with CVS. Use <VAR>suffixes</VAR> to
-characterize RCS files.
-</DL>
-
-
-
-<H3><A NAME="SEC93" HREF="cvs.html#TOC93">admin examples</A></H3>
-
-
-
-<H4><A NAME="SEC94" HREF="cvs.html#TOC94">Outdating is dangerous</A></H4>
-
-<P>
-First, an example of how <EM>not</EM> to use the
-<CODE>admin</CODE> command.  It is included to stress the
-fact that this command can be quite dangerous unless
-you know <EM>exactly</EM> what you are doing.
-
-</P>
-<P>
-The <SAMP>`-o'</SAMP> option can be used to <EM>outdate</EM> old revisions
-from the history file.  If you are short on disc this option
-might help you.  But think twice before using it--there is no
-way short of restoring the latest backup to undo this command!
-
-</P>
-<P>
-The next line is an example of a command that you would
-<EM>not</EM> like to execute.
-
-</P>
-
-<PRE>
-$ cvs admin -o:R_1_02 .
-</PRE>
-
-<P>
-The above command will delete all revisions up to, and
-including, the revision that corresponds to the tag
-R_1_02.  But beware!  If there are files that have not
-changed between R_1_02 and R_1_03 the file will have
-<EM>the same</EM> numerical revision number assigned to
-the tags R_1_02 and R_1_03.  So not only will it be
-impossible to retrieve R_1_02; R_1_03 will also have to
-be restored from the tapes!
-
-</P>
-
-
-<H4><A NAME="SEC95" HREF="cvs.html#TOC95">Comment leaders</A></H4>
-<P>
-<A NAME="IDX337"></A>
-<A NAME="IDX338"></A>
-<A NAME="IDX339"></A>
-
-</P>
-<P>
-If you use the <CODE>$</CODE>Log$ keyword and you do
-not agree with the guess for comment leader that
-CVS has done, you can enforce your will with
-<CODE>cvs admin -c</CODE>.  This might be suitable for
-<CODE>nroff</CODE> source:
-
-</P>
-
-<PRE>
-$ cvs admin -c'.\" ' *.man
-$ rm *.man
-$ cvs update
-</PRE>
-
-<P>
-The two last steps are to make sure that you get the
-versions with correct comment leaders in your working
-files.
-
-</P>
-
-
-<H2><A NAME="SEC96" HREF="cvs.html#TOC96">checkout--Check out sources for 
editing</A></H2>
-<P>
-<A NAME="IDX340"></A>
-<A NAME="IDX341"></A>
-
-</P>
-
-<UL>
-<LI>
-
-Synopsis: checkout [options] modules...
-<LI>
-
-Requires: repository.
-<LI>
-
-Changes: working directory.
-<LI>
-
-Synonyms: co, get
-</UL>
-
-<P>
-Make a working directory containing copies of the
-source files specified by <VAR>modules</VAR>.  You must execute
-<CODE>checkout</CODE> before using most of the other CVS
-commands, since most of them operate on your working
-directory.
-
-</P>
-<P>
-The <VAR>modules</VAR> part of the command are either
-symbolic names for some
-collection of source directories and files, or paths to
-directories or files in the repository.  The symbolic
-names are defined in the <SAMP>`modules'</SAMP> file.
-See section <A HREF="cvs.html#SEC137">The modules file</A>.
-
-</P>
-<P>
-Depending on the modules you specify, <CODE>checkout</CODE> may
-recursively create directories and populate them with
-the appropriate source files.  You can then edit these
-source files at any time (regardless of whether other
-software developers are editing their own copies of the
-sources); update them to include new changes applied by
-others to the source repository; or commit your work as
-a permanent change to the source repository.
-
-</P>
-<P>
-Note that <CODE>checkout</CODE> is used to create
-directories.  The top-level directory created is always
-added to the directory where <CODE>checkout</CODE> is
-invoked, and usually has the same name as the specified
-module.  In the case of a module alias, the created
-sub-directory may have a different name, but you can be
-sure that it will be a sub-directory, and that
-<CODE>checkout</CODE> will show the relative path leading to
-each file as it is extracted into your private work
-area (unless you specify the <SAMP>`-Q'</SAMP> global option).
-
-</P>
-<P>
-The files created by <CODE>checkout</CODE> are created
-read-write, unless the <SAMP>`-r'</SAMP> option to CVS
-(see section <A HREF="cvs.html#SEC89">Global options</A>) is specified, the
-<CODE>CVSREAD</CODE> environment variable is specified
-(see section <A HREF="cvs.html#SEC151">All environment variables which affect 
CVS</A>), or a watch is in
-effect for that file (see section <A HREF="cvs.html#SEC43">Mechanisms to track 
who is editing files</A>).
-
-</P>
-<P>
-Running <CODE>checkout</CODE> on a directory that was already
-built by a prior <CODE>checkout</CODE> is also permitted, and
-has the same effect as specifying the <SAMP>`-d'</SAMP> option
-to the <CODE>update</CODE> command, that is, any new
-directories that have been created in the repository
-will appear in your work area.  See section <A 
HREF="cvs.html#SEC132">update--Bring work tree in sync with repository</A>.
-
-</P>
-<P>
-For the output produced by the <CODE>checkout</CODE> command
-see section <A HREF="cvs.html#SEC134">update output</A>.
-
-</P>
-
-
-
-<H3><A NAME="SEC97" HREF="cvs.html#TOC97">checkout options</A></H3>
-
-<P>
-These standard options are supported by <CODE>checkout</CODE>
-(see section <A HREF="cvs.html#SEC90">Common command options</A>, for a 
complete description of
-them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-D <VAR>date</VAR></CODE>
-<DD>
-Use the most recent revision no later than <VAR>date</VAR>.
-This option is sticky, and implies <SAMP>`-P'</SAMP>.  See
-section <A HREF="cvs.html#SEC54">Sticky tags</A>, for more information on 
sticky tags/dates.
-
-<DT><CODE>-f</CODE>
-<DD>
-Only useful with the <SAMP>`-D <VAR>date</VAR>'</SAMP> or <SAMP>`-r
-<VAR>tag</VAR>'</SAMP> flags.  If no matching revision is found,
-retrieve the most recent revision (instead of ignoring
-the file).
-
-<DT><CODE>-k <VAR>kflag</VAR></CODE>
-<DD>
-Process RCS keywords according to <VAR>kflag</VAR>.  See
-co(1).  This option is sticky; future updates of
-this file in this working directory will use the same
-<VAR>kflag</VAR>.  The <CODE>status</CODE> command can be viewed
-to see the sticky options.  See section <A 
HREF="cvs.html#SEC128">status--Display status information on checked out 
files</A>.
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.
-
-<DT><CODE>-n</CODE>
-<DD>
-Do not run any checkout program (as specified
-with the <SAMP>`-o'</SAMP> option in the modules file;
-see section <A HREF="cvs.html#SEC137">The modules file</A>).
-
-<DT><CODE>-P</CODE>
-<DD>
-Prune empty directories.
-
-<DT><CODE>-p</CODE>
-<DD>
-Pipe files to the standard output.
-
-<DT><CODE>-r <VAR>tag</VAR></CODE>
-<DD>
-Use revision <VAR>tag</VAR>.  This option is sticky, and implies 
<SAMP>`-P'</SAMP>.
-See section <A HREF="cvs.html#SEC54">Sticky tags</A>, for more information on 
sticky tags/dates.
-</DL>
-
-<P>
-In addition to those, you can use these special command
-options with <CODE>checkout</CODE>:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-A</CODE>
-<DD>
-Reset any sticky tags, dates, or <SAMP>`-k'</SAMP> options.
-See section <A HREF="cvs.html#SEC54">Sticky tags</A>, for more information on 
sticky tags/dates.
-
-<DT><CODE>-c</CODE>
-<DD>
-Copy the module file, sorted, to the standard output,
-instead of creating or modifying any files or
-directories in your working directory.
-
-<DT><CODE>-d <VAR>dir</VAR></CODE>
-<DD>
-Create a directory called <VAR>dir</VAR> for the working
-files, instead of using the module name.  Unless you
-also use <SAMP>`-N'</SAMP>, the paths created under <VAR>dir</VAR>
-will be as short as possible.
-
-<DT><CODE>-j <VAR>tag</VAR></CODE>
-<DD>
-With two <SAMP>`-j'</SAMP> options, merge changes from the
-revision specified with the first <SAMP>`-j'</SAMP> option to
-the revision specified with the second <SAMP>`j'</SAMP> option,
-into the working directory.
-
-With one <SAMP>`-j'</SAMP> option, merge changes from the
-ancestor revision to the revision specified with the
-<SAMP>`-j'</SAMP> option, into the working directory.  The
-ancestor revision is the common ancestor of the
-revision which the working directory is based on, and
-the revision specified in the <SAMP>`-j'</SAMP> option.
-
-In addition, each -j option can contain an optional
-date specification which, when used with branches, can
-limit the chosen revision to one within a specific
-date.  An optional date is specified by adding a colon
-(:) to the tag:
-<SAMP>`-j<VAR>Symbolic_Tag</VAR>:<VAR>Date_Specifier</VAR>'</SAMP>.
-
-See section <A HREF="cvs.html#SEC55">Merging</A>.
-
-<DT><CODE>-N</CODE>
-<DD>
-Only useful together with <SAMP>`-d <VAR>dir</VAR>'</SAMP>.  With this
-option, CVS will not shorten module paths in your
-working directory.  (Normally, CVS shortens paths as
-much as possible when you specify an explicit target
-directory).
-
-<DT><CODE>-s</CODE>
-<DD>
-Like <SAMP>`-c'</SAMP>, but include the status of all modules,
-and sort it by the status string.  See section <A HREF="cvs.html#SEC137">The 
modules file</A>, for
-info about the <SAMP>`-s'</SAMP> option that is used inside the
-modules file to set the module status.
-</DL>
-
-
-
-<H3><A NAME="SEC98" HREF="cvs.html#TOC98">checkout examples</A></H3>
-
-<P>
-Get a copy of the module <SAMP>`tc'</SAMP>:
-
-</P>
-
-<PRE>
-$ cvs checkout tc
-</PRE>
-
-<P>
-Get a copy of the module <SAMP>`tc'</SAMP> as it looked one day
-ago:
-
-</P>
-
-<PRE>
-$ cvs checkout -D yesterday tc
-</PRE>
-
-
-
-<H2><A NAME="SEC99" HREF="cvs.html#TOC99">commit--Check files into the 
repository</A></H2>
-<P>
-<A NAME="IDX342"></A>
-
-</P>
-
-<UL>
-<LI>
-
-Version 1.3 Synopsis: commit [-lnR] [-m 'log_message' |
--f file] [-r revision] [files...]
-<LI>
-
-Version 1.3.1 Synopsis: commit [-lnRf] [-m 'log_message' |
--F file] [-r revision] [files...]
-<LI>
-
-Requires: working directory, repository.
-<LI>
-
-Changes: repository.
-<LI>
-
-Synonym: ci
-</UL>
-
-<P>
-<STRONG>Warning:</STRONG> The <SAMP>`-f <VAR>file</VAR>'</SAMP> option will
-probably be renamed to <SAMP>`-F <VAR>file</VAR>'</SAMP>, and <SAMP>`-f'</SAMP>
-will be given a new behavior in future releases of CVS.
-
-</P>
-<P>
-Use <CODE>commit</CODE> when you want to incorporate changes
-from your working source files into the source
-repository.
-
-</P>
-<P>
-If you don't specify particular files to commit, all of
-the files in your working current directory are
-examined.  <CODE>commit</CODE> is careful to change in the
-repository only those files that you have really
-changed.  By default (or if you explicitly specify the
-<SAMP>`-R'</SAMP> option), files in subdirectories are also
-examined and committed if they have changed; you can
-use the <SAMP>`-l'</SAMP> option to limit <CODE>commit</CODE> to the
-current directory only.
-
-</P>
-<P>
-<CODE>commit</CODE> verifies that the selected files are up
-to date with the current revisions in the source
-repository; it will notify you, and exit without
-committing, if any of the specified files must be made
-current first with <CODE>update</CODE> (see section <A 
HREF="cvs.html#SEC132">update--Bring work tree in sync with repository</A>).
-<CODE>commit</CODE> does not call the <CODE>update</CODE> command
-for you, but rather leaves that for you to do when the
-time is right.
-
-</P>
-<P>
-When all is well, an editor is invoked to allow you to
-enter a log message that will be written to one or more
-logging programs (see section <A HREF="cvs.html#SEC137">The modules file</A>, 
and see section <A HREF="cvs.html#SEC144">Loginfo</A>)
-and placed in the RCS history file inside the
-repository.  This log message can be retrieved with the
-<CODE>log</CODE> command; See section <A HREF="cvs.html#SEC116">log--Print out 
log information for files</A>.  You can specify the
-log message on the command line with the <SAMP>`-m
-<VAR>message</VAR>'</SAMP> option, and thus avoid the editor invocation,
-or use the <SAMP>`-f <VAR>file</VAR>'</SAMP> option to specify
-that the argument file contains the log message.
-
-</P>
-
-
-
-<H3><A NAME="SEC100" HREF="cvs.html#TOC100">commit options</A></H3>
-
-<P>
-These standard options are supported by <CODE>commit</CODE>
-(see section <A HREF="cvs.html#SEC90">Common command options</A>, for a 
complete description of
-them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.
-
-<DT><CODE>-n</CODE>
-<DD>
-Do not run any module program.
-
-<DT><CODE>-R</CODE>
-<DD>
-Commit directories recursively.  This is on by default.
-
-<DT><CODE>-r <VAR>revision</VAR></CODE>
-<DD>
-Commit to <VAR>revision</VAR>.  <VAR>revision</VAR> must be
-either a branch, or a revision on the main trunk that
-is higher than any existing revision number.  You
-cannot commit to a specific revision on a branch.
-</DL>
-
-<P>
-<CODE>commit</CODE> also supports these options:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-F <VAR>file</VAR></CODE>
-<DD>
-This option is present in CVS releases 1.3-s3 and
-later.  Read the log message from <VAR>file</VAR>, instead
-of invoking an editor.
-
-<DT><CODE>-f</CODE>
-<DD>
-This option is present in CVS 1.3-s3 and later releases
-of CVS.  Note that this is not the standard behavior of
-the <SAMP>`-f'</SAMP> option as defined in See section <A 
HREF="cvs.html#SEC90">Common command options</A>.
-
-Force CVS to commit a new revision even if you haven't
-made any changes to the file.  If the current revision
-of <VAR>file</VAR> is 1.7, then the following two commands
-are equivalent:
-
-
-<PRE>
-$ cvs commit -f <VAR>file</VAR>
-$ cvs commit -r 1.8 <VAR>file</VAR>
-</PRE>
-
-<DT><CODE>-f <VAR>file</VAR></CODE>
-<DD>
-This option is present in CVS releases 1.3, 1.3-s1 and
-1.3-s2.  Note that this is not the standard behavior of
-the <SAMP>`-f'</SAMP> option as defined in See section <A 
HREF="cvs.html#SEC90">Common command options</A>.
-
-Read the log message from <VAR>file</VAR>, instead
-of invoking an editor.
-
-<DT><CODE>-m <VAR>message</VAR></CODE>
-<DD>
-Use <VAR>message</VAR> as the log message, instead of
-invoking an editor.
-</DL>
-
-
-
-<H3><A NAME="SEC101" HREF="cvs.html#TOC101">commit examples</A></H3>
-
-
-
-<H4><A NAME="SEC102" HREF="cvs.html#TOC102">New major release number</A></H4>
-
-<P>
-When you make a major release of your product, you
-might want the revision numbers to track your major
-release number.  You should normally not care about
-the revision numbers, but this is a thing that many
-people want to do, and it can be done without doing any
-harm.
-
-</P>
-<P>
-To bring all your files up to the RCS revision 3.0
-(including those that haven't changed), you might do:
-
-</P>
-
-<PRE>
-$ cvs commit -r 3.0
-</PRE>
-
-<P>
-Note that it is generally a bad idea to try to make the
-RCS revision number equal to the current release number
-of your product.  You should think of the revision
-number as an internal number that the CVS package
-maintains, and that you generally never need to care
-much about.  Using the <CODE>tag</CODE> and <CODE>rtag</CODE>
-commands you can give symbolic names to the releases
-instead.  See section <A HREF="cvs.html#SEC130">tag--Add a symbolic tag to 
checked out versions of files</A> and See section <A 
HREF="cvs.html#SEC126">rtag--Add a symbolic tag to a module</A>.
-
-</P>
-<P>
-Note that the number you specify with <SAMP>`-r'</SAMP> must be
-larger than any existing revision number.  That is, if
-revision 3.0 exists, you cannot <SAMP>`cvs commit
--r 1.3'</SAMP>.
-
-</P>
-
-
-<H4><A NAME="SEC103" HREF="cvs.html#TOC103">Committing to a branch</A></H4>
-
-<P>
-You can commit to a branch revision (one that has an
-even number of dots) with the <SAMP>`-r'</SAMP> option.  To
-create a branch revision, use the <SAMP>`-b'</SAMP> option
-of the <CODE>rtag</CODE> or <CODE>tag</CODE> commands (see section <A 
HREF="cvs.html#SEC130">tag--Add a symbolic tag to checked out versions of 
files</A>
-or see section <A HREF="cvs.html#SEC126">rtag--Add a symbolic tag to a 
module</A>).  Then, either <CODE>checkout</CODE> or
-<CODE>update</CODE> can be used to base your sources on the
-newly created branch.  From that point on, all
-<CODE>commit</CODE> changes made within these working sources
-will be automatically added to a branch revision,
-thereby not disturbing main-line development in any
-way.  For example, if you had to create a patch to the
-1.2 version of the product, even though the 2.0 version
-is already under development, you might do:
-
-</P>
-
-<PRE>
-$ cvs rtag -b -r FCS1_2 FCS1_2_Patch product_module
-$ cvs checkout -r FCS1_2_Patch product_module
-$ cd product_module
-[[ hack away ]]
-$ cvs commit
-</PRE>
-
-<P>
-This works automatically since the <SAMP>`-r'</SAMP> option is
-sticky.
-
-</P>
-
-
-<H4><A NAME="SEC104" HREF="cvs.html#TOC104">Creating the branch after 
editing</A></H4>
-
-<P>
-Say you have been working on some extremely
-experimental software, based on whatever revision you
-happened to checkout last week.  If others in your
-group would like to work on this software with you, but
-without disturbing main-line development, you could
-commit your change to a new branch.  Others can then
-checkout your experimental stuff and utilize the full
-benefit of CVS conflict resolution.  The scenario might
-look like:
-
-</P>
-
-<PRE>
-[[ hacked sources are present ]]
-$ cvs tag -b EXPR1
-$ cvs update -r EXPR1
-$ cvs commit
-</PRE>
-
-<P>
-The <CODE>update</CODE> command will make the <SAMP>`-r
-EXPR1'</SAMP> option sticky on all files.  Note that your
-changes to the files will never be removed by the
-<CODE>update</CODE> command.  The <CODE>commit</CODE> will
-automatically commit to the correct branch, because the
-<SAMP>`-r'</SAMP> is sticky.  You could also do like this:
-
-</P>
-
-<PRE>
-[[ hacked sources are present ]]
-$ cvs tag -b EXPR1
-$ cvs commit -r EXPR1
-</PRE>
-
-<P>
-but then, only those files that were changed by you
-will have the <SAMP>`-r EXPR1'</SAMP> sticky flag.  If you hack
-away, and commit without specifying the <SAMP>`-r EXPR1'</SAMP>
-flag, some files may accidentally end up on the main
-trunk.
-
-</P>
-<P>
-To work with you on the experimental change, others
-would simply do
-
-</P>
-
-<PRE>
-$ cvs checkout -r EXPR1 whatever_module
-</PRE>
-
-
-
-<H2><A NAME="SEC105" HREF="cvs.html#TOC105">diff--Run diffs between 
revisions</A></H2>
-<P>
-<A NAME="IDX343"></A>
-
-</P>
-
-<UL>
-<LI>
-
-Synopsis: diff [-l] [rcsdiff_options] [[-r rev1 | -D date1] [-r rev2 |  -D 
date2]] [files...]
-<LI>
-
-Requires: working directory, repository.
-<LI>
-
-Changes: nothing.
-</UL>
-
-<P>
-The <CODE>diff</CODE> command is used to compare different
-revisions of files.  The default action is to compare
-your working files with the revisions they were based
-on, and report any differences that are found.
-
-</P>
-<P>
-If any file names are given, only those files are
-compared.  If any directories are given, all files
-under them will be compared.
-
-</P>
-<P>
-The exit status will be 0 if no differences were found,
-1 if some differences were found, and 2 if any error
-occurred.
-
-</P>
-
-
-
-<H3><A NAME="SEC106" HREF="cvs.html#TOC106">diff options</A></H3>
-
-<P>
-These standard options are supported by <CODE>diff</CODE>
-(see section <A HREF="cvs.html#SEC90">Common command options</A>, for a 
complete description of
-them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-D <VAR>date</VAR></CODE>
-<DD>
-Use the most recent revision no later than <VAR>date</VAR>.
-See <SAMP>`-r'</SAMP> for how this affects the comparison.
-
-CVS can be configured to pass the <SAMP>`-D'</SAMP> option
-through to <CODE>rcsdiff</CODE> (which in turn passes it on
-to <CODE>diff</CODE>.  GNU diff uses <SAMP>`-D'</SAMP> as a way to
-put <CODE>cpp</CODE>-style <SAMP>`#define'</SAMP> statements around the output
-differences.  There is no way short of testing to
-figure out how CVS was configured.  In the default
-configuration CVS will use the <SAMP>`-D <VAR>date</VAR>'</SAMP> option.
-
-<DT><CODE>-k <VAR>kflag</VAR></CODE>
-<DD>
-Process RCS keywords according to <VAR>kflag</VAR>.  See
-co(1).
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.
-
-<DT><CODE>-R</CODE>
-<DD>
-Examine directories recursively.  This option is on by
-default.
-
-<DT><CODE>-r <VAR>tag</VAR></CODE>
-<DD>
-Compare with revision <VAR>tag</VAR>.  Zero, one or two
-<SAMP>`-r'</SAMP> options can be present.  With no <SAMP>`-r'</SAMP>
-option, the working file will be compared with the
-revision it was based on.  With one <SAMP>`-r'</SAMP>, that
-revision will be compared to your current working file.
-With two <SAMP>`-r'</SAMP> options those two revisions will be
-compared (and your working file will not affect the
-outcome in any way).
-
-One or both <SAMP>`-r'</SAMP> options can be replaced by a
-<SAMP>`-D <VAR>date</VAR>'</SAMP> option, described above.
-</DL>
-
-<P>
-Any other options that are found are passed through to
-<CODE>rcsdiff</CODE>, which in turn passes them to
-<CODE>diff</CODE>.  The exact meaning of the options depends
-on which <CODE>diff</CODE> you are using.  The long options
-introduced in GNU diff 2.0 are not yet supported in
-CVS.  See the documentation for your <CODE>diff</CODE> to see
-which options are supported.
-
-</P>
-
-
-<H3><A NAME="SEC107" HREF="cvs.html#TOC107">diff examples</A></H3>
-
-<P>
-The following line produces a Unidiff (<SAMP>`-u'</SAMP> flag)
-between revision 1.14 and 1.19 of
-<TT>`backend.c'</TT>.  Due to the <SAMP>`-kk'</SAMP> flag no
-keywords are substituted, so differences that only depend
-on keyword substitution are ignored.
-
-</P>
-
-<PRE>
-$ cvs diff -kk -u -r 1.14 -r 1.19 backend.c
-</PRE>
-
-<P>
-Suppose the experimental branch EXPR1 was based on a
-set of files tagged RELEASE_1_0.  To see what has
-happened on that branch, the following can be used:
-
-</P>
-
-<PRE>
-$ cvs diff -r RELEASE_1_0 -r EXPR1
-</PRE>
-
-<P>
-A command like this can be used to produce a context
-diff between two releases:
-
-</P>
-
-<PRE>
-$ cvs diff -c -r RELEASE_1_0 -r RELEASE_1_1 &#62; diffs
-</PRE>
-
-<P>
-If you are maintaining ChangeLogs, a command like the following
-just before you commit your changes may help you write
-the ChangeLog entry.  All local modifications that have
-not yet been committed will be printed.
-
-</P>
-
-<PRE>
-$ cvs diff -u | less
-</PRE>
-
-
-
-<H2><A NAME="SEC108" HREF="cvs.html#TOC108">export--Export sources from CVS, 
similar to checkout</A></H2>
-<P>
-<A NAME="IDX344"></A>
-
-</P>
-
-<UL>
-<LI>
-
-Synopsis: export [-flNn] [-r rev|-D date] [-k subst] [-d dir] module...
-<LI>
-
-Requires: repository.
-<LI>
-
-Changes: current directory.
-</UL>
-
-<P>
-This command is a variant of <CODE>checkout</CODE>; use it
-when you want a copy of the source for module without
-the CVS administrative directories.  For example, you
-might use <CODE>export</CODE> to prepare source for shipment
-off-site.  This command requires that you specify a
-date or tag (with <SAMP>`-D'</SAMP> or <SAMP>`-r'</SAMP>), so that you
-can count on reproducing the source you ship to others.
-
-</P>
-<P>
-One often would like to use <SAMP>`-kv'</SAMP> with <CODE>cvs
-export</CODE>.  This causes any RCS keywords to be
-expanded such that an import done at some other site
-will not lose the keyword revision information.  But be
-aware that doesn't handle an export containing binary
-files correctly.  Also be aware that after having used
-<SAMP>`-kv'</SAMP>, one can no longer use the <CODE>ident</CODE>
-command (which is part of the RCS suite--see
-ident(1)) which looks for RCS keyword strings.  If
-you want to be able to use <CODE>ident</CODE> you must not
-use <SAMP>`-kv'</SAMP>.
-
-</P>
-
-
-
-<H3><A NAME="SEC109" HREF="cvs.html#TOC109">export options</A></H3>
-
-<P>
-These standard options are supported by <CODE>export</CODE>
-(see section <A HREF="cvs.html#SEC90">Common command options</A>, for a 
complete description of
-them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-D <VAR>date</VAR></CODE>
-<DD>
-Use the most recent revision no later than <VAR>date</VAR>.
-
-<DT><CODE>-f</CODE>
-<DD>
-If no matching revision is found, retrieve the most
-recent revision (instead of ignoring the file).
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.
-
-<DT><CODE>-n</CODE>
-<DD>
-Do not run any checkout program.
-
-<DT><CODE>-R</CODE>
-<DD>
-Export directories recursively.  This is on by default.
-
-<DT><CODE>-r <VAR>tag</VAR></CODE>
-<DD>
-Use revision <VAR>tag</VAR>.
-</DL>
-
-<P>
-In addition, these options (that are common to
-<CODE>checkout</CODE> and <CODE>export</CODE>) are also supported:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-d <VAR>dir</VAR></CODE>
-<DD>
-Create a directory called <VAR>dir</VAR> for the working
-files, instead of using the module name.  Unless you
-also use <SAMP>`-N'</SAMP>, the paths created under <VAR>dir</VAR>
-will be as short as possible.
-
-<DT><CODE>-k <VAR>subst</VAR></CODE>
-<DD>
-Set keyword expansion mode (see section <A HREF="cvs.html#SEC81">Substitution 
modes</A>).
-
-<DT><CODE>-N</CODE>
-<DD>
-Only useful together with <SAMP>`-d <VAR>dir</VAR>'</SAMP>.  With this
-option, CVS will not shorten module paths in your
-working directory.  (Normally, CVS shortens paths as
-much as possible when you specify an explicit target
-directory.)
-</DL>
-
-
-
-<H2><A NAME="SEC110" HREF="cvs.html#TOC110">history--Show status of files and 
users</A></H2>
-<P>
-<A NAME="IDX345"></A>
-
-</P>
-
-<UL>
-<LI>
-
-Synopsis:     history [-report] [-flags] [-options args] [files...]
-<LI>
-
-Requires: the file <TT>`$CVSROOT/CVSROOT/history'</TT>
-<LI>
-
-Changes: nothing.
-</UL>
-
-<P>
-CVS can keep a history file that tracks each use of the
-<CODE>checkout</CODE>, <CODE>commit</CODE>, <CODE>rtag</CODE>,
-<CODE>update</CODE>, and <CODE>release</CODE> commands.  You can
-use <CODE>history</CODE> to display this information in
-various formats.
-
-</P>
-<P>
-Logging must be enabled by creating the file
-<TT>`$CVSROOT/CVSROOT/history'</TT>.
-
-</P>
-<P>
-<STRONG>Warning:</STRONG> <CODE>history</CODE> uses <SAMP>`-f'</SAMP>, 
<SAMP>`-l'</SAMP>,
-<SAMP>`-n'</SAMP>, and <SAMP>`-p'</SAMP> in ways that conflict with the
-normal use inside CVS (see section <A HREF="cvs.html#SEC90">Common command 
options</A>).
-
-</P>
-
-
-
-<H3><A NAME="SEC111" HREF="cvs.html#TOC111">history options</A></H3>
-
-<P>
-Several options (shown above as <SAMP>`-report'</SAMP>)  control  what
-kind of report is generated:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-c</CODE>
-<DD>
-Report on each time commit was used (i.e., each time
-the repository was modified).
-
-<DT><CODE>-e</CODE>
-<DD>
-Everything (all record types); equivalent to specifying
-<SAMP>`-xMACFROGWUT'</SAMP>.
-
-<DT><CODE>-m <VAR>module</VAR></CODE>
-<DD>
-Report on a particular module.  (You can meaningfully
-use <SAMP>`-m'</SAMP> more than once on the command line.)
-
-<DT><CODE>-o</CODE>
-<DD>
-Report on checked-out modules.
-
-<DT><CODE>-T</CODE>
-<DD>
-Report on all tags.
-
-<DT><CODE>-x <VAR>type</VAR></CODE>
-<DD>
-Extract a particular set of record types <VAR>type</VAR> from the CVS
-history.  The types are indicated by single letters,
-which you may specify in combination.  
-
-Certain commands have a single record type: 
-
-<DL COMPACT>
-
-<DT><CODE>F</CODE>
-<DD>
-release
-<DT><CODE>O</CODE>
-<DD>
-checkout
-<DT><CODE>T</CODE>
-<DD>
-rtag
-</DL>
-
-One of four record types may result from an update:
-
-<DL COMPACT>
-
-<DT><CODE>C</CODE>
-<DD>
-A merge was necessary but collisions were
-detected (requiring manual merging).  
-<DT><CODE>G</CODE>
-<DD>
-A merge was necessary and it succeeded.
-<DT><CODE>U</CODE>
-<DD>
-A working file was copied from the repository.
-<DT><CODE>W</CODE>
-<DD>
-The working copy of a file was deleted during
-update (because it was gone from the repository).
-</DL>
-
-One of three record types results from commit:
-
-<DL COMPACT>
-
-<DT><CODE>A</CODE>
-<DD>
-A file was added for the first time.
-<DT><CODE>M</CODE>
-<DD>
-A file was modified.
-<DT><CODE>R</CODE>
-<DD>
-A file was removed.
-</DL>
-</DL>
-
-<P>
-The options shown as <SAMP>`-flags'</SAMP> constrain or expand
-the report without requiring option arguments:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-a</CODE>
-<DD>
-Show data for all users (the default is to show data
-only for the user executing <CODE>history</CODE>).
-
-<DT><CODE>-l</CODE>
-<DD>
-Show last modification only.
-
-<DT><CODE>-w</CODE>
-<DD>
-Show only the records for modifications done from the
-same working directory where <CODE>history</CODE> is
-executing.
-</DL>
-
-<P>
-The options shown as <SAMP>`-options <VAR>args</VAR>'</SAMP> constrain the 
report
-based on an argument:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-b <VAR>str</VAR></CODE>
-<DD>
-Show data back to a record containing  the  string
-<VAR>str</VAR>  in  either the module name, the file name, or
-the repository path.
-
-<DT><CODE>-D <VAR>date</VAR></CODE>
-<DD>
-Show data since <VAR>date</VAR>.  This is slightly different
-from the normal use of <SAMP>`-D <VAR>date</VAR>'</SAMP>, which
-selects the newest revision older than <VAR>date</VAR>.
-
-<DT><CODE>-p <VAR>repository</VAR></CODE>
-<DD>
-Show data for a particular source repository  (you
-can specify several <SAMP>`-p'</SAMP> options on the same command
-line).
-
-<DT><CODE>-r <VAR>rev</VAR></CODE>
-<DD>
-Show records referring to revisions since the revision
-or tag named <VAR>rev</VAR> appears in individual RCS
-files.  Each RCS file is searched for the revision or
-tag.
-
-<DT><CODE>-t <VAR>tag</VAR></CODE>
-<DD>
-Show records since tag <VAR>tag</VAR> was last added to the the
-history file.  This differs from the <SAMP>`-r'</SAMP> flag
-above in that it reads only the history file, not the
-RCS files, and is much faster.
-
-<DT><CODE>-u <VAR>name</VAR></CODE>
-<DD>
-Show records for user <VAR>name</VAR>.
-</DL>
-
-
-
-<H2><A NAME="SEC112" HREF="cvs.html#TOC112">import--Import sources into CVS, 
using vendor branches</A></H2>
-<P>
-<A NAME="IDX346"></A>
-
-</P>
-
-<UL>
-<LI>
-
-Synopsis: import [-options] repository vendortag releasetag...
-<LI>
-
-Requires: Repository, source distribution directory.
-<LI>
-
-Changes: repository.
-</UL>
-
-<P>
-Use <CODE>import</CODE> to incorporate an entire source
-distribution from an outside source (e.g., a source
-vendor) into your source repository directory.  You can
-use this command both for initial creation of a
-repository, and for wholesale updates to the module
-from the outside source.  See section <A HREF="cvs.html#SEC63">Tracking 
third-party sources</A>, for
-a discussion on this subject.
-
-</P>
-<P>
-The <VAR>repository</VAR> argument gives a directory name
-(or a path to a directory) under the CVS root directory
-for repositories; if the directory did not exist,
-import creates it.
-
-</P>
-<P>
-When you use import for updates to source that has been
-modified in your source repository (since a prior
-import), it will notify you of any files that conflict
-in the two branches of development; use <SAMP>`checkout
--j'</SAMP> to reconcile the differences, as import instructs
-you to do.
-
-</P>
-<P>
-If CVS decides a file should be ignored
-(see section <A HREF="cvs.html#SEC148">Ignoring files via cvsignore</A>), it 
does not import it and prints
-<SAMP>`I '</SAMP> followed by the filename (see section <A 
HREF="cvs.html#SEC114">import output</A>, for a
-complete description of the output).
-
-</P>
-<P>
-If the file <TT>`$CVSROOT/CVSROOT/cvswrappers'</TT> exists,
-any file whose names match the specifications in that
-file will be treated as packages and the appropriate
-filtering will be performed on the file/directory
-before being imported, See section <A HREF="cvs.html#SEC138">The cvswrappers 
file</A>.
-
-</P>
-<P>
-The outside source is saved in a first-level RCS
-branch, by default 1.1.1.  Updates are leaves of this
-branch; for example, files from the first imported
-collection of source will be revision 1.1.1.1, then
-files from the first imported update will be revision
-1.1.1.2, and so on.
-
-</P>
-<P>
-At least three arguments are required.
-<VAR>repository</VAR> is needed to identify the collection
-of source.  <VAR>vendortag</VAR> is a tag for the entire
-branch (e.g., for 1.1.1).  You must also specify at
-least one <VAR>releasetag</VAR> to identify the files at
-the leaves created each time you execute <CODE>import</CODE>.
-
-</P>
-
-
-
-<H3><A NAME="SEC113" HREF="cvs.html#TOC113">import options</A></H3>
-
-<P>
-This standard option is supported by <CODE>import</CODE>
-(see section <A HREF="cvs.html#SEC90">Common command options</A>, for a 
complete description):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-m <VAR>message</VAR></CODE>
-<DD>
-Use <VAR>message</VAR> as log information, instead of
-invoking an editor.
-</DL>
-
-<P>
-There are three additional special options.
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-b <VAR>branch</VAR></CODE>
-<DD>
-Specify a first-level branch other than 1.1.1.  Unless
-the <SAMP>`-b <VAR>branch</VAR>'</SAMP> flag is given, revisions will
-<EM>always</EM> be made to the branch 1.1.1--even if a
-<VAR>vendortag</VAR> that matches another branch is given!
-What happens in that case, is that the tag will be
-reset to 1.1.1.  Warning: This behavior might change
-in the future.
-
-<DT><CODE>-k <VAR>subst</VAR></CODE>
-<DD>
-Indicate the RCS keyword expansion mode desired.  This
-setting will apply to all files created during the
-import, but not to any files that previously existed in
-the repository.  See section <A HREF="cvs.html#SEC81">Substitution modes</A> 
for a
-list of valid <SAMP>`-k'</SAMP> settings.
-
-<DT><CODE>-I <VAR>name</VAR></CODE>
-<DD>
-Specify file names that should be ignored during
-import.  You can use this option repeatedly.  To avoid
-ignoring any files at all (even those ignored by
-default), specify `-I !'.
-
-<VAR>name</VAR> can be a file name pattern of the same type
-that you can specify in the <TT>`.cvsignore'</TT> file.
-See section <A HREF="cvs.html#SEC148">Ignoring files via cvsignore</A>.
-
-<DT><CODE>-W <VAR>spec</VAR></CODE>
-<DD>
-Specify file names that should be filtered during
-import.  You can use this option repeatedly.
-
-<VAR>spec</VAR> can be a file name pattern of the same type
-that you can specify in the <TT>`.cvswrappers'</TT>
-file. See section <A HREF="cvs.html#SEC138">The cvswrappers file</A>.
-</DL>
-
-
-
-<H3><A NAME="SEC114" HREF="cvs.html#TOC114">import output</A></H3>
-
-<P>
-<CODE>import</CODE> keeps you informed of its progress by printing a line
-for each file, preceded by one character indicating the status of the file:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>U <VAR>file</VAR></CODE>
-<DD>
-The file already exists in the repository and has not been locally
-modified; a new revision has been created (if necessary).
-
-<DT><CODE>N <VAR>file</VAR></CODE>
-<DD>
-The file is a new file which has been added to the repository.
-
-<DT><CODE>C <VAR>file</VAR></CODE>
-<DD>
-The file already exists in the repository but has been locally modified;
-you will have to merge the changes.
-
-<DT><CODE>I <VAR>file</VAR></CODE>
-<DD>
-The file is being ignored (see section <A HREF="cvs.html#SEC148">Ignoring 
files via cvsignore</A>).
-
-<DT><CODE>L <VAR>file</VAR></CODE>
-<DD>
-The file is a symbolic link; at the moment (and for the forseeable
-future), symbolic links are ignored.
-(Various options in the <TT>`modules'</TT> file can be used
-to recreate symbolic links on checkout, update, etc.;
-see section <A HREF="cvs.html#SEC137">The modules file</A>.)
-</DL>
-
-
-
-<H3><A NAME="SEC115" HREF="cvs.html#TOC115">import examples</A></H3>
-
-<P>
-See section <A HREF="cvs.html#SEC63">Tracking third-party sources</A>, and See 
section <A HREF="cvs.html#SEC33">Creating a directory tree from a number of 
files</A>.
-
-</P>
-
-
-<H2><A NAME="SEC116" HREF="cvs.html#TOC116">log--Print out log information for 
files</A></H2>
-<P>
-<A NAME="IDX347"></A>
-
-</P>
-
-<UL>
-<LI>
-
-Synopsis: log [options] [files...]
-<LI>
-
-Requires: repository, working directory.
-<LI>
-
-Changes: nothing.
-</UL>
-
-<P>
-Display log information for files.  <CODE>log</CODE> used to
-call the RCS utility <CODE>rlog</CODE>.  Although this
-is no longer true in the current sources, this history
-determines the format of the output and the options,
-which are not quite in the style of the other CVS
-commands.
-
-</P>
-<P>
-<A NAME="IDX348"></A>
-<A NAME="IDX349"></A>
-The output includes the location of the RCS file,
-the <EM>head</EM> revision (the latest revision on the
-trunk), all symbolic names (tags) and some other
-things.  For each revision, the revision number, the
-author, the number of lines added/deleted and the log
-message are printed.  All times are displayed in
-Coordinated Universal Time (UTC).  (Other parts of
-CVS print times in the local timezone).
-
-</P>
-
-
-
-<H3><A NAME="SEC117" HREF="cvs.html#TOC117">log options</A></H3>
-
-<P>
-By default, <CODE>log</CODE> prints all information that is
-available.  All other options restrict the output.
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-b</CODE>
-<DD>
-Print information about the revisions on the default
-branch, normally the highest branch on the trunk.
-
-<DT><CODE>-d <VAR>dates</VAR></CODE>
-<DD>
-Print information about revisions with a checkin
-date/time in the range given by the
-semicolon-separated list of dates.  The date formats
-accepted are those accepted by the <SAMP>`-D'</SAMP> option to
-many other CVS commands (see section <A HREF="cvs.html#SEC90">Common command 
options</A>).
-Dates can be combined into ranges as follows:
-
-<DL COMPACT>
-
-<DT><CODE><VAR>d1</VAR>&#60;<VAR>d2</VAR></CODE>
-<DD>
-<DT><CODE><VAR>d2</VAR>&#62;<VAR>d1</VAR></CODE>
-<DD>
-Select the revisions that were deposited between
-<VAR>d1</VAR> and <VAR>d2</VAR>.
-
-<DT><CODE>&#60;<VAR>d</VAR></CODE>
-<DD>
-<DT><CODE><VAR>d</VAR>&#62;</CODE>
-<DD>
-Select all revisions dated <VAR>d</VAR> or earlier.
-
-<DT><CODE><VAR>d</VAR>&#60;</CODE>
-<DD>
-<DT><CODE>&#62;<VAR>d</VAR></CODE>
-<DD>
-Select all revisions dated <VAR>d</VAR> or later.
-
-<DT><CODE><VAR>d</VAR></CODE>
-<DD>
-Select the single, latest revision dated <VAR>d</VAR> or
-earlier.
-</DL>
-
-The <SAMP>`&#62;'</SAMP> or <SAMP>`&#60;'</SAMP> characters may be followed by
-<SAMP>`='</SAMP> to indicate an inclusive range rather than an
-exclusive one.
-
-Note that the separator is a semicolon (;).
-
-<DT><CODE>-h</CODE>
-<DD>
-Print only the RCS pathname, working pathname, head,
-default branch, access list, locks, symbolic names, and
-suffix.
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.  (Default
-is to run recursively).
-
-<DT><CODE>-N</CODE>
-<DD>
-Do not print the list of tags for this file.  This
-option can be very useful when your site uses a lot of
-tags, so rather than "more"'ing over 3 pages of tag
-information, the log information is presented without
-tags at all.  
-
-<DT><CODE>-R</CODE>
-<DD>
-Print only the name of the RCS history file.
-
-<DT><CODE>-r<VAR>revisions</VAR></CODE>
-<DD>
-Print information about revisions given in the
-comma-separated list <VAR>revisions</VAR> of revisions and
-ranges.  The following table explains the available
-range formats:
-
-<DL COMPACT>
-
-<DT><CODE><VAR>rev1</VAR>:<VAR>rev2</VAR></CODE>
-<DD>
-Revisions <VAR>rev1</VAR> to <VAR>rev2</VAR> (which must be on
-the same branch).
-
-<DT><CODE>:<VAR>rev</VAR></CODE>
-<DD>
-Revisions from the beginning of the branch up to
-and including <VAR>rev</VAR>.
-
-<DT><CODE><VAR>rev</VAR>:</CODE>
-<DD>
-Revisions starting with <VAR>rev</VAR> to the end of the
-branch containing <VAR>rev</VAR>.
-
-<DT><CODE><VAR>branch</VAR></CODE>
-<DD>
-An argument that is a branch means all revisions on
-that branch.
-
-<DT><CODE><VAR>branch1</VAR>:<VAR>branch2</VAR></CODE>
-<DD>
-A range of branches means all revisions
-on the branches in that range.
-
-<DT><CODE><VAR>branch</VAR>.</CODE>
-<DD>
-The latest revision in <VAR>branch</VAR>.
-</DL>
-
-A bare <SAMP>`-r'</SAMP> with no revisions means the latest
-revision on the default branch, normally the trunk.
-There can be no space between the <SAMP>`-r'</SAMP> option and
-its argument.
-
-<DT><CODE>-s <VAR>states</VAR></CODE>
-<DD>
-Print information about revisions whose state
-attributes match one of the states given in the
-comma-separated list <VAR>states</VAR>.
-
-<DT><CODE>-t</CODE>
-<DD>
-Print the same as <SAMP>`-h'</SAMP>, plus the descriptive text.
-
-<DT><CODE>-w<VAR>logins</VAR></CODE>
-<DD>
-Print information about revisions checked in by users
-with login names appearing in the comma-separated list
-<VAR>logins</VAR>.  If <VAR>logins</VAR> is omitted, the user's
-login is assumed.  There can be no space between the
-<SAMP>`-w'</SAMP> option and its argument.
-</DL>
-
-<P>
-<CODE>log</CODE> prints the intersection of the revisions
-selected with the options <SAMP>`-d'</SAMP>, <SAMP>`-s'</SAMP>, and
-<SAMP>`-w'</SAMP>, intersected with the union of the revisions
-selected by <SAMP>`-b'</SAMP> and <SAMP>`-r'</SAMP>.
-
-</P>
-
-
-<H3><A NAME="SEC118" HREF="cvs.html#TOC118">log examples</A></H3>
-
-<P>
-Contributed examples are gratefully accepted.
-
-</P>
-
-
-<H2><A NAME="SEC119" HREF="cvs.html#TOC119">rdiff---'patch' format diffs 
between releases</A></H2>
-<P>
-<A NAME="IDX350"></A>
-
-</P>
-
-<UL>
-<LI>
-
-rdiff [-flags] [-V vn] [-r t|-D d [-r t2|-D d2]] modules...
-<LI>
-
-Requires: repository.
-<LI>
-
-Changes: nothing.
-<LI>
-
-Synonym: patch
-</UL>
-
-<P>
-Builds a Larry Wall format patch(1) file between two
-releases, that can be fed directly into the patch
-program to bring an old release up-to-date with the new
-release.  (This is one of the few CVS commands that
-operates directly from the repository, and doesn't
-require a prior checkout.) The diff output is sent to
-the standard output device.
-
-</P>
-<P>
-You can specify (using the standard <SAMP>`-r'</SAMP> and
-<SAMP>`-D'</SAMP> options) any combination of one or two
-revisions or dates.  If only one revision or date is
-specified, the patch file reflects differences between
-that revision or date and the current head revisions in
-the RCS file.
-
-</P>
-<P>
-Note that if the software release affected is contained
-in more than one directory, then it may be necessary to
-specify the <SAMP>`-p'</SAMP> option to the patch command when
-patching the old sources, so that patch is able to find
-the files that are located in other directories.
-
-</P>
-
-
-
-<H3><A NAME="SEC120" HREF="cvs.html#TOC120">rdiff options</A></H3>
-
-<P>
-These standard options are supported by <CODE>rdiff</CODE>
-(see section <A HREF="cvs.html#SEC90">Common command options</A>, for a 
complete description of
-them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-D <VAR>date</VAR></CODE>
-<DD>
-Use the most recent revision no later than <VAR>date</VAR>.
-
-<DT><CODE>-f</CODE>
-<DD>
-If no matching revision is found, retrieve the most
-recent revision (instead of ignoring the file).
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; don't descend subdirectories.
-
-<DT><CODE>-r <VAR>tag</VAR></CODE>
-<DD>
-Use revision <VAR>tag</VAR>.
-</DL>
-
-<P>
-In addition to the above, these options are available:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-c</CODE>
-<DD>
-Use the context diff format.  This is the default format.
-
-<DT><CODE>-s</CODE>
-<DD>
-Create a summary change report instead of a patch.  The
-summary includes information about files that were
-changed or added between the releases.  It is sent to
-the standard output device.  This is useful for finding
-out, for example, which files have changed between two
-dates or revisions.
-
-<DT><CODE>-t</CODE>
-<DD>
-A diff of the top two revisions is sent to the standard
-output device.  This is most useful for seeing what the
-last change to a file was.
-
-<DT><CODE>-u</CODE>
-<DD>
-Use the unidiff format for the context diffs.
-This option is not available if your diff does not
-support the unidiff format.  Remember that old versions
-of the <CODE>patch</CODE> program can't handle the unidiff
-format, so if you plan to post this patch to the net
-you should probably not use <SAMP>`-u'</SAMP>.
-
-<DT><CODE>-V <VAR>vn</VAR></CODE>
-<DD>
-Expand RCS keywords according to the rules current in
-RCS version <VAR>vn</VAR> (the expansion format changed with
-RCS version 5).
-</DL>
-
-
-
-<H3><A NAME="SEC121" HREF="cvs.html#TOC121">rdiff examples</A></H3>
-
-<P>
-Suppose you receive mail from <TT>address@hidden</TT> asking for an
-update from release 1.2 to 1.4 of the tc compiler.  You
-have no such patches on hand, but with CVS that can
-easily be fixed with a command such as this:
-
-</P>
-
-<PRE>
-$ cvs rdiff -c -r FOO1_2 -r FOO1_4 tc | \
-$$ Mail -s 'The patches you asked for' address@hidden
-</PRE>
-
-<P>
-Suppose you have made release 1.3, and forked a branch
-called <SAMP>`R_1_3fix'</SAMP> for bugfixes.  <SAMP>`R_1_3_1'</SAMP>
-corresponds to release 1.3.1, which was made some time
-ago.  Now, you want to see how much development has been
-done on the branch.  This command can be used:
-
-</P>
-
-<PRE>
-$ cvs patch -s -r R_1_3_1 -r R_1_3fix module-name
-cvs rdiff: Diffing module-name
-File ChangeLog,v changed from revision 1.52.2.5 to 1.52.2.6
-File foo.c,v changed from revision 1.52.2.3 to 1.52.2.4
-File bar.h,v changed from revision 1.29.2.1 to 1.2
-</PRE>
-
-
-
-<H2><A NAME="SEC122" HREF="cvs.html#TOC122">release--Indicate that a Module is 
no longer in use</A></H2>
-<P>
-<A NAME="IDX351"></A>
-
-</P>
-
-<UL>
-<LI>
-
-release [-d] directories...
-<LI>
-
-Requires: Working directory.
-<LI>
-
-Changes: Working directory, history log.
-</UL>
-
-<P>
-This command is meant to safely cancel the effect of
-<SAMP>`cvs checkout'</SAMP>.  Since CVS doesn't lock files, it
-isn't strictly necessary to use this command.  You can
-always simply delete your working directory, if you
-like; but you risk losing changes you may have
-forgotten, and you leave no trace in the CVS history
-file (see section <A HREF="cvs.html#SEC149">The history file</A>) that you've 
abandoned your
-checkout.
-
-</P>
-<P>
-Use <SAMP>`cvs release'</SAMP> to avoid these problems.  This
-command checks that no uncommitted changes are
-present; that you are executing it from immediately
-above a CVS working directory; and that the repository
-recorded for your files is the same as the repository
-defined in the module database.
-
-</P>
-<P>
-If all these conditions are true, <SAMP>`cvs release'</SAMP>
-leaves a record of its execution (attesting to your
-intentionally abandoning your checkout) in the CVS
-history log.
-
-</P>
-
-
-
-<H3><A NAME="SEC123" HREF="cvs.html#TOC123">release options</A></H3>
-
-<P>
-The <CODE>release</CODE> command supports one command option:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-d</CODE>
-<DD>
-Delete your working copy of the file if the release
-succeeds.  If this flag is not given your files will
-remain in your working directory.
-
-<STRONG>Warning:</STRONG>  The <CODE>release</CODE> command deletes
-all directories and files recursively.  This
-has the very serious side-effect that any directory
-that you have created inside your checked-out sources,
-and not added to the repository (using the <CODE>add</CODE>
-command; see section <A HREF="cvs.html#SEC61">Adding files to a directory</A>) 
will be silently deleted--even
-if it is non-empty!
-</DL>
-
-
-
-<H3><A NAME="SEC124" HREF="cvs.html#TOC124">release output</A></H3>
-
-<P>
-Before <CODE>release</CODE> releases your sources it will
-print a one-line message for any file that is not
-up-to-date.  
-
-</P>
-<P>
-<STRONG>Warning:</STRONG>  Any new directories that you have
-created, but not added to the CVS directory hierarchy
-with the <CODE>add</CODE> command (see section <A HREF="cvs.html#SEC61">Adding 
files to a directory</A>) will be
-silently ignored (and deleted, if <SAMP>`-d'</SAMP> is
-specified), even if they contain files.
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>U <VAR>file</VAR></CODE>
-<DD>
-There exists a newer revision of this file in the
-repository, and you have not modified your local copy
-of the file.
-
-<DT><CODE>A <VAR>file</VAR></CODE>
-<DD>
-The file has been added to your private copy of the
-sources, but has not yet been committed to the
-repository.  If you delete your copy of the sources
-this file will be lost.
-
-<DT><CODE>R <VAR>file</VAR></CODE>
-<DD>
-The file has been removed from your private copy of the
-sources, but has not yet been removed from the
-repository, since you have not yet committed the
-removal.  See section <A HREF="cvs.html#SEC99">commit--Check files into the 
repository</A>.
-
-<DT><CODE>M <VAR>file</VAR></CODE>
-<DD>
-The file is modified in your working directory.  There
-might also be a newer revision inside the repository.
-
-<DT><CODE>? <VAR>file</VAR></CODE>
-<DD>
-<VAR>file</VAR> is in your working directory, but does not
-correspond to anything in the source repository, and is
-not in the list of files for CVS to ignore (see the
-description of the <SAMP>`-I'</SAMP> option, and
-see section <A HREF="cvs.html#SEC148">Ignoring files via cvsignore</A>).  If 
you remove your working
-sources, this file will be lost.
-
-Note that no warning message like this is printed for
-spurious directories that CVS encounters.  The
-directory, and all its contents, are silently ignored.
-
-</DL>
-
-
-
-<H3><A NAME="SEC125" HREF="cvs.html#TOC125">release examples</A></H3>
-
-<P>
-Release the module, and delete your local working copy
-of the files.
-
-</P>
-
-<PRE>
-$ cd ..         # You must stand immediately above the
-                # sources when you issue <SAMP>`cvs release'</SAMP>.
-$ cvs release -d tc
-You have [0] altered files in this repository.
-Are you sure you want to release (and delete) module `tc': y
-$
-</PRE>
-
-
-
-<H2><A NAME="SEC126" HREF="cvs.html#TOC126">rtag--Add a symbolic tag to a 
module</A></H2>
-<P>
-<A NAME="IDX352"></A>
-
-</P>
-
-<UL>
-<LI>
-
-rtag [-falnR] [-b] [-d] [-r tag | -Ddate] symbolic_tag modules...
-<LI>
-
-Requires: repository.
-<LI>
-
-Changes: repository.
-<LI>
-
-Synonym: rfreeze
-</UL>
-
-<P>
-You can use this command to assign symbolic tags to
-particular, explicitly specified source revisions in
-the repository.  <CODE>rtag</CODE> works directly on the
-repository contents (and requires no prior checkout).
-Use <CODE>tag</CODE> instead (see section <A HREF="cvs.html#SEC130">tag--Add a 
symbolic tag to checked out versions of files</A>), to base the
-selection of revisions on the contents of your
-working directory.
-
-</P>
-<P>
-If you attempt to use a tag name that already exists,
-CVS will complain and not overwrite that tag.  Use
-the <SAMP>`-F'</SAMP> option to force the new tag value.
-
-</P>
-
-
-
-<H3><A NAME="SEC127" HREF="cvs.html#TOC127">rtag options</A></H3>
-
-<P>
-These standard options are supported by <CODE>rtag</CODE>
-(see section <A HREF="cvs.html#SEC90">Common command options</A>, for a 
complete description of
-them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-D <VAR>date</VAR></CODE>
-<DD>
-Tag the most recent revision no later than <VAR>date</VAR>.
-
-<DT><CODE>-f</CODE>
-<DD>
-Only useful with the <SAMP>`-D <VAR>date</VAR>'</SAMP> or <SAMP>`-r 
<VAR>tag</VAR>'</SAMP>
-flags.  If no matching revision is found, use the most
-recent revision (instead of ignoring the file).
-
-<DT><CODE>-F</CODE>
-<DD>
-Overwrite an existing tag of the same name on a
-different revision.  This option is new in CVS
-1.4.  The old behavior is matched by <SAMP>`cvs tag -F'</SAMP>.
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.
-
-<DT><CODE>-n</CODE>
-<DD>
-Do not run any tag program that was specified with the
-<SAMP>`-t'</SAMP> flag inside the <TT>`modules'</TT> file.
-(see section <A HREF="cvs.html#SEC137">The modules file</A>).
-
-<DT><CODE>-R</CODE>
-<DD>
-Commit directories recursively.  This is on by default.
-
-<DT><CODE>-r <VAR>tag</VAR></CODE>
-<DD>
-Only tag those files that contain <VAR>tag</VAR>.  This can
-be used to rename a tag: tag only the files identified
-by the old tag, then delete the old tag, leaving the
-new tag on exactly the same files as the old tag.
-</DL>
-
-<P>
-In addition to the above common options, these options
-are available:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-a</CODE>
-<DD>
-Use the <SAMP>`-a'</SAMP> option to have <CODE>rtag</CODE> look in the
-<TT>`Attic'</TT> (see section <A HREF="cvs.html#SEC62">Removing files from a 
module</A>) for removed files
-that contain the specified tag.  The tag is removed from
-these files, which makes it convenient to re-use a
-symbolic tag as development continues (and files get
-removed from the up-coming distribution).
-
-<DT><CODE>-b</CODE>
-<DD>
-Make the tag a branch tag.  See section <A HREF="cvs.html#SEC50">Branches</A>.
-
-<DT><CODE>-d</CODE>
-<DD>
-Delete the tag instead of creating it.
-
-In general, tags (often the symbolic names of software
-distributions) should not be removed, but the <SAMP>`-d'</SAMP>
-option is available as a means to remove completely
-obsolete symbolic names if necessary (as might be the
-case for an Alpha release, or if you mistagged a
-module).
-</DL>
-
-
-
-<H2><A NAME="SEC128" HREF="cvs.html#TOC128">status--Display status information 
on checked out files</A></H2>
-<P>
-<A NAME="IDX353"></A>
-
-</P>
-
-
-<UL>
-<LI>
-
-status [-lR] [-v] [files...]
-<LI>
-
-Requires: working directory, repository.
-<LI>
-
-Changes: nothing.
-</UL>
-
-<P>
-Display a brief report on the current status of files
-with respect to the source repository.  For information
-on the basic output see section <A HREF="cvs.html#SEC38">File status</A>.  For
-information on the <CODE>Sticky tag</CODE> and <CODE>Sticky
-date</CODE> output, see section <A HREF="cvs.html#SEC54">Sticky tags</A>.  For 
information
-on the <CODE>Sticky options</CODE> output, see the <SAMP>`-k'</SAMP>
-option in section <A HREF="cvs.html#SEC133">update options</A>.
-
-</P>
-<P>
-You can also use this command to determine the
-potential impact of a <SAMP>`cvs update'</SAMP> on your working
-source directory--but remember that things might
-change in the repository before you run <CODE>update</CODE>.
-
-</P>
-
-
-
-<H3><A NAME="SEC129" HREF="cvs.html#TOC129">status options</A></H3>
-
-<P>
-These standard options are supported by <CODE>status</CODE>
-(see section <A HREF="cvs.html#SEC90">Common command options</A>, for a 
complete description of
-them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.
-
-<DT><CODE>-R</CODE>
-<DD>
-Commit directories recursively.  This is on by default.
-</DL>
-
-<P>
-There is one additional option:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-v</CODE>
-<DD>
-Verbose.  In addition to the information normally
-displayed, print all symbolic tags, together with the
-numerical value of the revision or branch they refer
-to.  For more information, see section <A HREF="cvs.html#SEC51">Tags--Symbolic 
revisions</A>
-</DL>
-
-
-
-<H2><A NAME="SEC130" HREF="cvs.html#TOC130">tag--Add a symbolic tag to checked 
out versions of files</A></H2>
-<P>
-<A NAME="IDX354"></A>
-
-</P>
-
-<UL>
-<LI>
-
-tag [-lR] [-b] [-c] [-d] symbolic_tag [files...]
-<LI>
-
-Requires: working directory, repository.
-<LI>
-
-Changes: repository.
-<LI>
-
-Synonym: freeze
-</UL>
-
-<P>
-Use this command to assign symbolic tags to the nearest
-repository versions to your working sources.  The tags
-are applied immediately to the repository, as with
-<CODE>rtag</CODE>, but the versions are supplied implicitly by the
-CVS records of your working files' history rather than
-applied explicitly.
-
-</P>
-<P>
-One use for tags is to record a snapshot of the
-current sources when the software freeze date of a
-project arrives.  As bugs are fixed after the freeze
-date, only those changed sources that are to be part of
-the release need be re-tagged.
-
-</P>
-<P>
-The symbolic tags are meant to permanently record which
-revisions of which files were used in creating a
-software distribution.  The <CODE>checkout</CODE> and
-<CODE>update</CODE> commands allow you to extract an exact
-copy of a tagged release at any time in the future,
-regardless of whether files have been changed, added,
-or removed since the release was tagged.
-
-</P>
-<P>
-This command can also be used to delete a symbolic tag,
-or to create a branch.  See the options section below.
-
-</P>
-<P>
-If you attempt to use a tag name that already exists,
-CVS will complain and not overwrite that tag.  Use
-the <SAMP>`-F'</SAMP> option to force the new tag value.
-
-</P>
-
-
-
-<H3><A NAME="SEC131" HREF="cvs.html#TOC131">tag options</A></H3>
-
-<P>
-These standard options are supported by <CODE>tag</CODE>
-(see section <A HREF="cvs.html#SEC90">Common command options</A>, for a 
complete description of
-them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-F</CODE>
-<DD>
-Overwrite an existing tag of the same name on a
-different revision.  This option is new in CVS
-1.4.  The old behavior is matched by <SAMP>`cvs tag -F'</SAMP>.
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.
-
-<DT><CODE>-R</CODE>
-<DD>
-Commit directories recursively.  This is on by default.
-</DL>
-
-<P>
-Two special options are available:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-b</CODE>
-<DD>
-The -b option makes the tag a branch tag
-(see section <A HREF="cvs.html#SEC50">Branches</A>), allowing concurrent, 
isolated
-development.  This is most useful for creating a patch
-to a previously released software distribution.
-
-<DT><CODE>-c</CODE>
-<DD>
-The -c option checks that all files which are to be tagged are
-unmodified.  This can be used to make sure that you can reconstruct the
-current file contents.
-
-<DT><CODE>-d</CODE>
-<DD>
-Delete a tag.
-
-If you use <SAMP>`cvs tag -d symbolic_tag'</SAMP>, the symbolic
-tag you specify is deleted instead of being added.
-Warning: Be very certain of your ground before you
-delete a tag; doing this permanently discards some
-historical information, which may later turn out to
-be valuable.
-</DL>
-
-
-
-<H2><A NAME="SEC132" HREF="cvs.html#TOC132">update--Bring work tree in sync 
with repository</A></H2>
-<P>
-<A NAME="IDX355"></A>
-
-</P>
-
-<UL>
-<LI>
-
-update [-AdflPpR] [-d] [-r tag|-D date] files...
-<LI>
-
-Requires: repository, working directory.
-<LI>
-
-Changes: working directory.
-</UL>
-
-<P>
-After you've run checkout to create your private copy
-of source from the common repository, other developers
-will continue changing the central source.  From time
-to time, when it is convenient in your development
-process, you can use the <CODE>update</CODE> command from
-within your working directory to reconcile your work
-with any revisions applied to the source repository
-since your last checkout or update.
-
-</P>
-
-
-
-<H3><A NAME="SEC133" HREF="cvs.html#TOC133">update options</A></H3>
-
-<P>
-These standard options are available with <CODE>update</CODE>
-(see section <A HREF="cvs.html#SEC90">Common command options</A>, for a 
complete description of
-them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-D date</CODE>
-<DD>
-Use the most recent revision no later than <VAR>date</VAR>.
-This option is sticky, and implies <SAMP>`-P'</SAMP>.
-See section <A HREF="cvs.html#SEC54">Sticky tags</A>, for more information on 
sticky tags/dates.
-
-<DT><CODE>-f</CODE>
-<DD>
-Only useful with the <SAMP>`-D <VAR>date</VAR>'</SAMP> or <SAMP>`-r
-<VAR>tag</VAR>'</SAMP> flags.  If no matching revision is found,
-retrieve the most recent revision (instead of ignoring
-the file).
-
-<DT><CODE>-k <VAR>kflag</VAR></CODE>
-<DD>
-Process RCS keywords according to <VAR>kflag</VAR>.  See
-co(1).  This option is sticky; future updates of
-this file in this working directory will use the same
-<VAR>kflag</VAR>.  The <CODE>status</CODE> command can be viewed
-to see the sticky options.  See section <A 
HREF="cvs.html#SEC128">status--Display status information on checked out 
files</A>.
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.  See section <A 
HREF="cvs.html#SEC60">Recursive behavior</A>.
-
-<DT><CODE>-P</CODE>
-<DD>
-Prune empty directories.
-
-<DT><CODE>-p</CODE>
-<DD>
-Pipe files to the standard output.
-
-<DT><CODE>-R</CODE>
-<DD>
-Operate recursively.  This is on by default.
-See section <A HREF="cvs.html#SEC60">Recursive behavior</A>.
-
-<DT><CODE>-r tag</CODE>
-<DD>
-Retrieve revision <VAR>tag</VAR>.  This option is sticky,
-and implies <SAMP>`-P'</SAMP>.
-See section <A HREF="cvs.html#SEC54">Sticky tags</A>, for more information on 
sticky tags/dates.
-</DL>
-
-<P>
-These special options are also available with
-<CODE>update</CODE>.
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-A</CODE>
-<DD>
-Reset any sticky tags, dates, or <SAMP>`-k'</SAMP> options.
-See section <A HREF="cvs.html#SEC54">Sticky tags</A>, for more information on 
sticky tags/dates.
-
-<DT><CODE>-d</CODE>
-<DD>
-Create any directories that exist in the repository if
-they're missing from the working directory.  Normally,
-<CODE>update</CODE> acts only on directories and files that
-were already enrolled in your working directory.  
-
-This is useful for updating directories that were
-created in the repository since the initial checkout;
-but it has an unfortunate side effect.  If you
-deliberately avoided certain directories in the
-repository when you created your working directory
-(either through use of a module name or by listing
-explicitly the files and directories you wanted on the
-command line), then updating with <SAMP>`-d'</SAMP> will create
-those directories, which may not be what you want.
-
-<DT><CODE>-I <VAR>name</VAR></CODE>
-<DD>
-Ignore files whose names match <VAR>name</VAR> (in your
-working directory) during the update.  You can specify
-<SAMP>`-I'</SAMP> more than once on the command line to specify
-several files to ignore.  Use <SAMP>`-I !'</SAMP> to avoid
-ignoring any files at all.  See section <A HREF="cvs.html#SEC148">Ignoring 
files via cvsignore</A>, for other
-ways to make CVS ignore some files.
-
-<DT><CODE>-W<VAR>spec</VAR></CODE>
-<DD>
-Specify file names that should be filtered during
-update.  You can use this option repeatedly.
-
-<VAR>spec</VAR> can be a file name pattern of the same type
-that you can specify in the <TT>`.cvswrappers'</TT>
-file. See section <A HREF="cvs.html#SEC138">The cvswrappers file</A>.
-
-<DT><CODE>-j<VAR>revision</VAR></CODE>
-<DD>
-With two <SAMP>`-j'</SAMP> options, merge changes from the
-revision specified with the first <SAMP>`-j'</SAMP> option to
-the revision specified with the second <SAMP>`j'</SAMP> option,
-into the working directory.
-
-With one <SAMP>`-j'</SAMP> option, merge changes from the
-ancestor revision to the revision specified with the
-<SAMP>`-j'</SAMP> option, into the working directory.  The
-ancestor revision is the common ancestor of the
-revision which the working directory is based on, and
-the revision specified in the <SAMP>`-j'</SAMP> option.
-
-In addition, each -j option can contain an optional
-date specification which, when used with branches, can
-limit the chosen revision to one within a specific
-date.  An optional date is specified by adding a colon
-(:) to the tag:
-<SAMP>`-j<VAR>Symbolic_Tag</VAR>:<VAR>Date_Specifier</VAR>'</SAMP>.
-
-See section <A HREF="cvs.html#SEC55">Merging</A>.
-
-</DL>
-
-
-
-<H3><A NAME="SEC134" HREF="cvs.html#TOC134">update output</A></H3>
-
-<P>
-<CODE>update</CODE> and <CODE>checkout</CODE> keep you informed of
-its progress by printing a line for each file, preceded
-by one character indicating the status of the file:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>U <VAR>file</VAR></CODE>
-<DD>
-The file was brought up to date with respect to the
-repository.  This is done for any file that exists in
-the repository but not in your source, and for files
-that you haven't changed but are not the most recent
-versions available in the repository.
-
-<DT><CODE>A <VAR>file</VAR></CODE>
-<DD>
-The file has been added to your private copy of the
-sources, and will be added to the source repository
-when you run <CODE>commit</CODE> on the file.  This is a
-reminder to you that the file needs to be committed.
-
-<DT><CODE>R <VAR>file</VAR></CODE>
-<DD>
-The file has been removed from your private copy of the
-sources, and will be removed from the source repository
-when you run <CODE>commit</CODE> on the file.  This is a
-reminder to you that the file needs to be committed.
-
-<DT><CODE>M <VAR>file</VAR></CODE>
-<DD>
-The file is modified in  your  working  directory.
-
-<SAMP>`M'</SAMP> can indicate one of two states for a file
-you're working on: either there were no modifications
-to the same file in the repository, so that your file
-remains as you last saw it; or there were modifications
-in the repository as well as in your copy, but they
-were merged successfully, without conflict, in your
-working directory.
-
-CVS will print some messages if it merges your work,
-and a backup copy of your working file (as it looked
-before you ran <CODE>update</CODE>) will be made.  The exact
-name of that file is printed while <CODE>update</CODE> runs.
-
-<DT><CODE>C <VAR>file</VAR></CODE>
-<DD>
-<A NAME="IDX356"></A>
-<A NAME="IDX357"></A>
-A conflict was detected while trying to merge your
-changes to <VAR>file</VAR> with changes from the source
-repository.  <VAR>file</VAR> (the copy in your working
-directory) is now the output of the rcsmerge(1) command
-on the two revisions; an unmodified copy of your file
-is also in your working directory, with the name
-<TT>`.#<VAR>file</VAR>.<VAR>revision</VAR>'</TT> where <VAR>revision</VAR>
-is the RCS revision that your modified file started
-from.  Resolve the conflict as described in
-section <A HREF="cvs.html#SEC40">Conflicts example</A>
-(Note that some systems automatically purge
-files that begin with <TT>`.#'</TT> if they have not been
-accessed for a few days.  If you intend to keep a copy
-of your original file, it is a very good idea to rename
-it.)  Under VMS, the file name starts with
-<TT>`__'</TT> rather than <TT>`.#'</TT>.
-
-<DT><CODE>? <VAR>file</VAR></CODE>
-<DD>
-<VAR>file</VAR> is in your working directory, but does not
-correspond to anything in the source repository, and is
-not in the list of files for CVS to ignore (see the
-description of the <SAMP>`-I'</SAMP> option, and
-see section <A HREF="cvs.html#SEC148">Ignoring files via cvsignore</A>).
-
-Note that no warning message like this is printed for
-spurious directories that CVS encounters.  The
-directory, and all its contents, are silently ignored.
-</DL>
-
-
-
-<H3><A NAME="SEC135" HREF="cvs.html#TOC135">update examples</A></H3>
-
-<P>
-The following line will display all files which are not
-up-to-date without actually change anything in your
-working directory.  It can be used to check what has
-been going on with the project.
-
-</P>
-
-<PRE>
-$ cvs -n -q update
-</PRE>
-
-
-
-<H1><A NAME="SEC136" HREF="cvs.html#TOC136">Reference manual for the 
Administrative files</A></H1>
-<P>
-<A NAME="IDX358"></A>
-<A NAME="IDX359"></A>
-<A NAME="IDX360"></A>
-<A NAME="IDX361"></A>
-
-</P>
-<P>
-Inside the repository, in the directory
-<TT>`$CVSROOT/CVSROOT'</TT>, there are a number of
-supportive files for CVS.  You can use CVS in a limited
-fashion without any of them, but if they are set up
-properly they can help make life easier.  For a
-discussion of how to edit them, See section <A HREF="cvs.html#SEC20">The 
administrative files</A>.
-
-</P>
-<P>
-The most important of these files is the <TT>`modules'</TT>
-file, which defines the modules inside the repository.
-
-</P>
-
-
-
-<H2><A NAME="SEC137" HREF="cvs.html#TOC137">The modules file</A></H2>
-<P>
-<A NAME="IDX362"></A>
-<A NAME="IDX363"></A>
-
-</P>
-<P>
-The <TT>`modules'</TT> file records your definitions of
-names for collections of source code.  CVS will
-use these definitions if you use CVS to update the
-modules file (use normal commands like <CODE>add</CODE>,
-<CODE>commit</CODE>, etc).
-
-</P>
-<P>
-The <TT>`modules'</TT> file may contain blank lines and
-comments (lines beginning with <SAMP>`#'</SAMP>) as well as
-module definitions.  Long lines can be continued on the
-next line by specifying a backslash (<SAMP>`\'</SAMP>) as the
-last character on the line.
-
-</P>
-<P>
-A module definition is a single line of the
-<TT>`modules'</TT> file, in either of two formats.  In both
-cases, <VAR>mname</VAR> represents the symbolic module name,
-and the remainder of the line is its definition.
-
-</P>
-<DL COMPACT>
-
-<DT><CODE><VAR>mname</VAR> -a <VAR>aliases</VAR>...</CODE>
-<DD>
-This represents the simplest way of defining a module
-<VAR>mname</VAR>.  The <SAMP>`-a'</SAMP> flags the definition as a
-simple alias: CVS will treat any use of <VAR>mname</VAR> (as
-a command argument) as if the list of names
-<VAR>aliases</VAR> had been specified instead.
-<VAR>aliases</VAR> may contain either other module names or
-paths.  When you use paths in aliases, <CODE>checkout</CODE>
-creates all intermediate directories in the working
-directory, just as if the path had been specified
-explicitly in the CVS arguments.
-
-<DT><CODE><VAR>mname</VAR> [ options ] <VAR>dir</VAR> [ <VAR>files</VAR>... ] 
[ &#38;<VAR>module</VAR>... ]</CODE>
-<DD>
-In the simplest case, this form of module definition
-reduces to <SAMP>`<VAR>mname</VAR> <VAR>dir</VAR>'</SAMP>.  This defines
-all the files in directory <VAR>dir</VAR> as module mname.
-<VAR>dir</VAR> is a relative path (from <CODE>$CVSROOT</CODE>) to a
-directory of source in the source repository.  In this
-case, on checkout, a single directory called
-<VAR>mname</VAR> is created as a working directory; no
-intermediate directory levels are used by default, even
-if <VAR>dir</VAR> was a path involving several directory
-levels.
-
-By explicitly specifying files in the module definition
-after <VAR>dir</VAR>, you can select particular files from
-directory <VAR>dir</VAR>.  The sample definition for
-<SAMP>`modules'</SAMP> is an example of a module defined with a
-single file from a particular directory.  Here is
-another example:
-
-
-<PRE>
-m4test  unsupported/gnu/m4 foreach.m4 forloop.m4
-</PRE>
-
-With this definition, executing <SAMP>`cvs checkout
-m4test'</SAMP> will create a single working directory
-<TT>`m4test'</TT> containing the two files listed, which
-both come from a common directory several levels deep
-in the CVS source repository.
-
-A module definition can refer to other modules by
-including <SAMP>`&#38;<VAR>module</VAR>'</SAMP> in its definition.
-<CODE>checkout</CODE> creates a subdirectory for each such
-module, in your working directory.
-
-<DL COMPACT>
-
-<DT><CODE>-d <VAR>name</VAR></CODE>
-<DD>
-Name the working directory something other than the
-module name.
-
-<A NAME="IDX364"></A>
-<DT><CODE>-e <VAR>prog</VAR></CODE>
-<DD>
-Specify a program <VAR>prog</VAR> to run whenever files in a
-module are exported.  <VAR>prog</VAR> runs with a single
-argument, the module name.
-
-<A NAME="IDX365"></A>
-<DT><CODE>-i <VAR>prog</VAR></CODE>
-<DD>
-Specify a program <VAR>prog</VAR> to run whenever files in a
-module are committed.  <VAR>prog</VAR> runs with a single
-argument, the full pathname of the affected directory
-in a source repository.  The <TT>`commitinfo'</TT>,
-<TT>`loginfo'</TT>, and <TT>`editinfo'</TT> files provide other
-ways to call a program on commit.
-
-<A NAME="IDX366"></A>
-<DT><CODE>-o <VAR>prog</VAR></CODE>
-<DD>
-Specify a program <VAR>prog</VAR> to run whenever files in a
-module are checked out.  <VAR>prog</VAR> runs with a single
-argument, the module name.
-
-<A NAME="IDX367"></A>
-<A NAME="IDX368"></A>
-<DT><CODE>-s <VAR>status</VAR></CODE>
-<DD>
-Assign a status to the module.  When the module file is
-printed with <SAMP>`cvs checkout -s'</SAMP> the modules are
-sorted according to primarily module status, and
-secondarily according to the module name.  This option
-has no other meaning.  You can use this option for
-several things besides status: for instance, list the
-person that is responsible for this module.
-
-<A NAME="IDX369"></A>
-<DT><CODE>-t <VAR>prog</VAR></CODE>
-<DD>
-Specify a program <VAR>prog</VAR> to run whenever files in a
-module are tagged with <CODE>rtag</CODE>.  <VAR>prog</VAR> runs
-with two arguments: the module name and the symbolic
-tag specified to <CODE>rtag</CODE>.  There is no way to
-specify a program to run when <CODE>tag</CODE> is executed.
-
-<A NAME="IDX370"></A>
-<DT><CODE>-u <VAR>prog</VAR></CODE>
-<DD>
-Specify a program <VAR>prog</VAR> to run whenever <SAMP>`cvs
-update'</SAMP> is executed from the top-level directory of the
-checked-out module.  <VAR>prog</VAR> runs with a single
-argument, the full path to the source repository for
-this module.
-</DL>
-</DL>
-
-
-
-<H2><A NAME="SEC138" HREF="cvs.html#TOC138">The cvswrappers file</A></H2>
-<P>
-<A NAME="IDX371"></A>
-<A NAME="IDX372"></A>
-<A NAME="IDX373"></A>
-
-</P>
-
-<P>
-Wrappers allow you to set a hook which transforms files on
-their way in and out of CVS.  Most or all of the
-wrappers features do not work with client/server CVS.
-
-</P>
-<P>
-The file <TT>`cvswrappers'</TT> defines the script that will be
-run on a file when its name matches a regular
-expresion. There are two scripts that can be run on a
-file or directory. One script is executed on the file/directory
-before being checked into the repository (this is denoted
-with the <CODE>-t</CODE> flag) and the other when the file is
-checked out of the repository (this is denoted with the
-<CODE>-f</CODE> flag)
-
-</P>
-<P>
-The <TT>`cvswrappers'</TT> also has a <SAMP>`-m'</SAMP> option to
-specify the merge methodology that should be used when
-the file is updated.  <CODE>MERGE</CODE> means the usual
-CVS behavior: try to merge the files (this
-generally will not work for binary files).  <CODE>COPY</CODE>
-means that <CODE>cvs update</CODE> will merely copy one
-version over the other, and require the user using
-mechanisms outside CVS, to insert any necessary
-changes.
-The <SAMP>`-m'</SAMP> wrapper option only affects behavior when
-merging is done on update; it does not affect how files
-are stored.  See See section <A HREF="cvs.html#SEC83">Handling binary 
files</A>, for more on
-binary files.
-
-</P>
-<P>
-The basic format of the file <TT>`cvswrappers'</TT> is:
-
-</P>
-
-<PRE>
-wildcard     [option value][option value]...
-
-where option is one of
--f           from cvs filter         value: path to filter
--t           to cvs filter           value: path to filter
--m           update methodology      value: MERGE or COPY
--k           keyword expansion       value: expansion mode
-
-and value is a single-quote delimited value.
-</PRE>
-
-
-<PRE>
-*.nib    -f 'unwrap %s' -t 'wrap %s %s' -m 'COPY'
-*.c      -t 'indent %s %s'
-</PRE>
-
-<P>
-The above example of a <TT>`cvswrappers'</TT> file
-states that all files/directories that end with a <CODE>.nib</CODE>
-should be filtered with the <TT>`wrap'</TT> program before
-checking the file into the repository. The file should
-be filtered though the <TT>`unwrap'</TT> program when the
-file is checked out of the repository. The
-<TT>`cvswrappers'</TT> file also states that a <CODE>COPY</CODE>
-methodology should be used when updating the files in
-the repository (that is no merging should be performed).
-
-</P>
-<P>
-The last example line says that all files that end with
-a <CODE>*.c</CODE> should be filtered with <TT>`indent'</TT>
-before being checked into the repository. Unlike the previous
-example no filtering of the <CODE>*.c</CODE> file is done when
-it is checked out of the repository.
-The <CODE>-t</CODE> filter is called with two arguments,
-the first is the name of the file/directory to filter
-and the second is the pathname to where the resulting
-filtered file should be placed.
-
-</P>
-<P>
-The <CODE>-f</CODE> filter is called with one argument,
-which is the name of the file to filter from. The end
-result of this filter will be a file in the users directory
-that they can work on as they normally would.
-
-</P>
-<P>
-For another example, the following command imports a
-directory, treating files whose name ends in
-<SAMP>`.exe'</SAMP> as binary:
-
-</P>
-
-<PRE>
-cvs import -I ! -W "*.exe -k 'b'" first-dir vendortag reltag
-</PRE>
-
-
-
-<H2><A NAME="SEC139" HREF="cvs.html#TOC139">The commit support files</A></H2>
-<P>
-<A NAME="IDX374"></A>
-
-</P>
-<P>
-The <SAMP>`-i'</SAMP> flag in the <TT>`modules'</TT> file can be
-used to run a certain program whenever files are
-committed (see section <A HREF="cvs.html#SEC137">The modules file</A>).  The 
files described in
-this section provide other, more flexible, ways to run
-programs whenever something is committed.
-
-</P>
-<P>
-There are three kind of programs that can be run on
-commit.  They are specified in files in the repository,
-as described below.  The following table summarizes the
-file names and the purpose of the corresponding
-programs.
-
-</P>
-<DL COMPACT>
-
-<DT><TT>`commitinfo'</TT>
-<DD>
-The program is responsible for checking that the commit
-is allowed.  If it exits with a non-zero exit status
-the commit will be aborted.
-
-<DT><TT>`editinfo'</TT>
-<DD>
-The specified program is used to edit the log message,
-and possibly verify that it contains all required
-fields.  This is most useful in combination with the
-<TT>`rcsinfo'</TT> file, which can hold a log message
-template (see section <A HREF="cvs.html#SEC147">Rcsinfo</A>).
-
-<DT><TT>`loginfo'</TT>
-<DD>
-The specified program is called when the commit is
-complete.  It receives the log message and some
-additional information and can store the log message in
-a file, or mail it to appropriate persons, or maybe
-post it to a local newsgroup, or...  Your
-imagination is the limit!
-</DL>
-
-
-
-<H3><A NAME="SEC140" HREF="cvs.html#TOC140">The common syntax</A></H3>
-<P>
-<A NAME="IDX375"></A>
-<A NAME="IDX376"></A>
-<A NAME="IDX377"></A>
-
-</P>
-
-<P>
-The four files <TT>`commitinfo'</TT>, <TT>`loginfo'</TT>,
-<TT>`rcsinfo'</TT> and <TT>`editinfo'</TT> all have a common
-format.  The purpose of the files are described later
-on.  The common syntax is described here.
-
-</P>
-<P>
-Each line contains the following:
-
-<UL>
-<LI>
-
-A regular expression
-
-<LI>
-
-A whitespace separator--one or more spaces and/or tabs.
-
-<LI>
-
-A file name or command-line template.
-</UL>
-
-<P>
-Blank lines are ignored.  Lines that start with the
-character <SAMP>`#'</SAMP> are treated as comments.  Long lines
-unfortunately can <EM>not</EM> be broken in two parts in
-any way.
-
-</P>
-<P>
-The first regular expression that matches the current
-directory name in the repository is used.  The rest of the line
-is used as a file name or command-line as appropriate.
-
-</P>
-
-
-<H2><A NAME="SEC141" HREF="cvs.html#TOC141">Commitinfo</A></H2>
-<P>
-<A NAME="IDX378"></A>
-<A NAME="IDX379"></A>
-<A NAME="IDX380"></A>
-
-</P>
-<P>
-The <TT>`commitinfo'</TT> file defines programs to execute
-whenever <SAMP>`cvs commit'</SAMP> is about to execute.  These
-programs are used for pre-commit checking to verify
-that the modified, added and removed files are really
-ready to be committed.  This could be used, for
-instance, to verify that the changed files conform to
-to your site's standards for coding practice.
-
-</P>
-<P>
-As mentioned earlier, each line in the
-<TT>`commitinfo'</TT> file consists of a regular expression
-and a command-line template.  The template can include
-a program name and any number of arguments you wish to
-supply to it.  The full path to the current source
-repository is appended to the template, followed by the
-file names of any files involved in the commit (added,
-removed, and modified files).
-
-</P>
-<P>
-The first line with a regular expression matching the
-relative path to the module will be used.  If the
-command returns a non-zero exit status the commit will
-be aborted.
-
-</P>
-<P>
-<A NAME="IDX381"></A>
-If the repository name does not match any of the
-regular expressions in this file, the <SAMP>`DEFAULT'</SAMP>
-line is used, if it is specified.
-
-</P>
-<P>
-<A NAME="IDX382"></A>
-All occurances of the name <SAMP>`ALL'</SAMP> appearing as a
-regular expression are used in addition to the first
-matching regular expression or the name <SAMP>`DEFAULT'</SAMP>.
-
-</P>
-<P>
-Note: when CVS is accessing a remote repository,
-<TT>`commitinfo'</TT> will be run on the <EM>remote</EM>
-(i.e., server) side, not the client side (see section <A 
HREF="cvs.html#SEC24">Remote repositories</A>).
-
-</P>
-
-
-
-<H2><A NAME="SEC142" HREF="cvs.html#TOC142">Editinfo</A></H2>
-<P>
-<A NAME="IDX383"></A>
-<A NAME="IDX384"></A>
-<A NAME="IDX385"></A>
-<A NAME="IDX386"></A>
-
-</P>
-<P>
-If you want to make sure that all log messages look the
-same way, you can use the <TT>`editinfo'</TT> file to
-specify a program that is used to edit the log message.
-This program could be a custom-made editor that always
-enforces a certain style of the log message, or maybe a
-simple shell script that calls an editor, and checks
-that the entered message contains the required fields.
-
-</P>
-<P>
-If no matching line is found in the <TT>`editinfo'</TT>
-file, the editor specified in the environment variable
-<CODE>$CVSEDITOR</CODE> is used instead.  If that variable is
-not set, then the environment variable <CODE>$EDITOR</CODE>
-is used instead.  If that variable is not
-set a precompiled default, normally <CODE>vi</CODE>, will be
-used.
-
-</P>
-<P>
-The <TT>`editinfo'</TT> file is often most useful together
-with the <TT>`rcsinfo'</TT> file, which can be used to
-specify a log message template.
-
-</P>
-<P>
-Each line in the <TT>`editinfo'</TT> file consists of a
-regular expression and a command-line template.  The
-template must include a program name, and can include
-any number of arguments.  The full path to the current
-log message template file is appended to the template.
-
-</P>
-<P>
-One thing that should be noted is that the <SAMP>`ALL'</SAMP>
-keyword is not supported.  If more than one matching
-line is found, the first one is used.  This can be
-useful for specifying a default edit script in a
-module, and then overriding it in a subdirectory.
-
-</P>
-<P>
-<A NAME="IDX387"></A>
-If the repository name does not match any of the
-regular expressions in this file, the <SAMP>`DEFAULT'</SAMP>
-line is used, if it is specified.
-
-</P>
-<P>
-If the edit script exits with a non-zero exit status,
-the commit is aborted.
-
-</P>
-<P>
-Note: when CVS is accessing a remote repository,
-or when the <SAMP>`-m'</SAMP> or <SAMP>`-F'</SAMP> options to <CODE>cvs
-commit</CODE> are used, <TT>`editinfo'</TT> will not be consulted.
-There is no good workaround for this.
-
-</P>
-
-
-
-<H3><A NAME="SEC143" HREF="cvs.html#TOC143">Editinfo example</A></H3>
-
-<P>
-The following is a little silly example of a
-<TT>`editinfo'</TT> file, together with the corresponding
-<TT>`rcsinfo'</TT> file, the log message template and an
-editor script.  We begin with the log message template.
-We want to always record a bug-id number on the first
-line of the log message.  The rest of log message is
-free text.  The following template is found in the file
-<TT>`/usr/cvssupport/tc.template'</TT>.
-
-</P>
-
-<PRE>
-BugId:    
-</PRE>
-
-<P>
-The script <TT>`/usr/cvssupport/bugid.edit'</TT> is used to
-edit the log message.
-
-</P>
-
-<PRE>
-#!/bin/sh
-#
-#       bugid.edit filename
-#
-#  Call $EDITOR on FILENAME, and verify that the
-#  resulting file contains a valid bugid on the first
-#  line.
-if [ "x$EDITOR" = "x" ]; then EDITOR=vi; fi
-if [ "x$CVSEDITOR" = "x" ]; then CVSEDITOR=$EDITOR; fi
-$CVSEDITOR $1
-until head -1|grep '^BugId:[ ]*[0-9][0-9]*$' &#60; $1
-do  echo -n  "No BugId found.  Edit again? ([y]/n)"
-    read ans
-    case ${ans} in
-        n*) exit 1;;
-    esac
-    $CVSEDITOR $1
-done
-</PRE>
-
-<P>
-The <TT>`editinfo'</TT> file contains this line:
-
-</P>
-
-<PRE>
-^tc     /usr/cvssupport/bugid.edit
-</PRE>
-
-<P>
-The <TT>`rcsinfo'</TT> file contains this line:
-
-</P>
-
-<PRE>
-^tc     /usr/cvssupport/tc.template
-</PRE>
-
-
-
-<H2><A NAME="SEC144" HREF="cvs.html#TOC144">Loginfo</A></H2>
-<P>
-<A NAME="IDX388"></A>
-<A NAME="IDX389"></A>
-<A NAME="IDX390"></A>
-<A NAME="IDX391"></A>
-<A NAME="IDX392"></A>
-
-</P>
-<P>
-The <TT>`loginfo'</TT> file is used to control where
-<SAMP>`cvs commit'</SAMP> log information is sent.  The first
-entry on a line is a regular expression which is tested
-against the directory that the change is being made to,
-relative to the <CODE>$CVSROOT</CODE>.  If a match is found, then
-the remainder of the line is a filter program that
-should expect log information on its standard input.
-
-</P>
-<P>
-The filter program may use one and only one % modifier
-(a la printf).  If <SAMP>`%s'</SAMP> is specified in the filter
-program, a brief title is included (enclosed in single
-quotes) showing the modified file names.
-
-</P>
-<P>
-If the repository name does not match any of the
-regular expressions in this file, the <SAMP>`DEFAULT'</SAMP>
-line is used, if it is specified.
-
-</P>
-<P>
-All occurances of the name <SAMP>`ALL'</SAMP> appearing as a
-regular expression are used in addition to the first
-matching regular expression or <SAMP>`DEFAULT'</SAMP>.
-
-</P>
-<P>
-The first matching regular expression is used.
-
-</P>
-<P>
-See section <A HREF="cvs.html#SEC139">The commit support files</A>, for a 
description of the syntax of
-the <TT>`loginfo'</TT> file.  
-
-</P>
-<P>
-Note: when CVS is accessing a remote repository,
-<TT>`loginfo'</TT> will be run on the <EM>remote</EM>
-(i.e., server) side, not the client side (see section <A 
HREF="cvs.html#SEC24">Remote repositories</A>).
-
-</P>
-
-
-
-<H3><A NAME="SEC145" HREF="cvs.html#TOC145">Loginfo example</A></H3>
-
-<P>
-The following <TT>`loginfo'</TT> file, together with the
-tiny shell-script below, appends all log messages 
-to the file <TT>`$CVSROOT/CVSROOT/commitlog'</TT>,
-and any commits to the administrative files (inside
-the <TT>`CVSROOT'</TT> directory) are also logged in
-<TT>`/usr/adm/cvsroot-log'</TT>.
-
-</P>
-
-<PRE>
-ALL             /usr/local/bin/cvs-log $CVSROOT/CVSROOT/commitlog
-^CVSROOT        /usr/local/bin/cvs-log /usr/adm/cvsroot-log
-</PRE>
-
-<P>
-The shell-script <TT>`/usr/local/bin/cvs-log'</TT> looks
-like this:
-
-</P>
-
-<PRE>
-#!/bin/sh
-(echo "-----------------------------------------------------------------";
- echo -n $USER"  ";
- date;
- echo;
- sed '1s+'${CVSROOT}'++') &#62;&#62; $1
-</PRE>
-
-
-
-<H3><A NAME="SEC146" HREF="cvs.html#TOC146">Keeping a checked out copy</A></H3>
-
-<P>
-<A NAME="IDX393"></A>
-<A NAME="IDX394"></A>
-
-</P>
-<P>
-It is often useful to maintain a directory tree which
-contains files which correspond to the latest version
-in the repository.  For example, other developers might
-want to refer to the latest sources without having to
-check them out, or you might be maintaining a web site
-with CVS and want every checkin to cause the files
-used by the web server to be updated.
-
-</P>
-<P>
-The way to do this is by having loginfo invoke
-<CODE>cvs update</CODE>.  Doing so in the naive way will
-cause a problem with locks, so the <CODE>cvs update</CODE>
-must be run in the background.
-Here is an example (this should all be on one line):
-
-</P>
-
-<PRE>
-^cyclic-pages          (date; cat; (sleep 2; cd /u/www/local-docs;
- cvs -q update -d) &#38;) &#62;&#62; $CVSROOT/CVSROOT/updatelog 2&#62;&#38;1
-</PRE>
-
-<P>
-This will cause checkins to repository directories
-starting with <CODE>cyclic-pages</CODE> to update the checked
-out tree in <TT>`/u/www/local-docs'</TT>.
-
-</P>
-
-
-<H2><A NAME="SEC147" HREF="cvs.html#TOC147">Rcsinfo</A></H2>
-<P>
-<A NAME="IDX395"></A>
-<A NAME="IDX396"></A>
-<A NAME="IDX397"></A>
-<A NAME="IDX398"></A>
-
-</P>
-<P>
-The <TT>`rcsinfo'</TT> file can be used to specify a form to
-edit when filling out the commit log.  The
-<TT>`rcsinfo'</TT> file has a syntax similar to the
-<TT>`editinfo'</TT>, <TT>`commitinfo'</TT> and <TT>`loginfo'</TT>
-files.  See section <A HREF="cvs.html#SEC140">The common syntax</A>.  Unlike 
the other files the second
-part is <EM>not</EM> a command-line template.  Instead,
-the part after the regular expression should be a full pathname to
-a file containing the log message template.
-
-</P>
-<P>
-If the repository name does not match any of the
-regular expressions in this file, the <SAMP>`DEFAULT'</SAMP>
-line is used, if it is specified.
-
-</P>
-<P>
-All occurances of the name <SAMP>`ALL'</SAMP> appearing as a
-regular expression are used in addition to the first
-matching regular expression or <SAMP>`DEFAULT'</SAMP>.
-
-</P>
-<P>
-The log message template will be used as a default log
-message.  If you specify a log message with <SAMP>`cvs
-commit -m <VAR>message</VAR>'</SAMP> or <SAMP>`cvs commit -f
-<VAR>file</VAR>'</SAMP> that log message will override the
-template.
-
-</P>
-<P>
-See section <A HREF="cvs.html#SEC143">Editinfo example</A>, for an example 
<TT>`rcsinfo'</TT>
-file.
-
-</P>
-<P>
-When CVS is accessing a remote repository,
-the contents of <TT>`rcsinfo'</TT> at the time a directory
-is first checked out will specify a template which does
-not then change.  If you edit <TT>`rcsinfo'</TT> or its
-templates, you may need to check out a new working
-directory.
-
-</P>
-
-
-<H2><A NAME="SEC148" HREF="cvs.html#TOC148">Ignoring files via 
cvsignore</A></H2>
-<P>
-<A NAME="IDX399"></A>
-<A NAME="IDX400"></A>
-<A NAME="IDX401"></A>
-
-</P>
-<P>
-There are certain file names that frequently occur
-inside your working copy, but that you don't want to
-put under CVS control.  Examples are all the object
-files that you get while you compile your sources.
-Normally, when you run <SAMP>`cvs update'</SAMP>, it prints a
-line for each file it encounters that it doesn't know
-about (see section <A HREF="cvs.html#SEC134">update output</A>).
-
-</P>
-<P>
-CVS has a list of files (or sh(1) file name patterns)
-that it should ignore while running <CODE>update</CODE>,
-<CODE>import</CODE> and <CODE>release</CODE>.
-This list is constructed in the following way.
-
-</P>
-
-<UL>
-<LI>
-
-The list is initialized to include certain file name
-patterns: names associated with CVS
-administration, or with other common source control
-systems; common names for patch files, object files,
-archive files, and editor backup files; and other names
-that are usually artifacts of assorted utilities.
-Currently, the default list of ignored file name
-patterns is:
-
-<A NAME="IDX402"></A>
-<A NAME="IDX403"></A>
-
-<PRE>
-    RCS     SCCS    CVS     CVS.adm
-    RCSLOG  cvslog.*
-    tags    TAGS
-    .make.state     .nse_depinfo
-    *~      #*      .#*     ,*      _$*     *$
-    *.old   *.bak   *.BAK   *.orig  *.rej   .del-*
-    *.a     *.olb   *.o     *.obj   *.so    *.exe
-    *.Z     *.elc   *.ln  
-    core
-</PRE>
-
-<LI>
-
-The per-repository list in
-<TT>`$CVSROOT/CVSROOT/cvsignore'</TT> is appended to
-the list, if that file exists.
-
-<LI>
-
-The per-user list in <TT>`.cvsignore'</TT> in your home
-directory is appended to the list, if it exists.
-
-<LI>
-
-Any entries in the environment variable
-<CODE>$CVSIGNORE</CODE> is appended to the list.
-
-<LI>
-
-Any <SAMP>`-I'</SAMP> options given to CVS is appended.
-
-<LI>
-
-As CVS traverses through your directories, the contents
-of any <TT>`.cvsignore'</TT> will be appended to the list.
-The patterns found in <TT>`.cvsignore'</TT> are only valid
-for the directory that contains them, not for
-any sub-directories.
-</UL>
-
-<P>
-In any of the 5 places listed above, a single
-exclamation mark (<SAMP>`!'</SAMP>) clears the ignore list.
-This can be used if you want to store any file which
-normally is ignored by CVS.
-
-</P>
-
-
-<H2><A NAME="SEC149" HREF="cvs.html#TOC149">The history file</A></H2>
-<P>
-<A NAME="IDX404"></A>
-<A NAME="IDX405"></A>
-
-</P>
-<P>
-The file <TT>`$CVSROOT/CVSROOT/history'</TT> is used
-to log information for the <CODE>history</CODE> command
-(see section <A HREF="cvs.html#SEC110">history--Show status of files and 
users</A>).  This file must be created to turn
-on logging.  This is done automatically if the
-<CODE>cvs init</CODE> command is used to set up the
-repository (see section <A HREF="cvs.html#SEC23">Creating a repository</A>).
-
-</P>
-<P>
-The file format of the <TT>`history'</TT> file is
-documented only in comments in the CVS source
-code, but generally programs should use the <CODE>cvs
-history</CODE> command to access it anyway, in case the
-format changes with future releases of CVS.
-
-</P>
-
-
-<H2><A NAME="SEC150" HREF="cvs.html#TOC150">Expansions in administrative 
files</A></H2>
-
-<P>
-Sometimes in writing an administrative file, you might
-want the file to be able to know various things based
-on environment CVS is running in.  There are
-several mechanisms to do that.
-
-</P>
-<P>
-To find the home directory of the user running CVS
-(from the <CODE>HOME</CODE> environment variable), use
-<SAMP>`~'</SAMP> followed by <SAMP>`/'</SAMP> or the end of the line.
-Likewise for the home directory of <VAR>user</VAR>, use
-<SAMP>`~<VAR>user</VAR>'</SAMP>.  These variables are expanded on
-the server machine, and don't get any resonable
-expansion if pserver (see section <A HREF="cvs.html#SEC26">Direct connection 
with password authentication</A>)
-is in used; therefore user variables (see below) may be
-a better choice to customize behavior based on the user
-running CVS.
-
-</P>
-<P>
-One may want to know about various pieces of
-information internal to CVS.  A CVS internal
-variable has the syntax <CODE>${<VAR>variable</VAR>}</CODE>,
-where <VAR>variable</VAR> starts with a letter and consists
-of alphanumberic characters and <SAMP>`_'</SAMP>.  If the
-character following <VAR>variable</VAR> is a
-non-alphanumeric character other than <SAMP>`_'</SAMP>, the
-<SAMP>`{'</SAMP> and <SAMP>`}'</SAMP> can be omitted.  The CVS
-internal variables are:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>CVSROOT</CODE>
-<DD>
-This is the value of the CVS root in use.
-See section <A HREF="cvs.html#SEC15">The Repository</A>, for a description of 
the various
-ways to specify this.
-
-<DT><CODE>RCSBIN</CODE>
-<DD>
-This is the value CVS is using for where to find
-RCS binaries.  See section <A HREF="cvs.html#SEC89">Global options</A>, for a
-description of how to specify this.
-
-<DT><CODE>CVSEDITOR</CODE>
-<DD>
-<DT><CODE>VISUAL</CODE>
-<DD>
-<DT><CODE>EDITOR</CODE>
-<DD>
-These all expand to the same value, which is the editor
-that CVS is using.  See section <A HREF="cvs.html#SEC89">Global options</A>, 
for how
-to specify this.
-
-<DT><CODE>USER</CODE>
-<DD>
-Username of the user running CVS (on the CVS
-server machine).
-</DL>
-
-<P>
-If you want to pass a value to the administrative files
-which the user that is running CVS can specify,
-use a user variable.  To expand a user variable, the
-administrative file contains
-<CODE>${=<VAR>variable</VAR>}</CODE>.  To set a user variable,
-specify the global option <SAMP>`-s'</SAMP> to CVS, with
-argument <CODE><VAR>variable</VAR>=<VAR>value</VAR></CODE>.  It may be
-particularly useful to specify this option via
-<TT>`.cvsrc'</TT> (see section <A HREF="cvs.html#SEC88">Default options and 
the ~/.cvsrc file</A>).
-
-</P>
-<P>
-For example, if you want the administrative file to
-refer to a test directory you might create a user
-variable <CODE>TESTDIR</CODE>.  Then if CVS is invoked
-as <CODE>cvs -s TESTDIR=/work/local/tests</CODE>, and the
-administrative file contains <CODE>sh
-${=TESTDIR}/runtests</CODE>, then that string is expanded
-to <CODE>sh /work/local/tests/runtests</CODE>.
-
-</P>
-<P>
-All other strings containing <SAMP>`$'</SAMP> are reserved;
-there is no way to quote a <SAMP>`$'</SAMP> character so that
-<SAMP>`$'</SAMP> represents itself.
-
-</P>
-
-
-<H1><A NAME="SEC151" HREF="cvs.html#TOC151">All environment variables which 
affect CVS</A></H1>
-<P>
-<A NAME="IDX406"></A>
-<A NAME="IDX407"></A>
-
-</P>
-<P>
-This is a complete list of all environment variables
-that affect CVS.
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>$CVSIGNORE</CODE>
-<DD>
-<A NAME="IDX408"></A>
- 
-A whitespace-separated list of file name patterns that
-CVS should ignore. See section <A HREF="cvs.html#SEC148">Ignoring files via 
cvsignore</A>.
-
-<A NAME="IDX409"></A>
-<DT><CODE>$CVSWRAPPERS</CODE>
-<DD>
-A whitespace-separated list of file name patterns that
-CVS should treat as wrappers. See section <A HREF="cvs.html#SEC138">The 
cvswrappers file</A>.
-
-<A NAME="IDX410"></A>
-<A NAME="IDX411"></A>
-<DT><CODE>$CVSREAD</CODE>
-<DD>
-If this is set, <CODE>checkout</CODE> and <CODE>update</CODE> will
-try hard to make the files in your working directory
-read-only.  When this is not set, the default behavior
-is to permit modification of your working files.
-
-<A NAME="IDX412"></A>
-<DT><CODE>$CVSROOT</CODE>
-<DD>
-Should contain the full pathname to the root of the CVS
-source repository (where the RCS history files are
-kept).  This information must be available to CVS for
-most commands to execute; if <CODE>$CVSROOT</CODE> is not set,
-or if you wish to override it for one invocation, you
-can supply it on the command line: <SAMP>`cvs -d cvsroot
-cvs_command...'</SAMP> Once you have checked out a working
-directory, CVS stores the appropriate root (in
-the file <TT>`CVS/Root'</TT>), so normally you only need to
-worry about this when initially checking out a working 
-directory.
-
-<A NAME="IDX413"></A>
-<A NAME="IDX414"></A>
-<DT><CODE>$EDITOR</CODE>
-<DD>
-<DT><CODE>$CVSEDITOR</CODE>
-<DD>
-Specifies the program to use for recording log messages
-during commit.  If not set, the default is
-<SAMP>`/usr/ucb/vi'</SAMP>.  <CODE>$CVSEDITOR</CODE> overrides
-<CODE>$EDITOR</CODE>.  <CODE>$CVSEDITOR</CODE> does not exist in
-CVS 1.3, but the next release will probably
-include it.
-
-<A NAME="IDX415"></A>
-<DT><CODE>$PATH</CODE>
-<DD>
-If <CODE>$RCSBIN</CODE> is not set, and no path is compiled
-into CVS, it will use <CODE>$PATH</CODE> to try to find all
-programs it uses.
-
-<A NAME="IDX416"></A>
-<DT><CODE>$RCSBIN</CODE>
-<DD>
-This is the value CVS is using for where to find
-RCS binaries.  See section <A HREF="cvs.html#SEC89">Global options</A>, for a
-description of how to specify this.  If not set, a
-compiled-in value is used, or your <CODE>$PATH</CODE> is searched.
-
-<A NAME="IDX417"></A>
-<DT><CODE>$HOME</CODE>
-<DD>
-<A NAME="IDX418"></A>
-<DT><CODE>$HOMEPATH</CODE>
-<DD>
-Used to locate the directory where the <TT>`.cvsrc'</TT>
-file is searched (<CODE>$HOMEPATH</CODE> is used for Windows-NT).
-see section <A HREF="cvs.html#SEC88">Default options and the ~/.cvsrc file</A>
-
-<A NAME="IDX419"></A>
-<DT><CODE>$CVS_RSH</CODE>
-<DD>
-Specifies the external program which CVS connects with,
-when <CODE>:ext:</CODE> access method is specified.
-see section <A HREF="cvs.html#SEC25">Connecting with rsh</A>.
-
-<DT><CODE>$CVS_SERVER</CODE>
-<DD>
-Used in client-server mode when accessing a remote
-repository using RSH.  It specifies the name of
-the program to start on the server side when accessing
-a remote repository using RSH.  The default value
-is <CODE>cvs</CODE>.  see section <A HREF="cvs.html#SEC25">Connecting with 
rsh</A>
-
-<DT><CODE>$CVS_PASSFILE</CODE>
-<DD>
-Used in client-server mode when accessing the <CODE>cvs
-login server</CODE>.  Default value is <TT>`$HOME/.cvspass'</TT>.
-see section <A HREF="cvs.html#SEC28">Using the client with password 
authentication</A>
-
-<DT><CODE>$CVS_PASSWORD</CODE>
-<DD>
-Used in client-server mode when accessing the <CODE>cvs
-login server</CODE>.
-see section <A HREF="cvs.html#SEC28">Using the client with password 
authentication</A>
-
-<DT><CODE>$CVS_CLIENT_PORT</CODE>
-<DD>
-Used in client-server mode when accessing the server
-via Kerberos.
-see section <A HREF="cvs.html#SEC30">Direct connection with kerberos</A>
-
-<A NAME="IDX420"></A>
-<DT><CODE>$CVS_RCMD_PORT</CODE>
-<DD>
-Used in client-server mode.  If set, specifies the port
-number to be used when accessing the RCMD demon on
-the server side. (Currently not used for Unix clients).
-
-<A NAME="IDX421"></A>
-<DT><CODE>$CVS_CLIENT_LOG</CODE>
-<DD>
-Used for debugging only in client-server
-mode.  If set, everything send to the server is logged
-into <TT>`<CODE>$CVS_CLIENT_LOG</CODE>.in'</TT> and everything
-send from the server is logged into
-<TT>`<CODE>$CVS_CLIENT_LOG</CODE>.out'</TT>.
-
-<A NAME="IDX422"></A>
-<DT><CODE>$CVS_SERVER_SLEEP</CODE>
-<DD>
-Used only for debugging the server side in
-client-server mode.  If set, delays the start of the
-server child process the the specified amount of
-seconds so that you can attach to it with a debugger.
-
-<A NAME="IDX423"></A>
-<DT><CODE>$CVS_IGNORE_REMOTE_ROOT</CODE>
-<DD>
-(What is the purpose of this variable?)
-
-<A NAME="IDX424"></A>
-<DT><CODE>$COMSPEC</CODE>
-<DD>
-Used under OS/2 only.  It specifies the name of the
-command interpreter and defaults to CMD.EXE.
-
-<A NAME="IDX425"></A>
-<DT><CODE>$TMPDIR</CODE>
-<DD>
-<A NAME="IDX426"></A>
-<DT><CODE>$TMP</CODE>
-<DD>
-<A NAME="IDX427"></A>
-<DT><CODE>$TEMP</CODE>
-<DD>
-<A NAME="IDX428"></A>
-Directory in which temporary files are located.  Those
-parts of CVS which are implemented using RCS
-inspect the above variables in the order they appear
-above and the first value found is taken; if none of
-them are set, a host-dependent default is used,
-typically <TT>`/tmp'</TT>.  The CVS server uses
-<CODE>TMPDIR</CODE>.  See section <A HREF="cvs.html#SEC89">Global options</A>, 
for a
-description of how to specify this.
-Some parts of CVS will always use <TT>`/tmp'</TT> (via
-the <CODE>tmpnam</CODE> function provided by the system).
-
-On Windows NT, <CODE>TMP</CODE> is used (via the <CODE>_tempnam</CODE>
-function provided by the system).
-
-The <CODE>patch</CODE> program which is used by the CVS
-client uses <CODE>TMPDIR</CODE>, and if it is not set, uses
-<TT>`/tmp'</TT> (at least with GNU patch 2.1).
-</DL>
-
-<P>
-CVS invokes RCS to perform certain
-operations.  The following environment
-variables affect RCS.  Note that if you are using
-the client/server CVS, these variables need to be
-set on the server side (which may or not may be
-possible depending on how you are connecting).  There
-is probably not any need to set any of them, however.
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>$LOGNAME</CODE>
-<DD>
-<A NAME="IDX429"></A>
- 
-<A NAME="IDX430"></A>
-<DT><CODE>$USER</CODE>
-<DD>
-If set, they affect who RCS thinks you are.  If you
-have trouble checking in files it might be because your
-login name differs from the setting of e.g.
-<CODE>$LOGNAME</CODE>.
-
-<A NAME="IDX431"></A>
-<DT><CODE>$RCSINIT</CODE>
-<DD>
-Options prepended to the argument list, separated by
-spaces.  A backslash escapes spaces within an option.
-The <CODE>$RCSINIT</CODE> options are prepended to the
-argument lists of most RCS commands.
-</DL>
-
-
-
-<H1><A NAME="SEC152" HREF="cvs.html#TOC152">Troubleshooting</A></H1>
-
-
-
-<H2><A NAME="SEC153" HREF="cvs.html#TOC153">Magic branch numbers</A></H2>
-
-<P>
-Externally, branch numbers consist of an odd number of
-dot-separated decimal integers.  See section <A HREF="cvs.html#SEC8">Revision 
numbers</A>.  That is not the whole truth, however.  For
-efficiency reasons CVS sometimes inserts an extra 0
-in the second rightmost position (1.2.3 becomes
-1.2.0.3, 8.9.10.11.12 becomes 8.9.10.11.0.12 and so
-on).
-
-</P>
-<P>
-CVS does a pretty good job at hiding these so
-called magic branches, but in a few places the hiding
-is incomplete:
-
-</P>
-
-<UL>
-<LI>
-
-The magic branch number appears in the output from
-<CODE>cvs log</CODE>.
-
-<LI>
-
-You cannot specify a symbolic branch name to <CODE>cvs
-admin</CODE>.
-
-</UL>
-
-<P>
-You can use the <CODE>admin</CODE> command to reassign a
-symbolic name to a branch the way RCS expects it
-to be.  If <CODE>R4patches</CODE> is assigned to the branch
-1.4.2 (magic branch number 1.4.0.2) in file
-<TT>`numbers.c'</TT> you can do this:
-
-</P>
-
-<PRE>
-$ cvs admin -NR4patches:1.4.2 numbers.c
-</PRE>
-
-<P>
-It only works if at least one revision is already
-committed on the branch.  Be very careful so that you
-do not assign the tag to the wrong number.  (There is
-no way to see how the tag was assigned yesterday).
-
-</P>
-
-
-<H1><A NAME="SEC154" HREF="cvs.html#TOC154">GNU GENERAL PUBLIC LICENSE</A></H1>
-
-
-
-<H1><A NAME="SEC155" HREF="cvs.html#TOC155">Index</A></H1>
-<P>
-<A NAME="IDX432"></A>
-
-</P>
-<P>
-Jump to:
-<A HREF="#cindex_-">-</A>
--
-<A HREF="#cindex_.">.</A>
--
-<A HREF="#cindex_/">/</A>
--
-<A HREF="#cindex_:">:</A>
--
-<A HREF="#cindex_<">&#60;</A>
--
-<A HREF="#cindex_=">=</A>
--
-<A HREF="#cindex_>">&#62;</A>
--
-<A HREF="#cindex__">_</A>
--
-<A HREF="#cindex_a">a</A>
--
-<A HREF="#cindex_b">b</A>
--
-<A HREF="#cindex_c">c</A>
--
-<A HREF="#cindex_d">d</A>
--
-<A HREF="#cindex_e">e</A>
--
-<A HREF="#cindex_f">f</A>
--
-<A HREF="#cindex_g">g</A>
--
-<A HREF="#cindex_h">h</A>
--
-<A HREF="#cindex_i">i</A>
--
-<A HREF="#cindex_j">j</A>
--
-<A HREF="#cindex_k">k</A>
--
-<A HREF="#cindex_l">l</A>
--
-<A HREF="#cindex_m">m</A>
--
-<A HREF="#cindex_n">n</A>
--
-<A HREF="#cindex_o">o</A>
--
-<A HREF="#cindex_p">p</A>
--
-<A HREF="#cindex_r">r</A>
--
-<A HREF="#cindex_s">s</A>
--
-<A HREF="#cindex_t">t</A>
--
-<A HREF="#cindex_u">u</A>
--
-<A HREF="#cindex_v">v</A>
--
-<A HREF="#cindex_w">w</A>
--
-<A HREF="#cindex_z">z</A>
-<P>
-<H2><A NAME="cindex_-">-</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX229">-j (merging branches)</A>
-<LI><A HREF="cvs.html#IDX286">-k (RCS kflags)</A>
-</DIR>
-<H2><A NAME="cindex_.">.</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX356">.# files</A>
-<LI><A HREF="cvs.html#IDX66">.bashrc, setting CVSROOT in</A>
-<LI><A HREF="cvs.html#IDX64">.cshrc, setting CVSROOT in</A>
-<LI><A HREF="cvs.html#IDX300">.cvsrc file</A>
-<LI><A HREF="cvs.html#IDX63">.profile, setting CVSROOT in</A>
-<LI><A HREF="cvs.html#IDX65">.tcshrc, setting CVSROOT in</A>
-</DIR>
-<H2><A NAME="cindex_/">/</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX60">/usr/local/cvsroot, as example repository</A>
-</DIR>
-<H2><A NAME="cindex_:">:</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX101">:ext:</A>
-<LI><A HREF="cvs.html#IDX114">:kserver:</A>
-<LI><A HREF="cvs.html#IDX62">:local:</A>
-<LI><A HREF="cvs.html#IDX110">:pserver:</A>
-<LI><A HREF="cvs.html#IDX100">:server:</A>
-</DIR>
-<H2><A NAME="cindex_<">&#60;</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX157">&#60;&#60;&#60;&#60;&#60;&#60;&#60;</A>
-</DIR>
-<H2><A NAME="cindex_=">=</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX159">=======</A>
-</DIR>
-<H2><A NAME="cindex_>">&#62;</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX158">&#62;&#62;&#62;&#62;&#62;&#62;&#62;</A>
-</DIR>
-<H2><A NAME="cindex__">_</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX357">__ files (VMS)</A>
-</DIR>
-<H2><A NAME="cindex_a">a</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX35">A sample session</A>
-<LI><A HREF="cvs.html#IDX185">abandoning work</A>
-<LI><A HREF="cvs.html#IDX2">About this manual</A>
-<LI><A HREF="cvs.html#IDX244">add (subcommand)</A>
-<LI><A HREF="cvs.html#IDX203">Adding a tag</A>
-<LI><A HREF="cvs.html#IDX243">Adding files</A>
-<LI><A HREF="cvs.html#IDX328">Admin (subcommand)</A>
-<LI><A HREF="cvs.html#IDX79">Administrative files (intro)</A>
-<LI><A HREF="cvs.html#IDX358">Administrative files (reference)</A>
-<LI><A HREF="cvs.html#IDX84">Administrative files, editing them</A>
-<LI><A HREF="cvs.html#IDX382">ALL in commitinfo</A>
-<LI><A HREF="cvs.html#IDX267">annotate (subcommand)</A>
-<LI><A HREF="cvs.html#IDX167">Atomic transactions, lack of</A>
-<LI><A HREF="cvs.html#IDX109">authenticated client, using</A>
-<LI><A HREF="cvs.html#IDX104">authenticating server, setting up</A>
-<LI><A HREF="cvs.html#IDX273">Author keyword</A>
-<LI><A HREF="cvs.html#IDX403">Automatically ignored files</A>
-<LI><A HREF="cvs.html#IDX327">Avoiding editor invocation</A>
-</DIR>
-<H2><A NAME="cindex_b">b</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX288">Binary files</A>
-<LI><A HREF="cvs.html#IDX231">Branch merge example</A>
-<LI><A HREF="cvs.html#IDX30">Branch number</A>
-<LI><A HREF="cvs.html#IDX213">Branch numbers</A>
-<LI><A HREF="cvs.html#IDX211">Branch, creating a</A>
-<LI><A HREF="cvs.html#IDX254">Branch, vendor-</A>
-<LI><A HREF="cvs.html#IDX194">Branches</A>
-<LI><A HREF="cvs.html#IDX207">Branches motivation</A>
-<LI><A HREF="cvs.html#IDX225">Branches, copying changes between</A>
-<LI><A HREF="cvs.html#IDX216">Branches, sticky</A>
-<LI><A HREF="cvs.html#IDX146">Bringing a file up to date</A>
-<LI><A HREF="cvs.html#IDX7">Bugs, known in this manual</A>
-<LI><A HREF="cvs.html#IDX10">Bugs, reporting (manual)</A>
-</DIR>
-<H2><A NAME="cindex_c">c</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX226">Changes, copying between branches</A>
-<LI><A HREF="cvs.html#IDX329">Changing a log message</A>
-<LI><A HREF="cvs.html#IDX394">checked out copy, keeping</A>
-<LI><A HREF="cvs.html#IDX365">Checkin program</A>
-<LI><A HREF="cvs.html#IDX379">Checking commits</A>
-<LI><A HREF="cvs.html#IDX42">Checking out source</A>
-<LI><A HREF="cvs.html#IDX340">Checkout (subcommand)</A>
-<LI><A HREF="cvs.html#IDX366">Checkout program</A>
-<LI><A HREF="cvs.html#IDX181">checkout, as term for getting ready to edit</A>
-<LI><A HREF="cvs.html#IDX45">Checkout, example</A>
-<LI><A HREF="cvs.html#IDX193">choosing, reserved or unreserved checkouts</A>
-<LI><A HREF="cvs.html#IDX50">Cleaning up</A>
-<LI><A HREF="cvs.html#IDX97">Client/Server Operation</A>
-<LI><A HREF="cvs.html#IDX341">Co (subcommand)</A>
-<LI><A HREF="cvs.html#IDX293">Command reference</A>
-<LI><A HREF="cvs.html#IDX298">Command structure</A>
-<LI><A HREF="cvs.html#IDX337">Comment leader</A>
-<LI><A HREF="cvs.html#IDX342">Commit (subcommand)</A>
-<LI><A HREF="cvs.html#IDX374">Commit files</A>
-<LI><A HREF="cvs.html#IDX291">Commit, when to</A>
-<LI><A HREF="cvs.html#IDX378">Commitinfo</A>
-<LI><A HREF="cvs.html#IDX46">Committing changes</A>
-<LI><A HREF="cvs.html#IDX318">Common options</A>
-<LI><A HREF="cvs.html#IDX377">Common syntax of info files</A>
-<LI><A HREF="cvs.html#IDX424">COMSPEC</A>
-<LI><A HREF="cvs.html#IDX156">Conflict markers</A>
-<LI><A HREF="cvs.html#IDX161">Conflict resolution</A>
-<LI><A HREF="cvs.html#IDX154">Conflicts (merge example)</A>
-<LI><A HREF="cvs.html#IDX18">Contributors (CVS program)</A>
-<LI><A HREF="cvs.html#IDX5">Contributors (manual)</A>
-<LI><A HREF="cvs.html#IDX224">Copying changes</A>
-<LI><A HREF="cvs.html#IDX331">Correcting a log message</A>
-<LI><A HREF="cvs.html#IDX210">Creating a branch</A>
-<LI><A HREF="cvs.html#IDX118">Creating a project</A>
-<LI><A HREF="cvs.html#IDX92">Creating a repository</A>
-<LI><A HREF="cvs.html#IDX17">Credits (CVS program)</A>
-<LI><A HREF="cvs.html#IDX6">Credits (manual)</A>
-<LI><A HREF="cvs.html#IDX192">CVS 1.6, and watches</A>
-<LI><A HREF="cvs.html#IDX297">CVS command structure</A>
-<LI><A HREF="cvs.html#IDX105">CVS passwd file</A>
-<LI><A HREF="cvs.html#IDX16">CVS, history of</A>
-<LI><A HREF="cvs.html#IDX14">CVS, introduction to</A>
-<LI><A HREF="cvs.html#IDX421">CVS_CLIENT_LOG</A>
-<LI><A HREF="cvs.html#IDX115">CVS_CLIENT_PORT</A>
-<LI><A HREF="cvs.html#IDX423">CVS_IGNORE_REMOTE_ROOT</A>
-<LI><A HREF="cvs.html#IDX111">CVS_PASSFILE, environment variable</A>
-<LI><A HREF="cvs.html#IDX112">CVS_PASSWORD, environment variable</A>
-<LI><A HREF="cvs.html#IDX420">CVS_RCMD_PORT</A>
-<LI><A HREF="cvs.html#IDX419">CVS_RSH</A>
-<LI><A HREF="cvs.html#IDX99">CVS_SERVER</A>
-<LI><A HREF="cvs.html#IDX422">CVS_SERVER_SLEEP</A>
-<LI><A HREF="cvs.html#IDX414">CVSEDITOR</A>
-<LI><A HREF="cvs.html#IDX48">CVSEDITOR, environment variable</A>
-<LI><A HREF="cvs.html#IDX408">CVSIGNORE</A>
-<LI><A HREF="cvs.html#IDX399">cvsignore (admin file), global</A>
-<LI><A HREF="cvs.html#IDX410">CVSREAD</A>
-<LI><A HREF="cvs.html#IDX316">CVSREAD, overriding</A>
-<LI><A HREF="cvs.html#IDX412">CVSROOT</A>
-<LI><A HREF="cvs.html#IDX61">cvsroot</A>
-<LI><A HREF="cvs.html#IDX361">CVSROOT (file)</A>
-<LI><A HREF="cvs.html#IDX67">CVSROOT, environment variable</A>
-<LI><A HREF="cvs.html#IDX81">CVSROOT, module name</A>
-<LI><A HREF="cvs.html#IDX90">CVSROOT, multiple repositories</A>
-<LI><A HREF="cvs.html#IDX309">CVSROOT, overriding</A>
-<LI><A HREF="cvs.html#IDX75">CVSUMASK</A>
-<LI><A HREF="cvs.html#IDX409">CVSWRAPPERS</A>
-<LI><A HREF="cvs.html#IDX371">cvswrappers (admin file)</A>
-<LI><A HREF="cvs.html#IDX372">CVSWRAPPERS, environment variable</A>
-</DIR>
-<H2><A NAME="cindex_d">d</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX274">Date keyword</A>
-<LI><A HREF="cvs.html#IDX320">Dates</A>
-<LI><A HREF="cvs.html#IDX28">Decimal revision number</A>
-<LI><A HREF="cvs.html#IDX381">DEFAULT in commitinfo</A>
-<LI><A HREF="cvs.html#IDX387">DEFAULT in editinfo</A>
-<LI><A HREF="cvs.html#IDX123">Defining a module</A>
-<LI><A HREF="cvs.html#IDX82">Defining modules (intro)</A>
-<LI><A HREF="cvs.html#IDX363">Defining modules (reference manual)</A>
-<LI><A HREF="cvs.html#IDX247">Deleting files</A>
-<LI><A HREF="cvs.html#IDX334">Deleting revisions</A>
-<LI><A HREF="cvs.html#IDX219">Deleting sticky tags</A>
-<LI><A HREF="cvs.html#IDX241">Descending directories</A>
-<LI><A HREF="cvs.html#IDX55">Diff</A>
-<LI><A HREF="cvs.html#IDX343">Diff (subcommand)</A>
-<LI><A HREF="cvs.html#IDX236">Differences, merging</A>
-<LI><A HREF="cvs.html#IDX262">Directories, moving</A>
-<LI><A HREF="cvs.html#IDX240">Directory, descending</A>
-<LI><A HREF="cvs.html#IDX89">Disjoint repositories</A>
-<LI><A HREF="cvs.html#IDX391">Distributing log messages</A>
-<LI><A HREF="cvs.html#IDX153">driver.c (merge example)</A>
-</DIR>
-<H2><A NAME="cindex_e">e</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX182">edit (subcommand)</A>
-<LI><A HREF="cvs.html#IDX383">editinfo (admin file)</A>
-<LI><A HREF="cvs.html#IDX83">Editing administrative files</A>
-<LI><A HREF="cvs.html#IDX124">Editing the modules file</A>
-<LI><A HREF="cvs.html#IDX413">EDITOR</A>
-<LI><A HREF="cvs.html#IDX326">Editor, avoiding invocation of</A>
-<LI><A HREF="cvs.html#IDX49">EDITOR, environment variable</A>
-<LI><A HREF="cvs.html#IDX311">EDITOR, overriding</A>
-<LI><A HREF="cvs.html#IDX384">Editor, specifying per module</A>
-<LI><A HREF="cvs.html#IDX190">editors (subcommand)</A>
-<LI><A HREF="cvs.html#IDX162">emerge</A>
-<LI><A HREF="cvs.html#IDX406">Environment variables</A>
-<LI><A HREF="cvs.html#IDX11">Errors, reporting (manual)</A>
-<LI><A HREF="cvs.html#IDX36">Example of a work-session</A>
-<LI><A HREF="cvs.html#IDX152">Example of merge</A>
-<LI><A HREF="cvs.html#IDX232">Example, branch merge</A>
-<LI><A HREF="cvs.html#IDX344">Export (subcommand)</A>
-<LI><A HREF="cvs.html#IDX364">Export program</A>
-</DIR>
-<H2><A NAME="cindex_f">f</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX43">Fetching source</A>
-<LI><A HREF="cvs.html#IDX129">File locking</A>
-<LI><A HREF="cvs.html#IDX72">File permissions</A>
-<LI><A HREF="cvs.html#IDX135">File status</A>
-<LI><A HREF="cvs.html#IDX259">Files, moving</A>
-<LI><A HREF="cvs.html#IDX359">Files, reference manual</A>
-<LI><A HREF="cvs.html#IDX332">Fixing a log message</A>
-<LI><A HREF="cvs.html#IDX325">Forcing a tag match</A>
-<LI><A HREF="cvs.html#IDX396">Form for log message</A>
-<LI><A HREF="cvs.html#IDX299">Format of CVS commands</A>
-</DIR>
-<H2><A NAME="cindex_g">g</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX37">Getting started</A>
-<LI><A HREF="cvs.html#IDX41">Getting the source</A>
-<LI><A HREF="cvs.html#IDX400">Global cvsignore</A>
-<LI><A HREF="cvs.html#IDX303">Global options</A>
-<LI><A HREF="cvs.html#IDX73">Group</A>
-</DIR>
-<H2><A NAME="cindex_h">h</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX275">Header keyword</A>
-<LI><A HREF="cvs.html#IDX345">History (subcommand)</A>
-<LI><A HREF="cvs.html#IDX263">History browsing</A>
-<LI><A HREF="cvs.html#IDX404">History file</A>
-<LI><A HREF="cvs.html#IDX69">History files</A>
-<LI><A HREF="cvs.html#IDX15">History of CVS</A>
-<LI><A HREF="cvs.html#IDX417">HOME</A>
-<LI><A HREF="cvs.html#IDX418">HOMEPATH</A>
-</DIR>
-<H2><A NAME="cindex_i">i</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX276">Id keyword</A>
-<LI><A HREF="cvs.html#IDX284">Ident (shell command)</A>
-<LI><A HREF="cvs.html#IDX271">Identifying files</A>
-<LI><A HREF="cvs.html#IDX402">Ignored files</A>
-<LI><A HREF="cvs.html#IDX401">Ignoring files</A>
-<LI><A HREF="cvs.html#IDX346">Import (subcommand)</A>
-<LI><A HREF="cvs.html#IDX119">Importing files</A>
-<LI><A HREF="cvs.html#IDX120">Importing files, from other version control 
systesm</A>
-<LI><A HREF="cvs.html#IDX255">Importing modules</A>
-<LI><A HREF="cvs.html#IDX432">Index</A>
-<LI><A HREF="cvs.html#IDX375">Info files (syntax)</A>
-<LI><A HREF="cvs.html#IDX163">Informing others</A>
-<LI><A HREF="cvs.html#IDX94">init (subcommand)</A>
-<LI><A HREF="cvs.html#IDX13">Introduction to CVS</A>
-<LI><A HREF="cvs.html#IDX295">Invoking CVS</A>
-<LI><A HREF="cvs.html#IDX265">Isolation</A>
-</DIR>
-<H2><A NAME="cindex_j">j</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX230">Join</A>
-</DIR>
-<H2><A NAME="cindex_k">k</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX393">keeping a checked out copy</A>
-<LI><A HREF="cvs.html#IDX113">kerberos</A>
-<LI><A HREF="cvs.html#IDX270">Keyword expansion</A>
-<LI><A HREF="cvs.html#IDX269">Keyword substitution</A>
-<LI><A HREF="cvs.html#IDX287">Kflag</A>
-<LI><A HREF="cvs.html#IDX116">kinit</A>
-<LI><A HREF="cvs.html#IDX8">Known bugs in this manual</A>
-</DIR>
-<H2><A NAME="cindex_l">l</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX58">Layout of repository</A>
-<LI><A HREF="cvs.html#IDX304">Left-hand options</A>
-<LI><A HREF="cvs.html#IDX26">Linear development</A>
-<LI><A HREF="cvs.html#IDX21">List, mailing list</A>
-<LI><A HREF="cvs.html#IDX139">Locally Added</A>
-<LI><A HREF="cvs.html#IDX138">Locally Modified</A>
-<LI><A HREF="cvs.html#IDX140">Locally Removed</A>
-<LI><A HREF="cvs.html#IDX278">Locker keyword</A>
-<LI><A HREF="cvs.html#IDX130">Locking files</A>
-<LI><A HREF="cvs.html#IDX166">locks, cvs</A>
-<LI><A HREF="cvs.html#IDX347">Log (subcommand)</A>
-<LI><A HREF="cvs.html#IDX405">Log information, saving</A>
-<LI><A HREF="cvs.html#IDX279">Log keyword</A>
-<LI><A HREF="cvs.html#IDX338">Log keyword, selecting comment leader</A>
-<LI><A HREF="cvs.html#IDX47">Log message entry</A>
-<LI><A HREF="cvs.html#IDX397">Log message template</A>
-<LI><A HREF="cvs.html#IDX333">Log message, correcting</A>
-<LI><A HREF="cvs.html#IDX392">Log messages</A>
-<LI><A HREF="cvs.html#IDX386">Log messages, editing</A>
-<LI><A HREF="cvs.html#IDX107">Login (subcommand)</A>
-<LI><A HREF="cvs.html#IDX388">loginfo (admin file)</A>
-<LI><A HREF="cvs.html#IDX429">LOGNAME</A>
-</DIR>
-<H2><A NAME="cindex_m">m</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX165">Mail, automatic mail on commit</A>
-<LI><A HREF="cvs.html#IDX20">Mailing list</A>
-<LI><A HREF="cvs.html#IDX390">Mailing log messages</A>
-<LI><A HREF="cvs.html#IDX29">Main trunk (intro)</A>
-<LI><A HREF="cvs.html#IDX195">Main trunk and branches</A>
-<LI><A HREF="cvs.html#IDX87">Many repositories</A>
-<LI><A HREF="cvs.html#IDX155">Markers, conflict</A>
-<LI><A HREF="cvs.html#IDX151">Merge, an example</A>
-<LI><A HREF="cvs.html#IDX233">Merge, branch example</A>
-<LI><A HREF="cvs.html#IDX223">Merging</A>
-<LI><A HREF="cvs.html#IDX228">Merging a branch</A>
-<LI><A HREF="cvs.html#IDX148">Merging a file</A>
-<LI><A HREF="cvs.html#IDX234">Merging two revisions</A>
-<LI><A HREF="cvs.html#IDX227">Modifications, copying between branches</A>
-<LI><A HREF="cvs.html#IDX368">Module status</A>
-<LI><A HREF="cvs.html#IDX125">Module, defining</A>
-<LI><A HREF="cvs.html#IDX362">Modules (admin file)</A>
-<LI><A HREF="cvs.html#IDX23">Modules (intro)</A>
-<LI><A HREF="cvs.html#IDX80">Modules file</A>
-<LI><A HREF="cvs.html#IDX126">Modules file, changing</A>
-<LI><A HREF="cvs.html#IDX209">Motivation for branches</A>
-<LI><A HREF="cvs.html#IDX260">Moving directories</A>
-<LI><A HREF="cvs.html#IDX257">Moving files</A>
-<LI><A HREF="cvs.html#IDX127">Multiple developers</A>
-<LI><A HREF="cvs.html#IDX85">Multiple repositories</A>
-</DIR>
-<H2><A NAME="cindex_n">n</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX277">Name keyword</A>
-<LI><A HREF="cvs.html#IDX202">Name, symbolic (tag)</A>
-<LI><A HREF="cvs.html#IDX141">Needs Checkout</A>
-<LI><A HREF="cvs.html#IDX143">Needs Merge</A>
-<LI><A HREF="cvs.html#IDX142">Needs Patch</A>
-<LI><A HREF="cvs.html#IDX22">Newsgroups</A>
-<LI><A HREF="cvs.html#IDX179">notify (admin file)</A>
-<LI><A HREF="cvs.html#IDX339">Nroff (selecting comment leader)</A>
-<LI><A HREF="cvs.html#IDX31">Number, branch</A>
-<LI><A HREF="cvs.html#IDX27">Number, revision-</A>
-</DIR>
-<H2><A NAME="cindex_o">o</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX301">option defaults</A>
-<LI><A HREF="cvs.html#IDX302">Options, global</A>
-<LI><A HREF="cvs.html#IDX335">Outdating revisions</A>
-<LI><A HREF="cvs.html#IDX150">Overlap</A>
-<LI><A HREF="cvs.html#IDX317">Overriding CVSREAD</A>
-<LI><A HREF="cvs.html#IDX310">Overriding CVSROOT</A>
-<LI><A HREF="cvs.html#IDX312">Overriding EDITOR</A>
-<LI><A HREF="cvs.html#IDX306">Overriding RCSBIN</A>
-<LI><A HREF="cvs.html#IDX308">Overriding TMPDIR</A>
-</DIR>
-<H2><A NAME="cindex_p">p</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX88">Parallel repositories</A>
-<LI><A HREF="cvs.html#IDX106">passwd (admin file)</A>
-<LI><A HREF="cvs.html#IDX108">password client, using</A>
-<LI><A HREF="cvs.html#IDX103">password server, setting up</A>
-<LI><A HREF="cvs.html#IDX415">PATH</A>
-<LI><A HREF="cvs.html#IDX385">Per-module editor</A>
-<LI><A HREF="cvs.html#IDX292">Policy</A>
-<LI><A HREF="cvs.html#IDX380">Precommit checking</A>
-<LI><A HREF="cvs.html#IDX1">Preface</A>
-<LI><A HREF="cvs.html#IDX102">Pserver (subcommand)</A>
-</DIR>
-<H2><A NAME="cindex_r">r</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX70">RCS history files</A>
-<LI><A HREF="cvs.html#IDX272">RCS keywords</A>
-<LI><A HREF="cvs.html#IDX198">RCS revision numbers</A>
-<LI><A HREF="cvs.html#IDX121">RCS, importing files from</A>
-<LI><A HREF="cvs.html#IDX134">RCS-style locking</A>
-<LI><A HREF="cvs.html#IDX416">RCSBIN</A>
-<LI><A HREF="cvs.html#IDX305">RCSBIN, overriding</A>
-<LI><A HREF="cvs.html#IDX280">RCSfile keyword</A>
-<LI><A HREF="cvs.html#IDX395">rcsinfo (admin file)</A>
-<LI><A HREF="cvs.html#IDX431">RCSINIT</A>
-<LI><A HREF="cvs.html#IDX350">Rdiff (subcommand)</A>
-<LI><A HREF="cvs.html#IDX314">read-only files, and -r</A>
-<LI><A HREF="cvs.html#IDX411">read-only files, and CVSREAD</A>
-<LI><A HREF="cvs.html#IDX172">read-only files, and watches</A>
-<LI><A HREF="cvs.html#IDX74">read-only files, in repository</A>
-<LI><A HREF="cvs.html#IDX313">Read-only mode</A>
-<LI><A HREF="cvs.html#IDX239">Recursive (directory descending)</A>
-<LI><A HREF="cvs.html#IDX360">Reference manual (files)</A>
-<LI><A HREF="cvs.html#IDX407">Reference manual for variables</A>
-<LI><A HREF="cvs.html#IDX294">Reference, commands</A>
-<LI><A HREF="cvs.html#IDX351">Release (subcommand)</A>
-<LI><A HREF="cvs.html#IDX34">Releases, revisions and versions</A>
-<LI><A HREF="cvs.html#IDX53">Releasing your working copy</A>
-<LI><A HREF="cvs.html#IDX96">Remote repositories</A>
-<LI><A HREF="cvs.html#IDX248">Remove (subcommand)</A>
-<LI><A HREF="cvs.html#IDX238">Removing a change</A>
-<LI><A HREF="cvs.html#IDX246">Removing files</A>
-<LI><A HREF="cvs.html#IDX52">Removing your working copy</A>
-<LI><A HREF="cvs.html#IDX261">Renaming directories</A>
-<LI><A HREF="cvs.html#IDX258">Renaming files</A>
-<LI><A HREF="cvs.html#IDX330">Replacing a log message</A>
-<LI><A HREF="cvs.html#IDX9">Reporting bugs (manual)</A>
-<LI><A HREF="cvs.html#IDX86">Repositories, multiple</A>
-<LI><A HREF="cvs.html#IDX95">Repositories, remote</A>
-<LI><A HREF="cvs.html#IDX56">Repository (intro)</A>
-<LI><A HREF="cvs.html#IDX57">Repository, example</A>
-<LI><A HREF="cvs.html#IDX68">Repository, how data is stored</A>
-<LI><A HREF="cvs.html#IDX91">Repository, setting up</A>
-<LI><A HREF="cvs.html#IDX132">reserved checkouts</A>
-<LI><A HREF="cvs.html#IDX217">Resetting sticky tags</A>
-<LI><A HREF="cvs.html#IDX160">Resolving a conflict</A>
-<LI><A HREF="cvs.html#IDX221">Restoring old version of removed file</A>
-<LI><A HREF="cvs.html#IDX222">Resurrecting old version of dead file</A>
-<LI><A HREF="cvs.html#IDX205">Retrieving an old revision using tags</A>
-<LI><A HREF="cvs.html#IDX186">reverting to repository version</A>
-<LI><A HREF="cvs.html#IDX281">Revision keyword</A>
-<LI><A HREF="cvs.html#IDX289">Revision management</A>
-<LI><A HREF="cvs.html#IDX24">Revision numbers</A>
-<LI><A HREF="cvs.html#IDX25">Revision tree</A>
-<LI><A HREF="cvs.html#IDX196">Revision tree, making branches</A>
-<LI><A HREF="cvs.html#IDX235">Revisions, merging differences between</A>
-<LI><A HREF="cvs.html#IDX32">Revisions, versions and releases</A>
-<LI><A HREF="cvs.html#IDX319">Right-hand options</A>
-<LI><A HREF="cvs.html#IDX98">rsh</A>
-<LI><A HREF="cvs.html#IDX352">Rtag (subcommand)</A>
-<LI><A HREF="cvs.html#IDX212">rtag, creating a branch using</A>
-</DIR>
-<H2><A NAME="cindex_s">s</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX336">Saving space</A>
-<LI><A HREF="cvs.html#IDX122">SCCS, importing files from</A>
-<LI><A HREF="cvs.html#IDX71">Security</A>
-<LI><A HREF="cvs.html#IDX78">setgid</A>
-<LI><A HREF="cvs.html#IDX93">Setting up a repository</A>
-<LI><A HREF="cvs.html#IDX77">setuid</A>
-<LI><A HREF="cvs.html#IDX3">Signum Support</A>
-<LI><A HREF="cvs.html#IDX282">Source keyword</A>
-<LI><A HREF="cvs.html#IDX19">Source, getting CVS source</A>
-<LI><A HREF="cvs.html#IDX44">Source, getting from CVS</A>
-<LI><A HREF="cvs.html#IDX322">Specifying dates</A>
-<LI><A HREF="cvs.html#IDX164">Spreading information</A>
-<LI><A HREF="cvs.html#IDX117">Starting a project with CVS</A>
-<LI><A HREF="cvs.html#IDX283">State keyword</A>
-<LI><A HREF="cvs.html#IDX353">Status (subcommand)</A>
-<LI><A HREF="cvs.html#IDX136">Status of a file</A>
-<LI><A HREF="cvs.html#IDX367">Status of a module</A>
-<LI><A HREF="cvs.html#IDX220">sticky date</A>
-<LI><A HREF="cvs.html#IDX214">Sticky tags</A>
-<LI><A HREF="cvs.html#IDX218">Sticky tags, resetting</A>
-<LI><A HREF="cvs.html#IDX389">Storing log messages</A>
-<LI><A HREF="cvs.html#IDX296">Structure</A>
-<LI><A HREF="cvs.html#IDX242">Subdirectories</A>
-<LI><A HREF="cvs.html#IDX4">Support, getting CVS support</A>
-<LI><A HREF="cvs.html#IDX201">Symbolic name (tag)</A>
-<LI><A HREF="cvs.html#IDX376">Syntax of info files</A>
-</DIR>
-<H2><A NAME="cindex_t">t</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX354">Tag (subcommand)</A>
-<LI><A HREF="cvs.html#IDX369">Tag program</A>
-<LI><A HREF="cvs.html#IDX199">tag, command, introduction</A>
-<LI><A HREF="cvs.html#IDX204">tag, example</A>
-<LI><A HREF="cvs.html#IDX206">Tag, retrieving old revisions</A>
-<LI><A HREF="cvs.html#IDX200">Tag, symbolic name</A>
-<LI><A HREF="cvs.html#IDX266">taginfo</A>
-<LI><A HREF="cvs.html#IDX197">Tags</A>
-<LI><A HREF="cvs.html#IDX215">Tags, sticky</A>
-<LI><A HREF="cvs.html#IDX39">tc, Trivial Compiler (example)</A>
-<LI><A HREF="cvs.html#IDX128">Team of developers</A>
-<LI><A HREF="cvs.html#IDX427">TEMP</A>
-<LI><A HREF="cvs.html#IDX398">Template for log message</A>
-<LI><A HREF="cvs.html#IDX428">temporary files, location of</A>
-<LI><A HREF="cvs.html#IDX250">Third-party sources</A>
-<LI><A HREF="cvs.html#IDX321">Time</A>
-<LI><A HREF="cvs.html#IDX323">timezone, in input</A>
-<LI><A HREF="cvs.html#IDX348">timezone, in output</A>
-<LI><A HREF="cvs.html#IDX426">TMP</A>
-<LI><A HREF="cvs.html#IDX425">TMPDIR</A>
-<LI><A HREF="cvs.html#IDX307">TMPDIR, overriding</A>
-<LI><A HREF="cvs.html#IDX315">Trace</A>
-<LI><A HREF="cvs.html#IDX264">Traceability</A>
-<LI><A HREF="cvs.html#IDX251">Tracking sources</A>
-<LI><A HREF="cvs.html#IDX168">Transactions, atomic, lack of</A>
-<LI><A HREF="cvs.html#IDX40">Trivial Compiler (example)</A>
-<LI><A HREF="cvs.html#IDX59">Typical repository</A>
-</DIR>
-<H2><A NAME="cindex_u">u</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX76">umask, for repository files</A>
-<LI><A HREF="cvs.html#IDX237">Undoing a change</A>
-<LI><A HREF="cvs.html#IDX184">unedit (subcommand)</A>
-<LI><A HREF="cvs.html#IDX145">Unknown</A>
-<LI><A HREF="cvs.html#IDX133">unreserved checkouts</A>
-<LI><A HREF="cvs.html#IDX144">Unresolved Conflict</A>
-<LI><A HREF="cvs.html#IDX137">Up-to-date</A>
-<LI><A HREF="cvs.html#IDX355">Update (subcommand)</A>
-<LI><A HREF="cvs.html#IDX370">Update program</A>
-<LI><A HREF="cvs.html#IDX149">update, introduction</A>
-<LI><A HREF="cvs.html#IDX147">Updating a file</A>
-<LI><A HREF="cvs.html#IDX430">USER</A>
-<LI><A HREF="cvs.html#IDX180">users (admin file)</A>
-</DIR>
-<H2><A NAME="cindex_v">v</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX252">Vendor</A>
-<LI><A HREF="cvs.html#IDX253">Vendor branch</A>
-<LI><A HREF="cvs.html#IDX33">Versions, revisions and releases</A>
-<LI><A HREF="cvs.html#IDX54">Viewing differences</A>
-</DIR>
-<H2><A NAME="cindex_w">w</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX175">watch add (subcommand)</A>
-<LI><A HREF="cvs.html#IDX173">watch off (subcommand)</A>
-<LI><A HREF="cvs.html#IDX170">watch on (subcommand)</A>
-<LI><A HREF="cvs.html#IDX177">watch remove (subcommand)</A>
-<LI><A HREF="cvs.html#IDX188">watchers (subcommand)</A>
-<LI><A HREF="cvs.html#IDX169">Watches</A>
-<LI><A HREF="cvs.html#IDX256">Wdiff (import example)</A>
-<LI><A HREF="cvs.html#IDX285">What (shell command)</A>
-<LI><A HREF="cvs.html#IDX208">What branches are good for</A>
-<LI><A HREF="cvs.html#IDX12">What is CVS?</A>
-<LI><A HREF="cvs.html#IDX290">When to commit</A>
-<LI><A HREF="cvs.html#IDX38">Work-session, example of</A>
-<LI><A HREF="cvs.html#IDX131">Working copy</A>
-<LI><A HREF="cvs.html#IDX51">Working copy, removing</A>
-<LI><A HREF="cvs.html#IDX373">Wrappers</A>
-</DIR>
-<H2><A NAME="cindex_z">z</A></H2>
-<DIR>
-<LI><A HREF="cvs.html#IDX324">zone, time, in input</A>
-<LI><A HREF="cvs.html#IDX349">zone, time, in output</A>
-</DIR>
-
-</P>
-
-<P><HR><P>
-This document was generated on 7 November 1998 using the
-<A HREF="http://wwwinfo.cern.ch/dis/texi2html/";>texi2html</A>
-translator version 1.52.</P>
-</BODY>
-</HTML>

Index: manual/html_node/cvs_1.html
===================================================================
RCS file: manual/html_node/cvs_1.html
diff -N manual/html_node/cvs_1.html
--- manual/html_node/cvs_1.html 7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,137 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Preface</TITLE>
-</HEAD>
-<BODY>
-Go to the first, previous, <A HREF="cvs_2.html">next</A>, <A 
HREF="cvs_148.html">last</A> section, <A HREF="cvs_toc.html">table of 
contents</A>.
-<P><HR><P>
-
-<P>
-Version Management
-<P>
-with
-<P>
-CVS
-<P>
-for CVS 1.9
-<P>
-Per Cederqvist et al
-
-</P>
-<P>
-Copyright (C) 1992, 1993 Signum Support AB
-
-</P>
-<P>
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
-
-</P>
-<P>
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided also that the
-section entitled "GNU General Public License" is included exactly as
-in the original, and provided that the entire resulting derived work is
-distributed under the terms of a permission notice identical to this one.
-
-</P>
-<P>
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that the section entitled "GNU General Public License" and
-this permission notice may be included in translations approved by the
-Free Software Foundation instead of in the original English.
-
-</P>
-
-
-
-<H1><A NAME="SEC1" HREF="cvs_toc.html#TOC1">About this manual</A></H1>
-<P>
-<A NAME="IDX1"></A>
-<A NAME="IDX2"></A>
-
-</P>
-<P>
-Up to this point, one of the weakest parts of CVS
-has been the documentation.  CVS is a complex
-program.  Previous versions of the manual were written
-in the manual page format, which is not really well
-suited for such a complex program.
-
-</P>
-<P>
-When writing this manual, I had several goals in mind:
-
-</P>
-
-<UL>
-<LI>
-
-No knowledge of RCS should be necessary.
-
-<LI>
-
-No previous knowledge of revision control software
-should be necessary.  All terms, such as <EM>revision
-numbers</EM>, <EM>revision trees</EM> and <EM>merging</EM> are
-explained as they are introduced.
-
-<LI>
-
-The manual should concentrate on the things CVS users
-want to do, instead of what the CVS commands can do.
-The first part of this manual leads you through things
-you might want to do while doing development, and
-introduces the relevant CVS commands as they are
-needed.
-
-<LI>
-
-Information should be easy to find.  In the reference
-manual in the appendices almost all information about
-every CVS command is gathered together.  There is also
-an extensive index, and a lot of cross references.
-</UL>
-
-<P>
-<A NAME="IDX3"></A>
-<A NAME="IDX4"></A>
-This manual was contributed by Signum Support AB in
-Sweden.  Signum is yet another in the growing list of
-companies that support free software.  You are free to
-copy both this manual and the CVS program.
-See section <A HREF="cvs_147.html#SEC154">GNU GENERAL PUBLIC LICENSE</A>, for 
the details.  Signum Support offers
-support contracts and binary distribution for many
-programs, such as CVS, GNU Emacs, the
-GNU C compiler and others.  Write to us for
-more information.
-
-</P>
-
-<PRE>
-Signum Support AB
-Box 2044
-S-580 02  Linkoping
-Sweden
-
-Email: address@hidden
-Phone: +46 (0)13 - 21 46 00
-Fax:   +46 (0)13 - 21 47 00
-</PRE>
-
-<P>
-Another company selling support for CVS is Cyclic
-Software, web: <CODE>http://www.cyclic.com/</CODE>, email:
-<CODE>address@hidden</CODE>.
-
-</P>
-
-<P><HR><P>
-Go to the first, previous, <A HREF="cvs_2.html">next</A>, <A 
HREF="cvs_148.html">last</A> section, <A HREF="cvs_toc.html">table of 
contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_10.html
===================================================================
RCS file: manual/html_node/cvs_10.html
diff -N manual/html_node/cvs_10.html
--- manual/html_node/cvs_10.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,60 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Getting the source</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_9.html">previous</A>, 
<A HREF="cvs_11.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC11" HREF="cvs_toc.html#TOC11">Getting the source</A></H2>
-<P>
-<A NAME="IDX41"></A>
-<A NAME="IDX42"></A>
-<A NAME="IDX43"></A>
-<A NAME="IDX44"></A>
-<A NAME="IDX45"></A>
-
-</P>
-<P>
-The first thing you must do is to get your own working copy of the
-source for <SAMP>`tc'</SAMP>.  For this, you use the <CODE>checkout</CODE> 
command:
-
-</P>
-
-<PRE>
-$ cvs checkout tc
-</PRE>
-
-<P>
-This will create a new directory called <TT>`tc'</TT> and populate it with
-the source files.
-
-</P>
-
-<PRE>
-$ cd tc
-$ ls
-CVS         Makefile    backend.c   driver.c    frontend.c  parser.c
-</PRE>
-
-<P>
-The <TT>`CVS'</TT> directory is used internally by
-CVS.  Normally, you should not modify or remove
-any of the files in it.
-
-</P>
-<P>
-You start your favorite editor, hack away at <TT>`backend.c'</TT>, and a couple
-of hours later you have added an optimization pass to the compiler.
-A note to RCS and SCCS users: There is no need to lock the files that
-you want to edit.  See section <A HREF="cvs_35.html#SEC37">Multiple 
developers</A> for an explanation.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_9.html">previous</A>, 
<A HREF="cvs_11.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_100.html
===================================================================
RCS file: manual/html_node/cvs_100.html
diff -N manual/html_node/cvs_100.html
--- manual/html_node/cvs_100.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,64 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - diff examples</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_99.html">previous</A>, 
<A HREF="cvs_101.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC107" HREF="cvs_toc.html#TOC107">diff examples</A></H3>
-
-<P>
-The following line produces a Unidiff (<SAMP>`-u'</SAMP> flag)
-between revision 1.14 and 1.19 of
-<TT>`backend.c'</TT>.  Due to the <SAMP>`-kk'</SAMP> flag no
-keywords are substituted, so differences that only depend
-on keyword substitution are ignored.
-
-</P>
-
-<PRE>
-$ cvs diff -kk -u -r 1.14 -r 1.19 backend.c
-</PRE>
-
-<P>
-Suppose the experimental branch EXPR1 was based on a
-set of files tagged RELEASE_1_0.  To see what has
-happened on that branch, the following can be used:
-
-</P>
-
-<PRE>
-$ cvs diff -r RELEASE_1_0 -r EXPR1
-</PRE>
-
-<P>
-A command like this can be used to produce a context
-diff between two releases:
-
-</P>
-
-<PRE>
-$ cvs diff -c -r RELEASE_1_0 -r RELEASE_1_1 &#62; diffs
-</PRE>
-
-<P>
-If you are maintaining ChangeLogs, a command like the following
-just before you commit your changes may help you write
-the ChangeLog entry.  All local modifications that have
-not yet been committed will be printed.
-
-</P>
-
-<PRE>
-$ cvs diff -u | less
-</PRE>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_99.html">previous</A>, 
<A HREF="cvs_101.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_101.html
===================================================================
RCS file: manual/html_node/cvs_101.html
diff -N manual/html_node/cvs_101.html
--- manual/html_node/cvs_101.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,59 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - export</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_100.html">previous</A>, 
<A HREF="cvs_102.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC108" HREF="cvs_toc.html#TOC108">export--Export sources from 
CVS, similar to checkout</A></H2>
-<P>
-<A NAME="IDX344"></A>
-
-</P>
-
-<UL>
-<LI>
-
-Synopsis: export [-flNn] [-r rev|-D date] [-k subst] [-d dir] module...
-<LI>
-
-Requires: repository.
-<LI>
-
-Changes: current directory.
-</UL>
-
-<P>
-This command is a variant of <CODE>checkout</CODE>; use it
-when you want a copy of the source for module without
-the CVS administrative directories.  For example, you
-might use <CODE>export</CODE> to prepare source for shipment
-off-site.  This command requires that you specify a
-date or tag (with <SAMP>`-D'</SAMP> or <SAMP>`-r'</SAMP>), so that you
-can count on reproducing the source you ship to others.
-
-</P>
-<P>
-One often would like to use <SAMP>`-kv'</SAMP> with <CODE>cvs
-export</CODE>.  This causes any RCS keywords to be
-expanded such that an import done at some other site
-will not lose the keyword revision information.  But be
-aware that doesn't handle an export containing binary
-files correctly.  Also be aware that after having used
-<SAMP>`-kv'</SAMP>, one can no longer use the <CODE>ident</CODE>
-command (which is part of the RCS suite--see
-ident(1)) which looks for RCS keyword strings.  If
-you want to be able to use <CODE>ident</CODE> you must not
-use <SAMP>`-kv'</SAMP>.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_100.html">previous</A>, 
<A HREF="cvs_102.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_102.html
===================================================================
RCS file: manual/html_node/cvs_102.html
diff -N manual/html_node/cvs_102.html
--- manual/html_node/cvs_102.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,79 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - export options</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_101.html">previous</A>, 
<A HREF="cvs_103.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC109" HREF="cvs_toc.html#TOC109">export options</A></H3>
-
-<P>
-These standard options are supported by <CODE>export</CODE>
-(see section <A HREF="cvs_88.html#SEC90">Common command options</A>, for a 
complete description of
-them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-D <VAR>date</VAR></CODE>
-<DD>
-Use the most recent revision no later than <VAR>date</VAR>.
-
-<DT><CODE>-f</CODE>
-<DD>
-If no matching revision is found, retrieve the most
-recent revision (instead of ignoring the file).
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.
-
-<DT><CODE>-n</CODE>
-<DD>
-Do not run any checkout program.
-
-<DT><CODE>-R</CODE>
-<DD>
-Export directories recursively.  This is on by default.
-
-<DT><CODE>-r <VAR>tag</VAR></CODE>
-<DD>
-Use revision <VAR>tag</VAR>.
-</DL>
-
-<P>
-In addition, these options (that are common to
-<CODE>checkout</CODE> and <CODE>export</CODE>) are also supported:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-d <VAR>dir</VAR></CODE>
-<DD>
-Create a directory called <VAR>dir</VAR> for the working
-files, instead of using the module name.  Unless you
-also use <SAMP>`-N'</SAMP>, the paths created under <VAR>dir</VAR>
-will be as short as possible.
-
-<DT><CODE>-k <VAR>subst</VAR></CODE>
-<DD>
-Set keyword expansion mode (see section <A 
HREF="cvs_79.html#SEC81">Substitution modes</A>).
-
-<DT><CODE>-N</CODE>
-<DD>
-Only useful together with <SAMP>`-d <VAR>dir</VAR>'</SAMP>.  With this
-option, CVS will not shorten module paths in your
-working directory.  (Normally, CVS shortens paths as
-much as possible when you specify an explicit target
-directory.)
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_101.html">previous</A>, 
<A HREF="cvs_103.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_103.html
===================================================================
RCS file: manual/html_node/cvs_103.html
diff -N manual/html_node/cvs_103.html
--- manual/html_node/cvs_103.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,54 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - history</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_102.html">previous</A>, 
<A HREF="cvs_104.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC110" HREF="cvs_toc.html#TOC110">history--Show status of files 
and users</A></H2>
-<P>
-<A NAME="IDX345"></A>
-
-</P>
-
-<UL>
-<LI>
-
-Synopsis:     history [-report] [-flags] [-options args] [files...]
-<LI>
-
-Requires: the file <TT>`$CVSROOT/CVSROOT/history'</TT>
-<LI>
-
-Changes: nothing.
-</UL>
-
-<P>
-CVS can keep a history file that tracks each use of the
-<CODE>checkout</CODE>, <CODE>commit</CODE>, <CODE>rtag</CODE>,
-<CODE>update</CODE>, and <CODE>release</CODE> commands.  You can
-use <CODE>history</CODE> to display this information in
-various formats.
-
-</P>
-<P>
-Logging must be enabled by creating the file
-<TT>`$CVSROOT/CVSROOT/history'</TT>.
-
-</P>
-<P>
-<STRONG>Warning:</STRONG> <CODE>history</CODE> uses <SAMP>`-f'</SAMP>, 
<SAMP>`-l'</SAMP>,
-<SAMP>`-n'</SAMP>, and <SAMP>`-p'</SAMP> in ways that conflict with the
-normal use inside CVS (see section <A HREF="cvs_88.html#SEC90">Common command 
options</A>).
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_102.html">previous</A>, 
<A HREF="cvs_104.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_104.html
===================================================================
RCS file: manual/html_node/cvs_104.html
diff -N manual/html_node/cvs_104.html
--- manual/html_node/cvs_104.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,172 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - history options</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_103.html">previous</A>, 
<A HREF="cvs_105.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC111" HREF="cvs_toc.html#TOC111">history options</A></H3>
-
-<P>
-Several options (shown above as <SAMP>`-report'</SAMP>)  control  what
-kind of report is generated:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-c</CODE>
-<DD>
-Report on each time commit was used (i.e., each time
-the repository was modified).
-
-<DT><CODE>-e</CODE>
-<DD>
-Everything (all record types); equivalent to specifying
-<SAMP>`-xMACFROGWUT'</SAMP>.
-
-<DT><CODE>-m <VAR>module</VAR></CODE>
-<DD>
-Report on a particular module.  (You can meaningfully
-use <SAMP>`-m'</SAMP> more than once on the command line.)
-
-<DT><CODE>-o</CODE>
-<DD>
-Report on checked-out modules.
-
-<DT><CODE>-T</CODE>
-<DD>
-Report on all tags.
-
-<DT><CODE>-x <VAR>type</VAR></CODE>
-<DD>
-Extract a particular set of record types <VAR>type</VAR> from the CVS
-history.  The types are indicated by single letters,
-which you may specify in combination.  
-
-Certain commands have a single record type: 
-
-<DL COMPACT>
-
-<DT><CODE>F</CODE>
-<DD>
-release
-<DT><CODE>O</CODE>
-<DD>
-checkout
-<DT><CODE>T</CODE>
-<DD>
-rtag
-</DL>
-
-One of four record types may result from an update:
-
-<DL COMPACT>
-
-<DT><CODE>C</CODE>
-<DD>
-A merge was necessary but collisions were
-detected (requiring manual merging).  
-<DT><CODE>G</CODE>
-<DD>
-A merge was necessary and it succeeded.
-<DT><CODE>U</CODE>
-<DD>
-A working file was copied from the repository.
-<DT><CODE>W</CODE>
-<DD>
-The working copy of a file was deleted during
-update (because it was gone from the repository).
-</DL>
-
-One of three record types results from commit:
-
-<DL COMPACT>
-
-<DT><CODE>A</CODE>
-<DD>
-A file was added for the first time.
-<DT><CODE>M</CODE>
-<DD>
-A file was modified.
-<DT><CODE>R</CODE>
-<DD>
-A file was removed.
-</DL>
-</DL>
-
-<P>
-The options shown as <SAMP>`-flags'</SAMP> constrain or expand
-the report without requiring option arguments:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-a</CODE>
-<DD>
-Show data for all users (the default is to show data
-only for the user executing <CODE>history</CODE>).
-
-<DT><CODE>-l</CODE>
-<DD>
-Show last modification only.
-
-<DT><CODE>-w</CODE>
-<DD>
-Show only the records for modifications done from the
-same working directory where <CODE>history</CODE> is
-executing.
-</DL>
-
-<P>
-The options shown as <SAMP>`-options <VAR>args</VAR>'</SAMP> constrain the 
report
-based on an argument:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-b <VAR>str</VAR></CODE>
-<DD>
-Show data back to a record containing  the  string
-<VAR>str</VAR>  in  either the module name, the file name, or
-the repository path.
-
-<DT><CODE>-D <VAR>date</VAR></CODE>
-<DD>
-Show data since <VAR>date</VAR>.  This is slightly different
-from the normal use of <SAMP>`-D <VAR>date</VAR>'</SAMP>, which
-selects the newest revision older than <VAR>date</VAR>.
-
-<DT><CODE>-p <VAR>repository</VAR></CODE>
-<DD>
-Show data for a particular source repository  (you
-can specify several <SAMP>`-p'</SAMP> options on the same command
-line).
-
-<DT><CODE>-r <VAR>rev</VAR></CODE>
-<DD>
-Show records referring to revisions since the revision
-or tag named <VAR>rev</VAR> appears in individual RCS
-files.  Each RCS file is searched for the revision or
-tag.
-
-<DT><CODE>-t <VAR>tag</VAR></CODE>
-<DD>
-Show records since tag <VAR>tag</VAR> was last added to the the
-history file.  This differs from the <SAMP>`-r'</SAMP> flag
-above in that it reads only the history file, not the
-RCS files, and is much faster.
-
-<DT><CODE>-u <VAR>name</VAR></CODE>
-<DD>
-Show records for user <VAR>name</VAR>.
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_103.html">previous</A>, 
<A HREF="cvs_105.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_105.html
===================================================================
RCS file: manual/html_node/cvs_105.html
diff -N manual/html_node/cvs_105.html
--- manual/html_node/cvs_105.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,94 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - import</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_104.html">previous</A>, 
<A HREF="cvs_106.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC112" HREF="cvs_toc.html#TOC112">import--Import sources into 
CVS, using vendor branches</A></H2>
-<P>
-<A NAME="IDX346"></A>
-
-</P>
-
-<UL>
-<LI>
-
-Synopsis: import [-options] repository vendortag releasetag...
-<LI>
-
-Requires: Repository, source distribution directory.
-<LI>
-
-Changes: repository.
-</UL>
-
-<P>
-Use <CODE>import</CODE> to incorporate an entire source
-distribution from an outside source (e.g., a source
-vendor) into your source repository directory.  You can
-use this command both for initial creation of a
-repository, and for wholesale updates to the module
-from the outside source.  See section <A HREF="cvs_61.html#SEC63">Tracking 
third-party sources</A>, for
-a discussion on this subject.
-
-</P>
-<P>
-The <VAR>repository</VAR> argument gives a directory name
-(or a path to a directory) under the CVS root directory
-for repositories; if the directory did not exist,
-import creates it.
-
-</P>
-<P>
-When you use import for updates to source that has been
-modified in your source repository (since a prior
-import), it will notify you of any files that conflict
-in the two branches of development; use <SAMP>`checkout
--j'</SAMP> to reconcile the differences, as import instructs
-you to do.
-
-</P>
-<P>
-If CVS decides a file should be ignored
-(see section <A HREF="cvs_141.html#SEC148">Ignoring files via cvsignore</A>), 
it does not import it and prints
-<SAMP>`I '</SAMP> followed by the filename (see section <A 
HREF="cvs_107.html#SEC114">import output</A>, for a
-complete description of the output).
-
-</P>
-<P>
-If the file <TT>`$CVSROOT/CVSROOT/cvswrappers'</TT> exists,
-any file whose names match the specifications in that
-file will be treated as packages and the appropriate
-filtering will be performed on the file/directory
-before being imported, See section <A HREF="cvs_131.html#SEC138">The 
cvswrappers file</A>.
-
-</P>
-<P>
-The outside source is saved in a first-level RCS
-branch, by default 1.1.1.  Updates are leaves of this
-branch; for example, files from the first imported
-collection of source will be revision 1.1.1.1, then
-files from the first imported update will be revision
-1.1.1.2, and so on.
-
-</P>
-<P>
-At least three arguments are required.
-<VAR>repository</VAR> is needed to identify the collection
-of source.  <VAR>vendortag</VAR> is a tag for the entire
-branch (e.g., for 1.1.1).  You must also specify at
-least one <VAR>releasetag</VAR> to identify the files at
-the leaves created each time you execute <CODE>import</CODE>.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_104.html">previous</A>, 
<A HREF="cvs_106.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_106.html
===================================================================
RCS file: manual/html_node/cvs_106.html
diff -N manual/html_node/cvs_106.html
--- manual/html_node/cvs_106.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,76 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - import options</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_105.html">previous</A>, 
<A HREF="cvs_107.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC113" HREF="cvs_toc.html#TOC113">import options</A></H3>
-
-<P>
-This standard option is supported by <CODE>import</CODE>
-(see section <A HREF="cvs_88.html#SEC90">Common command options</A>, for a 
complete description):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-m <VAR>message</VAR></CODE>
-<DD>
-Use <VAR>message</VAR> as log information, instead of
-invoking an editor.
-</DL>
-
-<P>
-There are three additional special options.
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-b <VAR>branch</VAR></CODE>
-<DD>
-Specify a first-level branch other than 1.1.1.  Unless
-the <SAMP>`-b <VAR>branch</VAR>'</SAMP> flag is given, revisions will
-<EM>always</EM> be made to the branch 1.1.1--even if a
-<VAR>vendortag</VAR> that matches another branch is given!
-What happens in that case, is that the tag will be
-reset to 1.1.1.  Warning: This behavior might change
-in the future.
-
-<DT><CODE>-k <VAR>subst</VAR></CODE>
-<DD>
-Indicate the RCS keyword expansion mode desired.  This
-setting will apply to all files created during the
-import, but not to any files that previously existed in
-the repository.  See section <A HREF="cvs_79.html#SEC81">Substitution 
modes</A> for a
-list of valid <SAMP>`-k'</SAMP> settings.
-
-<DT><CODE>-I <VAR>name</VAR></CODE>
-<DD>
-Specify file names that should be ignored during
-import.  You can use this option repeatedly.  To avoid
-ignoring any files at all (even those ignored by
-default), specify `-I !'.
-
-<VAR>name</VAR> can be a file name pattern of the same type
-that you can specify in the <TT>`.cvsignore'</TT> file.
-See section <A HREF="cvs_141.html#SEC148">Ignoring files via cvsignore</A>.
-
-<DT><CODE>-W <VAR>spec</VAR></CODE>
-<DD>
-Specify file names that should be filtered during
-import.  You can use this option repeatedly.
-
-<VAR>spec</VAR> can be a file name pattern of the same type
-that you can specify in the <TT>`.cvswrappers'</TT>
-file. See section <A HREF="cvs_131.html#SEC138">The cvswrappers file</A>.
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_105.html">previous</A>, 
<A HREF="cvs_107.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_107.html
===================================================================
RCS file: manual/html_node/cvs_107.html
diff -N manual/html_node/cvs_107.html
--- manual/html_node/cvs_107.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,52 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - import output</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_106.html">previous</A>, 
<A HREF="cvs_108.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC114" HREF="cvs_toc.html#TOC114">import output</A></H3>
-
-<P>
-<CODE>import</CODE> keeps you informed of its progress by printing a line
-for each file, preceded by one character indicating the status of the file:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>U <VAR>file</VAR></CODE>
-<DD>
-The file already exists in the repository and has not been locally
-modified; a new revision has been created (if necessary).
-
-<DT><CODE>N <VAR>file</VAR></CODE>
-<DD>
-The file is a new file which has been added to the repository.
-
-<DT><CODE>C <VAR>file</VAR></CODE>
-<DD>
-The file already exists in the repository but has been locally modified;
-you will have to merge the changes.
-
-<DT><CODE>I <VAR>file</VAR></CODE>
-<DD>
-The file is being ignored (see section <A HREF="cvs_141.html#SEC148">Ignoring 
files via cvsignore</A>).
-
-<DT><CODE>L <VAR>file</VAR></CODE>
-<DD>
-The file is a symbolic link; at the moment (and for the forseeable
-future), symbolic links are ignored.
-(Various options in the <TT>`modules'</TT> file can be used
-to recreate symbolic links on checkout, update, etc.;
-see section <A HREF="cvs_130.html#SEC137">The modules file</A>.)
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_106.html">previous</A>, 
<A HREF="cvs_108.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_108.html
===================================================================
RCS file: manual/html_node/cvs_108.html
diff -N manual/html_node/cvs_108.html
--- manual/html_node/cvs_108.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,22 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - import examples</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_107.html">previous</A>, 
<A HREF="cvs_109.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC115" HREF="cvs_toc.html#TOC115">import examples</A></H3>
-
-<P>
-See section <A HREF="cvs_61.html#SEC63">Tracking third-party sources</A>, and 
See section <A HREF="cvs_31.html#SEC33">Creating a directory tree from a number 
of files</A>.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_107.html">previous</A>, 
<A HREF="cvs_109.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_109.html
===================================================================
RCS file: manual/html_node/cvs_109.html
diff -N manual/html_node/cvs_109.html
--- manual/html_node/cvs_109.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,57 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - log</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_108.html">previous</A>, 
<A HREF="cvs_110.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC116" HREF="cvs_toc.html#TOC116">log--Print out log information 
for files</A></H2>
-<P>
-<A NAME="IDX347"></A>
-
-</P>
-
-<UL>
-<LI>
-
-Synopsis: log [options] [files...]
-<LI>
-
-Requires: repository, working directory.
-<LI>
-
-Changes: nothing.
-</UL>
-
-<P>
-Display log information for files.  <CODE>log</CODE> used to
-call the RCS utility <CODE>rlog</CODE>.  Although this
-is no longer true in the current sources, this history
-determines the format of the output and the options,
-which are not quite in the style of the other CVS
-commands.
-
-</P>
-<P>
-<A NAME="IDX348"></A>
-<A NAME="IDX349"></A>
-The output includes the location of the RCS file,
-the <EM>head</EM> revision (the latest revision on the
-trunk), all symbolic names (tags) and some other
-things.  For each revision, the revision number, the
-author, the number of lines added/deleted and the log
-message are printed.  All times are displayed in
-Coordinated Universal Time (UTC).  (Other parts of
-CVS print times in the local timezone).
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_108.html">previous</A>, 
<A HREF="cvs_110.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_11.html
===================================================================
RCS file: manual/html_node/cvs_11.html
diff -N manual/html_node/cvs_11.html
--- manual/html_node/cvs_11.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,57 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Committing your changes</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_10.html">previous</A>, 
<A HREF="cvs_12.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC12" HREF="cvs_toc.html#TOC12">Committing your changes</A></H2>
-<P>
-<A NAME="IDX46"></A>
-<A NAME="IDX47"></A>
-<A NAME="IDX48"></A>
-<A NAME="IDX49"></A>
-
-</P>
-<P>
-When you have checked that the compiler is still compilable you decide
-to make a new version of <TT>`backend.c'</TT>.
-
-</P>
-
-<PRE>
-$ cvs commit backend.c
-</PRE>
-
-<P>
-CVS starts an editor, to allow you to enter a log
-message.  You type in "Added an optimization pass.",
-save the temporary file, and exit the editor.
-
-</P>
-<P>
-The environment variable <CODE>$CVSEDITOR</CODE> determines
-which editor is started.  If <CODE>$CVSEDITOR</CODE> is not
-set, then if the environment variable <CODE>$EDITOR</CODE> is
-set, it will be used. If both <CODE>$CVSEDITOR</CODE> and
-<CODE>$EDITOR</CODE> are not set then the editor defaults to
-<CODE>vi</CODE>.  If you want to avoid the overhead of
-starting an editor you can specify the log message on
-the command line using the <SAMP>`-m'</SAMP> flag instead, like
-this:
-
-</P>
-
-<PRE>
-$ cvs commit -m "Added an optimization pass" backend.c
-</PRE>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_10.html">previous</A>, 
<A HREF="cvs_12.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_110.html
===================================================================
RCS file: manual/html_node/cvs_110.html
diff -N manual/html_node/cvs_110.html
--- manual/html_node/cvs_110.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,165 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - log options</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_109.html">previous</A>, 
<A HREF="cvs_111.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC117" HREF="cvs_toc.html#TOC117">log options</A></H3>
-
-<P>
-By default, <CODE>log</CODE> prints all information that is
-available.  All other options restrict the output.
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-b</CODE>
-<DD>
-Print information about the revisions on the default
-branch, normally the highest branch on the trunk.
-
-<DT><CODE>-d <VAR>dates</VAR></CODE>
-<DD>
-Print information about revisions with a checkin
-date/time in the range given by the
-semicolon-separated list of dates.  The date formats
-accepted are those accepted by the <SAMP>`-D'</SAMP> option to
-many other CVS commands (see section <A HREF="cvs_88.html#SEC90">Common 
command options</A>).
-Dates can be combined into ranges as follows:
-
-<DL COMPACT>
-
-<DT><CODE><VAR>d1</VAR>&#60;<VAR>d2</VAR></CODE>
-<DD>
-<DT><CODE><VAR>d2</VAR>&#62;<VAR>d1</VAR></CODE>
-<DD>
-Select the revisions that were deposited between
-<VAR>d1</VAR> and <VAR>d2</VAR>.
-
-<DT><CODE>&#60;<VAR>d</VAR></CODE>
-<DD>
-<DT><CODE><VAR>d</VAR>&#62;</CODE>
-<DD>
-Select all revisions dated <VAR>d</VAR> or earlier.
-
-<DT><CODE><VAR>d</VAR>&#60;</CODE>
-<DD>
-<DT><CODE>&#62;<VAR>d</VAR></CODE>
-<DD>
-Select all revisions dated <VAR>d</VAR> or later.
-
-<DT><CODE><VAR>d</VAR></CODE>
-<DD>
-Select the single, latest revision dated <VAR>d</VAR> or
-earlier.
-</DL>
-
-The <SAMP>`&#62;'</SAMP> or <SAMP>`&#60;'</SAMP> characters may be followed by
-<SAMP>`='</SAMP> to indicate an inclusive range rather than an
-exclusive one.
-
-Note that the separator is a semicolon (;).
-
-<DT><CODE>-h</CODE>
-<DD>
-Print only the RCS pathname, working pathname, head,
-default branch, access list, locks, symbolic names, and
-suffix.
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.  (Default
-is to run recursively).
-
-<DT><CODE>-N</CODE>
-<DD>
-Do not print the list of tags for this file.  This
-option can be very useful when your site uses a lot of
-tags, so rather than "more"'ing over 3 pages of tag
-information, the log information is presented without
-tags at all.  
-
-<DT><CODE>-R</CODE>
-<DD>
-Print only the name of the RCS history file.
-
-<DT><CODE>-r<VAR>revisions</VAR></CODE>
-<DD>
-Print information about revisions given in the
-comma-separated list <VAR>revisions</VAR> of revisions and
-ranges.  The following table explains the available
-range formats:
-
-<DL COMPACT>
-
-<DT><CODE><VAR>rev1</VAR>:<VAR>rev2</VAR></CODE>
-<DD>
-Revisions <VAR>rev1</VAR> to <VAR>rev2</VAR> (which must be on
-the same branch).
-
-<DT><CODE>:<VAR>rev</VAR></CODE>
-<DD>
-Revisions from the beginning of the branch up to
-and including <VAR>rev</VAR>.
-
-<DT><CODE><VAR>rev</VAR>:</CODE>
-<DD>
-Revisions starting with <VAR>rev</VAR> to the end of the
-branch containing <VAR>rev</VAR>.
-
-<DT><CODE><VAR>branch</VAR></CODE>
-<DD>
-An argument that is a branch means all revisions on
-that branch.
-
-<DT><CODE><VAR>branch1</VAR>:<VAR>branch2</VAR></CODE>
-<DD>
-A range of branches means all revisions
-on the branches in that range.
-
-<DT><CODE><VAR>branch</VAR>.</CODE>
-<DD>
-The latest revision in <VAR>branch</VAR>.
-</DL>
-
-A bare <SAMP>`-r'</SAMP> with no revisions means the latest
-revision on the default branch, normally the trunk.
-There can be no space between the <SAMP>`-r'</SAMP> option and
-its argument.
-
-<DT><CODE>-s <VAR>states</VAR></CODE>
-<DD>
-Print information about revisions whose state
-attributes match one of the states given in the
-comma-separated list <VAR>states</VAR>.
-
-<DT><CODE>-t</CODE>
-<DD>
-Print the same as <SAMP>`-h'</SAMP>, plus the descriptive text.
-
-<DT><CODE>-w<VAR>logins</VAR></CODE>
-<DD>
-Print information about revisions checked in by users
-with login names appearing in the comma-separated list
-<VAR>logins</VAR>.  If <VAR>logins</VAR> is omitted, the user's
-login is assumed.  There can be no space between the
-<SAMP>`-w'</SAMP> option and its argument.
-</DL>
-
-<P>
-<CODE>log</CODE> prints the intersection of the revisions
-selected with the options <SAMP>`-d'</SAMP>, <SAMP>`-s'</SAMP>, and
-<SAMP>`-w'</SAMP>, intersected with the union of the revisions
-selected by <SAMP>`-b'</SAMP> and <SAMP>`-r'</SAMP>.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_109.html">previous</A>, 
<A HREF="cvs_111.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_111.html
===================================================================
RCS file: manual/html_node/cvs_111.html
diff -N manual/html_node/cvs_111.html
--- manual/html_node/cvs_111.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,22 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - log examples</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_110.html">previous</A>, 
<A HREF="cvs_112.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC118" HREF="cvs_toc.html#TOC118">log examples</A></H3>
-
-<P>
-Contributed examples are gratefully accepted.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_110.html">previous</A>, 
<A HREF="cvs_112.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_112.html
===================================================================
RCS file: manual/html_node/cvs_112.html
diff -N manual/html_node/cvs_112.html
--- manual/html_node/cvs_112.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,65 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - rdiff</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_111.html">previous</A>, 
<A HREF="cvs_113.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC119" HREF="cvs_toc.html#TOC119">rdiff---'patch' format diffs 
between releases</A></H2>
-<P>
-<A NAME="IDX350"></A>
-
-</P>
-
-<UL>
-<LI>
-
-rdiff [-flags] [-V vn] [-r t|-D d [-r t2|-D d2]] modules...
-<LI>
-
-Requires: repository.
-<LI>
-
-Changes: nothing.
-<LI>
-
-Synonym: patch
-</UL>
-
-<P>
-Builds a Larry Wall format patch(1) file between two
-releases, that can be fed directly into the patch
-program to bring an old release up-to-date with the new
-release.  (This is one of the few CVS commands that
-operates directly from the repository, and doesn't
-require a prior checkout.) The diff output is sent to
-the standard output device.
-
-</P>
-<P>
-You can specify (using the standard <SAMP>`-r'</SAMP> and
-<SAMP>`-D'</SAMP> options) any combination of one or two
-revisions or dates.  If only one revision or date is
-specified, the patch file reflects differences between
-that revision or date and the current head revisions in
-the RCS file.
-
-</P>
-<P>
-Note that if the software release affected is contained
-in more than one directory, then it may be necessary to
-specify the <SAMP>`-p'</SAMP> option to the patch command when
-patching the old sources, so that patch is able to find
-the files that are located in other directories.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_111.html">previous</A>, 
<A HREF="cvs_113.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_113.html
===================================================================
RCS file: manual/html_node/cvs_113.html
diff -N manual/html_node/cvs_113.html
--- manual/html_node/cvs_113.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,85 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - rdiff options</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_112.html">previous</A>, 
<A HREF="cvs_114.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC120" HREF="cvs_toc.html#TOC120">rdiff options</A></H3>
-
-<P>
-These standard options are supported by <CODE>rdiff</CODE>
-(see section <A HREF="cvs_88.html#SEC90">Common command options</A>, for a 
complete description of
-them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-D <VAR>date</VAR></CODE>
-<DD>
-Use the most recent revision no later than <VAR>date</VAR>.
-
-<DT><CODE>-f</CODE>
-<DD>
-If no matching revision is found, retrieve the most
-recent revision (instead of ignoring the file).
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; don't descend subdirectories.
-
-<DT><CODE>-r <VAR>tag</VAR></CODE>
-<DD>
-Use revision <VAR>tag</VAR>.
-</DL>
-
-<P>
-In addition to the above, these options are available:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-c</CODE>
-<DD>
-Use the context diff format.  This is the default format.
-
-<DT><CODE>-s</CODE>
-<DD>
-Create a summary change report instead of a patch.  The
-summary includes information about files that were
-changed or added between the releases.  It is sent to
-the standard output device.  This is useful for finding
-out, for example, which files have changed between two
-dates or revisions.
-
-<DT><CODE>-t</CODE>
-<DD>
-A diff of the top two revisions is sent to the standard
-output device.  This is most useful for seeing what the
-last change to a file was.
-
-<DT><CODE>-u</CODE>
-<DD>
-Use the unidiff format for the context diffs.
-This option is not available if your diff does not
-support the unidiff format.  Remember that old versions
-of the <CODE>patch</CODE> program can't handle the unidiff
-format, so if you plan to post this patch to the net
-you should probably not use <SAMP>`-u'</SAMP>.
-
-<DT><CODE>-V <VAR>vn</VAR></CODE>
-<DD>
-Expand RCS keywords according to the rules current in
-RCS version <VAR>vn</VAR> (the expansion format changed with
-RCS version 5).
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_112.html">previous</A>, 
<A HREF="cvs_114.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_114.html
===================================================================
RCS file: manual/html_node/cvs_114.html
diff -N manual/html_node/cvs_114.html
--- manual/html_node/cvs_114.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,48 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - rdiff examples</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_113.html">previous</A>, 
<A HREF="cvs_115.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC121" HREF="cvs_toc.html#TOC121">rdiff examples</A></H3>
-
-<P>
-Suppose you receive mail from <TT>address@hidden</TT> asking for an
-update from release 1.2 to 1.4 of the tc compiler.  You
-have no such patches on hand, but with CVS that can
-easily be fixed with a command such as this:
-
-</P>
-
-<PRE>
-$ cvs rdiff -c -r FOO1_2 -r FOO1_4 tc | \
-$$ Mail -s 'The patches you asked for' address@hidden
-</PRE>
-
-<P>
-Suppose you have made release 1.3, and forked a branch
-called <SAMP>`R_1_3fix'</SAMP> for bugfixes.  <SAMP>`R_1_3_1'</SAMP>
-corresponds to release 1.3.1, which was made some time
-ago.  Now, you want to see how much development has been
-done on the branch.  This command can be used:
-
-</P>
-
-<PRE>
-$ cvs patch -s -r R_1_3_1 -r R_1_3fix module-name
-cvs rdiff: Diffing module-name
-File ChangeLog,v changed from revision 1.52.2.5 to 1.52.2.6
-File foo.c,v changed from revision 1.52.2.3 to 1.52.2.4
-File bar.h,v changed from revision 1.29.2.1 to 1.2
-</PRE>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_113.html">previous</A>, 
<A HREF="cvs_115.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_115.html
===================================================================
RCS file: manual/html_node/cvs_115.html
diff -N manual/html_node/cvs_115.html
--- manual/html_node/cvs_115.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,62 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - release</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_114.html">previous</A>, 
<A HREF="cvs_116.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC122" HREF="cvs_toc.html#TOC122">release--Indicate that a 
Module is no longer in use</A></H2>
-<P>
-<A NAME="IDX351"></A>
-
-</P>
-
-<UL>
-<LI>
-
-release [-d] directories...
-<LI>
-
-Requires: Working directory.
-<LI>
-
-Changes: Working directory, history log.
-</UL>
-
-<P>
-This command is meant to safely cancel the effect of
-<SAMP>`cvs checkout'</SAMP>.  Since CVS doesn't lock files, it
-isn't strictly necessary to use this command.  You can
-always simply delete your working directory, if you
-like; but you risk losing changes you may have
-forgotten, and you leave no trace in the CVS history
-file (see section <A HREF="cvs_142.html#SEC149">The history file</A>) that 
you've abandoned your
-checkout.
-
-</P>
-<P>
-Use <SAMP>`cvs release'</SAMP> to avoid these problems.  This
-command checks that no uncommitted changes are
-present; that you are executing it from immediately
-above a CVS working directory; and that the repository
-recorded for your files is the same as the repository
-defined in the module database.
-
-</P>
-<P>
-If all these conditions are true, <SAMP>`cvs release'</SAMP>
-leaves a record of its execution (attesting to your
-intentionally abandoning your checkout) in the CVS
-history log.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_114.html">previous</A>, 
<A HREF="cvs_116.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_116.html
===================================================================
RCS file: manual/html_node/cvs_116.html
diff -N manual/html_node/cvs_116.html
--- manual/html_node/cvs_116.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - release options</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_115.html">previous</A>, 
<A HREF="cvs_117.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC123" HREF="cvs_toc.html#TOC123">release options</A></H3>
-
-<P>
-The <CODE>release</CODE> command supports one command option:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-d</CODE>
-<DD>
-Delete your working copy of the file if the release
-succeeds.  If this flag is not given your files will
-remain in your working directory.
-
-<STRONG>Warning:</STRONG>  The <CODE>release</CODE> command deletes
-all directories and files recursively.  This
-has the very serious side-effect that any directory
-that you have created inside your checked-out sources,
-and not added to the repository (using the <CODE>add</CODE>
-command; see section <A HREF="cvs_59.html#SEC61">Adding files to a 
directory</A>) will be silently deleted--even
-if it is non-empty!
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_115.html">previous</A>, 
<A HREF="cvs_117.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_117.html
===================================================================
RCS file: manual/html_node/cvs_117.html
diff -N manual/html_node/cvs_117.html
--- manual/html_node/cvs_117.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,74 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - release output</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_116.html">previous</A>, 
<A HREF="cvs_118.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC124" HREF="cvs_toc.html#TOC124">release output</A></H3>
-
-<P>
-Before <CODE>release</CODE> releases your sources it will
-print a one-line message for any file that is not
-up-to-date.  
-
-</P>
-<P>
-<STRONG>Warning:</STRONG>  Any new directories that you have
-created, but not added to the CVS directory hierarchy
-with the <CODE>add</CODE> command (see section <A 
HREF="cvs_59.html#SEC61">Adding files to a directory</A>) will be
-silently ignored (and deleted, if <SAMP>`-d'</SAMP> is
-specified), even if they contain files.
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>U <VAR>file</VAR></CODE>
-<DD>
-There exists a newer revision of this file in the
-repository, and you have not modified your local copy
-of the file.
-
-<DT><CODE>A <VAR>file</VAR></CODE>
-<DD>
-The file has been added to your private copy of the
-sources, but has not yet been committed to the
-repository.  If you delete your copy of the sources
-this file will be lost.
-
-<DT><CODE>R <VAR>file</VAR></CODE>
-<DD>
-The file has been removed from your private copy of the
-sources, but has not yet been removed from the
-repository, since you have not yet committed the
-removal.  See section <A HREF="cvs_95.html#SEC99">commit--Check files into the 
repository</A>.
-
-<DT><CODE>M <VAR>file</VAR></CODE>
-<DD>
-The file is modified in your working directory.  There
-might also be a newer revision inside the repository.
-
-<DT><CODE>? <VAR>file</VAR></CODE>
-<DD>
-<VAR>file</VAR> is in your working directory, but does not
-correspond to anything in the source repository, and is
-not in the list of files for CVS to ignore (see the
-description of the <SAMP>`-I'</SAMP> option, and
-see section <A HREF="cvs_141.html#SEC148">Ignoring files via cvsignore</A>).  
If you remove your working
-sources, this file will be lost.
-
-Note that no warning message like this is printed for
-spurious directories that CVS encounters.  The
-directory, and all its contents, are silently ignored.
-
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_116.html">previous</A>, 
<A HREF="cvs_118.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_118.html
===================================================================
RCS file: manual/html_node/cvs_118.html
diff -N manual/html_node/cvs_118.html
--- manual/html_node/cvs_118.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,33 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - release examples</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_117.html">previous</A>, 
<A HREF="cvs_119.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC125" HREF="cvs_toc.html#TOC125">release examples</A></H3>
-
-<P>
-Release the module, and delete your local working copy
-of the files.
-
-</P>
-
-<PRE>
-$ cd ..         # You must stand immediately above the
-                # sources when you issue <SAMP>`cvs release'</SAMP>.
-$ cvs release -d tc
-You have [0] altered files in this repository.
-Are you sure you want to release (and delete) module `tc': y
-$
-</PRE>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_117.html">previous</A>, 
<A HREF="cvs_119.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_119.html
===================================================================
RCS file: manual/html_node/cvs_119.html
diff -N manual/html_node/cvs_119.html
--- manual/html_node/cvs_119.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,54 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - rtag</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_118.html">previous</A>, 
<A HREF="cvs_120.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC126" HREF="cvs_toc.html#TOC126">rtag--Add a symbolic tag to a 
module</A></H2>
-<P>
-<A NAME="IDX352"></A>
-
-</P>
-
-<UL>
-<LI>
-
-rtag [-falnR] [-b] [-d] [-r tag | -Ddate] symbolic_tag modules...
-<LI>
-
-Requires: repository.
-<LI>
-
-Changes: repository.
-<LI>
-
-Synonym: rfreeze
-</UL>
-
-<P>
-You can use this command to assign symbolic tags to
-particular, explicitly specified source revisions in
-the repository.  <CODE>rtag</CODE> works directly on the
-repository contents (and requires no prior checkout).
-Use <CODE>tag</CODE> instead (see section <A 
HREF="cvs_123.html#SEC130">tag--Add a symbolic tag to checked out versions of 
files</A>), to base the
-selection of revisions on the contents of your
-working directory.
-
-</P>
-<P>
-If you attempt to use a tag name that already exists,
-CVS will complain and not overwrite that tag.  Use
-the <SAMP>`-F'</SAMP> option to force the new tag value.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_118.html">previous</A>, 
<A HREF="cvs_120.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_12.html
===================================================================
RCS file: manual/html_node/cvs_12.html
diff -N manual/html_node/cvs_12.html
--- manual/html_node/cvs_12.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,90 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Cleaning up</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_11.html">previous</A>, 
<A HREF="cvs_13.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC13" HREF="cvs_toc.html#TOC13">Cleaning up</A></H2>
-<P>
-<A NAME="IDX50"></A>
-<A NAME="IDX51"></A>
-<A NAME="IDX52"></A>
-<A NAME="IDX53"></A>
-
-</P>
-<P>
-Before you turn to other tasks you decide to remove your working copy of
-tc.  One acceptable way to do that is of course
-
-</P>
-
-<PRE>
-$ cd ..
-$ rm -r tc
-</PRE>
-
-<P>
-but a better way is to use the <CODE>release</CODE> command (see section <A 
HREF="cvs_115.html#SEC122">release--Indicate that a Module is no longer in 
use</A>):
-
-</P>
-
-<PRE>
-$ cd ..
-$ cvs release -d tc
-M driver.c
-? tc
-You have [1] altered files in this repository.
-Are you sure you want to release (and delete) module `tc': n
-** `release' aborted by user choice.
-</PRE>
-
-<P>
-The <CODE>release</CODE> command checks that all your modifications have been
-committed.  If history logging is enabled it also makes a note in the
-history file.  See section <A HREF="cvs_142.html#SEC149">The history file</A>.
-
-</P>
-<P>
-When you use the <SAMP>`-d'</SAMP> flag with <CODE>release</CODE>, it
-also removes your working copy.
-
-</P>
-<P>
-In the example above, the <CODE>release</CODE> command wrote a couple of lines
-of output.  <SAMP>`? tc'</SAMP> means that the file <TT>`tc'</TT> is unknown 
to CVS.
-That is nothing to worry about: <TT>`tc'</TT> is the executable compiler,
-and it should not be stored in the repository.  See section <A 
HREF="cvs_141.html#SEC148">Ignoring files via cvsignore</A>,
-for information about how to make that warning go away.
-See section <A HREF="cvs_117.html#SEC124">release output</A>, for a complete 
explanation of
-all possible output from <CODE>release</CODE>.
-
-</P>
-<P>
-<SAMP>`M driver.c'</SAMP> is more serious.  It means that the
-file <TT>`driver.c'</TT> has been modified since it was
-checked out.
-
-</P>
-<P>
-The <CODE>release</CODE> command always finishes by telling
-you how many modified files you have in your working
-copy of the sources, and then asks you for confirmation
-before deleting any files or making any note in the
-history file.
-
-</P>
-<P>
-You decide to play it safe and answer <KBD>n <KBD>RET</KBD></KBD>
-when <CODE>release</CODE> asks for confirmation.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_11.html">previous</A>, 
<A HREF="cvs_13.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_120.html
===================================================================
RCS file: manual/html_node/cvs_120.html
diff -N manual/html_node/cvs_120.html
--- manual/html_node/cvs_120.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,96 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - rtag options</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_119.html">previous</A>, 
<A HREF="cvs_121.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC127" HREF="cvs_toc.html#TOC127">rtag options</A></H3>
-
-<P>
-These standard options are supported by <CODE>rtag</CODE>
-(see section <A HREF="cvs_88.html#SEC90">Common command options</A>, for a 
complete description of
-them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-D <VAR>date</VAR></CODE>
-<DD>
-Tag the most recent revision no later than <VAR>date</VAR>.
-
-<DT><CODE>-f</CODE>
-<DD>
-Only useful with the <SAMP>`-D <VAR>date</VAR>'</SAMP> or <SAMP>`-r 
<VAR>tag</VAR>'</SAMP>
-flags.  If no matching revision is found, use the most
-recent revision (instead of ignoring the file).
-
-<DT><CODE>-F</CODE>
-<DD>
-Overwrite an existing tag of the same name on a
-different revision.  This option is new in CVS
-1.4.  The old behavior is matched by <SAMP>`cvs tag -F'</SAMP>.
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.
-
-<DT><CODE>-n</CODE>
-<DD>
-Do not run any tag program that was specified with the
-<SAMP>`-t'</SAMP> flag inside the <TT>`modules'</TT> file.
-(see section <A HREF="cvs_130.html#SEC137">The modules file</A>).
-
-<DT><CODE>-R</CODE>
-<DD>
-Commit directories recursively.  This is on by default.
-
-<DT><CODE>-r <VAR>tag</VAR></CODE>
-<DD>
-Only tag those files that contain <VAR>tag</VAR>.  This can
-be used to rename a tag: tag only the files identified
-by the old tag, then delete the old tag, leaving the
-new tag on exactly the same files as the old tag.
-</DL>
-
-<P>
-In addition to the above common options, these options
-are available:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-a</CODE>
-<DD>
-Use the <SAMP>`-a'</SAMP> option to have <CODE>rtag</CODE> look in the
-<TT>`Attic'</TT> (see section <A HREF="cvs_60.html#SEC62">Removing files from 
a module</A>) for removed files
-that contain the specified tag.  The tag is removed from
-these files, which makes it convenient to re-use a
-symbolic tag as development continues (and files get
-removed from the up-coming distribution).
-
-<DT><CODE>-b</CODE>
-<DD>
-Make the tag a branch tag.  See section <A 
HREF="cvs_48.html#SEC50">Branches</A>.
-
-<DT><CODE>-d</CODE>
-<DD>
-Delete the tag instead of creating it.
-
-In general, tags (often the symbolic names of software
-distributions) should not be removed, but the <SAMP>`-d'</SAMP>
-option is available as a means to remove completely
-obsolete symbolic names if necessary (as might be the
-case for an Alpha release, or if you mistagged a
-module).
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_119.html">previous</A>, 
<A HREF="cvs_121.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_121.html
===================================================================
RCS file: manual/html_node/cvs_121.html
diff -N manual/html_node/cvs_121.html
--- manual/html_node/cvs_121.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,53 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - status</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_120.html">previous</A>, 
<A HREF="cvs_122.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC128" HREF="cvs_toc.html#TOC128">status--Display status 
information on checked out files</A></H2>
-<P>
-<A NAME="IDX353"></A>
-
-</P>
-
-
-<UL>
-<LI>
-
-status [-lR] [-v] [files...]
-<LI>
-
-Requires: working directory, repository.
-<LI>
-
-Changes: nothing.
-</UL>
-
-<P>
-Display a brief report on the current status of files
-with respect to the source repository.  For information
-on the basic output see section <A HREF="cvs_36.html#SEC38">File status</A>.  
For
-information on the <CODE>Sticky tag</CODE> and <CODE>Sticky
-date</CODE> output, see section <A HREF="cvs_52.html#SEC54">Sticky tags</A>.  
For information
-on the <CODE>Sticky options</CODE> output, see the <SAMP>`-k'</SAMP>
-option in section <A HREF="cvs_126.html#SEC133">update options</A>.
-
-</P>
-<P>
-You can also use this command to determine the
-potential impact of a <SAMP>`cvs update'</SAMP> on your working
-source directory--but remember that things might
-change in the repository before you run <CODE>update</CODE>.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_120.html">previous</A>, 
<A HREF="cvs_122.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_122.html
===================================================================
RCS file: manual/html_node/cvs_122.html
diff -N manual/html_node/cvs_122.html
--- manual/html_node/cvs_122.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,49 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - status options</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_121.html">previous</A>, 
<A HREF="cvs_123.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC129" HREF="cvs_toc.html#TOC129">status options</A></H3>
-
-<P>
-These standard options are supported by <CODE>status</CODE>
-(see section <A HREF="cvs_88.html#SEC90">Common command options</A>, for a 
complete description of
-them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.
-
-<DT><CODE>-R</CODE>
-<DD>
-Commit directories recursively.  This is on by default.
-</DL>
-
-<P>
-There is one additional option:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-v</CODE>
-<DD>
-Verbose.  In addition to the information normally
-displayed, print all symbolic tags, together with the
-numerical value of the revision or branch they refer
-to.  For more information, see section <A 
HREF="cvs_49.html#SEC51">Tags--Symbolic revisions</A>
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_121.html">previous</A>, 
<A HREF="cvs_123.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_123.html
===================================================================
RCS file: manual/html_node/cvs_123.html
diff -N manual/html_node/cvs_123.html
--- manual/html_node/cvs_123.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,76 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - tag</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_122.html">previous</A>, 
<A HREF="cvs_124.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC130" HREF="cvs_toc.html#TOC130">tag--Add a symbolic tag to 
checked out versions of files</A></H2>
-<P>
-<A NAME="IDX354"></A>
-
-</P>
-
-<UL>
-<LI>
-
-tag [-lR] [-b] [-c] [-d] symbolic_tag [files...]
-<LI>
-
-Requires: working directory, repository.
-<LI>
-
-Changes: repository.
-<LI>
-
-Synonym: freeze
-</UL>
-
-<P>
-Use this command to assign symbolic tags to the nearest
-repository versions to your working sources.  The tags
-are applied immediately to the repository, as with
-<CODE>rtag</CODE>, but the versions are supplied implicitly by the
-CVS records of your working files' history rather than
-applied explicitly.
-
-</P>
-<P>
-One use for tags is to record a snapshot of the
-current sources when the software freeze date of a
-project arrives.  As bugs are fixed after the freeze
-date, only those changed sources that are to be part of
-the release need be re-tagged.
-
-</P>
-<P>
-The symbolic tags are meant to permanently record which
-revisions of which files were used in creating a
-software distribution.  The <CODE>checkout</CODE> and
-<CODE>update</CODE> commands allow you to extract an exact
-copy of a tagged release at any time in the future,
-regardless of whether files have been changed, added,
-or removed since the release was tagged.
-
-</P>
-<P>
-This command can also be used to delete a symbolic tag,
-or to create a branch.  See the options section below.
-
-</P>
-<P>
-If you attempt to use a tag name that already exists,
-CVS will complain and not overwrite that tag.  Use
-the <SAMP>`-F'</SAMP> option to force the new tag value.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_122.html">previous</A>, 
<A HREF="cvs_124.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_124.html
===================================================================
RCS file: manual/html_node/cvs_124.html
diff -N manual/html_node/cvs_124.html
--- manual/html_node/cvs_124.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,72 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - tag options</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_123.html">previous</A>, 
<A HREF="cvs_125.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC131" HREF="cvs_toc.html#TOC131">tag options</A></H3>
-
-<P>
-These standard options are supported by <CODE>tag</CODE>
-(see section <A HREF="cvs_88.html#SEC90">Common command options</A>, for a 
complete description of
-them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-F</CODE>
-<DD>
-Overwrite an existing tag of the same name on a
-different revision.  This option is new in CVS
-1.4.  The old behavior is matched by <SAMP>`cvs tag -F'</SAMP>.
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.
-
-<DT><CODE>-R</CODE>
-<DD>
-Commit directories recursively.  This is on by default.
-</DL>
-
-<P>
-Two special options are available:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-b</CODE>
-<DD>
-The -b option makes the tag a branch tag
-(see section <A HREF="cvs_48.html#SEC50">Branches</A>), allowing concurrent, 
isolated
-development.  This is most useful for creating a patch
-to a previously released software distribution.
-
-<DT><CODE>-c</CODE>
-<DD>
-The -c option checks that all files which are to be tagged are
-unmodified.  This can be used to make sure that you can reconstruct the
-current file contents.
-
-<DT><CODE>-d</CODE>
-<DD>
-Delete a tag.
-
-If you use <SAMP>`cvs tag -d symbolic_tag'</SAMP>, the symbolic
-tag you specify is deleted instead of being added.
-Warning: Be very certain of your ground before you
-delete a tag; doing this permanently discards some
-historical information, which may later turn out to
-be valuable.
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_123.html">previous</A>, 
<A HREF="cvs_125.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_125.html
===================================================================
RCS file: manual/html_node/cvs_125.html
diff -N manual/html_node/cvs_125.html
--- manual/html_node/cvs_125.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,46 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - update</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_124.html">previous</A>, 
<A HREF="cvs_126.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC132" HREF="cvs_toc.html#TOC132">update--Bring work tree in 
sync with repository</A></H2>
-<P>
-<A NAME="IDX355"></A>
-
-</P>
-
-<UL>
-<LI>
-
-update [-AdflPpR] [-d] [-r tag|-D date] files...
-<LI>
-
-Requires: repository, working directory.
-<LI>
-
-Changes: working directory.
-</UL>
-
-<P>
-After you've run checkout to create your private copy
-of source from the common repository, other developers
-will continue changing the central source.  From time
-to time, when it is convenient in your development
-process, you can use the <CODE>update</CODE> command from
-within your working directory to reconcile your work
-with any revisions applied to the source repository
-since your last checkout or update.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_124.html">previous</A>, 
<A HREF="cvs_126.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_126.html
===================================================================
RCS file: manual/html_node/cvs_126.html
diff -N manual/html_node/cvs_126.html
--- manual/html_node/cvs_126.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,143 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - update options</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_125.html">previous</A>, 
<A HREF="cvs_127.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC133" HREF="cvs_toc.html#TOC133">update options</A></H3>
-
-<P>
-These standard options are available with <CODE>update</CODE>
-(see section <A HREF="cvs_88.html#SEC90">Common command options</A>, for a 
complete description of
-them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-D date</CODE>
-<DD>
-Use the most recent revision no later than <VAR>date</VAR>.
-This option is sticky, and implies <SAMP>`-P'</SAMP>.
-See section <A HREF="cvs_52.html#SEC54">Sticky tags</A>, for more information 
on sticky tags/dates.
-
-<DT><CODE>-f</CODE>
-<DD>
-Only useful with the <SAMP>`-D <VAR>date</VAR>'</SAMP> or <SAMP>`-r
-<VAR>tag</VAR>'</SAMP> flags.  If no matching revision is found,
-retrieve the most recent revision (instead of ignoring
-the file).
-
-<DT><CODE>-k <VAR>kflag</VAR></CODE>
-<DD>
-Process RCS keywords according to <VAR>kflag</VAR>.  See
-co(1).  This option is sticky; future updates of
-this file in this working directory will use the same
-<VAR>kflag</VAR>.  The <CODE>status</CODE> command can be viewed
-to see the sticky options.  See section <A 
HREF="cvs_121.html#SEC128">status--Display status information on checked out 
files</A>.
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.  See section <A 
HREF="cvs_58.html#SEC60">Recursive behavior</A>.
-
-<DT><CODE>-P</CODE>
-<DD>
-Prune empty directories.
-
-<DT><CODE>-p</CODE>
-<DD>
-Pipe files to the standard output.
-
-<DT><CODE>-R</CODE>
-<DD>
-Operate recursively.  This is on by default.
-See section <A HREF="cvs_58.html#SEC60">Recursive behavior</A>.
-
-<DT><CODE>-r tag</CODE>
-<DD>
-Retrieve revision <VAR>tag</VAR>.  This option is sticky,
-and implies <SAMP>`-P'</SAMP>.
-See section <A HREF="cvs_52.html#SEC54">Sticky tags</A>, for more information 
on sticky tags/dates.
-</DL>
-
-<P>
-These special options are also available with
-<CODE>update</CODE>.
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-A</CODE>
-<DD>
-Reset any sticky tags, dates, or <SAMP>`-k'</SAMP> options.
-See section <A HREF="cvs_52.html#SEC54">Sticky tags</A>, for more information 
on sticky tags/dates.
-
-<DT><CODE>-d</CODE>
-<DD>
-Create any directories that exist in the repository if
-they're missing from the working directory.  Normally,
-<CODE>update</CODE> acts only on directories and files that
-were already enrolled in your working directory.  
-
-This is useful for updating directories that were
-created in the repository since the initial checkout;
-but it has an unfortunate side effect.  If you
-deliberately avoided certain directories in the
-repository when you created your working directory
-(either through use of a module name or by listing
-explicitly the files and directories you wanted on the
-command line), then updating with <SAMP>`-d'</SAMP> will create
-those directories, which may not be what you want.
-
-<DT><CODE>-I <VAR>name</VAR></CODE>
-<DD>
-Ignore files whose names match <VAR>name</VAR> (in your
-working directory) during the update.  You can specify
-<SAMP>`-I'</SAMP> more than once on the command line to specify
-several files to ignore.  Use <SAMP>`-I !'</SAMP> to avoid
-ignoring any files at all.  See section <A HREF="cvs_141.html#SEC148">Ignoring 
files via cvsignore</A>, for other
-ways to make CVS ignore some files.
-
-<DT><CODE>-W<VAR>spec</VAR></CODE>
-<DD>
-Specify file names that should be filtered during
-update.  You can use this option repeatedly.
-
-<VAR>spec</VAR> can be a file name pattern of the same type
-that you can specify in the <TT>`.cvswrappers'</TT>
-file. See section <A HREF="cvs_131.html#SEC138">The cvswrappers file</A>.
-
-<DT><CODE>-j<VAR>revision</VAR></CODE>
-<DD>
-With two <SAMP>`-j'</SAMP> options, merge changes from the
-revision specified with the first <SAMP>`-j'</SAMP> option to
-the revision specified with the second <SAMP>`j'</SAMP> option,
-into the working directory.
-
-With one <SAMP>`-j'</SAMP> option, merge changes from the
-ancestor revision to the revision specified with the
-<SAMP>`-j'</SAMP> option, into the working directory.  The
-ancestor revision is the common ancestor of the
-revision which the working directory is based on, and
-the revision specified in the <SAMP>`-j'</SAMP> option.
-
-In addition, each -j option can contain an optional
-date specification which, when used with branches, can
-limit the chosen revision to one within a specific
-date.  An optional date is specified by adding a colon
-(:) to the tag:
-<SAMP>`-j<VAR>Symbolic_Tag</VAR>:<VAR>Date_Specifier</VAR>'</SAMP>.
-
-See section <A HREF="cvs_53.html#SEC55">Merging</A>.
-
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_125.html">previous</A>, 
<A HREF="cvs_127.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_127.html
===================================================================
RCS file: manual/html_node/cvs_127.html
diff -N manual/html_node/cvs_127.html
--- manual/html_node/cvs_127.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,99 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - update output</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_126.html">previous</A>, 
<A HREF="cvs_128.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC134" HREF="cvs_toc.html#TOC134">update output</A></H3>
-
-<P>
-<CODE>update</CODE> and <CODE>checkout</CODE> keep you informed of
-its progress by printing a line for each file, preceded
-by one character indicating the status of the file:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>U <VAR>file</VAR></CODE>
-<DD>
-The file was brought up to date with respect to the
-repository.  This is done for any file that exists in
-the repository but not in your source, and for files
-that you haven't changed but are not the most recent
-versions available in the repository.
-
-<DT><CODE>A <VAR>file</VAR></CODE>
-<DD>
-The file has been added to your private copy of the
-sources, and will be added to the source repository
-when you run <CODE>commit</CODE> on the file.  This is a
-reminder to you that the file needs to be committed.
-
-<DT><CODE>R <VAR>file</VAR></CODE>
-<DD>
-The file has been removed from your private copy of the
-sources, and will be removed from the source repository
-when you run <CODE>commit</CODE> on the file.  This is a
-reminder to you that the file needs to be committed.
-
-<DT><CODE>M <VAR>file</VAR></CODE>
-<DD>
-The file is modified in  your  working  directory.
-
-<SAMP>`M'</SAMP> can indicate one of two states for a file
-you're working on: either there were no modifications
-to the same file in the repository, so that your file
-remains as you last saw it; or there were modifications
-in the repository as well as in your copy, but they
-were merged successfully, without conflict, in your
-working directory.
-
-CVS will print some messages if it merges your work,
-and a backup copy of your working file (as it looked
-before you ran <CODE>update</CODE>) will be made.  The exact
-name of that file is printed while <CODE>update</CODE> runs.
-
-<DT><CODE>C <VAR>file</VAR></CODE>
-<DD>
-<A NAME="IDX356"></A>
-<A NAME="IDX357"></A>
-A conflict was detected while trying to merge your
-changes to <VAR>file</VAR> with changes from the source
-repository.  <VAR>file</VAR> (the copy in your working
-directory) is now the output of the rcsmerge(1) command
-on the two revisions; an unmodified copy of your file
-is also in your working directory, with the name
-<TT>`.#<VAR>file</VAR>.<VAR>revision</VAR>'</TT> where <VAR>revision</VAR>
-is the RCS revision that your modified file started
-from.  Resolve the conflict as described in
-section <A HREF="cvs_38.html#SEC40">Conflicts example</A>
-(Note that some systems automatically purge
-files that begin with <TT>`.#'</TT> if they have not been
-accessed for a few days.  If you intend to keep a copy
-of your original file, it is a very good idea to rename
-it.)  Under VMS, the file name starts with
-<TT>`__'</TT> rather than <TT>`.#'</TT>.
-
-<DT><CODE>? <VAR>file</VAR></CODE>
-<DD>
-<VAR>file</VAR> is in your working directory, but does not
-correspond to anything in the source repository, and is
-not in the list of files for CVS to ignore (see the
-description of the <SAMP>`-I'</SAMP> option, and
-see section <A HREF="cvs_141.html#SEC148">Ignoring files via cvsignore</A>).
-
-Note that no warning message like this is printed for
-spurious directories that CVS encounters.  The
-directory, and all its contents, are silently ignored.
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_126.html">previous</A>, 
<A HREF="cvs_128.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_128.html
===================================================================
RCS file: manual/html_node/cvs_128.html
diff -N manual/html_node/cvs_128.html
--- manual/html_node/cvs_128.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,30 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - update examples</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_127.html">previous</A>, 
<A HREF="cvs_129.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC135" HREF="cvs_toc.html#TOC135">update examples</A></H3>
-
-<P>
-The following line will display all files which are not
-up-to-date without actually change anything in your
-working directory.  It can be used to check what has
-been going on with the project.
-
-</P>
-
-<PRE>
-$ cvs -n -q update
-</PRE>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_127.html">previous</A>, 
<A HREF="cvs_129.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_129.html
===================================================================
RCS file: manual/html_node/cvs_129.html
diff -N manual/html_node/cvs_129.html
--- manual/html_node/cvs_129.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Administrative files</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_128.html">previous</A>, 
<A HREF="cvs_130.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC136" HREF="cvs_toc.html#TOC136">Reference manual for the 
Administrative files</A></H1>
-<P>
-<A NAME="IDX358"></A>
-<A NAME="IDX359"></A>
-<A NAME="IDX360"></A>
-<A NAME="IDX361"></A>
-
-</P>
-<P>
-Inside the repository, in the directory
-<TT>`$CVSROOT/CVSROOT'</TT>, there are a number of
-supportive files for CVS.  You can use CVS in a limited
-fashion without any of them, but if they are set up
-properly they can help make life easier.  For a
-discussion of how to edit them, See section <A HREF="cvs_19.html#SEC20">The 
administrative files</A>.
-
-</P>
-<P>
-The most important of these files is the <TT>`modules'</TT>
-file, which defines the modules inside the repository.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_128.html">previous</A>, 
<A HREF="cvs_130.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_13.html
===================================================================
RCS file: manual/html_node/cvs_13.html
diff -N manual/html_node/cvs_13.html
--- manual/html_node/cvs_13.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,54 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Viewing differences</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_12.html">previous</A>, 
<A HREF="cvs_14.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC14" HREF="cvs_toc.html#TOC14">Viewing differences</A></H2>
-<P>
-<A NAME="IDX54"></A>
-<A NAME="IDX55"></A>
-
-</P>
-<P>
-You do not remember modifying <TT>`driver.c'</TT>, so you want to see what
-has happened to that file.
-
-</P>
-
-<PRE>
-$ cd tc
-$ cvs diff driver.c
-</PRE>
-
-<P>
-This command runs <CODE>diff</CODE> to compare the version of 
<TT>`driver.c'</TT>
-that you checked out with your working copy.  When you see the output
-you remember that you added a command line option that enabled the
-optimization pass.  You check it in, and release the module.
-
-</P>
-
-<PRE>
-$ cvs commit -m "Added an optimization pass" driver.c
-Checking in driver.c;
-/usr/local/cvsroot/tc/driver.c,v  &#60;--  driver.c
-new revision: 1.2; previous revision: 1.1
-done
-$ cd ..
-$ cvs release -d tc
-? tc
-You have [0] altered files in this repository.
-Are you sure you want to release (and delete) module `tc': y
-</PRE>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_12.html">previous</A>, 
<A HREF="cvs_14.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_130.html
===================================================================
RCS file: manual/html_node/cvs_130.html
diff -N manual/html_node/cvs_130.html
--- manual/html_node/cvs_130.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,159 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - modules</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_129.html">previous</A>, 
<A HREF="cvs_131.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC137" HREF="cvs_toc.html#TOC137">The modules file</A></H2>
-<P>
-<A NAME="IDX362"></A>
-<A NAME="IDX363"></A>
-
-</P>
-<P>
-The <TT>`modules'</TT> file records your definitions of
-names for collections of source code.  CVS will
-use these definitions if you use CVS to update the
-modules file (use normal commands like <CODE>add</CODE>,
-<CODE>commit</CODE>, etc).
-
-</P>
-<P>
-The <TT>`modules'</TT> file may contain blank lines and
-comments (lines beginning with <SAMP>`#'</SAMP>) as well as
-module definitions.  Long lines can be continued on the
-next line by specifying a backslash (<SAMP>`\'</SAMP>) as the
-last character on the line.
-
-</P>
-<P>
-A module definition is a single line of the
-<TT>`modules'</TT> file, in either of two formats.  In both
-cases, <VAR>mname</VAR> represents the symbolic module name,
-and the remainder of the line is its definition.
-
-</P>
-<DL COMPACT>
-
-<DT><CODE><VAR>mname</VAR> -a <VAR>aliases</VAR>...</CODE>
-<DD>
-This represents the simplest way of defining a module
-<VAR>mname</VAR>.  The <SAMP>`-a'</SAMP> flags the definition as a
-simple alias: CVS will treat any use of <VAR>mname</VAR> (as
-a command argument) as if the list of names
-<VAR>aliases</VAR> had been specified instead.
-<VAR>aliases</VAR> may contain either other module names or
-paths.  When you use paths in aliases, <CODE>checkout</CODE>
-creates all intermediate directories in the working
-directory, just as if the path had been specified
-explicitly in the CVS arguments.
-
-<DT><CODE><VAR>mname</VAR> [ options ] <VAR>dir</VAR> [ <VAR>files</VAR>... ] 
[ &#38;<VAR>module</VAR>... ]</CODE>
-<DD>
-In the simplest case, this form of module definition
-reduces to <SAMP>`<VAR>mname</VAR> <VAR>dir</VAR>'</SAMP>.  This defines
-all the files in directory <VAR>dir</VAR> as module mname.
-<VAR>dir</VAR> is a relative path (from <CODE>$CVSROOT</CODE>) to a
-directory of source in the source repository.  In this
-case, on checkout, a single directory called
-<VAR>mname</VAR> is created as a working directory; no
-intermediate directory levels are used by default, even
-if <VAR>dir</VAR> was a path involving several directory
-levels.
-
-By explicitly specifying files in the module definition
-after <VAR>dir</VAR>, you can select particular files from
-directory <VAR>dir</VAR>.  The sample definition for
-<SAMP>`modules'</SAMP> is an example of a module defined with a
-single file from a particular directory.  Here is
-another example:
-
-
-<PRE>
-m4test  unsupported/gnu/m4 foreach.m4 forloop.m4
-</PRE>
-
-With this definition, executing <SAMP>`cvs checkout
-m4test'</SAMP> will create a single working directory
-<TT>`m4test'</TT> containing the two files listed, which
-both come from a common directory several levels deep
-in the CVS source repository.
-
-A module definition can refer to other modules by
-including <SAMP>`&#38;<VAR>module</VAR>'</SAMP> in its definition.
-<CODE>checkout</CODE> creates a subdirectory for each such
-module, in your working directory.
-
-<DL COMPACT>
-
-<DT><CODE>-d <VAR>name</VAR></CODE>
-<DD>
-Name the working directory something other than the
-module name.
-
-<A NAME="IDX364"></A>
-<DT><CODE>-e <VAR>prog</VAR></CODE>
-<DD>
-Specify a program <VAR>prog</VAR> to run whenever files in a
-module are exported.  <VAR>prog</VAR> runs with a single
-argument, the module name.
-
-<A NAME="IDX365"></A>
-<DT><CODE>-i <VAR>prog</VAR></CODE>
-<DD>
-Specify a program <VAR>prog</VAR> to run whenever files in a
-module are committed.  <VAR>prog</VAR> runs with a single
-argument, the full pathname of the affected directory
-in a source repository.  The <TT>`commitinfo'</TT>,
-<TT>`loginfo'</TT>, and <TT>`editinfo'</TT> files provide other
-ways to call a program on commit.
-
-<A NAME="IDX366"></A>
-<DT><CODE>-o <VAR>prog</VAR></CODE>
-<DD>
-Specify a program <VAR>prog</VAR> to run whenever files in a
-module are checked out.  <VAR>prog</VAR> runs with a single
-argument, the module name.
-
-<A NAME="IDX367"></A>
-<A NAME="IDX368"></A>
-<DT><CODE>-s <VAR>status</VAR></CODE>
-<DD>
-Assign a status to the module.  When the module file is
-printed with <SAMP>`cvs checkout -s'</SAMP> the modules are
-sorted according to primarily module status, and
-secondarily according to the module name.  This option
-has no other meaning.  You can use this option for
-several things besides status: for instance, list the
-person that is responsible for this module.
-
-<A NAME="IDX369"></A>
-<DT><CODE>-t <VAR>prog</VAR></CODE>
-<DD>
-Specify a program <VAR>prog</VAR> to run whenever files in a
-module are tagged with <CODE>rtag</CODE>.  <VAR>prog</VAR> runs
-with two arguments: the module name and the symbolic
-tag specified to <CODE>rtag</CODE>.  There is no way to
-specify a program to run when <CODE>tag</CODE> is executed.
-
-<A NAME="IDX370"></A>
-<DT><CODE>-u <VAR>prog</VAR></CODE>
-<DD>
-Specify a program <VAR>prog</VAR> to run whenever <SAMP>`cvs
-update'</SAMP> is executed from the top-level directory of the
-checked-out module.  <VAR>prog</VAR> runs with a single
-argument, the full path to the source repository for
-this module.
-</DL>
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_129.html">previous</A>, 
<A HREF="cvs_131.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_131.html
===================================================================
RCS file: manual/html_node/cvs_131.html
diff -N manual/html_node/cvs_131.html
--- manual/html_node/cvs_131.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,122 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Wrappers</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_130.html">previous</A>, 
<A HREF="cvs_132.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC138" HREF="cvs_toc.html#TOC138">The cvswrappers file</A></H2>
-<P>
-<A NAME="IDX371"></A>
-<A NAME="IDX372"></A>
-<A NAME="IDX373"></A>
-
-</P>
-
-<P>
-Wrappers allow you to set a hook which transforms files on
-their way in and out of CVS.  Most or all of the
-wrappers features do not work with client/server CVS.
-
-</P>
-<P>
-The file <TT>`cvswrappers'</TT> defines the script that will be
-run on a file when its name matches a regular
-expresion. There are two scripts that can be run on a
-file or directory. One script is executed on the file/directory
-before being checked into the repository (this is denoted
-with the <CODE>-t</CODE> flag) and the other when the file is
-checked out of the repository (this is denoted with the
-<CODE>-f</CODE> flag)
-
-</P>
-<P>
-The <TT>`cvswrappers'</TT> also has a <SAMP>`-m'</SAMP> option to
-specify the merge methodology that should be used when
-the file is updated.  <CODE>MERGE</CODE> means the usual
-CVS behavior: try to merge the files (this
-generally will not work for binary files).  <CODE>COPY</CODE>
-means that <CODE>cvs update</CODE> will merely copy one
-version over the other, and require the user using
-mechanisms outside CVS, to insert any necessary
-changes.
-The <SAMP>`-m'</SAMP> wrapper option only affects behavior when
-merging is done on update; it does not affect how files
-are stored.  See See section <A HREF="cvs_81.html#SEC83">Handling binary 
files</A>, for more on
-binary files.
-
-</P>
-<P>
-The basic format of the file <TT>`cvswrappers'</TT> is:
-
-</P>
-
-<PRE>
-wildcard     [option value][option value]...
-
-where option is one of
--f           from cvs filter         value: path to filter
--t           to cvs filter           value: path to filter
--m           update methodology      value: MERGE or COPY
--k           keyword expansion       value: expansion mode
-
-and value is a single-quote delimited value.
-</PRE>
-
-
-<PRE>
-*.nib    -f 'unwrap %s' -t 'wrap %s %s' -m 'COPY'
-*.c      -t 'indent %s %s'
-</PRE>
-
-<P>
-The above example of a <TT>`cvswrappers'</TT> file
-states that all files/directories that end with a <CODE>.nib</CODE>
-should be filtered with the <TT>`wrap'</TT> program before
-checking the file into the repository. The file should
-be filtered though the <TT>`unwrap'</TT> program when the
-file is checked out of the repository. The
-<TT>`cvswrappers'</TT> file also states that a <CODE>COPY</CODE>
-methodology should be used when updating the files in
-the repository (that is no merging should be performed).
-
-</P>
-<P>
-The last example line says that all files that end with
-a <CODE>*.c</CODE> should be filtered with <TT>`indent'</TT>
-before being checked into the repository. Unlike the previous
-example no filtering of the <CODE>*.c</CODE> file is done when
-it is checked out of the repository.
-The <CODE>-t</CODE> filter is called with two arguments,
-the first is the name of the file/directory to filter
-and the second is the pathname to where the resulting
-filtered file should be placed.
-
-</P>
-<P>
-The <CODE>-f</CODE> filter is called with one argument,
-which is the name of the file to filter from. The end
-result of this filter will be a file in the users directory
-that they can work on as they normally would.
-
-</P>
-<P>
-For another example, the following command imports a
-directory, treating files whose name ends in
-<SAMP>`.exe'</SAMP> as binary:
-
-</P>
-
-<PRE>
-cvs import -I ! -W "*.exe -k 'b'" first-dir vendortag reltag
-</PRE>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_130.html">previous</A>, 
<A HREF="cvs_132.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_132.html
===================================================================
RCS file: manual/html_node/cvs_132.html
diff -N manual/html_node/cvs_132.html
--- manual/html_node/cvs_132.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,63 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - commit files</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_131.html">previous</A>, 
<A HREF="cvs_133.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC139" HREF="cvs_toc.html#TOC139">The commit support 
files</A></H2>
-<P>
-<A NAME="IDX374"></A>
-
-</P>
-<P>
-The <SAMP>`-i'</SAMP> flag in the <TT>`modules'</TT> file can be
-used to run a certain program whenever files are
-committed (see section <A HREF="cvs_130.html#SEC137">The modules file</A>).  
The files described in
-this section provide other, more flexible, ways to run
-programs whenever something is committed.
-
-</P>
-<P>
-There are three kind of programs that can be run on
-commit.  They are specified in files in the repository,
-as described below.  The following table summarizes the
-file names and the purpose of the corresponding
-programs.
-
-</P>
-<DL COMPACT>
-
-<DT><TT>`commitinfo'</TT>
-<DD>
-The program is responsible for checking that the commit
-is allowed.  If it exits with a non-zero exit status
-the commit will be aborted.
-
-<DT><TT>`editinfo'</TT>
-<DD>
-The specified program is used to edit the log message,
-and possibly verify that it contains all required
-fields.  This is most useful in combination with the
-<TT>`rcsinfo'</TT> file, which can hold a log message
-template (see section <A HREF="cvs_140.html#SEC147">Rcsinfo</A>).
-
-<DT><TT>`loginfo'</TT>
-<DD>
-The specified program is called when the commit is
-complete.  It receives the log message and some
-additional information and can store the log message in
-a file, or mail it to appropriate persons, or maybe
-post it to a local newsgroup, or...  Your
-imagination is the limit!
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_131.html">previous</A>, 
<A HREF="cvs_133.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_133.html
===================================================================
RCS file: manual/html_node/cvs_133.html
diff -N manual/html_node/cvs_133.html
--- manual/html_node/cvs_133.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,61 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - syntax</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_132.html">previous</A>, 
<A HREF="cvs_134.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC140" HREF="cvs_toc.html#TOC140">The common syntax</A></H3>
-<P>
-<A NAME="IDX375"></A>
-<A NAME="IDX376"></A>
-<A NAME="IDX377"></A>
-
-</P>
-
-<P>
-The four files <TT>`commitinfo'</TT>, <TT>`loginfo'</TT>,
-<TT>`rcsinfo'</TT> and <TT>`editinfo'</TT> all have a common
-format.  The purpose of the files are described later
-on.  The common syntax is described here.
-
-</P>
-<P>
-Each line contains the following:
-
-<UL>
-<LI>
-
-A regular expression
-
-<LI>
-
-A whitespace separator--one or more spaces and/or tabs.
-
-<LI>
-
-A file name or command-line template.
-</UL>
-
-<P>
-Blank lines are ignored.  Lines that start with the
-character <SAMP>`#'</SAMP> are treated as comments.  Long lines
-unfortunately can <EM>not</EM> be broken in two parts in
-any way.
-
-</P>
-<P>
-The first regular expression that matches the current
-directory name in the repository is used.  The rest of the line
-is used as a file name or command-line as appropriate.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_132.html">previous</A>, 
<A HREF="cvs_134.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_134.html
===================================================================
RCS file: manual/html_node/cvs_134.html
diff -N manual/html_node/cvs_134.html
--- manual/html_node/cvs_134.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,72 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - commitinfo</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_133.html">previous</A>, 
<A HREF="cvs_135.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC141" HREF="cvs_toc.html#TOC141">Commitinfo</A></H2>
-<P>
-<A NAME="IDX378"></A>
-<A NAME="IDX379"></A>
-<A NAME="IDX380"></A>
-
-</P>
-<P>
-The <TT>`commitinfo'</TT> file defines programs to execute
-whenever <SAMP>`cvs commit'</SAMP> is about to execute.  These
-programs are used for pre-commit checking to verify
-that the modified, added and removed files are really
-ready to be committed.  This could be used, for
-instance, to verify that the changed files conform to
-to your site's standards for coding practice.
-
-</P>
-<P>
-As mentioned earlier, each line in the
-<TT>`commitinfo'</TT> file consists of a regular expression
-and a command-line template.  The template can include
-a program name and any number of arguments you wish to
-supply to it.  The full path to the current source
-repository is appended to the template, followed by the
-file names of any files involved in the commit (added,
-removed, and modified files).
-
-</P>
-<P>
-The first line with a regular expression matching the
-relative path to the module will be used.  If the
-command returns a non-zero exit status the commit will
-be aborted.
-
-</P>
-<P>
-<A NAME="IDX381"></A>
-If the repository name does not match any of the
-regular expressions in this file, the <SAMP>`DEFAULT'</SAMP>
-line is used, if it is specified.
-
-</P>
-<P>
-<A NAME="IDX382"></A>
-All occurances of the name <SAMP>`ALL'</SAMP> appearing as a
-regular expression are used in addition to the first
-matching regular expression or the name <SAMP>`DEFAULT'</SAMP>.
-
-</P>
-<P>
-Note: when CVS is accessing a remote repository,
-<TT>`commitinfo'</TT> will be run on the <EM>remote</EM>
-(i.e., server) side, not the client side (see section <A 
HREF="cvs_22.html#SEC24">Remote repositories</A>).
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_133.html">previous</A>, 
<A HREF="cvs_135.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_135.html
===================================================================
RCS file: manual/html_node/cvs_135.html
diff -N manual/html_node/cvs_135.html
--- manual/html_node/cvs_135.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,86 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - editinfo</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_134.html">previous</A>, 
<A HREF="cvs_136.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC142" HREF="cvs_toc.html#TOC142">Editinfo</A></H2>
-<P>
-<A NAME="IDX383"></A>
-<A NAME="IDX384"></A>
-<A NAME="IDX385"></A>
-<A NAME="IDX386"></A>
-
-</P>
-<P>
-If you want to make sure that all log messages look the
-same way, you can use the <TT>`editinfo'</TT> file to
-specify a program that is used to edit the log message.
-This program could be a custom-made editor that always
-enforces a certain style of the log message, or maybe a
-simple shell script that calls an editor, and checks
-that the entered message contains the required fields.
-
-</P>
-<P>
-If no matching line is found in the <TT>`editinfo'</TT>
-file, the editor specified in the environment variable
-<CODE>$CVSEDITOR</CODE> is used instead.  If that variable is
-not set, then the environment variable <CODE>$EDITOR</CODE>
-is used instead.  If that variable is not
-set a precompiled default, normally <CODE>vi</CODE>, will be
-used.
-
-</P>
-<P>
-The <TT>`editinfo'</TT> file is often most useful together
-with the <TT>`rcsinfo'</TT> file, which can be used to
-specify a log message template.
-
-</P>
-<P>
-Each line in the <TT>`editinfo'</TT> file consists of a
-regular expression and a command-line template.  The
-template must include a program name, and can include
-any number of arguments.  The full path to the current
-log message template file is appended to the template.
-
-</P>
-<P>
-One thing that should be noted is that the <SAMP>`ALL'</SAMP>
-keyword is not supported.  If more than one matching
-line is found, the first one is used.  This can be
-useful for specifying a default edit script in a
-module, and then overriding it in a subdirectory.
-
-</P>
-<P>
-<A NAME="IDX387"></A>
-If the repository name does not match any of the
-regular expressions in this file, the <SAMP>`DEFAULT'</SAMP>
-line is used, if it is specified.
-
-</P>
-<P>
-If the edit script exits with a non-zero exit status,
-the commit is aborted.
-
-</P>
-<P>
-Note: when CVS is accessing a remote repository,
-or when the <SAMP>`-m'</SAMP> or <SAMP>`-F'</SAMP> options to <CODE>cvs
-commit</CODE> are used, <TT>`editinfo'</TT> will not be consulted.
-There is no good workaround for this.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_134.html">previous</A>, 
<A HREF="cvs_136.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_136.html
===================================================================
RCS file: manual/html_node/cvs_136.html
diff -N manual/html_node/cvs_136.html
--- manual/html_node/cvs_136.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,79 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - editinfo example</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_135.html">previous</A>, 
<A HREF="cvs_137.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC143" HREF="cvs_toc.html#TOC143">Editinfo example</A></H3>
-
-<P>
-The following is a little silly example of a
-<TT>`editinfo'</TT> file, together with the corresponding
-<TT>`rcsinfo'</TT> file, the log message template and an
-editor script.  We begin with the log message template.
-We want to always record a bug-id number on the first
-line of the log message.  The rest of log message is
-free text.  The following template is found in the file
-<TT>`/usr/cvssupport/tc.template'</TT>.
-
-</P>
-
-<PRE>
-BugId:    
-</PRE>
-
-<P>
-The script <TT>`/usr/cvssupport/bugid.edit'</TT> is used to
-edit the log message.
-
-</P>
-
-<PRE>
-#!/bin/sh
-#
-#       bugid.edit filename
-#
-#  Call $EDITOR on FILENAME, and verify that the
-#  resulting file contains a valid bugid on the first
-#  line.
-if [ "x$EDITOR" = "x" ]; then EDITOR=vi; fi
-if [ "x$CVSEDITOR" = "x" ]; then CVSEDITOR=$EDITOR; fi
-$CVSEDITOR $1
-until head -1|grep '^BugId:[ ]*[0-9][0-9]*$' &#60; $1
-do  echo -n  "No BugId found.  Edit again? ([y]/n)"
-    read ans
-    case ${ans} in
-        n*) exit 1;;
-    esac
-    $CVSEDITOR $1
-done
-</PRE>
-
-<P>
-The <TT>`editinfo'</TT> file contains this line:
-
-</P>
-
-<PRE>
-^tc     /usr/cvssupport/bugid.edit
-</PRE>
-
-<P>
-The <TT>`rcsinfo'</TT> file contains this line:
-
-</P>
-
-<PRE>
-^tc     /usr/cvssupport/tc.template
-</PRE>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_135.html">previous</A>, 
<A HREF="cvs_137.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_137.html
===================================================================
RCS file: manual/html_node/cvs_137.html
diff -N manual/html_node/cvs_137.html
--- manual/html_node/cvs_137.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,70 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - loginfo</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_136.html">previous</A>, 
<A HREF="cvs_138.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC144" HREF="cvs_toc.html#TOC144">Loginfo</A></H2>
-<P>
-<A NAME="IDX388"></A>
-<A NAME="IDX389"></A>
-<A NAME="IDX390"></A>
-<A NAME="IDX391"></A>
-<A NAME="IDX392"></A>
-
-</P>
-<P>
-The <TT>`loginfo'</TT> file is used to control where
-<SAMP>`cvs commit'</SAMP> log information is sent.  The first
-entry on a line is a regular expression which is tested
-against the directory that the change is being made to,
-relative to the <CODE>$CVSROOT</CODE>.  If a match is found, then
-the remainder of the line is a filter program that
-should expect log information on its standard input.
-
-</P>
-<P>
-The filter program may use one and only one % modifier
-(a la printf).  If <SAMP>`%s'</SAMP> is specified in the filter
-program, a brief title is included (enclosed in single
-quotes) showing the modified file names.
-
-</P>
-<P>
-If the repository name does not match any of the
-regular expressions in this file, the <SAMP>`DEFAULT'</SAMP>
-line is used, if it is specified.
-
-</P>
-<P>
-All occurances of the name <SAMP>`ALL'</SAMP> appearing as a
-regular expression are used in addition to the first
-matching regular expression or <SAMP>`DEFAULT'</SAMP>.
-
-</P>
-<P>
-The first matching regular expression is used.
-
-</P>
-<P>
-See section <A HREF="cvs_132.html#SEC139">The commit support files</A>, for a 
description of the syntax of
-the <TT>`loginfo'</TT> file.  
-
-</P>
-<P>
-Note: when CVS is accessing a remote repository,
-<TT>`loginfo'</TT> will be run on the <EM>remote</EM>
-(i.e., server) side, not the client side (see section <A 
HREF="cvs_22.html#SEC24">Remote repositories</A>).
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_136.html">previous</A>, 
<A HREF="cvs_138.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_138.html
===================================================================
RCS file: manual/html_node/cvs_138.html
diff -N manual/html_node/cvs_138.html
--- manual/html_node/cvs_138.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,48 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - loginfo example</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_137.html">previous</A>, 
<A HREF="cvs_139.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC145" HREF="cvs_toc.html#TOC145">Loginfo example</A></H3>
-
-<P>
-The following <TT>`loginfo'</TT> file, together with the
-tiny shell-script below, appends all log messages 
-to the file <TT>`$CVSROOT/CVSROOT/commitlog'</TT>,
-and any commits to the administrative files (inside
-the <TT>`CVSROOT'</TT> directory) are also logged in
-<TT>`/usr/adm/cvsroot-log'</TT>.
-
-</P>
-
-<PRE>
-ALL             /usr/local/bin/cvs-log $CVSROOT/CVSROOT/commitlog
-^CVSROOT        /usr/local/bin/cvs-log /usr/adm/cvsroot-log
-</PRE>
-
-<P>
-The shell-script <TT>`/usr/local/bin/cvs-log'</TT> looks
-like this:
-
-</P>
-
-<PRE>
-#!/bin/sh
-(echo "-----------------------------------------------------------------";
- echo -n $USER"  ";
- date;
- echo;
- sed '1s+'${CVSROOT}'++') &#62;&#62; $1
-</PRE>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_137.html">previous</A>, 
<A HREF="cvs_139.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_139.html
===================================================================
RCS file: manual/html_node/cvs_139.html
diff -N manual/html_node/cvs_139.html
--- manual/html_node/cvs_139.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,53 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Keeping a checked out copy</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_138.html">previous</A>, 
<A HREF="cvs_140.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC146" HREF="cvs_toc.html#TOC146">Keeping a checked out 
copy</A></H3>
-
-<P>
-<A NAME="IDX393"></A>
-<A NAME="IDX394"></A>
-
-</P>
-<P>
-It is often useful to maintain a directory tree which
-contains files which correspond to the latest version
-in the repository.  For example, other developers might
-want to refer to the latest sources without having to
-check them out, or you might be maintaining a web site
-with CVS and want every checkin to cause the files
-used by the web server to be updated.
-
-</P>
-<P>
-The way to do this is by having loginfo invoke
-<CODE>cvs update</CODE>.  Doing so in the naive way will
-cause a problem with locks, so the <CODE>cvs update</CODE>
-must be run in the background.
-Here is an example (this should all be on one line):
-
-</P>
-
-<PRE>
-^cyclic-pages          (date; cat; (sleep 2; cd /u/www/local-docs;
- cvs -q update -d) &#38;) &#62;&#62; $CVSROOT/CVSROOT/updatelog 2&#62;&#38;1
-</PRE>
-
-<P>
-This will cause checkins to repository directories
-starting with <CODE>cyclic-pages</CODE> to update the checked
-out tree in <TT>`/u/www/local-docs'</TT>.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_138.html">previous</A>, 
<A HREF="cvs_140.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_14.html
===================================================================
RCS file: manual/html_node/cvs_14.html
diff -N manual/html_node/cvs_14.html
--- manual/html_node/cvs_14.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,80 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Repository</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_13.html">previous</A>, 
<A HREF="cvs_15.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC15" HREF="cvs_toc.html#TOC15">The Repository</A></H1>
-<P>
-<A NAME="IDX56"></A>
-<A NAME="IDX57"></A>
-<A NAME="IDX58"></A>
-<A NAME="IDX59"></A>
-<A NAME="IDX60"></A>
-<A NAME="IDX61"></A>
-
-</P>
-<P>
-The CVS <EM>repository</EM> stores a complete copy of
-all the files and directories which are under version
-control.
-
-</P>
-<P>
-Normally, you never access any of the files in the
-repository directly.  Instead, you use CVS
-commands to get your own copy of the files, and then
-work on that copy.  When you've finished a set of
-changes, you check (or <EM>commit</EM>) them back into the
-repository.  The repository then contains the changes
-which you have made, as well as recording exactly what
-you changed, when you changed it, and other such
-information.
-
-</P>
-<P>
-<A NAME="IDX62"></A>
-CVS can access a repository by a variety of
-means.  It might be on the local computer, or it might
-be on a computer across the room or across the world.
-To distinguish various ways to access a repository, the
-repository name can start with an <EM>access method</EM>.
-For example, the access method <CODE>:local:</CODE> means to
-access a repository directory, so the repository
-<CODE>:local:/usr/local/cvsroot</CODE> means that the
-repository is in <TT>`/usr/local/cvsroot'</TT> on the
-computer running CVS.  For information on other
-access methods, see section <A HREF="cvs_22.html#SEC24">Remote 
repositories</A>.
-
-</P>
-<P>
-If the access method is omitted, then if the repository
-does not contain <SAMP>`:'</SAMP>, then <CODE>:local:</CODE> is
-assumed.  If it does contain <SAMP>`:'</SAMP> than either
-<CODE>:ext:</CODE> or <CODE>:server:</CODE> is assumed.  For
-example, if you have a local repository in
-<TT>`/usr/local/cvsroot'</TT>, you can use
-<CODE>/usr/local/cvsroot</CODE> instead of
-<CODE>:local:/usr/local/cvsroot</CODE>.  But if (under
-Windows NT, for example) your local repository is
-<TT>`c:\src\cvsroot'</TT>, then you must specify the access
-method, as in <CODE>:local:c:\src\cvsroot</CODE>.
-
-</P>
-<P>
-The repository is split in two parts.  <TT>`$CVSROOT/CVSROOT'</TT> contains
-administrative files for CVS.  The other directories contain the actual
-user-defined modules.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_13.html">previous</A>, 
<A HREF="cvs_15.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_140.html
===================================================================
RCS file: manual/html_node/cvs_140.html
diff -N manual/html_node/cvs_140.html
--- manual/html_node/cvs_140.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,69 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - rcsinfo</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_139.html">previous</A>, 
<A HREF="cvs_141.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC147" HREF="cvs_toc.html#TOC147">Rcsinfo</A></H2>
-<P>
-<A NAME="IDX395"></A>
-<A NAME="IDX396"></A>
-<A NAME="IDX397"></A>
-<A NAME="IDX398"></A>
-
-</P>
-<P>
-The <TT>`rcsinfo'</TT> file can be used to specify a form to
-edit when filling out the commit log.  The
-<TT>`rcsinfo'</TT> file has a syntax similar to the
-<TT>`editinfo'</TT>, <TT>`commitinfo'</TT> and <TT>`loginfo'</TT>
-files.  See section <A HREF="cvs_133.html#SEC140">The common syntax</A>.  
Unlike the other files the second
-part is <EM>not</EM> a command-line template.  Instead,
-the part after the regular expression should be a full pathname to
-a file containing the log message template.
-
-</P>
-<P>
-If the repository name does not match any of the
-regular expressions in this file, the <SAMP>`DEFAULT'</SAMP>
-line is used, if it is specified.
-
-</P>
-<P>
-All occurances of the name <SAMP>`ALL'</SAMP> appearing as a
-regular expression are used in addition to the first
-matching regular expression or <SAMP>`DEFAULT'</SAMP>.
-
-</P>
-<P>
-The log message template will be used as a default log
-message.  If you specify a log message with <SAMP>`cvs
-commit -m <VAR>message</VAR>'</SAMP> or <SAMP>`cvs commit -f
-<VAR>file</VAR>'</SAMP> that log message will override the
-template.
-
-</P>
-<P>
-See section <A HREF="cvs_136.html#SEC143">Editinfo example</A>, for an example 
<TT>`rcsinfo'</TT>
-file.
-
-</P>
-<P>
-When CVS is accessing a remote repository,
-the contents of <TT>`rcsinfo'</TT> at the time a directory
-is first checked out will specify a template which does
-not then change.  If you edit <TT>`rcsinfo'</TT> or its
-templates, you may need to check out a new working
-directory.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_139.html">previous</A>, 
<A HREF="cvs_141.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_141.html
===================================================================
RCS file: manual/html_node/cvs_141.html
diff -N manual/html_node/cvs_141.html
--- manual/html_node/cvs_141.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,104 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - cvsignore</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_140.html">previous</A>, 
<A HREF="cvs_142.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC148" HREF="cvs_toc.html#TOC148">Ignoring files via 
cvsignore</A></H2>
-<P>
-<A NAME="IDX399"></A>
-<A NAME="IDX400"></A>
-<A NAME="IDX401"></A>
-
-</P>
-<P>
-There are certain file names that frequently occur
-inside your working copy, but that you don't want to
-put under CVS control.  Examples are all the object
-files that you get while you compile your sources.
-Normally, when you run <SAMP>`cvs update'</SAMP>, it prints a
-line for each file it encounters that it doesn't know
-about (see section <A HREF="cvs_127.html#SEC134">update output</A>).
-
-</P>
-<P>
-CVS has a list of files (or sh(1) file name patterns)
-that it should ignore while running <CODE>update</CODE>,
-<CODE>import</CODE> and <CODE>release</CODE>.
-This list is constructed in the following way.
-
-</P>
-
-<UL>
-<LI>
-
-The list is initialized to include certain file name
-patterns: names associated with CVS
-administration, or with other common source control
-systems; common names for patch files, object files,
-archive files, and editor backup files; and other names
-that are usually artifacts of assorted utilities.
-Currently, the default list of ignored file name
-patterns is:
-
-<A NAME="IDX402"></A>
-<A NAME="IDX403"></A>
-
-<PRE>
-    RCS     SCCS    CVS     CVS.adm
-    RCSLOG  cvslog.*
-    tags    TAGS
-    .make.state     .nse_depinfo
-    *~      #*      .#*     ,*      _$*     *$
-    *.old   *.bak   *.BAK   *.orig  *.rej   .del-*
-    *.a     *.olb   *.o     *.obj   *.so    *.exe
-    *.Z     *.elc   *.ln  
-    core
-</PRE>
-
-<LI>
-
-The per-repository list in
-<TT>`$CVSROOT/CVSROOT/cvsignore'</TT> is appended to
-the list, if that file exists.
-
-<LI>
-
-The per-user list in <TT>`.cvsignore'</TT> in your home
-directory is appended to the list, if it exists.
-
-<LI>
-
-Any entries in the environment variable
-<CODE>$CVSIGNORE</CODE> is appended to the list.
-
-<LI>
-
-Any <SAMP>`-I'</SAMP> options given to CVS is appended.
-
-<LI>
-
-As CVS traverses through your directories, the contents
-of any <TT>`.cvsignore'</TT> will be appended to the list.
-The patterns found in <TT>`.cvsignore'</TT> are only valid
-for the directory that contains them, not for
-any sub-directories.
-</UL>
-
-<P>
-In any of the 5 places listed above, a single
-exclamation mark (<SAMP>`!'</SAMP>) clears the ignore list.
-This can be used if you want to store any file which
-normally is ignored by CVS.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_140.html">previous</A>, 
<A HREF="cvs_142.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_142.html
===================================================================
RCS file: manual/html_node/cvs_142.html
diff -N manual/html_node/cvs_142.html
--- manual/html_node/cvs_142.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - history file</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_141.html">previous</A>, 
<A HREF="cvs_143.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC149" HREF="cvs_toc.html#TOC149">The history file</A></H2>
-<P>
-<A NAME="IDX404"></A>
-<A NAME="IDX405"></A>
-
-</P>
-<P>
-The file <TT>`$CVSROOT/CVSROOT/history'</TT> is used
-to log information for the <CODE>history</CODE> command
-(see section <A HREF="cvs_103.html#SEC110">history--Show status of files and 
users</A>).  This file must be created to turn
-on logging.  This is done automatically if the
-<CODE>cvs init</CODE> command is used to set up the
-repository (see section <A HREF="cvs_21.html#SEC23">Creating a repository</A>).
-
-</P>
-<P>
-The file format of the <TT>`history'</TT> file is
-documented only in comments in the CVS source
-code, but generally programs should use the <CODE>cvs
-history</CODE> command to access it anyway, in case the
-format changes with future releases of CVS.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_141.html">previous</A>, 
<A HREF="cvs_143.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_143.html
===================================================================
RCS file: manual/html_node/cvs_143.html
diff -N manual/html_node/cvs_143.html
--- manual/html_node/cvs_143.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,108 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Variables</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_142.html">previous</A>, 
<A HREF="cvs_144.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC150" HREF="cvs_toc.html#TOC150">Expansions in administrative 
files</A></H2>
-
-<P>
-Sometimes in writing an administrative file, you might
-want the file to be able to know various things based
-on environment CVS is running in.  There are
-several mechanisms to do that.
-
-</P>
-<P>
-To find the home directory of the user running CVS
-(from the <CODE>HOME</CODE> environment variable), use
-<SAMP>`~'</SAMP> followed by <SAMP>`/'</SAMP> or the end of the line.
-Likewise for the home directory of <VAR>user</VAR>, use
-<SAMP>`~<VAR>user</VAR>'</SAMP>.  These variables are expanded on
-the server machine, and don't get any resonable
-expansion if pserver (see section <A HREF="cvs_24.html#SEC26">Direct 
connection with password authentication</A>)
-is in used; therefore user variables (see below) may be
-a better choice to customize behavior based on the user
-running CVS.
-
-</P>
-<P>
-One may want to know about various pieces of
-information internal to CVS.  A CVS internal
-variable has the syntax <CODE>${<VAR>variable</VAR>}</CODE>,
-where <VAR>variable</VAR> starts with a letter and consists
-of alphanumberic characters and <SAMP>`_'</SAMP>.  If the
-character following <VAR>variable</VAR> is a
-non-alphanumeric character other than <SAMP>`_'</SAMP>, the
-<SAMP>`{'</SAMP> and <SAMP>`}'</SAMP> can be omitted.  The CVS
-internal variables are:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>CVSROOT</CODE>
-<DD>
-This is the value of the CVS root in use.
-See section <A HREF="cvs_14.html#SEC15">The Repository</A>, for a description 
of the various
-ways to specify this.
-
-<DT><CODE>RCSBIN</CODE>
-<DD>
-This is the value CVS is using for where to find
-RCS binaries.  See section <A HREF="cvs_87.html#SEC89">Global options</A>, for 
a
-description of how to specify this.
-
-<DT><CODE>CVSEDITOR</CODE>
-<DD>
-<DT><CODE>VISUAL</CODE>
-<DD>
-<DT><CODE>EDITOR</CODE>
-<DD>
-These all expand to the same value, which is the editor
-that CVS is using.  See section <A HREF="cvs_87.html#SEC89">Global 
options</A>, for how
-to specify this.
-
-<DT><CODE>USER</CODE>
-<DD>
-Username of the user running CVS (on the CVS
-server machine).
-</DL>
-
-<P>
-If you want to pass a value to the administrative files
-which the user that is running CVS can specify,
-use a user variable.  To expand a user variable, the
-administrative file contains
-<CODE>${=<VAR>variable</VAR>}</CODE>.  To set a user variable,
-specify the global option <SAMP>`-s'</SAMP> to CVS, with
-argument <CODE><VAR>variable</VAR>=<VAR>value</VAR></CODE>.  It may be
-particularly useful to specify this option via
-<TT>`.cvsrc'</TT> (see section <A HREF="cvs_86.html#SEC88">Default options and 
the ~/.cvsrc file</A>).
-
-</P>
-<P>
-For example, if you want the administrative file to
-refer to a test directory you might create a user
-variable <CODE>TESTDIR</CODE>.  Then if CVS is invoked
-as <CODE>cvs -s TESTDIR=/work/local/tests</CODE>, and the
-administrative file contains <CODE>sh
-${=TESTDIR}/runtests</CODE>, then that string is expanded
-to <CODE>sh /work/local/tests/runtests</CODE>.
-
-</P>
-<P>
-All other strings containing <SAMP>`$'</SAMP> are reserved;
-there is no way to quote a <SAMP>`$'</SAMP> character so that
-<SAMP>`$'</SAMP> represents itself.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_142.html">previous</A>, 
<A HREF="cvs_144.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_144.html
===================================================================
RCS file: manual/html_node/cvs_144.html
diff -N manual/html_node/cvs_144.html
--- manual/html_node/cvs_144.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,234 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Environment variables</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_143.html">previous</A>, 
<A HREF="cvs_145.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC151" HREF="cvs_toc.html#TOC151">All environment variables 
which affect CVS</A></H1>
-<P>
-<A NAME="IDX406"></A>
-<A NAME="IDX407"></A>
-
-</P>
-<P>
-This is a complete list of all environment variables
-that affect CVS.
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>$CVSIGNORE</CODE>
-<DD>
-<A NAME="IDX408"></A>
- 
-A whitespace-separated list of file name patterns that
-CVS should ignore. See section <A HREF="cvs_141.html#SEC148">Ignoring files 
via cvsignore</A>.
-
-<A NAME="IDX409"></A>
-<DT><CODE>$CVSWRAPPERS</CODE>
-<DD>
-A whitespace-separated list of file name patterns that
-CVS should treat as wrappers. See section <A HREF="cvs_131.html#SEC138">The 
cvswrappers file</A>.
-
-<A NAME="IDX410"></A>
-<A NAME="IDX411"></A>
-<DT><CODE>$CVSREAD</CODE>
-<DD>
-If this is set, <CODE>checkout</CODE> and <CODE>update</CODE> will
-try hard to make the files in your working directory
-read-only.  When this is not set, the default behavior
-is to permit modification of your working files.
-
-<A NAME="IDX412"></A>
-<DT><CODE>$CVSROOT</CODE>
-<DD>
-Should contain the full pathname to the root of the CVS
-source repository (where the RCS history files are
-kept).  This information must be available to CVS for
-most commands to execute; if <CODE>$CVSROOT</CODE> is not set,
-or if you wish to override it for one invocation, you
-can supply it on the command line: <SAMP>`cvs -d cvsroot
-cvs_command...'</SAMP> Once you have checked out a working
-directory, CVS stores the appropriate root (in
-the file <TT>`CVS/Root'</TT>), so normally you only need to
-worry about this when initially checking out a working 
-directory.
-
-<A NAME="IDX413"></A>
-<A NAME="IDX414"></A>
-<DT><CODE>$EDITOR</CODE>
-<DD>
-<DT><CODE>$CVSEDITOR</CODE>
-<DD>
-Specifies the program to use for recording log messages
-during commit.  If not set, the default is
-<SAMP>`/usr/ucb/vi'</SAMP>.  <CODE>$CVSEDITOR</CODE> overrides
-<CODE>$EDITOR</CODE>.  <CODE>$CVSEDITOR</CODE> does not exist in
-CVS 1.3, but the next release will probably
-include it.
-
-<A NAME="IDX415"></A>
-<DT><CODE>$PATH</CODE>
-<DD>
-If <CODE>$RCSBIN</CODE> is not set, and no path is compiled
-into CVS, it will use <CODE>$PATH</CODE> to try to find all
-programs it uses.
-
-<A NAME="IDX416"></A>
-<DT><CODE>$RCSBIN</CODE>
-<DD>
-This is the value CVS is using for where to find
-RCS binaries.  See section <A HREF="cvs_87.html#SEC89">Global options</A>, for 
a
-description of how to specify this.  If not set, a
-compiled-in value is used, or your <CODE>$PATH</CODE> is searched.
-
-<A NAME="IDX417"></A>
-<DT><CODE>$HOME</CODE>
-<DD>
-<A NAME="IDX418"></A>
-<DT><CODE>$HOMEPATH</CODE>
-<DD>
-Used to locate the directory where the <TT>`.cvsrc'</TT>
-file is searched (<CODE>$HOMEPATH</CODE> is used for Windows-NT).
-see section <A HREF="cvs_86.html#SEC88">Default options and the ~/.cvsrc 
file</A>
-
-<A NAME="IDX419"></A>
-<DT><CODE>$CVS_RSH</CODE>
-<DD>
-Specifies the external program which CVS connects with,
-when <CODE>:ext:</CODE> access method is specified.
-see section <A HREF="cvs_23.html#SEC25">Connecting with rsh</A>.
-
-<DT><CODE>$CVS_SERVER</CODE>
-<DD>
-Used in client-server mode when accessing a remote
-repository using RSH.  It specifies the name of
-the program to start on the server side when accessing
-a remote repository using RSH.  The default value
-is <CODE>cvs</CODE>.  see section <A HREF="cvs_23.html#SEC25">Connecting with 
rsh</A>
-
-<DT><CODE>$CVS_PASSFILE</CODE>
-<DD>
-Used in client-server mode when accessing the <CODE>cvs
-login server</CODE>.  Default value is <TT>`$HOME/.cvspass'</TT>.
-see section <A HREF="cvs_26.html#SEC28">Using the client with password 
authentication</A>
-
-<DT><CODE>$CVS_PASSWORD</CODE>
-<DD>
-Used in client-server mode when accessing the <CODE>cvs
-login server</CODE>.
-see section <A HREF="cvs_26.html#SEC28">Using the client with password 
authentication</A>
-
-<DT><CODE>$CVS_CLIENT_PORT</CODE>
-<DD>
-Used in client-server mode when accessing the server
-via Kerberos.
-see section <A HREF="cvs_28.html#SEC30">Direct connection with kerberos</A>
-
-<A NAME="IDX420"></A>
-<DT><CODE>$CVS_RCMD_PORT</CODE>
-<DD>
-Used in client-server mode.  If set, specifies the port
-number to be used when accessing the RCMD demon on
-the server side. (Currently not used for Unix clients).
-
-<A NAME="IDX421"></A>
-<DT><CODE>$CVS_CLIENT_LOG</CODE>
-<DD>
-Used for debugging only in client-server
-mode.  If set, everything send to the server is logged
-into <TT>`<CODE>$CVS_CLIENT_LOG</CODE>.in'</TT> and everything
-send from the server is logged into
-<TT>`<CODE>$CVS_CLIENT_LOG</CODE>.out'</TT>.
-
-<A NAME="IDX422"></A>
-<DT><CODE>$CVS_SERVER_SLEEP</CODE>
-<DD>
-Used only for debugging the server side in
-client-server mode.  If set, delays the start of the
-server child process the the specified amount of
-seconds so that you can attach to it with a debugger.
-
-<A NAME="IDX423"></A>
-<DT><CODE>$CVS_IGNORE_REMOTE_ROOT</CODE>
-<DD>
-(What is the purpose of this variable?)
-
-<A NAME="IDX424"></A>
-<DT><CODE>$COMSPEC</CODE>
-<DD>
-Used under OS/2 only.  It specifies the name of the
-command interpreter and defaults to CMD.EXE.
-
-<A NAME="IDX425"></A>
-<DT><CODE>$TMPDIR</CODE>
-<DD>
-<A NAME="IDX426"></A>
-<DT><CODE>$TMP</CODE>
-<DD>
-<A NAME="IDX427"></A>
-<DT><CODE>$TEMP</CODE>
-<DD>
-<A NAME="IDX428"></A>
-Directory in which temporary files are located.  Those
-parts of CVS which are implemented using RCS
-inspect the above variables in the order they appear
-above and the first value found is taken; if none of
-them are set, a host-dependent default is used,
-typically <TT>`/tmp'</TT>.  The CVS server uses
-<CODE>TMPDIR</CODE>.  See section <A HREF="cvs_87.html#SEC89">Global 
options</A>, for a
-description of how to specify this.
-Some parts of CVS will always use <TT>`/tmp'</TT> (via
-the <CODE>tmpnam</CODE> function provided by the system).
-
-On Windows NT, <CODE>TMP</CODE> is used (via the <CODE>_tempnam</CODE>
-function provided by the system).
-
-The <CODE>patch</CODE> program which is used by the CVS
-client uses <CODE>TMPDIR</CODE>, and if it is not set, uses
-<TT>`/tmp'</TT> (at least with GNU patch 2.1).
-</DL>
-
-<P>
-CVS invokes RCS to perform certain
-operations.  The following environment
-variables affect RCS.  Note that if you are using
-the client/server CVS, these variables need to be
-set on the server side (which may or not may be
-possible depending on how you are connecting).  There
-is probably not any need to set any of them, however.
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>$LOGNAME</CODE>
-<DD>
-<A NAME="IDX429"></A>
- 
-<A NAME="IDX430"></A>
-<DT><CODE>$USER</CODE>
-<DD>
-If set, they affect who RCS thinks you are.  If you
-have trouble checking in files it might be because your
-login name differs from the setting of e.g.
-<CODE>$LOGNAME</CODE>.
-
-<A NAME="IDX431"></A>
-<DT><CODE>$RCSINIT</CODE>
-<DD>
-Options prepended to the argument list, separated by
-spaces.  A backslash escapes spaces within an option.
-The <CODE>$RCSINIT</CODE> options are prepended to the
-argument lists of most RCS commands.
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_143.html">previous</A>, 
<A HREF="cvs_145.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_145.html
===================================================================
RCS file: manual/html_node/cvs_145.html
diff -N manual/html_node/cvs_145.html
--- manual/html_node/cvs_145.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,18 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Troubleshooting</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_144.html">previous</A>, 
<A HREF="cvs_146.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC152" HREF="cvs_toc.html#TOC152">Troubleshooting</A></H1>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_144.html">previous</A>, 
<A HREF="cvs_146.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_146.html
===================================================================
RCS file: manual/html_node/cvs_146.html
diff -N manual/html_node/cvs_146.html
--- manual/html_node/cvs_146.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,67 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Magic branch numbers</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_145.html">previous</A>, 
<A HREF="cvs_147.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC153" HREF="cvs_toc.html#TOC153">Magic branch numbers</A></H2>
-
-<P>
-Externally, branch numbers consist of an odd number of
-dot-separated decimal integers.  See section <A 
HREF="cvs_7.html#SEC8">Revision numbers</A>.  That is not the whole truth, 
however.  For
-efficiency reasons CVS sometimes inserts an extra 0
-in the second rightmost position (1.2.3 becomes
-1.2.0.3, 8.9.10.11.12 becomes 8.9.10.11.0.12 and so
-on).
-
-</P>
-<P>
-CVS does a pretty good job at hiding these so
-called magic branches, but in a few places the hiding
-is incomplete:
-
-</P>
-
-<UL>
-<LI>
-
-The magic branch number appears in the output from
-<CODE>cvs log</CODE>.
-
-<LI>
-
-You cannot specify a symbolic branch name to <CODE>cvs
-admin</CODE>.
-
-</UL>
-
-<P>
-You can use the <CODE>admin</CODE> command to reassign a
-symbolic name to a branch the way RCS expects it
-to be.  If <CODE>R4patches</CODE> is assigned to the branch
-1.4.2 (magic branch number 1.4.0.2) in file
-<TT>`numbers.c'</TT> you can do this:
-
-</P>
-
-<PRE>
-$ cvs admin -NR4patches:1.4.2 numbers.c
-</PRE>
-
-<P>
-It only works if at least one revision is already
-committed on the branch.  Be very careful so that you
-do not assign the tag to the wrong number.  (There is
-no way to see how the tag was assigned yesterday).
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_145.html">previous</A>, 
<A HREF="cvs_147.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_147.html
===================================================================
RCS file: manual/html_node/cvs_147.html
diff -N manual/html_node/cvs_147.html
--- manual/html_node/cvs_147.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,18 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Copying</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_146.html">previous</A>, 
<A HREF="cvs_148.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC154" HREF="cvs_toc.html#TOC154">GNU GENERAL PUBLIC 
LICENSE</A></H1>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_146.html">previous</A>, 
<A HREF="cvs_148.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_148.html
===================================================================
RCS file: manual/html_node/cvs_148.html
diff -N manual/html_node/cvs_148.html
--- manual/html_node/cvs_148.html       7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,602 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Index</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_147.html">previous</A>, 
next, last section, <A HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC155" HREF="cvs_toc.html#TOC155">Index</A></H1>
-<P>
-<A NAME="IDX432"></A>
-
-</P>
-<P>
-Jump to:
-<A HREF="#cindex_-">-</A>
--
-<A HREF="#cindex_.">.</A>
--
-<A HREF="#cindex_/">/</A>
--
-<A HREF="#cindex_:">:</A>
--
-<A HREF="#cindex_<">&#60;</A>
--
-<A HREF="#cindex_=">=</A>
--
-<A HREF="#cindex_>">&#62;</A>
--
-<A HREF="#cindex__">_</A>
--
-<A HREF="#cindex_a">a</A>
--
-<A HREF="#cindex_b">b</A>
--
-<A HREF="#cindex_c">c</A>
--
-<A HREF="#cindex_d">d</A>
--
-<A HREF="#cindex_e">e</A>
--
-<A HREF="#cindex_f">f</A>
--
-<A HREF="#cindex_g">g</A>
--
-<A HREF="#cindex_h">h</A>
--
-<A HREF="#cindex_i">i</A>
--
-<A HREF="#cindex_j">j</A>
--
-<A HREF="#cindex_k">k</A>
--
-<A HREF="#cindex_l">l</A>
--
-<A HREF="#cindex_m">m</A>
--
-<A HREF="#cindex_n">n</A>
--
-<A HREF="#cindex_o">o</A>
--
-<A HREF="#cindex_p">p</A>
--
-<A HREF="#cindex_r">r</A>
--
-<A HREF="#cindex_s">s</A>
--
-<A HREF="#cindex_t">t</A>
--
-<A HREF="#cindex_u">u</A>
--
-<A HREF="#cindex_v">v</A>
--
-<A HREF="#cindex_w">w</A>
--
-<A HREF="#cindex_z">z</A>
-<P>
-<H2><A NAME="cindex_-">-</A></H2>
-<DIR>
-<LI><A HREF="cvs_54.html#IDX229">-j (merging branches)</A>
-<LI><A HREF="cvs_79.html#IDX286">-k (RCS kflags)</A>
-</DIR>
-<H2><A NAME="cindex_.">.</A></H2>
-<DIR>
-<LI><A HREF="cvs_127.html#IDX356">.# files</A>
-<LI><A HREF="cvs_15.html#IDX66">.bashrc, setting CVSROOT in</A>
-<LI><A HREF="cvs_15.html#IDX64">.cshrc, setting CVSROOT in</A>
-<LI><A HREF="cvs_86.html#IDX300">.cvsrc file</A>
-<LI><A HREF="cvs_15.html#IDX63">.profile, setting CVSROOT in</A>
-<LI><A HREF="cvs_15.html#IDX65">.tcshrc, setting CVSROOT in</A>
-</DIR>
-<H2><A NAME="cindex_/">/</A></H2>
-<DIR>
-<LI><A HREF="cvs_14.html#IDX60">/usr/local/cvsroot, as example repository</A>
-</DIR>
-<H2><A NAME="cindex_:">:</A></H2>
-<DIR>
-<LI><A HREF="cvs_23.html#IDX101">:ext:</A>
-<LI><A HREF="cvs_28.html#IDX114">:kserver:</A>
-<LI><A HREF="cvs_14.html#IDX62">:local:</A>
-<LI><A HREF="cvs_26.html#IDX110">:pserver:</A>
-<LI><A HREF="cvs_23.html#IDX100">:server:</A>
-</DIR>
-<H2><A NAME="cindex_<">&#60;</A></H2>
-<DIR>
-<LI><A HREF="cvs_38.html#IDX157">&#60;&#60;&#60;&#60;&#60;&#60;&#60;</A>
-</DIR>
-<H2><A NAME="cindex_=">=</A></H2>
-<DIR>
-<LI><A HREF="cvs_38.html#IDX159">=======</A>
-</DIR>
-<H2><A NAME="cindex_>">&#62;</A></H2>
-<DIR>
-<LI><A HREF="cvs_38.html#IDX158">&#62;&#62;&#62;&#62;&#62;&#62;&#62;</A>
-</DIR>
-<H2><A NAME="cindex__">_</A></H2>
-<DIR>
-<LI><A HREF="cvs_127.html#IDX357">__ files (VMS)</A>
-</DIR>
-<H2><A NAME="cindex_a">a</A></H2>
-<DIR>
-<LI><A HREF="cvs_9.html#IDX35">A sample session</A>
-<LI><A HREF="cvs_44.html#IDX185">abandoning work</A>
-<LI><A HREF="cvs_1.html#IDX2">About this manual</A>
-<LI><A HREF="cvs_59.html#IDX244">add (subcommand)</A>
-<LI><A HREF="cvs_49.html#IDX203">Adding a tag</A>
-<LI><A HREF="cvs_59.html#IDX243">Adding files</A>
-<LI><A HREF="cvs_89.html#IDX328">Admin (subcommand)</A>
-<LI><A HREF="cvs_19.html#IDX79">Administrative files (intro)</A>
-<LI><A HREF="cvs_129.html#IDX358">Administrative files (reference)</A>
-<LI><A HREF="cvs_19.html#IDX84">Administrative files, editing them</A>
-<LI><A HREF="cvs_134.html#IDX382">ALL in commitinfo</A>
-<LI><A HREF="cvs_74.html#IDX267">annotate (subcommand)</A>
-<LI><A HREF="cvs_40.html#IDX167">Atomic transactions, lack of</A>
-<LI><A HREF="cvs_26.html#IDX109">authenticated client, using</A>
-<LI><A HREF="cvs_25.html#IDX104">authenticating server, setting up</A>
-<LI><A HREF="cvs_76.html#IDX273">Author keyword</A>
-<LI><A HREF="cvs_141.html#IDX403">Automatically ignored files</A>
-<LI><A HREF="cvs_88.html#IDX327">Avoiding editor invocation</A>
-</DIR>
-<H2><A NAME="cindex_b">b</A></H2>
-<DIR>
-<LI><A HREF="cvs_81.html#IDX288">Binary files</A>
-<LI><A HREF="cvs_54.html#IDX231">Branch merge example</A>
-<LI><A HREF="cvs_7.html#IDX30">Branch number</A>
-<LI><A HREF="cvs_51.html#IDX213">Branch numbers</A>
-<LI><A HREF="cvs_51.html#IDX211">Branch, creating a</A>
-<LI><A HREF="cvs_61.html#IDX254">Branch, vendor-</A>
-<LI><A HREF="cvs_48.html#IDX194">Branches</A>
-<LI><A HREF="cvs_50.html#IDX207">Branches motivation</A>
-<LI><A HREF="cvs_53.html#IDX225">Branches, copying changes between</A>
-<LI><A HREF="cvs_52.html#IDX216">Branches, sticky</A>
-<LI><A HREF="cvs_37.html#IDX146">Bringing a file up to date</A>
-<LI><A HREF="cvs_4.html#IDX7">Bugs, known in this manual</A>
-<LI><A HREF="cvs_4.html#IDX10">Bugs, reporting (manual)</A>
-</DIR>
-<H2><A NAME="cindex_c">c</A></H2>
-<DIR>
-<LI><A HREF="cvs_53.html#IDX226">Changes, copying between branches</A>
-<LI><A HREF="cvs_90.html#IDX329">Changing a log message</A>
-<LI><A HREF="cvs_139.html#IDX394">checked out copy, keeping</A>
-<LI><A HREF="cvs_130.html#IDX365">Checkin program</A>
-<LI><A HREF="cvs_134.html#IDX379">Checking commits</A>
-<LI><A HREF="cvs_10.html#IDX42">Checking out source</A>
-<LI><A HREF="cvs_92.html#IDX340">Checkout (subcommand)</A>
-<LI><A HREF="cvs_130.html#IDX366">Checkout program</A>
-<LI><A HREF="cvs_44.html#IDX181">checkout, as term for getting ready to 
edit</A>
-<LI><A HREF="cvs_10.html#IDX45">Checkout, example</A>
-<LI><A HREF="cvs_47.html#IDX193">choosing, reserved or unreserved checkouts</A>
-<LI><A HREF="cvs_12.html#IDX50">Cleaning up</A>
-<LI><A HREF="cvs_22.html#IDX97">Client/Server Operation</A>
-<LI><A HREF="cvs_92.html#IDX341">Co (subcommand)</A>
-<LI><A HREF="cvs_84.html#IDX293">Command reference</A>
-<LI><A HREF="cvs_85.html#IDX298">Command structure</A>
-<LI><A HREF="cvs_91.html#IDX337">Comment leader</A>
-<LI><A HREF="cvs_95.html#IDX342">Commit (subcommand)</A>
-<LI><A HREF="cvs_132.html#IDX374">Commit files</A>
-<LI><A HREF="cvs_83.html#IDX291">Commit, when to</A>
-<LI><A HREF="cvs_134.html#IDX378">Commitinfo</A>
-<LI><A HREF="cvs_11.html#IDX46">Committing changes</A>
-<LI><A HREF="cvs_88.html#IDX318">Common options</A>
-<LI><A HREF="cvs_133.html#IDX377">Common syntax of info files</A>
-<LI><A HREF="cvs_144.html#IDX424">COMSPEC</A>
-<LI><A HREF="cvs_38.html#IDX156">Conflict markers</A>
-<LI><A HREF="cvs_38.html#IDX161">Conflict resolution</A>
-<LI><A HREF="cvs_38.html#IDX154">Conflicts (merge example)</A>
-<LI><A HREF="cvs_5.html#IDX18">Contributors (CVS program)</A>
-<LI><A HREF="cvs_3.html#IDX5">Contributors (manual)</A>
-<LI><A HREF="cvs_53.html#IDX224">Copying changes</A>
-<LI><A HREF="cvs_90.html#IDX331">Correcting a log message</A>
-<LI><A HREF="cvs_51.html#IDX210">Creating a branch</A>
-<LI><A HREF="cvs_29.html#IDX118">Creating a project</A>
-<LI><A HREF="cvs_21.html#IDX92">Creating a repository</A>
-<LI><A HREF="cvs_5.html#IDX17">Credits (CVS program)</A>
-<LI><A HREF="cvs_3.html#IDX6">Credits (manual)</A>
-<LI><A HREF="cvs_46.html#IDX192">CVS 1.6, and watches</A>
-<LI><A HREF="cvs_85.html#IDX297">CVS command structure</A>
-<LI><A HREF="cvs_25.html#IDX105">CVS passwd file</A>
-<LI><A HREF="cvs_5.html#IDX16">CVS, history of</A>
-<LI><A HREF="cvs_5.html#IDX14">CVS, introduction to</A>
-<LI><A HREF="cvs_144.html#IDX421">CVS_CLIENT_LOG</A>
-<LI><A HREF="cvs_28.html#IDX115">CVS_CLIENT_PORT</A>
-<LI><A HREF="cvs_144.html#IDX423">CVS_IGNORE_REMOTE_ROOT</A>
-<LI><A HREF="cvs_26.html#IDX111">CVS_PASSFILE, environment variable</A>
-<LI><A HREF="cvs_26.html#IDX112">CVS_PASSWORD, environment variable</A>
-<LI><A HREF="cvs_144.html#IDX420">CVS_RCMD_PORT</A>
-<LI><A HREF="cvs_144.html#IDX419">CVS_RSH</A>
-<LI><A HREF="cvs_23.html#IDX99">CVS_SERVER</A>
-<LI><A HREF="cvs_144.html#IDX422">CVS_SERVER_SLEEP</A>
-<LI><A HREF="cvs_144.html#IDX414">CVSEDITOR</A>
-<LI><A HREF="cvs_11.html#IDX48">CVSEDITOR, environment variable</A>
-<LI><A HREF="cvs_144.html#IDX408">CVSIGNORE</A>
-<LI><A HREF="cvs_141.html#IDX399">cvsignore (admin file), global</A>
-<LI><A HREF="cvs_144.html#IDX410">CVSREAD</A>
-<LI><A HREF="cvs_87.html#IDX316">CVSREAD, overriding</A>
-<LI><A HREF="cvs_144.html#IDX412">CVSROOT</A>
-<LI><A HREF="cvs_14.html#IDX61">cvsroot</A>
-<LI><A HREF="cvs_129.html#IDX361">CVSROOT (file)</A>
-<LI><A HREF="cvs_15.html#IDX67">CVSROOT, environment variable</A>
-<LI><A HREF="cvs_19.html#IDX81">CVSROOT, module name</A>
-<LI><A HREF="cvs_20.html#IDX90">CVSROOT, multiple repositories</A>
-<LI><A HREF="cvs_87.html#IDX309">CVSROOT, overriding</A>
-<LI><A HREF="cvs_18.html#IDX75">CVSUMASK</A>
-<LI><A HREF="cvs_144.html#IDX409">CVSWRAPPERS</A>
-<LI><A HREF="cvs_131.html#IDX371">cvswrappers (admin file)</A>
-<LI><A HREF="cvs_131.html#IDX372">CVSWRAPPERS, environment variable</A>
-</DIR>
-<H2><A NAME="cindex_d">d</A></H2>
-<DIR>
-<LI><A HREF="cvs_76.html#IDX274">Date keyword</A>
-<LI><A HREF="cvs_88.html#IDX320">Dates</A>
-<LI><A HREF="cvs_7.html#IDX28">Decimal revision number</A>
-<LI><A HREF="cvs_134.html#IDX381">DEFAULT in commitinfo</A>
-<LI><A HREF="cvs_135.html#IDX387">DEFAULT in editinfo</A>
-<LI><A HREF="cvs_34.html#IDX123">Defining a module</A>
-<LI><A HREF="cvs_19.html#IDX82">Defining modules (intro)</A>
-<LI><A HREF="cvs_130.html#IDX363">Defining modules (reference manual)</A>
-<LI><A HREF="cvs_60.html#IDX247">Deleting files</A>
-<LI><A HREF="cvs_90.html#IDX334">Deleting revisions</A>
-<LI><A HREF="cvs_52.html#IDX219">Deleting sticky tags</A>
-<LI><A HREF="cvs_58.html#IDX241">Descending directories</A>
-<LI><A HREF="cvs_13.html#IDX55">Diff</A>
-<LI><A HREF="cvs_98.html#IDX343">Diff (subcommand)</A>
-<LI><A HREF="cvs_56.html#IDX236">Differences, merging</A>
-<LI><A HREF="cvs_69.html#IDX262">Directories, moving</A>
-<LI><A HREF="cvs_58.html#IDX240">Directory, descending</A>
-<LI><A HREF="cvs_20.html#IDX89">Disjoint repositories</A>
-<LI><A HREF="cvs_137.html#IDX391">Distributing log messages</A>
-<LI><A HREF="cvs_38.html#IDX153">driver.c (merge example)</A>
-</DIR>
-<H2><A NAME="cindex_e">e</A></H2>
-<DIR>
-<LI><A HREF="cvs_44.html#IDX182">edit (subcommand)</A>
-<LI><A HREF="cvs_135.html#IDX383">editinfo (admin file)</A>
-<LI><A HREF="cvs_19.html#IDX83">Editing administrative files</A>
-<LI><A HREF="cvs_34.html#IDX124">Editing the modules file</A>
-<LI><A HREF="cvs_144.html#IDX413">EDITOR</A>
-<LI><A HREF="cvs_88.html#IDX326">Editor, avoiding invocation of</A>
-<LI><A HREF="cvs_11.html#IDX49">EDITOR, environment variable</A>
-<LI><A HREF="cvs_87.html#IDX311">EDITOR, overriding</A>
-<LI><A HREF="cvs_135.html#IDX384">Editor, specifying per module</A>
-<LI><A HREF="cvs_45.html#IDX190">editors (subcommand)</A>
-<LI><A HREF="cvs_38.html#IDX162">emerge</A>
-<LI><A HREF="cvs_144.html#IDX406">Environment variables</A>
-<LI><A HREF="cvs_4.html#IDX11">Errors, reporting (manual)</A>
-<LI><A HREF="cvs_9.html#IDX36">Example of a work-session</A>
-<LI><A HREF="cvs_38.html#IDX152">Example of merge</A>
-<LI><A HREF="cvs_54.html#IDX232">Example, branch merge</A>
-<LI><A HREF="cvs_101.html#IDX344">Export (subcommand)</A>
-<LI><A HREF="cvs_130.html#IDX364">Export program</A>
-</DIR>
-<H2><A NAME="cindex_f">f</A></H2>
-<DIR>
-<LI><A HREF="cvs_10.html#IDX43">Fetching source</A>
-<LI><A HREF="cvs_35.html#IDX129">File locking</A>
-<LI><A HREF="cvs_18.html#IDX72">File permissions</A>
-<LI><A HREF="cvs_36.html#IDX135">File status</A>
-<LI><A HREF="cvs_65.html#IDX259">Files, moving</A>
-<LI><A HREF="cvs_129.html#IDX359">Files, reference manual</A>
-<LI><A HREF="cvs_90.html#IDX332">Fixing a log message</A>
-<LI><A HREF="cvs_88.html#IDX325">Forcing a tag match</A>
-<LI><A HREF="cvs_140.html#IDX396">Form for log message</A>
-<LI><A HREF="cvs_85.html#IDX299">Format of CVS commands</A>
-</DIR>
-<H2><A NAME="cindex_g">g</A></H2>
-<DIR>
-<LI><A HREF="cvs_9.html#IDX37">Getting started</A>
-<LI><A HREF="cvs_10.html#IDX41">Getting the source</A>
-<LI><A HREF="cvs_141.html#IDX400">Global cvsignore</A>
-<LI><A HREF="cvs_87.html#IDX303">Global options</A>
-<LI><A HREF="cvs_18.html#IDX73">Group</A>
-</DIR>
-<H2><A NAME="cindex_h">h</A></H2>
-<DIR>
-<LI><A HREF="cvs_76.html#IDX275">Header keyword</A>
-<LI><A HREF="cvs_103.html#IDX345">History (subcommand)</A>
-<LI><A HREF="cvs_70.html#IDX263">History browsing</A>
-<LI><A HREF="cvs_142.html#IDX404">History file</A>
-<LI><A HREF="cvs_17.html#IDX69">History files</A>
-<LI><A HREF="cvs_5.html#IDX15">History of CVS</A>
-<LI><A HREF="cvs_144.html#IDX417">HOME</A>
-<LI><A HREF="cvs_144.html#IDX418">HOMEPATH</A>
-</DIR>
-<H2><A NAME="cindex_i">i</A></H2>
-<DIR>
-<LI><A HREF="cvs_76.html#IDX276">Id keyword</A>
-<LI><A HREF="cvs_77.html#IDX284">Ident (shell command)</A>
-<LI><A HREF="cvs_75.html#IDX271">Identifying files</A>
-<LI><A HREF="cvs_141.html#IDX402">Ignored files</A>
-<LI><A HREF="cvs_141.html#IDX401">Ignoring files</A>
-<LI><A HREF="cvs_105.html#IDX346">Import (subcommand)</A>
-<LI><A HREF="cvs_31.html#IDX119">Importing files</A>
-<LI><A HREF="cvs_32.html#IDX120">Importing files, from other version control 
systesm</A>
-<LI><A HREF="cvs_62.html#IDX255">Importing modules</A>
-<LI><A HREF="cvs_148.html#IDX432">Index</A>
-<LI><A HREF="cvs_133.html#IDX375">Info files (syntax)</A>
-<LI><A HREF="cvs_39.html#IDX163">Informing others</A>
-<LI><A HREF="cvs_21.html#IDX94">init (subcommand)</A>
-<LI><A HREF="cvs_5.html#IDX13">Introduction to CVS</A>
-<LI><A HREF="cvs_84.html#IDX295">Invoking CVS</A>
-<LI><A HREF="cvs_70.html#IDX265">Isolation</A>
-</DIR>
-<H2><A NAME="cindex_j">j</A></H2>
-<DIR>
-<LI><A HREF="cvs_54.html#IDX230">Join</A>
-</DIR>
-<H2><A NAME="cindex_k">k</A></H2>
-<DIR>
-<LI><A HREF="cvs_139.html#IDX393">keeping a checked out copy</A>
-<LI><A HREF="cvs_28.html#IDX113">kerberos</A>
-<LI><A HREF="cvs_75.html#IDX270">Keyword expansion</A>
-<LI><A HREF="cvs_75.html#IDX269">Keyword substitution</A>
-<LI><A HREF="cvs_79.html#IDX287">Kflag</A>
-<LI><A HREF="cvs_28.html#IDX116">kinit</A>
-<LI><A HREF="cvs_4.html#IDX8">Known bugs in this manual</A>
-</DIR>
-<H2><A NAME="cindex_l">l</A></H2>
-<DIR>
-<LI><A HREF="cvs_14.html#IDX58">Layout of repository</A>
-<LI><A HREF="cvs_87.html#IDX304">Left-hand options</A>
-<LI><A HREF="cvs_7.html#IDX26">Linear development</A>
-<LI><A HREF="cvs_5.html#IDX21">List, mailing list</A>
-<LI><A HREF="cvs_36.html#IDX139">Locally Added</A>
-<LI><A HREF="cvs_36.html#IDX138">Locally Modified</A>
-<LI><A HREF="cvs_36.html#IDX140">Locally Removed</A>
-<LI><A HREF="cvs_76.html#IDX278">Locker keyword</A>
-<LI><A HREF="cvs_35.html#IDX130">Locking files</A>
-<LI><A HREF="cvs_40.html#IDX166">locks, cvs</A>
-<LI><A HREF="cvs_109.html#IDX347">Log (subcommand)</A>
-<LI><A HREF="cvs_142.html#IDX405">Log information, saving</A>
-<LI><A HREF="cvs_76.html#IDX279">Log keyword</A>
-<LI><A HREF="cvs_91.html#IDX338">Log keyword, selecting comment leader</A>
-<LI><A HREF="cvs_11.html#IDX47">Log message entry</A>
-<LI><A HREF="cvs_140.html#IDX397">Log message template</A>
-<LI><A HREF="cvs_90.html#IDX333">Log message, correcting</A>
-<LI><A HREF="cvs_137.html#IDX392">Log messages</A>
-<LI><A HREF="cvs_135.html#IDX386">Log messages, editing</A>
-<LI><A HREF="cvs_26.html#IDX107">Login (subcommand)</A>
-<LI><A HREF="cvs_137.html#IDX388">loginfo (admin file)</A>
-<LI><A HREF="cvs_144.html#IDX429">LOGNAME</A>
-</DIR>
-<H2><A NAME="cindex_m">m</A></H2>
-<DIR>
-<LI><A HREF="cvs_39.html#IDX165">Mail, automatic mail on commit</A>
-<LI><A HREF="cvs_5.html#IDX20">Mailing list</A>
-<LI><A HREF="cvs_137.html#IDX390">Mailing log messages</A>
-<LI><A HREF="cvs_7.html#IDX29">Main trunk (intro)</A>
-<LI><A HREF="cvs_48.html#IDX195">Main trunk and branches</A>
-<LI><A HREF="cvs_20.html#IDX87">Many repositories</A>
-<LI><A HREF="cvs_38.html#IDX155">Markers, conflict</A>
-<LI><A HREF="cvs_38.html#IDX151">Merge, an example</A>
-<LI><A HREF="cvs_54.html#IDX233">Merge, branch example</A>
-<LI><A HREF="cvs_53.html#IDX223">Merging</A>
-<LI><A HREF="cvs_54.html#IDX228">Merging a branch</A>
-<LI><A HREF="cvs_37.html#IDX148">Merging a file</A>
-<LI><A HREF="cvs_56.html#IDX234">Merging two revisions</A>
-<LI><A HREF="cvs_53.html#IDX227">Modifications, copying between branches</A>
-<LI><A HREF="cvs_130.html#IDX368">Module status</A>
-<LI><A HREF="cvs_34.html#IDX125">Module, defining</A>
-<LI><A HREF="cvs_130.html#IDX362">Modules (admin file)</A>
-<LI><A HREF="cvs_6.html#IDX23">Modules (intro)</A>
-<LI><A HREF="cvs_19.html#IDX80">Modules file</A>
-<LI><A HREF="cvs_34.html#IDX126">Modules file, changing</A>
-<LI><A HREF="cvs_50.html#IDX209">Motivation for branches</A>
-<LI><A HREF="cvs_69.html#IDX260">Moving directories</A>
-<LI><A HREF="cvs_65.html#IDX257">Moving files</A>
-<LI><A HREF="cvs_35.html#IDX127">Multiple developers</A>
-<LI><A HREF="cvs_20.html#IDX85">Multiple repositories</A>
-</DIR>
-<H2><A NAME="cindex_n">n</A></H2>
-<DIR>
-<LI><A HREF="cvs_76.html#IDX277">Name keyword</A>
-<LI><A HREF="cvs_49.html#IDX202">Name, symbolic (tag)</A>
-<LI><A HREF="cvs_36.html#IDX141">Needs Checkout</A>
-<LI><A HREF="cvs_36.html#IDX143">Needs Merge</A>
-<LI><A HREF="cvs_36.html#IDX142">Needs Patch</A>
-<LI><A HREF="cvs_5.html#IDX22">Newsgroups</A>
-<LI><A HREF="cvs_43.html#IDX179">notify (admin file)</A>
-<LI><A HREF="cvs_91.html#IDX339">Nroff (selecting comment leader)</A>
-<LI><A HREF="cvs_7.html#IDX31">Number, branch</A>
-<LI><A HREF="cvs_7.html#IDX27">Number, revision-</A>
-</DIR>
-<H2><A NAME="cindex_o">o</A></H2>
-<DIR>
-<LI><A HREF="cvs_86.html#IDX301">option defaults</A>
-<LI><A HREF="cvs_87.html#IDX302">Options, global</A>
-<LI><A HREF="cvs_90.html#IDX335">Outdating revisions</A>
-<LI><A HREF="cvs_37.html#IDX150">Overlap</A>
-<LI><A HREF="cvs_87.html#IDX317">Overriding CVSREAD</A>
-<LI><A HREF="cvs_87.html#IDX310">Overriding CVSROOT</A>
-<LI><A HREF="cvs_87.html#IDX312">Overriding EDITOR</A>
-<LI><A HREF="cvs_87.html#IDX306">Overriding RCSBIN</A>
-<LI><A HREF="cvs_87.html#IDX308">Overriding TMPDIR</A>
-</DIR>
-<H2><A NAME="cindex_p">p</A></H2>
-<DIR>
-<LI><A HREF="cvs_20.html#IDX88">Parallel repositories</A>
-<LI><A HREF="cvs_25.html#IDX106">passwd (admin file)</A>
-<LI><A HREF="cvs_26.html#IDX108">password client, using</A>
-<LI><A HREF="cvs_25.html#IDX103">password server, setting up</A>
-<LI><A HREF="cvs_144.html#IDX415">PATH</A>
-<LI><A HREF="cvs_135.html#IDX385">Per-module editor</A>
-<LI><A HREF="cvs_83.html#IDX292">Policy</A>
-<LI><A HREF="cvs_134.html#IDX380">Precommit checking</A>
-<LI><A HREF="cvs_1.html#IDX1">Preface</A>
-<LI><A HREF="cvs_25.html#IDX102">Pserver (subcommand)</A>
-</DIR>
-<H2><A NAME="cindex_r">r</A></H2>
-<DIR>
-<LI><A HREF="cvs_17.html#IDX70">RCS history files</A>
-<LI><A HREF="cvs_76.html#IDX272">RCS keywords</A>
-<LI><A HREF="cvs_49.html#IDX198">RCS revision numbers</A>
-<LI><A HREF="cvs_32.html#IDX121">RCS, importing files from</A>
-<LI><A HREF="cvs_35.html#IDX134">RCS-style locking</A>
-<LI><A HREF="cvs_144.html#IDX416">RCSBIN</A>
-<LI><A HREF="cvs_87.html#IDX305">RCSBIN, overriding</A>
-<LI><A HREF="cvs_76.html#IDX280">RCSfile keyword</A>
-<LI><A HREF="cvs_140.html#IDX395">rcsinfo (admin file)</A>
-<LI><A HREF="cvs_144.html#IDX431">RCSINIT</A>
-<LI><A HREF="cvs_112.html#IDX350">Rdiff (subcommand)</A>
-<LI><A HREF="cvs_87.html#IDX314">read-only files, and -r</A>
-<LI><A HREF="cvs_144.html#IDX411">read-only files, and CVSREAD</A>
-<LI><A HREF="cvs_42.html#IDX172">read-only files, and watches</A>
-<LI><A HREF="cvs_18.html#IDX74">read-only files, in repository</A>
-<LI><A HREF="cvs_87.html#IDX313">Read-only mode</A>
-<LI><A HREF="cvs_58.html#IDX239">Recursive (directory descending)</A>
-<LI><A HREF="cvs_129.html#IDX360">Reference manual (files)</A>
-<LI><A HREF="cvs_144.html#IDX407">Reference manual for variables</A>
-<LI><A HREF="cvs_84.html#IDX294">Reference, commands</A>
-<LI><A HREF="cvs_115.html#IDX351">Release (subcommand)</A>
-<LI><A HREF="cvs_8.html#IDX34">Releases, revisions and versions</A>
-<LI><A HREF="cvs_12.html#IDX53">Releasing your working copy</A>
-<LI><A HREF="cvs_22.html#IDX96">Remote repositories</A>
-<LI><A HREF="cvs_60.html#IDX248">Remove (subcommand)</A>
-<LI><A HREF="cvs_56.html#IDX238">Removing a change</A>
-<LI><A HREF="cvs_60.html#IDX246">Removing files</A>
-<LI><A HREF="cvs_12.html#IDX52">Removing your working copy</A>
-<LI><A HREF="cvs_69.html#IDX261">Renaming directories</A>
-<LI><A HREF="cvs_65.html#IDX258">Renaming files</A>
-<LI><A HREF="cvs_90.html#IDX330">Replacing a log message</A>
-<LI><A HREF="cvs_4.html#IDX9">Reporting bugs (manual)</A>
-<LI><A HREF="cvs_20.html#IDX86">Repositories, multiple</A>
-<LI><A HREF="cvs_22.html#IDX95">Repositories, remote</A>
-<LI><A HREF="cvs_14.html#IDX56">Repository (intro)</A>
-<LI><A HREF="cvs_14.html#IDX57">Repository, example</A>
-<LI><A HREF="cvs_16.html#IDX68">Repository, how data is stored</A>
-<LI><A HREF="cvs_21.html#IDX91">Repository, setting up</A>
-<LI><A HREF="cvs_35.html#IDX132">reserved checkouts</A>
-<LI><A HREF="cvs_52.html#IDX217">Resetting sticky tags</A>
-<LI><A HREF="cvs_38.html#IDX160">Resolving a conflict</A>
-<LI><A HREF="cvs_52.html#IDX221">Restoring old version of removed file</A>
-<LI><A HREF="cvs_52.html#IDX222">Resurrecting old version of dead file</A>
-<LI><A HREF="cvs_49.html#IDX205">Retrieving an old revision using tags</A>
-<LI><A HREF="cvs_44.html#IDX186">reverting to repository version</A>
-<LI><A HREF="cvs_76.html#IDX281">Revision keyword</A>
-<LI><A HREF="cvs_82.html#IDX289">Revision management</A>
-<LI><A HREF="cvs_7.html#IDX24">Revision numbers</A>
-<LI><A HREF="cvs_7.html#IDX25">Revision tree</A>
-<LI><A HREF="cvs_48.html#IDX196">Revision tree, making branches</A>
-<LI><A HREF="cvs_56.html#IDX235">Revisions, merging differences between</A>
-<LI><A HREF="cvs_8.html#IDX32">Revisions, versions and releases</A>
-<LI><A HREF="cvs_88.html#IDX319">Right-hand options</A>
-<LI><A HREF="cvs_23.html#IDX98">rsh</A>
-<LI><A HREF="cvs_119.html#IDX352">Rtag (subcommand)</A>
-<LI><A HREF="cvs_51.html#IDX212">rtag, creating a branch using</A>
-</DIR>
-<H2><A NAME="cindex_s">s</A></H2>
-<DIR>
-<LI><A HREF="cvs_90.html#IDX336">Saving space</A>
-<LI><A HREF="cvs_32.html#IDX122">SCCS, importing files from</A>
-<LI><A HREF="cvs_18.html#IDX71">Security</A>
-<LI><A HREF="cvs_18.html#IDX78">setgid</A>
-<LI><A HREF="cvs_21.html#IDX93">Setting up a repository</A>
-<LI><A HREF="cvs_18.html#IDX77">setuid</A>
-<LI><A HREF="cvs_1.html#IDX3">Signum Support</A>
-<LI><A HREF="cvs_76.html#IDX282">Source keyword</A>
-<LI><A HREF="cvs_5.html#IDX19">Source, getting CVS source</A>
-<LI><A HREF="cvs_10.html#IDX44">Source, getting from CVS</A>
-<LI><A HREF="cvs_88.html#IDX322">Specifying dates</A>
-<LI><A HREF="cvs_39.html#IDX164">Spreading information</A>
-<LI><A HREF="cvs_29.html#IDX117">Starting a project with CVS</A>
-<LI><A HREF="cvs_76.html#IDX283">State keyword</A>
-<LI><A HREF="cvs_121.html#IDX353">Status (subcommand)</A>
-<LI><A HREF="cvs_36.html#IDX136">Status of a file</A>
-<LI><A HREF="cvs_130.html#IDX367">Status of a module</A>
-<LI><A HREF="cvs_52.html#IDX220">sticky date</A>
-<LI><A HREF="cvs_52.html#IDX214">Sticky tags</A>
-<LI><A HREF="cvs_52.html#IDX218">Sticky tags, resetting</A>
-<LI><A HREF="cvs_137.html#IDX389">Storing log messages</A>
-<LI><A HREF="cvs_85.html#IDX296">Structure</A>
-<LI><A HREF="cvs_58.html#IDX242">Subdirectories</A>
-<LI><A HREF="cvs_1.html#IDX4">Support, getting CVS support</A>
-<LI><A HREF="cvs_49.html#IDX201">Symbolic name (tag)</A>
-<LI><A HREF="cvs_133.html#IDX376">Syntax of info files</A>
-</DIR>
-<H2><A NAME="cindex_t">t</A></H2>
-<DIR>
-<LI><A HREF="cvs_123.html#IDX354">Tag (subcommand)</A>
-<LI><A HREF="cvs_130.html#IDX369">Tag program</A>
-<LI><A HREF="cvs_49.html#IDX199">tag, command, introduction</A>
-<LI><A HREF="cvs_49.html#IDX204">tag, example</A>
-<LI><A HREF="cvs_49.html#IDX206">Tag, retrieving old revisions</A>
-<LI><A HREF="cvs_49.html#IDX200">Tag, symbolic name</A>
-<LI><A HREF="cvs_73.html#IDX266">taginfo</A>
-<LI><A HREF="cvs_49.html#IDX197">Tags</A>
-<LI><A HREF="cvs_52.html#IDX215">Tags, sticky</A>
-<LI><A HREF="cvs_9.html#IDX39">tc, Trivial Compiler (example)</A>
-<LI><A HREF="cvs_35.html#IDX128">Team of developers</A>
-<LI><A HREF="cvs_144.html#IDX427">TEMP</A>
-<LI><A HREF="cvs_140.html#IDX398">Template for log message</A>
-<LI><A HREF="cvs_144.html#IDX428">temporary files, location of</A>
-<LI><A HREF="cvs_61.html#IDX250">Third-party sources</A>
-<LI><A HREF="cvs_88.html#IDX321">Time</A>
-<LI><A HREF="cvs_88.html#IDX323">timezone, in input</A>
-<LI><A HREF="cvs_109.html#IDX348">timezone, in output</A>
-<LI><A HREF="cvs_144.html#IDX426">TMP</A>
-<LI><A HREF="cvs_144.html#IDX425">TMPDIR</A>
-<LI><A HREF="cvs_87.html#IDX307">TMPDIR, overriding</A>
-<LI><A HREF="cvs_87.html#IDX315">Trace</A>
-<LI><A HREF="cvs_70.html#IDX264">Traceability</A>
-<LI><A HREF="cvs_61.html#IDX251">Tracking sources</A>
-<LI><A HREF="cvs_40.html#IDX168">Transactions, atomic, lack of</A>
-<LI><A HREF="cvs_9.html#IDX40">Trivial Compiler (example)</A>
-<LI><A HREF="cvs_14.html#IDX59">Typical repository</A>
-</DIR>
-<H2><A NAME="cindex_u">u</A></H2>
-<DIR>
-<LI><A HREF="cvs_18.html#IDX76">umask, for repository files</A>
-<LI><A HREF="cvs_56.html#IDX237">Undoing a change</A>
-<LI><A HREF="cvs_44.html#IDX184">unedit (subcommand)</A>
-<LI><A HREF="cvs_36.html#IDX145">Unknown</A>
-<LI><A HREF="cvs_35.html#IDX133">unreserved checkouts</A>
-<LI><A HREF="cvs_36.html#IDX144">Unresolved Conflict</A>
-<LI><A HREF="cvs_36.html#IDX137">Up-to-date</A>
-<LI><A HREF="cvs_125.html#IDX355">Update (subcommand)</A>
-<LI><A HREF="cvs_130.html#IDX370">Update program</A>
-<LI><A HREF="cvs_37.html#IDX149">update, introduction</A>
-<LI><A HREF="cvs_37.html#IDX147">Updating a file</A>
-<LI><A HREF="cvs_144.html#IDX430">USER</A>
-<LI><A HREF="cvs_43.html#IDX180">users (admin file)</A>
-</DIR>
-<H2><A NAME="cindex_v">v</A></H2>
-<DIR>
-<LI><A HREF="cvs_61.html#IDX252">Vendor</A>
-<LI><A HREF="cvs_61.html#IDX253">Vendor branch</A>
-<LI><A HREF="cvs_8.html#IDX33">Versions, revisions and releases</A>
-<LI><A HREF="cvs_13.html#IDX54">Viewing differences</A>
-</DIR>
-<H2><A NAME="cindex_w">w</A></H2>
-<DIR>
-<LI><A HREF="cvs_43.html#IDX175">watch add (subcommand)</A>
-<LI><A HREF="cvs_42.html#IDX173">watch off (subcommand)</A>
-<LI><A HREF="cvs_42.html#IDX170">watch on (subcommand)</A>
-<LI><A HREF="cvs_43.html#IDX177">watch remove (subcommand)</A>
-<LI><A HREF="cvs_45.html#IDX188">watchers (subcommand)</A>
-<LI><A HREF="cvs_41.html#IDX169">Watches</A>
-<LI><A HREF="cvs_62.html#IDX256">Wdiff (import example)</A>
-<LI><A HREF="cvs_77.html#IDX285">What (shell command)</A>
-<LI><A HREF="cvs_50.html#IDX208">What branches are good for</A>
-<LI><A HREF="cvs_5.html#IDX12">What is CVS?</A>
-<LI><A HREF="cvs_83.html#IDX290">When to commit</A>
-<LI><A HREF="cvs_9.html#IDX38">Work-session, example of</A>
-<LI><A HREF="cvs_35.html#IDX131">Working copy</A>
-<LI><A HREF="cvs_12.html#IDX51">Working copy, removing</A>
-<LI><A HREF="cvs_131.html#IDX373">Wrappers</A>
-</DIR>
-<H2><A NAME="cindex_z">z</A></H2>
-<DIR>
-<LI><A HREF="cvs_88.html#IDX324">zone, time, in input</A>
-<LI><A HREF="cvs_109.html#IDX349">zone, time, in output</A>
-</DIR>
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_147.html">previous</A>, 
next, last section, <A HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_15.html
===================================================================
RCS file: manual/html_node/cvs_15.html
diff -N manual/html_node/cvs_15.html
--- manual/html_node/cvs_15.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,79 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Specifying a repository</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_14.html">previous</A>, 
<A HREF="cvs_16.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC16" HREF="cvs_toc.html#TOC16">Telling CVS where your 
repository is</A></H2>
-
-<P>
-There are a couple of different ways to tell CVS
-where to find the repository.  You can name the
-repository on the command line explicitly, with the
-<CODE>-d</CODE> (for "directory") option:
-
-</P>
-
-<PRE>
-cvs -d /usr/local/cvsroot checkout yoyodyne/tc
-</PRE>
-
-<P>
-<A NAME="IDX63"></A>
-<A NAME="IDX64"></A>
-<A NAME="IDX65"></A>
-<A NAME="IDX66"></A>
-<A NAME="IDX67"></A>
-        Or you can set the <CODE>$CVSROOT</CODE> environment
-variable to an absolute path to the root of the
-repository, <TT>`/usr/local/cvsroot'</TT> in this example.
-To set <CODE>$CVSROOT</CODE>, all <CODE>csh</CODE> and <CODE>tcsh</CODE>
-users should have this line in their <TT>`.cshrc'</TT> or
-<TT>`.tcshrc'</TT> files:
-
-</P>
-
-<PRE>
-setenv CVSROOT /usr/local/cvsroot
-</PRE>
-
-<P>
-<CODE>sh</CODE> and <CODE>bash</CODE> users should instead have these lines in 
their
-<TT>`.profile'</TT> or <TT>`.bashrc'</TT>:
-
-</P>
-
-<PRE>
-CVSROOT=/usr/local/cvsroot
-export CVSROOT
-</PRE>
-
-<P>
-        A repository specified with <CODE>-d</CODE> will
-override the <CODE>$CVSROOT</CODE> environment variable.
-Once you've checked a working copy out from the
-repository, it will remember where its repository is
-(the information is recorded in the
-<TT>`CVS/Root'</TT> file in the working copy).  
-
-</P>
-<P>
-The <CODE>-d</CODE> option and the <TT>`CVS/Root'</TT> file both
-override the <CODE>$CVSROOT</CODE> environment variable.  If
-<CODE>-d</CODE> option differs from <TT>`CVS/Root'</TT>, the
-former is used (and specifying <CODE>-d</CODE> will cause
-<TT>`CVS/Root'</TT> to be updated).  Of course, for proper
-operation they should be two ways of referring to the
-same repository.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_14.html">previous</A>, 
<A HREF="cvs_16.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_16.html
===================================================================
RCS file: manual/html_node/cvs_16.html
diff -N manual/html_node/cvs_16.html
--- manual/html_node/cvs_16.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Repository storage</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_15.html">previous</A>, 
<A HREF="cvs_17.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC17" HREF="cvs_toc.html#TOC17">How data is stored in the 
repository</A></H2>
-<P>
-<A NAME="IDX68"></A>
-
-</P>
-<P>
-For most purposes it isn't important <EM>how</EM>
-CVS stores information in the repository.  In
-fact, the format has changed in the past, and is likely
-to change in the future.  Since in almost all cases one
-accesses the repository via CVS commands; such
-changes need not be disruptive.
-
-</P>
-<P>
-However, in some cases it may be necessary to
-understand how CVS stores data in the repository,
-for example you might need to track down CVS locks
-(see section <A HREF="cvs_40.html#SEC42">Several developers simultaneously 
attempting to run CVS</A>) or you might need to deal with
-the file permissions appropriate for the repository.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_15.html">previous</A>, 
<A HREF="cvs_17.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_17.html
===================================================================
RCS file: manual/html_node/cvs_17.html
diff -N manual/html_node/cvs_17.html
--- manual/html_node/cvs_17.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,107 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Repository files</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_16.html">previous</A>, 
<A HREF="cvs_18.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC18" HREF="cvs_toc.html#TOC18">Where files are stored within 
the repository</A></H3>
-
-<P>
-The overall structure of the repository is a directory
-tree corresponding to the directories in the working
-directory.  For example, supposing the repository is in
-<TT>`/usr/local/cvsroot'</TT>, here is a possible directory
-tree (showing only the directories):
-
-</P>
-
-<PRE>
-<TT>/usr</TT>
- |
- +--<TT>local</TT>
- |   |
- |   +--<TT>cvsroot</TT>
- |   |    | 
- |   |    +--<TT>CVSROOT</TT>
-          |      (administrative files) 
-          | 
-          +--<TT>gnu</TT>
-          |   | 
-          |   +--<TT>diff</TT>
-          |   |   (source code to GNU diff) 
-          |   | 
-          |   +--<TT>rcs</TT>
-          |   |   (source code to RCS)
-          |   | 
-          |   +--<TT>cvs</TT>
-          |       (source code to CVS) 
-          | 
-          +--<TT>yoyodyne</TT>
-              | 
-              +--<TT>tc</TT>
-              |    |
-              |    +--<TT>man</TT>
-              |    |
-              |    +--<TT>testing</TT>
-              | 
-              +--(other Yoyodyne software)
-</PRE>
-
-<P>
-With the directories are <EM>history files</EM> for each file
-under version control.  The name of the history file is
-the name of the corresponding file with <SAMP>`,v'</SAMP>
-appended to the end.  Here is what the repository for
-the <TT>`yoyodyne/tc'</TT> directory might look like:
-
-</P>
-
-<PRE>
-  <CODE>$CVSROOT</CODE>
-    |
-    +--<TT>yoyodyne</TT>
-    |   |
-    |   +--<TT>tc</TT>
-    |   |   |
-            +--<TT>Makefile,v</TT>
-            +--<TT>backend.c,v</TT>
-            +--<TT>driver.c,v</TT>
-            +--<TT>frontend.c,v</TT>
-            +--<TT>parser.c,v</TT>
-            +--<TT>man</TT>
-            |    |
-            |    +--<TT>tc.1,v</TT>
-            |     
-            +--<TT>testing</TT>
-                 |
-                 +--<TT>testpgm.t,v</TT>
-                 +--<TT>test2.t,v</TT>
-</PRE>
-
-<P>
-<A NAME="IDX69"></A>
-<A NAME="IDX70"></A>
-The history files contain, among other things, enough
-information to recreate any revision of the file, a log
-of all commit messages and the user-name of the person
-who committed the revision.  The history files are
-known as <EM>RCS files</EM>, because the first program to
-store files in that format was a version control system
-known as RCS.  For a full
-description of the file format, see the <CODE>man</CODE> page
-<CITE>rcsfile(5)</CITE>, distributed with RCS.  This
-file format has become very common--many systems other
-than CVS or RCS can at least import history
-files in this format.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_16.html">previous</A>, 
<A HREF="cvs_18.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_18.html
===================================================================
RCS file: manual/html_node/cvs_18.html
diff -N manual/html_node/cvs_18.html
--- manual/html_node/cvs_18.html        7 Feb 2007 02:36:43 -0000       1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,78 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - File permissions</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_17.html">previous</A>, 
<A HREF="cvs_19.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC19" HREF="cvs_toc.html#TOC19">File permissions</A></H3>
-<P>
-<A NAME="IDX71"></A>
-<A NAME="IDX72"></A>
-<A NAME="IDX73"></A>
-<A NAME="IDX74"></A>
-All <SAMP>`,v'</SAMP> files are created read-only, and you
-should not change the permission of those files.  The
-directories inside the repository should be writable by
-the persons that have permission to modify the files in
-each directory.  This normally means that you must
-create a Unix group (see group(5)) consisting of the
-persons that are to edit the files in a project, and
-set up the repository so that it is that group that
-owns the directory.
-
-</P>
-<P>
-This means that you can only control access to files on
-a per-directory basis.
-
-</P>
-<P>
-Note that users must also have write access to check
-out files, because CVS needs to create lock files
-(see section <A HREF="cvs_40.html#SEC42">Several developers simultaneously 
attempting to run CVS</A>).
-
-</P>
-<P>
-Also note that users must have write access to the
-<TT>`CVSROOT/val-tags'</TT> file.  CVS uses it to keep
-track of what tags are valid tag names (it is sometimes
-updated when tags are used, as well as when they are
-created, though).
-
-</P>
-<P>
-<A NAME="IDX75"></A>
-<A NAME="IDX76"></A>
-CVS tries to set up reasonable file permissions
-for new directories that are added inside the tree, but
-you must fix the permissions manually when a new
-directory should have different permissions than its
-parent directory.  If you set the <CODE>CVSUMASK</CODE>
-environment variable that will control the file
-permissions which CVS uses in creating directories
-and/or files in the repository.  <CODE>CVSUMASK</CODE> does
-not affect the file permissions in the working
-directory; such files have the permissions which are
-typical for newly created files, except that sometimes
-CVS creates them read-only (see the sections on
-watches, section <A HREF="cvs_42.html#SEC44">Telling CVS to watch certain 
files</A>; -r, section <A HREF="cvs_87.html#SEC89">Global options</A>; or 
CVSREAD, section <A HREF="cvs_144.html#SEC151">All environment variables which 
affect CVS</A>).
-
-</P>
-<P>
-<A NAME="IDX77"></A>
-<A NAME="IDX78"></A>
-Since CVS was not written to be run setuid, it is
-unsafe to try to run it setuid.  You cannot use the
-setuid features of RCS together with CVS.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_17.html">previous</A>, 
<A HREF="cvs_19.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_19.html
===================================================================
RCS file: manual/html_node/cvs_19.html
diff -N manual/html_node/cvs_19.html
--- manual/html_node/cvs_19.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,88 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Intro administrative files</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_18.html">previous</A>, 
<A HREF="cvs_20.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC20" HREF="cvs_toc.html#TOC20">The administrative files</A></H2>
-<P>
-<A NAME="IDX79"></A>
-<A NAME="IDX80"></A>
-<A NAME="IDX81"></A>
-<A NAME="IDX82"></A>
-
-</P>
-
-<P>
-The directory <TT>`$CVSROOT/CVSROOT'</TT> contains some <EM>administrative
-files</EM>.  See section <A HREF="cvs_129.html#SEC136">Reference manual for 
the Administrative files</A>, for a complete description.
-You can use CVS without any of these files, but
-some commands work better when at least the
-<TT>`modules'</TT> file is properly set up.
-
-</P>
-<P>
-The most important of these files is the <TT>`modules'</TT>
-file.  It defines all modules in the repository.  This
-is a sample <TT>`modules'</TT> file.
-
-</P>
-
-<PRE>
-CVSROOT         CVSROOT
-modules         CVSROOT modules
-cvs             gnu/cvs
-rcs             gnu/rcs
-diff            gnu/diff
-tc              yoyodyne/tc
-</PRE>
-
-<P>
-The <TT>`modules'</TT> file is line oriented.  In its
-simplest form each line contains the name of the
-module, whitespace, and the directory where the module
-resides.  The directory is a path relative to
-<CODE>$CVSROOT</CODE>.  The last four lines in the example
-above are examples of such lines.
-
-</P>
-
-<P>
-The line that defines the module called <SAMP>`modules'</SAMP>
-uses features that are not explained here.
-See section <A HREF="cvs_130.html#SEC137">The modules file</A>, for a full 
explanation of all the
-available features.
-
-</P>
-
-
-<H3><A NAME="SEC21" HREF="cvs_toc.html#TOC21">Editing administrative 
files</A></H3>
-<P>
-<A NAME="IDX83"></A>
-<A NAME="IDX84"></A>
-
-</P>
-<P>
-You edit the administrative files in the same way that you would edit
-any other module.  Use <SAMP>`cvs checkout CVSROOT'</SAMP> to get a working
-copy, edit it, and commit your changes in the normal way.
-
-</P>
-<P>
-It is possible to commit an erroneous administrative
-file.  You can often fix the error and check in a new
-revision, but sometimes a particularly bad error in the
-administrative file makes it impossible to commit new
-revisions.  
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_18.html">previous</A>, 
<A HREF="cvs_20.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_2.html
===================================================================
RCS file: manual/html_node/cvs_2.html
diff -N manual/html_node/cvs_2.html
--- manual/html_node/cvs_2.html 7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,51 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Checklist</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_1.html">previous</A>, 
<A HREF="cvs_3.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC2" HREF="cvs_toc.html#TOC2">Checklist for the impatient 
reader</A></H2>
-
-<P>
-CVS is a complex system.  You will need to read
-the manual to be able to use all of its capabilities.
-There are dangers that can easily be avoided if you
-know about them, and this manual tries to warn you
-about them.  This checklist is intended to help you
-avoid the dangers without reading the entire manual.
-If you intend to read the entire manual you can skip
-this table.
-
-</P>
-<DL COMPACT>
-
-<DT>Binary files
-<DD>
-CVS can handle binary files, but
-you must have RCS release 5.5 or later and
-a release of GNU diff that supports the <SAMP>`-a'</SAMP>
-flag (release 1.15 and later are OK).  You must also
-configure both RCS and CVS to handle binary
-files when you install them.
-
-Keword substitution can be a source of trouble with
-binary files. See section <A HREF="cvs_75.html#SEC77">Keyword 
substitution</A>, for
-solutions.
-
-<DT>The <CODE>admin</CODE> command
-<DD>
-Careless use of the <CODE>admin</CODE> command can cause
-CVS to cease working.  See section <A 
HREF="cvs_89.html#SEC91">admin--Administration front end for rcs</A>, before 
trying
-to use it.
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_1.html">previous</A>, 
<A HREF="cvs_3.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_20.html
===================================================================
RCS file: manual/html_node/cvs_20.html
diff -N manual/html_node/cvs_20.html
--- manual/html_node/cvs_20.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,56 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Multiple repositories</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_19.html">previous</A>, 
<A HREF="cvs_21.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC22" HREF="cvs_toc.html#TOC22">Multiple repositories</A></H2>
-<P>
-<A NAME="IDX85"></A>
-<A NAME="IDX86"></A>
-<A NAME="IDX87"></A>
-<A NAME="IDX88"></A>
-<A NAME="IDX89"></A>
-<A NAME="IDX90"></A>
-
-</P>
-<P>
-In some situations it is a good idea to have more than
-one repository, for instance if you have two
-development groups that work on separate projects
-without sharing any code.  All you have to do to have
-several repositories is to specify the appropriate
-repository, using the <CODE>CVSROOT</CODE> environment
-variable, the <SAMP>`-d'</SAMP> option to CVS, or (once
-you have checked out a working directory) by simply
-allowing CVS to use the repository that was used
-to check out the working directory
-(see section <A HREF="cvs_15.html#SEC16">Telling CVS where your repository 
is</A>).
-
-</P>
-<P>
-The big advantage of having multiple repositories is
-that they can reside on different servers.  The big
-disadvantage is that you cannot have a single CVS
-command recurse into directories which comes from
-different repositories.  Generally speaking, if you are
-thinking of setting up several repositories on the same
-machine, you might want to consider using several
-directories within the same repository.
-
-</P>
-<P>
-None of the examples in this manual show multiple
-repositories.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_19.html">previous</A>, 
<A HREF="cvs_21.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_21.html
===================================================================
RCS file: manual/html_node/cvs_21.html
diff -N manual/html_node/cvs_21.html
--- manual/html_node/cvs_21.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,63 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Creating a repository</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_20.html">previous</A>, 
<A HREF="cvs_22.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC23" HREF="cvs_toc.html#TOC23">Creating a repository</A></H2>
-
-<P>
-<A NAME="IDX91"></A>
-<A NAME="IDX92"></A>
-<A NAME="IDX93"></A>
-
-</P>
-<P>
-To set up a CVS repository, choose a directory
-with ample disk space available for the revision
-history of the source files.  It should be accessable
-(directly or via a networked file system) from all
-machines which want to use CVS in server or local
-mode; the client machines need not have any access to
-it other than via the CVS protocol.  It is not
-possible to use CVS to read from a repository
-which one only has read access to; CVS needs to be
-able to create lock files (see section <A HREF="cvs_40.html#SEC42">Several 
developers simultaneously attempting to run CVS</A>).
-
-</P>
-<P>
-<A NAME="IDX94"></A>
-To create a repository, run the <CODE>cvs init</CODE>
-command.  It will set up an empty repository in the
-CVS root specified in the usual way
-(see section <A HREF="cvs_14.html#SEC15">The Repository</A>).  For example,
-
-</P>
-
-<PRE>
-cvs -d /usr/local/cvsroot init
-</PRE>
-
-<P>
-<CODE>cvs init</CODE> is careful to never overwrite any
-existing files in the repository, so no harm is done if
-you run <CODE>cvs init</CODE> on an already set-up
-repository.
-
-</P>
-<P>
-<CODE>cvs init</CODE> will enable history logging; if you
-don't want that, remove the history file after running
-<CODE>cvs init</CODE>.  See section <A HREF="cvs_142.html#SEC149">The history 
file</A>.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_20.html">previous</A>, 
<A HREF="cvs_22.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_22.html
===================================================================
RCS file: manual/html_node/cvs_22.html
diff -N manual/html_node/cvs_22.html
--- manual/html_node/cvs_22.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,48 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Remote repositories</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_21.html">previous</A>, 
<A HREF="cvs_23.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC24" HREF="cvs_toc.html#TOC24">Remote repositories</A></H2>
-<P>
-<A NAME="IDX95"></A>
-<A NAME="IDX96"></A>
-<A NAME="IDX97"></A>
-
-</P>
-<P>
-        Your working copy of the sources can be on a
-different machine than the repository.  Generally,
-using a remote repository is just like using a local
-one, except that the format of the repository name is:
-
-</P>
-
-<PRE>
-:<VAR>method</VAR>:<VAR>user</VAR>@<VAR>hostname</VAR>:/path/to/repository
-</PRE>
-
-<P>
-The details of exactly what needs to be set up depend
-on how you are connecting to the server.
-
-</P>
-<P>
-If <VAR>method</VAR> is not specified, and the repository
-name contains <SAMP>`:'</SAMP>, then the default is <CODE>ext</CODE>
-or <CODE>server</CODE>, depending on your platform; both are
-described in section <A HREF="cvs_23.html#SEC25">Connecting with rsh</A>.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_21.html">previous</A>, 
<A HREF="cvs_23.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_23.html
===================================================================
RCS file: manual/html_node/cvs_23.html
diff -N manual/html_node/cvs_23.html
--- manual/html_node/cvs_23.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,111 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Connecting via rsh</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_22.html">previous</A>, 
<A HREF="cvs_24.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC25" HREF="cvs_toc.html#TOC25">Connecting with rsh</A></H3>
-
-<P>
-<A NAME="IDX98"></A>
-CVS uses the <TT>`rsh'</TT> protocol to perform these
-operations, so the remote user host needs to have a
-<TT>`.rhosts'</TT> file which grants access to the local
-user.
-
-</P>
-<P>
-For example, suppose you are the user <TT>`mozart'</TT> on
-the local machine <TT>`anklet.grunge.com'</TT>, and the
-server machine is <TT>`chainsaw.brickyard.com'</TT>.  On
-chainsaw, put the following line into the file
-<TT>`.rhosts'</TT> in <TT>`bach'</TT>'s home directory:
-
-</P>
-
-<PRE>
-anklet.grunge.com  mozart
-</PRE>
-
-<P>
-Then test that <CODE>rsh</CODE> is working with
-
-</P>
-
-<PRE>
-rsh -l bach chainsaw.brickyard.com 'echo $PATH'
-</PRE>
-
-<P>
-<A NAME="IDX99"></A>
-Next you have to make sure that <CODE>rsh</CODE> will be able
-to find the server.  Make sure that the path which
-<CODE>rsh</CODE> printed in the above example includes the
-directory containing a program named <CODE>cvs</CODE> which
-is the server.  You need to set the path in
-<TT>`.bashrc'</TT>, <TT>`.cshrc'</TT>, etc., not <TT>`.login'</TT>
-or <TT>`.profile'</TT>.  Alternately, you can set the
-environment variable <CODE>CVS_SERVER</CODE> on the client
-machine to the filename of the server you want to use,
-for example <TT>`/usr/local/bin/cvs-1.6'</TT>.
-
-</P>
-<P>
-There is no need to edit <CODE>inetd.conf</CODE> or start a
-CVS server daemon.
-
-</P>
-<P>
-<A NAME="IDX100"></A>
-<A NAME="IDX101"></A>
-There are two access methods that you use in CVSROOT
-for rsh.  <CODE>:server:</CODE> specifies an internal rsh
-client, which is supported only by some CVS ports.
-<CODE>:ext:</CODE> specifies an external rsh program.  By
-default this is <CODE>rsh</CODE> but you may set the
-<CODE>CVS_RSH</CODE> environment variable to invoke another
-program which can access the remote server (for
-example, <CODE>remsh</CODE> on HP-UX 9 because <CODE>rsh</CODE> is
-something different).  It must be a program which can
-transmit data to and from the server without modifying
-it; for example the Windows NT <CODE>rsh</CODE> is not
-suitable since it by default translates between CRLF
-and LF.  The OS/2 CVS port has a hack to pass <SAMP>`-b'</SAMP>
-to <CODE>rsh</CODE> to get around this, but since this could
-potentially cause programs for programs other than the
-standard <CODE>rsh</CODE>, it may change in the future.  If
-you set <CODE>CVS_RSH</CODE> to <CODE>SSH</CODE> or some other rsh
-replacement, the instructions in the rest of this
-section concerning <TT>`.rhosts'</TT> and so on are likely
-to be incorrect; consult the documentation for your rsh
-replacement.
-
-</P>
-<P>
-Continuing our example, supposing you want to access
-the module <TT>`foo'</TT> in the repository
-<TT>`/usr/local/cvsroot/'</TT>, on machine
-<TT>`chainsaw.brickyard.com'</TT>, you are ready to go:
-
-</P>
-
-<PRE>
-cvs -d :ext:address@hidden:/usr/local/cvsroot checkout foo
-</PRE>
-
-<P>
-(The <TT>`bach@'</TT> can be omitted if the username is
-the same on both the local and remote hosts.)
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_22.html">previous</A>, 
<A HREF="cvs_24.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_24.html
===================================================================
RCS file: manual/html_node/cvs_24.html
diff -N manual/html_node/cvs_24.html
--- manual/html_node/cvs_24.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,32 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Password authenticated</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_23.html">previous</A>, 
<A HREF="cvs_25.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC26" HREF="cvs_toc.html#TOC26">Direct connection with password 
authentication</A></H3>
-
-<P>
-The CVS client can also connect to the server
-using a password protocol.  This is particularly useful
-if using <CODE>rsh</CODE> is not feasible (for example,
-the server is behind a firewall), and Kerberos also is
-not available.
-
-</P>
-<P>
-        To use this method, it is necessary to make
-some adjustments on both the server and client sides.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_23.html">previous</A>, 
<A HREF="cvs_25.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_25.html
===================================================================
RCS file: manual/html_node/cvs_25.html
diff -N manual/html_node/cvs_25.html
--- manual/html_node/cvs_25.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,123 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Password authentication server</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_24.html">previous</A>, 
<A HREF="cvs_26.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H4><A NAME="SEC27" HREF="cvs_toc.html#TOC27">Setting up the server for 
password authentication</A></H4>
-
-<P>
-<A NAME="IDX102"></A>
-<A NAME="IDX103"></A>
-<A NAME="IDX104"></A>
-On the server side, the file <TT>`/etc/inetd.conf'</TT>
-needs to be edited so <CODE>inetd</CODE> knows to run the
-command <CODE>cvs pserver</CODE> when it receives a
-connection on the right port.  By default, the port
-number is 2401; it would be different if your client
-were compiled with <CODE>CVS_AUTH_PORT</CODE> defined to
-something else, though.
-
-</P>
-<P>
-        If your <CODE>inetd</CODE> allows raw port numbers in
-<TT>`/etc/inetd.conf'</TT>, then the following (all on a
-single line in <TT>`inetd.conf'</TT>) should be sufficient:
-
-</P>
-
-<PRE>
-2401  stream  tcp  nowait  root  /usr/local/bin/cvs
-cvs -b /usr/local/bin pserver
-</PRE>
-
-<P>
-The <SAMP>`-b'</SAMP> option specifies the directory which contains
-the RCS binaries on the server.  You could also use the
-<SAMP>`-T'</SAMP> option to specify a temporary directory.
-
-</P>
-<P>
-        If your <CODE>inetd</CODE> wants a symbolic service
-name instead of a raw port number, then put this in
-<TT>`/etc/services'</TT>:
-
-</P>
-
-<PRE>
-cvspserver      2401/tcp
-</PRE>
-
-<P>
-        and put <CODE>cvspserver</CODE> instead of
-<CODE>2401</CODE> in <TT>`inetd.conf'</TT>.
-
-</P>
-<P>
-        Once the above is taken care of, restart your
-<CODE>inetd</CODE>, or do whatever is necessary to force it
-to reread its initialization files.
-
-</P>
-
-<P>
-<A NAME="IDX105"></A>
-<A NAME="IDX106"></A>
-Because the client stores and transmits passwords in
-cleartext (almost--see section <A HREF="cvs_27.html#SEC29">Security 
considerations with password authentication</A> for details), a separate CVS 
password
-file may be used, so people don't compromise their
-regular passwords when they access the repository.
-This file is <TT>`$CVSROOT/CVSROOT/passwd'</TT>
-(see section <A HREF="cvs_19.html#SEC20">The administrative files</A>).  Its 
format is
-similar to <TT>`/etc/passwd'</TT>, except that it only has
-two fields, username and password.  For example:
-
-</P>
-
-<PRE>
-bach:ULtgRLXo7NRxs
-cwang:1sOp854gDF3DY
-</PRE>
-
-<P>
-The password is encrypted according to the standard
-Unix <CODE>crypt()</CODE> function, so it is possible to
-paste in passwords directly from regular Unix
-<TT>`passwd'</TT> files.
-
-</P>
-<P>
-When authenticating a password, the server first checks
-for the user in the CVS <TT>`passwd'</TT> file.  If it
-finds the user, it compares against that password.  If
-it does not find the user, or if the CVS
-<TT>`passwd'</TT> file does not exist, then the server
-tries to match the password using the system's
-user-lookup routine.  When using the CVS
-<TT>`passwd'</TT> file, the server runs under as the
-username specified in the the third argument in the
-entry, or as the first argument if there is no third
-argument (in this way CVS allows imaginary
-usernames provided the CVS <TT>`passwd'</TT> file
-indicates corresponding valid system usernames).  In
-any case, CVS will have no privileges which the
-(valid) user would not have.
-
-</P>
-<P>
-Right now, the only way to put a password in the
-CVS <TT>`passwd'</TT> file is to paste it there from
-somewhere else.  Someday, there may be a <CODE>cvs
-passwd</CODE> command.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_24.html">previous</A>, 
<A HREF="cvs_26.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_26.html
===================================================================
RCS file: manual/html_node/cvs_26.html
diff -N manual/html_node/cvs_26.html
--- manual/html_node/cvs_26.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,99 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Password authentication client</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_25.html">previous</A>, 
<A HREF="cvs_27.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H4><A NAME="SEC28" HREF="cvs_toc.html#TOC28">Using the client with password 
authentication</A></H4>
-<P>
-<A NAME="IDX107"></A>
-<A NAME="IDX108"></A>
-<A NAME="IDX109"></A>
-<A NAME="IDX110"></A>
-Before connecting to the server, the client must <EM>log
-in</EM> with the command <CODE>cvs login</CODE>.  Logging in
-verifies a password with the server, and also records
-the password for later transactions with the server.
-The <CODE>cvs login</CODE> command needs to know the
-username, server hostname, and full repository path,
-and it gets this information from the repository
-argument or the <CODE>CVSROOT</CODE> environment variable.
-
-</P>
-<P>
-<CODE>cvs login</CODE> is interactive -- it prompts for a
-password:
-
-</P>
-
-<PRE>
-cvs -d :pserver:address@hidden:/usr/local/cvsroot login 
-CVS password: 
-</PRE>
-
-<P>
-The password is checked with the server; if it is
-correct, the <CODE>login</CODE> succeeds, else it fails,
-complaining that the password was incorrect.
-
-</P>
-<P>
-Once you have logged in, you can force CVS to
-connect directly to the server and authenticate with
-the stored password:
-
-</P>
-
-<PRE>
-cvs -d :pserver:address@hidden:/usr/local/cvsroot checkout foo
-</PRE>
-
-<P>
-The <SAMP>`:pserver:'</SAMP> is necessary because without it,
-CVS will assume it should use <CODE>rsh</CODE> to
-connect with the server (see section <A HREF="cvs_23.html#SEC25">Connecting 
with rsh</A>).
-(Once you have a working copy checked out and are
-running CVS commands from within it, there is no
-longer any need to specify the repository explicitly,
-because CVS records it in the working copy's
-<TT>`CVS'</TT> subdirectory.)
-
-</P>
-<P>
-<A NAME="IDX111"></A>
-Passwords are stored by default in the file
-<TT>`$HOME/.cvspass'</TT>.  Its format is human-readable,
-but don't edit it unless you know what you are doing.
-The passwords are not stored in cleartext, but are
-trivially encoded to protect them from "innocent"
-compromise (i.e., inadvertently being seen by a system
-administrator who happens to look at that file).
-
-</P>
-<P>
-The <CODE>CVS_PASSFILE</CODE> environment variable overrides
-this default.  If you use this variable, make sure you
-set it <EM>before</EM> <CODE>cvs login</CODE> is run.  If you
-were to set it after running <CODE>cvs login</CODE>, then
-later CVS commands would be unable to look up the
-password for transmission to the server.
-
-</P>
-<P>
-<A NAME="IDX112"></A>
-The <CODE>CVS_PASSWORD</CODE> environment variable overrides
-<EM>all</EM> stored passwords.  If it is set, CVS
-will use it for all password-authenticated
-connections.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_25.html">previous</A>, 
<A HREF="cvs_27.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_27.html
===================================================================
RCS file: manual/html_node/cvs_27.html
diff -N manual/html_node/cvs_27.html
--- manual/html_node/cvs_27.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,51 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Password authentication 
security</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_26.html">previous</A>, 
<A HREF="cvs_28.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H4><A NAME="SEC29" HREF="cvs_toc.html#TOC29">Security considerations with 
password authentication</A></H4>
-
-<P>
-The passwords are stored on the client side in a
-trivial encoding of the cleartext, and transmitted in
-the same encoding.  The encoding is done only to
-prevent inadvertent password compromises (i.e., a
-system administrator accidentally looking at the file),
-and will not prevent even a naive attacker from gaining
-the password.
-
-</P>
-<P>
-The separate CVS password file (see section <A 
HREF="cvs_25.html#SEC27">Setting up the server for password authentication</A>) 
allows people
-to use a different password for repository access than
-for login access.  On the other hand, once a user has
-access to the repository, she can execute programs on
-the server system through a variety of means.  Thus, repository
-access implies fairly broad system access as well.  It
-might be possible to modify CVS to prevent that,
-but no one has done so as of this writing.
-Furthermore, there may be other ways in which having
-access to CVS allows people to gain more general
-access to the system; noone has done a careful audit.
-
-</P>
-<P>
-In summary, anyone who gets the password gets
-repository access, and some measure of general system
-access as well.  The password is available to anyone
-who can sniff network packets or read a protected
-(i.e., user read-only) file.  If you want real
-security, get Kerberos.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_26.html">previous</A>, 
<A HREF="cvs_28.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_28.html
===================================================================
RCS file: manual/html_node/cvs_28.html
diff -N manual/html_node/cvs_28.html
--- manual/html_node/cvs_28.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,71 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Kerberos authenticated</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_27.html">previous</A>, 
<A HREF="cvs_29.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC30" HREF="cvs_toc.html#TOC30">Direct connection with 
kerberos</A></H3>
-
-<P>
-<A NAME="IDX113"></A>
-<A NAME="IDX114"></A>
-The main disadvantage of using rsh is that all the data
-needs to pass through additional programs, so it may be
-slower.  So if you have kerberos installed you can
-connect via a direct TCP connection,
-authenticating with kerberos.
-
-</P>
-<P>
-To do this, CVS needs to be compiled with kerberos
-support; when configuring CVS it tries to detect
-whether kerberos is present or you can use the
-<TT>`--with-krb4'</TT> flag to configure.
-
-</P>
-<P>
-The data transmitted is <EM>not</EM> encrypted by
-default.  Encryption support must be compiled into both
-the client and server; use the
-<TT>`--enable-encryption'</TT> configure option to turn it
-on.  You must then use the <CODE>-x</CODE> global option to
-request encryption.
-
-</P>
-<P>
-<A NAME="IDX115"></A>
-You need to edit <CODE>inetd.conf</CODE> on the server
-machine to run <CODE>cvs kserver</CODE>.  The client uses
-port 1999 by default; if you want to use another port
-specify it in the <CODE>CVS_CLIENT_PORT</CODE> environment
-variable on the client.
-
-</P>
-<P>
-<A NAME="IDX116"></A>
-When you want to use CVS, get a ticket in the
-usual way (generally <CODE>kinit</CODE>); it must be a ticket
-which allows you to log into the server machine.  Then
-you are ready to go:
-
-</P>
-
-<PRE>
-cvs -d :kserver:chainsaw.brickyard.com:/user/local/cvsroot checkout foo
-</PRE>
-
-<P>
-Previous versions of CVS would fall back to a
-connection via rsh; this version will not do so.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_27.html">previous</A>, 
<A HREF="cvs_29.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_29.html
===================================================================
RCS file: manual/html_node/cvs_29.html
diff -N manual/html_node/cvs_29.html
--- manual/html_node/cvs_29.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,38 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Starting a new project</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_28.html">previous</A>, 
<A HREF="cvs_30.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC31" HREF="cvs_toc.html#TOC31">Starting a project with 
CVS</A></H1>
-<P>
-<A NAME="IDX117"></A>
-<A NAME="IDX118"></A>
-
-</P>
-<P>
-Because renaming files and moving them between
-directories is somewhat inconvenient, the first thing
-you do when you start a new project should be to think
-through your file organization.  It is not impossible
-to rename or move files, but it does increase the
-potential for confusion and CVS does have some
-quirks particularly in the area of renaming
-directories.  See section <A HREF="cvs_65.html#SEC67">Moving and renaming 
files</A>.
-
-</P>
-<P>
-What to do next depends on the situation at hand.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_28.html">previous</A>, 
<A HREF="cvs_30.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_3.html
===================================================================
RCS file: manual/html_node/cvs_3.html
diff -N manual/html_node/cvs_3.html
--- manual/html_node/cvs_3.html 7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,61 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Credits</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_2.html">previous</A>, 
<A HREF="cvs_4.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC3" HREF="cvs_toc.html#TOC3">Credits</A></H2>
-
-<P>
-<A NAME="IDX5"></A>
-<A NAME="IDX6"></A>
-Roland Pesch, Cygnus Support &#60;<TT>address@hidden</TT>&#62;
-wrote the manual pages which were distributed with
-CVS 1.3.  Appendix A and B contain much text that
-was extracted from them.  He also read an early draft
-of this manual and contributed many ideas and
-corrections.
-
-</P>
-<P>
-The mailing-list <CODE>info-cvs</CODE> is sometimes
-informative. I have included information from postings
-made by the following persons:
-David G. Grubbs &#60;<TT>address@hidden</TT>&#62;.
-
-</P>
-<P>
-Some text has been extracted from the man pages for
-RCS.
-
-</P>
-<P>
-The CVS FAQ by David G. Grubbs has provided
-useful material.  The FAQ is no longer maintained,
-however, and this manual about the closest thing there
-is to a successor (with respect to documenting how to
-use CVS, at least).
-
-</P>
-<P>
-In addition, the following persons have helped by
-telling me about mistakes I've made:
-Roxanne Brunskill &#60;<TT>address@hidden</TT>&#62;,
-Kathy Dyer &#60;<TT>address@hidden</TT>&#62;,
-Karl Pingle &#60;<TT>address@hidden</TT>&#62;,
-Thomas A Peterson &#60;<TT>address@hidden</TT>&#62;,
-Inge Wallin &#60;<TT>address@hidden</TT>&#62;,
-Dirk Koschuetzki &#60;<TT>address@hidden</TT>&#62;
-and Michael Brown &#60;<TT>address@hidden</TT>&#62;.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_2.html">previous</A>, 
<A HREF="cvs_4.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_30.html
===================================================================
RCS file: manual/html_node/cvs_30.html
diff -N manual/html_node/cvs_30.html
--- manual/html_node/cvs_30.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,24 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Setting up the files</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_29.html">previous</A>, 
<A HREF="cvs_31.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC32" HREF="cvs_toc.html#TOC32">Setting up the files</A></H2>
-
-<P>
-The first step is to create the files inside the repository.  This can
-be done in a couple of different ways.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_29.html">previous</A>, 
<A HREF="cvs_31.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_31.html
===================================================================
RCS file: manual/html_node/cvs_31.html
diff -N manual/html_node/cvs_31.html
--- manual/html_node/cvs_31.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,88 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - From files</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_30.html">previous</A>, 
<A HREF="cvs_32.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC33" HREF="cvs_toc.html#TOC33">Creating a directory tree from a 
number of files</A></H3>
-<P>
-<A NAME="IDX119"></A>
-
-</P>
-<P>
-When you begin using CVS, you will probably already have several
-projects that can be
-put under CVS control.  In these cases the easiest way is to use the
-<CODE>import</CODE> command.  An example is probably the easiest way to
-explain how to use it.  If the files you want to install in
-CVS reside in <TT>`<VAR>wdir</VAR>'</TT>, and you want them to appear in the
-repository as <TT>`$CVSROOT/yoyodyne/<VAR>rdir</VAR>'</TT>, you can do this:
-
-</P>
-
-<PRE>
-$ cd <VAR>wdir</VAR>
-$ cvs import -m "Imported sources" yoyodyne/<VAR>rdir</VAR> yoyo start
-</PRE>
-
-<P>
-Unless you supply a log message with the <SAMP>`-m'</SAMP>
-flag, CVS starts an editor and prompts for a
-message.  The string <SAMP>`yoyo'</SAMP> is a <EM>vendor tag</EM>,
-and <SAMP>`start'</SAMP> is a <EM>release tag</EM>.  They may fill
-no purpose in this context, but since CVS requires
-them they must be present.  See section <A HREF="cvs_61.html#SEC63">Tracking 
third-party sources</A>, for
-more information about them.
-
-</P>
-<P>
-You can now verify that it worked, and remove your
-original source directory.
-
-</P>
-
-<PRE>
-$ cd ..
-$ mv <VAR>dir</VAR> <VAR>dir</VAR>.orig
-$ cvs checkout yoyodyne/<VAR>dir</VAR>       # Explanation below
-$ ls -R yoyodyne
-$ rm -r <VAR>dir</VAR>.orig
-</PRE>
-
-<P>
-Erasing the original sources is a good idea, to make sure that you do
-not accidentally edit them in <VAR>dir</VAR>, bypassing CVS.
-Of course, it would be wise to make sure that you have
-a backup of the sources before you remove them.
-
-</P>
-<P>
-The <CODE>checkout</CODE> command can either take a module
-name as argument (as it has done in all previous
-examples) or a path name relative to <CODE>$CVSROOT</CODE>,
-as it did in the example above.
-
-</P>
-<P>
-It is a good idea to check that the permissions
-CVS sets on the directories inside <SAMP>`$CVSROOT'</SAMP>
-are reasonable, and that they belong to the proper
-groups.  See section <A HREF="cvs_18.html#SEC19">File permissions</A>.
-
-</P>
-<P>
-If some of the files you want to import are binary, you
-may want to use the wrappers features to specify which
-files are binary and which are not.  See section <A 
HREF="cvs_131.html#SEC138">The cvswrappers file</A>.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_30.html">previous</A>, 
<A HREF="cvs_32.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_32.html
===================================================================
RCS file: manual/html_node/cvs_32.html
diff -N manual/html_node/cvs_32.html
--- manual/html_node/cvs_32.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,74 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - From other version control 
systems</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_31.html">previous</A>, 
<A HREF="cvs_33.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC34" HREF="cvs_toc.html#TOC34">Creating Files From Other 
Version Control Systems</A></H3>
-<P>
-<A NAME="IDX120"></A>
-
-</P>
-<P>
-If you have a project which you are maintaining with
-another version control system, such as RCS, you
-may wish to put the files from that project into
-CVS, and preserve the revision history of the
-files.
-
-</P>
-<DL COMPACT>
-
-<DT>From RCS
-<DD>
-<A NAME="IDX121"></A>
- 
-If you have been using RCS, find the RCS
-files--usually a file named <TT>`foo.c'</TT> will have its
-RCS file in <TT>`RCS/foo.c,v'</TT> (but it could be
-other places; consult the RCS documentation for
-details).  Then create the appropriate directories in
-CVS if they do not already exist.  Then copy the
-files into the appropriate directories in the CVS
-repository (the name in the repository must be the name
-of the source file with <SAMP>`,v'</SAMP> added; the files go
-directly in the appopriate directory of the repository,
-not in an <TT>`RCS'</TT> subdirectory).  This is one of the
-few times when it is a good idea to access the CVS
-repository directly, rather than using CVS
-commands.  Then you are ready to check out a new
-working directory.
-
-The RCS file should not be locked when you move it
-into CVS; if it is, CVS will have trouble
-letting you operate on it.
-
-<DT>From another version control system
-<DD>
-Many version control systems have the ability to export
-RCS files in the standard format.  If yours does,
-export the RCS files and then follow the above
-instructions.
-
-<A NAME="IDX122"></A>
-<DT>From SCCS
-<DD>
-There is a script in the <TT>`contrib'</TT> directory of
-the CVS source distribution called <TT>`sccs2rcs'</TT>
-which converts SCCS files to RCS files.
-Note: you must run it on a machine which has both
-SCCS and RCS installed, and like everything
-else in contrib it is unsupported (your mileage may
-vary).
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_31.html">previous</A>, 
<A HREF="cvs_33.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_33.html
===================================================================
RCS file: manual/html_node/cvs_33.html
diff -N manual/html_node/cvs_33.html
--- manual/html_node/cvs_33.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,52 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - From scratch</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_32.html">previous</A>, 
<A HREF="cvs_34.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC35" HREF="cvs_toc.html#TOC35">Creating a directory tree from 
scratch</A></H3>
-
-<P>
-For a new project, the easiest thing to do is probably
-to create an empty directory structure, like this:
-
-</P>
-
-<PRE>
-$ mkdir tc
-$ mkdir tc/man
-$ mkdir tc/testing
-</PRE>
-
-<P>
-After that, you use the <CODE>import</CODE> command to create
-the corresponding (empty) directory structure inside
-the repository:
-
-</P>
-
-<PRE>
-$ cd tc
-$ cvs import -m "Created directory structure" yoyodyne/<VAR>dir</VAR> yoyo 
start
-</PRE>
-
-<P>
-Then, use <CODE>add</CODE> to add files (and new directories)
-as they appear.
-
-</P>
-<P>
-Check that the permissions CVS sets on the
-directories inside <SAMP>`$CVSROOT'</SAMP> are reasonable.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_32.html">previous</A>, 
<A HREF="cvs_34.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_34.html
===================================================================
RCS file: manual/html_node/cvs_34.html
diff -N manual/html_node/cvs_34.html
--- manual/html_node/cvs_34.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,79 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Defining the module</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_33.html">previous</A>, 
<A HREF="cvs_35.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC36" HREF="cvs_toc.html#TOC36">Defining the module</A></H2>
-<P>
-<A NAME="IDX123"></A>
-<A NAME="IDX124"></A>
-<A NAME="IDX125"></A>
-<A NAME="IDX126"></A>
-
-</P>
-<P>
-The next step is to define the module in the
-<TT>`modules'</TT> file.  This is not strictly necessary,
-but modules can be convenient in grouping together
-related files and directories.
-
-</P>
-<P>
-In simple cases these steps are sufficient to define a module.
-
-</P>
-
-<OL>
-<LI>
-
-Get a working copy of the modules file.
-
-
-<PRE>
-$ cvs checkout CVSROOT/modules
-$ cd CVSROOT
-</PRE>
-
-<LI>
-
-Edit the file and insert a line that defines the module.  See section <A 
HREF="cvs_19.html#SEC20">The administrative files</A>, for an introduction.  
See section <A HREF="cvs_130.html#SEC137">The modules file</A>, for a full
-description of the modules file.  You can use the
-following line to define the module <SAMP>`tc'</SAMP>:
-
-
-<PRE>
-tc   yoyodyne/tc
-</PRE>
-
-<LI>
-
-Commit your changes to the modules file.
-
-
-<PRE>
-$ cvs commit -m "Added the tc module." modules
-</PRE>
-
-<LI>
-
-Release the modules module.
-
-
-<PRE>
-$ cd ..
-$ cvs release -d CVSROOT
-</PRE>
-
-</OL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_33.html">previous</A>, 
<A HREF="cvs_35.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_35.html
===================================================================
RCS file: manual/html_node/cvs_35.html
diff -N manual/html_node/cvs_35.html
--- manual/html_node/cvs_35.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,71 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Multiple developers</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_34.html">previous</A>, 
<A HREF="cvs_36.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC37" HREF="cvs_toc.html#TOC37">Multiple developers</A></H1>
-<P>
-<A NAME="IDX127"></A>
-<A NAME="IDX128"></A>
-<A NAME="IDX129"></A>
-<A NAME="IDX130"></A>
-<A NAME="IDX131"></A>
-<A NAME="IDX132"></A>
-<A NAME="IDX133"></A>
-<A NAME="IDX134"></A>
-
-</P>
-<P>
-When more than one person works on a software project
-things often get complicated.  Often, two people try to
-edit the same file simultaneously.  One solution, known
-as <EM>file locking</EM> or <EM>reserved checkouts</EM>, is
-to allow only one person to edit each file at a time.
-This is the only solution with some version control
-systems, including RCS and SCCS.  CVS
-doesn't have a very nice implementation of reserved
-checkouts (yet) but there are ways to get it working
-(for example, see the <CODE>cvs admin -l</CODE> command in
-section <A HREF="cvs_90.html#SEC92">admin options</A>).  It also may be 
possible to use
-the watches features described below, together with
-suitable procedures (not enforced by software), to
-avoid having two people edit at the same time.
-
-</P>
-<P>
-The default model with CVS is known as
-<EM>unreserved checkouts</EM>.  In this model, developers
-can edit their own <EM>working copy</EM> of a file
-simultaneously.  The first person that commits his
-changes has no automatic way of knowing that another
-has started to edit it.  Others will get an error
-message when they try to commit the file.  They must
-then use CVS commands to bring their working copy
-up to date with the repository revision.  This process
-is almost automatic.
-
-</P>
-<P>
-CVS also supports mechanisms which facilitate
-various kinds of communcation, without actually
-enforcing rules like reserved checkouts do.
-
-</P>
-<P>
-The rest of this chapter describes how these various
-models work, and some of the issues involved in
-choosing between them.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_34.html">previous</A>, 
<A HREF="cvs_36.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_36.html
===================================================================
RCS file: manual/html_node/cvs_36.html
diff -N manual/html_node/cvs_36.html
--- manual/html_node/cvs_36.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,110 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - File status</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_35.html">previous</A>, 
<A HREF="cvs_37.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC38" HREF="cvs_toc.html#TOC38">File status</A></H2>
-<P>
-<A NAME="IDX135"></A>
-<A NAME="IDX136"></A>
-
-</P>
-<P>
-Based on what operations you have performed on a
-checked out file, and what operations others have
-performed to that file in the repository, one can
-classify a file in a number of states.  The states, as
-reported by the <CODE>status</CODE> command, are:
-
-</P>
-<DL COMPACT>
-
-<DT>Up-to-date
-<DD>
-<A NAME="IDX137"></A>
- 
-The file is identical with the latest revision in the
-repository for the branch in use.
-
-<DT>Locally Modified
-<DD>
-<A NAME="IDX138"></A>
-You have edited the file, and not yet committed your changes.
-
-<DT>Locally Added
-<DD>
-<A NAME="IDX139"></A>
-You have added the file with <CODE>add</CODE>, and not yet
-committed your changes.
-
-<DT>Locally Removed
-<DD>
-<A NAME="IDX140"></A>
-You have removed the file with <CODE>remove</CODE>, and not yet
-committed your changes.
-
-<DT>Needs Checkout
-<DD>
-<A NAME="IDX141"></A>
-Someone else has committed a newer revision to the
-repository.  The name is slightly misleading; you will
-ordinarily use <CODE>update</CODE> rather than
-<CODE>checkout</CODE> to get that newer revision.
-
-<DT>Needs Patch
-<DD>
-<A NAME="IDX142"></A>
-Like Needs Checkout, but the CVS server will send
-a patch rather than the entire file.  Sending a patch or
-sending an entire file accomplishes the same thing.
-
-<DT>Needs Merge
-<DD>
-<A NAME="IDX143"></A>
-Someone else has committed a newer revision to the repository, and you
-have also made modifications to the file.
-
-<DT>Unresolved Conflict
-<DD>
-<A NAME="IDX144"></A>
-This is like Locally Modified, except that a previous
-<CODE>update</CODE> command gave a conflict.  You need to
-resolve the conflict as described in section <A 
HREF="cvs_38.html#SEC40">Conflicts example</A>.
-
-<DT>Unknown
-<DD>
-<A NAME="IDX145"></A>
-CVS doesn't know anything about this file.  For
-example, you have created a new file and have not run
-<CODE>add</CODE>.
-
-</DL>
-
-<P>
-To help clarify the file status, <CODE>status</CODE> also
-reports the <CODE>Working revision</CODE> which is the
-revision that the file in the working directory derives
-from, and the <CODE>Repository revision</CODE> which is the
-latest revision in the repository for the branch in
-use.
-
-</P>
-<P>
-For information on the options to <CODE>status</CODE>, see
-section <A HREF="cvs_121.html#SEC128">status--Display status information on 
checked out files</A>.  For information on its <CODE>Sticky tag</CODE>
-and <CODE>Sticky date</CODE> output, see section <A 
HREF="cvs_52.html#SEC54">Sticky tags</A>.
-For information on its <CODE>Sticky options</CODE> output,
-see the <SAMP>`-k'</SAMP> option in section <A 
HREF="cvs_126.html#SEC133">update options</A>.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_35.html">previous</A>, 
<A HREF="cvs_37.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_37.html
===================================================================
RCS file: manual/html_node/cvs_37.html
diff -N manual/html_node/cvs_37.html
--- manual/html_node/cvs_37.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,60 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Updating a file</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_36.html">previous</A>, 
<A HREF="cvs_38.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC39" HREF="cvs_toc.html#TOC39">Bringing a file up to 
date</A></H2>
-<P>
-<A NAME="IDX146"></A>
-<A NAME="IDX147"></A>
-<A NAME="IDX148"></A>
-<A NAME="IDX149"></A>
-
-</P>
-<P>
-When you want to update or merge a file, use the <CODE>update</CODE>
-command.  For files that are not up to date this is roughly equivalent
-to a <CODE>checkout</CODE> command: the newest revision of the file is
-extracted from the repository and put in your working copy of the
-module.
-
-</P>
-<P>
-Your modifications to a file are never lost when you
-use <CODE>update</CODE>.  If no newer revision exists,
-running <CODE>update</CODE> has no effect.  If you have
-edited the file, and a newer revision is available,
-CVS will merge all changes into your working copy.
-
-</P>
-<P>
-For instance, imagine that you checked out revision 1.4 and started
-editing it.  In the meantime someone else committed revision 1.5, and
-shortly after that revision 1.6.  If you run <CODE>update</CODE> on the file
-now, CVS will incorporate all changes between revision 1.4 and 1.6 into
-your file.
-
-</P>
-<P>
-<A NAME="IDX150"></A>
-If any of the changes between 1.4 and 1.6 were made too
-close to any of the changes you have made, an
-<EM>overlap</EM> occurs.  In such cases a warning is
-printed, and the resulting file includes both
-versions of the lines that overlap, delimited by
-special markers.
-See section <A HREF="cvs_125.html#SEC132">update--Bring work tree in sync with 
repository</A>, for a complete description of the
-<CODE>update</CODE> command.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_36.html">previous</A>, 
<A HREF="cvs_38.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_38.html
===================================================================
RCS file: manual/html_node/cvs_38.html
diff -N manual/html_node/cvs_38.html
--- manual/html_node/cvs_38.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,216 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Conflicts example</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_37.html">previous</A>, 
<A HREF="cvs_39.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC40" HREF="cvs_toc.html#TOC40">Conflicts example</A></H2>
-<P>
-<A NAME="IDX151"></A>
-<A NAME="IDX152"></A>
-<A NAME="IDX153"></A>
-
-</P>
-<P>
-Suppose revision 1.4 of <TT>`driver.c'</TT> contains this:
-
-</P>
-
-<PRE>
-#include &#60;stdio.h&#62;
-
-void main()
-{
-    parse();
-    if (nerr == 0)
-        gencode();
-    else
-        fprintf(stderr, "No code generated.\n");
-    exit(nerr == 0 ? 0 : 1);
-}
-</PRE>
-
-<P>
-Revision 1.6 of <TT>`driver.c'</TT> contains this:
-
-</P>
-
-<PRE>
-#include &#60;stdio.h&#62;
-
-int main(int argc,
-         char **argv)
-{
-    parse();
-    if (argc != 1)
-    {
-        fprintf(stderr, "tc: No args expected.\n");
-        exit(1);
-    }
-    if (nerr == 0)
-        gencode();
-    else
-        fprintf(stderr, "No code generated.\n");
-    exit(!!nerr);
-}
-</PRE>
-
-<P>
-Your working copy of <TT>`driver.c'</TT>, based on revision
-1.4, contains this before you run <SAMP>`cvs update'</SAMP>:
-
-</P>
-
-<PRE>
-#include &#60;stdlib.h&#62;
-#include &#60;stdio.h&#62;
-
-void main()
-{
-    init_scanner();
-    parse();
-    if (nerr == 0)
-        gencode();
-    else
-        fprintf(stderr, "No code generated.\n");
-    exit(nerr == 0 ? EXIT_SUCCESS : EXIT_FAILURE);
-}
-</PRE>
-
-<P>
-You run <SAMP>`cvs update'</SAMP>:
-
-</P>
-
-<PRE>
-$ cvs update driver.c
-RCS file: /usr/local/cvsroot/yoyodyne/tc/driver.c,v
-retrieving revision 1.4
-retrieving revision 1.6
-Merging differences between 1.4 and 1.6 into driver.c
-rcsmerge warning: overlaps during merge
-cvs update: conflicts found in driver.c
-C driver.c
-</PRE>
-
-<P>
-<A NAME="IDX154"></A>
-CVS tells you that there were some conflicts.
-Your original working file is saved unmodified in
-<TT>`.#driver.c.1.4'</TT>.  The new version of
-<TT>`driver.c'</TT> contains this:
-
-</P>
-
-<PRE>
-#include &#60;stdlib.h&#62;
-#include &#60;stdio.h&#62;
-
-int main(int argc,
-         char **argv)
-{
-    init_scanner();
-    parse();
-    if (argc != 1)
-    {
-        fprintf(stderr, "tc: No args expected.\n");
-        exit(1);
-    }
-    if (nerr == 0)
-        gencode();
-    else
-        fprintf(stderr, "No code generated.\n");
-&#60;&#60;&#60;&#60;&#60;&#60;&#60; driver.c
-    exit(nerr == 0 ? EXIT_SUCCESS : EXIT_FAILURE);
-=======
-    exit(!!nerr);
-&#62;&#62;&#62;&#62;&#62;&#62;&#62; 1.6
-}
-</PRE>
-
-<P>
-<A NAME="IDX155"></A>
-<A NAME="IDX156"></A>
-<A NAME="IDX157"></A>
-<A NAME="IDX158"></A>
-<A NAME="IDX159"></A>
-
-</P>
-<P>
-Note how all non-overlapping modifications are incorporated in your working
-copy, and that the overlapping section is clearly marked with
-<SAMP>`&#60;&#60;&#60;&#60;&#60;&#60;&#60;'</SAMP>, <SAMP>`======='</SAMP> and 
<SAMP>`&#62;&#62;&#62;&#62;&#62;&#62;&#62;'</SAMP>.
-
-</P>
-<P>
-<A NAME="IDX160"></A>
-<A NAME="IDX161"></A>
-You resolve the conflict by editing the file, removing the markers and
-the erroneous line.  Suppose you end up with this file:
-
-<PRE>
-#include &#60;stdlib.h&#62;
-#include &#60;stdio.h&#62;
-
-int main(int argc,
-         char **argv)
-{
-    init_scanner();
-    parse();
-    if (argc != 1)
-    {
-        fprintf(stderr, "tc: No args expected.\n");
-        exit(1);
-    }
-    if (nerr == 0)
-        gencode();
-    else
-        fprintf(stderr, "No code generated.\n");
-    exit(nerr == 0 ? EXIT_SUCCESS : EXIT_FAILURE);
-}
-</PRE>
-
-<P>
-You can now go ahead and commit this as revision 1.7.
-
-</P>
-
-<PRE>
-$ cvs commit -m "Initialize scanner. Use symbolic exit values." driver.c
-Checking in driver.c;
-/usr/local/cvsroot/yoyodyne/tc/driver.c,v  &#60;--  driver.c
-new revision: 1.7; previous revision: 1.6
-done
-</PRE>
-
-<P>
-For your protection, CVS will refuse to check in a
-file if a conflict occurred and you have not resolved
-the conflict.  Currently to resolve a conflict, you
-must change the timestamp on the file, and must also
-insure that the file contains no conflict markers.  If
-your file legitimately contains conflict markers (that
-is, occurrences of <SAMP>`&#62;&#62;&#62;&#62;&#62;&#62;&#62; '</SAMP> at the 
start of a
-line that don't mark a conflict), then CVS has
-trouble handling this and you need to start hacking on
-the <CODE>CVS/Entries</CODE> file or other such workarounds.
-
-</P>
-<P>
-<A NAME="IDX162"></A>
-If you use release 1.04 or later of pcl-cvs (a GNU
-Emacs front-end for CVS) you can use an Emacs
-package called emerge to help you resolve conflicts.
-See the documentation for pcl-cvs.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_37.html">previous</A>, 
<A HREF="cvs_39.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_39.html
===================================================================
RCS file: manual/html_node/cvs_39.html
diff -N manual/html_node/cvs_39.html
--- manual/html_node/cvs_39.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,34 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Informing others</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_38.html">previous</A>, 
<A HREF="cvs_40.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC41" HREF="cvs_toc.html#TOC41">Informing others about 
commits</A></H2>
-<P>
-<A NAME="IDX163"></A>
-<A NAME="IDX164"></A>
-<A NAME="IDX165"></A>
-
-</P>
-<P>
-It is often useful to inform others when you commit a
-new revision of a file.  The <SAMP>`-i'</SAMP> option of the
-<TT>`modules'</TT> file, or the <TT>`loginfo'</TT> file, can be
-used to automate this process.  See section <A HREF="cvs_130.html#SEC137">The 
modules file</A>.
-See section <A HREF="cvs_137.html#SEC144">Loginfo</A>.  You can use these 
features of CVS
-to, for instance, instruct CVS to mail a
-message to all developers, or post a message to a local
-newsgroup.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_38.html">previous</A>, 
<A HREF="cvs_40.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_4.html
===================================================================
RCS file: manual/html_node/cvs_4.html
diff -N manual/html_node/cvs_4.html
--- manual/html_node/cvs_4.html 7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,71 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - BUGS</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_3.html">previous</A>, 
<A HREF="cvs_5.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC4" HREF="cvs_toc.html#TOC4">BUGS</A></H2>
-
-<P>
-<A NAME="IDX7"></A>
-<A NAME="IDX8"></A>
-This manual is known to have room for improvement.
-Here is a list of known deficiencies:
-
-</P>
-
-<UL>
-<LI>
-
-In the examples, the output from CVS is sometimes
-displayed, sometimes not.
-
-<LI>
-
-The input that you are supposed to type in the examples
-should have a different font than the output from the
-computer.
-
-<LI>
-
-This manual should be clearer about what file
-permissions you should set up in the repository, and
-about setuid/setgid.
-
-<LI>
-
-Some of the chapters are not yet complete.  They are
-noted by comments in the <TT>`cvs.texinfo'</TT> file.
-
-<LI>
-
-<A NAME="IDX9"></A>
-<A NAME="IDX10"></A>
-<A NAME="IDX11"></A>
-This list is not complete.  If you notice any error,
-omission, or something that is unclear, please send
-mail to <TT>address@hidden</TT>.
-</UL>
-
-<P>
-I hope that you will find this manual useful, despite
-the above-mentioned shortcomings.
-
-</P>
-
-<PRE>
-
-Linkoping, October 1993
-Per Cederqvist
-</PRE>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_3.html">previous</A>, 
<A HREF="cvs_5.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_40.html
===================================================================
RCS file: manual/html_node/cvs_40.html
diff -N manual/html_node/cvs_40.html
--- manual/html_node/cvs_40.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,97 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Concurrency</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_39.html">previous</A>, 
<A HREF="cvs_41.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC42" HREF="cvs_toc.html#TOC42">Several developers 
simultaneously attempting to run CVS</A></H2>
-
-<P>
-<A NAME="IDX166"></A>
-If several developers try to run CVS at the same
-time, one may get the following message:
-
-</P>
-
-<PRE>
-[11:43:23] waiting for bach's lock in /usr/local/cvsroot/foo
-</PRE>
-
-<P>
-CVS will try again every 30 seconds, and either
-continue with the operation or print the message again,
-if it still needs to wait.  If a lock seems to stick
-around for an undue amount of time, find the person
-holding the lock and ask them about the cvs command
-they are running.  If they aren't running a cvs
-command, look for and remove files starting with
-<TT>`#cvs.tfl'</TT>, <TT>`#cvs.rfl'</TT>, or <TT>`#cvs.wfl'</TT>
-from the repository.
-
-</P>
-<P>
-Note that these locks are to protect CVS's
-internal data structures and have no relationship to
-the word <EM>lock</EM> in the sense used by
-RCS---which refers to reserved checkouts
-(see section <A HREF="cvs_35.html#SEC37">Multiple developers</A>).
-
-</P>
-<P>
-Any number of people can be reading from a given
-repository at a time; only when someone is writing do
-the locks prevent other people from reading or writing.
-
-</P>
-<P>
-<A NAME="IDX167"></A>
-<A NAME="IDX168"></A>
-One might hope for the following property
-
-</P>
-
-<PRE>
-If someone commits some changes in one cvs command,
-then an update by someone else will either get all the
-changes, or none of them.
-</PRE>
-
-<P>
-but CVS does <EM>not</EM> have this property.  For
-example, given the files
-
-</P>
-
-<PRE>
-a/one.c
-a/two.c
-b/three.c
-b/four.c
-</PRE>
-
-<P>
-if someone runs
-
-</P>
-
-<PRE>
-cvs ci a/two.c b/three.c
-</PRE>
-
-<P>
-and someone else runs <CODE>cvs update</CODE> at the same
-time, the person running <CODE>update</CODE> might get only
-the change to <TT>`b/three.c'</TT> and not the change to
-<TT>`a/two.c'</TT>.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_39.html">previous</A>, 
<A HREF="cvs_41.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_41.html
===================================================================
RCS file: manual/html_node/cvs_41.html
diff -N manual/html_node/cvs_41.html
--- manual/html_node/cvs_41.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,45 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Watches</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_40.html">previous</A>, 
<A HREF="cvs_42.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC43" HREF="cvs_toc.html#TOC43">Mechanisms to track who is 
editing files</A></H2>
-<P>
-<A NAME="IDX169"></A>
-
-</P>
-<P>
-For many groups, use of CVS in its default mode is
-perfectly satisfactory.  Users may sometimes go to
-check in a modification only to find that another
-modification has intervened, but they deal with it and
-proceed with their check in.  Other groups prefer to be
-able to know who is editing what files, so that if two
-people try to edit the same file they can choose to
-talk about who is doing what when rather than be
-surprised at check in time.  The features in this
-section allow such coordination, while retaining the
-ability of two developers to edit the same file at the
-same time.
-
-</P>
-<P>
-For maximum benefit developers should use <CODE>cvs
-edit</CODE> (not <CODE>chmod</CODE>) to make files read-write to
-edit them, and <CODE>cvs release</CODE> (not <CODE>rm</CODE>) to
-discard a working directory which is no longer in use,
-but CVS is not able to enforce this behavior.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_40.html">previous</A>, 
<A HREF="cvs_42.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_42.html
===================================================================
RCS file: manual/html_node/cvs_42.html
diff -N manual/html_node/cvs_42.html
--- manual/html_node/cvs_42.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,76 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Setting a watch</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_41.html">previous</A>, 
<A HREF="cvs_43.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC44" HREF="cvs_toc.html#TOC44">Telling CVS to watch certain 
files</A></H3>
-
-<P>
-To enable the watch features, you first specify that
-certain files are to be watched.
-
-</P>
-<P>
-<A NAME="IDX170"></A>
-<DL>
-<DT><U>Command:</U> <B>cvs watch on</B> <I>[<CODE>-l</CODE>] files ...</I>
-<DD><A NAME="IDX171"></A>
-
-</P>
-<P>
-<A NAME="IDX172"></A>
-Specify that developers should run <CODE>cvs edit</CODE>
-before editing <VAR>files</VAR>.  CVS will create working
-copies of <VAR>files</VAR> read-only, to remind developers
-to run the <CODE>cvs edit</CODE> command before working on
-them.
-
-</P>
-<P>
-If <VAR>files</VAR> includes the name of a directory, CVS
-arranges to watch all files added to the corresponding
-repository directory, and sets a default for files
-added in the future; this allows the user to set
-notification policies on a per-directory basis.  The
-contents of the directory are processed recursively,
-unless the <CODE>-l</CODE> option is given.
-
-</P>
-<P>
-If <VAR>files</VAR> is omitted, it defaults to the current directory.
-
-</P>
-<P>
-<A NAME="IDX173"></A>
-</DL>
-
-</P>
-<P>
-<DL>
-<DT><U>Command:</U> <B>cvs watch off</B> <I>[<CODE>-l</CODE>] files ...</I>
-<DD><A NAME="IDX174"></A>
-
-</P>
-<P>
-Do not provide notification about work on <VAR>files</VAR>.  CVS will create
-working copies of <VAR>files</VAR> read-write.
-
-</P>
-<P>
-The <VAR>files</VAR> and <CODE>-l</CODE> arguments are processed as for 
<CODE>cvs
-watch on</CODE>.
-
-</P>
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_41.html">previous</A>, 
<A HREF="cvs_43.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_43.html
===================================================================
RCS file: manual/html_node/cvs_43.html
diff -N manual/html_node/cvs_43.html
--- manual/html_node/cvs_43.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,140 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Getting Notified</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_42.html">previous</A>, 
<A HREF="cvs_44.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC45" HREF="cvs_toc.html#TOC45">Telling CVS to notify 
you</A></H3>
-
-<P>
-You can tell CVS that you want to receive
-notifications about various actions taken on a file.
-You can do this without using <CODE>cvs watch on</CODE> for
-the file, but generally you will want to use <CODE>cvs
-watch on</CODE>, so that developers use the <CODE>cvs edit</CODE>
-command.
-
-</P>
-<P>
-<A NAME="IDX175"></A>
-<DL>
-<DT><U>Command:</U> <B>cvs watch add</B> <I>[<CODE>-a</CODE> action] 
[<CODE>-l</CODE>] files ...</I>
-<DD><A NAME="IDX176"></A>
-
-</P>
-<P>
-Add the current user to the list of people to receive notification of
-work done on <VAR>files</VAR>.
-
-</P>
-<P>
-The <CODE>-a</CODE> option specifies what kinds of events CVS should notify
-the user about.  <VAR>action</VAR> is one of the following:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>edit</CODE>
-<DD>
-Another user has applied the <CODE>cvs edit</CODE> command (described
-below) to a file.
-
-<DT><CODE>unedit</CODE>
-<DD>
-Another user has applied the <CODE>cvs unedit</CODE> command (described
-below) or the <CODE>cvs release</CODE> command to a file, or has deleted
-the file and allowed <CODE>cvs update</CODE> to recreate it.
-
-<DT><CODE>commit</CODE>
-<DD>
-Another user has committed changes to a file.
-
-<DT><CODE>all</CODE>
-<DD>
-All of the above.
-
-<DT><CODE>none</CODE>
-<DD>
-None of the above.  (This is useful with <CODE>cvs edit</CODE>,
-described below.)
-
-</DL>
-
-<P>
-The <CODE>-a</CODE> option may appear more than once, or not at all.  If
-omitted, the action defaults to <CODE>all</CODE>.
-
-</P>
-<P>
-The <VAR>files</VAR> and <CODE>-l</CODE> option are processed as for the
-<CODE>cvs watch</CODE> commands.
-
-</P>
-</DL>
-
-<P>
-<A NAME="IDX177"></A>
-<DL>
-<DT><U>Command:</U> <B>cvs watch remove</B> <I>[<CODE>-a</CODE> action] 
[<CODE>-l</CODE>] files ...</I>
-<DD><A NAME="IDX178"></A>
-
-</P>
-<P>
-Remove a notification request established using <CODE>cvs watch add</CODE>;
-the arguments are the same.  If the <CODE>-a</CODE> option is present, only
-watches for the specified actions are removed.
-
-</P>
-</DL>
-
-<P>
-<A NAME="IDX179"></A>
-When the conditions exist for notification, CVS
-calls the <TT>`notify'</TT> administrative file.  Edit
-<TT>`notify'</TT> as one edits the other administrative
-files (see section <A HREF="cvs_19.html#SEC20">The administrative files</A>).  
This
-file follows the usual conventions for administrative
-files (see section <A HREF="cvs_133.html#SEC140">The common syntax</A>), where 
each line is a regular
-expression followed by a command to execute.  The
-command should contain a single ocurrence of <SAMP>`%s'</SAMP>
-which will be replaced by the user to notify; the rest
-of the information regarding the notification will be
-supplied to the command on standard input.  The
-standard thing to put in the <CODE>notify</CODE> file is the
-single line:
-
-</P>
-
-<PRE>
-ALL mail %s -s \"CVS notification\"
-</PRE>
-
-<P>
-This causes users to be notified by electronic mail.
-
-</P>
-<P>
-<A NAME="IDX180"></A>
-Note that if you set this up in the straightforward
-way, users receive notifications on the server machine.
-One could of course write a <TT>`notify'</TT> script which
-directed notifications elsewhere, but to make this
-easy, CVS allows you to associate a notification
-address for each user.  To do so create a file
-<TT>`users'</TT> in <TT>`CVSROOT'</TT> with a line for each
-user in the format <VAR>user</VAR>:<VAR>value</VAR>.  Then
-instead of passing the name of the user to be notified
-to <TT>`notify'</TT>, CVS will pass the <VAR>value</VAR>
-(normally an email address on some other machine).
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_42.html">previous</A>, 
<A HREF="cvs_44.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_44.html
===================================================================
RCS file: manual/html_node/cvs_44.html
diff -N manual/html_node/cvs_44.html
--- manual/html_node/cvs_44.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,107 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Editing files</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_43.html">previous</A>, 
<A HREF="cvs_45.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC46" HREF="cvs_toc.html#TOC46">How to edit a file which is 
being watched</A></H3>
-
-<P>
-<A NAME="IDX181"></A>
-Since a file which is being watched is checked out
-read-only, you cannot simply edit it.  To make it
-read-write, and inform others that you are planning to
-edit it, use the <CODE>cvs edit</CODE> command.  Some systems
-call this a <EM>checkout</EM>, but CVS uses that term
-for obtaining a copy of the sources (see section <A 
HREF="cvs_10.html#SEC11">Getting the source</A>), an operation which those 
systems call a
-<EM>get</EM> or a <EM>fetch</EM>.
-
-</P>
-<P>
-<A NAME="IDX182"></A>
-<DL>
-<DT><U>Command:</U> <B>cvs edit</B> <I>[options] files ...</I>
-<DD><A NAME="IDX183"></A>
-
-</P>
-<P>
-Prepare to edit the working files <VAR>files</VAR>.  CVS makes the
-<VAR>files</VAR> read-write, and notifies users who have requested
-<CODE>edit</CODE> notification for any of <VAR>files</VAR>.
-
-</P>
-<P>
-The <CODE>cvs edit</CODE> command accepts the same <VAR>options</VAR> as the
-<CODE>cvs watch add</CODE> command, and establishes a temporary watch for the
-user on <VAR>files</VAR>; CVS will remove the watch when <VAR>files</VAR> are
-<CODE>unedit</CODE>ed or <CODE>commit</CODE>ted.  If the user does not wish to
-receive notifications, she should specify <CODE>-a none</CODE>.
-
-</P>
-<P>
-The <VAR>files</VAR> and <CODE>-l</CODE> option are processed as for the 
<CODE>cvs
-watch</CODE> commands.
-
-</P>
-</DL>
-
-<P>
-Normally when you are done with a set of changes, you
-use the <CODE>cvs commit</CODE> command, which checks in your
-changes and returns the watched files to their usual
-read-only state.  But if you instead decide to abandon
-your changes, or not to make any changes, you can use
-the <CODE>cvs unedit</CODE> command.
-
-</P>
-<P>
-<A NAME="IDX184"></A>
-<A NAME="IDX185"></A>
-<A NAME="IDX186"></A>
-<DL>
-<DT><U>Command:</U> <B>cvs unedit</B> <I>[<CODE>-l</CODE>] files ...</I>
-<DD><A NAME="IDX187"></A>
-
-</P>
-<P>
-Abandon work on the working files <VAR>files</VAR>, and revert them to the
-repository versions on which they are based.  CVS makes those
-<VAR>files</VAR> read-only for which users have requested notification using
-<CODE>cvs watch on</CODE>.  CVS notifies users who have requested 
<CODE>unedit</CODE>
-notification for any of <VAR>files</VAR>.
-
-</P>
-<P>
-The <VAR>files</VAR> and <CODE>-l</CODE> option are processed as for the
-<CODE>cvs watch</CODE> commands.
-
-</P>
-<P>
-If watches are not in use, the <CODE>unedit</CODE> command
-probably does not work, and the way to revert to the
-repository version is to remove the file and then use
-<CODE>cvs update</CODE> to get a new copy.  The meaning is
-not precisely the same; removing and updating may also
-bring in some changes which have been made in the
-repository since the last time you updated.
-</DL>
-
-</P>
-<P>
-When using client/server CVS, you can use the
-<CODE>cvs edit</CODE> and <CODE>cvs unedit</CODE> commands even if
-CVS is unable to succesfully communicate with the
-server; the notifications will be sent upon the next
-successful CVS command.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_43.html">previous</A>, 
<A HREF="cvs_45.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_45.html
===================================================================
RCS file: manual/html_node/cvs_45.html
diff -N manual/html_node/cvs_45.html
--- manual/html_node/cvs_45.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,58 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Watch information</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_44.html">previous</A>, 
<A HREF="cvs_46.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC47" HREF="cvs_toc.html#TOC47">Information about who is 
watching and editing</A></H3>
-
-<P>
-<A NAME="IDX188"></A>
-<DL>
-<DT><U>Command:</U> <B>cvs watchers</B> <I>[<CODE>-l</CODE>] files ...</I>
-<DD><A NAME="IDX189"></A>
-
-</P>
-<P>
-List the users currently watching changes to <VAR>files</VAR>.  The report
-includes the files being watched, and the mail address of each watcher.
-
-</P>
-<P>
-The <VAR>files</VAR> and <CODE>-l</CODE> arguments are processed as for the
-<CODE>cvs watch</CODE> commands.
-
-</P>
-</DL>
-
-<P>
-<A NAME="IDX190"></A>
-<DL>
-<DT><U>Command:</U> <B>cvs editors</B> <I>[<CODE>-l</CODE>] files ...</I>
-<DD><A NAME="IDX191"></A>
-
-</P>
-<P>
-List the users currently working on <VAR>files</VAR>.  The report
-includes the mail address of each user, the time when the user began
-working with the file, and the host and path of the working directory
-containing the file.
-
-</P>
-<P>
-The <VAR>files</VAR> and <CODE>-l</CODE> arguments are processed as for the
-<CODE>cvs watch</CODE> commands.
-
-</P>
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_44.html">previous</A>, 
<A HREF="cvs_46.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_46.html
===================================================================
RCS file: manual/html_node/cvs_46.html
diff -N manual/html_node/cvs_46.html
--- manual/html_node/cvs_46.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,42 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Watches Compatibility</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_45.html">previous</A>, 
<A HREF="cvs_47.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC48" HREF="cvs_toc.html#TOC48">Using watches with old versions 
of CVS</A></H3>
-
-<P>
-<A NAME="IDX192"></A>
-If you use the watch features on a repository, it
-creates <TT>`CVS'</TT> directories in the repository and
-stores the information about watches in that directory.
-If you attempt to use CVS 1.6 or earlier with the
-repository, you get an error message such as
-
-</P>
-
-<PRE>
-cvs update: cannot open CVS/Entries for reading: No such file or directory
-</PRE>
-
-<P>
-and your operation will likely be aborted.  To use the
-watch features, you must upgrade all copies of CVS
-which use that repository in local or server mode.  If
-you cannot upgrade, use the <CODE>watch off</CODE> and
-<CODE>watch remove</CODE> commands to remove all watches, and
-that will restore the repository to a state which
-CVS 1.6 can cope with.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_45.html">previous</A>, 
<A HREF="cvs_47.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_47.html
===================================================================
RCS file: manual/html_node/cvs_47.html
diff -N manual/html_node/cvs_47.html
--- manual/html_node/cvs_47.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,86 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Choosing a model</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_46.html">previous</A>, 
<A HREF="cvs_48.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC49" HREF="cvs_toc.html#TOC49">Choosing between reserved or 
unreserved checkouts</A></H2>
-<P>
-<A NAME="IDX193"></A>
-
-</P>
-<P>
-Reserved and unreserved checkouts each have pros and
-cons.  Let it be said that a lot of this is a matter of
-opinion or what works given different groups' working
-styles, but here is an attempt to briefly describe the
-issues.  There are many ways to organize a team of
-developers.  CVS does not try to enforce a certain
-organization.  It is a tool that can be used in several
-ways.
-
-</P>
-<P>
-Reserved checkouts can be very counter-productive.  If
-two persons want to edit different parts of a file,
-there may be no reason to prevent either of them from
-doing so.  Also, it is common for someone to take out a
-lock on a file, because they are planning to edit it,
-but then forget to release the lock.
-
-</P>
-<P>
-People, especially people who are familiar with
-reserved checkouts, often wonder how often conflicts
-occur if unreserved checkouts are used, and how
-difficult they are to resolve.  The experience with
-many groups is that they occur rarely and usually are
-relatively straightforward to resolve.
-
-</P>
-<P>
-The rarity of serious conflicts may be surprising, until one realizes
-that they occur only when two developers disagree on the proper design
-for a given section of code; such a disagreement suggests that the
-team has not been communicating properly in the first place.  In order
-to collaborate under <EM>any</EM> source management regimen, developers
-must agree on the general design of the system; given this agreement,
-overlapping changes are usually straightforward to merge.
-
-</P>
-<P>
-In some cases unreserved checkouts are clearly
-inappropriate.  If no merge tool exists for the kind of
-file you are managing (for example word processor files
-or files edited by Computer Aided Design programs), and
-it is not desirable to change to a program which uses a
-mergeable data format, then resolving conflicts is
-going to be unpleasant enough that you generally will
-be better off to simply avoid the conflicts instead, by
-using reserved checkouts.
-
-</P>
-<P>
-The watches features described above in section <A 
HREF="cvs_41.html#SEC43">Mechanisms to track who is editing files</A>
-can be considered to be an intermediate model between
-reserved checkouts and unreserved checkouts.  When you
-go to edit a file, it is possible to find out who else
-is editing it.  And rather than having the system
-simply forbid both people editing the file, it can tell
-you what the situation is and let you figure out
-whether it is a problem in that particular case or not.
-Therefore, for some groups it can be considered the
-best of both the reserved checkout and unreserved
-checkout worlds.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_46.html">previous</A>, 
<A HREF="cvs_48.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_48.html
===================================================================
RCS file: manual/html_node/cvs_48.html
diff -N manual/html_node/cvs_48.html
--- manual/html_node/cvs_48.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,36 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Branches</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_47.html">previous</A>, 
<A HREF="cvs_49.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC50" HREF="cvs_toc.html#TOC50">Branches</A></H1>
-<P>
-<A NAME="IDX194"></A>
-<A NAME="IDX195"></A>
-<A NAME="IDX196"></A>
-
-</P>
-<P>
-So far, all revisions shown in this manual have been on
-the <EM>main trunk</EM>
-of the revision tree, i.e., all revision numbers
-have been of the form <VAR>x</VAR>.<VAR>y</VAR>.  One useful
-feature, especially when maintaining several releases
-of a software product at once, is the ability to make
-branches on the revision tree.  <EM>Tags</EM>, symbolic
-names for revisions, will also be
-introduced in this chapter.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_47.html">previous</A>, 
<A HREF="cvs_49.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_49.html
===================================================================
RCS file: manual/html_node/cvs_49.html
diff -N manual/html_node/cvs_49.html
--- manual/html_node/cvs_49.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,187 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Tags</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_48.html">previous</A>, 
<A HREF="cvs_50.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC51" HREF="cvs_toc.html#TOC51">Tags--Symbolic revisions</A></H2>
-<P>
-<A NAME="IDX197"></A>
-
-</P>
-<P>
-The revision numbers live a life of their own.  They
-need not have anything at all to do with the release
-numbers of your software product.  Depending
-on how you use CVS the revision numbers might change several times
-between two releases.  As an example, some of the
-source files that make up RCS 5.6 have the following
-revision numbers:
-<A NAME="IDX198"></A>
-
-</P>
-
-<PRE>
-ci.c            5.21
-co.c            5.9
-ident.c         5.3
-rcs.c           5.12
-rcsbase.h       5.11
-rcsdiff.c       5.10
-rcsedit.c       5.11
-rcsfcmp.c       5.9
-rcsgen.c        5.10
-rcslex.c        5.11
-rcsmap.c        5.2
-rcsutil.c       5.10
-</PRE>
-
-<P>
-<A NAME="IDX199"></A>
-<A NAME="IDX200"></A>
-<A NAME="IDX201"></A>
-<A NAME="IDX202"></A>
-You can use the <CODE>tag</CODE> command to give a symbolic name to a
-certain revision of a file.  You can use the <SAMP>`-v'</SAMP> flag to the
-<CODE>status</CODE> command to see all tags that a file has, and
-which revision numbers they represent.  Tag names can
-contain uppercase and lowercase letters, digits,
-<SAMP>`-'</SAMP>, and <SAMP>`_'</SAMP>.  The two tag names <CODE>BASE</CODE>
-and <CODE>HEAD</CODE> are reserved for use by CVS.  It
-is expected that future names which are special to
-CVS will contain characters such as <SAMP>`%'</SAMP> or
-<SAMP>`='</SAMP>, rather than being named analogously to
-<CODE>BASE</CODE> and <CODE>HEAD</CODE>, to avoid conflicts with
-actual tag names.
-
-</P>
-<P>
-<A NAME="IDX203"></A>
-<A NAME="IDX204"></A>
-The following example shows how you can add a tag to a
-file.  The commands must be issued inside your working
-copy of the module.  That is, you should issue the
-command in the directory where <TT>`backend.c'</TT>
-resides.
-
-</P>
-
-<PRE>
-$ cvs tag release-0-4 backend.c
-T backend.c
-$ cvs status -v backend.c
-===================================================================
-File: backend.c         Status: Up-to-date
-
-    Version:            1.4     Tue Dec  1 14:39:01 1992
-    RCS Version:        1.4     /usr/local/cvsroot/yoyodyne/tc/backend.c,v
-    Sticky Tag:         (none)
-    Sticky Date:        (none)
-    Sticky Options:     (none)
-
-    Existing Tags:
-        release-0-4                     (revision: 1.4)
-
-</PRE>
-
-<P>
-There is seldom reason to tag a file in isolation.  A more common use is
-to tag all the files that constitute a module with the same tag at
-strategic points in the development life-cycle, such as when a release
-is made.
-
-</P>
-
-<PRE>
-$ cvs tag release-1-0 .
-cvs tag: Tagging .
-T Makefile
-T backend.c
-T driver.c
-T frontend.c
-T parser.c
-</PRE>
-
-<P>
-(When you give CVS a directory as argument, it generally applies the
-operation to all the files in that directory, and (recursively), to any
-subdirectories that it may contain.  See section <A 
HREF="cvs_58.html#SEC60">Recursive behavior</A>.)
-
-</P>
-<P>
-<A NAME="IDX205"></A>
-<A NAME="IDX206"></A>
-The <CODE>checkout</CODE> command has a flag, <SAMP>`-r'</SAMP>, that lets you 
check out
-a certain revision of a module.  This flag makes it easy to
-retrieve the sources that make up release 1.0 of the module <SAMP>`tc'</SAMP> 
at
-any time in the future:
-
-</P>
-
-<PRE>
-$ cvs checkout -r release-1-0 tc
-</PRE>
-
-<P>
-This is useful, for instance, if someone claims that there is a bug in
-that release, but you cannot find the bug in the current working copy.
-
-</P>
-<P>
-You can also check out a module as it was at any given date.
-See section <A HREF="cvs_93.html#SEC97">checkout options</A>.
-
-</P>
-<P>
-When you tag more than one file with the same tag you
-can think about the tag as "a curve drawn through a
-matrix of filename vs. revision number."  Say we have 5
-files with the following revisions:
-
-</P>
-
-<PRE>
-        file1   file2   file3   file4   file5
-
-        1.1     1.1     1.1     1.1  /--1.1*      &#60;-*-  TAG
-        1.2*-   1.2     1.2    -1.2*-
-        1.3  \- 1.3*-   1.3   / 1.3
-        1.4          \  1.4  /  1.4
-                      \-1.5*-   1.5
-                        1.6
-</PRE>
-
-<P>
-At some time in the past, the <CODE>*</CODE> versions were tagged.
-You can think of the tag as a handle attached to the curve
-drawn through the tagged revisions.  When you pull on
-the handle, you get all the tagged revisions.  Another
-way to look at it is that you "sight" through a set of
-revisions that is "flat" along the tagged revisions,
-like this:
-
-</P>
-
-<PRE>
-        file1   file2   file3   file4   file5
-
-                        1.1
-                        1.2
-                1.1     1.3                       _
-        1.1     1.2     1.4     1.1              /
-        1.2*----1.3*----1.5*----1.2*----1.1     (--- &#60;--- Look here
-        1.3             1.6     1.3              \_
-        1.4                     1.4
-                                1.5
-</PRE>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_48.html">previous</A>, 
<A HREF="cvs_50.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_5.html
===================================================================
RCS file: manual/html_node/cvs_5.html
diff -N manual/html_node/cvs_5.html
--- manual/html_node/cvs_5.html 7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,247 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - What is CVS?</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_4.html">previous</A>, 
<A HREF="cvs_6.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC5" HREF="cvs_toc.html#TOC5">What is CVS?</A></H1>
-<P>
-<A NAME="IDX12"></A>
-<A NAME="IDX13"></A>
-<A NAME="IDX14"></A>
-
-</P>
-<P>
-CVS is a version control system.  Using it, you can
-record the history of your source files.
-
-</P>
-
-<P>
-For example, bugs sometimes creep in when
-software is modified, and you might not detect the bug
-until a long time after you make the modification.
-With CVS, you can easily retrieve old versions to see
-exactly which change caused the bug.  This can
-sometimes be a big help.
-
-</P>
-<P>
-You could of course save every version of every file
-you have ever created.  This would
-however waste an enormous amount of disk space.  CVS
-stores all the versions of a file in a single file in a
-clever way that only stores the differences between
-versions.
-
-</P>
-<P>
-CVS also helps you if you are part of a group of people working
-on the same project.  It is all too easy to overwrite
-each others' changes unless you are extremely careful.
-Some editors, like GNU Emacs, try to make sure that
-the same file is never modified by two people at the
-same time.  Unfortunately, if someone is using another
-editor, that safeguard will not work.  CVS solves this problem
-by insulating the different developers from each other.  Every
-developer works in his own directory, and CVS merges
-the work when each developer is done.
-
-</P>
-<P>
-<A NAME="IDX15"></A>
-<A NAME="IDX16"></A>
-<A NAME="IDX17"></A>
-<A NAME="IDX18"></A>
-CVS started out as a bunch of shell scripts written by
-Dick Grune, posted to <CODE>comp.sources.unix</CODE> in the volume 6
-release of December, 1986.  While no actual code from
-these shell scripts is present in the current version
-of CVS much of the CVS conflict resolution algorithms
-come from them.
-
-</P>
-<P>
-In April, 1989, Brian Berliner designed and coded CVS.
-Jeff Polk later helped Brian with the design of the CVS
-module and vendor branch support.
-
-</P>
-<P>
-<A NAME="IDX19"></A>
-You can get CVS via anonymous ftp from a number of
-sites, for instance <TT>prep.ai.mit.edu</TT> in
-<TT>`pub/gnu'</TT>.
-
-</P>
-<P>
-<A NAME="IDX20"></A>
-<A NAME="IDX21"></A>
-<A NAME="IDX22"></A>
-There is a mailing list, known as <CODE>info-cvs</CODE>,
-devoted to CVS.  To subscribe or
-unsubscribe 
-send a message to
-<CODE>address@hidden</CODE>.  Please be
-specific about your email address.  As of May 1996,
-subscription requests are handled by a busy human
-being, so you cannot expect to be added or removed
-immediately.  The usenet group
-<CODE>comp.software.config-mgmt</CODE> is also a suitable
-place for CVS discussions (along with other
-configuration management systems).
-
-</P>
-
-
-
-<H2><A NAME="SEC6" HREF="cvs_toc.html#TOC6">CVS is not...</A></H2>
-
-<P>
-CVS can do a lot of things for you, but it does
-not try to be everything for everyone.
-
-</P>
-<DL COMPACT>
-
-<DT>CVS is not a build system.
-<DD>
-Though the structure of your repository and modules
-file interact with your build system
-(e.g. <TT>`Makefile'</TT>s), they are essentially
-independent.
-
-CVS does not dictate how you build anything.  It
-merely stores files for retrieval in a tree structure
-you devise.
-
-CVS does not dictate how to use disk space in the
-checked out working directories.  If you write your
-<TT>`Makefile'</TT>s or scripts in every directory so they
-have to know the relative positions of everything else,
-you wind up requiring the entire repository to be
-checked out.
-
-If you modularize your work, and construct a build
-system that will share files (via links, mounts,
-<CODE>VPATH</CODE> in <TT>`Makefile'</TT>s, etc.), you can
-arrange your disk usage however you like.
-
-But you have to remember that <EM>any</EM> such system is
-a lot of work to construct and maintain.  CVS does
-not address the issues involved.
-
-Of course, you should place the tools created to
-support such a build system (scripts, <TT>`Makefile'</TT>s,
-etc) under CVS.
-
-Figuring out what files need to be rebuilt when
-something changes is, again, something to be handled
-outside the scope of CVS.  One traditional
-approach is to use <CODE>make</CODE> for building, and use
-some automated tool for generating the depencies which
-<CODE>make</CODE> uses.
-
-<DT>CVS is not a substitute for management.
-<DD>
-Your managers and project leaders are expected to talk
-to you frequently enough to make certain you are aware
-of schedules, merge points, branch names and release
-dates.  If they don't, CVS can't help.
-
-CVS is an instrument for making sources dance to
-your tune.  But you are the piper and the composer.  No
-instrument plays itself or writes its own music.
-
-<DT>CVS is not a substitute for developer communication.
-<DD>
-When faced with conflicts within a single file, most
-developers manage to resolve them without too much
-effort.  But a more general definition of "conflict"
-includes problems too difficult to solve without
-communication between developers.
-
-CVS cannot determine when simultaneous changes
-within a single file, or across a whole collection of
-files, will logically conflict with one another.  Its
-concept of a <EM>conflict</EM> is purely textual, arising
-when two changes to the same base file are near enough
-to spook the merge (i.e. <CODE>diff3</CODE>) command.
-
-CVS does not claim to help at all in figuring out
-non-textual or distributed conflicts in program logic.
-
-For example: Say you change the arguments to function
-<CODE>X</CODE> defined in file <TT>`A'</TT>.  At the same time,
-someone edits file <TT>`B'</TT>, adding new calls to
-function <CODE>X</CODE> using the old arguments.  You are
-outside the realm of CVS's competence.
-
-Acquire the habit of reading specs and talking to your
-peers.
-
-<DT>CVS does not have change control
-<DD>
-Change control refers to a number of things.  First of
-all it can mean <EM>bug-tracking</EM>, that is being able
-to keep a database of reported bugs and the status of
-each one (is it fixed?  in what release?  has the bug
-submitter agreed that it is fixed?).  For interfacing
-CVS to an external bug-tracking system, see the
-<TT>`rcsinfo'</TT> and <TT>`editinfo'</TT> files
-(see section <A HREF="cvs_129.html#SEC136">Reference manual for the 
Administrative files</A>).
-
-Another aspect of change control is keeping track of
-the fact that changes to several files were in fact
-changed together as one logical change.  If you check
-in several files in a single <CODE>cvs commit</CODE>
-operation, CVS then forgets that those files were
-checked in together, and the fact that they have the
-same log message is the only thing tying them
-together.  Keeping a GNU style <TT>`ChangeLog'</TT>
-can help somewhat.
-
-Another aspect of change control, in some systems, is
-the ability to keep track of the status of each
-change.  Some changes have been written by a developer,
-others have been reviewed by a second developer, and so
-on.  Generally, the way to do this with CVS is to
-generate a diff (using <CODE>cvs diff</CODE> or <CODE>diff</CODE>)
-and email it to someone who can then apply it using the
-<CODE>patch</CODE> utility.  This is very flexible, but
-depends on mechanisms outside CVS to make sure
-nothing falls through the cracks.
-
-<DT>CVS is not an automated testing program
-<DD>
-It should be possible to enforce mandatory use of a
-testsuite using the <CODE>commitinfo</CODE> file.  I haven't
-heard a lot about projects trying to do that or whether
-there are subtle gotchas, however.
-
-<DT>CVS does not have a builtin process model
-<DD>
-Some systems provide ways to ensure that changes or
-releases go through various steps, with various
-approvals as needed.  Generally, one can accomplish
-this with CVS but it might be a little more work.
-In some cases you'll want to use the <TT>`commitinfo'</TT>,
-<TT>`loginfo'</TT>, <TT>`rcsinfo'</TT>, or <TT>`editinfo'</TT>
-files, to require that certain steps be performed
-before cvs will allow a checkin.  Also consider whether
-features such as branches and tags can be used to
-perform tasks such as doing work in a development tree
-and then merging certain changes over to a stable tree
-only once they have been proven.
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_4.html">previous</A>, 
<A HREF="cvs_6.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_50.html
===================================================================
RCS file: manual/html_node/cvs_50.html
diff -N manual/html_node/cvs_50.html
--- manual/html_node/cvs_50.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,43 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Branches motivation</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_49.html">previous</A>, 
<A HREF="cvs_51.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC52" HREF="cvs_toc.html#TOC52">What branches are good 
for</A></H2>
-<P>
-<A NAME="IDX207"></A>
-<A NAME="IDX208"></A>
-<A NAME="IDX209"></A>
-
-</P>
-<P>
-Suppose that release 1.0 of tc has been made.  You are continuing to
-develop tc, planning to create release 1.1 in a couple of months.  After a
-while your customers start to complain about a fatal bug.  You check
-out release 1.0 (see section <A HREF="cvs_49.html#SEC51">Tags--Symbolic 
revisions</A>) and find the bug
-(which turns out to have a trivial fix).  However, the current revision
-of the sources are in a state of flux and are not expected to be stable
-for at least another month.  There is no way to make a
-bugfix release based on the newest sources.
-
-</P>
-<P>
-The thing to do in a situation like this is to create a <EM>branch</EM> on
-the revision trees for all the files that make up
-release 1.0 of tc.  You can then make
-modifications to the branch without disturbing the main trunk.  When the
-modifications are finished you can select to either incorporate them on
-the main trunk, or leave them on the branch.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_49.html">previous</A>, 
<A HREF="cvs_51.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_51.html
===================================================================
RCS file: manual/html_node/cvs_51.html
diff -N manual/html_node/cvs_51.html
--- manual/html_node/cvs_51.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,95 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Creating a branch</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_50.html">previous</A>, 
<A HREF="cvs_52.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC53" HREF="cvs_toc.html#TOC53">Creating a branch</A></H2>
-<P>
-<A NAME="IDX210"></A>
-<A NAME="IDX211"></A>
-<A NAME="IDX212"></A>
-
-</P>
-<P>
-The <CODE>rtag</CODE> command can be used to create a branch.
-The <CODE>rtag</CODE> command is much like <CODE>tag</CODE>, but it
-does not require that you have a working copy of the
-module.  See section <A HREF="cvs_119.html#SEC126">rtag--Add a symbolic tag to 
a module</A>.  (You can also use the <CODE>tag</CODE>
-command; see section <A HREF="cvs_123.html#SEC130">tag--Add a symbolic tag to 
checked out versions of files</A>).
-
-</P>
-
-<PRE>
-$ cvs rtag -b -r release-1-0 release-1-0-patches tc
-</PRE>
-
-<P>
-The <SAMP>`-b'</SAMP> flag makes <CODE>rtag</CODE> create a branch
-(rather than just a symbolic revision name).  <SAMP>`-r
-release-1-0'</SAMP> says that this branch should be rooted at the node (in
-the revision tree) that corresponds to the tag
-<SAMP>`release-1-0'</SAMP>.  Note that the numeric revision number that matches
-<SAMP>`release-1-0'</SAMP> will probably be different from file to file.  The
-name of the new branch is <SAMP>`release-1-0-patches'</SAMP>, and the
-module affected is <SAMP>`tc'</SAMP>.
-
-</P>
-<P>
-To fix the problem in release 1.0, you need a working
-copy of the branch you just created.
-
-</P>
-
-<PRE>
-$ cvs checkout -r release-1-0-patches tc
-$ cvs status -v driver.c backend.c
-===================================================================
-File: driver.c          Status: Up-to-date
-
-    Version:            1.7     Sat Dec  5 18:25:54 1992
-    RCS Version:        1.7     /usr/local/cvsroot/yoyodyne/tc/driver.c,v
-    Sticky Tag:         release-1-0-patches (branch: 1.7.2)
-    Sticky Date:        (none)
-    Sticky Options:     (none)
-
-    Existing Tags:
-        release-1-0-patches             (branch: 1.7.2)
-        release-1-0                     (revision: 1.7)
-
-===================================================================
-File: backend.c         Status: Up-to-date
-
-    Version:            1.4     Tue Dec  1 14:39:01 1992
-    RCS Version:        1.4     /usr/local/cvsroot/yoyodyne/tc/backend.c,v
-    Sticky Tag:         release-1-0-patches (branch: 1.4.2)
-    Sticky Date:        (none)
-    Sticky Options:     (none)
-
-    Existing Tags:
-        release-1-0-patches             (branch: 1.4.2)
-        release-1-0                     (revision: 1.4)
-        release-0-4                     (revision: 1.4)
-
-</PRE>
-
-<P>
-<A NAME="IDX213"></A>
-As the output from the <CODE>status</CODE> command shows the branch
-number is created by adding a digit at the tail of the revision number
-it is based on.  (If <SAMP>`release-1-0'</SAMP> corresponds to revision 1.4, 
the
-branch's revision number will be 1.4.2.  For obscure reasons CVS always
-gives branches even numbers, starting at 2.
-See section <A HREF="cvs_7.html#SEC8">Revision numbers</A>).
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_50.html">previous</A>, 
<A HREF="cvs_52.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_52.html
===================================================================
RCS file: manual/html_node/cvs_52.html
diff -N manual/html_node/cvs_52.html
--- manual/html_node/cvs_52.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,123 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Sticky tags</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_51.html">previous</A>, 
<A HREF="cvs_53.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC54" HREF="cvs_toc.html#TOC54">Sticky tags</A></H2>
-<P>
-<A NAME="IDX214"></A>
-<A NAME="IDX215"></A>
-<A NAME="IDX216"></A>
-
-</P>
-<P>
-The <SAMP>`-r release-1-0-patches'</SAMP> flag that was given
-to <CODE>checkout</CODE> in the previous example
-is <EM>sticky</EM>, that is, it will apply to subsequent commands
-in this directory.  If you commit any modifications, they are
-committed on the branch.  You can later merge the modifications into
-the main trunk.  See section <A HREF="cvs_53.html#SEC55">Merging</A>.
-
-</P>
-<P>
-You can use the <CODE>status</CODE> command to see what
-sticky tags or dates are set:
-
-</P>
-
-<PRE>
-$ vi driver.c   # Fix the bugs
-$ cvs commit -m "Fixed initialization bug" driver.c
-Checking in driver.c;
-/usr/local/cvsroot/yoyodyne/tc/driver.c,v  &#60;--  driver.c
-new revision: 1.7.2.1; previous revision: 1.7
-done
-$ cvs status -v driver.c
-===================================================================
-File: driver.c          Status: Up-to-date
-
-    Version:            1.7.2.1 Sat Dec  5 19:35:03 1992
-    RCS Version:        1.7.2.1 /usr/local/cvsroot/yoyodyne/tc/driver.c,v
-    Sticky Tag:         release-1-0-patches (branch: 1.7.2)
-    Sticky Date:        (none)
-    Sticky Options:     (none)
-
-    Existing Tags:
-        release-1-0-patches             (branch: 1.7.2)
-        release-1-0                     (revision: 1.7)
-
-</PRE>
-
-<P>
-<A NAME="IDX217"></A>
-<A NAME="IDX218"></A>
-<A NAME="IDX219"></A>
-The sticky tags will remain on your working files until
-you delete them with <SAMP>`cvs update -A'</SAMP>.  The
-<SAMP>`-A'</SAMP> option retrieves the version of the file from
-the head of the trunk, and forgets any sticky tags,
-dates, or options.
-
-</P>
-<P>
-<A NAME="IDX220"></A>
-Sticky tags are not just for branches.  For example,
-suppose that you want to avoid updating your working
-directory, to isolate yourself from possibly
-destabilizing changes other people are making.  You
-can, of course, just refrain from running <CODE>cvs
-update</CODE>.  But if you want to avoid updating only a
-portion of a larger tree, then sticky tags can help.
-If you check out a certain revision (such as 1.4) it
-will become sticky.  Subsequent <CODE>cvs update</CODE> will
-not retrieve the latest revision until you reset the
-tag with <CODE>cvs update -A</CODE>.  Likewise, use of the
-<SAMP>`-D'</SAMP> option to <CODE>update</CODE> or <CODE>checkout</CODE>
-sets a <EM>sticky date</EM>, which, similarly, causes that
-date to be used for future retrievals.
-
-</P>
-<P>
-<A NAME="IDX221"></A>
-<A NAME="IDX222"></A>
-Many times you will want to retrieve an old version of
-a file without setting a sticky tag.  The way to do
-that is with the <SAMP>`-p'</SAMP> option to <CODE>checkout</CODE> or
-<CODE>update</CODE>, which sends the contents of the file to
-standard output.  For example, suppose you have a file
-named <TT>`file1'</TT> which existed as revision 1.1, and
-you then removed it (thus adding a dead revision 1.2).
-Now suppose you want to add it again, with the same
-contents it had previously.  Here is how to do it:
-
-</P>
-
-<PRE>
-$ cvs update -p -r 1.1 file1 &#62;file1
-===================================================================
-Checking out file1
-RCS:  /tmp/cvs-sanity/cvsroot/first-dir/Attic/file1,v
-VERS: 1.1
-***************
-$ cvs add file1
-cvs add: re-adding file file1 (in place of dead revision 1.2)
-cvs add: use 'cvs commit' to add this file permanently
-$ cvs commit -m test
-Checking in file1;
-/tmp/cvs-sanity/cvsroot/first-dir/file1,v  &#60;--  file1
-new revision: 1.3; previous revision: 1.2
-done
-$ 
-</PRE>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_51.html">previous</A>, 
<A HREF="cvs_53.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_53.html
===================================================================
RCS file: manual/html_node/cvs_53.html
diff -N manual/html_node/cvs_53.html
--- manual/html_node/cvs_53.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,33 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Merging</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_52.html">previous</A>, 
<A HREF="cvs_54.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC55" HREF="cvs_toc.html#TOC55">Merging</A></H1>
-<P>
-<A NAME="IDX223"></A>
-<A NAME="IDX224"></A>
-<A NAME="IDX225"></A>
-<A NAME="IDX226"></A>
-<A NAME="IDX227"></A>
-
-</P>
-<P>
-You can include the changes made between any two
-revisions into your working copy, by <EM>merging</EM>.
-You can then commit that revision, and thus effectively
-copy the changes onto another branch.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_52.html">previous</A>, 
<A HREF="cvs_54.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_54.html
===================================================================
RCS file: manual/html_node/cvs_54.html
diff -N manual/html_node/cvs_54.html
--- manual/html_node/cvs_54.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,89 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Merging a branch</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_53.html">previous</A>, 
<A HREF="cvs_55.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC56" HREF="cvs_toc.html#TOC56">Merging an entire branch</A></H2>
-<P>
-<A NAME="IDX228"></A>
-<A NAME="IDX229"></A>
-
-</P>
-<P>
-You can merge changes made on a branch into your working copy by giving
-the <SAMP>`-j <VAR>branch</VAR>'</SAMP> flag to the <CODE>update</CODE> 
command.  With one
-<SAMP>`-j <VAR>branch</VAR>'</SAMP> option it merges the changes made between 
the
-point where the branch forked and newest revision on that branch (into
-your working copy).
-
-</P>
-<P>
-<A NAME="IDX230"></A>
-The <SAMP>`-j'</SAMP> stands for "join".
-
-</P>
-<P>
-<A NAME="IDX231"></A>
-<A NAME="IDX232"></A>
-<A NAME="IDX233"></A>
-Consider this revision tree:
-
-</P>
-
-<PRE>
-+-----+    +-----+    +-----+    +-----+
-! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !      &#60;- The main trunk
-+-----+    +-----+    +-----+    +-----+
-                !
-                !
-                !   +---------+    +---------+
-Branch R1fix -&#62; +---! 1.2.2.1 !----! 1.2.2.2 !
-                    +---------+    +---------+
-</PRE>
-
-<P>
-The branch 1.2.2 has been given the tag (symbolic name) <SAMP>`R1fix'</SAMP>.  
The
-following example assumes that the module <SAMP>`mod'</SAMP> contains only one
-file, <TT>`m.c'</TT>.
-
-</P>
-
-<PRE>
-$ cvs checkout mod               # Retrieve the latest revision, 1.4
-
-$ cvs update -j R1fix m.c        # Merge all changes made on the branch,
-                                 # i.e. the changes between revision 1.2
-                                 # and 1.2.2.2, into your working copy
-                                 # of the file.
-
-$ cvs commit -m "Included R1fix" # Create revision 1.5.
-</PRE>
-
-<P>
-A conflict can result from a merge operation.  If that
-happens, you should resolve it before committing the
-new revision.  See section <A HREF="cvs_38.html#SEC40">Conflicts example</A>.
-
-</P>
-<P>
-The <CODE>checkout</CODE> command also supports the <SAMP>`-j 
<VAR>branch</VAR>'</SAMP> flag.  The
-same effect as above could be achieved with this:
-
-</P>
-
-<PRE>
-$ cvs checkout -j R1fix mod
-$ cvs commit -m "Included R1fix"
-</PRE>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_53.html">previous</A>, 
<A HREF="cvs_55.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_55.html
===================================================================
RCS file: manual/html_node/cvs_55.html
diff -N manual/html_node/cvs_55.html
--- manual/html_node/cvs_55.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,102 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Merging more than once</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_54.html">previous</A>, 
<A HREF="cvs_56.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC57" HREF="cvs_toc.html#TOC57">Merging from a branch several 
times</A></H2>
-
-<P>
-Continuing our example, the revision tree now looks
-like this:
-
-</P>
-
-<PRE>
-+-----+    +-----+    +-----+    +-----+    +-----+
-! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 1.5 !      &#60;- The main trunk
-+-----+    +-----+    +-----+    +-----+    +-----+
-                !                           *
-                !                          *
-                !   +---------+    +---------+
-Branch R1fix -&#62; +---! 1.2.2.1 !----! 1.2.2.2 !
-                    +---------+    +---------+
-</PRE>
-
-<P>
-where the starred line represents the merge from the
-<SAMP>`R1fix'</SAMP> branch to the main trunk, as just
-discussed.
-
-</P>
-<P>
-Now suppose that development continues on the
-<SAMP>`R1fix'</SAMP> branch:
-
-</P>
-
-<PRE>
-+-----+    +-----+    +-----+    +-----+    +-----+
-! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 1.5 !      &#60;- The main trunk
-+-----+    +-----+    +-----+    +-----+    +-----+
-                !                           *
-                !                          *
-                !   +---------+    +---------+    +---------+
-Branch R1fix -&#62; +---! 1.2.2.1 !----! 1.2.2.2 !----! 1.2.2.3 !
-                    +---------+    +---------+    +---------+
-</PRE>
-
-<P>
-and then you want to merge those new changes onto the
-main trunk.  If you just use the <CODE>cvs update -j
-R1fix m.c</CODE> command again, CVS will attempt to
-merge again the changes which you have already merged,
-which can have undesirable side effects.
-
-</P>
-<P>
-So instead you need to specify that you only want to
-merge the changes on the branch which have not yet been
-merged into the trunk.  To do that you specify two
-<SAMP>`-j'</SAMP> options, and CVS merges the changes from
-the first revision to the second revision.  For
-example, in this case the simplest way would be
-
-</P>
-
-<PRE>
-cvs update -j 1.2.2.2 -j R1fix m.c    # Merge changes from 1.2.2.2 to the
-                                      # head of the R1fix branch
-</PRE>
-
-<P>
-The problem with this is that you need to specify the
-1.2.2.2 revision manually.  A slightly better approach
-might be to use the date the last merge was done:
-
-</P>
-
-<PRE>
-cvs update -j R1fix:yesterday -j R1fix m.c
-</PRE>
-
-<P>
-Better yet, tag the R1fix branch after every merge into
-the trunk, and then use that tag for subsequent merges:
-
-</P>
-
-<PRE>
-cvs update -j merged_from_R1fix_to_trunk -j R1fix m.c
-</PRE>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_54.html">previous</A>, 
<A HREF="cvs_56.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_56.html
===================================================================
RCS file: manual/html_node/cvs_56.html
diff -N manual/html_node/cvs_56.html
--- manual/html_node/cvs_56.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,51 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Merging two revisions</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_55.html">previous</A>, 
<A HREF="cvs_57.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC58" HREF="cvs_toc.html#TOC58">Merging differences between any 
two revisions</A></H2>
-<P>
-<A NAME="IDX234"></A>
-<A NAME="IDX235"></A>
-<A NAME="IDX236"></A>
-
-</P>
-<P>
-With two <SAMP>`-j <VAR>revision</VAR>'</SAMP> flags, the <CODE>update</CODE>
-(and <CODE>checkout</CODE>) command can merge the differences
-between any two revisions into your working file.
-
-</P>
-<P>
-<A NAME="IDX237"></A>
-<A NAME="IDX238"></A>
-
-<PRE>
-$ cvs update -j 1.5 -j 1.3 backend.c
-</PRE>
-
-<P>
-will <EM>remove</EM> all changes made between revision
-1.3 and 1.5.  Note the order of the revisions!
-
-</P>
-<P>
-If you try to use this option when operating on
-multiple files, remember that the numeric revisions will
-probably be very different between the various files
-that make up a module.  You almost always use symbolic
-tags rather than revision numbers when operating on
-multiple files.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_55.html">previous</A>, 
<A HREF="cvs_57.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_57.html
===================================================================
RCS file: manual/html_node/cvs_57.html
diff -N manual/html_node/cvs_57.html
--- manual/html_node/cvs_57.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,40 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Merging adds and removals</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_56.html">previous</A>, 
<A HREF="cvs_58.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC59" HREF="cvs_toc.html#TOC59">Merging can add or remove 
files</A></H2>
-
-<P>
-If the changes which you are merging involve removing
-or adding some files, <CODE>update -j</CODE> will reflect
-such additions or removals.
-
-</P>
-<P>
-For example:
-
-<PRE>
-cvs update -A
-touch a b c
-cvs add a b c ; cvs ci -m "added" a b c
-cvs tag -b branchtag
-cvs update -r branchtag
-touch d ; cvs add d
-rm a ; cvs rm a
-cvs ci -m "added d, removed a"
-cvs update -A
-cvs update -jbranchtag
-</PRE>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_56.html">previous</A>, 
<A HREF="cvs_58.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_58.html
===================================================================
RCS file: manual/html_node/cvs_58.html
diff -N manual/html_node/cvs_58.html
--- manual/html_node/cvs_58.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,100 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Recursive behavior</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_57.html">previous</A>, 
<A HREF="cvs_59.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC60" HREF="cvs_toc.html#TOC60">Recursive behavior</A></H1>
-<P>
-<A NAME="IDX239"></A>
-<A NAME="IDX240"></A>
-<A NAME="IDX241"></A>
-<A NAME="IDX242"></A>
-
-</P>
-<P>
-Almost all of the subcommands of CVS work
-recursively when you specify a directory as an
-argument.  For instance, consider this directory
-structure:
-
-</P>
-
-<PRE>
-      <CODE>$HOME</CODE>
-        |
-        +--<TT>tc</TT>
-        |   |
-            +--<TT>CVS</TT>
-            |      (internal CVS files)
-            +--<TT>Makefile</TT>
-            +--<TT>backend.c</TT>
-            +--<TT>driver.c</TT>
-            +--<TT>frontend.c</TT>
-            +--<TT>parser.c</TT>
-            +--<TT>man</TT>
-            |    |
-            |    +--<TT>CVS</TT>
-            |    |  (internal CVS files)
-            |    +--<TT>tc.1</TT>
-            |     
-            +--<TT>testing</TT>
-                 |
-                 +--<TT>CVS</TT>
-                 |  (internal CVS files)
-                 +--<TT>testpgm.t</TT>
-                 +--<TT>test2.t</TT>
-</PRE>
-
-<P>
-If <TT>`tc'</TT> is the current working directory, the
-following is true:
-
-</P>
-
-<UL>
-<LI>
-
-<SAMP>`cvs update testing'</SAMP> is equivalent to <SAMP>`cvs
-update testing/testpgm.t testing/test2.t'</SAMP>
-
-<LI>
-
-<SAMP>`cvs update testing man'</SAMP> updates all files in the
-subdirectories 
-
-<LI>
-
-<SAMP>`cvs update .'</SAMP> or just <SAMP>`cvs update'</SAMP> updates
-all files in the <CODE>tc</CODE> module
-</UL>
-
-<P>
-If no arguments are given to <CODE>update</CODE> it will
-update all files in the current working directory and
-all its subdirectories.  In other words, <TT>`.'</TT> is a
-default argument to <CODE>update</CODE>.  This is also true
-for most of the CVS subcommands, not only the
-<CODE>update</CODE> command.
-
-</P>
-<P>
-The recursive behavior of the CVS subcommands can be
-turned off with the <SAMP>`-l'</SAMP> option.
-
-</P>
-
-<PRE>
-$ cvs update -l         # Don't update files in subdirectories
-</PRE>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_57.html">previous</A>, 
<A HREF="cvs_59.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_59.html
===================================================================
RCS file: manual/html_node/cvs_59.html
diff -N manual/html_node/cvs_59.html
--- manual/html_node/cvs_59.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,129 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Adding files</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_58.html">previous</A>, 
<A HREF="cvs_60.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC61" HREF="cvs_toc.html#TOC61">Adding files to a 
directory</A></H1>
-<P>
-<A NAME="IDX243"></A>
-
-</P>
-<P>
-To add a new file to a directory, follow these steps.
-
-</P>
-
-<UL>
-<LI>
-
-You must have a working copy of the directory.
-See section <A HREF="cvs_10.html#SEC11">Getting the source</A>.
-
-<LI>
-
-Create the new file inside your working copy of the directory.
-
-<LI>
-
-Use <SAMP>`cvs add <VAR>filename</VAR>'</SAMP> to tell CVS that you
-want to version control the file.  If the file contains
-binary data, specify <SAMP>`-kb'</SAMP> (see section <A 
HREF="cvs_81.html#SEC83">Handling binary files</A>).
-
-<LI>
-
-Use <SAMP>`cvs commit <VAR>filename</VAR>'</SAMP> to actually check
-in the file into the repository.  Other developers
-cannot see the file until you perform this step.
-</UL>
-
-<P>
-You can also use the <CODE>add</CODE> command to add a new
-directory.
-
-</P>
-<P>
-Unlike most other commands, the <CODE>add</CODE> command is
-not recursive.  You cannot even type <SAMP>`cvs add
-foo/bar'</SAMP>!  Instead, you have to
-
-</P>
-
-<PRE>
-$ cd foo
-$ cvs add bar
-</PRE>
-
-<P>
-<A NAME="IDX244"></A>
-<DL>
-<DT><U>Command:</U> <B>cvs add</B> <I>[<CODE>-k</CODE> kflag] [<CODE>-m</CODE> 
message] files ...</I>
-<DD><A NAME="IDX245"></A>
-
-</P>
-<P>
-Schedule <VAR>files</VAR> to be added to the repository.
-The files or directories specified with <CODE>add</CODE> must
-already exist in the current directory.  To add a whole
-new directory hierarchy to the source repository (for
-example, files received from a third-party vendor), use
-the <CODE>import</CODE> command instead.  See section <A 
HREF="cvs_105.html#SEC112">import--Import sources into CVS, using vendor 
branches</A>.
-
-</P>
-<P>
-The added files are not placed in the source repository
-until you use <CODE>commit</CODE> to make the change
-permanent.  Doing an <CODE>add</CODE> on a file that was
-removed with the <CODE>remove</CODE> command will undo the
-effect of the <CODE>remove</CODE>, unless a <CODE>commit</CODE>
-command intervened.  See section <A HREF="cvs_60.html#SEC62">Removing files 
from a module</A>, for an
-example.
-
-</P>
-<P>
-The <SAMP>`-k'</SAMP> option specifies the default way that
-this file will be checked out; for more information see
-section <A HREF="cvs_79.html#SEC81">Substitution modes</A>.
-
-</P>
-<P>
-The <SAMP>`-m'</SAMP> option specifies a description for the
-file.  This description appears in the history log (if
-it is enabled, see section <A HREF="cvs_142.html#SEC149">The history 
file</A>).  It will also be
-saved in the version history inside the repository when
-the file is committed.  The <CODE>log</CODE> command displays
-this description.  The description can be changed using
-<SAMP>`admin -t'</SAMP>.  See section <A 
HREF="cvs_89.html#SEC91">admin--Administration front end for rcs</A>.  If you 
omit the
-<SAMP>`-m <VAR>description</VAR>'</SAMP> flag, an empty string will
-be used.  You will not be prompted for a description.
-</DL>
-
-</P>
-<P>
-For example, the following commands add the file
-<TT>`backend.c'</TT> to the repository:
-
-</P>
-
-<PRE>
-$ cvs add backend.c
-$ cvs commit -m "Early version. Not yet compilable." backend.c
-</PRE>
-
-<P>
-When you add a file it is added only on the branch
-which you are working on (see section <A 
HREF="cvs_48.html#SEC50">Branches</A>).  You can
-later merge the additions to another branch if you want
-(see section <A HREF="cvs_57.html#SEC59">Merging can add or remove files</A>).
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_58.html">previous</A>, 
<A HREF="cvs_60.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_6.html
===================================================================
RCS file: manual/html_node/cvs_6.html
diff -N manual/html_node/cvs_6.html
--- manual/html_node/cvs_6.html 7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,35 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Basic concepts</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_5.html">previous</A>, 
<A HREF="cvs_7.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC7" HREF="cvs_toc.html#TOC7">Basic concepts</A></H1>
-<P>
-<A NAME="IDX23"></A>
-
-</P>
-<P>
-CVS stores all files in a centralized
-<EM>repository</EM> (see section <A HREF="cvs_14.html#SEC15">The 
Repository</A>).
-
-</P>
-<P>
-The repository contains directories and files, in an
-arbitrary tree.  The <EM>modules</EM> feature can be used
-to group together a set of directories or files into a
-single entity (see section <A HREF="cvs_130.html#SEC137">The modules 
file</A>).  A typical usage is to
-define one module per project.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_5.html">previous</A>, 
<A HREF="cvs_7.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_60.html
===================================================================
RCS file: manual/html_node/cvs_60.html
diff -N manual/html_node/cvs_60.html
--- manual/html_node/cvs_60.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,147 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Removing files</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_59.html">previous</A>, 
<A HREF="cvs_61.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC62" HREF="cvs_toc.html#TOC62">Removing files from a 
module</A></H1>
-<P>
-<A NAME="IDX246"></A>
-<A NAME="IDX247"></A>
-
-</P>
-<P>
-Modules change.  New files are added, and old files
-disappear.  Still, you want to be able to retrieve an
-exact copy of old releases of the module.
-
-</P>
-<P>
-Here is what you can do to remove a file from a module,
-but remain able to retrieve old revisions:
-
-</P>
-
-<UL>
-<LI>
-
-Make sure that you have not made any uncommitted
-modifications to the file.  See section <A HREF="cvs_13.html#SEC14">Viewing 
differences</A>,
-for one way to do that.  You can also use the
-<CODE>status</CODE> or <CODE>update</CODE> command.  If you remove
-the file without committing your changes, you will of
-course not be able to retrieve the file as it was
-immediately before you deleted it.
-
-<LI>
-
-Remove the file from your working copy of the module.
-You can for instance use <CODE>rm</CODE>.
-
-<LI>
-
-Use <SAMP>`cvs remove <VAR>filename</VAR>'</SAMP> to tell CVS that
-you really want to delete the file.
-
-<LI>
-
-Use <SAMP>`cvs commit <VAR>filename</VAR>'</SAMP> to actually
-perform the removal of the file from the repository.
-</UL>
-
-<P>
-When you commit the removal of the file, CVS
-records the fact that the file no longer exists.  It is
-possible for a file to exist on only some branches and
-not on others, or to re-add another file with the same
-name later.  CVS will correctly create or not create
-the file, based on the <SAMP>`-r'</SAMP> and <SAMP>`-D'</SAMP> options
-specified to <CODE>checkout</CODE> or <CODE>update</CODE>.
-
-</P>
-<P>
-<A NAME="IDX248"></A>
-<DL>
-<DT><U>Command:</U> <B>cvs remove</B> <I>[<CODE>-lR</CODE>] files ...</I>
-<DD><A NAME="IDX249"></A>
-
-</P>
-<P>
-Schedule file(s) to be removed from the repository
-(files which have not already been removed from the
-working directory are not processed).  This command
-does not actually remove the file from the repository
-until you commit the removal.  The <SAMP>`-R'</SAMP> option
-(the default) specifies that it will recurse into
-subdirectories; <SAMP>`-l'</SAMP> specifies that it will not.
-</DL>
-
-</P>
-<P>
-Here is an example of removing several files:
-
-</P>
-
-<PRE>
-$ cd test
-$ rm ?.c
-$ cvs remove
-cvs remove: Removing .
-cvs remove: scheduling a.c for removal
-cvs remove: scheduling b.c for removal
-cvs remove: use 'cvs commit' to remove these files permanently
-$ cvs ci -m "Removed unneeded files"
-cvs commit: Examining .
-cvs commit: Committing .
-</PRE>
-
-<P>
-If you change your mind you can easily resurrect the
-file before you commit it, using the <CODE>add</CODE>
-command.
-
-</P>
-
-<PRE>
-$ ls
-CVS   ja.h  oj.c
-$ rm oj.c
-$ cvs remove oj.c
-cvs remove: scheduling oj.c for removal
-cvs remove: use 'cvs commit' to remove this file permanently
-$ cvs add oj.c
-U oj.c
-cvs add: oj.c, version 1.1.1.1, resurrected
-</PRE>
-
-<P>
-If you realize your mistake before you run the
-<CODE>remove</CODE> command you can use <CODE>update</CODE> to
-resurrect the file:
-
-</P>
-
-<PRE>
-$ rm oj.c
-$ cvs update oj.c
-cvs update: warning: oj.c was lost
-U oj.c
-</PRE>
-
-<P>
-When you remove a file it is added only on the branch
-which you are working on (see section <A 
HREF="cvs_48.html#SEC50">Branches</A>).  You can
-later merge the additions to another branch if you want
-(see section <A HREF="cvs_57.html#SEC59">Merging can add or remove files</A>).
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_59.html">previous</A>, 
<A HREF="cvs_61.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_61.html
===================================================================
RCS file: manual/html_node/cvs_61.html
diff -N manual/html_node/cvs_61.html
--- manual/html_node/cvs_61.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,58 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Tracking sources</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_60.html">previous</A>, 
<A HREF="cvs_62.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC63" HREF="cvs_toc.html#TOC63">Tracking third-party 
sources</A></H1>
-<P>
-<A NAME="IDX250"></A>
-<A NAME="IDX251"></A>
-
-</P>
-<P>
-If you modify a program to better fit your site, you
-probably want to include your modifications when the next
-release of the program arrives.  CVS can help you with
-this task.
-
-</P>
-<P>
-<A NAME="IDX252"></A>
-<A NAME="IDX253"></A>
-<A NAME="IDX254"></A>
-In the terminology used in CVS, the supplier of the
-program is called a <EM>vendor</EM>.  The unmodified
-distribution from the vendor is checked in on its own
-branch, the <EM>vendor branch</EM>.  CVS reserves branch
-1.1.1 for this use.
-
-</P>
-<P>
-When you modify the source and commit it, your revision
-will end up on the main trunk.  When a new release is
-made by the vendor, you commit it on the vendor branch
-and copy the modifications onto the main trunk.
-
-</P>
-<P>
-Use the <CODE>import</CODE> command to create and update
-the vendor branch.  After a successful <CODE>import</CODE>
-the vendor branch is made the `head' revision, so
-anyone that checks out a copy of the file gets that
-revision.  When a local modification is committed it is
-placed on the main trunk, and made the `head'
-revision.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_60.html">previous</A>, 
<A HREF="cvs_62.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_62.html
===================================================================
RCS file: manual/html_node/cvs_62.html
diff -N manual/html_node/cvs_62.html
--- manual/html_node/cvs_62.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,56 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - First import</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_61.html">previous</A>, 
<A HREF="cvs_63.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC64" HREF="cvs_toc.html#TOC64">Importing a module for the first 
time</A></H2>
-<P>
-<A NAME="IDX255"></A>
-
-</P>
-<P>
-Use the <CODE>import</CODE> command to check in the sources
-for the first time.  When you use the <CODE>import</CODE>
-command to track third-party sources, the <EM>vendor
-tag</EM> and <EM>release tags</EM> are useful.  The
-<EM>vendor tag</EM> is a symbolic name for the branch
-(which is always 1.1.1, unless you use the <SAMP>`-b
-<VAR>branch</VAR>'</SAMP> flag---See section <A 
HREF="cvs_106.html#SEC113">import options</A>).  The
-<EM>release tags</EM> are symbolic names for a particular
-release, such as <SAMP>`FSF_0_04'</SAMP>.
-
-</P>
-<P>
-<A NAME="IDX256"></A>
-Suppose you use <CODE>wdiff</CODE> (a variant of <CODE>diff</CODE>
-that ignores changes that only involve whitespace), and
-are going to make private modifications that you want
-to be able to use even when new releases are made in
-the future.  You start by importing the source to your
-repository:
-
-</P>
-
-<PRE>
-$ tar xfz wdiff-0.04.tar.gz
-$ cd wdiff-0.04
-$ cvs import -m "Import of FSF v. 0.04" fsf/wdiff FSF_DIST WDIFF_0_04
-</PRE>
-
-<P>
-The vendor tag is named <SAMP>`FSF_DIST'</SAMP> in the above
-example, and the only release tag assigned is
-<SAMP>`WDIFF_0_04'</SAMP>.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_61.html">previous</A>, 
<A HREF="cvs_63.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_63.html
===================================================================
RCS file: manual/html_node/cvs_63.html
diff -N manual/html_node/cvs_63.html
--- manual/html_node/cvs_63.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,67 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Update imports</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_62.html">previous</A>, 
<A HREF="cvs_64.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC65" HREF="cvs_toc.html#TOC65">Updating a module with the 
import command</A></H2>
-
-<P>
-When a new release of the source arrives, you import it into the
-repository with the same <CODE>import</CODE> command that you used to set up
-the repository in the first place.  The only difference is that you
-specify a different release tag this time.
-
-</P>
-
-<PRE>
-$ tar xfz wdiff-0.05.tar.gz
-$ cd wdiff-0.05
-$ cvs import -m "Import of FSF v. 0.05" fsf/wdiff FSF_DIST WDIFF_0_05
-</PRE>
-
-<P>
-For files that have not been modified locally, the newly created
-revision becomes the head revision.  If you have made local
-changes, <CODE>import</CODE> will warn you that you must merge the changes
-into the main trunk, and tell you to use <SAMP>`checkout -j'</SAMP> to do so.
-
-</P>
-
-<PRE>
-$ cvs checkout -jFSF_DIST:yesterday -jFSF_DIST wdiff
-</PRE>
-
-<P>
-The above command will check out the latest revision of
-<SAMP>`wdiff'</SAMP>, merging the changes made on the vendor branch 
<SAMP>`FSF_DIST'</SAMP>
-since yesterday into the working copy.  If any conflicts arise during
-the merge they should be resolved in the normal way (see section <A 
HREF="cvs_38.html#SEC40">Conflicts example</A>).  Then, the modified files may 
be committed.
-
-</P>
-<P>
-Using a date, as suggested above, assumes that you do
-not import more than one release of a product per
-day. If you do, you can always use something like this
-instead:
-
-</P>
-
-<PRE>
-$ cvs checkout -jWDIFF_0_04 -jWDIFF_0_05 wdiff
-</PRE>
-
-<P>
-In this case, the two above commands are equivalent.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_62.html">previous</A>, 
<A HREF="cvs_64.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_64.html
===================================================================
RCS file: manual/html_node/cvs_64.html
diff -N manual/html_node/cvs_64.html
--- manual/html_node/cvs_64.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,23 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Binary files in imports</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_63.html">previous</A>, 
<A HREF="cvs_65.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC66" HREF="cvs_toc.html#TOC66">How to handle binary files with 
cvs import</A></H2>
-
-<P>
-Use the <SAMP>`-k'</SAMP> wrapper option to tell import which
-files are binary.  See section <A HREF="cvs_131.html#SEC138">The cvswrappers 
file</A>.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_63.html">previous</A>, 
<A HREF="cvs_65.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_65.html
===================================================================
RCS file: manual/html_node/cvs_65.html
diff -N manual/html_node/cvs_65.html
--- manual/html_node/cvs_65.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,36 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Moving files</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_64.html">previous</A>, 
<A HREF="cvs_66.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC67" HREF="cvs_toc.html#TOC67">Moving and renaming 
files</A></H1>
-<P>
-<A NAME="IDX257"></A>
-<A NAME="IDX258"></A>
-<A NAME="IDX259"></A>
-
-</P>
-<P>
-Moving files to a different directory or renaming them
-is not difficult, but some of the ways in which this
-works may be non-obvious.  (Moving or renaming a
-directory is even harder.  See section <A HREF="cvs_69.html#SEC71">Moving and 
renaming directories</A>).
-
-</P>
-<P>
-The examples below assume that the file <VAR>old</VAR> is renamed to
-<VAR>new</VAR>.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_64.html">previous</A>, 
<A HREF="cvs_66.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_66.html
===================================================================
RCS file: manual/html_node/cvs_66.html
diff -N manual/html_node/cvs_66.html
--- manual/html_node/cvs_66.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,50 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Outside</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_65.html">previous</A>, 
<A HREF="cvs_67.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC68" HREF="cvs_toc.html#TOC68">The Normal way to Rename</A></H2>
-
-<P>
-The normal way to move a file is to copy <VAR>old</VAR> to
-<VAR>new</VAR>, and then issue the normal CVS commands
-to remove <VAR>old</VAR> from the repository, and add
-<VAR>new</VAR> to it.  (Both <VAR>old</VAR> and <VAR>new</VAR> could
-contain relative paths, for example <TT>`foo/bar.c'</TT>).
-
-</P>
-
-<PRE>
-$ mv <VAR>old</VAR> <VAR>new</VAR>
-$ cvs remove <VAR>old</VAR>
-$ cvs add <VAR>new</VAR> 
-$ cvs commit -m "Renamed <VAR>old</VAR> to <VAR>new</VAR>" <VAR>old</VAR> 
<VAR>new</VAR>
-</PRE>
-
-<P>
-This is the simplest way to move a file, it is not
-error-prone, and it preserves the history of what was
-done.  Note that to access the history of the file you
-must specify the old or the new name, depending on what
-portion of the history you are accessing.  For example,
-<CODE>cvs log <VAR>old</VAR></CODE> will give the log up until the
-time of the rename.
-
-</P>
-<P>
-When <VAR>new</VAR> is committed its revision numbers will
-start at 1.0 again, so if that bothers you, use the
-<SAMP>`-r rev'</SAMP> option to commit (see section <A 
HREF="cvs_96.html#SEC100">commit options</A>)
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_65.html">previous</A>, 
<A HREF="cvs_67.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_67.html
===================================================================
RCS file: manual/html_node/cvs_67.html
diff -N manual/html_node/cvs_67.html
--- manual/html_node/cvs_67.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,68 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Inside</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_66.html">previous</A>, 
<A HREF="cvs_68.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC69" HREF="cvs_toc.html#TOC69">Moving the history file</A></H2>
-
-<P>
-This method is more dangerous, since it involves moving
-files inside the repository.  Read this entire section
-before trying it out!
-
-</P>
-
-<PRE>
-$ cd $CVSROOT/<VAR>module</VAR>
-$ mv <VAR>old</VAR>,v <VAR>new</VAR>,v
-</PRE>
-
-<P>
-Advantages:
-
-</P>
-
-<UL>
-<LI>
-
-The log of changes is maintained intact.
-
-<LI>
-
-The revision numbers are not affected.
-</UL>
-
-<P>
-Disadvantages:
-
-</P>
-
-<UL>
-<LI>
-
-Old releases of the module cannot easily be fetched from the
-repository.  (The file will show up as <VAR>new</VAR> even
-in revisions from the time before it was renamed).
-
-<LI>
-
-There is no log information of when the file was renamed.
-
-<LI>
-
-Nasty things might happen if someone accesses the history file
-while you are moving it.  Make sure no one else runs any of the CVS
-commands while you move it.
-</UL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_66.html">previous</A>, 
<A HREF="cvs_68.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_68.html
===================================================================
RCS file: manual/html_node/cvs_68.html
diff -N manual/html_node/cvs_68.html
--- manual/html_node/cvs_68.html        7 Nov 2003 20:55:32 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,83 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Rename by copying</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_67.html">previous</A>, 
<A HREF="cvs_69.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC70" HREF="cvs_toc.html#TOC70">Copying the history file</A></H2>
-
-<P>
-This way also involves direct modifications to the
-repository.  It is safe, but not without drawbacks.
-
-</P>
-
-<PRE>
-# Copy the RCS file inside the repository
-$ cd $CVSROOT/<VAR>module</VAR>
-$ cp <VAR>old</VAR>,v <VAR>new</VAR>,v
-# Remove the old file
-$ cd ~/<VAR>module</VAR>
-$ rm <VAR>old</VAR>
-$ cvs remove <VAR>old</VAR>
-$ cvs commit <VAR>old</VAR>
-# Remove all tags from <VAR>new</VAR>
-$ cvs update <VAR>new</VAR>
-$ cvs log <VAR>new</VAR>             # Remember the non-branch tag names
-$ cvs tag -d <VAR>tag1</VAR> <VAR>new</VAR>
-$ cvs tag -d <VAR>tag2</VAR> <VAR>new</VAR>
-...
-</PRE>
-
-<P>
-By removing the tags you will be able to check out old
-revisions of the module.
-
-</P>
-<P>
-Advantages:
-
-</P>
-
-<UL>
-<LI>
-
-Checking out old revisions works correctly, as long as
-you use <SAMP>`-r<VAR>tag</VAR>'</SAMP> and not 
<SAMP>`-D<VAR>date</VAR>'</SAMP>
-to retrieve the revisions.
-
-<LI>
-
-The log of changes is maintained intact.
-
-<LI>
-
-The revision numbers are not affected.
-</UL>
-
-<P>
-Disadvantages:
-
-</P>
-
-<UL>
-<LI>
-
-You cannot easily see the history of the file across the rename.
-
-<LI>
-
-Unless you use the <SAMP>`-r rev'</SAMP> (see section <A 
HREF="cvs_96.html#SEC100">commit options</A>) flag when <VAR>new</VAR> is 
committed its revision
-numbers will start at 1.0 again.
-</UL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_67.html">previous</A>, 
<A HREF="cvs_69.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_69.html
===================================================================
RCS file: manual/html_node/cvs_69.html
diff -N manual/html_node/cvs_69.html
--- manual/html_node/cvs_69.html        7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,82 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Moving directories</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_68.html">previous</A>, 
<A HREF="cvs_70.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC71" HREF="cvs_toc.html#TOC71">Moving and renaming 
directories</A></H1>
-<P>
-<A NAME="IDX260"></A>
-<A NAME="IDX261"></A>
-<A NAME="IDX262"></A>
-
-</P>
-<P>
-If you want to be able to retrieve old versions of the
-module, you must move each file in the directory
-with the CVS commands.  See section <A HREF="cvs_66.html#SEC68">The Normal way 
to Rename</A>.  The old, empty
-directory will remain inside the repository, but it
-will not appear in your workspace when you check out
-the module in the future.
-
-</P>
-<P>
-If you really want to rename or delete a directory, you
-can do it like this:
-
-</P>
-
-<OL>
-<LI>
-
-Inform everyone who has a copy of the module that the
-directory will be renamed.  They should commit all
-their changes, and remove their working copies of the
-module, before you take the steps below.
-
-<LI>
-
-Rename the directory inside the repository.
-
-
-<PRE>
-$ cd $CVSROOT/<VAR>module</VAR>
-$ mv <VAR>old-dir</VAR> <VAR>new-dir</VAR>
-</PRE>
-
-<LI>
-
-Fix the CVS administrative files, if necessary (for
-instance if you renamed an entire module).
-
-<LI>
-
-Tell everyone that they can check out the module and continue
-working.
-
-</OL>
-
-<P>
-If someone had a working copy of the module the CVS commands will
-cease to work for him, until he removes the directory
-that disappeared inside the repository.
-
-</P>
-<P>
-It is almost always better to move the files in the
-directory instead of moving the directory.  If you move the
-directory you are unlikely to be able to retrieve old
-releases correctly, since they probably depend on the
-name of the directories.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_68.html">previous</A>, 
<A HREF="cvs_70.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_7.html
===================================================================
RCS file: manual/html_node/cvs_7.html
diff -N manual/html_node/cvs_7.html
--- manual/html_node/cvs_7.html 7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,107 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Revision numbers</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_6.html">previous</A>, 
<A HREF="cvs_8.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC8" HREF="cvs_toc.html#TOC8">Revision numbers</A></H2>
-<P>
-<A NAME="IDX24"></A>
-<A NAME="IDX25"></A>
-<A NAME="IDX26"></A>
-<A NAME="IDX27"></A>
-<A NAME="IDX28"></A>
-<A NAME="IDX29"></A>
-<A NAME="IDX30"></A>
-<A NAME="IDX31"></A>
-
-</P>
-<P>
-Each version of a file has a unique <EM>revision
-number</EM>.  Revision numbers look like <SAMP>`1.1'</SAMP>,
-<SAMP>`1.2'</SAMP>, <SAMP>`1.3.2.2'</SAMP> or even <SAMP>`1.3.2.2.4.5'</SAMP>.
-A revision number always has an even number of
-period-separated decimal integers.  By default revision
-1.1 is the first revision of a file.  Each successive
-revision is given a new number by increasing the
-rightmost number by one.  The following figure displays
-a few revisions, with newer revisions to the right.
-
-</P>
-
-<PRE>
-       +-----+    +-----+    +-----+    +-----+    +-----+
-       ! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 1.5 !
-       +-----+    +-----+    +-----+    +-----+    +-----+
-</PRE>
-
-<P>
-CVS is not limited to linear development.  The
-<EM>revision tree</EM> can be split into <EM>branches</EM>,
-where each branch is a self-maintained line of
-development.  Changes made on one branch can easily be
-moved back to the main trunk.  
-
-</P>
-<P>
-Each branch has a <EM>branch number</EM>, consisting of an
-odd number of period-separated decimal integers.  The
-branch number is created by appending an integer to the
-revision number where the corresponding branch forked
-off.  Having branch numbers allows more than one branch
-to be forked off from a certain revision.
-
-</P>
-<P>
-All revisions on a branch have revision numbers formed
-by appending an ordinal number to the branch number.
-The following figure illustrates branching with an
-example.
-
-</P>
-
-<PRE>
-                                                     +-------------+
-                          Branch 1.2.2.3.2 -&#62;        ! 1.2.2.3.2.1 !
-                                                   / +-------------+
-                                                  /
-                                                 /
-                 +---------+    +---------+    +---------+    +---------+
-Branch 1.2.2 -&#62; _! 1.2.2.1 !----! 1.2.2.2 !----! 1.2.2.3 !----! 1.2.2.4 !
-               / +---------+    +---------+    +---------+    +---------+
-              /
-             /
-+-----+    +-----+    +-----+    +-----+    +-----+
-! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 1.5 !      &#60;- The main trunk
-+-----+    +-----+    +-----+    +-----+    +-----+
-                !
-                !
-                !   +---------+    +---------+    +---------+
-Branch 1.2.4 -&#62; +---! 1.2.4.1 !----! 1.2.4.2 !----! 1.2.4.3 !
-                    +---------+    +---------+    +---------+
-
-</PRE>
-
-<P>
-The exact details of how the branch number is
-constructed is not something you normally need to be
-concerned about, but here is how it works: When
-CVS creates a branch number it picks the first
-unused even integer, starting with 2.  So when you want
-to create a branch from revision 6.4 it will be
-numbered 6.4.2.  All branch numbers ending in a zero
-(such as 6.4.0) are used internally by CVS
-(see section <A HREF="cvs_146.html#SEC153">Magic branch numbers</A>).  The 
branch 1.1.1 has a
-special meaning.  See section <A HREF="cvs_61.html#SEC63">Tracking third-party 
sources</A>.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_6.html">previous</A>, 
<A HREF="cvs_8.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_70.html
===================================================================
RCS file: manual/html_node/cvs_70.html
diff -N manual/html_node/cvs_70.html
--- manual/html_node/cvs_70.html        7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,32 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - History browsing</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_69.html">previous</A>, 
<A HREF="cvs_71.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC72" HREF="cvs_toc.html#TOC72">History browsing</A></H1>
-<P>
-<A NAME="IDX263"></A>
-<A NAME="IDX264"></A>
-<A NAME="IDX265"></A>
-
-</P>
-
-<P>
-Once you have used CVS to store a version control
-history--what files have changed when, how, and by
-whom, there are a variety of mechanisms for looking
-through the history.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_69.html">previous</A>, 
<A HREF="cvs_71.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_71.html
===================================================================
RCS file: manual/html_node/cvs_71.html
diff -N manual/html_node/cvs_71.html
--- manual/html_node/cvs_71.html        7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,28 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - log messages</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_70.html">previous</A>, 
<A HREF="cvs_72.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC73" HREF="cvs_toc.html#TOC73">Log messages</A></H2>
-
-<P>
-Whenever you commit a file you specify a log message.
-
-</P>
-<P>
-To look through the log messages which have been
-specified for every revision which has been committed,
-use the <CODE>cvs log</CODE> command (see section <A 
HREF="cvs_109.html#SEC116">log--Print out log information for files</A>).
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_70.html">previous</A>, 
<A HREF="cvs_72.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_72.html
===================================================================
RCS file: manual/html_node/cvs_72.html
diff -N manual/html_node/cvs_72.html
--- manual/html_node/cvs_72.html        7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,25 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - history database</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_71.html">previous</A>, 
<A HREF="cvs_73.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC74" HREF="cvs_toc.html#TOC74">The history database</A></H2>
-
-<P>
-You can use the history file (see section <A HREF="cvs_142.html#SEC149">The 
history file</A>) to
-log various CVS actions.  To retrieve the
-information from the history file, use the <CODE>cvs
-history</CODE> command (see section <A 
HREF="cvs_103.html#SEC110">history--Show status of files and users</A>).
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_71.html">previous</A>, 
<A HREF="cvs_73.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_73.html
===================================================================
RCS file: manual/html_node/cvs_73.html
diff -N manual/html_node/cvs_73.html
--- manual/html_node/cvs_73.html        7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,53 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - user-defined logging</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_72.html">previous</A>, 
<A HREF="cvs_74.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC75" HREF="cvs_toc.html#TOC75">User-defined logging</A></H2>
-
-<P>
-You can customize CVS to log various kinds of
-actions, in whatever manner you choose.  These
-mechanisms operate by executing a script at various
-times.  The script might append a message to a file
-listing the information and the programmer who created
-it, or send mail to a group of developers, or, perhaps,
-post a message to a particular newsgroup.  To log
-commits, use the <TT>`loginfo'</TT> file (see section <A 
HREF="cvs_137.html#SEC144">Loginfo</A>).
-To log commits, checkouts, exports, and tags,
-respectively, you can also use the <SAMP>`-i'</SAMP>,
-<SAMP>`-o'</SAMP>, <SAMP>`-e'</SAMP>, and <SAMP>`-t'</SAMP> options in the
-modules file.  For a more flexible way of giving
-notifications to various users, which requires less in
-the way of keeping centralized scripts up to date, use
-the <CODE>cvs watch add</CODE> command (see section <A 
HREF="cvs_43.html#SEC45">Telling CVS to notify you</A>); this command is useful 
even if you are not
-using <CODE>cvs watch on</CODE>.
-
-</P>
-<P>
-<A NAME="IDX266"></A>
-The <TT>`taginfo'</TT> file defines programs to execute
-when someone executes a <CODE>tag</CODE> or <CODE>rtag</CODE>
-command.  The <TT>`taginfo'</TT> file has the standard form
-for administrative files (see section <A HREF="cvs_129.html#SEC136">Reference 
manual for the Administrative files</A>), where each line is a regular 
expression
-followed by a command to execute.  The arguments passed
-to the command are, in order, the <VAR>tagname</VAR>,
-<VAR>operation</VAR> (<CODE>add</CODE> for <CODE>tag</CODE>,
-<CODE>mov</CODE> for <CODE>tag -F</CODE>, and <CODE>del</CODE> for
-<CODE>tag -d</CODE>), <VAR>repository</VAR>, and any remaining are
-pairs of <VAR>filename</VAR> <VAR>revision</VAR>.  A non-zero
-exit of the filter program will cause the tag to be
-aborted.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_72.html">previous</A>, 
<A HREF="cvs_74.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_74.html
===================================================================
RCS file: manual/html_node/cvs_74.html
diff -N manual/html_node/cvs_74.html
--- manual/html_node/cvs_74.html        7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,83 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - annotate</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_73.html">previous</A>, 
<A HREF="cvs_75.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC76" HREF="cvs_toc.html#TOC76">Annotate command</A></H2>
-<P>
-<A NAME="IDX267"></A>
-
-</P>
-<P>
-<DL>
-<DT><U>Command:</U> <B>cvs annotate</B> <I>[<CODE>-lf</CODE>] [<CODE>-r 
rev</CODE>|<CODE>-D date</CODE>] files ...</I>
-<DD><A NAME="IDX268"></A>
-
-</P>
-<P>
-For each file in <VAR>files</VAR>, print the head revision
-of the trunk, together with information on the last
-modification for each line.  For example:
-
-</P>
-
-<PRE>
-$ cvs annotate ssfile
-Annotations for ssfile
-***************
-1.1          (mary     27-Mar-96): ssfile line 1
-1.2          (joe      28-Mar-96): ssfile line 2
-</PRE>
-
-<P>
-The file <TT>`ssfile'</TT> currently contains two lines.
-The <CODE>ssfile line 1</CODE> line was checked in by
-<CODE>mary</CODE> on March 27.  Then, on March 28, <CODE>joe</CODE>
-added a line <CODE>ssfile line 2</CODE>, without modifying
-the <CODE>ssfile line 1</CODE> line.  This report doesn't
-tell you anything about lines which have been deleted
-or replaced; you need to use <CODE>cvs diff</CODE> for that
-(see section <A HREF="cvs_98.html#SEC105">diff--Run diffs between 
revisions</A>).
-
-</P>
-</DL>
-
-<P>
-These standard options are available with
-<CODE>annotate</CODE> (see section <A HREF="cvs_88.html#SEC90">Common command 
options</A>, for a complete
-description of them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-D <VAR>date</VAR></CODE>
-<DD>
-Annotate the most recent revision no later than <VAR>date</VAR>.
-
-<DT><CODE>-f</CODE>
-<DD>
-Only useful with the <SAMP>`-D <VAR>date</VAR>'</SAMP> or <SAMP>`-r
-<VAR>tag</VAR>'</SAMP> flags.  If no matching revision is found,
-annotate the most recent revision (instead of ignoring
-the file).
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.  See section <A 
HREF="cvs_58.html#SEC60">Recursive behavior</A>.
-
-<DT><CODE>-r <VAR>tag</VAR></CODE>
-<DD>
-Annotate revision <VAR>tag</VAR>.
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_73.html">previous</A>, 
<A HREF="cvs_75.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_75.html
===================================================================
RCS file: manual/html_node/cvs_75.html
diff -N manual/html_node/cvs_75.html
--- manual/html_node/cvs_75.html        7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,45 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Keyword substitution</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_74.html">previous</A>, 
<A HREF="cvs_76.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC77" HREF="cvs_toc.html#TOC77">Keyword substitution</A></H1>
-<P>
-<A NAME="IDX269"></A>
-<A NAME="IDX270"></A>
-<A NAME="IDX271"></A>
-
-</P>
-
-<P>
-As long as you edit source files inside your working
-copy of a module you can always find out the state of
-your files via <SAMP>`cvs status'</SAMP> and <SAMP>`cvs log'</SAMP>.
-But as soon as you export the files from your
-development environment it becomes harder to identify
-which revisions they are.
-
-</P>
-<P>
-RCS uses a mechanism known as <EM>keyword
-substitution</EM> (or <EM>keyword expansion</EM>) to help
-identifying the files.  Embedded strings of the form
-<CODE>$<VAR>keyword</VAR>$</CODE> and
-<CODE>$<VAR>keyword</VAR>:...$</CODE> in a file are replaced
-with strings of the form
-<CODE>$<VAR>keyword</VAR>:<VAR>value</VAR>$</CODE> whenever you obtain
-a new revision of the file.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_74.html">previous</A>, 
<A HREF="cvs_76.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_76.html
===================================================================
RCS file: manual/html_node/cvs_76.html
diff -N manual/html_node/cvs_76.html
--- manual/html_node/cvs_76.html        8 Jun 2009 20:46:59 -0000       1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,116 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Keyword list</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_75.html">previous</A>, 
<A HREF="cvs_77.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC78" HREF="cvs_toc.html#TOC78">RCS Keywords</A></H2>
-<P>
-<A NAME="IDX272"></A>
-
-</P>
-<P>
-This is a list of the keywords that RCS currently
-(in release 5.6.0.1) supports:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>$Author: ward $</CODE>
-<DD>
-<A NAME="IDX273"></A>
- 
-The login name of the user who checked in the revision.
-
-<A NAME="IDX274"></A>
-<DT><CODE>$Date: 2009/06/08 20:46:59 $</CODE>
-<DD>
-The date and time (UTC) the revision was checked in.
-
-<A NAME="IDX275"></A>
-<DT><CODE>$Header: 
/web/www/www/software/cvs/manual/html_node/Attic/cvs_76.html,v 1.2 2009/06/08 
20:46:59 ward Exp $</CODE>
-<DD>
-A standard header containing the full pathname of the
-RCS file, the revision number, the date (UTC), the
-author, the state, and the locker (if locked).  Files
-will normally never be locked when you use CVS.
-
-<A NAME="IDX276"></A>
-<DT><CODE>$Id: cvs_76.html,v 1.2 2009/06/08 20:46:59 ward Exp $</CODE>
-<DD>
-Same as <CODE>$Header: 
/web/www/www/software/cvs/manual/html_node/Attic/cvs_76.html,v 1.2 2009/06/08 
20:46:59 ward Exp $</CODE>, except that the RCS
-filename is without a path.
-
-<A NAME="IDX277"></A>
-<DT><CODE>$Name:  $</CODE>
-<DD>
-Tag name used to check out this file.
-
-<A NAME="IDX278"></A>
-<DT><CODE>$Locker:  $</CODE>
-<DD>
-The login name of the user who locked the revision
-(empty if not locked, and thus almost always useless
-when you are using CVS).
-
-<A NAME="IDX279"></A>
-<DT><CODE>$Log: cvs_76.html,v $
-<DT><CODE>Revision 1.2  2009/06/08 20:46:59  ward
-<DT><CODE>changes that were lost from the CVS tree due to the savannah crash 
of 2009/05/29
-<DT><CODE>
-<DT><CODE>Revision 1.1  2003/11/07 20:55:33  sinuhe
-<DT><CODE>Add manual.
-<DT><CODE></CODE>
-<DD>
-The log message supplied during commit, preceded by a
-header containing the RCS filename, the revision
-number, the author, and the date (UTC).  Existing log
-messages are <EM>not</EM> replaced.  Instead, the new log
-message is inserted after <CODE>$Log: cvs_76.html,v $
-message is inserted after <CODE>Revision 1.1  2003/11/07 20:55:33  sinuhe
-message is inserted after <CODE>Add manual.
-message is inserted after <CODE></CODE>.
-Each new line is prefixed with a <EM>comment leader</EM>
-which RCS guesses from the file name extension.
-It can be changed with <CODE>cvs admin -c</CODE>.
-See section <A HREF="cvs_90.html#SEC92">admin options</A>.  This keyword is 
useful for
-accumulating a complete change log in a source file,
-but for several reasons it can be problematic.
-See section <A HREF="cvs_80.html#SEC82">Problems with the $Log: cvs_76.html,v $
-See section <A HREF="cvs_80.html#SEC82">Problems with the Revision 1.1  
2003/11/07 20:55:33  sinuhe
-See section <A HREF="cvs_80.html#SEC82">Problems with the Add manual.
-See section <A HREF="cvs_80.html#SEC82">Problems with the keyword.</A>.
-
-<A NAME="IDX280"></A>
-<DT><CODE>$RCSfile: cvs_76.html,v $</CODE>
-<DD>
-The name of the RCS file without a path.
-
-<A NAME="IDX281"></A>
-<DT><CODE>$Revision: 1.2 $</CODE>
-<DD>
-The revision number assigned to the revision.
-
-<A NAME="IDX282"></A>
-<DT><CODE>$Source: 
/web/www/www/software/cvs/manual/html_node/Attic/cvs_76.html,v $</CODE>
-<DD>
-The full pathname of the RCS file.
-
-<A NAME="IDX283"></A>
-<DT><CODE>$State: Exp $</CODE>
-<DD>
-The state assigned to the revision.  States can be
-assigned with <CODE>cvs admin -s</CODE>---See section <A 
HREF="cvs_90.html#SEC92">admin options</A>.
-
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_75.html">previous</A>, 
<A HREF="cvs_77.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_77.html
===================================================================
RCS file: manual/html_node/cvs_77.html
diff -N manual/html_node/cvs_77.html
--- manual/html_node/cvs_77.html        7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,88 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Using keywords</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_76.html">previous</A>, 
<A HREF="cvs_78.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC79" HREF="cvs_toc.html#TOC79">Using keywords</A></H2>
-
-<P>
-To include a keyword string you simply include the
-relevant text string, such as <CODE>$Id: cvs_77.html,v 1.1 2003/11/07 20:55:33 
sinuhe Exp $</CODE>, inside the
-file, and commit the file.  CVS will automatically
-expand the string as part of the commit operation.
-
-</P>
-<P>
-It is common to embed <CODE>$</CODE>Id$ string in the
-C source code.  This example shows the first few lines
-of a typical file, after keyword substitution has been
-performed:
-
-</P>
-
-<PRE>
-static char *rcsid="$Id: cvs_77.html,v 1.1 2003/11/07 20:55:33 sinuhe Exp $";
-/* The following lines will prevent <CODE>gcc</CODE> version 2.<VAR>x</VAR>
-   from issuing an "unused variable" warning. */
-#if __GNUC__ == 2
-#define USE(var) static void * use_##var = (&#38;use_##var, (void *) &#38;var) 
-USE (rcsid);
-#endif
-</PRE>
-
-<P>
-Even though a clever optimizing compiler could remove
-the unused variable <CODE>rcsid</CODE>, most compilers tend
-to include the string in the binary.  Some compilers
-have a <CODE>#pragma</CODE> directive to include literal text
-in the binary.
-
-</P>
-<P>
-<A NAME="IDX284"></A>
-The <CODE>ident</CODE> command (which is part of the RCS
-package) can be used to extract keywords and their
-values from a file.  This can be handy for text files,
-but it is even more useful for extracting keywords from
-binary files.
-
-</P>
-
-<PRE>
-$ ident samp.c
-samp.c:
-     $Id: cvs_77.html,v 1.1 2003/11/07 20:55:33 sinuhe Exp $
-$ gcc samp.c
-$ ident a.out
-a.out:
-     $Id: cvs_77.html,v 1.1 2003/11/07 20:55:33 sinuhe Exp $
-</PRE>
-
-<P>
-<A NAME="IDX285"></A>
-SCCS is another popular revision control system.
-It has a command, <CODE>what</CODE>, which is very similar to
-<CODE>ident</CODE> and used for the same purpose.  Many sites
-without RCS have SCCS.  Since <CODE>what</CODE>
-looks for the character sequence <CODE>@(#)</CODE> it is
-easy to include keywords that are detected by either
-command.  Simply prefix the RCS keyword with the
-magic SCCS phrase, like this:
-
-</P>
-
-<PRE>
-static char *id="@(#) $Id: cvs_77.html,v 1.1 2003/11/07 20:55:33 sinuhe Exp $";
-</PRE>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_76.html">previous</A>, 
<A HREF="cvs_78.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_78.html
===================================================================
RCS file: manual/html_node/cvs_78.html
diff -N manual/html_node/cvs_78.html
--- manual/html_node/cvs_78.html        7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,43 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Avoiding substitution</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_77.html">previous</A>, 
<A HREF="cvs_79.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC80" HREF="cvs_toc.html#TOC80">Avoiding substitution</A></H2>
-
-<P>
-Keyword substitution has its disadvantages.  Sometimes
-you might want the literal text string
-<SAMP>`$'</SAMP>Author$ to appear inside a file without
-RCS interpreting it as a keyword and expanding it
-into something like <SAMP>`$'</SAMP>Author: ceder $.  
-
-</P>
-<P>
-There is unfortunately no way to selectively turn off
-keyword substitution.  You can use <SAMP>`-ko'</SAMP>
-(see section <A HREF="cvs_79.html#SEC81">Substitution modes</A>) to turn off 
keyword
-substitution entirely.
-
-</P>
-<P>
-In many cases you can avoid using RCS keywords in
-the source, even though they appear in the final
-product.  For example, the source for this manual
-contains <SAMP>address@hidden'</SAMP> whenever the text
-<SAMP>`$'</SAMP>Author$ should appear.  In <CODE>nroff</CODE>
-and <CODE>troff</CODE> you can embed the null-character
-<CODE>\&#38;</CODE> inside the keyword for a similar effect.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_77.html">previous</A>, 
<A HREF="cvs_79.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_79.html
===================================================================
RCS file: manual/html_node/cvs_79.html
diff -N manual/html_node/cvs_79.html
--- manual/html_node/cvs_79.html        7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,99 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Substitution modes</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_78.html">previous</A>, 
<A HREF="cvs_80.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC81" HREF="cvs_toc.html#TOC81">Substitution modes</A></H2>
-<P>
-<A NAME="IDX286"></A>
-<A NAME="IDX287"></A>
-
-</P>
-<P>
-Each file has a stored default substitution mode, and
-each working directory copy of a file also has a
-substitution mode.  The former is set by the <SAMP>`-k'</SAMP>
-option to <CODE>cvs add</CODE> and <CODE>cvs admin</CODE>; the
-latter is set by the -k or -A options to <CODE>cvs
-checkout</CODE> or <CODE>cvs update</CODE>.  <CODE>cvs diff</CODE> also
-has a <SAMP>`-k'</SAMP> option.  For some examples,
-See section <A HREF="cvs_81.html#SEC83">Handling binary files</A>.
-
-</P>
-<P>
-The modes available are:
-
-</P>
-<DL COMPACT>
-
-<DT><SAMP>`-kkv'</SAMP>
-<DD>
-Generate keyword strings using the default form, e.g.
-<CODE>$</CODE>Revision: 5.7 $ for the <CODE>Revision</CODE>
-keyword.
-
-<DT><SAMP>`-kkvl'</SAMP>
-<DD>
-Like <SAMP>`-kkv'</SAMP>, except that a locker's name is always
-inserted if the given revision is currently locked.
-This option is normally not useful when CVS is used.
-
-<DT><SAMP>`-kk'</SAMP>
-<DD>
-Generate only keyword names in keyword strings; omit
-their values.  For example, for the <CODE>Revision</CODE>
-keyword, generate the string <CODE>$</CODE>Revision$
-instead of <CODE>$</CODE>Revision: 5.7 $.  This option
-is useful to ignore differences due to keyword
-substitution when comparing different revisions of a
-file.
-
-<DT><SAMP>`-ko'</SAMP>
-<DD>
-Generate the old keyword string, present in the working
-file just before it was checked in.  For example, for
-the <CODE>Revision</CODE> keyword, generate the string
-<CODE>$</CODE>Revision: 1.1 $ instead of
-<CODE>$</CODE>Revision: 5.7 $ if that is how the
-string appeared when the file was checked in.
-
-<DT><SAMP>`-kb'</SAMP>
-<DD>
-Like <SAMP>`-ko'</SAMP>, but also inhibit conversion of line
-endings between the canonical form in which they are
-stored in the repository (linefeed only), and the form
-appropriate to the operating system in use on the
-client.  For systems, like unix, which use linefeed
-only to terminate lines, this is the same as
-<SAMP>`-ko'</SAMP>.  For more information on binary files, see
-section <A HREF="cvs_81.html#SEC83">Handling binary files</A>.
-
-<DT><SAMP>`-kv'</SAMP>
-<DD>
-Generate only keyword values for keyword strings.  For
-example, for the <CODE>Revision</CODE> keyword, generate the string
-<CODE>5.7</CODE> instead of <CODE>$</CODE>Revision: 5.7 $.
-This can help generate files in programming languages
-where it is hard to strip keyword delimiters like
-<CODE>$</CODE>Revision: $ from a string.  However,
-further keyword substitution cannot be performed once
-the keyword names are removed, so this option should be
-used with care.
-
-One often would like to use <SAMP>`-kv'</SAMP> with <CODE>cvs
-export</CODE>---see section <A HREF="cvs_101.html#SEC108">export--Export 
sources from CVS, similar to checkout</A>.  But be aware that doesn't
-handle an export containing binary files correctly.
-
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_78.html">previous</A>, 
<A HREF="cvs_80.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_8.html
===================================================================
RCS file: manual/html_node/cvs_8.html
diff -N manual/html_node/cvs_8.html
--- manual/html_node/cvs_8.html 7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,37 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Versions revisions releases</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_7.html">previous</A>, 
<A HREF="cvs_9.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC9" HREF="cvs_toc.html#TOC9">Versions, revisions and 
releases</A></H2>
-<P>
-<A NAME="IDX32"></A>
-<A NAME="IDX33"></A>
-<A NAME="IDX34"></A>
-
-</P>
-<P>
-A file can have several versions, as described above.
-Likewise, a software product can have several versions.
-A software product is often given a version number such
-as <SAMP>`4.1.1'</SAMP>.
-
-</P>
-<P>
-Versions in the first sense are called <EM>revisions</EM>
-in this document, and versions in the second sense are
-called <EM>releases</EM>.  To avoid confusion, the word
-<EM>version</EM> is almost never used in this document.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_7.html">previous</A>, 
<A HREF="cvs_9.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_80.html
===================================================================
RCS file: manual/html_node/cvs_80.html
diff -N manual/html_node/cvs_80.html
--- manual/html_node/cvs_80.html        8 Jun 2009 20:47:00 -0000       1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,55 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Log keyword</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_79.html">previous</A>, 
<A HREF="cvs_81.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC82" HREF="cvs_toc.html#TOC82">Problems with the $Log: 
cvs_80.html,v $
-<H2><A NAME="SEC82" HREF="cvs_toc.html#TOC82">Problems with the Revision 1.1  
2003/11/07 20:55:33  sinuhe
-<H2><A NAME="SEC82" HREF="cvs_toc.html#TOC82">Problems with the Add manual.
-<H2><A NAME="SEC82" HREF="cvs_toc.html#TOC82">Problems with the 
keyword.</A></H2>
-
-<P>
-The <CODE>$</CODE>Log$ keyword is somewhat
-controversial.  As long as you are working on your
-development system the information is easily accessible
-even if you do not use the <CODE>$</CODE>Log$
-keyword--just do a <CODE>cvs log</CODE>.  Once you export
-the file the history information might be useless
-anyhow.
-
-</P>
-<P>
-A more serious concern is that RCS is not good at
-handling <CODE>$</CODE>Log$ entries when a branch is
-merged onto the main trunk.  Conflicts often result
-from the merging operation.
-
-</P>
-<P>
-People also tend to "fix" the log entries in the file
-(correcting spelling mistakes and maybe even factual
-errors).  If that is done the information from
-<CODE>cvs log</CODE> will not be consistent with the
-information inside the file.  This may or may not be a
-problem in real life.
-
-</P>
-<P>
-It has been suggested that the <CODE>$</CODE>Log$
-keyword should be inserted <EM>last</EM> in the file, and
-not in the files header, if it is to be used at all.
-That way the long list of change messages will not
-interfere with everyday source file browsing.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_79.html">previous</A>, 
<A HREF="cvs_81.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_81.html
===================================================================
RCS file: manual/html_node/cvs_81.html
diff -N manual/html_node/cvs_81.html
--- manual/html_node/cvs_81.html        7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,111 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Binary files</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_80.html">previous</A>, 
<A HREF="cvs_82.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC83" HREF="cvs_toc.html#TOC83">Handling binary files</A></H1>
-<P>
-<A NAME="IDX288"></A>
-
-</P>
-<P>
-There are two issues with using CVS to store
-binary files.  The first is that CVS by default
-convert line endings between the canonical form in
-which they are stored in the repository (linefeed
-only), and the form appropriate to the operating system
-in use on the client (for example, carriage return
-followed by line feed for Windows NT).
-
-</P>
-<P>
-The second is that a binary file might happen to
-contain data which looks like a keyword (see section <A 
HREF="cvs_75.html#SEC77">Keyword substitution</A>), so keyword expansion must 
be turned
-off.
-
-</P>
-<P>
-The <SAMP>`-kb'</SAMP> option available with some CVS
-commands insures that neither line ending conversion
-nor keyword expansion will be done.  If you are using
-an old version of RCS without this option, and you
-are using an operating system, such as unix, which
-terminates lines with linefeeds only, you can use
-<SAMP>`-ko'</SAMP> instead; if you are on another operating
-system, upgrade to a version of RCS, such as 5.7
-or later, which supports <SAMP>`-kb'</SAMP>.
-
-</P>
-<P>
-Here is an example of how you can create a new file
-using the <SAMP>`-kb'</SAMP> flag:
-
-</P>
-
-<PRE>
-$ echo '$Id: cvs_81.html,v 1.1 2003/11/07 20:55:33 sinuhe Exp $' &#62; kotest
-$ cvs add -kb -m"A test file" kotest
-$ cvs ci -m"First checkin; contains a keyword" kotest
-</PRE>
-
-<P>
-If a file accidentally gets added without <SAMP>`-kb'</SAMP>,
-one can use the <CODE>cvs admin</CODE> command to recover.
-For example:
-
-</P>
-
-<PRE>
-$ echo '$Id: cvs_81.html,v 1.1 2003/11/07 20:55:33 sinuhe Exp $' &#62; kotest
-$ cvs add -m"A test file" kotest
-$ cvs ci -m"First checkin; contains a keyword" kotest
-$ cvs admin -kb kotest
-$ cvs update -A kotest
-$ cvs commit -m "make it binary" kotest  # For non-unix systems
-</PRE>
-
-<P>
-When you check in the file <TT>`kotest'</TT> the keywords
-are expanded.  (Try the above example, and do a
-<CODE>cat kotest</CODE> after every command).  The <CODE>cvs
-admin -kb</CODE> command sets the default keyword
-substitution method for this file, but it does not
-alter the working copy of the file that you have.  The
-easiest way to get the unexpanded version of
-<TT>`kotest'</TT> is <CODE>cvs update -A</CODE>.  If you need to
-cope with line endings (that is, you are using a
-CVS client on a non-unix system), then you need to
-check in a new copy of the file, as shown by the
-<CODE>cvs commit</CODE> command above.
-
-</P>
-<P>
-However, in using <CODE>cvs admin -k</CODE> to change the
-keyword expansion, be aware that the keyword expansion
-mode is not version controlled.  This means that, for
-example, that if you have a text file in old releases,
-and a binary file with the same name in new releases,
-CVS provides no way to check out the file in text
-or binary mode depending on what version you are
-checking out.  There is no good workaround for this
-problem.
-
-</P>
-<P>
-You can also set a default for whether <CODE>cvs add</CODE>
-and <CODE>cvs import</CODE> treat a file as binary based on
-its name; for example you could say that files who
-names end in <SAMP>`.exe'</SAMP> are binary.  See section <A 
HREF="cvs_131.html#SEC138">The cvswrappers file</A>.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_80.html">previous</A>, 
<A HREF="cvs_82.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_82.html
===================================================================
RCS file: manual/html_node/cvs_82.html
diff -N manual/html_node/cvs_82.html
--- manual/html_node/cvs_82.html        7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,37 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Revision management</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_81.html">previous</A>, 
<A HREF="cvs_83.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC84" HREF="cvs_toc.html#TOC84">Revision management</A></H1>
-<P>
-<A NAME="IDX289"></A>
-
-</P>
-
-<P>
-If you have read this far, you probably have a pretty
-good grasp on what CVS can do for you.  This
-chapter talks a little about things that you still have
-to decide.
-
-</P>
-<P>
-If you are doing development on your own using CVS
-you could probably skip this chapter.  The questions
-this chapter takes up become more important when more
-than one person is working in a repository.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_81.html">previous</A>, 
<A HREF="cvs_83.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_83.html
===================================================================
RCS file: manual/html_node/cvs_83.html
diff -N manual/html_node/cvs_83.html
--- manual/html_node/cvs_83.html        7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,52 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - When to commit</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_82.html">previous</A>, 
<A HREF="cvs_84.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC85" HREF="cvs_toc.html#TOC85">When to commit?</A></H2>
-<P>
-<A NAME="IDX290"></A>
-<A NAME="IDX291"></A>
-<A NAME="IDX292"></A>
-
-</P>
-<P>
-Your group should decide which policy to use regarding
-commits.  Several policies are possible, and as your
-experience with CVS grows you will probably find
-out what works for you.
-
-</P>
-<P>
-If you commit files too quickly you might commit files
-that do not even compile.  If your partner updates his
-working sources to include your buggy file, he will be
-unable to compile the code.  On the other hand, other
-persons will not be able to benefit from the
-improvements you make to the code if you commit very
-seldom, and conflicts will probably be more common.
-
-</P>
-<P>
-It is common to only commit files after making sure
-that they can be compiled.  Some sites require that the
-files pass a test suite.  Policies like this can be
-enforced using the commitinfo file
-(see section <A HREF="cvs_134.html#SEC141">Commitinfo</A>), but you should 
think twice before
-you enforce such a convention.  By making the
-development environment too controlled it might become
-too regimented and thus counter-productive to the real
-goal, which is to get software written.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_82.html">previous</A>, 
<A HREF="cvs_84.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_84.html
===================================================================
RCS file: manual/html_node/cvs_84.html
diff -N manual/html_node/cvs_84.html
--- manual/html_node/cvs_84.html        7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,32 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Invoking CVS</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_83.html">previous</A>, 
<A HREF="cvs_85.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC86" HREF="cvs_toc.html#TOC86">Reference manual for CVS 
commands</A></H1>
-<P>
-<A NAME="IDX293"></A>
-<A NAME="IDX294"></A>
-<A NAME="IDX295"></A>
-
-</P>
-
-<P>
-This appendix describes how to invoke CVS, and
-describes in detail those subcommands of CVS which
-are not fully described elsewhere.  To look up a
-particular subcommand, see section <A HREF="cvs_148.html#SEC155">Index</A>.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_83.html">previous</A>, 
<A HREF="cvs_85.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_85.html
===================================================================
RCS file: manual/html_node/cvs_85.html
diff -N manual/html_node/cvs_85.html
--- manual/html_node/cvs_85.html        7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,73 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Structure</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_84.html">previous</A>, 
<A HREF="cvs_86.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC87" HREF="cvs_toc.html#TOC87">Overall structure of CVS 
commands</A></H2>
-<P>
-<A NAME="IDX296"></A>
-<A NAME="IDX297"></A>
-<A NAME="IDX298"></A>
-<A NAME="IDX299"></A>
-
-</P>
-<P>
-The overall format of all CVS commands is:
-
-</P>
-
-<PRE>
-cvs [ cvs_options ] cvs_command [ command_options ] [ command_args ]
-</PRE>
-
-<DL COMPACT>
-
-<DT><CODE>cvs</CODE>
-<DD>
-The name of the CVS program.
-
-<DT><CODE>cvs_options</CODE>
-<DD>
-Some options that affect all sub-commands of CVS.  These are
-described below.
-
-<DT><CODE>cvs_command</CODE>
-<DD>
-One of several different sub-commands.  Some of the commands have
-aliases that can be used instead; those aliases are noted in the
-reference manual for that command.  There are only two situations
-where you may omit <SAMP>`cvs_command'</SAMP>: <SAMP>`cvs -H'</SAMP> elicits a
-list of available commands, and <SAMP>`cvs -v'</SAMP> displays version
-information on CVS itself.
-
-<DT><CODE>command_options</CODE>
-<DD>
-Options that are specific for the command.
-
-<DT><CODE>command_args</CODE>
-<DD>
-Arguments to the commands.
-</DL>
-
-<P>
-There is unfortunately some confusion between
-<CODE>cvs_options</CODE> and <CODE>command_options</CODE>.
-<SAMP>`-l'</SAMP>, when given as a <CODE>cvs_option</CODE>, only
-affects some of the commands.  When it is given as a
-<CODE>command_option</CODE> is has a different meaning, and
-is accepted by more commands.  In other words, do not
-take the above categorization too seriously.  Look at
-the documentation instead.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_84.html">previous</A>, 
<A HREF="cvs_86.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_86.html
===================================================================
RCS file: manual/html_node/cvs_86.html
diff -N manual/html_node/cvs_86.html
--- manual/html_node/cvs_86.html        7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,96 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - ~/.cvsrc</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_85.html">previous</A>, 
<A HREF="cvs_87.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC88" HREF="cvs_toc.html#TOC88">Default options and the ~/.cvsrc 
file</A></H2>
-<P>
-<A NAME="IDX300"></A>
-<A NAME="IDX301"></A>
-
-</P>
-<P>
-There are some <CODE>command_options</CODE> that are used so
-often that you might have set up an alias or some other
-means to make sure you always specify that option.  One
-example (the one that drove the implementation of the
-.cvsrc support, actually) is that many people find the
-default output of the <SAMP>`diff'</SAMP> command to be very
-hard to read, and that either context diffs or unidiffs
-are much easier to understand.
-
-</P>
-<P>
-The <TT>`~/.cvsrc'</TT> file is a way that you can add
-default options to <CODE>cvs_commands</CODE> within cvs,
-instead of relying on aliases or other shell scripts.
-
-</P>
-<P>
-The format of the <TT>`~/.cvsrc'</TT> file is simple.  The
-file is searched for a line that begins with the same
-name as the <CODE>cvs_command</CODE> being executed.  If a
-match is found, then the remainder of the line is split
-up (at whitespace characters) into separate options and
-added to the command arguments <EM>before</EM> any
-options from the command line.
-
-</P>
-<P>
-If a command has two names (e.g., <CODE>checkout</CODE> and
-<CODE>co</CODE>), the official name, not necessarily the one
-used on the command line, will be used to match against
-the file.  So if this is the contents of the user's
-<TT>`~/.cvsrc'</TT> file:
-
-</P>
-
-<PRE>
-log -N
-diff -u
-update -P
-co -P
-</PRE>
-
-<P>
-the command <SAMP>`cvs checkout foo'</SAMP> would have the
-<SAMP>`-P'</SAMP> option added to the arguments, as well as
-<SAMP>`cvs co foo'</SAMP>.
-
-</P>
-<P>
-With the example file above, the output from <SAMP>`cvs
-diff foobar'</SAMP> will be in unidiff format.  <SAMP>`cvs diff
--c foobar'</SAMP> will provide context diffs, as usual.
-Getting "old" format diffs would be slightly more
-complicated, because <CODE>diff</CODE> doesn't have an option
-to specify use of the "old" format, so you would need
-<SAMP>`cvs -f diff foobar'</SAMP>.
-
-</P>
-<P>
-In place of the command name you can use <CODE>cvs</CODE> to
-specify global options (see section <A HREF="cvs_87.html#SEC89">Global 
options</A>).  For
-example the following line in <TT>`.cvsrc'</TT>
-
-</P>
-
-<PRE>
-cvs -z6
-</PRE>
-
-<P>
-causes CVS to use compression level 6
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_85.html">previous</A>, 
<A HREF="cvs_87.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_87.html
===================================================================
RCS file: manual/html_node/cvs_87.html
diff -N manual/html_node/cvs_87.html
--- manual/html_node/cvs_87.html        7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,155 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Global options</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_86.html">previous</A>, 
<A HREF="cvs_88.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC89" HREF="cvs_toc.html#TOC89">Global options</A></H2>
-<P>
-<A NAME="IDX302"></A>
-<A NAME="IDX303"></A>
-<A NAME="IDX304"></A>
-
-</P>
-<P>
-The available <SAMP>`cvs_options'</SAMP> (that are given to the
-left of <SAMP>`cvs_command'</SAMP>) are:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-b <VAR>bindir</VAR></CODE>
-<DD>
-<A NAME="IDX305"></A>
- <A NAME="IDX306"></A>
- 
-Use <VAR>bindir</VAR> as the directory where RCS programs are
-located.  Overrides the setting of the <CODE>$RCSBIN</CODE> environment
-variable and any precompiled directory.  This parameter should be
-specified as an absolute pathname.
-
-<A NAME="IDX307"></A>
-<A NAME="IDX308"></A>
-<DT><CODE>-T <VAR>tempdir</VAR></CODE>
-<DD>
-Use <VAR>tempdir</VAR> as the directory where temporary files are
-located.  Overrides the setting of the <CODE>$TMPDIR</CODE> environment
-variable and any precompiled directory.  This parameter should be
-specified as an absolute pathname.
-
-<A NAME="IDX309"></A>
-<A NAME="IDX310"></A>
-<DT><CODE>-d <VAR>cvs_root_directory</VAR></CODE>
-<DD>
-Use <VAR>cvs_root_directory</VAR> as the root directory
-pathname of the repository.  Overrides the setting of
-the <CODE>$CVSROOT</CODE> environment variable.  See section <A 
HREF="cvs_14.html#SEC15">The Repository</A>.
-
-<A NAME="IDX311"></A>
-<A NAME="IDX312"></A>
-<DT><CODE>-e <VAR>editor</VAR></CODE>
-<DD>
-Use <VAR>editor</VAR> to enter revision log information.  Overrides the
-setting of the <CODE>$CVSEDITOR</CODE> and <CODE>$EDITOR</CODE> environment 
variables.
-
-<DT><CODE>-f</CODE>
-<DD>
-Do not read the <TT>`~/.cvsrc'</TT> file.  This
-option is most often used because of the
-non-orthogonality of the CVS option set.  For
-example, the <SAMP>`cvs log'</SAMP> option <SAMP>`-N'</SAMP> (turn off
-display of tag names) does not have a corresponding
-option to turn the display on.  So if you have
-<SAMP>`-N'</SAMP> in the <TT>`~/.cvsrc'</TT> entry for <SAMP>`log'</SAMP>,
-you may need to use <SAMP>`-f'</SAMP> to show the tag names.
-
-<DT><CODE>-H</CODE>
-<DD>
-Display usage information about the specified <SAMP>`cvs_command'</SAMP>
-(but do not actually execute the command).  If you don't specify
-a command name, <SAMP>`cvs -H'</SAMP> displays a summary of all the
-commands available.
-
-<DT><CODE>-l</CODE>
-<DD>
-Do not log the cvs_command in the command history (but execute it
-anyway).  See section <A HREF="cvs_103.html#SEC110">history--Show status of 
files and users</A>, for information on command history.
-
-<A NAME="IDX313"></A>
-<DT><CODE>-n</CODE>
-<DD>
-Do not change any files.  Attempt to execute the
-<SAMP>`cvs_command'</SAMP>, but only to issue reports; do not remove,
-update, or merge any existing files, or create any new files.
-
-<DT><CODE>-Q</CODE>
-<DD>
-Cause the command to be really quiet; the command will only
-generate output for serious problems.
-
-<DT><CODE>-q</CODE>
-<DD>
-Cause the command to be somewhat quiet; informational messages,
-such as reports of recursion through subdirectories, are
-suppressed.
-
-<A NAME="IDX314"></A>
-<DT><CODE>-r</CODE>
-<DD>
-Make new working files files read-only.  Same effect
-as if the <CODE>$CVSREAD</CODE> environment variable is set
-(see section <A HREF="cvs_144.html#SEC151">All environment variables which 
affect CVS</A>).  The default is to
-make working files writable, unless watches are on
-(see section <A HREF="cvs_41.html#SEC43">Mechanisms to track who is editing 
files</A>).
-
-<DT><CODE>-s <VAR>variable</VAR>=<VAR>value</VAR></CODE>
-<DD>
-Set a user variable (see section <A HREF="cvs_143.html#SEC150">Expansions in 
administrative files</A>).
-
-<A NAME="IDX315"></A>
-<DT><CODE>-t</CODE>
-<DD>
-Trace program execution; display messages showing the steps of
-CVS activity.  Particularly useful with <SAMP>`-n'</SAMP> to explore the
-potential impact of an unfamiliar command.
-
-<DT><CODE>-v</CODE>
-<DD>
-Display version and copyright information for CVS.
-
-<A NAME="IDX316"></A>
-<A NAME="IDX317"></A>
-<DT><CODE>-w</CODE>
-<DD>
-Make new working files read-write.  Overrides the
-setting of the <CODE>$CVSREAD</CODE> environment variable.
-Files are created read-write by default, unless <CODE>$CVSREAD</CODE> is
-set or <SAMP>`-r'</SAMP> is given.
-
-<DT><CODE>-x</CODE>
-<DD>
-Encrypt all communication between the client and the
-server.  Only has an effect on the CVS client.  As
-of this writing, this is only implemented when using a
-Kerberos connection (see section <A HREF="cvs_28.html#SEC30">Direct connection 
with kerberos</A>).
-Encryption support is not available by default; it must
-be enabled using a special configure option,
-<TT>`--enable-encryption'</TT>, when you build CVS.
-
-<DT><CODE>-z <VAR>gzip-level</VAR></CODE>
-<DD>
-Set the compression level.  Only has an effect on the
-CVS client.
-
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_86.html">previous</A>, 
<A HREF="cvs_88.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_88.html
===================================================================
RCS file: manual/html_node/cvs_88.html
diff -N manual/html_node/cvs_88.html
--- manual/html_node/cvs_88.html        7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,231 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Common options</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_87.html">previous</A>, 
<A HREF="cvs_89.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC90" HREF="cvs_toc.html#TOC90">Common command options</A></H2>
-<P>
-<A NAME="IDX318"></A>
-<A NAME="IDX319"></A>
-
-</P>
-<P>
-This section describes the <SAMP>`command_options'</SAMP> that
-are available across several CVS commands.  These
-options are always given to the right of
-<SAMP>`cvs_command'</SAMP>. Not all
-commands support all of these options; each option is
-only supported for commands where it makes sense.
-However, when a command has one of these options you
-can almost always count on the same behavior of the
-option as in other commands.  (Other command options,
-which are listed with the individual commands, may have
-different behavior from one CVS command to the other).
-
-</P>
-<P>
-<STRONG>Warning:</STRONG> the <SAMP>`history'</SAMP> command is an exception; 
it supports
-many options that conflict even with these standard options.
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-D <VAR>date_spec</VAR></CODE>
-<DD>
-<A NAME="IDX320"></A>
- <A NAME="IDX321"></A>
- <A NAME="IDX322"></A>
- 
-Use the most recent revision no later than <VAR>date_spec</VAR>.
-<VAR>date_spec</VAR> is a single argument, a date description
-specifying a date in the past.
-
-The specification is <EM>sticky</EM> when you use it to make a
-private copy of a source file; that is, when you get a working
-file using <SAMP>`-D'</SAMP>, CVS records the date you specified, so that
-further updates in the same directory will use the same date
-(for more information on sticky tags/dates, see section <A 
HREF="cvs_52.html#SEC54">Sticky tags</A>).
-
-<A NAME="IDX323"></A>
-<A NAME="IDX324"></A>
-A wide variety of date formats are supported by
-CVS.  The <VAR>date_spec</VAR> is interpreted as being
-in the local timezone, unless a specific timezone is
-specified.  Examples of valid date specifications
-include:
-
-
-<PRE>
-                    1 month ago
-                    2 hours ago
-                    400000 seconds ago
-                    last year
-                    last Monday
-                    yesterday
-                    a fortnight ago
-                    3/31/92 10:00:07 PST
-                    January 23, 1987 10:05pm
-                    22:00 GMT
-</PRE>
-
-<SAMP>`-D'</SAMP> is available with the <CODE>checkout</CODE>,
-<CODE>diff</CODE>, <CODE>export</CODE>, <CODE>history</CODE>,
-<CODE>rdiff</CODE>, <CODE>rtag</CODE>, and <CODE>update</CODE> commands.
-(The <CODE>history</CODE> command uses this option in a
-slightly different way; see section <A HREF="cvs_104.html#SEC111">history 
options</A>).  Note
-that when specifying a date like <SAMP>`3/31/92'</SAMP> it is
-<CODE><VAR>month</VAR>/<VAR>day</VAR>/<VAR>year</VAR></CODE>.  So
-<SAMP>`1/4/96'</SAMP> is January 4, not March 1.
-
-Remember to quote the argument to the <SAMP>`-D'</SAMP>
-flag so that your shell doesn't interpret spaces as
-argument separators.  A command using the <SAMP>`-D'</SAMP>
-flag can look like this:
-
-
-<PRE>
-$ cvs diff -D "1 hour ago" cvs.texinfo
-</PRE>
-
-<A NAME="IDX325"></A>
-<DT><CODE>-f</CODE>
-<DD>
-When you specify a particular date or tag to CVS commands, they
-normally ignore files that do not contain the tag (or did not
-exist prior to the date) that you specified.  Use the <SAMP>`-f'</SAMP> option
-if you want files retrieved even when there is no match for the
-tag or date.  (The most recent revision of the file
-will be used). 
-
-<SAMP>`-f'</SAMP> is available with these commands: <CODE>checkout</CODE>,
-<CODE>export</CODE>, <CODE>rdiff</CODE>, <CODE>rtag</CODE>, and 
<CODE>update</CODE>.
-
-<STRONG>Warning:</STRONG>  The <CODE>commit</CODE> command also has a
-<SAMP>`-f'</SAMP> option, but it has a different behavior for
-that command.  See section <A HREF="cvs_96.html#SEC100">commit options</A>.
-
-<DT><CODE>-H</CODE>
-<DD>
-Help; describe the options available for this command.  This is
-the only option supported for all CVS commands.
-
-<DT><CODE>-k <VAR>kflag</VAR></CODE>
-<DD>
-Alter the default RCS processing of keywords.
-See section <A HREF="cvs_75.html#SEC77">Keyword substitution</A>, for the 
meaning of
-<VAR>kflag</VAR>.  Your <VAR>kflag</VAR> specification is
-<EM>sticky</EM> when you use it to create a private copy
-of a source file; that is, when you use this option
-with the <CODE>checkout</CODE> or <CODE>update</CODE> commands,
-CVS associates your selected <VAR>kflag</VAR> with the
-file, and continues to use it with future update
-commands on the same file until you specify otherwise.
-
-The <SAMP>`-k'</SAMP> option is available with the <CODE>add</CODE>,
-<CODE>checkout</CODE>, <CODE>diff</CODE> and
-<CODE>update</CODE> commands.
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory, rather than
-recursing through subdirectories.  
-
-<STRONG>Warning:</STRONG> this is not the same
-as the overall <SAMP>`cvs -l'</SAMP> option, which you can specify to the
-left of a cvs command!
-
-Available with the following commands: <CODE>checkout</CODE>,
-<CODE>commit</CODE>, <CODE>diff</CODE>, <CODE>export</CODE>, <CODE>log</CODE>,
-<CODE>remove</CODE>, <CODE>rdiff</CODE>, <CODE>rtag</CODE>,
-<CODE>status</CODE>, <CODE>tag</CODE>, and <CODE>update</CODE>.
-
-<A NAME="IDX326"></A>
-<A NAME="IDX327"></A>
-<DT><CODE>-m <VAR>message</VAR></CODE>
-<DD>
-Use <VAR>message</VAR> as log information, instead of
-invoking an editor.
-
-Available with the following commands: <CODE>add</CODE>,
-<CODE>commit</CODE> and <CODE>import</CODE>.
-
-<DT><CODE>-n</CODE>
-<DD>
-Do not run any checkout/commit/tag program.  (A program can be
-specified to run on each of these activities, in the modules
-database (see section <A HREF="cvs_130.html#SEC137">The modules file</A>); 
this option bypasses it). 
-
-<STRONG>Warning:</STRONG> this is not the same as the overall <SAMP>`cvs 
-n'</SAMP>
-option, which you can specify to the left of a cvs command!
-
-Available with the <CODE>checkout</CODE>, <CODE>commit</CODE>, 
<CODE>export</CODE>,
-and <CODE>rtag</CODE> commands.
-
-<DT><CODE>-P</CODE>
-<DD>
-Prune (remove) directories that are empty after being updated, on
-<CODE>checkout</CODE>, or <CODE>update</CODE>.  Normally, an empty directory
-(one that is void of revision-controlled files) is left alone.
-Specifying <SAMP>`-P'</SAMP> will cause these directories to be silently
-removed from your checked-out sources.  This does not remove the
-directory from the repository, only from your checked out copy.
-Note that this option is implied by the <SAMP>`-r'</SAMP> or <SAMP>`-D'</SAMP>
-options of <CODE>checkout</CODE> and <CODE>export</CODE>.
-
-<DT><CODE>-p</CODE>
-<DD>
-Pipe the files retrieved from the repository to standard output,
-rather than writing them in the current directory.  Available
-with the <CODE>checkout</CODE> and <CODE>update</CODE> commands.
-
-<DT><CODE>-W</CODE>
-<DD>
-Specify file names that should be filtered.  You can
-use this option repeatedly.  The spec can be a file
-name pattern of the same type that you can specify in
-the <TT>`.cvswrappers'</TT> file.
-Avaliable with the following commands: <CODE>import</CODE>,
-and <CODE>update</CODE>.
-
-<DT><CODE>-r <VAR>tag</VAR></CODE>
-<DD>
-Use the revision specified by the <VAR>tag</VAR> argument instead of the
-default <EM>head</EM> revision.  As well as arbitrary tags defined
-with the <CODE>tag</CODE> or <CODE>rtag</CODE> command, two special tags are
-always available: <SAMP>`HEAD'</SAMP> refers to the most recent version
-available in the repository, and <SAMP>`BASE'</SAMP> refers to the
-revision you last checked out into the current working directory.
-
-The tag specification is sticky when you use this
-with <CODE>checkout</CODE> or <CODE>update</CODE> to make your own
-copy of a file: CVS remembers the tag and continues to use it on
-future update commands, until you specify otherwise (for more information
-on sticky tags/dates, see section <A HREF="cvs_52.html#SEC54">Sticky 
tags</A>).  The
-tag can be either a symbolic or numeric tag.
-See section <A HREF="cvs_49.html#SEC51">Tags--Symbolic revisions</A>.
-
-Specifying the <SAMP>`-q'</SAMP> global option along with the
-<SAMP>`-r'</SAMP> command option is often useful, to suppress
-the warning messages when the RCS history file
-does not contain the specified tag.
-
-<STRONG>Warning:</STRONG> this is not the same as the overall `cvs -r' option,
-which you can specify to the left of a cvs command!
-
-<SAMP>`-r'</SAMP> is available with the <CODE>checkout</CODE>, 
<CODE>commit</CODE>,
-<CODE>diff</CODE>, <CODE>history</CODE>, <CODE>export</CODE>, 
<CODE>rdiff</CODE>,
-<CODE>rtag</CODE>, and <CODE>update</CODE> commands.
-
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_87.html">previous</A>, 
<A HREF="cvs_89.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_89.html
===================================================================
RCS file: manual/html_node/cvs_89.html
diff -N manual/html_node/cvs_89.html
--- manual/html_node/cvs_89.html        7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,51 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - admin</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_88.html">previous</A>, 
<A HREF="cvs_90.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC91" HREF="cvs_toc.html#TOC91">admin--Administration front end 
for rcs</A></H2>
-<P>
-<A NAME="IDX328"></A>
-
-</P>
-
-<UL>
-<LI>
-
-Requires: repository, working directory.
-<LI>
-
-Changes: repository.
-<LI>
-
-Synonym: rcs
-</UL>
-
-<P>
-This is the CVS interface to assorted administrative RCS
-facilities, documented in rcs(1).  <CODE>admin</CODE> simply passes
-all its options and arguments to the <CODE>rcs</CODE> command; it does
-no filtering or other processing.  This command <EM>does</EM> work
-recursively, however, so extreme care should be used.
-
-</P>
-<P>
-If there is a group whose name matches a compiled in
-value which defaults to <CODE>cvsadmin</CODE>, only members
-of that group can use <CODE>cvs admin</CODE>.  To disallow
-<CODE>cvs admin</CODE> for all users, create a group with no
-users in it.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_88.html">previous</A>, 
<A HREF="cvs_90.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_9.html
===================================================================
RCS file: manual/html_node/cvs_9.html
diff -N manual/html_node/cvs_9.html
--- manual/html_node/cvs_9.html 7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,41 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - A sample session</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_8.html">previous</A>, 
<A HREF="cvs_10.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC10" HREF="cvs_toc.html#TOC10">A sample session</A></H1>
-<P>
-<A NAME="IDX35"></A>
-<A NAME="IDX36"></A>
-<A NAME="IDX37"></A>
-<A NAME="IDX38"></A>
-<A NAME="IDX39"></A>
-<A NAME="IDX40"></A>
-
-</P>
-<P>
-This section describes a typical work-session using
-CVS.  It assumes that a repository is set up
-(see section <A HREF="cvs_14.html#SEC15">The Repository</A>).
-
-</P>
-<P>
-Suppose you are working on a simple compiler.  The source
-consists of a handful of C files and a <TT>`Makefile'</TT>.
-The compiler is called <SAMP>`tc'</SAMP> (Trivial Compiler),
-and the repository is set up so that there is a module
-called <SAMP>`tc'</SAMP>.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_8.html">previous</A>, 
<A HREF="cvs_10.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_90.html
===================================================================
RCS file: manual/html_node/cvs_90.html
diff -N manual/html_node/cvs_90.html
--- manual/html_node/cvs_90.html        7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,257 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - admin options</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_89.html">previous</A>, 
<A HREF="cvs_91.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC92" HREF="cvs_toc.html#TOC92">admin options</A></H3>
-
-<P>
-Not all valid <CODE>rcs</CODE> options are useful together
-with CVS.  Some even makes it impossible to use
-CVS until you undo the effect!
-
-</P>
-<P>
-This description of the available options is based on
-the <SAMP>`rcs(1)'</SAMP> man page, but modified to suit
-readers that are more interrested in CVS than
-RCS.
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-A<VAR>oldfile</VAR></CODE>
-<DD>
-Might not work together with CVS.  Append the
-access list of <VAR>oldfile</VAR> to the access list of the
-RCS file.
-
-<DT><CODE>-a<VAR>logins</VAR></CODE>
-<DD>
-Might not work together with CVS.  Append the
-login names appearing in the comma-separated list
-<VAR>logins</VAR> to the access list of the RCS file.
-
-<DT><CODE>-b[<VAR>rev</VAR>]</CODE>
-<DD>
-When used with bare RCS, this
-option sets the default branch to <VAR>rev</VAR>; in
-CVS sticky tags (see section <A HREF="cvs_52.html#SEC54">Sticky tags</A>) are 
a better
-way to decide which branch you want to work on.  With
-CVS, this option can be used to control behavior
-with respect to the vendor branch.
-
-<DT><CODE>-c<VAR>string</VAR></CODE>
-<DD>
-Useful with CVS.  Sets the comment leader to
-<VAR>string</VAR>.  The comment leader is printed before
-every log message line generated by the keyword
-<CODE>$</CODE>Log$ (see section <A HREF="cvs_75.html#SEC77">Keyword 
substitution</A>).
-This is useful for programming languages without
-multi-line comments.  RCS initially guesses the
-value of the comment leader from the file name
-extension when the file is first committed.
-
-<DT><CODE>-e[<VAR>logins</VAR>]</CODE>
-<DD>
-Might not work together with CVS.  Erase the login
-names appearing in the comma-separated list
-<VAR>logins</VAR> from the access list of the RCS file.  If
-<VAR>logins</VAR> is omitted, erase the entire access list.
-
-<DT><CODE>-I</CODE>
-<DD>
-Run interactively, even if the standard input is not a
-terminal.
-
-<DT><CODE>-i</CODE>
-<DD>
-Useless with CVS.  When using bare RCS, this
-is used to create and initialize a new RCS file,
-without depositing a revision.
-
-<DT><CODE>-k<VAR>subst</VAR></CODE>
-<DD>
-Useful with CVS.  Set the default keyword
-substitution to <VAR>subst</VAR>.  See section <A 
HREF="cvs_75.html#SEC77">Keyword substitution</A>.  Giving an explicit 
<SAMP>`-k'</SAMP> option to
-<CODE>cvs update</CODE>, <CODE>cvs export</CODE>, or <CODE>cvs
-checkout</CODE> overrides this default.
-
-<DT><CODE>-l[<VAR>rev</VAR>]</CODE>
-<DD>
-Lock the revision with number <VAR>rev</VAR>.  If a branch
-is given, lock the latest revision on that branch.  If
-<VAR>rev</VAR> is omitted, lock the latest revision on the
-default branch.
-
-This can be used in conjunction with the
-<TT>`rcslock.pl'</TT> script in the <TT>`contrib'</TT>
-directory of the CVS source distribution to
-provide reserved checkouts (where only one user can be
-editing a given file at a time).  See the comments in
-that file for details (and see the <TT>`README'</TT> file
-in that directory for disclaimers about the unsupported
-nature of contrib).  According to comments in that
-file, locking must set to strict (which is the default).
-
-<DT><CODE>-L</CODE>
-<DD>
-Set locking to strict.  Strict locking means that the
-owner of an RCS file is not exempt from locking for
-checkin.  For use with CVS, strict locking must be
-set; see the discussion under the <SAMP>`-l'</SAMP> option above.
-
-<A NAME="IDX329"></A>
-<A NAME="IDX330"></A>
-<A NAME="IDX331"></A>
-<A NAME="IDX332"></A>
-<A NAME="IDX333"></A>
-<DT><CODE>-m<VAR>rev</VAR>:<VAR>msg</VAR></CODE>
-<DD>
-Replace the log message of revision <VAR>rev</VAR> with
-<VAR>msg</VAR>.
-
-<DT><CODE>-N<VAR>name</VAR>[:[<VAR>rev</VAR>]]</CODE>
-<DD>
-Act like <SAMP>`-n'</SAMP>, except override any previous
-assignment of <VAR>name</VAR>.
-
-<DT><CODE>-n<VAR>name</VAR>[:[<VAR>rev</VAR>]]</CODE>
-<DD>
-Associate the symbolic name <VAR>name</VAR> with the branch
-or revision <VAR>rev</VAR>.  It is normally better to use
-<SAMP>`cvs tag'</SAMP> or <SAMP>`cvs rtag'</SAMP> instead.  Delete the
-symbolic name if both <SAMP>`:'</SAMP> and <VAR>rev</VAR> are
-omitted; otherwise, print an error message if
-<VAR>name</VAR> is already associated with another number.
-If <VAR>rev</VAR> is symbolic, it is expanded before
-association.  A <VAR>rev</VAR> consisting of a branch number
-followed by a <SAMP>`.'</SAMP> stands for the current latest
-revision in the branch.  A <SAMP>`:'</SAMP> with an empty
-<VAR>rev</VAR> stands for the current latest revision on the
-default branch, normally the trunk.  For example,
-<SAMP>`rcs -n<VAR>name</VAR>: RCS/*'</SAMP> associates <VAR>name</VAR> with the
-current latest revision of all the named RCS files;
-this contrasts with <SAMP>`rcs -n<VAR>name</VAR>:$ RCS/*'</SAMP> which
-associates <VAR>name</VAR> with the revision numbers
-extracted from keyword strings in the corresponding
-working files.
-
-<A NAME="IDX334"></A>
-<A NAME="IDX335"></A>
-<A NAME="IDX336"></A>
-<DT><CODE>-o<VAR>range</VAR></CODE>
-<DD>
-Potentially useful, but dangerous, with CVS (see below).
-Deletes (<EM>outdates</EM>) the revisions given by
-<VAR>range</VAR>.  A range consisting of a single revision
-number means that revision.  A range consisting of a
-branch number means the latest revision on that branch.
-A range of the form <SAMP>`<VAR>rev1</VAR>:<VAR>rev2</VAR>'</SAMP> means
-revisions <VAR>rev1</VAR> to <VAR>rev2</VAR> on the same branch,
-<SAMP>`:<VAR>rev</VAR>'</SAMP> means from the beginning of the
-branch containing <VAR>rev</VAR> up to and including
-<VAR>rev</VAR>, and <SAMP>`<VAR>rev</VAR>:'</SAMP> means from revision
-<VAR>rev</VAR> to the end of the branch containing
-<VAR>rev</VAR>.  None of the outdated revisions may have
-branches or locks.
-
-Due to the way CVS handles branches <VAR>rev</VAR>
-cannot be specified symbolically if it is a branch.
-See section <A HREF="cvs_146.html#SEC153">Magic branch numbers</A>, for an 
explanation.
-
-Make sure that no-one has checked out a copy of the
-revision you outdate.  Strange things will happen if he
-starts to edit it and tries to check it back in.  For
-this reason, this option is not a good way to take back
-a bogus commit; commit a new revision undoing the bogus
-change instead (see section <A HREF="cvs_56.html#SEC58">Merging differences 
between any two revisions</A>).
-
-<DT><CODE>-q</CODE>
-<DD>
-Run quietly; do not print diagnostics.
-
-<DT><CODE>-s<VAR>state</VAR>[:<VAR>rev</VAR>]</CODE>
-<DD>
-Useful with CVS.  Set the state attribute of the
-revision <VAR>rev</VAR> to <VAR>state</VAR>.  If <VAR>rev</VAR> is a
-branch number, assume the latest revision on that
-branch.  If <VAR>rev</VAR> is omitted, assume the latest
-revision on the default branch.  Any identifier is
-acceptable for <VAR>state</VAR>.  A useful set of states is
-<SAMP>`Exp'</SAMP> (for experimental), <SAMP>`Stab'</SAMP> (for
-stable), and <SAMP>`Rel'</SAMP> (for released).  By default,
-the state of a new revision is set to <SAMP>`Exp'</SAMP> when
-it is created.  The state is visible in the output from
-<VAR>cvs log</VAR> (see section <A HREF="cvs_109.html#SEC116">log--Print out 
log information for files</A>), and in the
-<SAMP>`$'</SAMP>Log$ and <SAMP>`$'</SAMP>State$ keywords
-(see section <A HREF="cvs_75.html#SEC77">Keyword substitution</A>).  Note that 
CVS
-uses the <CODE>dead</CODE> state for its own purposes; to
-take a file to or from the <CODE>dead</CODE> state use
-commands like <CODE>cvs remove</CODE> and <CODE>cvs add</CODE>, not
-<CODE>cvs admin -s</CODE>.
-
-<DT><CODE>-t[<VAR>file</VAR>]</CODE>
-<DD>
-Useful with CVS.  Write descriptive text from the
-contents of the named <VAR>file</VAR> into the RCS file,
-deleting the existing text.  The <VAR>file</VAR> pathname
-may not begin with <SAMP>`-'</SAMP>.  If <VAR>file</VAR> is omitted,
-obtain the text from standard input, terminated by
-end-of-file or by a line containing <SAMP>`.'</SAMP> by itself.
-Prompt for the text if interaction is possible; see
-<SAMP>`-I'</SAMP>.  The descriptive text can be seen in the
-output from <SAMP>`cvs log'</SAMP> (see section <A 
HREF="cvs_109.html#SEC116">log--Print out log information for files</A>).
-
-<DT><CODE>-t-<VAR>string</VAR></CODE>
-<DD>
-Similar to <SAMP>`-t<VAR>file</VAR>'</SAMP>. Write descriptive text
-from the <VAR>string</VAR> into the RCS file, deleting
-the existing text.
-
-<DT><CODE>-U</CODE>
-<DD>
-Set locking to non-strict.  Non-strict locking means
-that the owner of a file need not lock a revision for
-checkin.  For use with CVS, strict locking must be
-set; see the discussion under the <SAMP>`-l'</SAMP> option
-above.
-
-<DT><CODE>-u[<VAR>rev</VAR>]</CODE>
-<DD>
-See the option <SAMP>`-l'</SAMP> above, for a discussion of
-using this option with CVS.  Unlock the revision
-with number <VAR>rev</VAR>.  If a branch is given, unlock
-the latest revision on that branch.  If <VAR>rev</VAR> is
-omitted, remove the latest lock held by the caller.
-Normally, only the locker of a revision may unlock it.
-Somebody else unlocking a revision breaks the lock.
-This causes a mail message to be sent to the original
-locker.  The message contains a commentary solicited
-from the breaker.  The commentary is terminated by
-end-of-file or by a line containing <CODE>.</CODE> by itself.
-
-<DT><CODE>-V<VAR>n</VAR></CODE>
-<DD>
-Emulate RCS version <VAR>n</VAR>. Use -V<VAR>n</VAR> to make
-an RCS file acceptable to RCS version <VAR>n</VAR>
-by discarding information that would confuse version
-<VAR>n</VAR>.
-
-<DT><CODE>-x<VAR>suffixes</VAR></CODE>
-<DD>
-Useless with CVS. Use <VAR>suffixes</VAR> to
-characterize RCS files.
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_89.html">previous</A>, 
<A HREF="cvs_91.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_91.html
===================================================================
RCS file: manual/html_node/cvs_91.html
diff -N manual/html_node/cvs_91.html
--- manual/html_node/cvs_91.html        7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,87 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - admin examples</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_90.html">previous</A>, 
<A HREF="cvs_92.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC93" HREF="cvs_toc.html#TOC93">admin examples</A></H3>
-
-
-
-<H4><A NAME="SEC94" HREF="cvs_toc.html#TOC94">Outdating is dangerous</A></H4>
-
-<P>
-First, an example of how <EM>not</EM> to use the
-<CODE>admin</CODE> command.  It is included to stress the
-fact that this command can be quite dangerous unless
-you know <EM>exactly</EM> what you are doing.
-
-</P>
-<P>
-The <SAMP>`-o'</SAMP> option can be used to <EM>outdate</EM> old revisions
-from the history file.  If you are short on disc this option
-might help you.  But think twice before using it--there is no
-way short of restoring the latest backup to undo this command!
-
-</P>
-<P>
-The next line is an example of a command that you would
-<EM>not</EM> like to execute.
-
-</P>
-
-<PRE>
-$ cvs admin -o:R_1_02 .
-</PRE>
-
-<P>
-The above command will delete all revisions up to, and
-including, the revision that corresponds to the tag
-R_1_02.  But beware!  If there are files that have not
-changed between R_1_02 and R_1_03 the file will have
-<EM>the same</EM> numerical revision number assigned to
-the tags R_1_02 and R_1_03.  So not only will it be
-impossible to retrieve R_1_02; R_1_03 will also have to
-be restored from the tapes!
-
-</P>
-
-
-<H4><A NAME="SEC95" HREF="cvs_toc.html#TOC95">Comment leaders</A></H4>
-<P>
-<A NAME="IDX337"></A>
-<A NAME="IDX338"></A>
-<A NAME="IDX339"></A>
-
-</P>
-<P>
-If you use the <CODE>$</CODE>Log$ keyword and you do
-not agree with the guess for comment leader that
-CVS has done, you can enforce your will with
-<CODE>cvs admin -c</CODE>.  This might be suitable for
-<CODE>nroff</CODE> source:
-
-</P>
-
-<PRE>
-$ cvs admin -c'.\" ' *.man
-$ rm *.man
-$ cvs update
-</PRE>
-
-<P>
-The two last steps are to make sure that you get the
-versions with correct comment leaders in your working
-files.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_90.html">previous</A>, 
<A HREF="cvs_92.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_92.html
===================================================================
RCS file: manual/html_node/cvs_92.html
diff -N manual/html_node/cvs_92.html
--- manual/html_node/cvs_92.html        7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,103 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - checkout</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_91.html">previous</A>, 
<A HREF="cvs_93.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC96" HREF="cvs_toc.html#TOC96">checkout--Check out sources for 
editing</A></H2>
-<P>
-<A NAME="IDX340"></A>
-<A NAME="IDX341"></A>
-
-</P>
-
-<UL>
-<LI>
-
-Synopsis: checkout [options] modules...
-<LI>
-
-Requires: repository.
-<LI>
-
-Changes: working directory.
-<LI>
-
-Synonyms: co, get
-</UL>
-
-<P>
-Make a working directory containing copies of the
-source files specified by <VAR>modules</VAR>.  You must execute
-<CODE>checkout</CODE> before using most of the other CVS
-commands, since most of them operate on your working
-directory.
-
-</P>
-<P>
-The <VAR>modules</VAR> part of the command are either
-symbolic names for some
-collection of source directories and files, or paths to
-directories or files in the repository.  The symbolic
-names are defined in the <SAMP>`modules'</SAMP> file.
-See section <A HREF="cvs_130.html#SEC137">The modules file</A>.
-
-</P>
-<P>
-Depending on the modules you specify, <CODE>checkout</CODE> may
-recursively create directories and populate them with
-the appropriate source files.  You can then edit these
-source files at any time (regardless of whether other
-software developers are editing their own copies of the
-sources); update them to include new changes applied by
-others to the source repository; or commit your work as
-a permanent change to the source repository.
-
-</P>
-<P>
-Note that <CODE>checkout</CODE> is used to create
-directories.  The top-level directory created is always
-added to the directory where <CODE>checkout</CODE> is
-invoked, and usually has the same name as the specified
-module.  In the case of a module alias, the created
-sub-directory may have a different name, but you can be
-sure that it will be a sub-directory, and that
-<CODE>checkout</CODE> will show the relative path leading to
-each file as it is extracted into your private work
-area (unless you specify the <SAMP>`-Q'</SAMP> global option).
-
-</P>
-<P>
-The files created by <CODE>checkout</CODE> are created
-read-write, unless the <SAMP>`-r'</SAMP> option to CVS
-(see section <A HREF="cvs_87.html#SEC89">Global options</A>) is specified, the
-<CODE>CVSREAD</CODE> environment variable is specified
-(see section <A HREF="cvs_144.html#SEC151">All environment variables which 
affect CVS</A>), or a watch is in
-effect for that file (see section <A HREF="cvs_41.html#SEC43">Mechanisms to 
track who is editing files</A>).
-
-</P>
-<P>
-Running <CODE>checkout</CODE> on a directory that was already
-built by a prior <CODE>checkout</CODE> is also permitted, and
-has the same effect as specifying the <SAMP>`-d'</SAMP> option
-to the <CODE>update</CODE> command, that is, any new
-directories that have been created in the repository
-will appear in your work area.  See section <A 
HREF="cvs_125.html#SEC132">update--Bring work tree in sync with repository</A>.
-
-</P>
-<P>
-For the output produced by the <CODE>checkout</CODE> command
-see section <A HREF="cvs_127.html#SEC134">update output</A>.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_91.html">previous</A>, 
<A HREF="cvs_93.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_93.html
===================================================================
RCS file: manual/html_node/cvs_93.html
diff -N manual/html_node/cvs_93.html
--- manual/html_node/cvs_93.html        7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,135 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - checkout options</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_92.html">previous</A>, 
<A HREF="cvs_94.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC97" HREF="cvs_toc.html#TOC97">checkout options</A></H3>
-
-<P>
-These standard options are supported by <CODE>checkout</CODE>
-(see section <A HREF="cvs_88.html#SEC90">Common command options</A>, for a 
complete description of
-them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-D <VAR>date</VAR></CODE>
-<DD>
-Use the most recent revision no later than <VAR>date</VAR>.
-This option is sticky, and implies <SAMP>`-P'</SAMP>.  See
-section <A HREF="cvs_52.html#SEC54">Sticky tags</A>, for more information on 
sticky tags/dates.
-
-<DT><CODE>-f</CODE>
-<DD>
-Only useful with the <SAMP>`-D <VAR>date</VAR>'</SAMP> or <SAMP>`-r
-<VAR>tag</VAR>'</SAMP> flags.  If no matching revision is found,
-retrieve the most recent revision (instead of ignoring
-the file).
-
-<DT><CODE>-k <VAR>kflag</VAR></CODE>
-<DD>
-Process RCS keywords according to <VAR>kflag</VAR>.  See
-co(1).  This option is sticky; future updates of
-this file in this working directory will use the same
-<VAR>kflag</VAR>.  The <CODE>status</CODE> command can be viewed
-to see the sticky options.  See section <A 
HREF="cvs_121.html#SEC128">status--Display status information on checked out 
files</A>.
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.
-
-<DT><CODE>-n</CODE>
-<DD>
-Do not run any checkout program (as specified
-with the <SAMP>`-o'</SAMP> option in the modules file;
-see section <A HREF="cvs_130.html#SEC137">The modules file</A>).
-
-<DT><CODE>-P</CODE>
-<DD>
-Prune empty directories.
-
-<DT><CODE>-p</CODE>
-<DD>
-Pipe files to the standard output.
-
-<DT><CODE>-r <VAR>tag</VAR></CODE>
-<DD>
-Use revision <VAR>tag</VAR>.  This option is sticky, and implies 
<SAMP>`-P'</SAMP>.
-See section <A HREF="cvs_52.html#SEC54">Sticky tags</A>, for more information 
on sticky tags/dates.
-</DL>
-
-<P>
-In addition to those, you can use these special command
-options with <CODE>checkout</CODE>:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-A</CODE>
-<DD>
-Reset any sticky tags, dates, or <SAMP>`-k'</SAMP> options.
-See section <A HREF="cvs_52.html#SEC54">Sticky tags</A>, for more information 
on sticky tags/dates.
-
-<DT><CODE>-c</CODE>
-<DD>
-Copy the module file, sorted, to the standard output,
-instead of creating or modifying any files or
-directories in your working directory.
-
-<DT><CODE>-d <VAR>dir</VAR></CODE>
-<DD>
-Create a directory called <VAR>dir</VAR> for the working
-files, instead of using the module name.  Unless you
-also use <SAMP>`-N'</SAMP>, the paths created under <VAR>dir</VAR>
-will be as short as possible.
-
-<DT><CODE>-j <VAR>tag</VAR></CODE>
-<DD>
-With two <SAMP>`-j'</SAMP> options, merge changes from the
-revision specified with the first <SAMP>`-j'</SAMP> option to
-the revision specified with the second <SAMP>`j'</SAMP> option,
-into the working directory.
-
-With one <SAMP>`-j'</SAMP> option, merge changes from the
-ancestor revision to the revision specified with the
-<SAMP>`-j'</SAMP> option, into the working directory.  The
-ancestor revision is the common ancestor of the
-revision which the working directory is based on, and
-the revision specified in the <SAMP>`-j'</SAMP> option.
-
-In addition, each -j option can contain an optional
-date specification which, when used with branches, can
-limit the chosen revision to one within a specific
-date.  An optional date is specified by adding a colon
-(:) to the tag:
-<SAMP>`-j<VAR>Symbolic_Tag</VAR>:<VAR>Date_Specifier</VAR>'</SAMP>.
-
-See section <A HREF="cvs_53.html#SEC55">Merging</A>.
-
-<DT><CODE>-N</CODE>
-<DD>
-Only useful together with <SAMP>`-d <VAR>dir</VAR>'</SAMP>.  With this
-option, CVS will not shorten module paths in your
-working directory.  (Normally, CVS shortens paths as
-much as possible when you specify an explicit target
-directory).
-
-<DT><CODE>-s</CODE>
-<DD>
-Like <SAMP>`-c'</SAMP>, but include the status of all modules,
-and sort it by the status string.  See section <A 
HREF="cvs_130.html#SEC137">The modules file</A>, for
-info about the <SAMP>`-s'</SAMP> option that is used inside the
-modules file to set the module status.
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_92.html">previous</A>, 
<A HREF="cvs_94.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_94.html
===================================================================
RCS file: manual/html_node/cvs_94.html
diff -N manual/html_node/cvs_94.html
--- manual/html_node/cvs_94.html        7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,37 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - checkout examples</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_93.html">previous</A>, 
<A HREF="cvs_95.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC98" HREF="cvs_toc.html#TOC98">checkout examples</A></H3>
-
-<P>
-Get a copy of the module <SAMP>`tc'</SAMP>:
-
-</P>
-
-<PRE>
-$ cvs checkout tc
-</PRE>
-
-<P>
-Get a copy of the module <SAMP>`tc'</SAMP> as it looked one day
-ago:
-
-</P>
-
-<PRE>
-$ cvs checkout -D yesterday tc
-</PRE>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_93.html">previous</A>, 
<A HREF="cvs_95.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_95.html
===================================================================
RCS file: manual/html_node/cvs_95.html
diff -N manual/html_node/cvs_95.html
--- manual/html_node/cvs_95.html        7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,91 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - commit</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_94.html">previous</A>, 
<A HREF="cvs_96.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC99" HREF="cvs_toc.html#TOC99">commit--Check files into the 
repository</A></H2>
-<P>
-<A NAME="IDX342"></A>
-
-</P>
-
-<UL>
-<LI>
-
-Version 1.3 Synopsis: commit [-lnR] [-m 'log_message' |
--f file] [-r revision] [files...]
-<LI>
-
-Version 1.3.1 Synopsis: commit [-lnRf] [-m 'log_message' |
--F file] [-r revision] [files...]
-<LI>
-
-Requires: working directory, repository.
-<LI>
-
-Changes: repository.
-<LI>
-
-Synonym: ci
-</UL>
-
-<P>
-<STRONG>Warning:</STRONG> The <SAMP>`-f <VAR>file</VAR>'</SAMP> option will
-probably be renamed to <SAMP>`-F <VAR>file</VAR>'</SAMP>, and <SAMP>`-f'</SAMP>
-will be given a new behavior in future releases of CVS.
-
-</P>
-<P>
-Use <CODE>commit</CODE> when you want to incorporate changes
-from your working source files into the source
-repository.
-
-</P>
-<P>
-If you don't specify particular files to commit, all of
-the files in your working current directory are
-examined.  <CODE>commit</CODE> is careful to change in the
-repository only those files that you have really
-changed.  By default (or if you explicitly specify the
-<SAMP>`-R'</SAMP> option), files in subdirectories are also
-examined and committed if they have changed; you can
-use the <SAMP>`-l'</SAMP> option to limit <CODE>commit</CODE> to the
-current directory only.
-
-</P>
-<P>
-<CODE>commit</CODE> verifies that the selected files are up
-to date with the current revisions in the source
-repository; it will notify you, and exit without
-committing, if any of the specified files must be made
-current first with <CODE>update</CODE> (see section <A 
HREF="cvs_125.html#SEC132">update--Bring work tree in sync with repository</A>).
-<CODE>commit</CODE> does not call the <CODE>update</CODE> command
-for you, but rather leaves that for you to do when the
-time is right.
-
-</P>
-<P>
-When all is well, an editor is invoked to allow you to
-enter a log message that will be written to one or more
-logging programs (see section <A HREF="cvs_130.html#SEC137">The modules 
file</A>, and see section <A HREF="cvs_137.html#SEC144">Loginfo</A>)
-and placed in the RCS history file inside the
-repository.  This log message can be retrieved with the
-<CODE>log</CODE> command; See section <A HREF="cvs_109.html#SEC116">log--Print 
out log information for files</A>.  You can specify the
-log message on the command line with the <SAMP>`-m
-<VAR>message</VAR>'</SAMP> option, and thus avoid the editor invocation,
-or use the <SAMP>`-f <VAR>file</VAR>'</SAMP> option to specify
-that the argument file contains the log message.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_94.html">previous</A>, 
<A HREF="cvs_96.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_96.html
===================================================================
RCS file: manual/html_node/cvs_96.html
diff -N manual/html_node/cvs_96.html
--- manual/html_node/cvs_96.html        7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,90 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - commit options</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_95.html">previous</A>, 
<A HREF="cvs_97.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC100" HREF="cvs_toc.html#TOC100">commit options</A></H3>
-
-<P>
-These standard options are supported by <CODE>commit</CODE>
-(see section <A HREF="cvs_88.html#SEC90">Common command options</A>, for a 
complete description of
-them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.
-
-<DT><CODE>-n</CODE>
-<DD>
-Do not run any module program.
-
-<DT><CODE>-R</CODE>
-<DD>
-Commit directories recursively.  This is on by default.
-
-<DT><CODE>-r <VAR>revision</VAR></CODE>
-<DD>
-Commit to <VAR>revision</VAR>.  <VAR>revision</VAR> must be
-either a branch, or a revision on the main trunk that
-is higher than any existing revision number.  You
-cannot commit to a specific revision on a branch.
-</DL>
-
-<P>
-<CODE>commit</CODE> also supports these options:
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-F <VAR>file</VAR></CODE>
-<DD>
-This option is present in CVS releases 1.3-s3 and
-later.  Read the log message from <VAR>file</VAR>, instead
-of invoking an editor.
-
-<DT><CODE>-f</CODE>
-<DD>
-This option is present in CVS 1.3-s3 and later releases
-of CVS.  Note that this is not the standard behavior of
-the <SAMP>`-f'</SAMP> option as defined in See section <A 
HREF="cvs_88.html#SEC90">Common command options</A>.
-
-Force CVS to commit a new revision even if you haven't
-made any changes to the file.  If the current revision
-of <VAR>file</VAR> is 1.7, then the following two commands
-are equivalent:
-
-
-<PRE>
-$ cvs commit -f <VAR>file</VAR>
-$ cvs commit -r 1.8 <VAR>file</VAR>
-</PRE>
-
-<DT><CODE>-f <VAR>file</VAR></CODE>
-<DD>
-This option is present in CVS releases 1.3, 1.3-s1 and
-1.3-s2.  Note that this is not the standard behavior of
-the <SAMP>`-f'</SAMP> option as defined in See section <A 
HREF="cvs_88.html#SEC90">Common command options</A>.
-
-Read the log message from <VAR>file</VAR>, instead
-of invoking an editor.
-
-<DT><CODE>-m <VAR>message</VAR></CODE>
-<DD>
-Use <VAR>message</VAR> as the log message, instead of
-invoking an editor.
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_95.html">previous</A>, 
<A HREF="cvs_97.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_97.html
===================================================================
RCS file: manual/html_node/cvs_97.html
diff -N manual/html_node/cvs_97.html
--- manual/html_node/cvs_97.html        7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,151 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - commit examples</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_96.html">previous</A>, 
<A HREF="cvs_98.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC101" HREF="cvs_toc.html#TOC101">commit examples</A></H3>
-
-
-
-<H4><A NAME="SEC102" HREF="cvs_toc.html#TOC102">New major release 
number</A></H4>
-
-<P>
-When you make a major release of your product, you
-might want the revision numbers to track your major
-release number.  You should normally not care about
-the revision numbers, but this is a thing that many
-people want to do, and it can be done without doing any
-harm.
-
-</P>
-<P>
-To bring all your files up to the RCS revision 3.0
-(including those that haven't changed), you might do:
-
-</P>
-
-<PRE>
-$ cvs commit -r 3.0
-</PRE>
-
-<P>
-Note that it is generally a bad idea to try to make the
-RCS revision number equal to the current release number
-of your product.  You should think of the revision
-number as an internal number that the CVS package
-maintains, and that you generally never need to care
-much about.  Using the <CODE>tag</CODE> and <CODE>rtag</CODE>
-commands you can give symbolic names to the releases
-instead.  See section <A HREF="cvs_123.html#SEC130">tag--Add a symbolic tag to 
checked out versions of files</A> and See section <A 
HREF="cvs_119.html#SEC126">rtag--Add a symbolic tag to a module</A>.
-
-</P>
-<P>
-Note that the number you specify with <SAMP>`-r'</SAMP> must be
-larger than any existing revision number.  That is, if
-revision 3.0 exists, you cannot <SAMP>`cvs commit
--r 1.3'</SAMP>.
-
-</P>
-
-
-<H4><A NAME="SEC103" HREF="cvs_toc.html#TOC103">Committing to a branch</A></H4>
-
-<P>
-You can commit to a branch revision (one that has an
-even number of dots) with the <SAMP>`-r'</SAMP> option.  To
-create a branch revision, use the <SAMP>`-b'</SAMP> option
-of the <CODE>rtag</CODE> or <CODE>tag</CODE> commands (see section <A 
HREF="cvs_123.html#SEC130">tag--Add a symbolic tag to checked out versions of 
files</A>
-or see section <A HREF="cvs_119.html#SEC126">rtag--Add a symbolic tag to a 
module</A>).  Then, either <CODE>checkout</CODE> or
-<CODE>update</CODE> can be used to base your sources on the
-newly created branch.  From that point on, all
-<CODE>commit</CODE> changes made within these working sources
-will be automatically added to a branch revision,
-thereby not disturbing main-line development in any
-way.  For example, if you had to create a patch to the
-1.2 version of the product, even though the 2.0 version
-is already under development, you might do:
-
-</P>
-
-<PRE>
-$ cvs rtag -b -r FCS1_2 FCS1_2_Patch product_module
-$ cvs checkout -r FCS1_2_Patch product_module
-$ cd product_module
-[[ hack away ]]
-$ cvs commit
-</PRE>
-
-<P>
-This works automatically since the <SAMP>`-r'</SAMP> option is
-sticky.
-
-</P>
-
-
-<H4><A NAME="SEC104" HREF="cvs_toc.html#TOC104">Creating the branch after 
editing</A></H4>
-
-<P>
-Say you have been working on some extremely
-experimental software, based on whatever revision you
-happened to checkout last week.  If others in your
-group would like to work on this software with you, but
-without disturbing main-line development, you could
-commit your change to a new branch.  Others can then
-checkout your experimental stuff and utilize the full
-benefit of CVS conflict resolution.  The scenario might
-look like:
-
-</P>
-
-<PRE>
-[[ hacked sources are present ]]
-$ cvs tag -b EXPR1
-$ cvs update -r EXPR1
-$ cvs commit
-</PRE>
-
-<P>
-The <CODE>update</CODE> command will make the <SAMP>`-r
-EXPR1'</SAMP> option sticky on all files.  Note that your
-changes to the files will never be removed by the
-<CODE>update</CODE> command.  The <CODE>commit</CODE> will
-automatically commit to the correct branch, because the
-<SAMP>`-r'</SAMP> is sticky.  You could also do like this:
-
-</P>
-
-<PRE>
-[[ hacked sources are present ]]
-$ cvs tag -b EXPR1
-$ cvs commit -r EXPR1
-</PRE>
-
-<P>
-but then, only those files that were changed by you
-will have the <SAMP>`-r EXPR1'</SAMP> sticky flag.  If you hack
-away, and commit without specifying the <SAMP>`-r EXPR1'</SAMP>
-flag, some files may accidentally end up on the main
-trunk.
-
-</P>
-<P>
-To work with you on the experimental change, others
-would simply do
-
-</P>
-
-<PRE>
-$ cvs checkout -r EXPR1 whatever_module
-</PRE>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_96.html">previous</A>, 
<A HREF="cvs_98.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_98.html
===================================================================
RCS file: manual/html_node/cvs_98.html
diff -N manual/html_node/cvs_98.html
--- manual/html_node/cvs_98.html        7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,54 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - diff</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_97.html">previous</A>, 
<A HREF="cvs_99.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H2><A NAME="SEC105" HREF="cvs_toc.html#TOC105">diff--Run diffs between 
revisions</A></H2>
-<P>
-<A NAME="IDX343"></A>
-
-</P>
-
-<UL>
-<LI>
-
-Synopsis: diff [-l] [rcsdiff_options] [[-r rev1 | -D date1] [-r rev2 |  -D 
date2]] [files...]
-<LI>
-
-Requires: working directory, repository.
-<LI>
-
-Changes: nothing.
-</UL>
-
-<P>
-The <CODE>diff</CODE> command is used to compare different
-revisions of files.  The default action is to compare
-your working files with the revisions they were based
-on, and report any differences that are found.
-
-</P>
-<P>
-If any file names are given, only those files are
-compared.  If any directories are given, all files
-under them will be compared.
-
-</P>
-<P>
-The exit status will be 0 if no differences were found,
-1 if some differences were found, and 2 if any error
-occurred.
-
-</P>
-
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_97.html">previous</A>, 
<A HREF="cvs_99.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_99.html
===================================================================
RCS file: manual/html_node/cvs_99.html
diff -N manual/html_node/cvs_99.html
--- manual/html_node/cvs_99.html        7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,78 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - diff options</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_98.html">previous</A>, 
<A HREF="cvs_100.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H3><A NAME="SEC106" HREF="cvs_toc.html#TOC106">diff options</A></H3>
-
-<P>
-These standard options are supported by <CODE>diff</CODE>
-(see section <A HREF="cvs_88.html#SEC90">Common command options</A>, for a 
complete description of
-them):
-
-</P>
-<DL COMPACT>
-
-<DT><CODE>-D <VAR>date</VAR></CODE>
-<DD>
-Use the most recent revision no later than <VAR>date</VAR>.
-See <SAMP>`-r'</SAMP> for how this affects the comparison.
-
-CVS can be configured to pass the <SAMP>`-D'</SAMP> option
-through to <CODE>rcsdiff</CODE> (which in turn passes it on
-to <CODE>diff</CODE>.  GNU diff uses <SAMP>`-D'</SAMP> as a way to
-put <CODE>cpp</CODE>-style <SAMP>`#define'</SAMP> statements around the output
-differences.  There is no way short of testing to
-figure out how CVS was configured.  In the default
-configuration CVS will use the <SAMP>`-D <VAR>date</VAR>'</SAMP> option.
-
-<DT><CODE>-k <VAR>kflag</VAR></CODE>
-<DD>
-Process RCS keywords according to <VAR>kflag</VAR>.  See
-co(1).
-
-<DT><CODE>-l</CODE>
-<DD>
-Local; run only in current working directory.
-
-<DT><CODE>-R</CODE>
-<DD>
-Examine directories recursively.  This option is on by
-default.
-
-<DT><CODE>-r <VAR>tag</VAR></CODE>
-<DD>
-Compare with revision <VAR>tag</VAR>.  Zero, one or two
-<SAMP>`-r'</SAMP> options can be present.  With no <SAMP>`-r'</SAMP>
-option, the working file will be compared with the
-revision it was based on.  With one <SAMP>`-r'</SAMP>, that
-revision will be compared to your current working file.
-With two <SAMP>`-r'</SAMP> options those two revisions will be
-compared (and your working file will not affect the
-outcome in any way).
-
-One or both <SAMP>`-r'</SAMP> options can be replaced by a
-<SAMP>`-D <VAR>date</VAR>'</SAMP> option, described above.
-</DL>
-
-<P>
-Any other options that are found are passed through to
-<CODE>rcsdiff</CODE>, which in turn passes them to
-<CODE>diff</CODE>.  The exact meaning of the options depends
-on which <CODE>diff</CODE> you are using.  The long options
-introduced in GNU diff 2.0 are not yet supported in
-CVS.  See the documentation for your <CODE>diff</CODE> to see
-which options are supported.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="cvs_1.html">first</A>, <A HREF="cvs_98.html">previous</A>, 
<A HREF="cvs_100.html">next</A>, <A HREF="cvs_148.html">last</A> section, <A 
HREF="cvs_toc.html">table of contents</A>.
-</BODY>
-</HTML>

Index: manual/html_node/cvs_toc.html
===================================================================
RCS file: manual/html_node/cvs_toc.html
diff -N manual/html_node/cvs_toc.html
--- manual/html_node/cvs_toc.html       7 Nov 2003 20:55:33 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,258 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
-     from ../texi/cvs.texinfo on 7 November 1998 -->
-
-<TITLE>CVS--Concurrent Versions System - Table of Contents</TITLE>
-</HEAD>
-<BODY>
-<H1>CVS--Concurrent Versions System</H1>
-<P>
-<P><HR><P>
-<UL>
-<LI><A NAME="TOC1" HREF="cvs_1.html#SEC1">About this manual</A>
-<UL>
-<LI><A NAME="TOC2" HREF="cvs_2.html#SEC2">Checklist for the impatient 
reader</A>
-<LI><A NAME="TOC3" HREF="cvs_3.html#SEC3">Credits</A>
-<LI><A NAME="TOC4" HREF="cvs_4.html#SEC4">BUGS</A>
-</UL>
-<LI><A NAME="TOC5" HREF="cvs_5.html#SEC5">What is CVS?</A>
-<UL>
-<LI><A NAME="TOC6" HREF="cvs_5.html#SEC6">CVS is not...</A>
-</UL>
-<LI><A NAME="TOC7" HREF="cvs_6.html#SEC7">Basic concepts</A>
-<UL>
-<LI><A NAME="TOC8" HREF="cvs_7.html#SEC8">Revision numbers</A>
-<LI><A NAME="TOC9" HREF="cvs_8.html#SEC9">Versions, revisions and releases</A>
-</UL>
-<LI><A NAME="TOC10" HREF="cvs_9.html#SEC10">A sample session</A>
-<UL>
-<LI><A NAME="TOC11" HREF="cvs_10.html#SEC11">Getting the source</A>
-<LI><A NAME="TOC12" HREF="cvs_11.html#SEC12">Committing your changes</A>
-<LI><A NAME="TOC13" HREF="cvs_12.html#SEC13">Cleaning up</A>
-<LI><A NAME="TOC14" HREF="cvs_13.html#SEC14">Viewing differences</A>
-</UL>
-<LI><A NAME="TOC15" HREF="cvs_14.html#SEC15">The Repository</A>
-<UL>
-<LI><A NAME="TOC16" HREF="cvs_15.html#SEC16">Telling CVS where your repository 
is</A>
-<LI><A NAME="TOC17" HREF="cvs_16.html#SEC17">How data is stored in the 
repository</A>
-<UL>
-<LI><A NAME="TOC18" HREF="cvs_17.html#SEC18">Where files are stored within the 
repository</A>
-<LI><A NAME="TOC19" HREF="cvs_18.html#SEC19">File permissions</A>
-</UL>
-<LI><A NAME="TOC20" HREF="cvs_19.html#SEC20">The administrative files</A>
-<UL>
-<LI><A NAME="TOC21" HREF="cvs_19.html#SEC21">Editing administrative files</A>
-</UL>
-<LI><A NAME="TOC22" HREF="cvs_20.html#SEC22">Multiple repositories</A>
-<LI><A NAME="TOC23" HREF="cvs_21.html#SEC23">Creating a repository</A>
-<LI><A NAME="TOC24" HREF="cvs_22.html#SEC24">Remote repositories</A>
-<UL>
-<LI><A NAME="TOC25" HREF="cvs_23.html#SEC25">Connecting with rsh</A>
-<LI><A NAME="TOC26" HREF="cvs_24.html#SEC26">Direct connection with password 
authentication</A>
-<UL>
-<LI><A NAME="TOC27" HREF="cvs_25.html#SEC27">Setting up the server for 
password authentication</A>
-<LI><A NAME="TOC28" HREF="cvs_26.html#SEC28">Using the client with password 
authentication</A>
-<LI><A NAME="TOC29" HREF="cvs_27.html#SEC29">Security considerations with 
password authentication</A>
-</UL>
-<LI><A NAME="TOC30" HREF="cvs_28.html#SEC30">Direct connection with 
kerberos</A>
-</UL>
-</UL>
-<LI><A NAME="TOC31" HREF="cvs_29.html#SEC31">Starting a project with CVS</A>
-<UL>
-<LI><A NAME="TOC32" HREF="cvs_30.html#SEC32">Setting up the files</A>
-<UL>
-<LI><A NAME="TOC33" HREF="cvs_31.html#SEC33">Creating a directory tree from a 
number of files</A>
-<LI><A NAME="TOC34" HREF="cvs_32.html#SEC34">Creating Files From Other Version 
Control Systems</A>
-<LI><A NAME="TOC35" HREF="cvs_33.html#SEC35">Creating a directory tree from 
scratch</A>
-</UL>
-<LI><A NAME="TOC36" HREF="cvs_34.html#SEC36">Defining the module</A>
-</UL>
-<LI><A NAME="TOC37" HREF="cvs_35.html#SEC37">Multiple developers</A>
-<UL>
-<LI><A NAME="TOC38" HREF="cvs_36.html#SEC38">File status</A>
-<LI><A NAME="TOC39" HREF="cvs_37.html#SEC39">Bringing a file up to date</A>
-<LI><A NAME="TOC40" HREF="cvs_38.html#SEC40">Conflicts example</A>
-<LI><A NAME="TOC41" HREF="cvs_39.html#SEC41">Informing others about commits</A>
-<LI><A NAME="TOC42" HREF="cvs_40.html#SEC42">Several developers simultaneously 
attempting to run CVS</A>
-<LI><A NAME="TOC43" HREF="cvs_41.html#SEC43">Mechanisms to track who is 
editing files</A>
-<UL>
-<LI><A NAME="TOC44" HREF="cvs_42.html#SEC44">Telling CVS to watch certain 
files</A>
-<LI><A NAME="TOC45" HREF="cvs_43.html#SEC45">Telling CVS to notify you</A>
-<LI><A NAME="TOC46" HREF="cvs_44.html#SEC46">How to edit a file which is being 
watched</A>
-<LI><A NAME="TOC47" HREF="cvs_45.html#SEC47">Information about who is watching 
and editing</A>
-<LI><A NAME="TOC48" HREF="cvs_46.html#SEC48">Using watches with old versions 
of CVS</A>
-</UL>
-<LI><A NAME="TOC49" HREF="cvs_47.html#SEC49">Choosing between reserved or 
unreserved checkouts</A>
-</UL>
-<LI><A NAME="TOC50" HREF="cvs_48.html#SEC50">Branches</A>
-<UL>
-<LI><A NAME="TOC51" HREF="cvs_49.html#SEC51">Tags--Symbolic revisions</A>
-<LI><A NAME="TOC52" HREF="cvs_50.html#SEC52">What branches are good for</A>
-<LI><A NAME="TOC53" HREF="cvs_51.html#SEC53">Creating a branch</A>
-<LI><A NAME="TOC54" HREF="cvs_52.html#SEC54">Sticky tags</A>
-</UL>
-<LI><A NAME="TOC55" HREF="cvs_53.html#SEC55">Merging</A>
-<UL>
-<LI><A NAME="TOC56" HREF="cvs_54.html#SEC56">Merging an entire branch</A>
-<LI><A NAME="TOC57" HREF="cvs_55.html#SEC57">Merging from a branch several 
times</A>
-<LI><A NAME="TOC58" HREF="cvs_56.html#SEC58">Merging differences between any 
two revisions</A>
-<LI><A NAME="TOC59" HREF="cvs_57.html#SEC59">Merging can add or remove 
files</A>
-</UL>
-<LI><A NAME="TOC60" HREF="cvs_58.html#SEC60">Recursive behavior</A>
-<LI><A NAME="TOC61" HREF="cvs_59.html#SEC61">Adding files to a directory</A>
-<LI><A NAME="TOC62" HREF="cvs_60.html#SEC62">Removing files from a module</A>
-<LI><A NAME="TOC63" HREF="cvs_61.html#SEC63">Tracking third-party sources</A>
-<UL>
-<LI><A NAME="TOC64" HREF="cvs_62.html#SEC64">Importing a module for the first 
time</A>
-<LI><A NAME="TOC65" HREF="cvs_63.html#SEC65">Updating a module with the import 
command</A>
-<LI><A NAME="TOC66" HREF="cvs_64.html#SEC66">How to handle binary files with 
cvs import</A>
-</UL>
-<LI><A NAME="TOC67" HREF="cvs_65.html#SEC67">Moving and renaming files</A>
-<UL>
-<LI><A NAME="TOC68" HREF="cvs_66.html#SEC68">The Normal way to Rename</A>
-<LI><A NAME="TOC69" HREF="cvs_67.html#SEC69">Moving the history file</A>
-<LI><A NAME="TOC70" HREF="cvs_68.html#SEC70">Copying the history file</A>
-</UL>
-<LI><A NAME="TOC71" HREF="cvs_69.html#SEC71">Moving and renaming 
directories</A>
-<LI><A NAME="TOC72" HREF="cvs_70.html#SEC72">History browsing</A>
-<UL>
-<LI><A NAME="TOC73" HREF="cvs_71.html#SEC73">Log messages</A>
-<LI><A NAME="TOC74" HREF="cvs_72.html#SEC74">The history database</A>
-<LI><A NAME="TOC75" HREF="cvs_73.html#SEC75">User-defined logging</A>
-<LI><A NAME="TOC76" HREF="cvs_74.html#SEC76">Annotate command</A>
-</UL>
-<LI><A NAME="TOC77" HREF="cvs_75.html#SEC77">Keyword substitution</A>
-<UL>
-<LI><A NAME="TOC78" HREF="cvs_76.html#SEC78">RCS Keywords</A>
-<LI><A NAME="TOC79" HREF="cvs_77.html#SEC79">Using keywords</A>
-<LI><A NAME="TOC80" HREF="cvs_78.html#SEC80">Avoiding substitution</A>
-<LI><A NAME="TOC81" HREF="cvs_79.html#SEC81">Substitution modes</A>
-<LI><A NAME="TOC82" HREF="cvs_80.html#SEC82">Problems with the address@hidden 
keyword.</A>
-</UL>
-<LI><A NAME="TOC83" HREF="cvs_81.html#SEC83">Handling binary files</A>
-<LI><A NAME="TOC84" HREF="cvs_82.html#SEC84">Revision management</A>
-<UL>
-<LI><A NAME="TOC85" HREF="cvs_83.html#SEC85">When to commit?</A>
-</UL>
-<LI><A NAME="TOC86" HREF="cvs_84.html#SEC86">Reference manual for CVS 
commands</A>
-<UL>
-<LI><A NAME="TOC87" HREF="cvs_85.html#SEC87">Overall structure of CVS 
commands</A>
-<LI><A NAME="TOC88" HREF="cvs_86.html#SEC88">Default options and the ~/.cvsrc 
file</A>
-<LI><A NAME="TOC89" HREF="cvs_87.html#SEC89">Global options</A>
-<LI><A NAME="TOC90" HREF="cvs_88.html#SEC90">Common command options</A>
-<LI><A NAME="TOC91" HREF="cvs_89.html#SEC91">admin--Administration front end 
for rcs</A>
-<UL>
-<LI><A NAME="TOC92" HREF="cvs_90.html#SEC92">admin options</A>
-<LI><A NAME="TOC93" HREF="cvs_91.html#SEC93">admin examples</A>
-<UL>
-<LI><A NAME="TOC94" HREF="cvs_91.html#SEC94">Outdating is dangerous</A>
-<LI><A NAME="TOC95" HREF="cvs_91.html#SEC95">Comment leaders</A>
-</UL>
-</UL>
-<LI><A NAME="TOC96" HREF="cvs_92.html#SEC96">checkout--Check out sources for 
editing</A>
-<UL>
-<LI><A NAME="TOC97" HREF="cvs_93.html#SEC97">checkout options</A>
-<LI><A NAME="TOC98" HREF="cvs_94.html#SEC98">checkout examples</A>
-</UL>
-<LI><A NAME="TOC99" HREF="cvs_95.html#SEC99">commit--Check files into the 
repository</A>
-<UL>
-<LI><A NAME="TOC100" HREF="cvs_96.html#SEC100">commit options</A>
-<LI><A NAME="TOC101" HREF="cvs_97.html#SEC101">commit examples</A>
-<UL>
-<LI><A NAME="TOC102" HREF="cvs_97.html#SEC102">New major release number</A>
-<LI><A NAME="TOC103" HREF="cvs_97.html#SEC103">Committing to a branch</A>
-<LI><A NAME="TOC104" HREF="cvs_97.html#SEC104">Creating the branch after 
editing</A>
-</UL>
-</UL>
-<LI><A NAME="TOC105" HREF="cvs_98.html#SEC105">diff--Run diffs between 
revisions</A>
-<UL>
-<LI><A NAME="TOC106" HREF="cvs_99.html#SEC106">diff options</A>
-<LI><A NAME="TOC107" HREF="cvs_100.html#SEC107">diff examples</A>
-</UL>
-<LI><A NAME="TOC108" HREF="cvs_101.html#SEC108">export--Export sources from 
CVS, similar to checkout</A>
-<UL>
-<LI><A NAME="TOC109" HREF="cvs_102.html#SEC109">export options</A>
-</UL>
-<LI><A NAME="TOC110" HREF="cvs_103.html#SEC110">history--Show status of files 
and users</A>
-<UL>
-<LI><A NAME="TOC111" HREF="cvs_104.html#SEC111">history options</A>
-</UL>
-<LI><A NAME="TOC112" HREF="cvs_105.html#SEC112">import--Import sources into 
CVS, using vendor branches</A>
-<UL>
-<LI><A NAME="TOC113" HREF="cvs_106.html#SEC113">import options</A>
-<LI><A NAME="TOC114" HREF="cvs_107.html#SEC114">import output</A>
-<LI><A NAME="TOC115" HREF="cvs_108.html#SEC115">import examples</A>
-</UL>
-<LI><A NAME="TOC116" HREF="cvs_109.html#SEC116">log--Print out log information 
for files</A>
-<UL>
-<LI><A NAME="TOC117" HREF="cvs_110.html#SEC117">log options</A>
-<LI><A NAME="TOC118" HREF="cvs_111.html#SEC118">log examples</A>
-</UL>
-<LI><A NAME="TOC119" HREF="cvs_112.html#SEC119">rdiff---'patch' format diffs 
between releases</A>
-<UL>
-<LI><A NAME="TOC120" HREF="cvs_113.html#SEC120">rdiff options</A>
-<LI><A NAME="TOC121" HREF="cvs_114.html#SEC121">rdiff examples</A>
-</UL>
-<LI><A NAME="TOC122" HREF="cvs_115.html#SEC122">release--Indicate that a 
Module is no longer in use</A>
-<UL>
-<LI><A NAME="TOC123" HREF="cvs_116.html#SEC123">release options</A>
-<LI><A NAME="TOC124" HREF="cvs_117.html#SEC124">release output</A>
-<LI><A NAME="TOC125" HREF="cvs_118.html#SEC125">release examples</A>
-</UL>
-<LI><A NAME="TOC126" HREF="cvs_119.html#SEC126">rtag--Add a symbolic tag to a 
module</A>
-<UL>
-<LI><A NAME="TOC127" HREF="cvs_120.html#SEC127">rtag options</A>
-</UL>
-<LI><A NAME="TOC128" HREF="cvs_121.html#SEC128">status--Display status 
information on checked out files</A>
-<UL>
-<LI><A NAME="TOC129" HREF="cvs_122.html#SEC129">status options</A>
-</UL>
-<LI><A NAME="TOC130" HREF="cvs_123.html#SEC130">tag--Add a symbolic tag to 
checked out versions of files</A>
-<UL>
-<LI><A NAME="TOC131" HREF="cvs_124.html#SEC131">tag options</A>
-</UL>
-<LI><A NAME="TOC132" HREF="cvs_125.html#SEC132">update--Bring work tree in 
sync with repository</A>
-<UL>
-<LI><A NAME="TOC133" HREF="cvs_126.html#SEC133">update options</A>
-<LI><A NAME="TOC134" HREF="cvs_127.html#SEC134">update output</A>
-<LI><A NAME="TOC135" HREF="cvs_128.html#SEC135">update examples</A>
-</UL>
-</UL>
-<LI><A NAME="TOC136" HREF="cvs_129.html#SEC136">Reference manual for the 
Administrative files</A>
-<UL>
-<LI><A NAME="TOC137" HREF="cvs_130.html#SEC137">The modules file</A>
-<LI><A NAME="TOC138" HREF="cvs_131.html#SEC138">The cvswrappers file</A>
-<LI><A NAME="TOC139" HREF="cvs_132.html#SEC139">The commit support files</A>
-<UL>
-<LI><A NAME="TOC140" HREF="cvs_133.html#SEC140">The common syntax</A>
-</UL>
-<LI><A NAME="TOC141" HREF="cvs_134.html#SEC141">Commitinfo</A>
-<LI><A NAME="TOC142" HREF="cvs_135.html#SEC142">Editinfo</A>
-<UL>
-<LI><A NAME="TOC143" HREF="cvs_136.html#SEC143">Editinfo example</A>
-</UL>
-<LI><A NAME="TOC144" HREF="cvs_137.html#SEC144">Loginfo</A>
-<UL>
-<LI><A NAME="TOC145" HREF="cvs_138.html#SEC145">Loginfo example</A>
-<LI><A NAME="TOC146" HREF="cvs_139.html#SEC146">Keeping a checked out copy</A>
-</UL>
-<LI><A NAME="TOC147" HREF="cvs_140.html#SEC147">Rcsinfo</A>
-<LI><A NAME="TOC148" HREF="cvs_141.html#SEC148">Ignoring files via 
cvsignore</A>
-<LI><A NAME="TOC149" HREF="cvs_142.html#SEC149">The history file</A>
-<LI><A NAME="TOC150" HREF="cvs_143.html#SEC150">Expansions in administrative 
files</A>
-</UL>
-<LI><A NAME="TOC151" HREF="cvs_144.html#SEC151">All environment variables 
which affect CVS</A>
-<LI><A NAME="TOC152" HREF="cvs_145.html#SEC152">Troubleshooting</A>
-<UL>
-<LI><A NAME="TOC153" HREF="cvs_146.html#SEC153">Magic branch numbers</A>
-</UL>
-<LI><A NAME="TOC154" HREF="cvs_147.html#SEC154">GNU GENERAL PUBLIC LICENSE</A>
-<LI><A NAME="TOC155" HREF="cvs_148.html#SEC155">Index</A>
-</UL>
-<P><HR><P>
-This document was generated on 7 November 1998 using the
-<A HREF="http://wwwinfo.cern.ch/dis/texi2html/";>texi2html</A>
-translator version 1.52.</P>
-</BODY>
-</HTML>

Index: manual/info/cvs-infonfo.tar.gz
===================================================================
RCS file: manual/info/cvs-infonfo.tar.gz
diff -N manual/info/cvs-infonfo.tar.gz
Binary files /tmp/cvsv3Ss4C and /dev/null differ

Index: manual/ps/cvs.ps.gz
===================================================================
RCS file: manual/ps/cvs.ps.gz
diff -N manual/ps/cvs.ps.gz
Binary files /tmp/cvsuVpPhB and /dev/null differ

Index: manual/texi/cvs.texinfo.tar.gz
===================================================================
RCS file: manual/texi/cvs.texinfo.tar.gz
diff -N manual/texi/cvs.texinfo.tar.gz
Binary files /tmp/cvs6i485B and /dev/null differ

Index: manual/text/cvs.txt
===================================================================
RCS file: manual/text/cvs.txt
diff -N manual/text/cvs.txt
--- manual/text/cvs.txt 8 Jun 2009 20:47:05 -0000       1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,6135 +0,0 @@
-Copyright (C) 1992, 1993 Signum Support AB Copyright (C) 1993, 1994
-Free Software Foundation, Inc.
-
-   Permission is granted to make and distribute verbatim copies of this
-manual provided the copyright notice and this permission notice are
-preserved on all copies.
-
-   Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided also
-that the section entitled "GNU General Public License" is included
-exactly as in the original, and provided that the entire resulting
-derived work is distributed under the terms of a permission notice
-identical to this one.
-
-   Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that the section entitled "GNU General Public License"
-and this permission notice may be included in translations approved by
-the Free Software Foundation instead of in the original English.
-
-
-
-   This info manual describes how to use and administer CVS version
-1.9.
-
-About this manual
-*****************
-
-   Up to this point, one of the weakest parts of CVS has been the
-documentation.  CVS is a complex program.  Previous versions of the
-manual were written in the manual page format, which is not really well
-suited for such a complex program.
-
-   When writing this manual, I had several goals in mind:
-
-   * No knowledge of RCS should be necessary.
-
-   * No previous knowledge of revision control software should be
-     necessary.  All terms, such as "revision numbers", "revision
-     trees" and "merging" are explained as they are introduced.
-
-   * The manual should concentrate on the things CVS users want to do,
-     instead of what the CVS commands can do.  The first part of this
-     manual leads you through things you might want to do while doing
-     development, and introduces the relevant CVS commands as they are
-     needed.
-
-   * Information should be easy to find.  In the reference manual in
-     the appendices almost all information about every CVS command is
-     gathered together.  There is also an extensive index, and a lot of
-     cross references.
-
-   This manual was contributed by Signum Support AB in Sweden.  Signum
-is yet another in the growing list of companies that support free
-software.  You are free to copy both this manual and the CVS program.
-*Note Copying::, for the details.  Signum Support offers support
-contracts and binary distribution for many programs, such as CVS, GNU
-Emacs, the GNU C compiler and others.  Write to us for more information.
-
-     Signum Support AB
-     Box 2044
-     S-580 02  Linkoping
-     Sweden
-     
-     Email: address@hidden
-     Phone: +46 (0)13 - 21 46 00
-     Fax:   +46 (0)13 - 21 47 00
-
-   Another company selling support for CVS is Cyclic Software, web:
-`http://www.cyclic.com/', email: address@hidden'.
-
-Checklist for the impatient reader
-==================================
-
-   CVS is a complex system.  You will need to read the manual to be
-able to use all of its capabilities.  There are dangers that can easily
-be avoided if you know about them, and this manual tries to warn you
-about them.  This checklist is intended to help you avoid the dangers
-without reading the entire manual.  If you intend to read the entire
-manual you can skip this table.
-
-Binary files
-     CVS can handle binary files, but you must have RCS release 5.5 or
-     later and a release of GNU diff that supports the `-a' flag
-     (release 1.15 and later are OK).  You must also configure both RCS
-     and CVS to handle binary files when you install them.
-
-     Keword substitution can be a source of trouble with binary files.
-     *Note Keyword substitution::, for solutions.
-
-The `admin' command
-     Careless use of the `admin' command can cause CVS to cease
-     working.  *Note admin::, before trying to use it.
-
-Credits
-=======
-
-   Roland Pesch, Cygnus Support <address@hidden> wrote the manual
-pages which were distributed with CVS 1.3.  Appendix A and B contain
-much text that was extracted from them.  He also read an early draft of
-this manual and contributed many ideas and corrections.
-
-   The mailing-list `info-cvs' is sometimes informative. I have
-included information from postings made by the following persons: David
-G. Grubbs <address@hidden>.
-
-   Some text has been extracted from the man pages for RCS.
-
-   The CVS FAQ by David G. Grubbs has provided useful material.  The
-FAQ is no longer maintained, however, and this manual about the closest
-thing there is to a successor (with respect to documenting how to use
-CVS, at least).
-
-   In addition, the following persons have helped by telling me about
-mistakes I've made: Roxanne Brunskill <address@hidden>, Kathy Dyer
-<address@hidden>, Karl Pingle <address@hidden>, Thomas A
-Peterson <address@hidden>, Inge Wallin <address@hidden>, Dirk
-Koschuetzki <address@hidden> and Michael Brown
-<address@hidden>.
-
-BUGS
-====
-
-   This manual is known to have room for improvement.  Here is a list
-of known deficiencies:
-
-   * In the examples, the output from CVS is sometimes displayed,
-     sometimes not.
-
-   * The input that you are supposed to type in the examples should
-     have a different font than the output from the computer.
-
-   * This manual should be clearer about what file permissions you
-     should set up in the repository, and about setuid/setgid.
-
-   * Some of the chapters are not yet complete.  They are noted by
-     comments in the `cvs.texinfo' file.
-
-   * This list is not complete.  If you notice any error, omission, or
-     something that is unclear, please send mail to
-     address@hidden
-
-   I hope that you will find this manual useful, despite the
-above-mentioned shortcomings.
-
-
-                                                Linkoping, October 1993
-                                                         Per Cederqvist
-
-What is CVS?
-************
-
-   CVS is a version control system.  Using it, you can record the
-history of your source files.
-
-   For example, bugs sometimes creep in when software is modified, and
-you might not detect the bug until a long time after you make the
-modification.  With CVS, you can easily retrieve old versions to see
-exactly which change caused the bug.  This can sometimes be a big help.
-
-   You could of course save every version of every file you have ever
-created.  This would however waste an enormous amount of disk space.
-CVS stores all the versions of a file in a single file in a clever way
-that only stores the differences between versions.
-
-   CVS also helps you if you are part of a group of people working on
-the same project.  It is all too easy to overwrite each others' changes
-unless you are extremely careful.  Some editors, like GNU Emacs, try to
-make sure that the same file is never modified by two people at the
-same time.  Unfortunately, if someone is using another editor, that
-safeguard will not work.  CVS solves this problem by insulating the
-different developers from each other.  Every developer works in his own
-directory, and CVS merges the work when each developer is done.
-
-   CVS started out as a bunch of shell scripts written by Dick Grune,
-posted to `comp.sources.unix' in the volume 6 release of December,
-1986.  While no actual code from these shell scripts is present in the
-current version of CVS much of the CVS conflict resolution algorithms
-come from them.
-
-   In April, 1989, Brian Berliner designed and coded CVS.  Jeff Polk
-later helped Brian with the design of the CVS module and vendor branch
-support.
-
-   You can get CVS via anonymous ftp from a number of sites, for
-instance prep.ai.mit.edu in `pub/gnu'.
-
-   There is a mailing list, known as `info-cvs', devoted to CVS.  To
-subscribe or unsubscribe send a message to
address@hidden'.  Please be specific about your
-email address.  As of May 1996, subscription requests are handled by a
-busy human being, so you cannot expect to be added or removed
-immediately.  The usenet group `comp.software.config-mgmt' is also a
-suitable place for CVS discussions (along with other configuration
-management systems).
-
-CVS is not...
-=============
-
-   CVS can do a lot of things for you, but it does not try to be
-everything for everyone.
-
-CVS is not a build system.
-     Though the structure of your repository and modules file interact
-     with your build system (e.g. `Makefile's), they are essentially
-     independent.
-
-     CVS does not dictate how you build anything.  It merely stores
-     files for retrieval in a tree structure you devise.
-
-     CVS does not dictate how to use disk space in the checked out
-     working directories.  If you write your `Makefile's or scripts in
-     every directory so they have to know the relative positions of
-     everything else, you wind up requiring the entire repository to be
-     checked out.
-
-     If you modularize your work, and construct a build system that
-     will share files (via links, mounts, `VPATH' in `Makefile's,
-     etc.), you can arrange your disk usage however you like.
-
-     But you have to remember that *any* such system is a lot of work
-     to construct and maintain.  CVS does not address the issues
-     involved.
-
-     Of course, you should place the tools created to support such a
-     build system (scripts, `Makefile's, etc) under CVS.
-
-     Figuring out what files need to be rebuilt when something changes
-     is, again, something to be handled outside the scope of CVS.  One
-     traditional approach is to use `make' for building, and use some
-     automated tool for generating the depencies which `make' uses.
-
-CVS is not a substitute for management.
-     Your managers and project leaders are expected to talk to you
-     frequently enough to make certain you are aware of schedules,
-     merge points, branch names and release dates.  If they don't, CVS
-     can't help.
-
-     CVS is an instrument for making sources dance to your tune.  But
-     you are the piper and the composer.  No instrument plays itself or
-     writes its own music.
-
-CVS is not a substitute for developer communication.
-     When faced with conflicts within a single file, most developers
-     manage to resolve them without too much effort.  But a more
-     general definition of "conflict" includes problems too difficult
-     to solve without communication between developers.
-
-     CVS cannot determine when simultaneous changes within a single
-     file, or across a whole collection of files, will logically
-     conflict with one another.  Its concept of a "conflict" is purely
-     textual, arising when two changes to the same base file are near
-     enough to spook the merge (i.e. `diff3') command.
-
-     CVS does not claim to help at all in figuring out non-textual or
-     distributed conflicts in program logic.
-
-     For example: Say you change the arguments to function `X' defined
-     in file `A'.  At the same time, someone edits file `B', adding new
-     calls to function `X' using the old arguments.  You are outside
-     the realm of CVS's competence.
-
-     Acquire the habit of reading specs and talking to your peers.
-
-CVS does not have change control
-     Change control refers to a number of things.  First of all it can
-     mean "bug-tracking", that is being able to keep a database of
-     reported bugs and the status of each one (is it fixed?  in what
-     release?  has the bug submitter agreed that it is fixed?).  For
-     interfacing CVS to an external bug-tracking system, see the
-     `rcsinfo' and `editinfo' files (*note Administrative files::.).
-
-     Another aspect of change control is keeping track of the fact that
-     changes to several files were in fact changed together as one
-     logical change.  If you check in several files in a single `cvs
-     commit' operation, CVS then forgets that those files were checked
-     in together, and the fact that they have the same log message is
-     the only thing tying them together.  Keeping a GNU style
-     `ChangeLog' can help somewhat.
-
-     Another aspect of change control, in some systems, is the ability
-     to keep track of the status of each change.  Some changes have
-     been written by a developer, others have been reviewed by a second
-     developer, and so on.  Generally, the way to do this with CVS is to
-     generate a diff (using `cvs diff' or `diff') and email it to
-     someone who can then apply it using the `patch' utility.  This is
-     very flexible, but depends on mechanisms outside CVS to make sure
-     nothing falls through the cracks.
-
-CVS is not an automated testing program
-     It should be possible to enforce mandatory use of a testsuite
-     using the `commitinfo' file.  I haven't heard a lot about projects
-     trying to do that or whether there are subtle gotchas, however.
-
-CVS does not have a builtin process model
-     Some systems provide ways to ensure that changes or releases go
-     through various steps, with various approvals as needed.
-     Generally, one can accomplish this with CVS but it might be a
-     little more work.  In some cases you'll want to use the
-     `commitinfo', `loginfo', `rcsinfo', or `editinfo' files, to
-     require that certain steps be performed before cvs will allow a
-     checkin.  Also consider whether features such as branches and tags
-     can be used to perform tasks such as doing work in a development
-     tree and then merging certain changes over to a stable tree only
-     once they have been proven.
-
-Basic concepts
-**************
-
-   CVS stores all files in a centralized "repository" (*note
-Repository::.).
-
-   The repository contains directories and files, in an arbitrary tree.
-The "modules" feature can be used to group together a set of
-directories or files into a single entity (*note modules::.).  A
-typical usage is to define one module per project.
-
-Revision numbers
-================
-
-   Each version of a file has a unique "revision number".  Revision
-numbers look like `1.1', `1.2', `1.3.2.2' or even `1.3.2.2.4.5'.  A
-revision number always has an even number of period-separated decimal
-integers.  By default revision 1.1 is the first revision of a file.
-Each successive revision is given a new number by increasing the
-rightmost number by one.  The following figure displays a few
-revisions, with newer revisions to the right.
-
-            +-----+    +-----+    +-----+    +-----+    +-----+
-            ! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 1.5 !
-            +-----+    +-----+    +-----+    +-----+    +-----+
-
-   CVS is not limited to linear development.  The "revision tree" can
-be split into "branches", where each branch is a self-maintained line of
-development.  Changes made on one branch can easily be moved back to
-the main trunk.
-
-   Each branch has a "branch number", consisting of an odd number of
-period-separated decimal integers.  The branch number is created by
-appending an integer to the revision number where the corresponding
-branch forked off.  Having branch numbers allows more than one branch
-to be forked off from a certain revision.
-
-   All revisions on a branch have revision numbers formed by appending
-an ordinal number to the branch number.  The following figure
-illustrates branching with an example.
-
-                                                          +-------------+
-                               Branch 1.2.2.3.2 ->        ! 1.2.2.3.2.1 !
-                                                        / +-------------+
-                                                       /
-                                                      /
-                      +---------+    +---------+    +---------+    +---------+
-     Branch 1.2.2 -> _! 1.2.2.1 !----! 1.2.2.2 !----! 1.2.2.3 !----! 1.2.2.4 !
-                    / +---------+    +---------+    +---------+    +---------+
-                   /
-                  /
-     +-----+    +-----+    +-----+    +-----+    +-----+
-     ! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 1.5 !      <- The main trunk
-     +-----+    +-----+    +-----+    +-----+    +-----+
-                     !
-                     !
-                     !   +---------+    +---------+    +---------+
-     Branch 1.2.4 -> +---! 1.2.4.1 !----! 1.2.4.2 !----! 1.2.4.3 !
-                         +---------+    +---------+    +---------+
-
-   The exact details of how the branch number is constructed is not
-something you normally need to be concerned about, but here is how it
-works: When CVS creates a branch number it picks the first unused even
-integer, starting with 2.  So when you want to create a branch from
-revision 6.4 it will be numbered 6.4.2.  All branch numbers ending in a
-zero (such as 6.4.0) are used internally by CVS (*note Magic branch
-numbers::.).  The branch 1.1.1 has a special meaning.  *Note Tracking
-sources::.
-
-Versions, revisions and releases
-================================
-
-   A file can have several versions, as described above.  Likewise, a
-software product can have several versions.  A software product is
-often given a version number such as `4.1.1'.
-
-   Versions in the first sense are called "revisions" in this document,
-and versions in the second sense are called "releases".  To avoid
-confusion, the word "version" is almost never used in this document.
-
-A sample session
-****************
-
-   This section describes a typical work-session using CVS.  It assumes
-that a repository is set up (*note Repository::.).
-
-   Suppose you are working on a simple compiler.  The source consists
-of a handful of C files and a `Makefile'.  The compiler is called `tc'
-(Trivial Compiler), and the repository is set up so that there is a
-module called `tc'.
-
-Getting the source
-==================
-
-   The first thing you must do is to get your own working copy of the
-source for `tc'.  For this, you use the `checkout' command:
-
-     $ cvs checkout tc
-
-This will create a new directory called `tc' and populate it with the
-source files.
-
-     $ cd tc
-     $ ls
-     CVS         Makefile    backend.c   driver.c    frontend.c  parser.c
-
-   The `CVS' directory is used internally by CVS.  Normally, you should
-not modify or remove any of the files in it.
-
-   You start your favorite editor, hack away at `backend.c', and a
-couple of hours later you have added an optimization pass to the
-compiler.  A note to RCS and SCCS users: There is no need to lock the
-files that you want to edit.  *Note Multiple developers:: for an
-explanation.
-
-Committing your changes
-=======================
-
-   When you have checked that the compiler is still compilable you
-decide to make a new version of `backend.c'.
-
-     $ cvs commit backend.c
-
-CVS starts an editor, to allow you to enter a log message.  You type in
-"Added an optimization pass.", save the temporary file, and exit the
-editor.
-
-   The environment variable `$CVSEDITOR' determines which editor is
-started.  If `$CVSEDITOR' is not set, then if the environment variable
-`$EDITOR' is set, it will be used. If both `$CVSEDITOR' and `$EDITOR'
-are not set then the editor defaults to `vi'.  If you want to avoid the
-overhead of starting an editor you can specify the log message on the
-command line using the `-m' flag instead, like this:
-
-     $ cvs commit -m "Added an optimization pass" backend.c
-
-Cleaning up
-===========
-
-   Before you turn to other tasks you decide to remove your working
-copy of tc.  One acceptable way to do that is of course
-
-     $ cd ..
-     $ rm -r tc
-
-but a better way is to use the `release' command (*note release::.):
-
-     $ cd ..
-     $ cvs release -d tc
-     M driver.c
-     ? tc
-     You have [1] altered files in this repository.
-     Are you sure you want to release (and delete) module `tc': n
-     ** `release' aborted by user choice.
-
-   The `release' command checks that all your modifications have been
-committed.  If history logging is enabled it also makes a note in the
-history file.  *Note history file::.
-
-   When you use the `-d' flag with `release', it also removes your
-working copy.
-
-   In the example above, the `release' command wrote a couple of lines
-of output.  `? tc' means that the file `tc' is unknown to CVS.  That is
-nothing to worry about: `tc' is the executable compiler, and it should
-not be stored in the repository.  *Note cvsignore::, for information
-about how to make that warning go away.  *Note release output::, for a
-complete explanation of all possible output from `release'.
-
-   `M driver.c' is more serious.  It means that the file `driver.c' has
-been modified since it was checked out.
-
-   The `release' command always finishes by telling you how many
-modified files you have in your working copy of the sources, and then
-asks you for confirmation before deleting any files or making any note
-in the history file.
-
-   You decide to play it safe and answer `n <RET>' when `release' asks
-for confirmation.
-
-Viewing differences
-===================
-
-   You do not remember modifying `driver.c', so you want to see what
-has happened to that file.
-
-     $ cd tc
-     $ cvs diff driver.c
-
-   This command runs `diff' to compare the version of `driver.c' that
-you checked out with your working copy.  When you see the output you
-remember that you added a command line option that enabled the
-optimization pass.  You check it in, and release the module.
-
-     $ cvs commit -m "Added an optimization pass" driver.c
-     Checking in driver.c;
-     /usr/local/cvsroot/tc/driver.c,v  <--  driver.c
-     new revision: 1.2; previous revision: 1.1
-     done
-     $ cd ..
-     $ cvs release -d tc
-     ? tc
-     You have [0] altered files in this repository.
-     Are you sure you want to release (and delete) module `tc': y
-
-The Repository
-**************
-
-   The CVS "repository" stores a complete copy of all the files and
-directories which are under version control.
-
-   Normally, you never access any of the files in the repository
-directly.  Instead, you use CVS commands to get your own copy of the
-files, and then work on that copy.  When you've finished a set of
-changes, you check (or "commit") them back into the repository.  The
-repository then contains the changes which you have made, as well as
-recording exactly what you changed, when you changed it, and other such
-information.
-
-   CVS can access a repository by a variety of means.  It might be on
-the local computer, or it might be on a computer across the room or
-across the world.  To distinguish various ways to access a repository,
-the repository name can start with an "access method".  For example,
-the access method `:local:' means to access a repository directory, so
-the repository `:local:/usr/local/cvsroot' means that the repository is
-in `/usr/local/cvsroot' on the computer running CVS.  For information
-on other access methods, see *Note Remote repositories::.
-
-   If the access method is omitted, then if the repository does not
-contain `:', then `:local:' is assumed.  If it does contain `:' than
-either `:ext:' or `:server:' is assumed.  For example, if you have a
-local repository in `/usr/local/cvsroot', you can use
-`/usr/local/cvsroot' instead of `:local:/usr/local/cvsroot'.  But if
-(under Windows NT, for example) your local repository is
-`c:\src\cvsroot', then you must specify the access method, as in
-`:local:c:\src\cvsroot'.
-
-   The repository is split in two parts.  `$CVSROOT/CVSROOT' contains
-administrative files for CVS.  The other directories contain the actual
-user-defined modules.
-
-Telling CVS where your repository is
-====================================
-
-   There are a couple of different ways to tell CVS where to find the
-repository.  You can name the repository on the command line
-explicitly, with the `-d' (for "directory") option:
-
-     cvs -d /usr/local/cvsroot checkout yoyodyne/tc
-
-   Or you can set the `$CVSROOT' environment variable to an absolute
-path to the root of the repository, `/usr/local/cvsroot' in this
-example.  To set `$CVSROOT', all `csh' and `tcsh' users should have
-this line in their `.cshrc' or `.tcshrc' files:
-
-     setenv CVSROOT /usr/local/cvsroot
-
-`sh' and `bash' users should instead have these lines in their
-`.profile' or `.bashrc':
-
-     CVSROOT=/usr/local/cvsroot
-     export CVSROOT
-
-   A repository specified with `-d' will override the `$CVSROOT'
-environment variable.  Once you've checked a working copy out from the
-repository, it will remember where its repository is (the information
-is recorded in the `CVS/Root' file in the working copy).
-
-   The `-d' option and the `CVS/Root' file both override the `$CVSROOT'
-environment variable.  If `-d' option differs from `CVS/Root', the
-former is used (and specifying `-d' will cause `CVS/Root' to be
-updated).  Of course, for proper operation they should be two ways of
-referring to the same repository.
-
-How data is stored in the repository
-====================================
-
-   For most purposes it isn't important *how* CVS stores information in
-the repository.  In fact, the format has changed in the past, and is
-likely to change in the future.  Since in almost all cases one accesses
-the repository via CVS commands; such changes need not be disruptive.
-
-   However, in some cases it may be necessary to understand how CVS
-stores data in the repository, for example you might need to track down
-CVS locks (*note Concurrency::.) or you might need to deal with the
-file permissions appropriate for the repository.
-
-Where files are stored within the repository
---------------------------------------------
-
-   The overall structure of the repository is a directory tree
-corresponding to the directories in the working directory.  For
-example, supposing the repository is in `/usr/local/cvsroot', here is a
-possible directory tree (showing only the directories):
-
-     /usr
-      |
-      +--local
-      |   |
-      |   +--cvsroot
-      |   |    |
-      |   |    +--CVSROOT
-               |      (administrative files)
-               |
-               +--gnu
-               |   |
-               |   +--diff
-               |   |   (source code to GNU diff)
-               |   |
-               |   +--rcs
-               |   |   (source code to RCS)
-               |   |
-               |   +--cvs
-               |       (source code to CVS)
-               |
-               +--yoyodyne
-                   |
-                   +--tc
-                   |    |
-                   |    +--man
-                   |    |
-                   |    +--testing
-                   |
-                   +--(other Yoyodyne software)
-
-   With the directories are "history files" for each file under version
-control.  The name of the history file is the name of the corresponding
-file with `,v' appended to the end.  Here is what the repository for
-the `yoyodyne/tc' directory might look like:
-
-       `$CVSROOT'
-         |
-         +--yoyodyne
-         |   |
-         |   +--tc
-         |   |   |
-                 +--Makefile,v
-                 +--backend.c,v
-                 +--driver.c,v
-                 +--frontend.c,v
-                 +--parser.c,v
-                 +--man
-                 |    |
-                 |    +--tc.1,v
-                 |
-                 +--testing
-                      |
-                      +--testpgm.t,v
-                      +--test2.t,v
-
-   The history files contain, among other things, enough information to
-recreate any revision of the file, a log of all commit messages and the
-user-name of the person who committed the revision.  The history files
-are known as "RCS files", because the first program to store files in
-that format was a version control system known as RCS.  For a full
-description of the file format, see the `man' page `rcsfile(5)',
-distributed with RCS.  This file format has become very common--many
-systems other than CVS or RCS can at least import history files in this
-format.
-
-File permissions
-----------------
-
-   All `,v' files are created read-only, and you should not change the
-permission of those files.  The directories inside the repository
-should be writable by the persons that have permission to modify the
-files in each directory.  This normally means that you must create a
-UNIX group (see group(5)) consisting of the persons that are to edit
-the files in a project, and set up the repository so that it is that
-group that owns the directory.
-
-   This means that you can only control access to files on a
-per-directory basis.
-
-   Note that users must also have write access to check out files,
-because CVS needs to create lock files (*note Concurrency::.).
-
-   Also note that users must have write access to the
-`CVSROOT/val-tags' file.  CVS uses it to keep track of what tags are
-valid tag names (it is sometimes updated when tags are used, as well as
-when they are created, though).
-
-   CVS tries to set up reasonable file permissions for new directories
-that are added inside the tree, but you must fix the permissions
-manually when a new directory should have different permissions than its
-parent directory.  If you set the `CVSUMASK' environment variable that
-will control the file permissions which CVS uses in creating directories
-and/or files in the repository.  `CVSUMASK' does not affect the file
-permissions in the working directory; such files have the permissions
-which are typical for newly created files, except that sometimes CVS
-creates them read-only (see the sections on watches, *Note Setting a
-watch::; -r, *Note Global options::; or CVSREAD, *Note Environment
-variables::).
-
-   Since CVS was not written to be run setuid, it is unsafe to try to
-run it setuid.  You cannot use the setuid features of RCS together with
-CVS.
-
-The administrative files
-========================
-
-   The directory `$CVSROOT/CVSROOT' contains some "administrative
-files".  *Note Administrative files::, for a complete description.  You
-can use CVS without any of these files, but some commands work better
-when at least the `modules' file is properly set up.
-
-   The most important of these files is the `modules' file.  It defines
-all modules in the repository.  This is a sample `modules' file.
-
-     CVSROOT         CVSROOT
-     modules         CVSROOT modules
-     cvs             gnu/cvs
-     rcs             gnu/rcs
-     diff            gnu/diff
-     tc              yoyodyne/tc
-
-   The `modules' file is line oriented.  In its simplest form each line
-contains the name of the module, whitespace, and the directory where
-the module resides.  The directory is a path relative to `$CVSROOT'.
-The last four lines in the example above are examples of such lines.
-
-   The line that defines the module called `modules' uses features that
-are not explained here.  *Note modules::, for a full explanation of all
-the available features.
-
-Editing administrative files
-----------------------------
-
-   You edit the administrative files in the same way that you would edit
-any other module.  Use `cvs checkout CVSROOT' to get a working copy,
-edit it, and commit your changes in the normal way.
-
-   It is possible to commit an erroneous administrative file.  You can
-often fix the error and check in a new revision, but sometimes a
-particularly bad error in the administrative file makes it impossible
-to commit new revisions.
-
-Multiple repositories
-=====================
-
-   In some situations it is a good idea to have more than one
-repository, for instance if you have two development groups that work
-on separate projects without sharing any code.  All you have to do to
-have several repositories is to specify the appropriate repository,
-using the `CVSROOT' environment variable, the `-d' option to CVS, or
-(once you have checked out a working directory) by simply allowing CVS
-to use the repository that was used to check out the working directory
-(*note Specifying a repository::.).
-
-   The big advantage of having multiple repositories is that they can
-reside on different servers.  The big disadvantage is that you cannot
-have a single CVS command recurse into directories which comes from
-different repositories.  Generally speaking, if you are thinking of
-setting up several repositories on the same machine, you might want to
-consider using several directories within the same repository.
-
-   None of the examples in this manual show multiple repositories.
-
-Creating a repository
-=====================
-
-   To set up a CVS repository, choose a directory with ample disk space
-available for the revision history of the source files.  It should be
-accessable (directly or via a networked file system) from all machines
-which want to use CVS in server or local mode; the client machines need
-not have any access to it other than via the CVS protocol.  It is not
-possible to use CVS to read from a repository which one only has read
-access to; CVS needs to be able to create lock files (*note
-Concurrency::.).
-
-   To create a repository, run the `cvs init' command.  It will set up
-an empty repository in the CVS root specified in the usual way (*note
-Repository::.).  For example,
-
-     cvs -d /usr/local/cvsroot init
-
-   `cvs init' is careful to never overwrite any existing files in the
-repository, so no harm is done if you run `cvs init' on an already
-set-up repository.
-
-   `cvs init' will enable history logging; if you don't want that,
-remove the history file after running `cvs init'.  *Note history file::.
-
-Remote repositories
-===================
-
-   Your working copy of the sources can be on a different machine than
-the repository.  Generally, using a remote repository is just like
-using a local one, except that the format of the repository name is:
-
-     :METHOD:address@hidden:/path/to/repository
-
-   The details of exactly what needs to be set up depend on how you are
-connecting to the server.
-
-   If METHOD is not specified, and the repository name contains `:',
-then the default is `ext' or `server', depending on your platform; both
-are described in *Note Connecting via rsh::.
-
-Connecting with rsh
--------------------
-
-   CVS uses the `rsh' protocol to perform these operations, so the
-remote user host needs to have a `.rhosts' file which grants access to
-the local user.
-
-   For example, suppose you are the user `mozart' on the local machine
-`anklet.grunge.com', and the server machine is
-`chainsaw.brickyard.com'.  On chainsaw, put the following line into the
-file `.rhosts' in `bach''s home directory:
-
-     anklet.grunge.com  mozart
-
-   Then test that `rsh' is working with
-
-     rsh -l bach chainsaw.brickyard.com 'echo $PATH'
-
-   Next you have to make sure that `rsh' will be able to find the
-server.  Make sure that the path which `rsh' printed in the above
-example includes the directory containing a program named `cvs' which
-is the server.  You need to set the path in `.bashrc', `.cshrc', etc.,
-not `.login' or `.profile'.  Alternately, you can set the environment
-variable `CVS_SERVER' on the client machine to the filename of the
-server you want to use, for example `/usr/local/bin/cvs-1.6'.
-
-   There is no need to edit `inetd.conf' or start a CVS server daemon.
-
-   There are two access methods that you use in CVSROOT for rsh.
-`:server:' specifies an internal rsh client, which is supported only by
-some CVS ports.  `:ext:' specifies an external rsh program.  By default
-this is `rsh' but you may set the `CVS_RSH' environment variable to
-invoke another program which can access the remote server (for example,
-`remsh' on HP-UX 9 because `rsh' is something different).  It must be a
-program which can transmit data to and from the server without modifying
-it; for example the Windows NT `rsh' is not suitable since it by
-default translates between CRLF and LF.  The OS/2 CVS port has a hack
-to pass `-b' to `rsh' to get around this, but since this could
-potentially cause programs for programs other than the standard `rsh',
-it may change in the future.  If you set `CVS_RSH' to `SSH' or some
-other rsh replacement, the instructions in the rest of this section
-concerning `.rhosts' and so on are likely to be incorrect; consult the
-documentation for your rsh replacement.
-
-   Continuing our example, supposing you want to access the module
-`foo' in the repository `/usr/local/cvsroot/', on machine
-`chainsaw.brickyard.com', you are ready to go:
-
-     cvs -d :ext:address@hidden:/usr/local/cvsroot checkout foo
-
-   (The `bach@' can be omitted if the username is the same on both the
-local and remote hosts.)
-
-Direct connection with password authentication
-----------------------------------------------
-
-   The CVS client can also connect to the server using a password
-protocol.  This is particularly useful if using `rsh' is not feasible
-(for example, the server is behind a firewall), and Kerberos also is
-not available.
-
-   To use this method, it is necessary to make some adjustments on both
-the server and client sides.
-
-Setting up the server for password authentication
-.................................................
-
-   On the server side, the file `/etc/inetd.conf' needs to be edited so
-`inetd' knows to run the command `cvs pserver' when it receives a
-connection on the right port.  By default, the port number is 2401; it
-would be different if your client were compiled with `CVS_AUTH_PORT'
-defined to something else, though.
-
-   If your `inetd' allows raw port numbers in `/etc/inetd.conf', then
-the following (all on a single line in `inetd.conf') should be
-sufficient:
-
-     2401  stream  tcp  nowait  root  /usr/local/bin/cvs
-     cvs -b /usr/local/bin pserver
-
-   The `-b' option specifies the directory which contains the RCS
-binaries on the server.  You could also use the `-T' option to specify
-a temporary directory.
-
-   If your `inetd' wants a symbolic service name instead of a raw port
-number, then put this in `/etc/services':
-
-     cvspserver      2401/tcp
-
-   and put `cvspserver' instead of `2401' in `inetd.conf'.
-
-   Once the above is taken care of, restart your `inetd', or do
-whatever is necessary to force it to reread its initialization files.
-
-   Because the client stores and transmits passwords in cleartext
-(almost--see *Note Password authentication security:: for details), a
-separate CVS password file may be used, so people don't compromise their
-regular passwords when they access the repository.  This file is
-`$CVSROOT/CVSROOT/passwd' (*note Intro administrative files::.).  Its
-format is similar to `/etc/passwd', except that it only has two fields,
-username and password.  For example:
-
-     bach:ULtgRLXo7NRxs
-     cwang:1sOp854gDF3DY
-
-   The password is encrypted according to the standard Unix `crypt()'
-function, so it is possible to paste in passwords directly from regular
-Unix `passwd' files.
-
-   When authenticating a password, the server first checks for the user
-in the CVS `passwd' file.  If it finds the user, it compares against
-that password.  If it does not find the user, or if the CVS `passwd'
-file does not exist, then the server tries to match the password using
-the system's user-lookup routine.  When using the CVS `passwd' file,
-the server runs under as the username specified in the the third
-argument in the entry, or as the first argument if there is no third
-argument (in this way CVS allows imaginary usernames provided the CVS
-`passwd' file indicates corresponding valid system usernames).  In any
-case, CVS will have no privileges which the (valid) user would not have.
-
-   Right now, the only way to put a password in the CVS `passwd' file
-is to paste it there from somewhere else.  Someday, there may be a `cvs
-passwd' command.
-
-Using the client with password authentication
-.............................................
-
-   Before connecting to the server, the client must "log in" with the
-command `cvs login'.  Logging in verifies a password with the server,
-and also records the password for later transactions with the server.
-The `cvs login' command needs to know the username, server hostname,
-and full repository path, and it gets this information from the
-repository argument or the `CVSROOT' environment variable.
-
-   `cvs login' is interactive -- it prompts for a password:
-
-     cvs -d :pserver:address@hidden:/usr/local/cvsroot login
-     CVS password:
-
-   The password is checked with the server; if it is correct, the
-`login' succeeds, else it fails, complaining that the password was
-incorrect.
-
-   Once you have logged in, you can force CVS to connect directly to
-the server and authenticate with the stored password:
-
-     cvs -d :pserver:address@hidden:/usr/local/cvsroot checkout foo
-
-   The `:pserver:' is necessary because without it, CVS will assume it
-should use `rsh' to connect with the server (*note Connecting via
-rsh::.).  (Once you have a working copy checked out and are running CVS
-commands from within it, there is no longer any need to specify the
-repository explicitly, because CVS records it in the working copy's
-`CVS' subdirectory.)
-
-   Passwords are stored by default in the file `$HOME/.cvspass'.  Its
-format is human-readable, but don't edit it unless you know what you
-are doing.  The passwords are not stored in cleartext, but are
-trivially encoded to protect them from "innocent" compromise (i.e.,
-inadvertently being seen by a system administrator who happens to look
-at that file).
-
-   The `CVS_PASSFILE' environment variable overrides this default.  If
-you use this variable, make sure you set it *before* `cvs login' is
-run.  If you were to set it after running `cvs login', then later CVS
-commands would be unable to look up the password for transmission to
-the server.
-
-   The `CVS_PASSWORD' environment variable overrides *all* stored
-passwords.  If it is set, CVS will use it for all password-authenticated
-connections.
-
-Security considerations with password authentication
-....................................................
-
-   The passwords are stored on the client side in a trivial encoding of
-the cleartext, and transmitted in the same encoding.  The encoding is
-done only to prevent inadvertent password compromises (i.e., a system
-administrator accidentally looking at the file), and will not prevent
-even a naive attacker from gaining the password.
-
-   The separate CVS password file (*note Password authentication
-server::.) allows people to use a different password for repository
-access than for login access.  On the other hand, once a user has
-access to the repository, she can execute programs on the server system
-through a variety of means.  Thus, repository access implies fairly
-broad system access as well.  It might be possible to modify CVS to
-prevent that, but no one has done so as of this writing.  Furthermore,
-there may be other ways in which having access to CVS allows people to
-gain more general access to the system; noone has done a careful audit.
-
-   In summary, anyone who gets the password gets repository access, and
-some measure of general system access as well.  The password is
-available to anyone who can sniff network packets or read a protected
-(i.e., user read-only) file.  If you want real security, get Kerberos.
-
-Direct connection with kerberos
--------------------------------
-
-   The main disadvantage of using rsh is that all the data needs to
-pass through additional programs, so it may be slower.  So if you have
-kerberos installed you can connect via a direct TCP connection,
-authenticating with kerberos.
-
-   To do this, CVS needs to be compiled with kerberos support; when
-configuring CVS it tries to detect whether kerberos is present or you
-can use the `--with-krb4' flag to configure.
-
-   The data transmitted is *not* encrypted by default.  Encryption
-support must be compiled into both the client and server; use the
-`--enable-encryption' configure option to turn it on.  You must then
-use the `-x' global option to request encryption.
-
-   You need to edit `inetd.conf' on the server machine to run `cvs
-kserver'.  The client uses port 1999 by default; if you want to use
-another port specify it in the `CVS_CLIENT_PORT' environment variable
-on the client.
-
-   When you want to use CVS, get a ticket in the usual way (generally
-`kinit'); it must be a ticket which allows you to log into the server
-machine.  Then you are ready to go:
-
-     cvs -d :kserver:chainsaw.brickyard.com:/user/local/cvsroot checkout foo
-
-   Previous versions of CVS would fall back to a connection via rsh;
-this version will not do so.
-
-Starting a project with CVS
-***************************
-
-   Because renaming files and moving them between directories is
-somewhat inconvenient, the first thing you do when you start a new
-project should be to think through your file organization.  It is not
-impossible to rename or move files, but it does increase the potential
-for confusion and CVS does have some quirks particularly in the area of
-renaming directories.  *Note Moving files::.
-
-   What to do next depends on the situation at hand.
-
-Setting up the files
-====================
-
-   The first step is to create the files inside the repository.  This
-can be done in a couple of different ways.
-
-Creating a directory tree from a number of files
-------------------------------------------------
-
-   When you begin using CVS, you will probably already have several
-projects that can be put under CVS control.  In these cases the easiest
-way is to use the `import' command.  An example is probably the easiest
-way to explain how to use it.  If the files you want to install in CVS
-reside in `WDIR', and you want them to appear in the repository as
-`$CVSROOT/yoyodyne/RDIR', you can do this:
-
-     $ cd WDIR
-     $ cvs import -m "Imported sources" yoyodyne/RDIR yoyo start
-
-   Unless you supply a log message with the `-m' flag, CVS starts an
-editor and prompts for a message.  The string `yoyo' is a "vendor tag",
-and `start' is a "release tag".  They may fill no purpose in this
-context, but since CVS requires them they must be present.  *Note
-Tracking sources::, for more information about them.
-
-   You can now verify that it worked, and remove your original source
-directory.
-
-     $ cd ..
-     $ mv DIR DIR.orig
-     $ cvs checkout yoyodyne/DIR       # Explanation below
-     $ ls -R yoyodyne
-     $ rm -r DIR.orig
-
-Erasing the original sources is a good idea, to make sure that you do
-not accidentally edit them in DIR, bypassing CVS.  Of course, it would
-be wise to make sure that you have a backup of the sources before you
-remove them.
-
-   The `checkout' command can either take a module name as argument (as
-it has done in all previous examples) or a path name relative to
-`$CVSROOT', as it did in the example above.
-
-   It is a good idea to check that the permissions CVS sets on the
-directories inside `$CVSROOT' are reasonable, and that they belong to
-the proper groups.  *Note File permissions::.
-
-   If some of the files you want to import are binary, you may want to
-use the wrappers features to specify which files are binary and which
-are not.  *Note Wrappers::.
-
-Creating Files From Other Version Control Systems
--------------------------------------------------
-
-   If you have a project which you are maintaining with another version
-control system, such as RCS, you may wish to put the files from that
-project into CVS, and preserve the revision history of the files.
-
-From RCS
-     If you have been using RCS, find the RCS files--usually a file
-     named `foo.c' will have its RCS file in `RCS/foo.c,v' (but it
-     could be other places; consult the RCS documentation for details).
-     Then create the appropriate directories in CVS if they do not
-     already exist.  Then copy the files into the appropriate
-     directories in the CVS repository (the name in the repository must
-     be the name of the source file with `,v' added; the files go
-     directly in the appopriate directory of the repository, not in an
-     `RCS' subdirectory).  This is one of the few times when it is a
-     good idea to access the CVS repository directly, rather than using
-     CVS commands.  Then you are ready to check out a new working
-     directory.
-
-     The RCS file should not be locked when you move it into CVS; if it
-     is, CVS will have trouble letting you operate on it.
-
-From another version control system
-     Many version control systems have the ability to export RCS files
-     in the standard format.  If yours does, export the RCS files and
-     then follow the above instructions.
-
-From SCCS
-     There is a script in the `contrib' directory of the CVS source
-     distribution called `sccs2rcs' which converts SCCS files to RCS
-     files.  Note: you must run it on a machine which has both SCCS and
-     RCS installed, and like everything else in contrib it is
-     unsupported (your mileage may vary).
-
-Creating a directory tree from scratch
---------------------------------------
-
-   For a new project, the easiest thing to do is probably to create an
-empty directory structure, like this:
-
-     $ mkdir tc
-     $ mkdir tc/man
-     $ mkdir tc/testing
-
-   After that, you use the `import' command to create the corresponding
-(empty) directory structure inside the repository:
-
-     $ cd tc
-     $ cvs import -m "Created directory structure" yoyodyne/DIR yoyo start
-
-   Then, use `add' to add files (and new directories) as they appear.
-
-   Check that the permissions CVS sets on the directories inside
-`$CVSROOT' are reasonable.
-
-Defining the module
-===================
-
-   The next step is to define the module in the `modules' file.  This
-is not strictly necessary, but modules can be convenient in grouping
-together related files and directories.
-
-   In simple cases these steps are sufficient to define a module.
-
-  1. Get a working copy of the modules file.
-
-          $ cvs checkout CVSROOT/modules
-          $ cd CVSROOT
-
-  2. Edit the file and insert a line that defines the module.  *Note
-     Intro administrative files::, for an introduction.  *Note
-     modules::, for a full description of the modules file.  You can
-     use the following line to define the module `tc':
-
-          tc   yoyodyne/tc
-
-  3. Commit your changes to the modules file.
-
-          $ cvs commit -m "Added the tc module." modules
-
-  4. Release the modules module.
-
-          $ cd ..
-          $ cvs release -d CVSROOT
-
-Multiple developers
-*******************
-
-   When more than one person works on a software project things often
-get complicated.  Often, two people try to edit the same file
-simultaneously.  One solution, known as "file locking" or "reserved
-checkouts", is to allow only one person to edit each file at a time.
-This is the only solution with some version control systems, including
-RCS and SCCS.  CVS doesn't have a very nice implementation of reserved
-checkouts (yet) but there are ways to get it working (for example, see
-the `cvs admin -l' command in *Note admin options::).  It also may be
-possible to use the watches features described below, together with
-suitable procedures (not enforced by software), to avoid having two
-people edit at the same time.
-
-   The default model with CVS is known as "unreserved checkouts".  In
-this model, developers can edit their own "working copy" of a file
-simultaneously.  The first person that commits his changes has no
-automatic way of knowing that another has started to edit it.  Others
-will get an error message when they try to commit the file.  They must
-then use CVS commands to bring their working copy up to date with the
-repository revision.  This process is almost automatic.
-
-   CVS also supports mechanisms which facilitate various kinds of
-communcation, without actually enforcing rules like reserved checkouts
-do.
-
-   The rest of this chapter describes how these various models work,
-and some of the issues involved in choosing between them.
-
-File status
-===========
-
-   Based on what operations you have performed on a checked out file,
-and what operations others have performed to that file in the
-repository, one can classify a file in a number of states.  The states,
-as reported by the `status' command, are:
-
-Up-to-date
-     The file is identical with the latest revision in the repository
-     for the branch in use.
-
-Locally Modified
-     You have edited the file, and not yet committed your changes.
-
-Locally Added
-     You have added the file with `add', and not yet committed your
-     changes.
-
-Locally Removed
-     You have removed the file with `remove', and not yet committed
-     your changes.
-
-Needs Checkout
-     Someone else has committed a newer revision to the repository.
-     The name is slightly misleading; you will ordinarily use `update'
-     rather than `checkout' to get that newer revision.
-
-Needs Patch
-     Like Needs Checkout, but the CVS server will send a patch rather
-     than the entire file.  Sending a patch or sending an entire file
-     accomplishes the same thing.
-
-Needs Merge
-     Someone else has committed a newer revision to the repository, and
-     you have also made modifications to the file.
-
-Unresolved Conflict
-     This is like Locally Modified, except that a previous `update'
-     command gave a conflict.  You need to resolve the conflict as
-     described in *Note Conflicts example::.
-
-Unknown
-     CVS doesn't know anything about this file.  For example, you have
-     created a new file and have not run `add'.
-
-   To help clarify the file status, `status' also reports the `Working
-revision' which is the revision that the file in the working directory
-derives from, and the `Repository revision' which is the latest
-revision in the repository for the branch in use.
-
-   For information on the options to `status', see *Note status::.  For
-information on its `Sticky tag' and `Sticky date' output, see *Note
-Sticky tags::.  For information on its `Sticky options' output, see the
-`-k' option in *Note update options::.
-
-Bringing a file up to date
-==========================
-
-   When you want to update or merge a file, use the `update' command.
-For files that are not up to date this is roughly equivalent to a
-`checkout' command: the newest revision of the file is extracted from
-the repository and put in your working copy of the module.
-
-   Your modifications to a file are never lost when you use `update'.
-If no newer revision exists, running `update' has no effect.  If you
-have edited the file, and a newer revision is available, CVS will merge
-all changes into your working copy.
-
-   For instance, imagine that you checked out revision 1.4 and started
-editing it.  In the meantime someone else committed revision 1.5, and
-shortly after that revision 1.6.  If you run `update' on the file now,
-CVS will incorporate all changes between revision 1.4 and 1.6 into your
-file.
-
-   If any of the changes between 1.4 and 1.6 were made too close to any
-of the changes you have made, an "overlap" occurs.  In such cases a
-warning is printed, and the resulting file includes both versions of
-the lines that overlap, delimited by special markers.  *Note update::,
-for a complete description of the `update' command.
-
-Conflicts example
-=================
-
-   Suppose revision 1.4 of `driver.c' contains this:
-
-     #include <stdio.h>
-     
-     void main()
-     {
-         parse();
-         if (nerr == 0)
-             gencode();
-         else
-             fprintf(stderr, "No code generated.\n");
-         exit(nerr == 0 ? 0 : 1);
-     }
-
-Revision 1.6 of `driver.c' contains this:
-
-     #include <stdio.h>
-     
-     int main(int argc,
-              char **argv)
-     {
-         parse();
-         if (argc != 1)
-         {
-             fprintf(stderr, "tc: No args expected.\n");
-             exit(1);
-         }
-         if (nerr == 0)
-             gencode();
-         else
-             fprintf(stderr, "No code generated.\n");
-         exit(!!nerr);
-     }
-
-Your working copy of `driver.c', based on revision 1.4, contains this
-before you run `cvs update':
-
-     #include <stdlib.h>
-     #include <stdio.h>
-     
-     void main()
-     {
-         init_scanner();
-         parse();
-         if (nerr == 0)
-             gencode();
-         else
-             fprintf(stderr, "No code generated.\n");
-         exit(nerr == 0 ? EXIT_SUCCESS : EXIT_FAILURE);
-     }
-
-You run `cvs update':
-
-     $ cvs update driver.c
-     RCS file: /usr/local/cvsroot/yoyodyne/tc/driver.c,v
-     retrieving revision 1.4
-     retrieving revision 1.6
-     Merging differences between 1.4 and 1.6 into driver.c
-     rcsmerge warning: overlaps during merge
-     cvs update: conflicts found in driver.c
-     C driver.c
-
-CVS tells you that there were some conflicts.  Your original working
-file is saved unmodified in `.#driver.c.1.4'.  The new version of
-`driver.c' contains this:
-
-     #include <stdlib.h>
-     #include <stdio.h>
-     
-     int main(int argc,
-              char **argv)
-     {
-         init_scanner();
-         parse();
-         if (argc != 1)
-         {
-             fprintf(stderr, "tc: No args expected.\n");
-             exit(1);
-         }
-         if (nerr == 0)
-             gencode();
-         else
-             fprintf(stderr, "No code generated.\n");
-     <<<<<<< driver.c
-         exit(nerr == 0 ? EXIT_SUCCESS : EXIT_FAILURE);
-     =======
-         exit(!!nerr);
-     >>>>>>> 1.6
-     }
-
-Note how all non-overlapping modifications are incorporated in your
-working copy, and that the overlapping section is clearly marked with
-`<<<<<<<', `=======' and `>>>>>>>'.
-
-   You resolve the conflict by editing the file, removing the markers
-and the erroneous line.  Suppose you end up with this file:
-     #include <stdlib.h>
-     #include <stdio.h>
-     
-     int main(int argc,
-              char **argv)
-     {
-         init_scanner();
-         parse();
-         if (argc != 1)
-         {
-             fprintf(stderr, "tc: No args expected.\n");
-             exit(1);
-         }
-         if (nerr == 0)
-             gencode();
-         else
-             fprintf(stderr, "No code generated.\n");
-         exit(nerr == 0 ? EXIT_SUCCESS : EXIT_FAILURE);
-     }
-
-You can now go ahead and commit this as revision 1.7.
-
-     $ cvs commit -m "Initialize scanner. Use symbolic exit values." driver.c
-     Checking in driver.c;
-     /usr/local/cvsroot/yoyodyne/tc/driver.c,v  <--  driver.c
-     new revision: 1.7; previous revision: 1.6
-     done
-
-   For your protection, CVS will refuse to check in a file if a
-conflict occurred and you have not resolved the conflict.  Currently to
-resolve a conflict, you must change the timestamp on the file, and must
-also insure that the file contains no conflict markers.  If your file
-legitimately contains conflict markers (that is, occurrences of
-`>>>>>>> ' at the start of a line that don't mark a conflict), then CVS
-has trouble handling this and you need to start hacking on the
-`CVS/Entries' file or other such workarounds.
-
-   If you use release 1.04 or later of pcl-cvs (a GNU Emacs front-end
-for CVS) you can use an Emacs package called emerge to help you resolve
-conflicts.  See the documentation for pcl-cvs.
-
-Informing others about commits
-==============================
-
-   It is often useful to inform others when you commit a new revision
-of a file.  The `-i' option of the `modules' file, or the `loginfo'
-file, can be used to automate this process.  *Note modules::.  *Note
-loginfo::.  You can use these features of CVS to, for instance,
-instruct CVS to mail a message to all developers, or post a message to
-a local newsgroup.
-
-Several developers simultaneously attempting to run CVS
-=======================================================
-
-   If several developers try to run CVS at the same time, one may get
-the following message:
-
-     [11:43:23] waiting for bach's lock in /usr/local/cvsroot/foo
-
-   CVS will try again every 30 seconds, and either continue with the
-operation or print the message again, if it still needs to wait.  If a
-lock seems to stick around for an undue amount of time, find the person
-holding the lock and ask them about the cvs command they are running.
-If they aren't running a cvs command, look for and remove files
-starting with `#cvs.tfl', `#cvs.rfl', or `#cvs.wfl' from the repository.
-
-   Note that these locks are to protect CVS's internal data structures
-and have no relationship to the word "lock" in the sense used by
-RCS--which refers to reserved checkouts (*note Multiple developers::.).
-
-   Any number of people can be reading from a given repository at a
-time; only when someone is writing do the locks prevent other people
-from reading or writing.
-
-   One might hope for the following property
-
-     If someone commits some changes in one cvs command,
-     then an update by someone else will either get all the
-     changes, or none of them.
-
-   but CVS does *not* have this property.  For example, given the files
-
-     a/one.c
-     a/two.c
-     b/three.c
-     b/four.c
-
-   if someone runs
-
-     cvs ci a/two.c b/three.c
-
-   and someone else runs `cvs update' at the same time, the person
-running `update' might get only the change to `b/three.c' and not the
-change to `a/two.c'.
-
-Mechanisms to track who is editing files
-========================================
-
-   For many groups, use of CVS in its default mode is perfectly
-satisfactory.  Users may sometimes go to check in a modification only
-to find that another modification has intervened, but they deal with it
-and proceed with their check in.  Other groups prefer to be able to
-know who is editing what files, so that if two people try to edit the
-same file they can choose to talk about who is doing what when rather
-than be surprised at check in time.  The features in this section allow
-such coordination, while retaining the ability of two developers to
-edit the same file at the same time.
-
-   For maximum benefit developers should use `cvs edit' (not `chmod')
-to make files read-write to edit them, and `cvs release' (not `rm') to
-discard a working directory which is no longer in use, but CVS is not
-able to enforce this behavior.
-
-Telling CVS to watch certain files
-----------------------------------
-
-   To enable the watch features, you first specify that certain files
-are to be watched.
-
- - Command: cvs watch on [`-l'] FILES ...
-     Specify that developers should run `cvs edit' before editing
-     FILES.  CVS will create working copies of FILES read-only, to
-     remind developers to run the `cvs edit' command before working on
-     them.
-
-     If FILES includes the name of a directory, CVS arranges to watch
-     all files added to the corresponding repository directory, and
-     sets a default for files added in the future; this allows the user
-     to set notification policies on a per-directory basis.  The
-     contents of the directory are processed recursively, unless the
-     `-l' option is given.
-
-     If FILES is omitted, it defaults to the current directory.
-
-
- - Command: cvs watch off [`-l'] FILES ...
-     Do not provide notification about work on FILES.  CVS will create
-     working copies of FILES read-write.
-
-     The FILES and `-l' arguments are processed as for `cvs watch on'.
-
-
-Telling CVS to notify you
--------------------------
-
-   You can tell CVS that you want to receive notifications about
-various actions taken on a file.  You can do this without using `cvs
-watch on' for the file, but generally you will want to use `cvs watch
-on', so that developers use the `cvs edit' command.
-
- - Command: cvs watch add [`-a' ACTION] [`-l'] FILES ...
-     Add the current user to the list of people to receive notification
-     of work done on FILES.
-
-     The `-a' option specifies what kinds of events CVS should notify
-     the user about.  ACTION is one of the following:
-
-    `edit'
-          Another user has applied the `cvs edit' command (described
-          below) to a file.
-
-    `unedit'
-          Another user has applied the `cvs unedit' command (described
-          below) or the `cvs release' command to a file, or has deleted
-          the file and allowed `cvs update' to recreate it.
-
-    `commit'
-          Another user has committed changes to a file.
-
-    `all'
-          All of the above.
-
-    `none'
-          None of the above.  (This is useful with `cvs edit',
-          described below.)
-
-     The `-a' option may appear more than once, or not at all.  If
-     omitted, the action defaults to `all'.
-
-     The FILES and `-l' option are processed as for the `cvs watch'
-     commands.
-
-
- - Command: cvs watch remove [`-a' ACTION] [`-l'] FILES ...
-     Remove a notification request established using `cvs watch add';
-     the arguments are the same.  If the `-a' option is present, only
-     watches for the specified actions are removed.
-
-
-   When the conditions exist for notification, CVS calls the `notify'
-administrative file.  Edit `notify' as one edits the other
-administrative files (*note Intro administrative files::.).  This file
-follows the usual conventions for administrative files (*note
-syntax::.), where each line is a regular expression followed by a
-command to execute.  The command should contain a single ocurrence of
-`%s' which will be replaced by the user to notify; the rest of the
-information regarding the notification will be supplied to the command
-on standard input.  The standard thing to put in the `notify' file is
-the single line:
-
-     ALL mail %s -s \"CVS notification\"
-
-   This causes users to be notified by electronic mail.
-
-   Note that if you set this up in the straightforward way, users
-receive notifications on the server machine.  One could of course write
-a `notify' script which directed notifications elsewhere, but to make
-this easy, CVS allows you to associate a notification address for each
-user.  To do so create a file `users' in `CVSROOT' with a line for each
-user in the format USER:VALUE.  Then instead of passing the name of the
-user to be notified to `notify', CVS will pass the VALUE (normally an
-email address on some other machine).
-
-How to edit a file which is being watched
------------------------------------------
-
-   Since a file which is being watched is checked out read-only, you
-cannot simply edit it.  To make it read-write, and inform others that
-you are planning to edit it, use the `cvs edit' command.  Some systems
-call this a "checkout", but CVS uses that term for obtaining a copy of
-the sources (*note Getting the source::.), an operation which those
-systems call a "get" or a "fetch".
-
- - Command: cvs edit [OPTIONS] FILES ...
-     Prepare to edit the working files FILES.  CVS makes the FILES
-     read-write, and notifies users who have requested `edit'
-     notification for any of FILES.
-
-     The `cvs edit' command accepts the same OPTIONS as the `cvs watch
-     add' command, and establishes a temporary watch for the user on
-     FILES; CVS will remove the watch when FILES are `unedit'ed or
-     `commit'ted.  If the user does not wish to receive notifications,
-     she should specify `-a none'.
-
-     The FILES and `-l' option are processed as for the `cvs watch'
-     commands.
-
-
-   Normally when you are done with a set of changes, you use the `cvs
-commit' command, which checks in your changes and returns the watched
-files to their usual read-only state.  But if you instead decide to
-abandon your changes, or not to make any changes, you can use the `cvs
-unedit' command.
-
- - Command: cvs unedit [`-l'] FILES ...
-     Abandon work on the working files FILES, and revert them to the
-     repository versions on which they are based.  CVS makes those
-     FILES read-only for which users have requested notification using
-     `cvs watch on'.  CVS notifies users who have requested `unedit'
-     notification for any of FILES.
-
-     The FILES and `-l' option are processed as for the `cvs watch'
-     commands.
-
-     If watches are not in use, the `unedit' command probably does not
-     work, and the way to revert to the repository version is to remove
-     the file and then use `cvs update' to get a new copy.  The meaning
-     is not precisely the same; removing and updating may also bring in
-     some changes which have been made in the repository since the last
-     time you updated.
-
-   When using client/server CVS, you can use the `cvs edit' and `cvs
-unedit' commands even if CVS is unable to succesfully communicate with
-the server; the notifications will be sent upon the next successful CVS
-command.
-
-Information about who is watching and editing
----------------------------------------------
-
- - Command: cvs watchers [`-l'] FILES ...
-     List the users currently watching changes to FILES.  The report
-     includes the files being watched, and the mail address of each
-     watcher.
-
-     The FILES and `-l' arguments are processed as for the `cvs watch'
-     commands.
-
-
- - Command: cvs editors [`-l'] FILES ...
-     List the users currently working on FILES.  The report includes
-     the mail address of each user, the time when the user began
-     working with the file, and the host and path of the working
-     directory containing the file.
-
-     The FILES and `-l' arguments are processed as for the `cvs watch'
-     commands.
-
-
-Using watches with old versions of CVS
---------------------------------------
-
-   If you use the watch features on a repository, it creates `CVS'
-directories in the repository and stores the information about watches
-in that directory.  If you attempt to use CVS 1.6 or earlier with the
-repository, you get an error message such as
-
-     cvs update: cannot open CVS/Entries for reading: No such file or directory
-
-   and your operation will likely be aborted.  To use the watch
-features, you must upgrade all copies of CVS which use that repository
-in local or server mode.  If you cannot upgrade, use the `watch off' and
-`watch remove' commands to remove all watches, and that will restore
-the repository to a state which CVS 1.6 can cope with.
-
-Choosing between reserved or unreserved checkouts
-=================================================
-
-   Reserved and unreserved checkouts each have pros and cons.  Let it
-be said that a lot of this is a matter of opinion or what works given
-different groups' working styles, but here is an attempt to briefly
-describe the issues.  There are many ways to organize a team of
-developers.  CVS does not try to enforce a certain organization.  It is
-a tool that can be used in several ways.
-
-   Reserved checkouts can be very counter-productive.  If two persons
-want to edit different parts of a file, there may be no reason to
-prevent either of them from doing so.  Also, it is common for someone
-to take out a lock on a file, because they are planning to edit it, but
-then forget to release the lock.
-
-   People, especially people who are familiar with reserved checkouts,
-often wonder how often conflicts occur if unreserved checkouts are
-used, and how difficult they are to resolve.  The experience with many
-groups is that they occur rarely and usually are relatively
-straightforward to resolve.
-
-   The rarity of serious conflicts may be surprising, until one realizes
-that they occur only when two developers disagree on the proper design
-for a given section of code; such a disagreement suggests that the team
-has not been communicating properly in the first place.  In order to
-collaborate under *any* source management regimen, developers must
-agree on the general design of the system; given this agreement,
-overlapping changes are usually straightforward to merge.
-
-   In some cases unreserved checkouts are clearly inappropriate.  If no
-merge tool exists for the kind of file you are managing (for example
-word processor files or files edited by Computer Aided Design
-programs), and it is not desirable to change to a program which uses a
-mergeable data format, then resolving conflicts is going to be
-unpleasant enough that you generally will be better off to simply avoid
-the conflicts instead, by using reserved checkouts.
-
-   The watches features described above in *Note Watches:: can be
-considered to be an intermediate model between reserved checkouts and
-unreserved checkouts.  When you go to edit a file, it is possible to
-find out who else is editing it.  And rather than having the system
-simply forbid both people editing the file, it can tell you what the
-situation is and let you figure out whether it is a problem in that
-particular case or not.  Therefore, for some groups it can be
-considered the best of both the reserved checkout and unreserved
-checkout worlds.
-
-Branches
-********
-
-   So far, all revisions shown in this manual have been on the "main
-trunk" of the revision tree, i.e., all revision numbers have been of
-the form X.Y.  One useful feature, especially when maintaining several
-releases of a software product at once, is the ability to make branches
-on the revision tree.  "Tags", symbolic names for revisions, will also
-be introduced in this chapter.
-
-Tags-Symbolic revisions
-=======================
-
-   The revision numbers live a life of their own.  They need not have
-anything at all to do with the release numbers of your software
-product.  Depending on how you use CVS the revision numbers might
-change several times between two releases.  As an example, some of the
-source files that make up RCS 5.6 have the following revision numbers:
-
-     ci.c            5.21
-     co.c            5.9
-     ident.c         5.3
-     rcs.c           5.12
-     rcsbase.h       5.11
-     rcsdiff.c       5.10
-     rcsedit.c       5.11
-     rcsfcmp.c       5.9
-     rcsgen.c        5.10
-     rcslex.c        5.11
-     rcsmap.c        5.2
-     rcsutil.c       5.10
-
-   You can use the `tag' command to give a symbolic name to a certain
-revision of a file.  You can use the `-v' flag to the `status' command
-to see all tags that a file has, and which revision numbers they
-represent.  Tag names can contain uppercase and lowercase letters,
-digits, `-', and `_'.  The two tag names `BASE' and `HEAD' are reserved
-for use by CVS.  It is expected that future names which are special to
-CVS will contain characters such as `%' or `=', rather than being named
-analogously to `BASE' and `HEAD', to avoid conflicts with actual tag
-names.
-
-   The following example shows how you can add a tag to a file.  The
-commands must be issued inside your working copy of the module.  That
-is, you should issue the command in the directory where `backend.c'
-resides.
-
-     $ cvs tag release-0-4 backend.c
-     T backend.c
-     $ cvs status -v backend.c
-     ===================================================================
-     File: backend.c         Status: Up-to-date
-     
-         Version:            1.4     Tue Dec  1 14:39:01 1992
-         RCS Version:        1.4     /usr/local/cvsroot/yoyodyne/tc/backend.c,v
-         Sticky Tag:         (none)
-         Sticky Date:        (none)
-         Sticky Options:     (none)
-     
-         Existing Tags:
-             release-0-4                     (revision: 1.4)
-
-   There is seldom reason to tag a file in isolation.  A more common
-use is to tag all the files that constitute a module with the same tag
-at strategic points in the development life-cycle, such as when a
-release is made.
-
-     $ cvs tag release-1-0 .
-     cvs tag: Tagging .
-     T Makefile
-     T backend.c
-     T driver.c
-     T frontend.c
-     T parser.c
-
-   (When you give CVS a directory as argument, it generally applies the
-operation to all the files in that directory, and (recursively), to any
-subdirectories that it may contain.  *Note Recursive behavior::.)
-
-   The `checkout' command has a flag, `-r', that lets you check out a
-certain revision of a module.  This flag makes it easy to retrieve the
-sources that make up release 1.0 of the module `tc' at any time in the
-future:
-
-     $ cvs checkout -r release-1-0 tc
-
-This is useful, for instance, if someone claims that there is a bug in
-that release, but you cannot find the bug in the current working copy.
-
-   You can also check out a module as it was at any given date.  *Note
-checkout options::.
-
-   When you tag more than one file with the same tag you can think
-about the tag as "a curve drawn through a matrix of filename vs.
-revision number."  Say we have 5 files with the following revisions:
-
-             file1   file2   file3   file4   file5
-     
-             1.1     1.1     1.1     1.1  /--1.1*      <-*-  TAG
-             1.2*-   1.2     1.2    -1.2*-
-             1.3  \- 1.3*-   1.3   / 1.3
-             1.4          \  1.4  /  1.4
-                           \-1.5*-   1.5
-                             1.6
-
-   At some time in the past, the `*' versions were tagged.  You can
-think of the tag as a handle attached to the curve drawn through the
-tagged revisions.  When you pull on the handle, you get all the tagged
-revisions.  Another way to look at it is that you "sight" through a set
-of revisions that is "flat" along the tagged revisions, like this:
-
-             file1   file2   file3   file4   file5
-     
-                             1.1
-                             1.2
-                     1.1     1.3                       _
-             1.1     1.2     1.4     1.1              /
-             1.2*----1.3*----1.5*----1.2*----1.1     (--- <--- Look here
-             1.3             1.6     1.3              \_
-             1.4                     1.4
-                                     1.5
-
-What branches are good for
-==========================
-
-   Suppose that release 1.0 of tc has been made.  You are continuing to
-develop tc, planning to create release 1.1 in a couple of months.
-After a while your customers start to complain about a fatal bug.  You
-check out release 1.0 (*note Tags::.) and find the bug (which turns out
-to have a trivial fix).  However, the current revision of the sources
-are in a state of flux and are not expected to be stable for at least
-another month.  There is no way to make a bugfix release based on the
-newest sources.
-
-   The thing to do in a situation like this is to create a "branch" on
-the revision trees for all the files that make up release 1.0 of tc.
-You can then make modifications to the branch without disturbing the
-main trunk.  When the modifications are finished you can select to
-either incorporate them on the main trunk, or leave them on the branch.
-
-Creating a branch
-=================
-
-   The `rtag' command can be used to create a branch.  The `rtag'
-command is much like `tag', but it does not require that you have a
-working copy of the module.  *Note rtag::.  (You can also use the `tag'
-command; *note tag::.).
-
-     $ cvs rtag -b -r release-1-0 release-1-0-patches tc
-
-   The `-b' flag makes `rtag' create a branch (rather than just a
-symbolic revision name).  `-r release-1-0' says that this branch should
-be rooted at the node (in the revision tree) that corresponds to the tag
-`release-1-0'.  Note that the numeric revision number that matches
-`release-1-0' will probably be different from file to file.  The name
-of the new branch is `release-1-0-patches', and the module affected is
-`tc'.
-
-   To fix the problem in release 1.0, you need a working copy of the
-branch you just created.
-
-     $ cvs checkout -r release-1-0-patches tc
-     $ cvs status -v driver.c backend.c
-     ===================================================================
-     File: driver.c          Status: Up-to-date
-     
-         Version:            1.7     Sat Dec  5 18:25:54 1992
-         RCS Version:        1.7     /usr/local/cvsroot/yoyodyne/tc/driver.c,v
-         Sticky Tag:         release-1-0-patches (branch: 1.7.2)
-         Sticky Date:        (none)
-         Sticky Options:     (none)
-     
-         Existing Tags:
-             release-1-0-patches             (branch: 1.7.2)
-             release-1-0                     (revision: 1.7)
-     
-     ===================================================================
-     File: backend.c         Status: Up-to-date
-     
-         Version:            1.4     Tue Dec  1 14:39:01 1992
-         RCS Version:        1.4     /usr/local/cvsroot/yoyodyne/tc/backend.c,v
-         Sticky Tag:         release-1-0-patches (branch: 1.4.2)
-         Sticky Date:        (none)
-         Sticky Options:     (none)
-     
-         Existing Tags:
-             release-1-0-patches             (branch: 1.4.2)
-             release-1-0                     (revision: 1.4)
-             release-0-4                     (revision: 1.4)
-
-   As the output from the `status' command shows the branch number is
-created by adding a digit at the tail of the revision number it is
-based on.  (If `release-1-0' corresponds to revision 1.4, the branch's
-revision number will be 1.4.2.  For obscure reasons CVS always gives
-branches even numbers, starting at 2.  *Note Revision numbers::).
-
-Sticky tags
-===========
-
-   The `-r release-1-0-patches' flag that was given to `checkout' in
-the previous example is "sticky", that is, it will apply to subsequent
-commands in this directory.  If you commit any modifications, they are
-committed on the branch.  You can later merge the modifications into
-the main trunk.  *Note Merging::.
-
-   You can use the `status' command to see what sticky tags or dates
-are set:
-
-     $ vi driver.c   # Fix the bugs
-     $ cvs commit -m "Fixed initialization bug" driver.c
-     Checking in driver.c;
-     /usr/local/cvsroot/yoyodyne/tc/driver.c,v  <--  driver.c
-     new revision: 1.7.2.1; previous revision: 1.7
-     done
-     $ cvs status -v driver.c
-     ===================================================================
-     File: driver.c          Status: Up-to-date
-     
-         Version:            1.7.2.1 Sat Dec  5 19:35:03 1992
-         RCS Version:        1.7.2.1 /usr/local/cvsroot/yoyodyne/tc/driver.c,v
-         Sticky Tag:         release-1-0-patches (branch: 1.7.2)
-         Sticky Date:        (none)
-         Sticky Options:     (none)
-     
-         Existing Tags:
-             release-1-0-patches             (branch: 1.7.2)
-             release-1-0                     (revision: 1.7)
-
-   The sticky tags will remain on your working files until you delete
-them with `cvs update -A'.  The `-A' option retrieves the version of
-the file from the head of the trunk, and forgets any sticky tags,
-dates, or options.
-
-   Sticky tags are not just for branches.  For example, suppose that
-you want to avoid updating your working directory, to isolate yourself
-from possibly destabilizing changes other people are making.  You can,
-of course, just refrain from running `cvs update'.  But if you want to
-avoid updating only a portion of a larger tree, then sticky tags can
-help.  If you check out a certain revision (such as 1.4) it will become
-sticky.  Subsequent `cvs update' will not retrieve the latest revision
-until you reset the tag with `cvs update -A'.  Likewise, use of the
-`-D' option to `update' or `checkout' sets a "sticky date", which,
-similarly, causes that date to be used for future retrievals.
-
-   Many times you will want to retrieve an old version of a file
-without setting a sticky tag.  The way to do that is with the `-p'
-option to `checkout' or `update', which sends the contents of the file
-to standard output.  For example, suppose you have a file named `file1'
-which existed as revision 1.1, and you then removed it (thus adding a
-dead revision 1.2).  Now suppose you want to add it again, with the same
-contents it had previously.  Here is how to do it:
-
-     $ cvs update -p -r 1.1 file1 >file1
-     ===================================================================
-     Checking out file1
-     RCS:  /tmp/cvs-sanity/cvsroot/first-dir/Attic/file1,v
-     VERS: 1.1
-     ***************
-     $ cvs add file1
-     cvs add: re-adding file file1 (in place of dead revision 1.2)
-     cvs add: use 'cvs commit' to add this file permanently
-     $ cvs commit -m test
-     Checking in file1;
-     /tmp/cvs-sanity/cvsroot/first-dir/file1,v  <--  file1
-     new revision: 1.3; previous revision: 1.2
-     done
-     $
-
-Merging
-*******
-
-   You can include the changes made between any two revisions into your
-working copy, by "merging".  You can then commit that revision, and
-thus effectively copy the changes onto another branch.
-
-Merging an entire branch
-========================
-
-   You can merge changes made on a branch into your working copy by
-giving the `-j BRANCH' flag to the `update' command.  With one `-j
-BRANCH' option it merges the changes made between the point where the
-branch forked and newest revision on that branch (into your working
-copy).
-
-   The `-j' stands for "join".
-
-   Consider this revision tree:
-
-     +-----+    +-----+    +-----+    +-----+
-     ! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !      <- The main trunk
-     +-----+    +-----+    +-----+    +-----+
-                     !
-                     !
-                     !   +---------+    +---------+
-     Branch R1fix -> +---! 1.2.2.1 !----! 1.2.2.2 !
-                         +---------+    +---------+
-
-The branch 1.2.2 has been given the tag (symbolic name) `R1fix'.  The
-following example assumes that the module `mod' contains only one file,
-`m.c'.
-
-     $ cvs checkout mod               # Retrieve the latest revision, 1.4
-     
-     $ cvs update -j R1fix m.c        # Merge all changes made on the branch,
-                                      # i.e. the changes between revision 1.2
-                                      # and 1.2.2.2, into your working copy
-                                      # of the file.
-     
-     $ cvs commit -m "Included R1fix" # Create revision 1.5.
-
-   A conflict can result from a merge operation.  If that happens, you
-should resolve it before committing the new revision.  *Note Conflicts
-example::.
-
-   The `checkout' command also supports the `-j BRANCH' flag.  The same
-effect as above could be achieved with this:
-
-     $ cvs checkout -j R1fix mod
-     $ cvs commit -m "Included R1fix"
-
-Merging from a branch several times
-===================================
-
-   Continuing our example, the revision tree now looks like this:
-
-     +-----+    +-----+    +-----+    +-----+    +-----+
-     ! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 1.5 !      <- The main trunk
-     +-----+    +-----+    +-----+    +-----+    +-----+
-                     !                           *
-                     !                          *
-                     !   +---------+    +---------+
-     Branch R1fix -> +---! 1.2.2.1 !----! 1.2.2.2 !
-                         +---------+    +---------+
-
-   where the starred line represents the merge from the `R1fix' branch
-to the main trunk, as just discussed.
-
-   Now suppose that development continues on the `R1fix' branch:
-
-     +-----+    +-----+    +-----+    +-----+    +-----+
-     ! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 1.5 !      <- The main trunk
-     +-----+    +-----+    +-----+    +-----+    +-----+
-                     !                           *
-                     !                          *
-                     !   +---------+    +---------+    +---------+
-     Branch R1fix -> +---! 1.2.2.1 !----! 1.2.2.2 !----! 1.2.2.3 !
-                         +---------+    +---------+    +---------+
-
-   and then you want to merge those new changes onto the main trunk.
-If you just use the `cvs update -j R1fix m.c' command again, CVS will
-attempt to merge again the changes which you have already merged, which
-can have undesirable side effects.
-
-   So instead you need to specify that you only want to merge the
-changes on the branch which have not yet been merged into the trunk.
-To do that you specify two `-j' options, and CVS merges the changes from
-the first revision to the second revision.  For example, in this case
-the simplest way would be
-
-     cvs update -j 1.2.2.2 -j R1fix m.c    # Merge changes from 1.2.2.2 to the
-                                           # head of the R1fix branch
-
-   The problem with this is that you need to specify the 1.2.2.2
-revision manually.  A slightly better approach might be to use the date
-the last merge was done:
-
-     cvs update -j R1fix:yesterday -j R1fix m.c
-
-   Better yet, tag the R1fix branch after every merge into the trunk,
-and then use that tag for subsequent merges:
-
-     cvs update -j merged_from_R1fix_to_trunk -j R1fix m.c
-
-Merging differences between any two revisions
-=============================================
-
-   With two `-j REVISION' flags, the `update' (and `checkout') command
-can merge the differences between any two revisions into your working
-file.
-
-     $ cvs update -j 1.5 -j 1.3 backend.c
-
-will *remove* all changes made between revision 1.3 and 1.5.  Note the
-order of the revisions!
-
-   If you try to use this option when operating on multiple files,
-remember that the numeric revisions will probably be very different
-between the various files that make up a module.  You almost always use
-symbolic tags rather than revision numbers when operating on multiple
-files.
-
-Merging can add or remove files
-===============================
-
-   If the changes which you are merging involve removing or adding some
-files, `update -j' will reflect such additions or removals.
-
-   For example:
-     cvs update -A
-     touch a b c
-     cvs add a b c ; cvs ci -m "added" a b c
-     cvs tag -b branchtag
-     cvs update -r branchtag
-     touch d ; cvs add d
-     rm a ; cvs rm a
-     cvs ci -m "added d, removed a"
-     cvs update -A
-     cvs update -jbranchtag
-
-Recursive behavior
-******************
-
-   Almost all of the subcommands of CVS work recursively when you
-specify a directory as an argument.  For instance, consider this
-directory structure:
-
-           `$HOME'
-             |
-             +--tc
-             |   |
-                 +--CVS
-                 |      (internal CVS files)
-                 +--Makefile
-                 +--backend.c
-                 +--driver.c
-                 +--frontend.c
-                 +--parser.c
-                 +--man
-                 |    |
-                 |    +--CVS
-                 |    |  (internal CVS files)
-                 |    +--tc.1
-                 |
-                 +--testing
-                      |
-                      +--CVS
-                      |  (internal CVS files)
-                      +--testpgm.t
-                      +--test2.t
-
-If `tc' is the current working directory, the following is true:
-
-   * `cvs update testing' is equivalent to `cvs update
-     testing/testpgm.t testing/test2.t'
-
-   * `cvs update testing man' updates all files in the subdirectories
-
-   * `cvs update .' or just `cvs update' updates all files in the `tc'
-     module
-
-   If no arguments are given to `update' it will update all files in
-the current working directory and all its subdirectories.  In other
-words, `.' is a default argument to `update'.  This is also true for
-most of the CVS subcommands, not only the `update' command.
-
-   The recursive behavior of the CVS subcommands can be turned off with
-the `-l' option.
-
-     $ cvs update -l         # Don't update files in subdirectories
-
-Adding files to a directory
-***************************
-
-   To add a new file to a directory, follow these steps.
-
-   * You must have a working copy of the directory.  *Note Getting the
-     source::.
-
-   * Create the new file inside your working copy of the directory.
-
-   * Use `cvs add FILENAME' to tell CVS that you want to version
-     control the file.  If the file contains binary data, specify `-kb'
-     (*note Binary files::.).
-
-   * Use `cvs commit FILENAME' to actually check in the file into the
-     repository.  Other developers cannot see the file until you
-     perform this step.
-
-   You can also use the `add' command to add a new directory.
-
-   Unlike most other commands, the `add' command is not recursive.  You
-cannot even type `cvs add foo/bar'!  Instead, you have to
-
-     $ cd foo
-     $ cvs add bar
-
- - Command: cvs add [`-k' KFLAG] [`-m' MESSAGE] FILES ...
-     Schedule FILES to be added to the repository.  The files or
-     directories specified with `add' must already exist in the current
-     directory.  To add a whole new directory hierarchy to the source
-     repository (for example, files received from a third-party
-     vendor), use the `import' command instead.  *Note import::.
-
-     The added files are not placed in the source repository until you
-     use `commit' to make the change permanent.  Doing an `add' on a
-     file that was removed with the `remove' command will undo the
-     effect of the `remove', unless a `commit' command intervened.
-     *Note Removing files::, for an example.
-
-     The `-k' option specifies the default way that this file will be
-     checked out; for more information see *Note Substitution modes::.
-
-     The `-m' option specifies a description for the file.  This
-     description appears in the history log (if it is enabled, *note
-     history file::.).  It will also be saved in the version history
-     inside the repository when the file is committed.  The `log'
-     command displays this description.  The description can be changed
-     using `admin -t'.  *Note admin::.  If you omit the `-m
-     DESCRIPTION' flag, an empty string will be used.  You will not be
-     prompted for a description.
-
-   For example, the following commands add the file `backend.c' to the
-repository:
-
-     $ cvs add backend.c
-     $ cvs commit -m "Early version. Not yet compilable." backend.c
-
-   When you add a file it is added only on the branch which you are
-working on (*note Branches::.).  You can later merge the additions to
-another branch if you want (*note Merging adds and removals::.).
-
-Removing files from a module
-****************************
-
-   Modules change.  New files are added, and old files disappear.
-Still, you want to be able to retrieve an exact copy of old releases of
-the module.
-
-   Here is what you can do to remove a file from a module, but remain
-able to retrieve old revisions:
-
-   * Make sure that you have not made any uncommitted modifications to
-     the file.  *Note Viewing differences::, for one way to do that.
-     You can also use the `status' or `update' command.  If you remove
-     the file without committing your changes, you will of course not
-     be able to retrieve the file as it was immediately before you
-     deleted it.
-
-   * Remove the file from your working copy of the module.  You can for
-     instance use `rm'.
-
-   * Use `cvs remove FILENAME' to tell CVS that you really want to
-     delete the file.
-
-   * Use `cvs commit FILENAME' to actually perform the removal of the
-     file from the repository.
-
-   When you commit the removal of the file, CVS records the fact that
-the file no longer exists.  It is possible for a file to exist on only
-some branches and not on others, or to re-add another file with the same
-name later.  CVS will correctly create or not create the file, based on
-the `-r' and `-D' options specified to `checkout' or `update'.
-
- - Command: cvs remove [`-lR'] FILES ...
-     Schedule file(s) to be removed from the repository (files which
-     have not already been removed from the working directory are not
-     processed).  This command does not actually remove the file from
-     the repository until you commit the removal.  The `-R' option (the
-     default) specifies that it will recurse into subdirectories; `-l'
-     specifies that it will not.
-
-   Here is an example of removing several files:
-
-     $ cd test
-     $ rm ?.c
-     $ cvs remove
-     cvs remove: Removing .
-     cvs remove: scheduling a.c for removal
-     cvs remove: scheduling b.c for removal
-     cvs remove: use 'cvs commit' to remove these files permanently
-     $ cvs ci -m "Removed unneeded files"
-     cvs commit: Examining .
-     cvs commit: Committing .
-
-   If you change your mind you can easily resurrect the file before you
-commit it, using the `add' command.
-
-     $ ls
-     CVS   ja.h  oj.c
-     $ rm oj.c
-     $ cvs remove oj.c
-     cvs remove: scheduling oj.c for removal
-     cvs remove: use 'cvs commit' to remove this file permanently
-     $ cvs add oj.c
-     U oj.c
-     cvs add: oj.c, version 1.1.1.1, resurrected
-
-   If you realize your mistake before you run the `remove' command you
-can use `update' to resurrect the file:
-
-     $ rm oj.c
-     $ cvs update oj.c
-     cvs update: warning: oj.c was lost
-     U oj.c
-
-   When you remove a file it is added only on the branch which you are
-working on (*note Branches::.).  You can later merge the additions to
-another branch if you want (*note Merging adds and removals::.).
-
-Tracking third-party sources
-****************************
-
-   If you modify a program to better fit your site, you probably want
-to include your modifications when the next release of the program
-arrives.  CVS can help you with this task.
-
-   In the terminology used in CVS, the supplier of the program is
-called a "vendor".  The unmodified distribution from the vendor is
-checked in on its own branch, the "vendor branch".  CVS reserves branch
-1.1.1 for this use.
-
-   When you modify the source and commit it, your revision will end up
-on the main trunk.  When a new release is made by the vendor, you
-commit it on the vendor branch and copy the modifications onto the main
-trunk.
-
-   Use the `import' command to create and update the vendor branch.
-After a successful `import' the vendor branch is made the `head'
-revision, so anyone that checks out a copy of the file gets that
-revision.  When a local modification is committed it is placed on the
-main trunk, and made the `head' revision.
-
-Importing a module for the first time
-=====================================
-
-   Use the `import' command to check in the sources for the first time.
-When you use the `import' command to track third-party sources, the
-"vendor tag" and "release tags" are useful.  The "vendor tag" is a
-symbolic name for the branch (which is always 1.1.1, unless you use the
-`-b BRANCH' flag--*Note import options::).  The "release tags" are
-symbolic names for a particular release, such as `FSF_0_04'.
-
-   Suppose you use `wdiff' (a variant of `diff' that ignores changes
-that only involve whitespace), and are going to make private
-modifications that you want to be able to use even when new releases
-are made in the future.  You start by importing the source to your
-repository:
-
-     $ tar xfz wdiff-0.04.tar.gz
-     $ cd wdiff-0.04
-     $ cvs import -m "Import of FSF v. 0.04" fsf/wdiff FSF_DIST WDIFF_0_04
-
-   The vendor tag is named `FSF_DIST' in the above example, and the
-only release tag assigned is `WDIFF_0_04'.
-
-Updating a module with the import command
-=========================================
-
-   When a new release of the source arrives, you import it into the
-repository with the same `import' command that you used to set up the
-repository in the first place.  The only difference is that you specify
-a different release tag this time.
-
-     $ tar xfz wdiff-0.05.tar.gz
-     $ cd wdiff-0.05
-     $ cvs import -m "Import of FSF v. 0.05" fsf/wdiff FSF_DIST WDIFF_0_05
-
-   For files that have not been modified locally, the newly created
-revision becomes the head revision.  If you have made local changes,
-`import' will warn you that you must merge the changes into the main
-trunk, and tell you to use `checkout -j' to do so.
-
-     $ cvs checkout -jFSF_DIST:yesterday -jFSF_DIST wdiff
-
-The above command will check out the latest revision of `wdiff',
-merging the changes made on the vendor branch `FSF_DIST' since
-yesterday into the working copy.  If any conflicts arise during the
-merge they should be resolved in the normal way (*note Conflicts
-example::.).  Then, the modified files may be committed.
-
-   Using a date, as suggested above, assumes that you do not import
-more than one release of a product per day. If you do, you can always
-use something like this instead:
-
-     $ cvs checkout -jWDIFF_0_04 -jWDIFF_0_05 wdiff
-
-In this case, the two above commands are equivalent.
-
-How to handle binary files with cvs import
-==========================================
-
-   Use the `-k' wrapper option to tell import which files are binary.
-*Note Wrappers::.
-
-Moving and renaming files
-*************************
-
-   Moving files to a different directory or renaming them is not
-difficult, but some of the ways in which this works may be non-obvious.
-(Moving or renaming a directory is even harder.  *Note Moving
-directories::).
-
-   The examples below assume that the file OLD is renamed to NEW.
-
-The Normal way to Rename
-========================
-
-   The normal way to move a file is to copy OLD to NEW, and then issue
-the normal CVS commands to remove OLD from the repository, and add NEW
-to it.  (Both OLD and NEW could contain relative paths, for example
-`foo/bar.c').
-
-     $ mv OLD NEW
-     $ cvs remove OLD
-     $ cvs add NEW
-     $ cvs commit -m "Renamed OLD to NEW" OLD NEW
-
-   This is the simplest way to move a file, it is not error-prone, and
-it preserves the history of what was done.  Note that to access the
-history of the file you must specify the old or the new name, depending
-on what portion of the history you are accessing.  For example, `cvs
-log OLD' will give the log up until the time of the rename.
-
-   When NEW is committed its revision numbers will start at 1.0 again,
-so if that bothers you, use the `-r rev' option to commit (*note commit
-options::.)
-
-Moving the history file
-=======================
-
-   This method is more dangerous, since it involves moving files inside
-the repository.  Read this entire section before trying it out!
-
-     $ cd $CVSROOT/MODULE
-     $ mv OLD,v NEW,v
-
-Advantages:
-
-   * The log of changes is maintained intact.
-
-   * The revision numbers are not affected.
-
-Disadvantages:
-
-   * Old releases of the module cannot easily be fetched from the
-     repository.  (The file will show up as NEW even in revisions from
-     the time before it was renamed).
-
-   * There is no log information of when the file was renamed.
-
-   * Nasty things might happen if someone accesses the history file
-     while you are moving it.  Make sure no one else runs any of the CVS
-     commands while you move it.
-
-Copying the history file
-========================
-
-   This way also involves direct modifications to the repository.  It
-is safe, but not without drawbacks.
-
-     # Copy the RCS file inside the repository
-     $ cd $CVSROOT/MODULE
-     $ cp OLD,v NEW,v
-     # Remove the old file
-     $ cd ~/MODULE
-     $ rm OLD
-     $ cvs remove OLD
-     $ cvs commit OLD
-     # Remove all tags from NEW
-     $ cvs update NEW
-     $ cvs log NEW             # Remember the non-branch tag names
-     $ cvs tag -d TAG1 NEW
-     $ cvs tag -d TAG2 NEW
-     ...
-
-   By removing the tags you will be able to check out old revisions of
-the module.
-
-Advantages:
-
-   * Checking out old revisions works correctly, as long as you use
-     `-rTAG' and not `-DDATE' to retrieve the revisions.
-
-   * The log of changes is maintained intact.
-
-   * The revision numbers are not affected.
-
-Disadvantages:
-
-   * You cannot easily see the history of the file across the rename.
-
-   * Unless you use the `-r rev' (*note commit options::.) flag when
-     NEW is committed its revision numbers will start at 1.0 again.
-
-Moving and renaming directories
-*******************************
-
-   If you want to be able to retrieve old versions of the module, you
-must move each file in the directory with the CVS commands.  *Note
-Outside::.  The old, empty directory will remain inside the repository,
-but it will not appear in your workspace when you check out the module
-in the future.
-
-   If you really want to rename or delete a directory, you can do it
-like this:
-
-  1. Inform everyone who has a copy of the module that the directory
-     will be renamed.  They should commit all their changes, and remove
-     their working copies of the module, before you take the steps
-     below.
-
-  2. Rename the directory inside the repository.
-
-          $ cd $CVSROOT/MODULE
-          $ mv OLD-DIR NEW-DIR
-
-  3. Fix the CVS administrative files, if necessary (for instance if
-     you renamed an entire module).
-
-  4. Tell everyone that they can check out the module and continue
-     working.
-
-
-   If someone had a working copy of the module the CVS commands will
-cease to work for him, until he removes the directory that disappeared
-inside the repository.
-
-   It is almost always better to move the files in the directory
-instead of moving the directory.  If you move the directory you are
-unlikely to be able to retrieve old releases correctly, since they
-probably depend on the name of the directories.
-
-History browsing
-****************
-
-   Once you have used CVS to store a version control history--what
-files have changed when, how, and by whom, there are a variety of
-mechanisms for looking through the history.
-
-Log messages
-============
-
-   Whenever you commit a file you specify a log message.
-
-   To look through the log messages which have been specified for every
-revision which has been committed, use the `cvs log' command (*note
-log::.).
-
-The history database
-====================
-
-   You can use the history file (*note history file::.) to log various
-CVS actions.  To retrieve the information from the history file, use
-the `cvs history' command (*note history::.).
-
-User-defined logging
-====================
-
-   You can customize CVS to log various kinds of actions, in whatever
-manner you choose.  These mechanisms operate by executing a script at
-various times.  The script might append a message to a file listing the
-information and the programmer who created it, or send mail to a group
-of developers, or, perhaps, post a message to a particular newsgroup.
-To log commits, use the `loginfo' file (*note loginfo::.).  To log
-commits, checkouts, exports, and tags, respectively, you can also use
-the `-i', `-o', `-e', and `-t' options in the modules file.  For a more
-flexible way of giving notifications to various users, which requires
-less in the way of keeping centralized scripts up to date, use the `cvs
-watch add' command (*note Getting Notified::.); this command is useful
-even if you are not using `cvs watch on'.
-
-   The `taginfo' file defines programs to execute when someone executes
-a `tag' or `rtag' command.  The `taginfo' file has the standard form
-for administrative files (*note Administrative files::.), where each
-line is a regular expression followed by a command to execute.  The
-arguments passed to the command are, in order, the TAGNAME, OPERATION
-(`add' for `tag', `mov' for `tag -F', and `del' for `tag -d'),
-REPOSITORY, and any remaining are pairs of FILENAME REVISION.  A
-non-zero exit of the filter program will cause the tag to be aborted.
-
-Annotate command
-================
-
- - Command: cvs annotate [`-lf'] [`-r rev'|`-D date'] FILES ...
-     For each file in FILES, print the head revision of the trunk,
-     together with information on the last modification for each line.
-     For example:
-
-          $ cvs annotate ssfile
-          Annotations for ssfile
-          ***************
-          1.1          (mary     27-Mar-96): ssfile line 1
-          1.2          (joe      28-Mar-96): ssfile line 2
-
-     The file `ssfile' currently contains two lines.  The `ssfile line
-     1' line was checked in by `mary' on March 27.  Then, on March 28,
-     `joe' added a line `ssfile line 2', without modifying the `ssfile
-     line 1' line.  This report doesn't tell you anything about lines
-     which have been deleted or replaced; you need to use `cvs diff'
-     for that (*note diff::.).
-
-
-   These standard options are available with `annotate' (*note Common
-options::., for a complete description of them):
-
-`-D DATE'
-     Annotate the most recent revision no later than DATE.
-
-`-f'
-     Only useful with the `-D DATE' or `-r TAG' flags.  If no matching
-     revision is found, annotate the most recent revision (instead of
-     ignoring the file).
-
-`-l'
-     Local; run only in current working directory.  *Note Recursive
-     behavior::.
-
-`-r TAG'
-     Annotate revision TAG.
-
-Keyword substitution
-********************
-
-   As long as you edit source files inside your working copy of a
-module you can always find out the state of your files via `cvs status'
-and `cvs log'.  But as soon as you export the files from your
-development environment it becomes harder to identify which revisions
-they are.
-
-   RCS uses a mechanism known as "keyword substitution" (or "keyword
-expansion") to help identifying the files.  Embedded strings of the form
-`$KEYWORD$' and `$KEYWORD:...$' in a file are replaced with strings of
-the form `$KEYWORD:VALUE$' whenever you obtain a new revision of the
-file.
-
-RCS Keywords
-============
-
-   This is a list of the keywords that RCS currently (in release
-5.6.0.1) supports:
-
-`$Author: ward $'
-     The login name of the user who checked in the revision.
-
-`$Date: 2009/06/08 20:47:05 $'
-     The date and time (UTC) the revision was checked in.
-
-`$Header: /web/www/www/software/cvs/manual/text/Attic/cvs.txt,v 1.2 2009/06/08 
20:47:05 ward Exp $'
-     A standard header containing the full pathname of the RCS file,
-     the revision number, the date (UTC), the author, the state, and
-     the locker (if locked).  Files will normally never be locked when
-     you use CVS.
-
-`$Id: cvs.txt,v 1.2 2009/06/08 20:47:05 ward Exp $'
-     Same as `$Header: /web/www/www/software/cvs/manual/text/Attic/cvs.txt,v 
1.2 2009/06/08 20:47:05 ward Exp $', except that the RCS filename is without a 
path.
-
-`$Name:  $'
-     Tag name used to check out this file.
-
-`$Locker:  $'
-     The login name of the user who locked the revision (empty if not
-     locked, and thus almost always useless when you are using CVS).
-
-`$Log: cvs.txt,v $
-`Revision 1.2  2009/06/08 20:47:05  ward
-`changes that were lost from the CVS tree due to the savannah crash of 
2009/05/29
-`
-`Revision 1.1  2003/11/07 20:55:33  sinuhe
-`Add manual.
-`'
-     The log message supplied during commit, preceded by a header
-     containing the RCS filename, the revision number, the author, and
-     the date (UTC).  Existing log messages are *not* replaced.
-     Instead, the new log message is inserted after `$Log: cvs.txt,v $
-     Instead, the new log message is inserted after `Revision 1.1  2003/11/07 
20:55:33  sinuhe
-     Instead, the new log message is inserted after `Add manual.
-     Instead, the new log message is inserted after `'.  Each
-     new line is prefixed with a "comment leader" which RCS guesses
-     from the file name extension.  It can be changed with `cvs admin
-     -c'.  *Note admin options::.  This keyword is useful for
-     accumulating a complete change log in a source file, but for
-     several reasons it can be problematic.  *Note Log keyword::.
-
-`$RCSfile: cvs.txt,v $'
-     The name of the RCS file without a path.
-
-`$Revision: 1.2 $'
-     The revision number assigned to the revision.
-
-`$Source: /web/www/www/software/cvs/manual/text/Attic/cvs.txt,v $'
-     The full pathname of the RCS file.
-
-`$State: Exp $'
-     The state assigned to the revision.  States can be assigned with
-     `cvs admin -s'--*Note admin options::.
-
-Using keywords
-==============
-
-   To include a keyword string you simply include the relevant text
-string, such as `$Id: cvs.txt,v 1.2 2009/06/08 20:47:05 ward Exp $', inside 
the file, and commit the file.  CVS will
-automatically expand the string as part of the commit operation.
-
-   It is common to embed `$Id: cvs.txt,v 1.2 2009/06/08 20:47:05 ward Exp $' 
string in the C source code.  This
-example shows the first few lines of a typical file, after keyword
-substitution has been performed:
-
-     static char *rcsid="$Id: cvs.txt,v 1.2 2009/06/08 20:47:05 ward Exp $";
-     /* The following lines will prevent `gcc' version 2.X
-        from issuing an "unused variable" warning. */
-     #if __GNUC__ == 2
-     #define USE(var) static void * use_##var = (&use_##var, (void *) &var)
-     USE (rcsid);
-     #endif
-
-   Even though a clever optimizing compiler could remove the unused
-variable `rcsid', most compilers tend to include the string in the
-binary.  Some compilers have a `#pragma' directive to include literal
-text in the binary.
-
-   The `ident' command (which is part of the RCS package) can be used
-to extract keywords and their values from a file.  This can be handy
-for text files, but it is even more useful for extracting keywords from
-binary files.
-
-     $ ident samp.c
-     samp.c:
-          $Id: cvs.txt,v 1.2 2009/06/08 20:47:05 ward Exp $
-     $ gcc samp.c
-     $ ident a.out
-     a.out:
-          $Id: cvs.txt,v 1.2 2009/06/08 20:47:05 ward Exp $
-
-   SCCS is another popular revision control system.  It has a command,
-`what', which is very similar to `ident' and used for the same purpose.
-Many sites without RCS have SCCS.  Since `what' looks for the
-character sequence `@(#)' it is easy to include keywords that are
-detected by either command.  Simply prefix the RCS keyword with the
-magic SCCS phrase, like this:
-
-     static char *id="@(#) $Id: cvs.txt,v 1.2 2009/06/08 20:47:05 ward Exp $";
-
-Avoiding substitution
-=====================
-
-   Keyword substitution has its disadvantages.  Sometimes you might
-want the literal text string `$Author: ward $' to appear inside a file without
-RCS interpreting it as a keyword and expanding it into something like
-`$Author: ward $'.
-
-   There is unfortunately no way to selectively turn off keyword
-substitution.  You can use `-ko' (*note Substitution modes::.) to turn
-off keyword substitution entirely.
-
-   In many cases you can avoid using RCS keywords in the source, even
-though they appear in the final product.  For example, the source for
-this manual contains address@hidden' whenever the text `$Author: ward $'
-should appear.  In `nroff' and `troff' you can embed the null-character
-`\&' inside the keyword for a similar effect.
-
-Substitution modes
-==================
-
-   Each file has a stored default substitution mode, and each working
-directory copy of a file also has a substitution mode.  The former is
-set by the `-k' option to `cvs add' and `cvs admin'; the latter is set
-by the -k or -A options to `cvs checkout' or `cvs update'.  `cvs diff'
-also has a `-k' option.  For some examples, *Note Binary files::.
-
-   The modes available are:
-
-`-kkv'
-     Generate keyword strings using the default form, e.g.  `$Revision:
-     5.7 $' for the `Revision' keyword.
-
-`-kkvl'
-     Like `-kkv', except that a locker's name is always inserted if the
-     given revision is currently locked.  This option is normally not
-     useful when CVS is used.
-
-`-kk'
-     Generate only keyword names in keyword strings; omit their values.
-     For example, for the `Revision' keyword, generate the string
-     `$Revision: 1.2 $' instead of `$Revision: 1.2 $'.  This option is useful
-     to ignore differences due to keyword substitution when comparing
-     different revisions of a file.
-
-`-ko'
-     Generate the old keyword string, present in the working file just
-     before it was checked in.  For example, for the `Revision'
-     keyword, generate the string `$Revision: 1.2 $' instead of
-     `$Revision: 1.2 $' if that is how the string appeared when the
-     file was checked in.
-
-`-kb'
-     Like `-ko', but also inhibit conversion of line endings between
-     the canonical form in which they are stored in the repository
-     (linefeed only), and the form appropriate to the operating system
-     in use on the client.  For systems, like unix, which use linefeed
-     only to terminate lines, this is the same as `-ko'.  For more
-     information on binary files, see *Note Binary files::.
-
-`-kv'
-     Generate only keyword values for keyword strings.  For example,
-     for the `Revision' keyword, generate the string `5.7' instead of
-     `$Revision: 1.2 $'.  This can help generate files in programming
-     languages where it is hard to strip keyword delimiters like
-     `$Revision: 1.2 $' from a string.  However, further keyword
-     substitution cannot be performed once the keyword names are
-     removed, so this option should be used with care.
-
-     One often would like to use `-kv' with `cvs export'--*note
-     export::..  But be aware that doesn't handle an export containing
-     binary files correctly.
-
-Problems with the $Log: cvs.txt,v $
-Problems with the Revision 1.2  2009/06/08 20:47:05  ward
-Problems with the changes that were lost from the CVS tree due to the savannah 
crash of 2009/05/29
-Problems with the
-Problems with the Revision 1.1  2003/11/07 20:55:33  sinuhe
-Problems with the Add manual.
-Problems with the keyword.
-================================
-
-   The `$Log: cvs.txt,v $
-   The `Revision 1.2  2009/06/08 20:47:05  ward
-   The `changes that were lost from the CVS tree due to the savannah crash of 
2009/05/29
-   The `
-   The `Revision 1.1  2003/11/07 20:55:33  sinuhe
-   The `Add manual.
-   The `' keyword is somewhat controversial.  As long as you are
-working on your development system the information is easily accessible
-even if you do not use the `$Log: cvs.txt,v $
-even if you do not use the `Revision 1.1  2003/11/07 20:55:33  sinuhe
-even if you do not use the `Add manual.
-even if you do not use the `' keyword--just do a `cvs log'.  Once
-you export the file the history information might be useless anyhow.
-
-   A more serious concern is that RCS is not good at handling `$Log: cvs.txt,v 
$
-   A more serious concern is that RCS is not good at handling `Revision 1.1  
2003/11/07 20:55:33  sinuhe
-   A more serious concern is that RCS is not good at handling `Add manual.
-   A more serious concern is that RCS is not good at handling `'
-entries when a branch is merged onto the main trunk.  Conflicts often
-result from the merging operation.
-
-   People also tend to "fix" the log entries in the file (correcting
-spelling mistakes and maybe even factual errors).  If that is done the
-information from `cvs log' will not be consistent with the information
-inside the file.  This may or may not be a problem in real life.
-
-   It has been suggested that the `$Log: cvs.txt,v $
-   It has been suggested that the `Revision 1.1  2003/11/07 20:55:33  sinuhe
-   It has been suggested that the `Add manual.
-   It has been suggested that the `' keyword should be inserted
-*last* in the file, and not in the files header, if it is to be used at
-all.  That way the long list of change messages will not interfere with
-everyday source file browsing.
-
-Handling binary files
-*********************
-
-   There are two issues with using CVS to store binary files.  The
-first is that CVS by default convert line endings between the canonical
-form in which they are stored in the repository (linefeed only), and
-the form appropriate to the operating system in use on the client (for
-example, carriage return followed by line feed for Windows NT).
-
-   The second is that a binary file might happen to contain data which
-looks like a keyword (*note Keyword substitution::.), so keyword
-expansion must be turned off.
-
-   The `-kb' option available with some CVS commands insures that
-neither line ending conversion nor keyword expansion will be done.  If
-you are using an old version of RCS without this option, and you are
-using an operating system, such as unix, which terminates lines with
-linefeeds only, you can use `-ko' instead; if you are on another
-operating system, upgrade to a version of RCS, such as 5.7 or later,
-which supports `-kb'.
-
-   Here is an example of how you can create a new file using the `-kb'
-flag:
-
-     $ echo '$Id: cvs.txt,v 1.2 2009/06/08 20:47:05 ward Exp $' > kotest
-     $ cvs add -kb -m"A test file" kotest
-     $ cvs ci -m"First checkin; contains a keyword" kotest
-
-   If a file accidentally gets added without `-kb', one can use the
-`cvs admin' command to recover.  For example:
-
-     $ echo '$Id: cvs.txt,v 1.2 2009/06/08 20:47:05 ward Exp $' > kotest
-     $ cvs add -m"A test file" kotest
-     $ cvs ci -m"First checkin; contains a keyword" kotest
-     $ cvs admin -kb kotest
-     $ cvs update -A kotest
-     $ cvs commit -m "make it binary" kotest  # For non-unix systems
-
-   When you check in the file `kotest' the keywords are expanded.  (Try
-the above example, and do a `cat kotest' after every command).  The `cvs
-admin -kb' command sets the default keyword substitution method for
-this file, but it does not alter the working copy of the file that you
-have.  The easiest way to get the unexpanded version of `kotest' is
-`cvs update -A'.  If you need to cope with line endings (that is, you
-are using a CVS client on a non-unix system), then you need to check in
-a new copy of the file, as shown by the `cvs commit' command above.
-
-   However, in using `cvs admin -k' to change the keyword expansion, be
-aware that the keyword expansion mode is not version controlled.  This
-means that, for example, that if you have a text file in old releases,
-and a binary file with the same name in new releases, CVS provides no
-way to check out the file in text or binary mode depending on what
-version you are checking out.  There is no good workaround for this
-problem.
-
-   You can also set a default for whether `cvs add' and `cvs import'
-treat a file as binary based on its name; for example you could say
-that files who names end in `.exe' are binary.  *Note Wrappers::.
-
-Revision management
-*******************
-
-   If you have read this far, you probably have a pretty good grasp on
-what CVS can do for you.  This chapter talks a little about things that
-you still have to decide.
-
-   If you are doing development on your own using CVS you could
-probably skip this chapter.  The questions this chapter takes up become
-more important when more than one person is working in a repository.
-
-When to commit?
-===============
-
-   Your group should decide which policy to use regarding commits.
-Several policies are possible, and as your experience with CVS grows
-you will probably find out what works for you.
-
-   If you commit files too quickly you might commit files that do not
-even compile.  If your partner updates his working sources to include
-your buggy file, he will be unable to compile the code.  On the other
-hand, other persons will not be able to benefit from the improvements
-you make to the code if you commit very seldom, and conflicts will
-probably be more common.
-
-   It is common to only commit files after making sure that they can be
-compiled.  Some sites require that the files pass a test suite.
-Policies like this can be enforced using the commitinfo file (*note
-commitinfo::.), but you should think twice before you enforce such a
-convention.  By making the development environment too controlled it
-might become too regimented and thus counter-productive to the real
-goal, which is to get software written.
-
-Reference manual for CVS commands
-*********************************
-
-   This appendix describes how to invoke CVS, and describes in detail
-those subcommands of CVS which are not fully described elsewhere.  To
-look up a particular subcommand, see *Note Index::.
-
-Overall structure of CVS commands
-=================================
-
-   The overall format of all CVS commands is:
-
-     cvs [ cvs_options ] cvs_command [ command_options ] [ command_args ]
-
-`cvs'
-     The name of the CVS program.
-
-`cvs_options'
-     Some options that affect all sub-commands of CVS.  These are
-     described below.
-
-`cvs_command'
-     One of several different sub-commands.  Some of the commands have
-     aliases that can be used instead; those aliases are noted in the
-     reference manual for that command.  There are only two situations
-     where you may omit `cvs_command': `cvs -H' elicits a list of
-     available commands, and `cvs -v' displays version information on
-     CVS itself.
-
-`command_options'
-     Options that are specific for the command.
-
-`command_args'
-     Arguments to the commands.
-
-   There is unfortunately some confusion between `cvs_options' and
-`command_options'.  `-l', when given as a `cvs_option', only affects
-some of the commands.  When it is given as a `command_option' is has a
-different meaning, and is accepted by more commands.  In other words,
-do not take the above categorization too seriously.  Look at the
-documentation instead.
-
-Default options and the ~/.cvsrc file
-=====================================
-
-   There are some `command_options' that are used so often that you
-might have set up an alias or some other means to make sure you always
-specify that option.  One example (the one that drove the
-implementation of the .cvsrc support, actually) is that many people
-find the default output of the `diff' command to be very hard to read,
-and that either context diffs or unidiffs are much easier to understand.
-
-   The `~/.cvsrc' file is a way that you can add default options to
-`cvs_commands' within cvs, instead of relying on aliases or other shell
-scripts.
-
-   The format of the `~/.cvsrc' file is simple.  The file is searched
-for a line that begins with the same name as the `cvs_command' being
-executed.  If a match is found, then the remainder of the line is split
-up (at whitespace characters) into separate options and added to the
-command arguments *before* any options from the command line.
-
-   If a command has two names (e.g., `checkout' and `co'), the official
-name, not necessarily the one used on the command line, will be used to
-match against the file.  So if this is the contents of the user's
-`~/.cvsrc' file:
-
-     log -N
-     diff -u
-     update -P
-     co -P
-
-the command `cvs checkout foo' would have the `-P' option added to the
-arguments, as well as `cvs co foo'.
-
-   With the example file above, the output from `cvs diff foobar' will
-be in unidiff format.  `cvs diff -c foobar' will provide context diffs,
-as usual.  Getting "old" format diffs would be slightly more
-complicated, because `diff' doesn't have an option to specify use of
-the "old" format, so you would need `cvs -f diff foobar'.
-
-   In place of the command name you can use `cvs' to specify global
-options (*note Global options::.).  For example the following line in
-`.cvsrc'
-
-     cvs -z6
-
-   causes CVS to use compression level 6
-
-Global options
-==============
-
-   The available `cvs_options' (that are given to the left of
-`cvs_command') are:
-
-`-b BINDIR'
-     Use BINDIR as the directory where RCS programs are located.
-     Overrides the setting of the `$RCSBIN' environment variable and
-     any precompiled directory.  This parameter should be specified as
-     an absolute pathname.
-
-`-T TEMPDIR'
-     Use TEMPDIR as the directory where temporary files are located.
-     Overrides the setting of the `$TMPDIR' environment variable and
-     any precompiled directory.  This parameter should be specified as
-     an absolute pathname.
-
-`-d CVS_ROOT_DIRECTORY'
-     Use CVS_ROOT_DIRECTORY as the root directory pathname of the
-     repository.  Overrides the setting of the `$CVSROOT' environment
-     variable.  *Note Repository::.
-
-`-e EDITOR'
-     Use EDITOR to enter revision log information.  Overrides the
-     setting of the `$CVSEDITOR' and `$EDITOR' environment variables.
-
-`-f'
-     Do not read the `~/.cvsrc' file.  This option is most often used
-     because of the non-orthogonality of the CVS option set.  For
-     example, the `cvs log' option `-N' (turn off display of tag names)
-     does not have a corresponding option to turn the display on.  So
-     if you have `-N' in the `~/.cvsrc' entry for `log', you may need
-     to use `-f' to show the tag names.
-
-`-H'
-     Display usage information about the specified `cvs_command' (but
-     do not actually execute the command).  If you don't specify a
-     command name, `cvs -H' displays a summary of all the commands
-     available.
-
-`-l'
-     Do not log the cvs_command in the command history (but execute it
-     anyway).  *Note history::, for information on command history.
-
-`-n'
-     Do not change any files.  Attempt to execute the `cvs_command',
-     but only to issue reports; do not remove, update, or merge any
-     existing files, or create any new files.
-
-`-Q'
-     Cause the command to be really quiet; the command will only
-     generate output for serious problems.
-
-`-q'
-     Cause the command to be somewhat quiet; informational messages,
-     such as reports of recursion through subdirectories, are
-     suppressed.
-
-`-r'
-     Make new working files files read-only.  Same effect as if the
-     `$CVSREAD' environment variable is set (*note Environment
-     variables::.).  The default is to make working files writable,
-     unless watches are on (*note Watches::.).
-
-`-s VARIABLE=VALUE'
-     Set a user variable (*note Variables::.).
-
-`-t'
-     Trace program execution; display messages showing the steps of CVS
-     activity.  Particularly useful with `-n' to explore the potential
-     impact of an unfamiliar command.
-
-`-v'
-     Display version and copyright information for CVS.
-
-`-w'
-     Make new working files read-write.  Overrides the setting of the
-     `$CVSREAD' environment variable.  Files are created read-write by
-     default, unless `$CVSREAD' is set or `-r' is given.
-
-`-x'
-     Encrypt all communication between the client and the server.  Only
-     has an effect on the CVS client.  As of this writing, this is only
-     implemented when using a Kerberos connection (*note Kerberos
-     authenticated::.).  Encryption support is not available by
-     default; it must be enabled using a special configure option,
-     `--enable-encryption', when you build CVS.
-
-`-z GZIP-LEVEL'
-     Set the compression level.  Only has an effect on the CVS client.
-
-Common command options
-======================
-
-   This section describes the `command_options' that are available
-across several CVS commands.  These options are always given to the
-right of `cvs_command'. Not all commands support all of these options;
-each option is only supported for commands where it makes sense.
-However, when a command has one of these options you can almost always
-count on the same behavior of the option as in other commands.  (Other
-command options, which are listed with the individual commands, may have
-different behavior from one CVS command to the other).
-
-   *Warning:* the `history' command is an exception; it supports many
-options that conflict even with these standard options.
-
-`-D DATE_SPEC'
-     Use the most recent revision no later than DATE_SPEC.  DATE_SPEC
-     is a single argument, a date description specifying a date in the
-     past.
-
-     The specification is "sticky" when you use it to make a private
-     copy of a source file; that is, when you get a working file using
-     `-D', CVS records the date you specified, so that further updates
-     in the same directory will use the same date (for more information
-     on sticky tags/dates, *note Sticky tags::.).
-
-     A wide variety of date formats are supported by CVS.  The
-     DATE_SPEC is interpreted as being in the local timezone, unless a
-     specific timezone is specified.  Examples of valid date
-     specifications include:
-
-                              1 month ago
-                              2 hours ago
-                              400000 seconds ago
-                              last year
-                              last Monday
-                              yesterday
-                              a fortnight ago
-                              3/31/92 10:00:07 PST
-                              January 23, 1987 10:05pm
-                              22:00 GMT
-
-     `-D' is available with the `checkout', `diff', `export', `history',
-     `rdiff', `rtag', and `update' commands.  (The `history' command
-     uses this option in a slightly different way; *note history
-     options::.).  Note that when specifying a date like `3/31/92' it is
-     `MONTH/DAY/YEAR'.  So `1/4/96' is January 4, not March 1.
-
-     Remember to quote the argument to the `-D' flag so that your shell
-     doesn't interpret spaces as argument separators.  A command using
-     the `-D' flag can look like this:
-
-          $ cvs diff -D "1 hour ago" cvs.texinfo
-
-`-f'
-     When you specify a particular date or tag to CVS commands, they
-     normally ignore files that do not contain the tag (or did not
-     exist prior to the date) that you specified.  Use the `-f' option
-     if you want files retrieved even when there is no match for the
-     tag or date.  (The most recent revision of the file will be used).
-
-     `-f' is available with these commands: `checkout', `export',
-     `rdiff', `rtag', and `update'.
-
-     *Warning:*  The `commit' command also has a `-f' option, but it
-     has a different behavior for that command.  *Note commit options::.
-
-`-H'
-     Help; describe the options available for this command.  This is
-     the only option supported for all CVS commands.
-
-`-k KFLAG'
-     Alter the default RCS processing of keywords.  *Note Keyword
-     substitution::, for the meaning of KFLAG.  Your KFLAG
-     specification is "sticky" when you use it to create a private copy
-     of a source file; that is, when you use this option with the
-     `checkout' or `update' commands, CVS associates your selected
-     KFLAG with the file, and continues to use it with future update
-     commands on the same file until you specify otherwise.
-
-     The `-k' option is available with the `add', `checkout', `diff' and
-     `update' commands.
-
-`-l'
-     Local; run only in current working directory, rather than
-     recursing through subdirectories.
-
-     *Warning:* this is not the same as the overall `cvs -l' option,
-     which you can specify to the left of a cvs command!
-
-     Available with the following commands: `checkout', `commit',
-     `diff', `export', `log', `remove', `rdiff', `rtag', `status',
-     `tag', and `update'.
-
-`-m MESSAGE'
-     Use MESSAGE as log information, instead of invoking an editor.
-
-     Available with the following commands: `add', `commit' and
-     `import'.
-
-`-n'
-     Do not run any checkout/commit/tag program.  (A program can be
-     specified to run on each of these activities, in the modules
-     database (*note modules::.); this option bypasses it).
-
-     *Warning:* this is not the same as the overall `cvs -n' option,
-     which you can specify to the left of a cvs command!
-
-     Available with the `checkout', `commit', `export', and `rtag'
-     commands.
-
-`-P'
-     Prune (remove) directories that are empty after being updated, on
-     `checkout', or `update'.  Normally, an empty directory (one that
-     is void of revision-controlled files) is left alone.  Specifying
-     `-P' will cause these directories to be silently removed from your
-     checked-out sources.  This does not remove the directory from the
-     repository, only from your checked out copy.  Note that this
-     option is implied by the `-r' or `-D' options of `checkout' and
-     `export'.
-
-`-p'
-     Pipe the files retrieved from the repository to standard output,
-     rather than writing them in the current directory.  Available with
-     the `checkout' and `update' commands.
-
-`-W'
-     Specify file names that should be filtered.  You can use this
-     option repeatedly.  The spec can be a file name pattern of the
-     same type that you can specify in the `.cvswrappers' file.
-     Avaliable with the following commands: `import', and `update'.
-
-`-r TAG'
-     Use the revision specified by the TAG argument instead of the
-     default "head" revision.  As well as arbitrary tags defined with
-     the `tag' or `rtag' command, two special tags are always
-     available: `HEAD' refers to the most recent version available in
-     the repository, and `BASE' refers to the revision you last checked
-     out into the current working directory.
-
-     The tag specification is sticky when you use this with `checkout'
-     or `update' to make your own copy of a file: CVS remembers the tag
-     and continues to use it on future update commands, until you
-     specify otherwise (for more information on sticky tags/dates,
-     *note Sticky tags::.).  The tag can be either a symbolic or
-     numeric tag.  *Note Tags::.
-
-     Specifying the `-q' global option along with the `-r' command
-     option is often useful, to suppress the warning messages when the
-     RCS history file does not contain the specified tag.
-
-     *Warning:* this is not the same as the overall `cvs -r' option,
-     which you can specify to the left of a cvs command!
-
-     `-r' is available with the `checkout', `commit', `diff',
-     `history', `export', `rdiff', `rtag', and `update' commands.
-
-admin--Administration front end for rcs
-=======================================
-
-   * Requires: repository, working directory.
-
-   * Changes: repository.
-
-   * Synonym: rcs
-
-   This is the CVS interface to assorted administrative RCS facilities,
-documented in rcs(1).  `admin' simply passes all its options and
-arguments to the `rcs' command; it does no filtering or other
-processing.  This command *does* work recursively, however, so extreme
-care should be used.
-
-   If there is a group whose name matches a compiled in value which
-defaults to `cvsadmin', only members of that group can use `cvs admin'.
-To disallow `cvs admin' for all users, create a group with no users in
-it.
-
-admin options
--------------
-
-   Not all valid `rcs' options are useful together with CVS.  Some even
-makes it impossible to use CVS until you undo the effect!
-
-   This description of the available options is based on the `rcs(1)'
-man page, but modified to suit readers that are more interrested in CVS
-than RCS.
-
-`-AOLDFILE'
-     Might not work together with CVS.  Append the access list of
-     OLDFILE to the access list of the RCS file.
-
-`-aLOGINS'
-     Might not work together with CVS.  Append the login names
-     appearing in the comma-separated list LOGINS to the access list of
-     the RCS file.
-
-`-b[REV]'
-     When used with bare RCS, this option sets the default branch to
-     REV; in CVS sticky tags (*note Sticky tags::.) are a better way to
-     decide which branch you want to work on.  With CVS, this option
-     can be used to control behavior with respect to the vendor branch.
-
-`-cSTRING'
-     Useful with CVS.  Sets the comment leader to STRING.  The comment
-     leader is printed before every log message line generated by the
-     keyword `$Log: cvs.txt,v $
-     keyword `Revision 1.2  2009/06/08 20:47:05  ward
-     keyword `changes that were lost from the CVS tree due to the savannah 
crash of 2009/05/29
-     keyword `
-     keyword `Revision 1.1  2003/11/07 20:55:33  sinuhe
-     keyword `Add manual.
-     keyword `' (*note Keyword substitution::.).  This is useful
-     for programming languages without multi-line comments.  RCS
-     initially guesses the value of the comment leader from the file
-     name extension when the file is first committed.
-
-`-e[LOGINS]'
-     Might not work together with CVS.  Erase the login names appearing
-     in the comma-separated list LOGINS from the access list of the RCS
-     file.  If LOGINS is omitted, erase the entire access list.
-
-`-I'
-     Run interactively, even if the standard input is not a terminal.
-
-`-i'
-     Useless with CVS.  When using bare RCS, this is used to create and
-     initialize a new RCS file, without depositing a revision.
-
-`-kSUBST'
-     Useful with CVS.  Set the default keyword substitution to SUBST.
-     *Note Keyword substitution::.  Giving an explicit `-k' option to
-     `cvs update', `cvs export', or `cvs checkout' overrides this
-     default.
-
-`-l[REV]'
-     Lock the revision with number REV.  If a branch is given, lock the
-     latest revision on that branch.  If REV is omitted, lock the
-     latest revision on the default branch.
-
-     This can be used in conjunction with the `rcslock.pl' script in
-     the `contrib' directory of the CVS source distribution to provide
-     reserved checkouts (where only one user can be editing a given
-     file at a time).  See the comments in that file for details (and
-     see the `README' file in that directory for disclaimers about the
-     unsupported nature of contrib).  According to comments in that
-     file, locking must set to strict (which is the default).
-
-`-L'
-     Set locking to strict.  Strict locking means that the owner of an
-     RCS file is not exempt from locking for checkin.  For use with
-     CVS, strict locking must be set; see the discussion under the `-l'
-     option above.
-
-`-mREV:MSG'
-     Replace the log message of revision REV with MSG.
-
-`-NNAME[:[REV]]'
-     Act like `-n', except override any previous assignment of NAME.
-
-`-nNAME[:[REV]]'
-     Associate the symbolic name NAME with the branch or revision REV.
-     It is normally better to use `cvs tag' or `cvs rtag' instead.
-     Delete the symbolic name if both `:' and REV are omitted;
-     otherwise, print an error message if NAME is already associated
-     with another number.  If REV is symbolic, it is expanded before
-     association.  A REV consisting of a branch number followed by a
-     `.' stands for the current latest revision in the branch.  A `:'
-     with an empty REV stands for the current latest revision on the
-     default branch, normally the trunk.  For example, `rcs -nNAME:
-     RCS/*' associates NAME with the current latest revision of all the
-     named RCS files; this contrasts with `rcs -nNAME:$ RCS/*' which
-     associates NAME with the revision numbers extracted from keyword
-     strings in the corresponding working files.
-
-`-oRANGE'
-     Potentially useful, but dangerous, with CVS (see below).  Deletes
-     ("outdates") the revisions given by RANGE.  A range consisting of
-     a single revision number means that revision.  A range consisting
-     of a branch number means the latest revision on that branch.  A
-     range of the form `REV1:REV2' means revisions REV1 to REV2 on the
-     same branch, `:REV' means from the beginning of the branch
-     containing REV up to and including REV, and `REV:' means from
-     revision REV to the end of the branch containing REV.  None of the
-     outdated revisions may have branches or locks.
-
-     Due to the way CVS handles branches REV cannot be specified
-     symbolically if it is a branch.  *Note Magic branch numbers::, for
-     an explanation.
-
-     Make sure that no-one has checked out a copy of the revision you
-     outdate.  Strange things will happen if he starts to edit it and
-     tries to check it back in.  For this reason, this option is not a
-     good way to take back a bogus commit; commit a new revision
-     undoing the bogus change instead (*note Merging two revisions::.).
-
-`-q'
-     Run quietly; do not print diagnostics.
-
-`-sSTATE[:REV]'
-     Useful with CVS.  Set the state attribute of the revision REV to
-     STATE.  If REV is a branch number, assume the latest revision on
-     that branch.  If REV is omitted, assume the latest revision on the
-     default branch.  Any identifier is acceptable for STATE.  A useful
-     set of states is `Exp' (for experimental), `Stab' (for stable),
-     and `Rel' (for released).  By default, the state of a new revision
-     is set to `Exp' when it is created.  The state is visible in the
-     output from CVS LOG (*note log::.), and in the `$Log: cvs.txt,v $
-     output from CVS LOG (*note log::.), and in the `Revision 1.1  2003/11/07 
20:55:33  sinuhe
-     output from CVS LOG (*note log::.), and in the `Add manual.
-     output from CVS LOG (*note log::.), and in the `' and
-     `$State: Exp $' keywords (*note Keyword substitution::.).  Note that CVS
-     uses the `dead' state for its own purposes; to take a file to or
-     from the `dead' state use commands like `cvs remove' and `cvs
-     add', not `cvs admin -s'.
-
-`-t[FILE]'
-     Useful with CVS.  Write descriptive text from the contents of the
-     named FILE into the RCS file, deleting the existing text.  The
-     FILE pathname may not begin with `-'.  If FILE is omitted, obtain
-     the text from standard input, terminated by end-of-file or by a
-     line containing `.' by itself.  Prompt for the text if interaction
-     is possible; see `-I'.  The descriptive text can be seen in the
-     output from `cvs log' (*note log::.).
-
-`-t-STRING'
-     Similar to `-tFILE'. Write descriptive text from the STRING into
-     the RCS file, deleting the existing text.
-
-`-U'
-     Set locking to non-strict.  Non-strict locking means that the
-     owner of a file need not lock a revision for checkin.  For use
-     with CVS, strict locking must be set; see the discussion under the
-     `-l' option above.
-
-`-u[REV]'
-     See the option `-l' above, for a discussion of using this option
-     with CVS.  Unlock the revision with number REV.  If a branch is
-     given, unlock the latest revision on that branch.  If REV is
-     omitted, remove the latest lock held by the caller.  Normally,
-     only the locker of a revision may unlock it.  Somebody else
-     unlocking a revision breaks the lock.  This causes a mail message
-     to be sent to the original locker.  The message contains a
-     commentary solicited from the breaker.  The commentary is
-     terminated by end-of-file or by a line containing `.' by itself.
-
-`-VN'
-     Emulate RCS version N. Use -VN to make an RCS file acceptable to
-     RCS version N by discarding information that would confuse version
-     N.
-
-`-xSUFFIXES'
-     Useless with CVS. Use SUFFIXES to characterize RCS files.
-
-admin examples
---------------
-
-Outdating is dangerous
-......................
-
-   First, an example of how *not* to use the `admin' command.  It is
-included to stress the fact that this command can be quite dangerous
-unless you know *exactly* what you are doing.
-
-   The `-o' option can be used to "outdate" old revisions from the
-history file.  If you are short on disc this option might help you.
-But think twice before using it--there is no way short of restoring the
-latest backup to undo this command!
-
-   The next line is an example of a command that you would *not* like
-to execute.
-
-     $ cvs admin -o:R_1_02 .
-
-   The above command will delete all revisions up to, and including,
-the revision that corresponds to the tag R_1_02.  But beware!  If there
-are files that have not changed between R_1_02 and R_1_03 the file will
-have *the same* numerical revision number assigned to the tags R_1_02
-and R_1_03.  So not only will it be impossible to retrieve R_1_02;
-R_1_03 will also have to be restored from the tapes!
-
-Comment leaders
-...............
-
-   If you use the `$Log: cvs.txt,v $
-   If you use the `Revision 1.2  2009/06/08 20:47:05  ward
-   If you use the `changes that were lost from the CVS tree due to the 
savannah crash of 2009/05/29
-   If you use the `
-   If you use the `Revision 1.1  2003/11/07 20:55:33  sinuhe
-   If you use the `Add manual.
-   If you use the `' keyword and you do not agree with the guess
-for comment leader that CVS has done, you can enforce your will with
-`cvs admin -c'.  This might be suitable for `nroff' source:
-
-     $ cvs admin -c'.\" ' *.man
-     $ rm *.man
-     $ cvs update
-
-   The two last steps are to make sure that you get the versions with
-correct comment leaders in your working files.
-
-checkout--Check out sources for editing
-=======================================
-
-   * Synopsis: checkout [options] modules...
-
-   * Requires: repository.
-
-   * Changes: working directory.
-
-   * Synonyms: co, get
-
-   Make a working directory containing copies of the source files
-specified by MODULES.  You must execute `checkout' before using most of
-the other CVS commands, since most of them operate on your working
-directory.
-
-   The MODULES part of the command are either symbolic names for some
-collection of source directories and files, or paths to directories or
-files in the repository.  The symbolic names are defined in the
-`modules' file.  *Note modules::.
-
-   Depending on the modules you specify, `checkout' may recursively
-create directories and populate them with the appropriate source files.
-You can then edit these source files at any time (regardless of
-whether other software developers are editing their own copies of the
-sources); update them to include new changes applied by others to the
-source repository; or commit your work as a permanent change to the
-source repository.
-
-   Note that `checkout' is used to create directories.  The top-level
-directory created is always added to the directory where `checkout' is
-invoked, and usually has the same name as the specified module.  In the
-case of a module alias, the created sub-directory may have a different
-name, but you can be sure that it will be a sub-directory, and that
-`checkout' will show the relative path leading to each file as it is
-extracted into your private work area (unless you specify the `-Q'
-global option).
-
-   The files created by `checkout' are created read-write, unless the
-`-r' option to CVS (*note Global options::.) is specified, the
-`CVSREAD' environment variable is specified (*note Environment
-variables::.), or a watch is in effect for that file (*note Watches::.).
-
-   Running `checkout' on a directory that was already built by a prior
-`checkout' is also permitted, and has the same effect as specifying the
-`-d' option to the `update' command, that is, any new directories that
-have been created in the repository will appear in your work area.
-*Note update::.
-
-   For the output produced by the `checkout' command see *Note update
-output::.
-
-checkout options
-----------------
-
-   These standard options are supported by `checkout' (*note Common
-options::., for a complete description of them):
-
-`-D DATE'
-     Use the most recent revision no later than DATE.  This option is
-     sticky, and implies `-P'.  See *Note Sticky tags::, for more
-     information on sticky tags/dates.
-
-`-f'
-     Only useful with the `-D DATE' or `-r TAG' flags.  If no matching
-     revision is found, retrieve the most recent revision (instead of
-     ignoring the file).
-
-`-k KFLAG'
-     Process RCS keywords according to KFLAG.  See co(1).  This option
-     is sticky; future updates of this file in this working directory
-     will use the same KFLAG.  The `status' command can be viewed to
-     see the sticky options.  *Note status::.
-
-`-l'
-     Local; run only in current working directory.
-
-`-n'
-     Do not run any checkout program (as specified with the `-o' option
-     in the modules file; *note modules::.).
-
-`-P'
-     Prune empty directories.
-
-`-p'
-     Pipe files to the standard output.
-
-`-r TAG'
-     Use revision TAG.  This option is sticky, and implies `-P'.  See
-     *Note Sticky tags::, for more information on sticky tags/dates.
-
-   In addition to those, you can use these special command options with
-`checkout':
-
-`-A'
-     Reset any sticky tags, dates, or `-k' options.  See *Note Sticky
-     tags::, for more information on sticky tags/dates.
-
-`-c'
-     Copy the module file, sorted, to the standard output, instead of
-     creating or modifying any files or directories in your working
-     directory.
-
-`-d DIR'
-     Create a directory called DIR for the working files, instead of
-     using the module name.  Unless you also use `-N', the paths
-     created under DIR will be as short as possible.
-
-`-j TAG'
-     With two `-j' options, merge changes from the revision specified
-     with the first `-j' option to the revision specified with the
-     second `j' option, into the working directory.
-
-     With one `-j' option, merge changes from the ancestor revision to
-     the revision specified with the `-j' option, into the working
-     directory.  The ancestor revision is the common ancestor of the
-     revision which the working directory is based on, and the revision
-     specified in the `-j' option.
-
-     In addition, each -j option can contain an optional date
-     specification which, when used with branches, can limit the chosen
-     revision to one within a specific date.  An optional date is
-     specified by adding a colon (:) to the tag:
-     `-jSYMBOLIC_TAG:DATE_SPECIFIER'.
-
-     *Note Merging::.
-
-`-N'
-     Only useful together with `-d DIR'.  With this option, CVS will
-     not shorten module paths in your working directory.  (Normally,
-     CVS shortens paths as much as possible when you specify an
-     explicit target directory).
-
-`-s'
-     Like `-c', but include the status of all modules, and sort it by
-     the status string.  *Note modules::, for info about the `-s'
-     option that is used inside the modules file to set the module
-     status.
-
-checkout examples
------------------
-
-   Get a copy of the module `tc':
-
-     $ cvs checkout tc
-
-   Get a copy of the module `tc' as it looked one day ago:
-
-     $ cvs checkout -D yesterday tc
-
-commit--Check files into the repository
-=======================================
-
-   * Version 1.3 Synopsis: commit [-lnR] [-m 'log_message' | -f file]
-     [-r revision] [files...]
-
-   * Version 1.3.1 Synopsis: commit [-lnRf] [-m 'log_message' | -F
-     file] [-r revision] [files...]
-
-   * Requires: working directory, repository.
-
-   * Changes: repository.
-
-   * Synonym: ci
-
-   *Warning:* The `-f FILE' option will probably be renamed to `-F
-FILE', and `-f' will be given a new behavior in future releases of CVS.
-
-   Use `commit' when you want to incorporate changes from your working
-source files into the source repository.
-
-   If you don't specify particular files to commit, all of the files in
-your working current directory are examined.  `commit' is careful to
-change in the repository only those files that you have really changed.
-By default (or if you explicitly specify the `-R' option), files in
-subdirectories are also examined and committed if they have changed;
-you can use the `-l' option to limit `commit' to the current directory
-only.
-
-   `commit' verifies that the selected files are up to date with the
-current revisions in the source repository; it will notify you, and
-exit without committing, if any of the specified files must be made
-current first with `update' (*note update::.).  `commit' does not call
-the `update' command for you, but rather leaves that for you to do when
-the time is right.
-
-   When all is well, an editor is invoked to allow you to enter a log
-message that will be written to one or more logging programs (*note
-modules::., and *note loginfo::.)  and placed in the RCS history file
-inside the repository.  This log message can be retrieved with the
-`log' command; *Note log::.  You can specify the log message on the
-command line with the `-m MESSAGE' option, and thus avoid the editor
-invocation, or use the `-f FILE' option to specify that the argument
-file contains the log message.
-
-commit options
---------------
-
-   These standard options are supported by `commit' (*note Common
-options::., for a complete description of them):
-
-`-l'
-     Local; run only in current working directory.
-
-`-n'
-     Do not run any module program.
-
-`-R'
-     Commit directories recursively.  This is on by default.
-
-`-r REVISION'
-     Commit to REVISION.  REVISION must be either a branch, or a
-     revision on the main trunk that is higher than any existing
-     revision number.  You cannot commit to a specific revision on a
-     branch.
-
-   `commit' also supports these options:
-
-`-F FILE'
-     This option is present in CVS releases 1.3-s3 and later.  Read the
-     log message from FILE, instead of invoking an editor.
-
-`-f'
-     This option is present in CVS 1.3-s3 and later releases of CVS.
-     Note that this is not the standard behavior of the `-f' option as
-     defined in *Note Common options::.
-
-     Force CVS to commit a new revision even if you haven't made any
-     changes to the file.  If the current revision of FILE is 1.7, then
-     the following two commands are equivalent:
-
-          $ cvs commit -f FILE
-          $ cvs commit -r 1.8 FILE
-
-`-f FILE'
-     This option is present in CVS releases 1.3, 1.3-s1 and 1.3-s2.
-     Note that this is not the standard behavior of the `-f' option as
-     defined in *Note Common options::.
-
-     Read the log message from FILE, instead of invoking an editor.
-
-`-m MESSAGE'
-     Use MESSAGE as the log message, instead of invoking an editor.
-
-commit examples
----------------
-
-New major release number
-........................
-
-   When you make a major release of your product, you might want the
-revision numbers to track your major release number.  You should
-normally not care about the revision numbers, but this is a thing that
-many people want to do, and it can be done without doing any harm.
-
-   To bring all your files up to the RCS revision 3.0 (including those
-that haven't changed), you might do:
-
-     $ cvs commit -r 3.0
-
-   Note that it is generally a bad idea to try to make the RCS revision
-number equal to the current release number of your product.  You should
-think of the revision number as an internal number that the CVS package
-maintains, and that you generally never need to care much about.  Using
-the `tag' and `rtag' commands you can give symbolic names to the
-releases instead.  *Note tag:: and *Note rtag::.
-
-   Note that the number you specify with `-r' must be larger than any
-existing revision number.  That is, if revision 3.0 exists, you cannot
-`cvs commit -r 1.3'.
-
-Committing to a branch
-......................
-
-   You can commit to a branch revision (one that has an even number of
-dots) with the `-r' option.  To create a branch revision, use the `-b'
-option of the `rtag' or `tag' commands (*note tag::.  or *note
-rtag::.).  Then, either `checkout' or `update' can be used to base your
-sources on the newly created branch.  From that point on, all `commit'
-changes made within these working sources will be automatically added
-to a branch revision, thereby not disturbing main-line development in
-any way.  For example, if you had to create a patch to the 1.2 version
-of the product, even though the 2.0 version is already under
-development, you might do:
-
-     $ cvs rtag -b -r FCS1_2 FCS1_2_Patch product_module
-     $ cvs checkout -r FCS1_2_Patch product_module
-     $ cd product_module
-     [[ hack away ]]
-     $ cvs commit
-
-This works automatically since the `-r' option is sticky.
-
-Creating the branch after editing
-.................................
-
-   Say you have been working on some extremely experimental software,
-based on whatever revision you happened to checkout last week.  If
-others in your group would like to work on this software with you, but
-without disturbing main-line development, you could commit your change
-to a new branch.  Others can then checkout your experimental stuff and
-utilize the full benefit of CVS conflict resolution.  The scenario might
-look like:
-
-     [[ hacked sources are present ]]
-     $ cvs tag -b EXPR1
-     $ cvs update -r EXPR1
-     $ cvs commit
-
-   The `update' command will make the `-r EXPR1' option sticky on all
-files.  Note that your changes to the files will never be removed by the
-`update' command.  The `commit' will automatically commit to the
-correct branch, because the `-r' is sticky.  You could also do like
-this:
-
-     [[ hacked sources are present ]]
-     $ cvs tag -b EXPR1
-     $ cvs commit -r EXPR1
-
-but then, only those files that were changed by you will have the `-r
-EXPR1' sticky flag.  If you hack away, and commit without specifying
-the `-r EXPR1' flag, some files may accidentally end up on the main
-trunk.
-
-   To work with you on the experimental change, others would simply do
-
-     $ cvs checkout -r EXPR1 whatever_module
-
-diff--Run diffs between revisions
-=================================
-
-   * Synopsis: diff [-l] [rcsdiff_options] [[-r rev1 | -D date1] [-r
-     rev2 |  -D date2]] [files...]
-
-   * Requires: working directory, repository.
-
-   * Changes: nothing.
-
-   The `diff' command is used to compare different revisions of files.
-The default action is to compare your working files with the revisions
-they were based on, and report any differences that are found.
-
-   If any file names are given, only those files are compared.  If any
-directories are given, all files under them will be compared.
-
-   The exit status will be 0 if no differences were found, 1 if some
-differences were found, and 2 if any error occurred.
-
-diff options
-------------
-
-   These standard options are supported by `diff' (*note Common
-options::., for a complete description of them):
-
-`-D DATE'
-     Use the most recent revision no later than DATE.  See `-r' for how
-     this affects the comparison.
-
-     CVS can be configured to pass the `-D' option through to `rcsdiff'
-     (which in turn passes it on to `diff'.  GNU diff uses `-D' as a
-     way to put `cpp'-style `#define' statements around the output
-     differences.  There is no way short of testing to figure out how
-     CVS was configured.  In the default configuration CVS will use the
-     `-D DATE' option.
-
-`-k KFLAG'
-     Process RCS keywords according to KFLAG.  See co(1).
-
-`-l'
-     Local; run only in current working directory.
-
-`-R'
-     Examine directories recursively.  This option is on by default.
-
-`-r TAG'
-     Compare with revision TAG.  Zero, one or two `-r' options can be
-     present.  With no `-r' option, the working file will be compared
-     with the revision it was based on.  With one `-r', that revision
-     will be compared to your current working file.  With two `-r'
-     options those two revisions will be compared (and your working
-     file will not affect the outcome in any way).
-
-     One or both `-r' options can be replaced by a `-D DATE' option,
-     described above.
-
-   Any other options that are found are passed through to `rcsdiff',
-which in turn passes them to `diff'.  The exact meaning of the options
-depends on which `diff' you are using.  The long options introduced in
-GNU diff 2.0 are not yet supported in CVS.  See the documentation for
-your `diff' to see which options are supported.
-
-diff examples
--------------
-
-   The following line produces a Unidiff (`-u' flag) between revision
-1.14 and 1.19 of `backend.c'.  Due to the `-kk' flag no keywords are
-substituted, so differences that only depend on keyword substitution
-are ignored.
-
-     $ cvs diff -kk -u -r 1.14 -r 1.19 backend.c
-
-   Suppose the experimental branch EXPR1 was based on a set of files
-tagged RELEASE_1_0.  To see what has happened on that branch, the
-following can be used:
-
-     $ cvs diff -r RELEASE_1_0 -r EXPR1
-
-   A command like this can be used to produce a context diff between
-two releases:
-
-     $ cvs diff -c -r RELEASE_1_0 -r RELEASE_1_1 > diffs
-
-   If you are maintaining ChangeLogs, a command like the following just
-before you commit your changes may help you write the ChangeLog entry.
-All local modifications that have not yet been committed will be
-printed.
-
-     $ cvs diff -u | less
-
-export--Export sources from CVS, similar to checkout
-====================================================
-
-   * Synopsis: export [-flNn] [-r rev|-D date] [-k subst] [-d dir]
-     module...
-
-   * Requires: repository.
-
-   * Changes: current directory.
-
-   This command is a variant of `checkout'; use it when you want a copy
-of the source for module without the CVS administrative directories.
-For example, you might use `export' to prepare source for shipment
-off-site.  This command requires that you specify a date or tag (with
-`-D' or `-r'), so that you can count on reproducing the source you ship
-to others.
-
-   One often would like to use `-kv' with `cvs export'.  This causes
-any RCS keywords to be expanded such that an import done at some other
-site will not lose the keyword revision information.  But be aware that
-doesn't handle an export containing binary files correctly.  Also be
-aware that after having used `-kv', one can no longer use the `ident'
-command (which is part of the RCS suite--see ident(1)) which looks for
-RCS keyword strings.  If you want to be able to use `ident' you must not
-use `-kv'.
-
-export options
---------------
-
-   These standard options are supported by `export' (*note Common
-options::., for a complete description of them):
-
-`-D DATE'
-     Use the most recent revision no later than DATE.
-
-`-f'
-     If no matching revision is found, retrieve the most recent
-     revision (instead of ignoring the file).
-
-`-l'
-     Local; run only in current working directory.
-
-`-n'
-     Do not run any checkout program.
-
-`-R'
-     Export directories recursively.  This is on by default.
-
-`-r TAG'
-     Use revision TAG.
-
-   In addition, these options (that are common to `checkout' and
-`export') are also supported:
-
-`-d DIR'
-     Create a directory called DIR for the working files, instead of
-     using the module name.  Unless you also use `-N', the paths
-     created under DIR will be as short as possible.
-
-`-k SUBST'
-     Set keyword expansion mode (*note Substitution modes::.).
-
-`-N'
-     Only useful together with `-d DIR'.  With this option, CVS will
-     not shorten module paths in your working directory.  (Normally,
-     CVS shortens paths as much as possible when you specify an
-     explicit target directory.)
-
-history--Show status of files and users
-=======================================
-
-   * Synopsis:     history [-report] [-flags] [-options args] [files...]
-
-   * Requires: the file `$CVSROOT/CVSROOT/history'
-
-   * Changes: nothing.
-
-   CVS can keep a history file that tracks each use of the `checkout',
-`commit', `rtag', `update', and `release' commands.  You can use
-`history' to display this information in various formats.
-
-   Logging must be enabled by creating the file
-`$CVSROOT/CVSROOT/history'.
-
-   *Warning:* `history' uses `-f', `-l', `-n', and `-p' in ways that
-conflict with the normal use inside CVS (*note Common options::.).
-
-history options
----------------
-
-   Several options (shown above as `-report')  control  what kind of
-report is generated:
-
-`-c'
-     Report on each time commit was used (i.e., each time the
-     repository was modified).
-
-`-e'
-     Everything (all record types); equivalent to specifying
-     `-xMACFROGWUT'.
-
-`-m MODULE'
-     Report on a particular module.  (You can meaningfully use `-m'
-     more than once on the command line.)
-
-`-o'
-     Report on checked-out modules.
-
-`-T'
-     Report on all tags.
-
-`-x TYPE'
-     Extract a particular set of record types TYPE from the CVS
-     history.  The types are indicated by single letters, which you may
-     specify in combination.
-
-     Certain commands have a single record type:
-
-    `F'
-          release
-
-    `O'
-          checkout
-
-    `T'
-          rtag
-
-     One of four record types may result from an update:
-
-    `C'
-          A merge was necessary but collisions were detected (requiring
-          manual merging).
-
-    `G'
-          A merge was necessary and it succeeded.
-
-    `U'
-          A working file was copied from the repository.
-
-    `W'
-          The working copy of a file was deleted during update (because
-          it was gone from the repository).
-
-     One of three record types results from commit:
-
-    `A'
-          A file was added for the first time.
-
-    `M'
-          A file was modified.
-
-    `R'
-          A file was removed.
-
-   The options shown as `-flags' constrain or expand the report without
-requiring option arguments:
-
-`-a'
-     Show data for all users (the default is to show data only for the
-     user executing `history').
-
-`-l'
-     Show last modification only.
-
-`-w'
-     Show only the records for modifications done from the same working
-     directory where `history' is executing.
-
-   The options shown as `-options ARGS' constrain the report based on
-an argument:
-
-`-b STR'
-     Show data back to a record containing  the  string STR  in  either
-     the module name, the file name, or the repository path.
-
-`-D DATE'
-     Show data since DATE.  This is slightly different from the normal
-     use of `-D DATE', which selects the newest revision older than
-     DATE.
-
-`-p REPOSITORY'
-     Show data for a particular source repository  (you can specify
-     several `-p' options on the same command line).
-
-`-r REV'
-     Show records referring to revisions since the revision or tag
-     named REV appears in individual RCS files.  Each RCS file is
-     searched for the revision or tag.
-
-`-t TAG'
-     Show records since tag TAG was last added to the the history file.
-     This differs from the `-r' flag above in that it reads only the
-     history file, not the RCS files, and is much faster.
-
-`-u NAME'
-     Show records for user NAME.
-
-import--Import sources into CVS, using vendor branches
-======================================================
-
-   * Synopsis: import [-options] repository vendortag releasetag...
-
-   * Requires: Repository, source distribution directory.
-
-   * Changes: repository.
-
-   Use `import' to incorporate an entire source distribution from an
-outside source (e.g., a source vendor) into your source repository
-directory.  You can use this command both for initial creation of a
-repository, and for wholesale updates to the module from the outside
-source.  *Note Tracking sources::, for a discussion on this subject.
-
-   The REPOSITORY argument gives a directory name (or a path to a
-directory) under the CVS root directory for repositories; if the
-directory did not exist, import creates it.
-
-   When you use import for updates to source that has been modified in
-your source repository (since a prior import), it will notify you of
-any files that conflict in the two branches of development; use
-`checkout -j' to reconcile the differences, as import instructs you to
-do.
-
-   If CVS decides a file should be ignored (*note cvsignore::.), it
-does not import it and prints `I ' followed by the filename (*note
-import output::., for a complete description of the output).
-
-   If the file `$CVSROOT/CVSROOT/cvswrappers' exists, any file whose
-names match the specifications in that file will be treated as packages
-and the appropriate filtering will be performed on the file/directory
-before being imported, *Note Wrappers::.
-
-   The outside source is saved in a first-level RCS branch, by default
-1.1.1.  Updates are leaves of this branch; for example, files from the
-first imported collection of source will be revision 1.1.1.1, then
-files from the first imported update will be revision 1.1.1.2, and so
-on.
-
-   At least three arguments are required.  REPOSITORY is needed to
-identify the collection of source.  VENDORTAG is a tag for the entire
-branch (e.g., for 1.1.1).  You must also specify at least one
-RELEASETAG to identify the files at the leaves created each time you
-execute `import'.
-
-import options
---------------
-
-   This standard option is supported by `import' (*note Common
-options::., for a complete description):
-
-`-m MESSAGE'
-     Use MESSAGE as log information, instead of invoking an editor.
-
-   There are three additional special options.
-
-`-b BRANCH'
-     Specify a first-level branch other than 1.1.1.  Unless the `-b
-     BRANCH' flag is given, revisions will *always* be made to the
-     branch 1.1.1--even if a VENDORTAG that matches another branch is
-     given!  What happens in that case, is that the tag will be reset
-     to 1.1.1.  Warning: This behavior might change in the future.
-
-`-k SUBST'
-     Indicate the RCS keyword expansion mode desired.  This setting
-     will apply to all files created during the import, but not to any
-     files that previously existed in the repository.  See *Note
-     Substitution modes:: for a list of valid `-k' settings.
-
-`-I NAME'
-     Specify file names that should be ignored during import.  You can
-     use this option repeatedly.  To avoid ignoring any files at all
-     (even those ignored by default), specify `-I !'.
-
-     NAME can be a file name pattern of the same type that you can
-     specify in the `.cvsignore' file.  *Note cvsignore::.
-
-`-W SPEC'
-     Specify file names that should be filtered during import.  You can
-     use this option repeatedly.
-
-     SPEC can be a file name pattern of the same type that you can
-     specify in the `.cvswrappers' file. *Note Wrappers::.
-
-import output
--------------
-
-   `import' keeps you informed of its progress by printing a line for
-each file, preceded by one character indicating the status of the file:
-
-`U FILE'
-     The file already exists in the repository and has not been locally
-     modified; a new revision has been created (if necessary).
-
-`N FILE'
-     The file is a new file which has been added to the repository.
-
-`C FILE'
-     The file already exists in the repository but has been locally
-     modified; you will have to merge the changes.
-
-`I FILE'
-     The file is being ignored (*note cvsignore::.).
-
-`L FILE'
-     The file is a symbolic link; at the moment (and for the forseeable
-     future), symbolic links are ignored.  (Various options in the
-     `modules' file can be used to recreate symbolic links on checkout,
-     update, etc.; *note modules::..)
-
-import examples
----------------
-
-   *Note Tracking sources::, and *Note From files::.
-
-log--Print out log information for files
-========================================
-
-   * Synopsis: log [options] [files...]
-
-   * Requires: repository, working directory.
-
-   * Changes: nothing.
-
-   Display log information for files.  `log' used to call the RCS
-utility `rlog'.  Although this is no longer true in the current
-sources, this history determines the format of the output and the
-options, which are not quite in the style of the other CVS commands.
-
-   The output includes the location of the RCS file, the "head"
-revision (the latest revision on the trunk), all symbolic names (tags)
-and some other things.  For each revision, the revision number, the
-author, the number of lines added/deleted and the log message are
-printed.  All times are displayed in Coordinated Universal Time (UTC).
-(Other parts of CVS print times in the local timezone).
-
-log options
------------
-
-   By default, `log' prints all information that is available.  All
-other options restrict the output.
-
-`-b'
-     Print information about the revisions on the default branch,
-     normally the highest branch on the trunk.
-
-`-d DATES'
-     Print information about revisions with a checkin date/time in the
-     range given by the semicolon-separated list of dates.  The date
-     formats accepted are those accepted by the `-D' option to many
-     other CVS commands (*note Common options::.).  Dates can be
-     combined into ranges as follows:
-
-    `D1<D2'
-    `D2>D1'
-          Select the revisions that were deposited between D1 and D2.
-
-    `<D'
-    `D>'
-          Select all revisions dated D or earlier.
-
-    `D<'
-    `>D'
-          Select all revisions dated D or later.
-
-    `D'
-          Select the single, latest revision dated D or earlier.
-
-     The `>' or `<' characters may be followed by `=' to indicate an
-     inclusive range rather than an exclusive one.
-
-     Note that the separator is a semicolon (;).
-
-`-h'
-     Print only the RCS pathname, working pathname, head, default
-     branch, access list, locks, symbolic names, and suffix.
-
-`-l'
-     Local; run only in current working directory.  (Default is to run
-     recursively).
-
-`-N'
-     Do not print the list of tags for this file.  This option can be
-     very useful when your site uses a lot of tags, so rather than
-     "more"'ing over 3 pages of tag information, the log information is
-     presented without tags at all.
-
-`-R'
-     Print only the name of the RCS history file.
-
-`-rREVISIONS'
-     Print information about revisions given in the comma-separated
-     list REVISIONS of revisions and ranges.  The following table
-     explains the available range formats:
-
-    `REV1:REV2'
-          Revisions REV1 to REV2 (which must be on the same branch).
-
-    `:REV'
-          Revisions from the beginning of the branch up to and
-          including REV.
-
-    `REV:'
-          Revisions starting with REV to the end of the branch
-          containing REV.
-
-    `BRANCH'
-          An argument that is a branch means all revisions on that
-          branch.
-
-    `BRANCH1:BRANCH2'
-          A range of branches means all revisions on the branches in
-          that range.
-
-    `BRANCH.'
-          The latest revision in BRANCH.
-
-     A bare `-r' with no revisions means the latest revision on the
-     default branch, normally the trunk.  There can be no space between
-     the `-r' option and its argument.
-
-`-s STATES'
-     Print information about revisions whose state attributes match one
-     of the states given in the comma-separated list STATES.
-
-`-t'
-     Print the same as `-h', plus the descriptive text.
-
-`-wLOGINS'
-     Print information about revisions checked in by users with login
-     names appearing in the comma-separated list LOGINS.  If LOGINS is
-     omitted, the user's login is assumed.  There can be no space
-     between the `-w' option and its argument.
-
-   `log' prints the intersection of the revisions selected with the
-options `-d', `-s', and `-w', intersected with the union of the
-revisions selected by `-b' and `-r'.
-
-log examples
-------------
-
-   Contributed examples are gratefully accepted.
-
-rdiff--'patch' format diffs between releases
-============================================
-
-   * rdiff [-flags] [-V vn] [-r t|-D d [-r t2|-D d2]] modules...
-
-   * Requires: repository.
-
-   * Changes: nothing.
-
-   * Synonym: patch
-
-   Builds a Larry Wall format patch(1) file between two releases, that
-can be fed directly into the patch program to bring an old release
-up-to-date with the new release.  (This is one of the few CVS commands
-that operates directly from the repository, and doesn't require a prior
-checkout.) The diff output is sent to the standard output device.
-
-   You can specify (using the standard `-r' and `-D' options) any
-combination of one or two revisions or dates.  If only one revision or
-date is specified, the patch file reflects differences between that
-revision or date and the current head revisions in the RCS file.
-
-   Note that if the software release affected is contained in more than
-one directory, then it may be necessary to specify the `-p' option to
-the patch command when patching the old sources, so that patch is able
-to find the files that are located in other directories.
-
-rdiff options
--------------
-
-   These standard options are supported by `rdiff' (*note Common
-options::., for a complete description of them):
-
-`-D DATE'
-     Use the most recent revision no later than DATE.
-
-`-f'
-     If no matching revision is found, retrieve the most recent
-     revision (instead of ignoring the file).
-
-`-l'
-     Local; don't descend subdirectories.
-
-`-r TAG'
-     Use revision TAG.
-
-   In addition to the above, these options are available:
-
-`-c'
-     Use the context diff format.  This is the default format.
-
-`-s'
-     Create a summary change report instead of a patch.  The summary
-     includes information about files that were changed or added
-     between the releases.  It is sent to the standard output device.
-     This is useful for finding out, for example, which files have
-     changed between two dates or revisions.
-
-`-t'
-     A diff of the top two revisions is sent to the standard output
-     device.  This is most useful for seeing what the last change to a
-     file was.
-
-`-u'
-     Use the unidiff format for the context diffs.  This option is not
-     available if your diff does not support the unidiff format.
-     Remember that old versions of the `patch' program can't handle the
-     unidiff format, so if you plan to post this patch to the net you
-     should probably not use `-u'.
-
-`-V VN'
-     Expand RCS keywords according to the rules current in RCS version
-     VN (the expansion format changed with RCS version 5).
-
-rdiff examples
---------------
-
-   Suppose you receive mail from address@hidden asking for an update from
-release 1.2 to 1.4 of the tc compiler.  You have no such patches on
-hand, but with CVS that can easily be fixed with a command such as this:
-
-     $ cvs rdiff -c -r FOO1_2 -r FOO1_4 tc | \
-     $$ Mail -s 'The patches you asked for' address@hidden
-
-   Suppose you have made release 1.3, and forked a branch called
-`R_1_3fix' for bugfixes.  `R_1_3_1' corresponds to release 1.3.1, which
-was made some time ago.  Now, you want to see how much development has
-been done on the branch.  This command can be used:
-
-     $ cvs patch -s -r R_1_3_1 -r R_1_3fix module-name
-     cvs rdiff: Diffing module-name
-     File ChangeLog,v changed from revision 1.52.2.5 to 1.52.2.6
-     File foo.c,v changed from revision 1.52.2.3 to 1.52.2.4
-     File bar.h,v changed from revision 1.29.2.1 to 1.2
-
-release--Indicate that a Module is no longer in use
-===================================================
-
-   * release [-d] directories...
-
-   * Requires: Working directory.
-
-   * Changes: Working directory, history log.
-
-   This command is meant to safely cancel the effect of `cvs checkout'.
-Since CVS doesn't lock files, it isn't strictly necessary to use this
-command.  You can always simply delete your working directory, if you
-like; but you risk losing changes you may have forgotten, and you leave
-no trace in the CVS history file (*note history file::.) that you've
-abandoned your checkout.
-
-   Use `cvs release' to avoid these problems.  This command checks that
-no uncommitted changes are present; that you are executing it from
-immediately above a CVS working directory; and that the repository
-recorded for your files is the same as the repository defined in the
-module database.
-
-   If all these conditions are true, `cvs release' leaves a record of
-its execution (attesting to your intentionally abandoning your
-checkout) in the CVS history log.
-
-release options
----------------
-
-   The `release' command supports one command option:
-
-`-d'
-     Delete your working copy of the file if the release succeeds.  If
-     this flag is not given your files will remain in your working
-     directory.
-
-     *Warning:*  The `release' command deletes all directories and
-     files recursively.  This has the very serious side-effect that any
-     directory that you have created inside your checked-out sources,
-     and not added to the repository (using the `add' command; *note
-     Adding files::.) will be silently deleted--even if it is non-empty!
-
-release output
---------------
-
-   Before `release' releases your sources it will print a one-line
-message for any file that is not up-to-date.
-
-   *Warning:*  Any new directories that you have created, but not added
-to the CVS directory hierarchy with the `add' command (*note Adding
-files::.) will be silently ignored (and deleted, if `-d' is specified),
-even if they contain files.
-
-`U FILE'
-     There exists a newer revision of this file in the repository, and
-     you have not modified your local copy of the file.
-
-`A FILE'
-     The file has been added to your private copy of the sources, but
-     has not yet been committed to the repository.  If you delete your
-     copy of the sources this file will be lost.
-
-`R FILE'
-     The file has been removed from your private copy of the sources,
-     but has not yet been removed from the repository, since you have
-     not yet committed the removal.  *Note commit::.
-
-`M FILE'
-     The file is modified in your working directory.  There might also
-     be a newer revision inside the repository.
-
-`? FILE'
-     FILE is in your working directory, but does not correspond to
-     anything in the source repository, and is not in the list of files
-     for CVS to ignore (see the description of the `-I' option, and
-     *note cvsignore::.).  If you remove your working sources, this
-     file will be lost.
-
-     Note that no warning message like this is printed for spurious
-     directories that CVS encounters.  The directory, and all its
-     contents, are silently ignored.
-
-release examples
-----------------
-
-   Release the module, and delete your local working copy of the files.
-
-     $ cd ..         # You must stand immediately above the
-                     # sources when you issue `cvs release'.
-     $ cvs release -d tc
-     You have [0] altered files in this repository.
-     Are you sure you want to release (and delete) module `tc': y
-     $
-
-rtag--Add a symbolic tag to a module
-====================================
-
-   * rtag [-falnR] [-b] [-d] [-r tag | -Ddate] symbolic_tag modules...
-
-   * Requires: repository.
-
-   * Changes: repository.
-
-   * Synonym: rfreeze
-
-   You can use this command to assign symbolic tags to particular,
-explicitly specified source revisions in the repository.  `rtag' works
-directly on the repository contents (and requires no prior checkout).
-Use `tag' instead (*note tag::.), to base the selection of revisions on
-the contents of your working directory.
-
-   If you attempt to use a tag name that already exists, CVS will
-complain and not overwrite that tag.  Use the `-F' option to force the
-new tag value.
-
-rtag options
-------------
-
-   These standard options are supported by `rtag' (*note Common
-options::., for a complete description of them):
-
-`-D DATE'
-     Tag the most recent revision no later than DATE.
-
-`-f'
-     Only useful with the `-D DATE' or `-r TAG' flags.  If no matching
-     revision is found, use the most recent revision (instead of
-     ignoring the file).
-
-`-F'
-     Overwrite an existing tag of the same name on a different
-     revision.  This option is new in CVS 1.4.  The old behavior is
-     matched by `cvs tag -F'.
-
-`-l'
-     Local; run only in current working directory.
-
-`-n'
-     Do not run any tag program that was specified with the `-t' flag
-     inside the `modules' file.  (*note modules::.).
-
-`-R'
-     Commit directories recursively.  This is on by default.
-
-`-r TAG'
-     Only tag those files that contain TAG.  This can be used to rename
-     a tag: tag only the files identified by the old tag, then delete
-     the old tag, leaving the new tag on exactly the same files as the
-     old tag.
-
-   In addition to the above common options, these options are available:
-
-`-a'
-     Use the `-a' option to have `rtag' look in the `Attic' (*note
-     Removing files::.) for removed files that contain the specified
-     tag.  The tag is removed from these files, which makes it
-     convenient to re-use a symbolic tag as development continues (and
-     files get removed from the up-coming distribution).
-
-`-b'
-     Make the tag a branch tag.  *Note Branches::.
-
-`-d'
-     Delete the tag instead of creating it.
-
-     In general, tags (often the symbolic names of software
-     distributions) should not be removed, but the `-d' option is
-     available as a means to remove completely obsolete symbolic names
-     if necessary (as might be the case for an Alpha release, or if you
-     mistagged a module).
-
-status--Display status information on checked out files
-=======================================================
-
-   * status [-lR] [-v] [files...]
-
-   * Requires: working directory, repository.
-
-   * Changes: nothing.
-
-   Display a brief report on the current status of files with respect
-to the source repository.  For information on the basic output see
-*Note File status::.  For information on the `Sticky tag' and `Sticky
-date' output, see *Note Sticky tags::.  For information on the `Sticky
-options' output, see the `-k' option in *Note update options::.
-
-   You can also use this command to determine the potential impact of a
-`cvs update' on your working source directory--but remember that things
-might change in the repository before you run `update'.
-
-status options
---------------
-
-   These standard options are supported by `status' (*note Common
-options::., for a complete description of them):
-
-`-l'
-     Local; run only in current working directory.
-
-`-R'
-     Commit directories recursively.  This is on by default.
-
-   There is one additional option:
-
-`-v'
-     Verbose.  In addition to the information normally displayed, print
-     all symbolic tags, together with the numerical value of the
-     revision or branch they refer to.  For more information, see *Note
-     Tags::
-
-tag--Add a symbolic tag to checked out versions of files
-========================================================
-
-   * tag [-lR] [-b] [-c] [-d] symbolic_tag [files...]
-
-   * Requires: working directory, repository.
-
-   * Changes: repository.
-
-   * Synonym: freeze
-
-   Use this command to assign symbolic tags to the nearest repository
-versions to your working sources.  The tags are applied immediately to
-the repository, as with `rtag', but the versions are supplied
-implicitly by the CVS records of your working files' history rather than
-applied explicitly.
-
-   One use for tags is to record a snapshot of the current sources when
-the software freeze date of a project arrives.  As bugs are fixed after
-the freeze date, only those changed sources that are to be part of the
-release need be re-tagged.
-
-   The symbolic tags are meant to permanently record which revisions of
-which files were used in creating a software distribution.  The
-`checkout' and `update' commands allow you to extract an exact copy of
-a tagged release at any time in the future, regardless of whether files
-have been changed, added, or removed since the release was tagged.
-
-   This command can also be used to delete a symbolic tag, or to create
-a branch.  See the options section below.
-
-   If you attempt to use a tag name that already exists, CVS will
-complain and not overwrite that tag.  Use the `-F' option to force the
-new tag value.
-
-tag options
------------
-
-   These standard options are supported by `tag' (*note Common
-options::., for a complete description of them):
-
-`-F'
-     Overwrite an existing tag of the same name on a different
-     revision.  This option is new in CVS 1.4.  The old behavior is
-     matched by `cvs tag -F'.
-
-`-l'
-     Local; run only in current working directory.
-
-`-R'
-     Commit directories recursively.  This is on by default.
-
-   Two special options are available:
-
-`-b'
-     The -b option makes the tag a branch tag (*note Branches::.),
-     allowing concurrent, isolated development.  This is most useful
-     for creating a patch to a previously released software
-     distribution.
-
-`-c'
-     The -c option checks that all files which are to be tagged are
-     unmodified.  This can be used to make sure that you can
-     reconstruct the current file contents.
-
-`-d'
-     Delete a tag.
-
-     If you use `cvs tag -d symbolic_tag', the symbolic tag you specify
-     is deleted instead of being added.  Warning: Be very certain of
-     your ground before you delete a tag; doing this permanently
-     discards some historical information, which may later turn out to
-     be valuable.
-
-update--Bring work tree in sync with repository
-===============================================
-
-   * update [-AdflPpR] [-d] [-r tag|-D date] files...
-
-   * Requires: repository, working directory.
-
-   * Changes: working directory.
-
-   After you've run checkout to create your private copy of source from
-the common repository, other developers will continue changing the
-central source.  From time to time, when it is convenient in your
-development process, you can use the `update' command from within your
-working directory to reconcile your work with any revisions applied to
-the source repository since your last checkout or update.
-
-update options
---------------
-
-   These standard options are available with `update' (*note Common
-options::., for a complete description of them):
-
-`-D date'
-     Use the most recent revision no later than DATE.  This option is
-     sticky, and implies `-P'.  See *Note Sticky tags::, for more
-     information on sticky tags/dates.
-
-`-f'
-     Only useful with the `-D DATE' or `-r TAG' flags.  If no matching
-     revision is found, retrieve the most recent revision (instead of
-     ignoring the file).
-
-`-k KFLAG'
-     Process RCS keywords according to KFLAG.  See co(1).  This option
-     is sticky; future updates of this file in this working directory
-     will use the same KFLAG.  The `status' command can be viewed to
-     see the sticky options.  *Note status::.
-
-`-l'
-     Local; run only in current working directory.  *Note Recursive
-     behavior::.
-
-`-P'
-     Prune empty directories.
-
-`-p'
-     Pipe files to the standard output.
-
-`-R'
-     Operate recursively.  This is on by default.  *Note Recursive
-     behavior::.
-
-`-r tag'
-     Retrieve revision TAG.  This option is sticky, and implies `-P'.
-     See *Note Sticky tags::, for more information on sticky tags/dates.
-
-   These special options are also available with `update'.
-
-`-A'
-     Reset any sticky tags, dates, or `-k' options.  See *Note Sticky
-     tags::, for more information on sticky tags/dates.
-
-`-d'
-     Create any directories that exist in the repository if they're
-     missing from the working directory.  Normally, `update' acts only
-     on directories and files that were already enrolled in your
-     working directory.
-
-     This is useful for updating directories that were created in the
-     repository since the initial checkout; but it has an unfortunate
-     side effect.  If you deliberately avoided certain directories in
-     the repository when you created your working directory (either
-     through use of a module name or by listing explicitly the files
-     and directories you wanted on the command line), then updating
-     with `-d' will create those directories, which may not be what you
-     want.
-
-`-I NAME'
-     Ignore files whose names match NAME (in your working directory)
-     during the update.  You can specify `-I' more than once on the
-     command line to specify several files to ignore.  Use `-I !' to
-     avoid ignoring any files at all.  *Note cvsignore::, for other
-     ways to make CVS ignore some files.
-
-`-WSPEC'
-     Specify file names that should be filtered during update.  You can
-     use this option repeatedly.
-
-     SPEC can be a file name pattern of the same type that you can
-     specify in the `.cvswrappers' file. *Note Wrappers::.
-
-`-jREVISION'
-     With two `-j' options, merge changes from the revision specified
-     with the first `-j' option to the revision specified with the
-     second `j' option, into the working directory.
-
-     With one `-j' option, merge changes from the ancestor revision to
-     the revision specified with the `-j' option, into the working
-     directory.  The ancestor revision is the common ancestor of the
-     revision which the working directory is based on, and the revision
-     specified in the `-j' option.
-
-     In addition, each -j option can contain an optional date
-     specification which, when used with branches, can limit the chosen
-     revision to one within a specific date.  An optional date is
-     specified by adding a colon (:) to the tag:
-     `-jSYMBOLIC_TAG:DATE_SPECIFIER'.
-
-     *Note Merging::.
-
-update output
--------------
-
-   `update' and `checkout' keep you informed of its progress by
-printing a line for each file, preceded by one character indicating the
-status of the file:
-
-`U FILE'
-     The file was brought up to date with respect to the repository.
-     This is done for any file that exists in the repository but not in
-     your source, and for files that you haven't changed but are not
-     the most recent versions available in the repository.
-
-`A FILE'
-     The file has been added to your private copy of the sources, and
-     will be added to the source repository when you run `commit' on
-     the file.  This is a reminder to you that the file needs to be
-     committed.
-
-`R FILE'
-     The file has been removed from your private copy of the sources,
-     and will be removed from the source repository when you run
-     `commit' on the file.  This is a reminder to you that the file
-     needs to be committed.
-
-`M FILE'
-     The file is modified in  your  working  directory.
-
-     `M' can indicate one of two states for a file you're working on:
-     either there were no modifications to the same file in the
-     repository, so that your file remains as you last saw it; or there
-     were modifications in the repository as well as in your copy, but
-     they were merged successfully, without conflict, in your working
-     directory.
-
-     CVS will print some messages if it merges your work, and a backup
-     copy of your working file (as it looked before you ran `update')
-     will be made.  The exact name of that file is printed while
-     `update' runs.
-
-`C FILE'
-     A conflict was detected while trying to merge your changes to FILE
-     with changes from the source repository.  FILE (the copy in your
-     working directory) is now the output of the rcsmerge(1) command on
-     the two revisions; an unmodified copy of your file is also in your
-     working directory, with the name `.#FILE.REVISION' where REVISION
-     is the RCS revision that your modified file started from.  Resolve
-     the conflict as described in *Note Conflicts example:: (Note that
-     some systems automatically purge files that begin with `.#' if
-     they have not been accessed for a few days.  If you intend to keep
-     a copy of your original file, it is a very good idea to rename
-     it.)  Under VMS, the file name starts with `__' rather than `.#'.
-
-`? FILE'
-     FILE is in your working directory, but does not correspond to
-     anything in the source repository, and is not in the list of files
-     for CVS to ignore (see the description of the `-I' option, and
-     *note cvsignore::.).
-
-     Note that no warning message like this is printed for spurious
-     directories that CVS encounters.  The directory, and all its
-     contents, are silently ignored.
-
-update examples
----------------
-
-   The following line will display all files which are not up-to-date
-without actually change anything in your working directory.  It can be
-used to check what has been going on with the project.
-
-     $ cvs -n -q update
-
-Reference manual for the Administrative files
-*********************************************
-
-   Inside the repository, in the directory `$CVSROOT/CVSROOT', there
-are a number of supportive files for CVS.  You can use CVS in a limited
-fashion without any of them, but if they are set up properly they can
-help make life easier.  For a discussion of how to edit them, *Note
-Intro administrative files::.
-
-   The most important of these files is the `modules' file, which
-defines the modules inside the repository.
-
-The modules file
-================
-
-   The `modules' file records your definitions of names for collections
-of source code.  CVS will use these definitions if you use CVS to
-update the modules file (use normal commands like `add', `commit', etc).
-
-   The `modules' file may contain blank lines and comments (lines
-beginning with `#') as well as module definitions.  Long lines can be
-continued on the next line by specifying a backslash (`\') as the last
-character on the line.
-
-   A module definition is a single line of the `modules' file, in
-either of two formats.  In both cases, MNAME represents the symbolic
-module name, and the remainder of the line is its definition.
-
-`MNAME -a ALIASES...'
-     This represents the simplest way of defining a module MNAME.  The
-     `-a' flags the definition as a simple alias: CVS will treat any
-     use of MNAME (as a command argument) as if the list of names
-     ALIASES had been specified instead.  ALIASES may contain either
-     other module names or paths.  When you use paths in aliases,
-     `checkout' creates all intermediate directories in the working
-     directory, just as if the path had been specified explicitly in
-     the CVS arguments.
-
-`MNAME [ options ] DIR [ FILES... ] [ &MODULE... ]'
-     In the simplest case, this form of module definition reduces to
-     `MNAME DIR'.  This defines all the files in directory DIR as
-     module mname.  DIR is a relative path (from `$CVSROOT') to a
-     directory of source in the source repository.  In this case, on
-     checkout, a single directory called MNAME is created as a working
-     directory; no intermediate directory levels are used by default,
-     even if DIR was a path involving several directory levels.
-
-     By explicitly specifying files in the module definition after DIR,
-     you can select particular files from directory DIR.  The sample
-     definition for `modules' is an example of a module defined with a
-     single file from a particular directory.  Here is another example:
-
-          m4test  unsupported/gnu/m4 foreach.m4 forloop.m4
-
-     With this definition, executing `cvs checkout m4test' will create
-     a single working directory `m4test' containing the two files
-     listed, which both come from a common directory several levels deep
-     in the CVS source repository.
-
-     A module definition can refer to other modules by including
-     `&MODULE' in its definition.  `checkout' creates a subdirectory
-     for each such module, in your working directory.
-
-    `-d NAME'
-          Name the working directory something other than the module
-          name.
-
-    `-e PROG'
-          Specify a program PROG to run whenever files in a module are
-          exported.  PROG runs with a single argument, the module name.
-
-    `-i PROG'
-          Specify a program PROG to run whenever files in a module are
-          committed.  PROG runs with a single argument, the full
-          pathname of the affected directory in a source repository.
-          The `commitinfo', `loginfo', and `editinfo' files provide
-          other ways to call a program on commit.
-
-    `-o PROG'
-          Specify a program PROG to run whenever files in a module are
-          checked out.  PROG runs with a single argument, the module
-          name.
-
-    `-s STATUS'
-          Assign a status to the module.  When the module file is
-          printed with `cvs checkout -s' the modules are sorted
-          according to primarily module status, and secondarily
-          according to the module name.  This option has no other
-          meaning.  You can use this option for several things besides
-          status: for instance, list the person that is responsible for
-          this module.
-
-    `-t PROG'
-          Specify a program PROG to run whenever files in a module are
-          tagged with `rtag'.  PROG runs with two arguments: the module
-          name and the symbolic tag specified to `rtag'.  There is no
-          way to specify a program to run when `tag' is executed.
-
-    `-u PROG'
-          Specify a program PROG to run whenever `cvs update' is
-          executed from the top-level directory of the checked-out
-          module.  PROG runs with a single argument, the full path to
-          the source repository for this module.
-
-The cvswrappers file
-====================
-
-   Wrappers allow you to set a hook which transforms files on their way
-in and out of CVS.  Most or all of the wrappers features do not work
-with client/server CVS.
-
-   The file `cvswrappers' defines the script that will be run on a file
-when its name matches a regular expresion. There are two scripts that
-can be run on a file or directory. One script is executed on the
-file/directory before being checked into the repository (this is denoted
-with the `-t' flag) and the other when the file is checked out of the
-repository (this is denoted with the `-f' flag)
-
-   The `cvswrappers' also has a `-m' option to specify the merge
-methodology that should be used when the file is updated.  `MERGE'
-means the usual CVS behavior: try to merge the files (this generally
-will not work for binary files).  `COPY' means that `cvs update' will
-merely copy one version over the other, and require the user using
-mechanisms outside CVS, to insert any necessary changes.  The `-m'
-wrapper option only affects behavior when merging is done on update; it
-does not affect how files are stored.  See *Note Binary files::, for
-more on binary files.
-
-   The basic format of the file `cvswrappers' is:
-
-     wildcard     [option value][option value]...
-     
-     where option is one of
-     -f           from cvs filter         value: path to filter
-     -t           to cvs filter           value: path to filter
-     -m           update methodology      value: MERGE or COPY
-     -k           keyword expansion       value: expansion mode
-     
-     and value is a single-quote delimited value.
-
-     *.nib    -f 'unwrap %s' -t 'wrap %s %s' -m 'COPY'
-     *.c      -t 'indent %s %s'
-
-The above example of a `cvswrappers' file states that all
-files/directories that end with a `.nib' should be filtered with the
-`wrap' program before checking the file into the repository. The file
-should be filtered though the `unwrap' program when the file is checked
-out of the repository. The `cvswrappers' file also states that a `COPY'
-methodology should be used when updating the files in the repository
-(that is no merging should be performed).
-
-   The last example line says that all files that end with a `*.c'
-should be filtered with `indent' before being checked into the
-repository. Unlike the previous example no filtering of the `*.c' file
-is done when it is checked out of the repository.
-
-The `-t' filter is called with two arguments, the first is the name of
-the file/directory to filter and the second is the pathname to where
-the resulting filtered file should be placed.
-
-The `-f' filter is called with one argument, which is the name of the
-file to filter from. The end result of this filter will be a file in
-the users directory that they can work on as they normally would.
-
-   For another example, the following command imports a directory,
-treating files whose name ends in `.exe' as binary:
-
-     cvs import -I ! -W "*.exe -k 'b'" first-dir vendortag reltag
-
-The commit support files
-========================
-
-   The `-i' flag in the `modules' file can be used to run a certain
-program whenever files are committed (*note modules::.).  The files
-described in this section provide other, more flexible, ways to run
-programs whenever something is committed.
-
-   There are three kind of programs that can be run on commit.  They
-are specified in files in the repository, as described below.  The
-following table summarizes the file names and the purpose of the
-corresponding programs.
-
-`commitinfo'
-     The program is responsible for checking that the commit is
-     allowed.  If it exits with a non-zero exit status the commit will
-     be aborted.
-
-`editinfo'
-     The specified program is used to edit the log message, and
-     possibly verify that it contains all required fields.  This is
-     most useful in combination with the `rcsinfo' file, which can hold
-     a log message template (*note rcsinfo::.).
-
-`loginfo'
-     The specified program is called when the commit is complete.  It
-     receives the log message and some additional information and can
-     store the log message in a file, or mail it to appropriate
-     persons, or maybe post it to a local newsgroup, or...  Your
-     imagination is the limit!
-
-The common syntax
------------------
-
-   The four files `commitinfo', `loginfo', `rcsinfo' and `editinfo' all
-have a common format.  The purpose of the files are described later on.
-The common syntax is described here.
-
-   Each line contains the following:
-   * A regular expression
-
-   * A whitespace separator--one or more spaces and/or tabs.
-
-   * A file name or command-line template.
-
-Blank lines are ignored.  Lines that start with the character `#' are
-treated as comments.  Long lines unfortunately can *not* be broken in
-two parts in any way.
-
-   The first regular expression that matches the current directory name
-in the repository is used.  The rest of the line is used as a file name
-or command-line as appropriate.
-
-Commitinfo
-==========
-
-   The `commitinfo' file defines programs to execute whenever `cvs
-commit' is about to execute.  These programs are used for pre-commit
-checking to verify that the modified, added and removed files are really
-ready to be committed.  This could be used, for instance, to verify
-that the changed files conform to to your site's standards for coding
-practice.
-
-   As mentioned earlier, each line in the `commitinfo' file consists of
-a regular expression and a command-line template.  The template can
-include a program name and any number of arguments you wish to supply
-to it.  The full path to the current source repository is appended to
-the template, followed by the file names of any files involved in the
-commit (added, removed, and modified files).
-
-   The first line with a regular expression matching the relative path
-to the module will be used.  If the command returns a non-zero exit
-status the commit will be aborted.
-
-   If the repository name does not match any of the regular expressions
-in this file, the `DEFAULT' line is used, if it is specified.
-
-   All occurances of the name `ALL' appearing as a regular expression
-are used in addition to the first matching regular expression or the
-name `DEFAULT'.
-
-   Note: when CVS is accessing a remote repository, `commitinfo' will
-be run on the *remote* (i.e., server) side, not the client side (*note
-Remote repositories::.).
-
-Editinfo
-========
-
-   If you want to make sure that all log messages look the same way,
-you can use the `editinfo' file to specify a program that is used to
-edit the log message.  This program could be a custom-made editor that
-always enforces a certain style of the log message, or maybe a simple
-shell script that calls an editor, and checks that the entered message
-contains the required fields.
-
-   If no matching line is found in the `editinfo' file, the editor
-specified in the environment variable `$CVSEDITOR' is used instead.  If
-that variable is not set, then the environment variable `$EDITOR' is
-used instead.  If that variable is not set a precompiled default,
-normally `vi', will be used.
-
-   The `editinfo' file is often most useful together with the `rcsinfo'
-file, which can be used to specify a log message template.
-
-   Each line in the `editinfo' file consists of a regular expression
-and a command-line template.  The template must include a program name,
-and can include any number of arguments.  The full path to the current
-log message template file is appended to the template.
-
-   One thing that should be noted is that the `ALL' keyword is not
-supported.  If more than one matching line is found, the first one is
-used.  This can be useful for specifying a default edit script in a
-module, and then overriding it in a subdirectory.
-
-   If the repository name does not match any of the regular expressions
-in this file, the `DEFAULT' line is used, if it is specified.
-
-   If the edit script exits with a non-zero exit status, the commit is
-aborted.
-
-   Note: when CVS is accessing a remote repository, or when the `-m' or
-`-F' options to `cvs commit' are used, `editinfo' will not be consulted.
-There is no good workaround for this.
-
-Editinfo example
-----------------
-
-   The following is a little silly example of a `editinfo' file,
-together with the corresponding `rcsinfo' file, the log message
-template and an editor script.  We begin with the log message template.
-We want to always record a bug-id number on the first line of the log
-message.  The rest of log message is free text.  The following template
-is found in the file `/usr/cvssupport/tc.template'.
-
-     BugId:
-
-   The script `/usr/cvssupport/bugid.edit' is used to edit the log
-message.
-
-     #!/bin/sh
-     #
-     #       bugid.edit filename
-     #
-     #  Call $EDITOR on FILENAME, and verify that the
-     #  resulting file contains a valid bugid on the first
-     #  line.
-     if [ "x$EDITOR" = "x" ]; then EDITOR=vi; fi
-     if [ "x$CVSEDITOR" = "x" ]; then CVSEDITOR=$EDITOR; fi
-     $CVSEDITOR $1
-     until head -1|grep '^BugId:[ ]*[0-9][0-9]*$' < $1
-     do  echo -n  "No BugId found.  Edit again? ([y]/n)"
-         read ans
-         case ${ans} in
-             n*) exit 1;;
-         esac
-         $CVSEDITOR $1
-     done
-
-   The `editinfo' file contains this line:
-
-     ^tc     /usr/cvssupport/bugid.edit
-
-   The `rcsinfo' file contains this line:
-
-     ^tc     /usr/cvssupport/tc.template
-
-Loginfo
-=======
-
-   The `loginfo' file is used to control where `cvs commit' log
-information is sent.  The first entry on a line is a regular expression
-which is tested against the directory that the change is being made to,
-relative to the `$CVSROOT'.  If a match is found, then the remainder of
-the line is a filter program that should expect log information on its
-standard input.
-
-   The filter program may use one and only one % modifier (a la
-printf).  If `%s' is specified in the filter program, a brief title is
-included (enclosed in single quotes) showing the modified file names.
-
-   If the repository name does not match any of the regular expressions
-in this file, the `DEFAULT' line is used, if it is specified.
-
-   All occurances of the name `ALL' appearing as a regular expression
-are used in addition to the first matching regular expression or
-`DEFAULT'.
-
-   The first matching regular expression is used.
-
-   *Note commit files::, for a description of the syntax of the
-`loginfo' file.
-
-   Note: when CVS is accessing a remote repository, `loginfo' will be
-run on the *remote* (i.e., server) side, not the client side (*note
-Remote repositories::.).
-
-Loginfo example
----------------
-
-   The following `loginfo' file, together with the tiny shell-script
-below, appends all log messages to the file
-`$CVSROOT/CVSROOT/commitlog', and any commits to the administrative
-files (inside the `CVSROOT' directory) are also logged in
-`/usr/adm/cvsroot-log'.
-
-     ALL             /usr/local/bin/cvs-log $CVSROOT/CVSROOT/commitlog
-     ^CVSROOT        /usr/local/bin/cvs-log /usr/adm/cvsroot-log
-
-   The shell-script `/usr/local/bin/cvs-log' looks like this:
-
-     #!/bin/sh
-     (echo "-----------------------------------------------------------------";
-      echo -n $USER"  ";
-      date;
-      echo;
-      sed '1s+'${CVSROOT}'++') >> $1
-
-Keeping a checked out copy
---------------------------
-
-   It is often useful to maintain a directory tree which contains files
-which correspond to the latest version in the repository.  For example,
-other developers might want to refer to the latest sources without
-having to check them out, or you might be maintaining a web site with
-CVS and want every checkin to cause the files used by the web server to
-be updated.
-
-   The way to do this is by having loginfo invoke `cvs update'.  Doing
-so in the naive way will cause a problem with locks, so the `cvs update'
-must be run in the background.  Here is an example (this should all be
-on one line):
-
-     ^cyclic-pages             (date; cat; (sleep 2; cd /u/www/local-docs;
-      cvs -q update -d) &) >> $CVSROOT/CVSROOT/updatelog 2>&1
-
-   This will cause checkins to repository directories starting with
-`cyclic-pages' to update the checked out tree in `/u/www/local-docs'.
-
-Rcsinfo
-=======
-
-   The `rcsinfo' file can be used to specify a form to edit when
-filling out the commit log.  The `rcsinfo' file has a syntax similar to
-the `editinfo', `commitinfo' and `loginfo' files.  *Note syntax::.
-Unlike the other files the second part is *not* a command-line
-template.  Instead, the part after the regular expression should be a
-full pathname to a file containing the log message template.
-
-   If the repository name does not match any of the regular expressions
-in this file, the `DEFAULT' line is used, if it is specified.
-
-   All occurances of the name `ALL' appearing as a regular expression
-are used in addition to the first matching regular expression or
-`DEFAULT'.
-
-   The log message template will be used as a default log message.  If
-you specify a log message with `cvs commit -m MESSAGE' or `cvs commit -f
-FILE' that log message will override the template.
-
-   *Note editinfo example::, for an example `rcsinfo' file.
-
-   When CVS is accessing a remote repository, the contents of `rcsinfo'
-at the time a directory is first checked out will specify a template
-which does not then change.  If you edit `rcsinfo' or its templates,
-you may need to check out a new working directory.
-
-Ignoring files via cvsignore
-============================
-
-   There are certain file names that frequently occur inside your
-working copy, but that you don't want to put under CVS control.
-Examples are all the object files that you get while you compile your
-sources.  Normally, when you run `cvs update', it prints a line for
-each file it encounters that it doesn't know about (*note update
-output::.).
-
-   CVS has a list of files (or sh(1) file name patterns) that it should
-ignore while running `update', `import' and `release'.  This list is
-constructed in the following way.
-
-   * The list is initialized to include certain file name patterns:
-     names associated with CVS administration, or with other common
-     source control systems; common names for patch files, object files,
-     archive files, and editor backup files; and other names that are
-     usually artifacts of assorted utilities.  Currently, the default
-     list of ignored file name patterns is:
-
-              RCS     SCCS    CVS     CVS.adm
-              RCSLOG  cvslog.*
-              tags    TAGS
-              .make.state     .nse_depinfo
-              *~      #*      .#*     ,*      _$*     *$
-              *.old   *.bak   *.BAK   *.orig  *.rej   .del-*
-              *.a     *.olb   *.o     *.obj   *.so    *.exe
-              *.Z     *.elc   *.ln
-              core
-
-   * The per-repository list in `$CVSROOT/CVSROOT/cvsignore' is
-     appended to the list, if that file exists.
-
-   * The per-user list in `.cvsignore' in your home directory is
-     appended to the list, if it exists.
-
-   * Any entries in the environment variable `$CVSIGNORE' is appended
-     to the list.
-
-   * Any `-I' options given to CVS is appended.
-
-   * As CVS traverses through your directories, the contents of any
-     `.cvsignore' will be appended to the list.  The patterns found in
-     `.cvsignore' are only valid for the directory that contains them,
-     not for any sub-directories.
-
-   In any of the 5 places listed above, a single exclamation mark (`!')
-clears the ignore list.  This can be used if you want to store any file
-which normally is ignored by CVS.
-
-The history file
-================
-
-   The file `$CVSROOT/CVSROOT/history' is used to log information for
-the `history' command (*note history::.).  This file must be created to
-turn on logging.  This is done automatically if the `cvs init' command
-is used to set up the repository (*note Creating a repository::.).
-
-   The file format of the `history' file is documented only in comments
-in the CVS source code, but generally programs should use the `cvs
-history' command to access it anyway, in case the format changes with
-future releases of CVS.
-
-Expansions in administrative files
-==================================
-
-   Sometimes in writing an administrative file, you might want the file
-to be able to know various things based on environment CVS is running
-in.  There are several mechanisms to do that.
-
-   To find the home directory of the user running CVS (from the `HOME'
-environment variable), use `~' followed by `/' or the end of the line.
-Likewise for the home directory of USER, use `~USER'.  These variables
-are expanded on the server machine, and don't get any resonable
-expansion if pserver (*note Password authenticated::.)  is in used;
-therefore user variables (see below) may be a better choice to
-customize behavior based on the user running CVS.
-
-   One may want to know about various pieces of information internal to
-CVS.  A CVS internal variable has the syntax `${VARIABLE}', where
-VARIABLE starts with a letter and consists of alphanumberic characters
-and `_'.  If the character following VARIABLE is a non-alphanumeric
-character other than `_', the `{' and `}' can be omitted.  The CVS
-internal variables are:
-
-`CVSROOT'
-     This is the value of the CVS root in use.  *Note Repository::, for
-     a description of the various ways to specify this.
-
-`RCSBIN'
-     This is the value CVS is using for where to find RCS binaries.
-     *Note Global options::, for a description of how to specify this.
-
-`CVSEDITOR'
-`VISUAL'
-`EDITOR'
-     These all expand to the same value, which is the editor that CVS
-     is using.  *Note Global options::, for how to specify this.
-
-`USER'
-     Username of the user running CVS (on the CVS server machine).
-
-   If you want to pass a value to the administrative files which the
-user that is running CVS can specify, use a user variable.  To expand a
-user variable, the administrative file contains `${=VARIABLE}'.  To set
-a user variable, specify the global option `-s' to CVS, with argument
-`VARIABLE=VALUE'.  It may be particularly useful to specify this option
-via `.cvsrc' (*note ~/.cvsrc::.).
-
-   For example, if you want the administrative file to refer to a test
-directory you might create a user variable `TESTDIR'.  Then if CVS is
-invoked as `cvs -s TESTDIR=/work/local/tests', and the administrative
-file contains `sh ${=TESTDIR}/runtests', then that string is expanded
-to `sh /work/local/tests/runtests'.
-
-   All other strings containing `$' are reserved; there is no way to
-quote a `$' character so that `$' represents itself.
-
-All environment variables which affect CVS
-******************************************
-
-   This is a complete list of all environment variables that affect CVS.
-
-`$CVSIGNORE'
-     A whitespace-separated list of file name patterns that CVS should
-     ignore. *Note cvsignore::.
-
-`$CVSWRAPPERS'
-     A whitespace-separated list of file name patterns that CVS should
-     treat as wrappers. *Note Wrappers::.
-
-`$CVSREAD'
-     If this is set, `checkout' and `update' will try hard to make the
-     files in your working directory read-only.  When this is not set,
-     the default behavior is to permit modification of your working
-     files.
-
-`$CVSROOT'
-     Should contain the full pathname to the root of the CVS source
-     repository (where the RCS history files are kept).  This
-     information must be available to CVS for most commands to execute;
-     if `$CVSROOT' is not set, or if you wish to override it for one
-     invocation, you can supply it on the command line: `cvs -d cvsroot
-     cvs_command...' Once you have checked out a working directory, CVS
-     stores the appropriate root (in the file `CVS/Root'), so normally
-     you only need to worry about this when initially checking out a
-     working directory.
-
-`$EDITOR'
-`$CVSEDITOR'
-     Specifies the program to use for recording log messages during
-     commit.  If not set, the default is `/usr/ucb/vi'.  `$CVSEDITOR'
-     overrides `$EDITOR'.  `$CVSEDITOR' does not exist in CVS 1.3, but
-     the next release will probably include it.
-
-`$PATH'
-     If `$RCSBIN' is not set, and no path is compiled into CVS, it will
-     use `$PATH' to try to find all programs it uses.
-
-`$RCSBIN'
-     This is the value CVS is using for where to find RCS binaries.
-     *Note Global options::, for a description of how to specify this.
-     If not set, a compiled-in value is used, or your `$PATH' is
-     searched.
-
-`$HOME'
-
-`$HOMEPATH'
-     Used to locate the directory where the `.cvsrc' file is searched
-     (`$HOMEPATH' is used for Windows-NT).  *note ~/.cvsrc::.
-
-`$CVS_RSH'
-     Specifies the external program which CVS connects with, when
-     `:ext:' access method is specified.  *note Connecting via rsh::..
-
-`$CVS_SERVER'
-     Used in client-server mode when accessing a remote repository
-     using RSH.  It specifies the name of the program to start on the
-     server side when accessing a remote repository using RSH.  The
-     default value is `cvs'.  *note Connecting via rsh::.
-
-`$CVS_PASSFILE'
-     Used in client-server mode when accessing the `cvs login server'.
-     Default value is `$HOME/.cvspass'.  *note Password authentication
-     client::.
-
-`$CVS_PASSWORD'
-     Used in client-server mode when accessing the `cvs login server'.
-     *note Password authentication client::.
-
-`$CVS_CLIENT_PORT'
-     Used in client-server mode when accessing the server via Kerberos.
-     *note Kerberos authenticated::.
-
-`$CVS_RCMD_PORT'
-     Used in client-server mode.  If set, specifies the port number to
-     be used when accessing the RCMD demon on the server side.
-     (Currently not used for Unix clients).
-
-`$CVS_CLIENT_LOG'
-     Used for debugging only in client-server mode.  If set, everything
-     send to the server is logged into ``$CVS_CLIENT_LOG'.in' and
-     everything send from the server is logged into
-     ``$CVS_CLIENT_LOG'.out'.
-
-`$CVS_SERVER_SLEEP'
-     Used only for debugging the server side in client-server mode.  If
-     set, delays the start of the server child process the the
-     specified amount of seconds so that you can attach to it with a
-     debugger.
-
-`$CVS_IGNORE_REMOTE_ROOT'
-     (What is the purpose of this variable?)
-
-`$COMSPEC'
-     Used under OS/2 only.  It specifies the name of the command
-     interpreter and defaults to CMD.EXE.
-
-`$TMPDIR'
-`$TMP'
-`$TEMP'
-     Directory in which temporary files are located.  Those parts of
-     CVS which are implemented using RCS inspect the above variables in
-     the order they appear above and the first value found is taken; if
-     none of them are set, a host-dependent default is used, typically
-     `/tmp'.  The CVS server uses `TMPDIR'.  *Note Global options::,
-     for a description of how to specify this.  Some parts of CVS will
-     always use `/tmp' (via the `tmpnam' function provided by the
-     system).
-
-     On Windows NT, `TMP' is used (via the `_tempnam' function provided
-     by the system).
-
-     The `patch' program which is used by the CVS client uses `TMPDIR',
-     and if it is not set, uses `/tmp' (at least with GNU patch 2.1).
-
-   CVS invokes RCS to perform certain operations.  The following
-environment variables affect RCS.  Note that if you are using the
-client/server CVS, these variables need to be set on the server side
-(which may or not may be possible depending on how you are connecting).
-There is probably not any need to set any of them, however.
-
-`$LOGNAME'
-`$USER'
-     If set, they affect who RCS thinks you are.  If you have trouble
-     checking in files it might be because your login name differs from
-     the setting of e.g.  `$LOGNAME'.
-
-`$RCSINIT'
-     Options prepended to the argument list, separated by spaces.  A
-     backslash escapes spaces within an option.  The `$RCSINIT' options
-     are prepended to the argument lists of most RCS commands.
-
-Troubleshooting
-***************
-
-Magic branch numbers
-====================
-
-   Externally, branch numbers consist of an odd number of dot-separated
-decimal integers.  *Note Revision numbers::.  That is not the whole
-truth, however.  For efficiency reasons CVS sometimes inserts an extra 0
-in the second rightmost position (1.2.3 becomes 1.2.0.3, 8.9.10.11.12
-becomes 8.9.10.11.0.12 and so on).
-
-   CVS does a pretty good job at hiding these so called magic branches,
-but in a few places the hiding is incomplete:
-
-   * The magic branch number appears in the output from `cvs log'.
-
-   * You cannot specify a symbolic branch name to `cvs admin'.
-
-   You can use the `admin' command to reassign a symbolic name to a
-branch the way RCS expects it to be.  If `R4patches' is assigned to the
-branch 1.4.2 (magic branch number 1.4.0.2) in file `numbers.c' you can
-do this:
-
-     $ cvs admin -NR4patches:1.4.2 numbers.c
-
-   It only works if at least one revision is already committed on the
-branch.  Be very careful so that you do not assign the tag to the wrong
-number.  (There is no way to see how the tag was assigned yesterday).
-
-GNU GENERAL PUBLIC LICENSE
-**************************
-
-Index
-*****
-
-* Menu:
-
-* -j (merging branches):                 Merging a branch.
-* -k (RCS kflags):                       Substitution modes.
-* .# files:                              update output.
-* .bashrc, setting CVSROOT in:           Specifying a repository.
-* .cshrc, setting CVSROOT in:            Specifying a repository.
-* .cvsrc file:                           ~/.cvsrc.
-* .profile, setting CVSROOT in:          Specifying a repository.
-* .tcshrc, setting CVSROOT in:           Specifying a repository.
-* /usr/local/cvsroot, as example repository: Repository.
-* :ext::                                 Connecting via rsh.
-* :kserver::                             Kerberos authenticated.
-* :local::                               Repository.
-* :pserver::                             Password authentication client.
-* :server::                              Connecting via rsh.
-* <<<<<<<:                               Conflicts example.
-* =======:                               Conflicts example.
-* >>>>>>>:                               Conflicts example.
-* __ files (VMS):                        update output.
-* A sample session:                      A sample session.
-* abandoning work:                       Editing files.
-* About this manual:                     Preface.
-* add (subcommand):                      Adding files.
-* Adding a tag:                          Tags.
-* Adding files:                          Adding files.
-* Admin (subcommand):                    admin.
-* Administrative files (intro):          Intro administrative files.
-* Administrative files (reference):      Administrative files.
-* Administrative files, editing them:    Intro administrative files.
-* ALL in commitinfo:                     commitinfo.
-* annotate (subcommand):                 annotate.
-* Atomic transactions, lack of:          Concurrency.
-* authenticated client, using:           Password authentication client.
-* authenticating server, setting up:     Password authentication server.
-* Author keyword:                        Keyword list.
-* Automatically ignored files:           cvsignore.
-* Avoiding editor invocation:            Common options.
-* Binary files:                          Binary files.
-* Branch merge example:                  Merging a branch.
-* Branch number:                         Revision numbers.
-* Branch numbers:                        Creating a branch.
-* Branch, creating a:                    Creating a branch.
-* Branch, vendor-:                       Tracking sources.
-* Branches:                              Branches.
-* Branches motivation:                   Branches motivation.
-* Branches, copying changes between:     Merging.
-* Branches, sticky:                      Sticky tags.
-* Bringing a file up to date:            Updating a file.
-* Bugs, known in this manual:            BUGS.
-* Bugs, reporting (manual):              BUGS.
-* Changes, copying between branches:     Merging.
-* Changing a log message:                admin options.
-* checked out copy, keeping:             Keeping a checked out copy.
-* Checkin program:                       modules.
-* Checking commits:                      commitinfo.
-* Checking out source:                   Getting the source.
-* Checkout (subcommand):                 checkout.
-* Checkout program:                      modules.
-* checkout, as term for getting ready to edit: Editing files.
-* Checkout, example:                     Getting the source.
-* choosing, reserved or unreserved checkouts: Choosing a model.
-* Cleaning up:                           Cleaning up.
-* Client/Server Operation:               Remote repositories.
-* Co (subcommand):                       checkout.
-* Command reference:                     Invoking CVS.
-* Command structure:                     Structure.
-* Comment leader:                        admin examples.
-* Commit (subcommand):                   commit.
-* Commit files:                          commit files.
-* Commit, when to:                       When to commit.
-* Commitinfo:                            commitinfo.
-* Committing changes:                    Committing your changes.
-* Common options:                        Common options.
-* Common syntax of info files:           syntax.
-* COMSPEC:                               Environment variables.
-* Conflict markers:                      Conflicts example.
-* Conflict resolution:                   Conflicts example.
-* Conflicts (merge example):             Conflicts example.
-* Contributors (CVS program):            What is CVS?.
-* Contributors (manual):                 Credits.
-* Copying changes:                       Merging.
-* Correcting a log message:              admin options.
-* Creating a branch:                     Creating a branch.
-* Creating a project:                    Starting a new project.
-* Creating a repository:                 Creating a repository.
-* Credits (CVS program):                 What is CVS?.
-* Credits (manual):                      Credits.
-* CVS 1.6, and watches:                  Watches Compatibility.
-* CVS command structure:                 Structure.
-* CVS passwd file:                       Password authentication server.
-* CVS, history of:                       What is CVS?.
-* CVS, introduction to:                  What is CVS?.
-* CVS_CLIENT_LOG:                        Environment variables.
-* CVS_CLIENT_PORT:                       Kerberos authenticated.
-* CVS_IGNORE_REMOTE_ROOT:                Environment variables.
-* CVS_PASSFILE, environment variable:    Password authentication client.
-* CVS_PASSWORD, environment variable:    Password authentication client.
-* CVS_RCMD_PORT:                         Environment variables.
-* CVS_RSH:                               Environment variables.
-* CVS_SERVER:                            Connecting via rsh.
-* CVS_SERVER_SLEEP:                      Environment variables.
-* CVSEDITOR:                             Environment variables.
-* CVSEDITOR, environment variable:       Committing your changes.
-* CVSIGNORE:                             Environment variables.
-* cvsignore (admin file), global:        cvsignore.
-* CVSREAD:                               Environment variables.
-* CVSREAD, overriding:                   Global options.
-* CVSROOT:                               Environment variables.
-* cvsroot:                               Repository.
-* CVSROOT (file):                        Administrative files.
-* CVSROOT, environment variable:         Specifying a repository.
-* CVSROOT, module name:                  Intro administrative files.
-* CVSROOT, multiple repositories:        Multiple repositories.
-* CVSROOT, overriding:                   Global options.
-* CVSUMASK:                              File permissions.
-* CVSWRAPPERS:                           Environment variables.
-* cvswrappers (admin file):              Wrappers.
-* CVSWRAPPERS, environment variable:     Wrappers.
-* Date keyword:                          Keyword list.
-* Dates:                                 Common options.
-* Decimal revision number:               Revision numbers.
-* DEFAULT in commitinfo:                 commitinfo.
-* DEFAULT in editinfo:                   editinfo.
-* Defining a module:                     Defining the module.
-* Defining modules (intro):              Intro administrative files.
-* Defining modules (reference manual):   modules.
-* Deleting files:                        Removing files.
-* Deleting revisions:                    admin options.
-* Deleting sticky tags:                  Sticky tags.
-* Descending directories:                Recursive behavior.
-* Diff:                                  Viewing differences.
-* Diff (subcommand):                     diff.
-* Differences, merging:                  Merging two revisions.
-* Directories, moving:                   Moving directories.
-* Directory, descending:                 Recursive behavior.
-* Disjoint repositories:                 Multiple repositories.
-* Distributing log messages:             loginfo.
-* driver.c (merge example):              Conflicts example.
-* edit (subcommand):                     Editing files.
-* editinfo (admin file):                 editinfo.
-* Editing administrative files:          Intro administrative files.
-* Editing the modules file:              Defining the module.
-* EDITOR:                                Environment variables.
-* Editor, avoiding invocation of:        Common options.
-* EDITOR, environment variable:          Committing your changes.
-* EDITOR, overriding:                    Global options.
-* Editor, specifying per module:         editinfo.
-* editors (subcommand):                  Watch information.
-* emerge:                                Conflicts example.
-* Environment variables:                 Environment variables.
-* Errors, reporting (manual):            BUGS.
-* Example of a work-session:             A sample session.
-* Example of merge:                      Conflicts example.
-* Example, branch merge:                 Merging a branch.
-* Export (subcommand):                   export.
-* Export program:                        modules.
-* Fetching source:                       Getting the source.
-* File locking:                          Multiple developers.
-* File permissions:                      File permissions.
-* File status:                           File status.
-* Files, moving:                         Moving files.
-* Files, reference manual:               Administrative files.
-* Fixing a log message:                  admin options.
-* Forcing a tag match:                   Common options.
-* Form for log message:                  rcsinfo.
-* Format of CVS commands:                Structure.
-* Getting started:                       A sample session.
-* Getting the source:                    Getting the source.
-* Global cvsignore:                      cvsignore.
-* Global options:                        Global options.
-* Group:                                 File permissions.
-* Header keyword:                        Keyword list.
-* History (subcommand):                  history.
-* History browsing:                      History browsing.
-* History file:                          history file.
-* History files:                         Repository files.
-* History of CVS:                        What is CVS?.
-* HOME:                                  Environment variables.
-* HOMEPATH:                              Environment variables.
-* Id keyword:                            Keyword list.
-* Ident (shell command):                 Using keywords.
-* Identifying files:                     Keyword substitution.
-* Ignored files:                         cvsignore.
-* Ignoring files:                        cvsignore.
-* Import (subcommand):                   import.
-* Importing files:                       From files.
-* Importing files, from other version control systesm: From other version 
control systems.
-* Importing modules:                     First import.
-* Index:                                 Index.
-* Info files (syntax):                   syntax.
-* Informing others:                      Informing others.
-* init (subcommand):                     Creating a repository.
-* Introduction to CVS:                   What is CVS?.
-* Invoking CVS:                          Invoking CVS.
-* Isolation:                             History browsing.
-* Join:                                  Merging a branch.
-* keeping a checked out copy:            Keeping a checked out copy.
-* kerberos:                              Kerberos authenticated.
-* Keyword expansion:                     Keyword substitution.
-* Keyword substitution:                  Keyword substitution.
-* Kflag:                                 Substitution modes.
-* kinit:                                 Kerberos authenticated.
-* Known bugs in this manual:             BUGS.
-* Layout of repository:                  Repository.
-* Left-hand options:                     Global options.
-* Linear development:                    Revision numbers.
-* List, mailing list:                    What is CVS?.
-* Locally Added:                         File status.
-* Locally Modified:                      File status.
-* Locally Removed:                       File status.
-* Locker keyword:                        Keyword list.
-* Locking files:                         Multiple developers.
-* locks, cvs:                            Concurrency.
-* Log (subcommand):                      log.
-* Log information, saving:               history file.
-* Log keyword:                           Keyword list.
-* Log keyword, selecting comment leader: admin examples.
-* Log message entry:                     Committing your changes.
-* Log message template:                  rcsinfo.
-* Log message, correcting:               admin options.
-* Log messages:                          loginfo.
-* Log messages, editing:                 editinfo.
-* Login (subcommand):                    Password authentication client.
-* loginfo (admin file):                  loginfo.
-* LOGNAME:                               Environment variables.
-* Mail, automatic mail on commit:        Informing others.
-* Mailing list:                          What is CVS?.
-* Mailing log messages:                  loginfo.
-* Main trunk (intro):                    Revision numbers.
-* Main trunk and branches:               Branches.
-* Many repositories:                     Multiple repositories.
-* Markers, conflict:                     Conflicts example.
-* Merge, an example:                     Conflicts example.
-* Merge, branch example:                 Merging a branch.
-* Merging:                               Merging.
-* Merging a branch:                      Merging a branch.
-* Merging a file:                        Updating a file.
-* Merging two revisions:                 Merging two revisions.
-* Modifications, copying between branches: Merging.
-* Module status:                         modules.
-* Module, defining:                      Defining the module.
-* Modules (admin file):                  modules.
-* Modules (intro):                       Basic concepts.
-* Modules file:                          Intro administrative files.
-* Modules file, changing:                Defining the module.
-* Motivation for branches:               Branches motivation.
-* Moving directories:                    Moving directories.
-* Moving files:                          Moving files.
-* Multiple developers:                   Multiple developers.
-* Multiple repositories:                 Multiple repositories.
-* Name keyword:                          Keyword list.
-* Name, symbolic (tag):                  Tags.
-* Needs Checkout:                        File status.
-* Needs Merge:                           File status.
-* Needs Patch:                           File status.
-* Newsgroups:                            What is CVS?.
-* notify (admin file):                   Getting Notified.
-* Nroff (selecting comment leader):      admin examples.
-* Number, branch:                        Revision numbers.
-* Number, revision-:                     Revision numbers.
-* option defaults:                       ~/.cvsrc.
-* Options, global:                       Global options.
-* Outdating revisions:                   admin options.
-* Overlap:                               Updating a file.
-* Overriding CVSREAD:                    Global options.
-* Overriding CVSROOT:                    Global options.
-* Overriding EDITOR:                     Global options.
-* Overriding RCSBIN:                     Global options.
-* Overriding TMPDIR:                     Global options.
-* Parallel repositories:                 Multiple repositories.
-* passwd (admin file):                   Password authentication server.
-* password client, using:                Password authentication client.
-* password server, setting up:           Password authentication server.
-* PATH:                                  Environment variables.
-* Per-module editor:                     editinfo.
-* Policy:                                When to commit.
-* Precommit checking:                    commitinfo.
-* Preface:                               Preface.
-* Pserver (subcommand):                  Password authentication server.
-* RCS history files:                     Repository files.
-* RCS keywords:                          Keyword list.
-* RCS revision numbers:                  Tags.
-* RCS, importing files from:             From other version control systems.
-* RCS-style locking:                     Multiple developers.
-* RCSBIN:                                Environment variables.
-* RCSBIN, overriding:                    Global options.
-* RCSfile keyword:                       Keyword list.
-* rcsinfo (admin file):                  rcsinfo.
-* RCSINIT:                               Environment variables.
-* Rdiff (subcommand):                    rdiff.
-* read-only files, and -r:               Global options.
-* read-only files, and CVSREAD:          Environment variables.
-* read-only files, and watches:          Setting a watch.
-* read-only files, in repository:        File permissions.
-* Read-only mode:                        Global options.
-* Recursive (directory descending):      Recursive behavior.
-* Reference manual (files):              Administrative files.
-* Reference manual for variables:        Environment variables.
-* Reference, commands:                   Invoking CVS.
-* Release (subcommand):                  release.
-* Releases, revisions and versions:      Versions revisions releases.
-* Releasing your working copy:           Cleaning up.
-* Remote repositories:                   Remote repositories.
-* Remove (subcommand):                   Removing files.
-* Removing a change:                     Merging two revisions.
-* Removing files:                        Removing files.
-* Removing your working copy:            Cleaning up.
-* Renaming directories:                  Moving directories.
-* Renaming files:                        Moving files.
-* Replacing a log message:               admin options.
-* Reporting bugs (manual):               BUGS.
-* Repositories, multiple:                Multiple repositories.
-* Repositories, remote:                  Remote repositories.
-* Repository (intro):                    Repository.
-* Repository, example:                   Repository.
-* Repository, how data is stored:        Repository storage.
-* Repository, setting up:                Creating a repository.
-* reserved checkouts:                    Multiple developers.
-* Resetting sticky tags:                 Sticky tags.
-* Resolving a conflict:                  Conflicts example.
-* Restoring old version of removed file: Sticky tags.
-* Resurrecting old version of dead file: Sticky tags.
-* Retrieving an old revision using tags: Tags.
-* reverting to repository version:       Editing files.
-* Revision keyword:                      Keyword list.
-* Revision management:                   Revision management.
-* Revision numbers:                      Revision numbers.
-* Revision tree:                         Revision numbers.
-* Revision tree, making branches:        Branches.
-* Revisions, merging differences between: Merging two revisions.
-* Revisions, versions and releases:      Versions revisions releases.
-* Right-hand options:                    Common options.
-* rsh:                                   Connecting via rsh.
-* Rtag (subcommand):                     rtag.
-* rtag, creating a branch using:         Creating a branch.
-* Saving space:                          admin options.
-* SCCS, importing files from:            From other version control systems.
-* Security:                              File permissions.
-* setgid:                                File permissions.
-* Setting up a repository:               Creating a repository.
-* setuid:                                File permissions.
-* Signum Support:                        Preface.
-* Source keyword:                        Keyword list.
-* Source, getting CVS source:            What is CVS?.
-* Source, getting from CVS:              Getting the source.
-* Specifying dates:                      Common options.
-* Spreading information:                 Informing others.
-* Starting a project with CVS:           Starting a new project.
-* State keyword:                         Keyword list.
-* Status (subcommand):                   status.
-* Status of a file:                      File status.
-* Status of a module:                    modules.
-* sticky date:                           Sticky tags.
-* Sticky tags:                           Sticky tags.
-* Sticky tags, resetting:                Sticky tags.
-* Storing log messages:                  loginfo.
-* Structure:                             Structure.
-* Subdirectories:                        Recursive behavior.
-* Support, getting CVS support:          Preface.
-* Symbolic name (tag):                   Tags.
-* Syntax of info files:                  syntax.
-* Tag (subcommand):                      tag.
-* Tag program:                           modules.
-* tag, command, introduction:            Tags.
-* tag, example:                          Tags.
-* Tag, retrieving old revisions:         Tags.
-* Tag, symbolic name:                    Tags.
-* taginfo:                               user-defined logging.
-* Tags:                                  Tags.
-* Tags, sticky:                          Sticky tags.
-* tc, Trivial Compiler (example):        A sample session.
-* Team of developers:                    Multiple developers.
-* TEMP:                                  Environment variables.
-* Template for log message:              rcsinfo.
-* temporary files, location of:          Environment variables.
-* Third-party sources:                   Tracking sources.
-* Time:                                  Common options.
-* timezone, in input:                    Common options.
-* timezone, in output:                   log.
-* TMP:                                   Environment variables.
-* TMPDIR:                                Environment variables.
-* TMPDIR, overriding:                    Global options.
-* Trace:                                 Global options.
-* Traceability:                          History browsing.
-* Tracking sources:                      Tracking sources.
-* Transactions, atomic, lack of:         Concurrency.
-* Trivial Compiler (example):            A sample session.
-* Typical repository:                    Repository.
-* umask, for repository files:           File permissions.
-* Undoing a change:                      Merging two revisions.
-* unedit (subcommand):                   Editing files.
-* Unknown:                               File status.
-* unreserved checkouts:                  Multiple developers.
-* Unresolved Conflict:                   File status.
-* Up-to-date:                            File status.
-* Update (subcommand):                   update.
-* Update program:                        modules.
-* update, introduction:                  Updating a file.
-* Updating a file:                       Updating a file.
-* USER:                                  Environment variables.
-* users (admin file):                    Getting Notified.
-* Vendor:                                Tracking sources.
-* Vendor branch:                         Tracking sources.
-* Versions, revisions and releases:      Versions revisions releases.
-* Viewing differences:                   Viewing differences.
-* watch add (subcommand):                Getting Notified.
-* watch off (subcommand):                Setting a watch.
-* watch on (subcommand):                 Setting a watch.
-* watch remove (subcommand):             Getting Notified.
-* watchers (subcommand):                 Watch information.
-* Watches:                               Watches.
-* Wdiff (import example):                First import.
-* What (shell command):                  Using keywords.
-* What branches are good for:            Branches motivation.
-* What is CVS?:                          What is CVS?.
-* When to commit:                        When to commit.
-* Work-session, example of:              A sample session.
-* Working copy:                          Multiple developers.
-* Working copy, removing:                Cleaning up.
-* Wrappers:                              Wrappers.
-* zone, time, in input:                  Common options.
-* zone, time, in output:                 log.
-



reply via email to

[Prev in Thread] Current Thread [Next in Thread]