2 °ò¥»³]©w

Warning: ³Ì¦nªº¤è¦¡¬O¦b¤@­Ó¥þ·sªºÀx¦s®w¤¤°õ¦æ³o¨Ç¨BÆJ¡A¨Ã½T©w§A¤F¸Ñ©Ò¦³ªº«á ªG¡C¦P®É¡A½Ð½T©w§A¦³³Ì·s¥B¥iŪªº¸ê®Æ³Æ¥÷¡I

2.1 ªì©l¤ÆÀx¦s®w

­º¥ý­n°µªº¬O«Ø¥ß¤@­Ó·sªºÀx¦s®w¡A°õ¦æ¤U¦C©R¥O§i¶D CVS «Ø¥ß¨Ãªì©l¤Æ¡G

% cvs -d path-to-repository init

³o©R¥O§i¶D CVS «Ø¥ß CVSROOT ªº¥Ø¿ý¡A³o­Ó¥Ø¿ý¸Ì©ñ¸m¤F©Ò¦³ªº²ÕºAÀÉ¡C

2.2 ³]©wÀx¦s®wªº¸s²Õ

²{¦b§Ú­Ì±N«Ø¥ß¤@­Ó¾Ö¦³¸ÓÀx¦s®wªº¸s²Õ¡A©Ò¦³ªº¶}µoªÌ¥²¶·¥[¤J³o­Ó¸s²Õ ¡A³o¼Ë¥L­Ì¤~¯à°÷¦s¨ú¸ÓÀx¦s®w¡C§Ú­Ì°²³]¸s²Õ¦WºÙ¬O¥H FreeBSD ¤º©wªº ncvs¡C

# pw groupadd ncvs

±µªÌ§A»Ý­n¨Ï¥Î chown(8) ±N¥Ø¿ý©Ò¦³ªÌ«ü©wµ¹­è­è·s¼Wªº¸s²Õ¡G

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

¦p¦¹¤@¨Ó¨S¦³¾A·íªº¸s²Õ³\¥i±N¨S¦³¨ä¥L¤H¥i¥H¼g¤J¸ÓÀx¦s®w¡C

2.3 ¨ú¦^­ì©lÀÉ®×

