· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
CVS/Tips

CVS ÆÁ



1.1. CVSROOT ÀÇ Á¤È®ÇÑ »ç¿ë

CVSROOT ȯ°æº¯¼ö´Â CVS ·Î i/o µÇ´Â ÆÄÀÏÀÇ À§Ä¡¸¦ ÁöÁ¤ÇÏ´Â SHELL ȯ°æº¯¼öÀÌ´Ù. ±×·¯³ª CVSROOT ´Â ÃʱâÀÇ ÆÄÀÏ import ³ª checkout ¿¡¼­ ÇÊ¿äÇÒ»Ó ÀÌ¹Ì checkout µÈ ÆÄÀÏÀ» ÀÛ¾÷Çϴµ¥´Â ÇÊ¿äÇÏÁö ¾Ê´Ù.

º¸Åë CVSROOT ´Â ´ÙÀ½ÀÌ µÑ ÁßÀÇ ÇϳªÀÌ´Ù.

# echo $CVSROOT
/home/CVSROOT
#
ÀÌ°ÍÀº ÆÄÀÏÀÇ ÀúÀåÀÌ ·ÎÄýýºÅÛ¿¡ ÀÌ·ç¾î Áú¶§ÀÌ´Ù. ÀÌ °æ¿ì´Â º°·Î ¾Ë¾Æ¾ßÇÒ ³»¿ëÀÌ ¾øÀ¸¹Ç·Î ³Ñ¾î°£´Ù.

# echo $CVSROOT
:ext:@devel.sds.co.kr:/home/CVSROOT
#
ÀÌ °æ¿ì´Â ÆÄÀÏÀÇ ÀúÀåÀÌ ¸®¸ðÆ®½Ã½ºÅÛ¿¡ ÀÌ·ç¾î Áú¶§ÀÌ´Ù. ¿©±â¼­ "ext" ´Â ¸®¸ðÆ®½Ã½ºÅÛÀÓÀ» ³ªÅ¸³»¸ç, "@devel.sds.co.kr" Àº ¼­¹öÀÇ ÁÖ¼Ò¸¦ "@" ¾Õ¿¡´Â °èÁ¤id °¡ µé¾î°¥ ¼ö ÀÖ´Ù. "/home/CVSROOT" ´Â CVS ÆÄÀÏÀÌ ÀúÀåµÇ´Â ÀúÀå¼Ò¸¦ ¸»ÇÑ´Ù. ÇöÀçÀÇ ¿É¼ÇÀ» º¸¸é "@"¾Õ¿¡ °èÁ¤ÀÌ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀ¸¹Ç·Î ÇöÀç ·Î±×ÀÎµÈ °èÁ¤À¸·Î 󸮸¦ ÇÏ°Ô µÈ´Ù.

CVSROOT °¡ ¾ø´õ¶óµµ 󸮸¦ ÇÒ¼ö ÀÖ´Â °æ¿ì°¡ Àִµ¥, ±× °æ¿ì´Â ÇØ´ç µð·ºÅ丮¿¡ CVS µð·ºÅ丮°¡ Á¸ÀçÇÏ´Â °æ¿ìÀÌ´Ù. CVS µð·ºÅ丮¿¡ º¸¸é Root ¶ó´Â ÆÄÀÏÀÌ Àִµ¥ ³»¿ëÀ» È®ÀÎÇØ º¸¸é ¹Ù·Î CVSROOT ÀÇ ³»¿ë°ú µ¿ÀÏÇÏ´Ù.

# echo CVS/Root
:ext:@devel.sds.co.kr:/home/CVSROOT
#

±×¿Ü¿¡ CVS ÆÄÀÏ¿¡´Â Entries ¿Í Respository ÆÄÀÏÀÌ Àִµ¥ ¸®¸ðÆ®ÀÇ CVS ¿Í µ¿±âÈ­ ÇÏ´Â ÆÄÀÏÀ̹ǷΠÀÓÀ¸·Î ÆíÁýÇϴ°ÍÀº Á¤½Å°Ç°­¿¡ ÇØ·Ó´Ù. --;;

¸®¸ðÆ® CVS ½Ã½ºÅÛ¿¡ Á¢±ÙÇÏ·Á¸é "CVS_RSH" ȯ°æº¯¼ö°¡ ÇÊ¿äÇÏ´Ù. ÁöÁ¤µÇÁö ¾ÊÀ¸¸é rsh ¸¦ ÀÌ¿ëÇϳª ¿äÁò¿¡ rsh Á¢±ÙÀ» Çã¿ëÇÏ´Â ½Ã½ºÅÛÀº ¾øÀ¸¹Ç·Î ssh ¸¦ ÁöÁ¤ÇØ ÁÖ¾î¾ß ÇÑ´Ù.

