2 »ù±¾ÅäÖÃ

¾¯¸æ: ×îºÃµÄ·½Ê½ÊÇÔÚÒ»¸öȫеĴ¢´æ¿âÖÐÖ´ÐÐÕâЩ²½Ö裬 ²¢È·¶¨ÄãÁ˽âËùÓеĺó¹û¡£ ͬʱ£¬ ÇëÈ·¶¨ÄãÓÐ×îÐÂÇҿɶÁµÄ×ÊÁϱ¸·Ý£¡

2.1 ³õʼ»¯´¢´æ¿â

¡¡¡¡Ê×ÏÈÒª×öµÄÊǽ¨Á¢Ò»¸öеĴ¢´æ¿â£¬ Ö´ÐÐÏÂÁÐÃüÁî¸æËß CVS ½¨Á¢²¢³õʼ»¯£º

% cvs -d path-to-repository init

¡¡¡¡ÕâÃüÁî¸æËß CVS ½¨Á¢ CVSROOT µÄĿ¼£¬ Õâ¸öĿ¼Àï·ÅÖÃÁËËùÓеÄÅäÖÃÎļþ¡£

2.2 ÅäÖô¢´æ¿âµÄÓû§×é

¡¡¡¡ÏÖÔÚÎÒÃǽ«½¨Á¢Ò»¸öÓµÓиô¢´æ¿âµÄÓû§×飬 ËùÓеĿª·¢Õß±ØÐë¼ÓÈëÕâ¸öÓû§×飬 ÕâÑùËûÃDzÅÄܹ»´æÈ¡¸Ã´¢´æ¿â¡£ ÎÒÃǼÙÉèÓû§×éÃû³ÆÊÇÒÔ FreeBSD ÄÚ²¿Ëù²ÉÓÃµÄ ncvs¡£

# pw groupadd ncvs

¡¡¡¡½Ó×ÅÄãÐèҪʹÓà chown(8) ½«Ä¿Â¼ËùÓÐÕßÖ¸¶¨¸ø¸Õ¸ÕÐÂÔöµÄÓû§×飺

# chown -R :ncvs path-to-your-repository

¡¡¡¡Èç´ËÒ»À´£¬ ûÓÐÊʵ±µÄÓû§×éÐí¿ÉµÄÓû§£¬ ¾Í²»ÔÙÄܹ»Ð´Èë¸Ã´¢´æ¿â¡£

2.3 È¡»ØÔ´Îļþ

¡¡¡¡ÏÖÔÚÄãÐèÒª´Ó FreeBSD ´¢´æ¿âÖÐÈ¡»Ø CVSROOT Ŀ¼£¬ ´Ó FreeBSD ÄäÃûµÄ CVS ¾µÏñÕ¾À´È¡»Ø»áÊÇ×î¼òµ¥µÄ·½·¨¡£Çë²éÔÄ ÔÚ Ê¹ÓÃÊÖ²á ÖеÄÏà¹ØÕÂ½Ú À´»ñµÃ¸ü¶àÐÅÏ¢¡£ ÎÒÃǼÙÉèÈ¡»ØµÄÎļþ´æ·ÅÔÚÏàͬĿ¼Ï嵀 CVSROOT-freebsd Ŀ¼ÖС£

2.4 ¸´ÖÆ FreeBSD µÄÃüÁî½Å±¾

¡¡¡¡½ÓÏÂÀ´ÎÒÃÇÒª¸´ÖÆ FreeBSD CVSROOT ÀïµÄÎļþµ½ÄãµÄ´¢´æ¿âÖС£ Èç¹ûÄãÊìϤ CVS£¬ ÄãÒ²Ðí»áÏëÄã¿ÉÒÔÖ±½Ó»ãÈë (import) ÕâЩÃüÁî½Å±¾£¬ ´Ó¶ø¸üÈÝÒ×µØÔÚδÀ´ÓÐаæÊ±½øÐа汾ͬ²½£» ²»¹ý£¬ÊÂʵÊÇ CVS ÔÚÕâ¸ö²¿·ÝÓÐȱµã£º µ±»ãÈëÎļþµ½ CVSROOT ʱ£¬ Ëü²¢²»»á¸üÐÂÅäÖÃÎļþ¡£ ΪÁËÒªÈϳöÕâЩÎļþ£¬ Ä㻹ÐèÒªÔÚ»ãÈëËüÃǺóÒ»Ò»ÖØÐÂÌá½»£¬ Õâ¾ÍʧȥÁË cvs import µÄ¼ÛÖµ¡£ Òò´Ë£¬ ÍÆ¼öµÄ·½·¨ÊÇÖ±½Ó½«ÕâЩÃüÁî½Å±¾¸´ÖƹýÈ¥¡£