²{¦b§A»Ý­n±q FreeBSD Àx¦s®w¤¤¨ú¦^ CVSROOT ¥Ø¿ý¡A ±q FreeBSD °Î¦Wªº CVS ¬M®g¯¸¨Ó¨ú¦^·|¬O³Ì²³æªº¤èªk¡C½Ð¬d¾\ ¦b handbook ¤¤ªº¬ÛÃö³¹¸`¨Ó Àò±o§ó¦h¸ê°T¡C§Ú­Ì°²³]¨ú¦^ªºÀɮצs©ñ¦b¬Û¦P¥Ø¿ý¤Uªº CVSROOT-freebsd ¥Ø¿ý¤¤¡C

2.4 ½Æ»s FreeBSD ªº©R¥O½Z

±µ¤U¨Ó§Ú­Ì­n½Æ»s FreeBSD CVSROOT ¸ÌªºÀɮרì§A ªºÀx¦s®w¤¤¡C¦pªG§A¬O±E±x©ó CVS¡A§A¤]³\·|·Q§A ¥i¥Hª½±µ¶×¤J³o¨Ç©R¥O½Z¡A¸Õ¹Ï§ó®e©öªº¦P®É©M§ó·sªºª©¥»¦P¨B¡F¤£¹L¡A¨Æ¹ê¬O CVS ¦b³o­Ó³¡¥÷¦³¯ÊÂI¡G·í¶×¤JÀɮרì CVSROOT ®É¡A¥¦¨Ã¤£·|§ó·s²ÕºAÀÉ¡C¬°¤F­n»{¥X³o¨ÇÀÉ®× ¡A§AÁٻݭn¦b¶×¤J¥¦­Ì«á¤@¤@­«·s´£¥æ¡A³o´N¥¢¥h¤F cvs import ªº»ù­È¡C¦]¦¹¡A«ØÄ³ªº¤èªk¬O¶È½Æ»s³o¨Ç©R¥O ½Z¹L¥h¡C

­Y¤W­z¤º®e¹ï§A¨S¦³·N¸q¬O¤£­«­nªº¡X¡X¦]¬°³Ì«áªºµ²ªG³£¬O¤@¼Ëªº¡C ­º¥ý¶×¥X§Aªº CVSROOT¡AµM«á½Æ»s­è­è¨ú¦^ªº FreeBSD Àɮר쥻¦aªº¥Ø¿ý¤¤¡]©|¥¼ÅܰʹL¡^¡G

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

ª`·N¡G§A«Ü¥i¯à·|±o¨ì¤@¬qÃö©ó¬Y¨Ç¥Ø¿ý¨S¦³³Q½Æ»sªºÄµ§i¡A³o¬O¥¿±`ªº¡A §A¨Ã¤£»Ý­n¥Î¨ì³o¨Ç¥Ø¿ý¡C

2.5 ©R¥O½Z»¡©ú

²{¦b§Aªº¤u§@¥Ø¿ý¤¤¦³¤F§¹¾ã FreeBSD ±M®×¦b¥¦­ÌªºÀx¦s®w¤¤¨Ï¥Îªº©R¥O½Z ªº½Æ¥»¡A¥H¤U¬O¨C­ÓÀɮײ³æªº¤¶²Ð¡C

2.6 ¦Û­q©R¥O½Z

±µ¤U¨Óªº¨BÆJ­n³]©w³o¨Ç©R¥O½Z¨Ï±o¥¦­Ì¥i¥H¦b§AªºÀô¹Ò¤¤¹B§@¡C§AÀ³¸ÓÀË ¬d©Ò¦³¦b¥Ø¿ý¤¤ªºÀɮסA¨Ã­×§ï¬°²Å¦X§Aªº³]©w¡C¤×¨ä¡A§A·|·Q­n­×§ï¤U¦CªºÀɮסG

  1. ¦pªG§A¤£§Æ±æ¨Ï¥ÎFreeBSD ªº¯S®í³]©w¡A §A¥i¥H¦w¥þ¦a§R°£ access¡G

    % cvs rm -f access
    
  2. ½s¿è avail ¨Ó¥]§t§A·Q±±¨î¦s¨úªº¦UºØÀx¦s®w ¥Ø¿ý¡A½Ð½T©w§A¦³«O¯d avail||CVSROOT ³o¤@¦æ¡A§_«h §A±N·|¦b¤U¤@¨B§â§A¦Û¤vÂê¦b¥~­±¡C

    ¥t¥~§A¥i¥H¦b¦¹Àɮפ¤·s¼W¶}µoªÌªº¸s²Õ¡AFreeBSD ¹w³]¨Ï¥Î access ¨Ó¦C¥X©Ò¦³ªº¶}µoªÌ¡A¦ý§A¥i¥H¨Ï¥Î¥ô¦ó§A ·Q­n¥ÎªºÀɮסC¦pªG§A·Qªº¸Ü¤]¥i¥H·s¼W¸s²Õ¡]½Ð¨Ï¥Î«ü©w¦b cvs_acls.pl ¤W¼h¸Ìªº»yªk¡^¡C

  3. ½s¿è cfg_local.pm ¨Ó¥]§t§A»Ý­nªº¿ï¶µ¡C¤×¨ä §AÀ³¸ÓÀ˵ø¤@¤U¤U¦Cªº³]©w¶µ¥Ø¡G

    • %TEMPLATE_HEADERS - ³o¬O¥Î¨Ó¨ú±o¤é»x°T ®§¤º®eªºµ{§Ç¡A¨Ã¥[¤J±N§e²{ªº¶l¥ó¶µ¥Ø©M´£¨Ñ«DªÅ­Èªº°T®§¡C§A¥i ¥H§R°£ PR ©M MFC after ±Ô­z¡A·íµM¤]¥i¥H¥[¤J§A·Q­nªº¡C

    • $MAIL_BRANCH_HDR - ¦pªG§A·Q­n¦b¨C¤@«Ê ´£¥æªº¶l¥ó¤¤¥[¤J´y­z¬O¦b­þ¤@­Ó¤À¤ä¤¤´£¥æªº¼ÐÀY¡A¨º»ò½Ð©w¸q¬° ²Å¦X§Aªº³]©w¡C¦pªG§A¤£·Q¨Ï¥Î³o¼Ëªº¼ÐÀY¡A¨º»ò½Ð³]©w¬°ªÅ­È¡C

    • @COMMIT_HOSTS - ©w¸q¨Ï¥ÎªÌ¯à°÷´£¥æªº¥D¾÷¡C

    • $MAILADDRS - ³]©wÀ³¸Ó¦¬¨ì´£¥æ¶l¥óªº¶l ¥ó¦ì§}¡C

    • @LOG_FILE_MAP - ¥H§A©Ò»Ý­nªº¨Ó­×§ï³o­Ó °}¦C¡A¨C­Ó³]©w­ÈÀ³¸Ó²Å¦X³Q´£¥æªº¥Ø¿ý¡A¦Ó´£¥æªº¤é»x°T®§·|¥H commitlogs ªº¦WºÙÀx¦s¦b¨C­Ó³Q³]©wªº¥Ø¿ý¤U¡C

    • $COMMITCHECK_EXTRA - ¦pªG§A¤£·Q¨Ï¥Î FreeBSD ¯S®íªº¦s¨ú±±¨î ¥\¯à¡A§A¥i¥H¦b¦¹Àɮפ¤§R°£¹ï $COMMITCHECK_EXTRA ªº©w¸q¡C

    Note: ­×§ï $IDHEADER ªº¥\¯à¥u¦³¦b FreeBSD ¥­¥x¤W¥i¥H¹B§@¡A¥¦¬O¬Û¨Ì¦b FreeBSD ªº¯S®í CVS ³]©w¤W¡C

    §A¥i¥HÀˬd cfg.pm ¬O§_¦³¨ä¥Lªº°Ñ¼Æ¥i¥H­×§ï ¡A¦ý¬O­×§ï³Ì¦n¬O¦³­ì¦]ªº¡C

  4. §R°£ exclude ¤¤Ãö©óFreeBSD ªº¯S®í³]©wªº±Ô ­z¡]¦p¥H ^ports/ ¬°¶}ÀYªº¨C¤@¦æµ¥¡^¡C¦¹¥~¡Aµù¸Ñ ±¼¥H ^CVSROOT/ ¬°¶}ÀYªº¦æ¦C¡AµM«á·s¼W¤@¦æ¥u¦³ ^CVSROOT/¡Cµ¥¨ìÃöÁä¦r®i¶}ªº©R¥O½Z¦w¸Ë¦n«á¡A§A¥i ¥H¦b CVSROOT ¥Ø¿ý¤¤ªºÀɮ׸̥[¤W¼ÐÀY¡AµM«á¦A«ì ´_­è­èµù¸Ñªº¦æ¦C¡A¦ý¦b§AÁÙ¨S¦³´£¥æ«e«h¥u«O«ù³o¼Ë¡C

  5. ½s¿è modules¡A¨Ã§R°£©Ò¦³ FreeBSD ªº¸s²Õ¡C ¥[¤J§A»Ý­nªº¼Ò²Õ¡C

  6. Note: ¦¹¨BÆJ¥u¦³¦b§A©ó cfg_local.pm ¤¤«ü©w ¤F $IDHEADER ¤~¦³¥²­n³]©w¡]¥u¦³¦b FreeBSD ªº¯S®í CVS ³]©w¤W¤~¯à°÷°õ¦æ¡^¡C

    ½s¿è options ¥H²Å¦X§A¦b cfg_local.pm ¤¤³]©wªº¼ÐÅÒ¦WºÙ¡C¨Ã¦b©Ò¦³ªºÀÉ®× ¤¤·j´M FreeBSD ¨Ã´À´«¬°§A³]©wªº¼ÐÅÒ¦WºÙ¡C

  7. ­×§ï rcstemplate ¬°©M¦b cfg_local.pm ¤¤¬Û¦Pªº³]©w¡C

  8. ¿ï¾Ü©Êªº§R°£¦b tagcheck ¤¤°w¹ï FreeBSD ÀË ¬dªº³]©w¡C§A¥i¥H¶È¶È¦bÀɮתº³Ì¤W¼h¥[¤W exit 0 ¨Ó ¨ú®ø©Ò¦³¼ÐÅÒªºÀˬd¡C

  9. ¦b§A§¹¦¨«eªº³Ì«á¤@¥ó¨Æ¬O½T»{ commitlogs ¥i¥H¥¿½TÀx¦s¡C¹w³]·|Àx ¦s¦bÀx¦s®w¤¤ªº commitlogs ¤l¥Ø¿ý¤¤¡A¦Ó³o­Ó¥Ø¿ý »Ý­n¥ý«Ø¥ß¡G

    % mkdir commitlogs
    % cvs add commitlogs
    

²{¦b¡A¦b²Ó¤ßªºÀ˵ø¹L«á¡A§A¥i¥H´£¥æ§Aªº­×§ï¤F¡C½T©w§A¥ý«e¦³¦b avail ¤¤¤¹³\§A¦Û¤v¦s¨ú CVSROOT ¥Ø¿ý¡A¦]¬°¦pªG¨S¦³³o¼Ë°µªº¸Ü§A·|§â§A¦Û¤vÂê¦b¥~­±¡C§¹¾ã½T»{¹L«á½Ð°õ¦æ¤U ¦C©R¥O¡G

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

2.7 ´ú¸Õ³]©w

§A¤w¸g·Ç³Æ¦n°µ°ò¥»ªº´ú¸Õ¤F¡G±j¨î´£¥æ avail ¥H½T»{¨C¥ó¨Æ³£¦p¹w´Áªº¹B§@¡C

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

¦pªG¤@¤Á¥¿±`¡A¨º»ò®¥³ß¤F¡I§A²{¦b¤w¸g¬°§AªºÀx¦s®w«Ø¥ß¦n FreeBSD ªº©R ¥O½Z¤F¡C¦pªG CVS ¤´µM¦³Äµ§i¤°»ò¡A¦^ÀYÀ˵ø¤W ­zªº¨BÆJ¬O§_¦³¥¿½Tªº°õ¦æ¡C

¥»¤å¤Î¨ä¥L¤å¥ó¡A¥i¥Ñ¦¹¤U¸ü¡Gftp://ftp.FreeBSD.org/pub/FreeBSD/doc/¡C

­Y¦³ FreeBSD ¤è­±ºÃ°Ý¡A½Ð¥ý¾\Ū FreeBSD ¬ÛÃö¤å¥ó¡A¦p¤£¯à¸Ñ¨Mªº¸Ü¡A¦A¬¢¸ß <questions@FreeBSD.org>¡C
Ãö©ó¥»¤å¥óªº°ÝÃD¡A½Ð¬¢¸ß <doc@FreeBSD.org>¡C