ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

½éÉÜÒ»ÏÂCVSµÄÓ÷¨£¿(Ò»)
2014-11-24 00:58:25 ¡¾´ó ÖРС¡¿ ä¯ÀÀ:3423´Î
Tags£º½éÉÜ CVS Ó÷¨

CVS ÊǽøÐÐOpen Source ¿ª·¢ºÍ¹ÜÀíµÄÒ»¸öÓ¦ÓóÌÐò¡£Ê¹µÃ³ÌÐò¿ª·¢ÕßÄܹ»ºÜºÃµÄ¿ØÖÆ
Èí¼þµÄ°ä²¼£¬±ãÓÚ¿ª·¢×é¼äµÄЭµ÷¡£


CVS µÄ°²×° (´Óhttp://www.cvshome.org»ñÈ¡×îа汾µÄCVS)
CVS Server:
ÏÂÔØ:
Ò»°ãÑ¡Ôñ°²×°ÔÚ linuxÉÏ¡£Äã¿ÉÒÔ´Ócvshome(http://www.cvshome.org/dev/codelinux.html)ÏÂÔØ¡£


ÅäÖãº
#groupadd cvs
#useradd cvsroot
#chmod 777 -R /home/cvsroot
ÔÚ /etc/inetd.conf Àï¼ÓÈëÒ»ÐУº
cvspserver stream tcp nowait root /usr/bin/cvs cvs -f ¨Callow-root=/home/cvsroot pserver
ÔÚ /etc/services.conf Àï¼ÓÈëÒ»ÐÐ(¿ÉÄÜÒÑ´æÔÚ)£º
cvspserver 2401/tcp # CVS client/server operations


Ìí¼Ó±ØÒªµÄCVSÓû§µ½CVS×é
È磺
#usermod -g cvs -G cvs hjc
»ò
#useradd -g cvs -G cvs hjc


Æô¶¯CVS Servr:
#killall -HUP inetd


½¨Á¢CVS²Ö¿â
login as cvsroot
$cvs -d /home/cvsroot init


CVS Client£º
LinuxÉÏCVS ServerÒ²¿É×öCVS Client
window£º ´ÓcvshomeÏÂÔØ¡£


ÅäÖû·¾³±äÁ¿£º(¼ÙÉè CVS Server Ϊ111.222.1.110 )
CVSROOT=:pserver:hjc@111.222.1.110:/home/cvsroot


ÔËÐУº
cvs ¨Chelp-commands »ñÈ¡ÃüÁîµÄ°ïÖú
cvs login 怫CVS Server
cd cvstest ½øÈëprojectĿ¼
cvs check project1 »ñÈ¡project1 µÄÔ´Âë
cd project1 ½øÈëproject1Ŀ¼
cvs status ²é¿´project1 µÄ״̬


Äã¿ÉÒÔ´Ó http://www.cvshome.org/docs/manual/index.html »ñÈ¡¸ü¶àµÄCVS ÃüÁî°ïÖú¡£
CVSÊÇRCSµÄÇ°¶Ë¹¤¾ß£¬ËüÊÇÓÃÓÚ¶àÓû§²¢Ðпª·¢µÄ°æ±¾¿ØÖƹ¤¾ß£¬ËüµÄ×î´óÌصã ÊÇʹÓÃÁË¡°copy-modify-merge¡±»úÖƶø²»ÊÇ¡°lock-modify-unlock¡±¡£Í¨¹ýʹÓà CVSÉú³ÉÒ»¸ö´æ´¢ÎļþµÄ²Ö¿â£¨repository£©£¬´æ´¢ÔÚ²Ö¿âÖеÄÿ¸öĿ¼½Ð×öÄ£¿é £¨module£©£¬ÔÚÐÞ¸Äʱ½«ÏàÓ¦µÄÄ£¿é¼ì³öµ½¹¤×÷Ŀ¼ÖУ¨working directory£©Éú ³É¶ÔÓ¦µÄĿ¼£¬ËùÓеÄÐ޸Ķ¼ÔÚ¹¤×÷Ŀ¼ÖÐÍê³É£¬ÐÞ¸ÄÍê³ÉºóÔÙÌá½»µ½²Ö¿âÖÐÉú ³Éеİ汾ºÅ£¬²¢¼ÓÒÔ±£´æ¡£
1£® CVS³õʼ»¯ ¡ª¡ª¡ª¡ª- £¨1£© ´´½¨CVSROOT¸ùĿ¼ ±à¼­ÓйصĻ·¾³±äÁ¿£¬¼ÓÈëCVSROOTµÄ¶¨Ò壨±ÈÈçÔÚ /etc/bashrc ÎļþÖмÓÈëÏ ÃæÁ½ÐУ©£º CVSROOT=/usr/local/cvsroot export CVSROOT
È»ºóÔÚÏàӦλÖÿªÊ¼´´½¨CVSROOT $cd /usr/local/ $mkdir cvsroot $cvs ¨Cd /usr/local/cvsroot init
Õâʱ¾Í»á²úÉú/usr/local/cvsroot/CVSROOT Ŀ¼£¬ÕâÏÂÃæ·Å×ÅÓйØCVSµÄÅäÖÃÎÄ ¼þ¡£Í¬Ê±/usr/local/cvsroot/Ò²×÷ΪÎļþ²Ö¿â´æ·ÅËùÓеÄÎļþ¡£ (2£© ´´½¨¿ª·¢ÏîÄ¿ Èç¹û´ÓÍ·¿ªÊ¼Ò»¸öеÄÏîÄ¿£¬¾ÍÐèÒª´´½¨Ò»¸öµ¥¶ÀµÄĿ¼£¬²¢°ÑËùÓÐҪʹÓõÄÎÄ ¼þ×öÒ»¸öÓÐЧµÄ×éÖ¯¡£¶øÈç¹ûÔÚ¿ªÊ¼Ê¹ÓÃÔ´ÎļþµÄĿ¼֮ǰ¾ÍÓÐÁË£¬ÔòÖ»Ðè½øÈë ¸ÃĿ¼¾ÍÐÐÁË¡£ $cd /work/tang $ls cvstest . .. c/ $cd cvstest È»ºó£¬¾Í¿ÉÒÔÊäÈëÔ´ÎļþĿ¼£º $cvs import ¨Cm ¡°Create Source Dir¡± cvstest/c tang cvstest
ÕâÑù»áÉú³É $CVSROOT/cvstest/c Ŀ¼¡£ ÆäÖÐ -m ÓÃÀ´Ö¸¶¨×¢ÊÍÐÅÏ¢£¬Èç¹ûºóÃæ ÔÚÃüÁîÐв»Ö¸¶¨×¢ÊÍÐÅÏ¢£¬Ôò»áÆô¶¯È±Ê¡±à¼­Æ÷£¨vi£©ÒªÇóÊäÈë×¢ÊÍÐÅÏ¢¡£ tan g, cvstest·Ö±ð±êʶÁ˳§É̺ͷ¢Ðбêʶ¡£
×¢Ò⣬ʹÓÃimportÃüÁî»á°Ñµ±Ç°Ä¿Â¼ÏµÄËùÓÐÎļþºÍĿ¼£¨°üÀ¨×ÓĿ¼£©ÒýÈëµ½ Îļþ²Ö¿âÖÐÖ¸¶¨Ä£¿é£¨Ä¿Â¼£©Ï¡£
2£® ÃüÁî¼ò½é ¡ª¡ª¡ª¡ª- £¨1£© ¼ì³öÔ´Îļþ cvs checkout [-r rev][-D date][-d dir][-j merg1] [-j merg2] modules
-r ¼ì³öÖ¸¶¨°æ±¾µÄÄ£¿é -D ¼ì³öÖ¸¶¨ÈÕÆÚµÄÄ£¿é -d ¼ì³öÖ¸¶¨Ä¿Â¼¶ø²»ÊÇÄ£¿é -j ºÏ²¢µ±Ç°°æ±¾ºÍÖ¸¶¨°æ±¾
ʹÓÃÏÂÃæµÄÃüÁî»á¼ì³ö¸Õ²ÅÉú³ÉµÄÄ£¿é£¬²¢ÔÚµ±Ç°Ä¿Â¼ÏÂÉú³ÉÓëÎļþ²Ö¿âÖÐÍêÈ« Ò»ÑùµÄĿ¼½á¹¹£º $cvs checkout cvstest/c
¶ÔÓÚĿ¼½á¹¹±È½Ï¸´ÔÓµÄÄ£¿é¿ÉÒÔÔÚ $CVSROOT/CVSROOT/modulesÖмÓÒÔÖ¸¶¨:


1) $cvs checkout CVSROOT/modules 2) ÔÚmodulesÎļþÖмÓÈëÏÂÃæÒ»ÐУº SOURCE cvstest/c 3) È»ºóÖ´ÐУº $cvs commit ¨Cm ¡°Add SOURCE¡±
ÒÔºó¾Í¿ÉÒÔʹÓÃÏÂÃæµÄÃüÁîÔÚµ±Ç°Â·¾¶ÏÂÉú³É cvstest/c Ŀ¼ $cvs checkout SOURCE
ÔÚµ±Ç°Â·¾¶ÏÂÉú³ÉµÄÕâ¸öĿ¼¾Í±»³ÆΪ¹¤×÷Ŀ¼£¬¶ÔÔ´ÎļþµÄËùÓÐÐ޸Ķ¼Ó¦¸ÃÔÚ Õâ¸öĿ¼ÏÂÍê³É£¬¶ø¾ø¶Ô²»ÔÊÐíÈ¥¸Ä¶¯ÔÚ Îļþ²Ö¿âÖÐ$CVSROOT Ŀ¼ÏµÄÎļþ¡£ £¨2£© ɾ³ý¡¢Ôö¼Ó¡¢ÖØÃüÃûÎļþºÍĿ¼ cvs add [-k kflags][-m message] files¡­
-k Ö¸¶¨ÒÔºó¸ÃÎļþµÄȱʡ¼ì³öĿ¼ -m ¶ÔÎļþµÄÃèÊö
ÉÏÊöÃüÁî»á¼ÓÈëÒ»¸öеÄÎļþµ½Îļþ²Ö¿âÀµ«Ö±µ½Ê¹ÓÃÁËÌá½»ÃüÁîËü²Å»áÕæÕý ¸üÐÂÎļþ²Ö¿â¡£
cvs remove [options] files
ÉÏÊöÃüÁî»á´ÓÎļþ²Ö¿âÖÐɾ³ýÎļþ£¬µ«Ò²Òªµ½Ìá½»Ö®ºó²ÅÓÐ×÷ÓᣠÀý1£ºÔö¼ÓÎļþ $cvs checkout SOURCE $cd cvstest/c $touch test.c $cvs add test.c $cvs commit ¨Cm ¡°add test.c¡±
Àý2£ºÉ¾³ýÎļþ $cvs checkout SOURCE $cd cvstest/c $rm test.c $cvs remove test.c
ʹÓà ¨Cf Ñ¡ÏîÄÜÉÏÃæÁ½²½ºÏ×öÒ»²½¡£ $cvs remove ¨Cf test.c
Èç¹ûÔÚÌύ֮ǰÏë»Ö¸´¸Õ²Åɾ³ýµÄÎļþ£¬¿ÉÒÔÈçÏ£º $cvs add test.c Èç¹ûÖ»Ö´ÐÐÁ˵ÚÒ»²½É¾³ý£¨rm£©£¬Ôò¿ÉÒÔÓÃÏÂÃæµÄ·½·¨»Ö¸´£º $cvs update test.c
¶ÔÓÚÖØÃüÃûµÄÎļþ£¬¿ÉÒÔÏÈɾ³ýÔÙÌí¼Ó¡£
¶ÔÓÚĿ¼µÄÐ޸ģ¨ÖØÃüÃû£©£¬¿ÉÄÜÐèÒªÐÞ¸Äcvs ¹ÜÀíÎļþ£¬Ò»°ãÓ¦¸Ã×ñÑ­ÒÔϲ½ Ö裺 1) È·ÈÏËùÓÐÓйصÄÐ޸Ķ¼ÒѾ­Ìá½»£» 2) ½øÈëÎļþ²Ö¿âÖÐÒªÐ޸ĵÄÄ£¿éĿ¼£¬¶ÔÏàÓ¦µÄĿ¼½øÐÐÐ޸ģ¨ÖØÃüÃû»òɾ³ý£© $cd $CVSROOT/modules $mv old_dir new_dir 3) Èç¹ûÓбØÒª£¬Ð޸ĹÜÀíÎļþ£¬±ÈÈçmodules Îļþ Èç¹ûҪɾ³ýĿ¼£¬ÔòÓ¦¸ÃÏȶÔĿ¼ÖÐÿ¸öÎļþ¶¼½øÐÐÁËɾ³ý£¨°üÀ¨Ê¹ÓÃcvs remo ve £©´¦ÀíÖ®ºóÔÙÖ´ÐÐÉÏÃæµÄµÚ2²½¡£ £¨3£© Ìá½»Ô´Îļþ cvs commit [-Rl][-m mesg] files
-R Á¬×ÓĿ¼һÆðÌá½» -l Ö»Ìá½»±¾µØĿ¼£¨²»Ìá½»×ÓĿ¼£© -m ×¢ÊÍÐÅÏ¢
ÔÚ¼ì³öÔ´ÎļþÖ®ºó£¬ÔÚ¹¤×÷Ŀ¼ÖжÔÔ´Îļþ½øÐеÄËùÓÐÐ޸Ķ¼±ØÐëÔÚÌá½»Ö®ºó²Å ÄܶÔÎļþ²Ö¿âÖеÄÔ´ÎļþÆð×÷Ó㬲¢ÇÒеÄÎļþ²ÅÄܹ»±»·ÖÅäÒ»¸öеİ汾ºÅ¡£ £¨4£© ÊͷŹ¤×÷Ŀ¼ cvs release ¨Cd SOURCE

Ê×Ò³ ÉÏÒ»Ò³ 1 2 ÏÂÒ»Ò³ βҳ 1/2/2
¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
ÉÏһƪ£ºMVCµÄÓŵãÊÇʲô£¿ ÏÂһƪ£º½éÉÜÒ»ÏÂOracle±¯¹ÛËøºÍÀÖ¹ÛËø

×îÐÂÎÄÕÂ

ÈÈÃÅÎÄÕÂ

Hot ÎÄÕÂ

Python

C ÓïÑÔ

C++»ù´¡

´óÊý¾Ý»ù´¡

linux±à³Ì»ù´¡

C/C++ÃæÊÔÌâÄ¿