¡¡¡¡Èç¹ûÄú²»Á˽âÕâЩ²Ù×÷ҲûÓйØÏµ ©¤©¤ ÒòΪ×îºóµÄ½á¹û¶¼ÊÇÒ»ÑùµÄ¡£ Ê×ÏÈ»ã³ö (checkout) ÄãµÄ CVSROOT£¬ È»ºó¸´ÖƸոÕÈ¡»ØµÄ FreeBSD Îļþµ½±¾µØµÄĿ¼ÖУ¨ÉÐδ±ä¶¯¹ý£©£º

% cvs -d path-to-your-repository checkout CVSROOT
% cd CVSROOT
% cp ../CVSROOT-freebsd/* .
% cvs add *

¡¡¡¡×¢Ò⣺ ÄãºÜ¿ÉÄÜ»áµÃµ½Ò»¶Î¹ØÓÚijЩĿ¼ûÓб»¸´ÖƵľ¯¸æ£¬ÕâÊÇÕý³£µÄ£¬ Äã²¢²»ÐèÒªÓõ½ÕâЩĿ¼¡£

2.5 ÃüÁî½Å±¾ËµÃ÷

¡¡¡¡ÏÖÔÚÄãµÄ¹¤×÷Ŀ¼ÖÐÓÐÁËÍêÕû FreeBSD ÏîÄ¿ÔÚËûÃǵĴ¢´æ¿âÖÐʹÓõÄÃüÁî½Å±¾µÄ¸±±¾£¬ ÒÔÏÂÊÇÿ¸öÎļþ¼òµ¥µÄ½éÉÜ¡£

2.6 ¶¨ÖÆÃüÁî½Å±¾

¡¡¡¡½ÓÏÂÀ´µÄ²½ÖèÒªÅäÖÃÕâЩÃüÁî½Å±¾Ê¹µÃËüÃÇ¿ÉÒÔÔÚÄãµÄ»·¾³ÖÐÔË×÷¡£ ÄãÓ¦¸Ã¼ì²éËùÓÐÔÚĿ¼ÖеÄÎļþ£¬ ²¢ÐÞ¸ÄΪ·ûºÏÄãµÄÅäÖᣠÓÈÆä£¬ Äã»áÏëÒªÐÞ¸ÄÏÂÁеÄÎļþ£º

  1. Èç¹ûÄ㲻ϣÍûʹÓà FreeBSD µÄרÓÃÅäÖ㬠Äã¿ÉÒÔ°²È«µØÉ¾³ý access£º

    % cvs rm -f access
    
  2. ±à¼­ avail À´°üº¬ÄãÏë¿ØÖÆ´æÈ¡µÄ¸÷ÖÖ´¢´æ¿âĿ¼£¬ ÇëÈ·¶¨ÄãÓб£Áô avail||CVSROOT ÕâÒ»ÐУ¬ ·ñÔòÄ㽫»áÔÚÏÂÒ»²½°ÑÄã×Ô¼ºËøÔÚÍâÃæ¡£

    ÁíÍâÄã¿ÉÒÔÔÚ´ËÎļþÖÐÐÂÔö¿ª·¢ÕßµÄÓû§×飬FreeBSD Ô¤ÉèʹÓà access À´ÁгöËùÓеĿª·¢Õߣ¬ µ«Äã¿ÉÒÔʹÓÃÈκÎÄãÏëÒªÓõÄÎļþ¡£ Èç¹ûÄãÏëµÄ»°Ò²¿ÉÒÔÐÂÔöÓû§×é (ÇëʹÓÃÖ¸¶¨ÔÚ cvs_acls.pl Ç°ÃæËù½éÉܵÄÓï·¨)¡£

  3. ±à¼­ cfg_local.pm À´°üº¬ÄãÐèÒªµÄÑ¡Ïî¡£ ÄãÓ¦¸ÃÌØ±ð¼ìÊÓÒ»ÏÂÏÂÁеÄÅäÖÃÏîÄ¿£º

    • %TEMPLATE_HEADERS - ÕâÊÇÓÃÀ´È¡µÃÈÕÖ¾ÐÅÏ¢ÄÚÈݵijÌÐò£¬ ²¢¼ÓÈ뽫³ÊÏÖµÄÓʼþÏîÄ¿ºÍÌṩ·Ç¿ÕÖµµÄÐÅÏ¢¡£ Äã¿ÉÒÔɾ³ý PR ºÍ MFC after ÐðÊö£¬µ±È»Ò²¿ÉÒÔ¼ÓÈëÄãÏëÒªµÄ¡£

    • $MAIL_BRANCH_HDR - Èç¹ûÄãÏëÒªÔÚÿһ·âÌá½»µÄÓʼþÖмÓÈëÃèÊöÊÇÔÚÄÄÒ»¸ö·ÖÖ§ÖÐÌá½»µÄ±êÍ·£¬ ÄÇôÇ붨ÒåΪ·ûºÏÄãµÄÅäÖᣠÈç¹ûÄã²»ÏëʹÓÃÕâÑùµÄ±êÍ·£¬ ÄÇôÇëÅäÖÃΪ¿ÕÖµ¡£

    • @COMMIT_HOSTS - ¶¨ÒåʹÓÃÕßÄܹ»Ìá½»µÄÖ÷»ú¡£

    • $MAILADDRS - ÅäÖÃÓ¦¸ÃÊÕµ½Ìá½»ÓʼþµÄÓʼþµØÖ·¡£

    • @LOG_FILE_MAP - ÒÔÄãËùÐèÒªµÄÀ´ÐÞ¸ÄÕâ¸öÊý×飬 ÿ¸öÅäÖÃÖµÓ¦¸Ã·ûºÏ±»Ìá½»µÄĿ¼£¬¶øÌá½»µÄÈÕÖ¾ÐÅÏ¢»áÒÔ commitlogs µÄÃû³Æ´¢´æÔÚÿ¸ö±»ÅäÖõÄĿ¼Ï¡£

    • $COMMITCHECK_EXTRA - Èç¹ûÄã²»ÏëʹÓà FreeBSD רÓõĴæÈ¡¿ØÖÆ ¹¦ÄÜ£¬ Äã¿ÉÒÔÔÚ´ËÎļþÖÐɾ³ý¶Ô $COMMITCHECK_EXTRA µÄ¶¨Òå¡£

    ×¢Òâ: ÐÞ¸Ä $IDHEADER µÄ¹¦ÄÜÖ»ÓÐÔÚ FreeBSD ƽ̨ÉÏ¿ÉÒÔÔË×÷£¬ ËüÒÀÀµÓÚ FreeBSD רÓÃµÄ CVS ÅäÖá£

    Äã¿ÉÒÔ¼ì²é cfg.pm ÊÇ·ñÓÐÆäËüµÄ²ÎÊý¿ÉÒÔÐ޸ģ¬ µ«ÊÇÐÞ¸Ä×îºÃÊÇÓÐÔ­ÒòµÄ¡£

  4. ɾ³ý exclude ÖйØÓÚFreeBSD µÄרÓÃÅäÖõÄÐðÊö (ÈçÒÔ ^ports/ Ϊ¿ªÍ·µÄÿһÐеÈ)¡£ ´ËÍ⣬ ×¢Ê͵ôÒÔ ^CVSROOT/ Ϊ¿ªÍ·µÄÐÐÁУ¬ È»ºóÐÂÔöÒ»ÐÐÖ»ÓÐ ^CVSROOT/¡£ µÈµ½¹Ø¼ü´ÊÕ¹¿ªµÄÃüÁî½Å±¾°²×°ºÃºó£¬ Äã¿ÉÒÔÔÚ CVSROOT Ŀ¼ÖеÄÎļþÀï¼ÓÉϱêÍ·£¬ È»ºóÔÙ»Ö¸´¸Õ¸Õ×¢Ê͵ÄÐÐÁУ¬ µ«ÔÚÄ㻹ûÓÐÌύǰÔòÖ»±£³ÖÕâÑù¡£

  5. ±à¼­ modules£¬ ²¢É¾³ýËùÓÐ FreeBSD µÄÄ£¿é¡£ ¼ÓÈëÄãÐèÒªµÄÄ£¿é¡£

  6. ×¢Òâ: ´Ë²½ÖèÖ»ÓÐÔÚÄãÓÚ cfg_local.pm ÖÐÖ¸¶¨ÁË $IDHEADER ²ÅÓбØÒªÅäÖà (Ö»ÓÐÔÚ FreeBSD רÓÃµÄ CVS ÅäÖÃÉϲÅÄܹ»Ö´ÐÐ)¡£

    ±à¼­ options ÒÔ·ûºÏÄãÔÚ cfg_local.pm ÖÐÅäÖõıêÇ©Ãû³Æ¡£ ÔÚËùÓеÄÎļþÖÐËÑѰ FreeBSD ²¢Ì滻ΪÄãÅäÖõıêÇ©Ãû³Æ¡£

  7. ÐÞ¸Ä rcstemplate ΪºÍÔÚ cfg_local.pm ÖÐÏàͬµÄÅäÖá£

  8. Ñ¡ÔñÐÔµÄɾ³ýÔÚ tagcheck ÖÐÕë¶Ô FreeBSD ¼ì²éµÄÅäÖá£Äã¿ÉÒÔ½ö½öÔÚÎļþµÄ×îÉϲã¼ÓÉÏ exit 0 À´È¡ÏûËùÓбêÇ©µÄ¼ì²é¡£

  9. ÔÚÄãÍê³ÉǰµÄ×îºóÒ»¼þÊÂÊÇÈ·ÈÏ commitlogs ¿ÉÒÔÕýÈ·´¢´æ¡£ Ô¤Éè»á´¢´æÔÚ´¢´æ¿âÖÐ CVSROOT ÀïµÄ commitlogs ×ÓĿ¼ÖУ¬ ¶øÕâ¸öĿ¼ÐèÒªÊÂÏȽ¨Á¢£º

    % mkdir commitlogs
    % cvs add commitlogs
    

¡¡¡¡ÏÖÔÚ£¬ ÔÚϸÐĵļìÊÓ¹ýºó£¬ Äã¿ÉÒÔÌá½»ÄãµÄÐÞ¸ÄÁË¡£ È·¶¨ÄãÏÈǰÓÐÔÚ avail ÖÐÔÊÐíÄã×Ô¼º´æÈ¡ CVSROOT Ŀ¼£¬ ÒòΪÈç¹ûûÓÐÕâÑù×öµÄ»°Äã»á°ÑÄã×Ô¼ºËøÔÚÍâÃæ¡£ ÍêÕûÈ·ÈϹýºóÇëÖ´ÐÐÏÂÁÐÃüÁ

% cvs commit -m '- Initial FreeBSD scripts commit'

2.7 ²âÊÔÅäÖÃ

¡¡¡¡ÄãÒѾ­×¼±¸ºÃ×ö»ù±¾µÄ²âÊÔÁË£º Ç¿ÖÆÌá½» avail ÒÔÈ·ÈÏÿ¼þʶ¼ÈçÔ¤ÆÚµÄÔË×÷¡£

% cvs commit -f -m 'Forced commit to test the new CVSROOT scripts' avail

¡¡¡¡Èç¹ûÒ»ÇÐÕý³££¬ ÄÇô¹§Ï²ÁË£¡ ÄãÏÖÔÚÒѾ­ÎªÄãµÄ´¢´æ¿â½¨Á¢ºÃ FreeBSD µÄÃüÁî½Å±¾ÁË¡£ Èç¹û CVS ÈÔÈ»Óо¯¸æÊ²Ã´£¬ »ØÍ·¼ìÊÓÉÏÊöµÄ²½ÖèÊÇ·ñÓÐÕýÈ·µÄÖ´ÐС£

±¾ÎĵµºÍÆäËüÎĵµ¿É´ÓÕâÀïÏÂÔØ£ºftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Èç¹û¶ÔÓÚFreeBSDÓÐÎÊÌ⣬ÇëÏÈÔĶÁÎĵµ£¬Èç²»Äܽâ¾öÔÙÁªÏµ<questions@FreeBSD.org>.
¹ØÓÚ±¾ÎĵµµÄÎÊÌâÇë·¢ÐÅÁªÏµ <doc@FreeBSD.org>.