export CVS_RSH=ssh

¸ðµç ºÎºÐÀÌ ÁغñµÇ¾úÀ¸¸é CVS ¸¦ ½ÃÀÛÇÏ´Â ¸í·ÉÀº?

# cvs import -m "CVS start" CVS_START CVS_START init

±×·¯¸é ÇöÀçÀÇ µð·ºÅ丮 ¾Æ·¡¿¡ ÀÖ´Â ¸ðµç ÆÄÀÏÀ» "CVS_START" ¶ó´Â ÇÁ·ÎÁ§Æ®·Î CVS ¿¡ µî·ÏÇÑ´Ù.

1.2. »èÁ¦µÈ ÆÄÀÏÀÇ º¹±¸

´õ ÀÌ»ó ÇÊ¿ä ¾øÀ»°Í °°¾Æ¼­ »èÁ¦µÈ ÆÄÀÏÀÇ º¹±¸´Â ´Ù½Ã add ·Î¼­ Ãß°¡ ½ÃŲ´Ù. ÆÄÀÏÀÌ Çö µð·ºÅ丮¿¡ ¾øÀ» °æ¿ì¿¡´Â »èÁ¦µÇ±â ÀÌÀü ¹öÀüÀÇ ÆÄÀÏÀ» ¶³¾î ¶ß¸®¸é¼­ Ãß°¡µÈ´Ù.

$ cvs add mail_view_origin.tpl
winchild@devel.sds.co.kr's password:
cvs add: Resurrecting file `mail_view_origin.tpl' from revision 1.1.
cvs add: Re-adding file `mail_view_origin.tpl' (in place of dead revision 1.2).
U mail_view_origin.tpl
cvs add: use 'cvs commit' to add this file permanently
#

Áï ¹öÀü 1.1 ÆÄÀÏÀ» ¶³¾î¶ß¸®¸é¼­ add °¡ µÈ°ÍÀ» º¸¿© ÁÖ°í ÀÖ´Ù. ±×·¯¸é ÇÊ¿äÇÑ ´ë·Î ÆÄÀÏÀ» Ãß°¡·Î ÆíÁýÇÑ ÈÄ¿¡ commit À¸·Î Ãß°¡ÇÑ´Ù.

# vi mail_view_origin.tpl
# cvs commit mail_view_origin.tpl
winchild@devel.sds.co.kr's password:
Checking in mail_view_origin.tpl;
/data/mailnara/webmail-v2.x/templates/templates/main/blue1/korean/mail/mail_view_origin.tpl,v  <--  mail_view_origin.tpl
new revision: 1.3; previous revision: 1.2
done
#

±×·¯¸é »èÁ¦ ¹öÀüÀÎ 1.2 ¿¡¼­ 1.3 À¸·Î º¯°æµÇ¸é¼­ ÆÄÀÏÀÌ º¹±¸°¡ µÈ´Ù.



1.3. ±¸ ¹öÀü ÆÄÀÏÀ» »õ ¹öÀüÆÄÀÏ·Î

ÀÛ¾÷À» ÇÏ´Ù°¡ º¸¸é, Áö±Ý ÁøÇàÁßÀÎ ¹öÀüÀ» ¹«½ÃÇÏ°í, ±¸ ¹öÀüÀ» ÇöÀçÀÇ ¹öÀüÀ¸·Î ´ëÄ¡ÇÏ¿© °è¼Ó ÀÛ¾÷À» ÇØ°¡¾ß ÇÒ »óȲÀÌ ¹ß»ýÇÏ°Ô µÈ´Ù. log ¸¦ È®ÀÎÇØ º¸¸é 1.2 ±îÁö ÁøÇàµÈ°ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù.

$ cvs log testfile.php

RCS file: /data/CVSROOT/PJWKREPORT/testfile.php,v
Working file: testfile.php
head: 1.2
branch:
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 2;     selected revisions: 2
description:
----------------------------
revision 1.2
date: 2006/02/01 16:13:55;  author: winchild;  state: Exp;  lines: +2 -1
TEST2
----------------------------
revision 1.1
date: 2006/02/01 16:13:17;  author: winchild;  state: Exp;
Å×&#49853;.
=============================================================================

¿ì¼± ¸®ºñÀü 1.1 ÀÇ ÆÄÀÏÀ» ¾ò¾î¿Â´Ù.

