½¨Á¢ CVS ´¢´æ¿â (repository) - ÒÔ FreeBSD µÄ·½Ê½ | ||
---|---|---|
ÉÏÒ»Ò³ |
¡¡¡¡FreeBSD ÏîÄ¿×Ô¼ºÊ¹ÓÃÒ»¸öÓе㲻ͬµÄÅäÖã¬ÄǾÍÊÇͬʱҲʹÓà FreeBSD CVSROOT ÖÐµÄ freebsd ×ÓĿ¼¡£ ÒòΪ´óÁ¿µÄ committer ±ØÐëÔÚÏàͬµÄÓû§×éÖУ¬ Òò´ËÏîĿдÁËÒ»¸ö¼òµ¥µÄ wrapper À´È·±£ committer ¿ÉÒÔÕýÈ·µÄÌá½»£¬ ²¢ÅäÖô¢´æ¿âµÄÓû§×éÃû³Æ¡£
¡¡¡¡Èç¹ûÄãµÄ´¢´æ¿âÒ²ÐèÒªÕâÑùµÄ¹¦ÄÜ£¬ÄÇôÏÂÃæ¾Í»á½éÉÜÈçºÎ½¨Á¢£¬ ²»¹ýÊ×ÏÈÒªÏÈÀ´¿´Ò»¶Î¸´ÔӵĸÅÊö¡£
access - ´ËÎļþÓÃÀ´¿ØÖÆ´¢´æ¿âµÄ´æÈ¡¡£ ÄãÓ¦¸Ã±à¼²¢¼ÓÈëËùÓÐÔÚÏîÄ¿ÖеijÉÔ±¡£
freebsd/commitmail.pl - ´ËÎļþÒѾ²»ÔÙʹÓÃÁË£¬ Ö»ÊÇÒòΪÀúÊ·ÔÒò¶ø±£Áô¡£ Äã²»Ó¦¸ü¶¯´ËÎļþ¡£
freebsd/cvswrap.c - ´Ë CVS wrapper Ô´´úÂëÊÇÓÃÀ´½¨Á¢¼ì²éËùÓдæÈ¡µÄ¹¤×÷¡£¸ü¶àµÄÐÅÏ¢ÔÚÉÔºó»áÌá³ö¡£ ÄãÓ¦¸Ã±à¼ ACCESS ºÍ REALCVS µÄ·¾¶ÒÔ·ûºÏÄãµÄÅäÖá£
freebsd/mailsend.c - ´ËÎļþÊÇ FreeBSD É趨 mailing lists ÐèÒªµÄ£¬ Äã²»Ó¦¸ü¶¯´ËÎļþ¡£
Ö»°ÑÄãµÄÓû§Ãû¼Óµ½ access ÖС£
±à¼ cvswrap.c µÄ·¾¶ÒÔ·ûºÏÄãµÄÅäÖ㬠¶¨ÒåÔÚ´óдµÄ ACCESS ÖС£ ͬʱÈç¹ûĬÈÏÖµ²»·ûºÏÄãµÄÇé¿öµÄ»°Ò²Ó¦¸ÃÐ޸ı¾µØÊµ¼ÊµÄ cvs ³ÌÐòËùÔÚλÖᣠÔʼµÄ cvswrap.c Ï£ÍûÌæ´ú·þÎñÆ÷¶ËµÄ CVS ³ÌÐò£¬ ÀýÈ罫Æä¸ÄÃûΪ /usr/bin/ncvs¡£
ÎÒµÄ cvswrap.c ÊÇÕâÑù£º
#define ACCESS "/local/cvsroot/CVSROOT/access" #define REALCVS "/usr/bin/ncvs"
½ÓÏÂÀ´Êǽ¨Á¢ wrapper À´È·ÈÏÄãÔÚÌύʱÊÇÔÚÕýÈ·µÄÓû§×éÖС£ ÔÚÄãµÄ CVSROOT ÖÐµÄ cvswrap.c ÒªÄܹ»Ê¹Óá£
ÔÚÄãÍê³É±à¼²¢¼ÓÈëÕýÈ·µÄ·¾¶ºóÎÒÃÇÒªÀ´±àÒëÔ´´úÂ룺
% cc -o cvs cvswrap.c
È»ºó½øÐÐÐèÒªÅäÖ㨴˲½ÖèÐèÒª root ȨÏÞ£©£º
# mv /usr/bin/cvs /usr/bin/ncvs # mv cvs /usr/bin/cvs # chown root:ncvs /usr/bin/cvs /usr/bin/ncvs # chmod o-rx /usr/bin/ncvs # chmod u-w,g+s /usr/bin/cvs
Õâ»á½« wrapper °²×°³ÉÔ¤ÉèµÄ cvs ³ÌÐò£¬ ÇëÈ·¶¨ÈκÎҪʹÓô¢´æ¿âµÄÈËÓ¦¸ÃÓÐÕýÈ·µÄ´æÈ¡È¨ÏÞ¡£
ÏÖÔÚÄã¿ÉÒÔɾ³ýËùÓÐÔÚ´¢´æ¿âÓû§×éÖеÄʹÓÃÕߣ¬ËùÓеĴæÈ¡¿ØÖÆ»á¾ÓÉ wrapper Íê³É£¬Í¬Ê± wrapper »áÅäÖôæÈ¡µÄÕýÈ·Óû§×é¡£
¡¡¡¡ÄãµÄ wrapper ÏÖÔÚÓ¦¸ÃÒѾ°²×°ºÃÁË£¬Ä㵱ȻҲ¿ÉÒÔÇ¿ÖÆÌá½» access À´²âÊÔÊÇ·ñÕý³££º
% cvs commit -f -m 'Forced commit to test the new CVSROOT scripts' access
¡¡¡¡Í¬ÑùµØ£¬Èç¹ûÓдíÎ󣬼ì²éÊÇ·ñÉÏÊöËùÓв½Öè¶¼ÓÐÕýÈ·µÄÖ´ÐС£
±¾ÎĵµºÍÆäËüÎĵµ¿É´ÓÕâÀïÏÂÔØ£ºftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
Èç¹û¶ÔÓÚFreeBSDÓÐÎÊÌ⣬ÇëÏÈÔĶÁÎĵµ£¬Èç²»Äܽâ¾öÔÙÁªÏµ<questions@FreeBSD.org>.
¹ØÓÚ±¾ÎĵµµÄÎÊÌâÇë·¢ÐÅÁªÏµ <doc@FreeBSD.org>.