$ cvs update -r1.1 testfile.php
U testfile.php

»óŸ¦ È®ÀÎÇØ º¸¸é 1.1 ¿¡¼­ Sticky Tag °¡ °É¸°°ÍÀ» È®ÀÎÇØ º¼¼ö ÀÖ´Ù.

$ cvs status testfile.php
===================================================================
File: testfile.php      Status: Locally Modified

   Working revision:    1.1     Wed Feb  1 16:14:06 2006
   Repository revision: 1.1     /data/CVSROOT/PJWKREPORT/testfile.php,v
   Sticky Tag:          1.1
   Sticky Date:         (none)
   Sticky Options:      (none)

¿ì¼± ÇöÀçÀÇ ÆÄÀÏÀ» ÀÓ½ÃÀå¼Ò·Î ¿Å±ä´Ù.

$ mv testfile.php /tmp

±×¸®°í ÇöÀçÀÇ ¹öÀü ÆÄÀÏÀ» ´Ù½Ã ¹Þ´Â´Ù. À̶§ ½ºÆ¼Å°Å±׸¦ ¾ø¾Ö±â À§Çؼ­ "-A" ¿É¼ÇÀ» »ç¿ëÇÑ´Ù.

]$ cvs update -A testfile.php
cvs update: warning: testfile.php was lost
U testfile.php
[winchild@sdsmngr intranet]$ cvs status testfile.php
===================================================================
File: testfile.php      Status: Up-to-date

   Working revision:    1.2     Wed Feb  1 16:19:45 2006
   Repository revision: 1.2     /data/CVSROOT/PJWKREPORT/testfile.php,v
   Sticky Tag:          (none)
   Sticky Date:         (none)
   Sticky Options:      (none)

ÀÌ·¸°Ô ÇØ¾ß "commit" ¿¡¼­ ÃֽŹöÀüÀ¸·Î Ä¿¹Ô µÇ°Ô µÈ´Ù. ÆÄÀÏÀ» µÇµ¹·Á ³õ°í (Overwrite) ÇÊ¿äÇÑ ºÎºÐÀ» ¼öÁ¤ÇÑ ÈÄ Ä¿¹ÔÇÑ´Ù.

$ mv /tmp/testfile.php .
$ vi testfile.php
$ cvs commit testfile.php
Checking in testfile.php;
/data/CVSROOT/PJWKREPORT/testfile.php,v  <--  testfile.php
new revision: 1.3; previous revision: 1.2
done


1.4. CVS ·Î µ¥ÀÌÅ͸¦ »ý¼ºÇÒ ¶§ ÆÄÀÏ ÆÛ¹Ì¼Ç ¹®Á¦

CVS ¿¡¼­ µ¥ÀÌÅ͸¦ ´ç°Ü¿Ã¶§¿¡ ´Ù¸¥ »ç¶÷ÀÌ ÀÛ¼ºÇÑ ÆÄÀÏÀÌ 644 ·Î µÇ¾î ÀÖ´Â °æ¿ì °»½ÅÀ» ÇÒ¼ö ¾ø´Â ¹®Á¦°¡ ¹ß»ýÇÑ´Ù.

È®Àΰá°ú CVS ÀÇ ¿É¼ÇÀÌ ¾Æ´Ñ ÀÚ½ÅÀÌ ·Î±×ÀÎÇÑ °èÁ¤ÀÇ umask °¡ 0022 ÀÏ °æ¿ì¿¡ CVS ¿¡¼­ ÆÄÀÏÀ» °¡Á®´Ù ÀúÀåÇÒ°æ¿ì¿¡ 644 ·Î ÀúÀåµÇ´Â °ÍÀ» È®ÀÎ ÇÏ¿´´Ù. µû¶ó¼­ ±âº»ÀûÀ¸·Î ÀÚ½ÅÀÇ °èÁ¤ÀÌ umask 0002 ·Î ¼³Á¤µÇ¾î¾ß ÇÑ´Ù. ¿ø·¡ÀÇ °èÁ¤¸¸µé¶§ default ´Â 0022 ÀÌ´Ù. µû¶ó¼­ °øµ¿ÀÛ¾÷À» À§Çؼ­´Â umask 0002 ¸¦ .bash_profile ¿¡ ³Ö¾î µÎ¾î¾ß ÇÑ´Ù.

±Ùº»ÀûÀ¸·Î´Â /etc/skel/.bash_profile ¿¡ ³Ö¾î³õ´Â°ÍÀÌ ÁÁ´Ù. ±×·¡¾ß °èÁ¤À» »ý¼ºÇÒ¶§ ÀÚµ¿À¸·Î »ý¼ºÀÌ µÇ±â ¶§¹®ÀÌ´Ù.

ÇÑ°¡Áö ´õ À¯ÀÇÇÒ°ÍÀº ¸¹Àº »ç¶÷µéÀÌ EditPlus ¿Í °°Àº FTP ±â¹ÝÀÇ ÆíÁýÅøÀ» »ç¿ëÇÏ´Â °æ¿ì PC ¿¡¼­ ÀÛ¾÷ÇÑ ÆÄÀÏÀÌ, FTP ·Î Àü¼ÛµÇ°Ô µÈ´Ù. ÀÌ°æ¿ì FTP ÀÇ ÆÄÀÏÀúÀå¿É¼Çµµ default ·Î 0022 ·Î µÇ¾î ÀÖ´Ù. À̰͵µ ¹Ù²Ù¾î Áà¾ß ÇÑ´Ù. ÀÌ°ÍÀº vsftp ÀÇ °æ¿ì /etc/vsftpd/vsftpd.conf ¿¡¼­ umask ¿É¼ÇÀ» 002 ·Î ¹Ù²Ù¾î ÁÖ¸é µÈ´Ù. (vsftpd.conf ¿¡¼­ ¼³Á¤ÇÒ°æ¿ì 0002 °¡ ¾Æ´Ï¶ó 002 ÀÓÀ» À¯ÀÇ)


¸¸¾à¿¡ ´Ù¸¥ »ç¶÷ÀÌ umask 0022 ·Î ÀÛ¾÷Çؼ­ º¯°æÀÌ ºÒ°¡´ÉÇÒ °æ¿ì, ÆÄÀÏÀ» »èÁ¦ (º¯°æ¿©ºÎ´Â È®ÀÎ - »èÁ¦°¡ °¡´ÉÇÑ°ÍÀº ´ë°³ ÇØ´çµð·ºÅ丮´Â 775 ·Î µÇ¾î ÀÖÀ½) Çϰųª, root ·Î ÆÄÀÏÆ۹̼ÇÀ» º¯°æÈÄ (ÆÄÀÏ 1-2 °³ÀÇ °æ¿ì) ÀÛ¾÷À» ÇÏ¸é ´ëü°¡ µÈ´Ù. ¸¹Àº ÆÄÀÏÀ» º¯°æÇØ¾ß ÇÒ °æ¿ì, find ¸í·ÉÀ» ÀÌ¿ëÇÏ¿© º¯°æ ÇÒ ¼ö ÀÖ´Ù.


ÀÌ°ÍÀº ÆÐÅ°ÁöÀÇ ÆÄÀϼӼºÀ̳ª µð·ºÅ丮ÀÇ ¼Ó¼ºÀ» º¯°æÇϴµ¥ À¯¿ëÇÑ°Í À¸·Î CVS ÀÛ¾÷Áß¿¡ ÇϺΠÆÄÀÏÀÇ ¼Ó¼ºÀÌ °øµ¿ÀÛ¾÷ÀÌ °ï¶õÇÏ°Ô µÇ¾î ÀÖÀ» °æ¿ì ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù.


ÇöÀçÀÇ µð·ºÅ丮 ¾Æ·¡ÀÇ ¸ðµç µð·ºÅ丮ÀÇ access ¸ðµå¸¦ 775 ·Î º¯°æÇϱâ.
 
# find . \( -type d -a -exec chmod 775 {} \; \)
ÇöÀçÀÇ µð·ºÅ丮 ¾Æ·¡ÀÇ .php È®ÀåÀÚÀÇ ÆÄÀÏÀÇ access ¸ðµå¸¦ 664 ·Î º¯°æÇϱâ.
# find . \( -name "*.php" -a -exec chmod 664 {} \; \)
ÇöÀçÀÇ µð·ºÅ丮 ¾Æ·¡ÀÇ .tpl È®ÀåÀÚÀÇ ÆÄÀÏÀÇ access ¸ðµå¸¦ 664 ·Î º¯°æÇϱâ.
# find . \( -name "*.tpl" -a -exec chmod 664 {} \; \)
-o (OR) ¿É¼Ç¿¡ ÀÇÇÑ µ¿½Ã󸮵µ °¡´É
# find . \( -type d -a -exec chmod 775 {} \; \) -o \( -name "*.php" -a -exec chmod 664 {} \; \)

See also CVS/FAQ

ID
Password
Join
Your lover will never wish to leave you.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2006-02-02 18:37:07
Processing time 0.0017 sec