°Ô½Ã¹° 1,369°Ç
   
CSV ¸¦ ÀÌ¿ëÇÑ ÇÁ·ÎÁ§Æ® °ü¸®
±Û¾´ÀÌ : ÃÖ°í°ü¸®ÀÚ ³¯Â¥ : 2009-12-01 (È­) 10:43 Á¶È¸ : 7994
±ÛÁÖ¼Ò :
                                
article/cvs¸¦_ÀÌ¿ëÇÑ_ÇÁ·ÎÁ§Æ®°ü¸®À§Å° ȨÀ¸·Î
article/cvs¸¦_ÀÌ¿ëÇÑ_ÇÁ·ÎÁ§Æ®°ü¸®
Docbook ¿ø¹®

Contents

1 FAQ
1.1 snapshot
2 º»¹®
3 °ü·Ã °Ô½Ã¹°

1 FAQ

cvs »ç¿ëÁß ±Ã±ÝÇÑ ³»¿ëÀ» ¿Ã·ÁÁÖ¼¼¿ä. ¾î´ÀÁ¤µµ Á¤¸®°¡ µÇ¸é º»¹®¿¡ Á¤½Ä Æ÷ÇÔ½Ãų »ý°¢ÀÔ´Ï´Ù.

1.1 snapshot

¾î´À ÇÑ ½ÃÁ¡¿¡¼­ ÇÁ·ÎÁ§Æ® ÆÄÀϵ鿡 µ¿ÀÏÇÑ ²¿¸®Ç¥(TAG)¸¦ ºÙ¿©¼­, ÇÁ·ÎÁ§Æ®°¡ °è¼Ó ÁøÇàµÇ´õ¶óµµ ÇÊ¿äÇÒ ¶§ snapshot ½ÃÁ¡ÀÇ ÇÁ·ÎÁ§Æ®¸¦ °¡Á®¿Ã ¼ö ÀÖ´Ù.

Å×½ºÆ® ÃÖÁ¾ ¿Ï·á½ÃÁ¡, 1Â÷ ¼º´É ¿Ï·á ½ÃÁ¡µîÀÇ ÇÁ·ÎÁ§Æ®¸¦ µû·Î À¯ÁöÇؼ­ ³ªÁß¿¡ ´Ù½Ã °¡Á®¿À°í ½ÍÀ» °æ¿ì, CVS¸¦ ÀÌ¿ëÇÏÁö ¾Ê´Â´Ù¸é tarµîÀ¸·Î ÇÁ·ÎÁ§Æ® Àüü¸¦ ¾ÐÃàÇؼ­ º¸°üÇØ¾ß ÇÒ °ÍÀÌ´Ù. cvs´Â ¸í·É¾î ÇÑÁÙ·Î °£´ÜÇÏ°Ô ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Ù.
# cvs tag TEST_REL_1
ÀÌÁ¦ ÀÌ ÇÁ·ÎÁ§Æ®´Â TEST_REL_1 À̶ó´Â ²¿¸®Ç¥(tag)°¡ ºÙ°Ô µÈ´Ù. ÇÁ·ÎÁ§Æ® ÁøÇàÁß TEST_REL_1 ²¿¸®Ç¥°¡ ºÙÀº ÇÁ·ÎÁ§Æ®¸¦ °¡Á®¿À±æ ¿øÇÑ´Ù¸é ¾Æ·¡¿Í °°ÀÌ ÇÏ¸é µÈ´Ù.
# cvs co -rTEST_REL_1 myprogdir
ÀÌÁ¦ myprogdir¿¡ TEST_REL_1ÀÇ snapshot ÇÁ·ÎÁ§Æ®°¡ »ý¼ºÀÌ µÇ¾ú´Ù.


2 º»¹®

cvs ¸¦ ÀÌ¿ëÇÑ ÇÁ·ÎÁ§Æ® °ü¸®

À± »ó¹è

dreamyun@yahoo.co.kr

°íÄ£ °úÁ¤
°íħ 1.0 2005³â 6¿ù 9ÀÏ 13½Ã
¹ÙÀ̳ʸ® ÆÄÀÏ Ãß°¡ ¹æ¹ý, µð·ºÅ丮 upload ¹æ¹ý, ¿ÀŸ ¼öÁ¤
°íħ 0.9 2003³â 10¿ù 20ÀÏ 21½Ã
À͸í CVS ¼³Á¤ Ãß°¡, diff°ü·Ã ¿É¼Ç ¼³¸í Ãß°¡
°íħ 0.8 2003³â 8¿ù 11ÀÏ 23½Ã
ÃÖÃÊ ¹®¼­ ÀÛ¼º

1. CVS¿¡ ´ëÇÑ ¼Ò°³

°ú°Å´Â ÄÄÇ»ÅÍ ½Ã½ºÅÛÀÇ ´É·ÂÀÌ ¸Å¿ì Á¦ÇÑÀûÀÌ¿´°í »ç¿ëÇÏ´Â À¯Àú ¿ª½Ã Á¦ÇÑÀûÀ̰ųª Áö±ØÈ÷ °³ÀÎÀûÀÎ ¿ëµµ·Î »ç¿ëÇÏ´Â °æ¿ì°¡ ´ëºÎºÐ ÀÌ¿´´Ù. ¶§¹®¿¡ ¼ÒÇÁÆ®¿þ¾î¿ª½Ã ºñ±³Àû ´Ü¼øÇßÀ¸¸ç ´ÜÁö ÇѵθíÀÇ °³¹ßÀÚ ÅõÀÔ¸¸À¸·Îµµ ²Ï³ª ¾µ¸¸ÇÑ ¾ÖÇø®ÄÉÀ̼ÇÀÌ ¸¸µé¾îÁö±âµµ Çß´Ù.
µµ½º ½ÃÀýºÎÅÍ ÄÄÇ»Å͸¦ ´Ù·ç¾î¿Ô´ø À¯Àú¶ó¸é "´©±¸´©±¸ÀÇ ¾î¶² ÇÁ·Î±×·¥" À̶ó´Â ¾ê±â¸¦ ¸¹ÀÌ µé¾î º¸¾ÒÀ» °ÍÀÌ´Ù. Áö±ÝÀº »çÁ¤ÀÌ ´Þ¶óÁ®¼­ ¾ÆÁÖ °£´ÜÇÑ ÇÁ·Î±×·¥ÀÌ ¾Æ´Ï°í¼­´Â È¥ÀÚ °³¹ßÇؼ­ ±×·°Àú·° ÀÎÁöµµ ÀÖ´Â ÇÁ·Î±×·¥À» ¸¸µç´Ù´Â°Í ÀÚü°¡ ¸Å¿ì Èûµé¾îÁ³´Ù.
¿äÁòÀº UI¸¸ Á¦ÀÛÇÏ´Â °Íµµ ÇϳªÀÇ ÀÛ¾÷À¸·Î ºÐ·ùµÈ´Ù. ÀÎÅͳÝÀÌ ÀϹÝÀûÀ¸·Î º¸±ÞµÇ¸é¼­ ´ëºÎºÐÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀº C/Sȯ°æÇÏ¿¡¼­ ÀÛµ¿ÇÏ°Ô µÈ´Ù. °³¹ßÀÚ´Â µ¥ÀÌÅÍÀü¼Û°ú 󸮿¡ ´ëÇÑ ºÎºÐ±îÁö ½Å°æ½á¾ß ÇÏ¸ç ¸¹Àº °æ¿ì ¼­¹ö¿Í Ŭ¶óÀ̾ðÆ®°¡ ¼­·Î ´Ù¸¥ ¿î¿µÃ¼Á¦ÇÏ¿¡ ³õÀ̸ç, ƯÈ÷ ¼­¹ö ÇÁ·Î±×·¥ÀÇ °æ¿ì ¿©·¯°¡ÁöÀÇ ÀüÇô ´Þ¶óº¸ÀÌ´Â ¿î¿µÃ¼Á¦¸¦ Áö¿øÇؾßÇÏ´Â °æ¿ìµµ ÀÖ´Ù.
ÀÌ·± ÀÌÀ¯·Î ¿Ø¸¸ÇÑ ±Ô¸ðÀÇ ÇÁ·ÎÁ§Æ®¶ó ÇÒÁö¶óµµ È¥ÀÚ¼­ °³¹ßÀ» ÁøÇàÇÑ´Ù´Â°Ç ¸Å¿ì Èûµé¸ç, ´ëºÎºÐ ÆÀ´ÜÀ§·Î ÇÁ·ÎÁ§Æ®¸¦ ÁøÇàÀ» ÇÏ°Ô µÈ´Ù. ÀÌ ÆÀÀ̶õ°Ç ¶Ç ¾î¶²°¡ °°Àº »ç¹«½Ç¿¡¼­ °°Àº ½Ã°£¿¡ Á¸ÀçÇϸ鼭 ¼­·Î ÀÇ°ß±³È¯À» ÅëÇؼ­ ÇÁ·ÎÁ§Æ®¸¦ ÁøÇà ½Ãų ¼öµµ ÀÖÁö¸¸ ÀÎÅͳÝÀ̶ó´Â ¸Åü¸¦ ÅëÇؼ­ ÀüÇô ´Ù¸¥ °ø°£¿¡¼­ ÀüÇô ´Ù¸¥ ½Ã°£´ë¿¡ ÇÁ·ÎÁ§Æ®¸¦ ÁøÇà ½ÃÄÑ¾ß ÇÏ´Â °æ¿ìµµ »ý±ä´Ù. Àü ¼¼°èÀÎÀÌ Âü¿©ÇÏ´Â ¸¹Àº ¿ÀÇ ÇÁ·ÎÁ§Æ®°¡ ±×·¯ÇÏ´Ù.
ÀÌ·± °æ¿ì ÇϳªÀÇ ¼Ò½ºÄڵ带 ÇѸí ÀÌ»óÀÌ Á¢±ÙÇؼ­ ¼öÁ¤ÇÒ ¼ö Àִµ¥, ÇÁ·ÎÁ§Æ®¸¦ ÁøÇàÇÏ´Ù º¸¸é ¼Ò½ºÄڵ尡 ¾û¶×ÇÏ°Ô ²¿ÀÏ ¼ö ÀÖÀ» °ÍÀÌ´Ù. °°Àº »ç¹«½Ç¿¡¼­ ´ÜÁö ¸î¸íÀÇ ÇÁ·Î±×·¡¸Ó°¡ ÀÛ¾÷À» ÇÑ´Ù¸é, ¼­·Î ÀÇ°ßÁ¶À²À» Çϰųª óÀ½ºÎÅÍ °¢°¢ÀÇ ¸ðµâ¸¸ ´ã´çÇÏ°Ô ¸¸µé¾î¼­ ¾î´ÀÁ¤µµ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖÀ» °Å¶ó°í »ý°¢ÇÒ ¼öµµ ÀÖÀ» °ÍÀÌ´Ù. ±×·¯³ª ¸·»ó ÇÁ·ÎÁ§Æ®¸¦ ÁøÇàÇغ¸¸é ÀÌ°Ô °áÄÚ ¸»Ã³·³ ½¬¿îÀÏÀÌ ¾Æ´Ï¶õ°É ¾Ë°Ô µÉ°ÍÀÌ´Ù. ÇÁ·ÎÁ§Æ®¸¦ ÁøÇàÇÏ´Ù º¸¸é ÀÌÂÊ ½Ã½ºÅÛ¿¡¼­ Å×½ºÆ®ÇÏ°í, ÀúÂÊ ½Ã½ºÅÛ¿¡¼­ Å×½ºÆ®ÇÏ°í ¹®Á¦°¡ »ý±â¸é Áï°¢ ¼öÁ¤À» ÇÏ°Ô µÇ´Âµ¥, ÀÌ·¯´Ùº¸¸é ¼Ò½ºÄڵ尡 ¿©±âÀú±â À§Ä¡ÇÏ°Ô µÇ°í °á±¹ ¾î´À ¼Ò½º°¡ ÃÖ±Ù ¼Ò½ºÄÚµåÀÎÁö Çò°¥¸®´Â »çÅ°¡ ¹ß»ýÇÏ°Ô µÈ´Ù. ÇϹ°¸ç ¿ÀǼҽº¿Í °°ÀÌ ¼ö¸¹Àº ÇÁ·Î±×·¡¸Ó°¡ ´À½¼ÇÏ°Ô ¹­¿©ÀÖ´Â °æ¿ì´Â ´õ ¸»ÇÒ ÇÊ¿äµµ ¾ø´Ù. Àû´çÇÑ ¹öÁ¯°ü¸® µµ±¸ÀÇ »ç¿ë¾øÀÌ´Â ÇÁ·ÎÁ§Æ®ÀÇ ÁøÇàÀÚü°¡ ºÒ°¡´ÉÇØÁú °ÍÀÌ´Ù.
ÀÌ·¯ÇÑ ¹®Á¦ÀÇ ÇØ°áÀ» À§Çؼ­ ¿©·¯µµ±¸°¡ °³¹ßµÇ¾ú´Âµ¥, ±×Áß Çϳª°¡ CVS·Î ÇöÀç °¡Àå ³Î¸® »ç¿ëµÇ°í ÀÖ´Â ¹öÁ¯°ü¸® µµ±¸ÀÌ´Ù.

2. CVS¿¡ ´ëÇÑ ±âº»Áö½Ä

2.1. CVS ¶õ?

CVS´Â Concurrent Version System ÀÇ ÁÙÀÓ¸»·Î½á Á÷¿ª ÇÏÀÚ¸é °øµ¿ ¹öÁ¯ ½Ã½ºÅÛ, ÀÇ¿ªÇÏÀÚ¸é "°øµ¿À¸·Î ÁøÇàÇÏ´Â ÇÁ·ÎÁ§Æ®ÀÇ ¹öÁ¯ °ü¸® ½Ã½ºÅÛ" Á¤µµ°¡ µÉ°ÍÀÌ´Ù.

2.2. ¾î¶³¶§ CVS°¡ ÇÊ¿äÇÏÁÒ?

CVS´Â »ç¿ëÇϱ⿡ µû¶ó¼­ ¿©·¯°¡Áö ¿ëµµ·Î »ç¿ëÇÒ¼ö ÀÖ´Ù. À̹øÀå¿¡¼­´Â CVS¸¦ ÀÌ¿ëÇÒ¼ö ÀÖ´Â ´Ù¾çÇÑ »óȲµé¿¡ ´ëÇؼ­ ¾Ë¾Æº¸µµ·Ï ÇÏ°Ú´Ù.

2.2.1. °øµ¿ ÇÁ·ÎÁ§Æ® °ü¸®

ȸ»çȤÀº Çб³¿¡¼­ ÇÁ·ÎÁ§Æ®¸¦ ÁøÇàÇÏ´Ùº¸¸é, ¿©·¯¸íÀ̼­ ÇϳªÀÇ ÇÁ·ÎÁ§Æ®¸¦ ÁøÇàÇÏ´Â °æ¿ì°¡ ¹ß»ýÇÒ°ÍÀÌ´Ù.
ÀÌ·²°æ¿ì º¸Åë ¸ðµâº°·Î °³¹ßÀ» ÇÏ°Ô µÇ°ÚÁö¸¸, ¶ÇÇÑ ¸ðµâÀº Àüü ÇÁ·ÎÁ§Æ®¿¡ ¿µÇâÀ» ¹ÌÄ¡°Ô µÇ¹Ç·Î, ÀÚ½ÅÀÇ ¸ðµâ¹öÁ¯°ú Àüü ÇÁ·ÎÁ§Æ®ÀÇ ¹öÁ¯À» ÄÁÆ®·ÑÇÒ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ±×¸®°í Äڵ尡 Ã浿ÇÏ°Ô µÉ°æ¿ì(¼­·Î °°Àº ºÎºÐÀ» ¼öÁ¤ÇÔÀ¸·Î½á)ÀÇ ¹®Á¦¸¦ ÇØ°áÇÒ¼ö ÀÖ¾î¾ß ÇÑ´Ù.
ÀÌ·¯ÇÑ ÀÛ¾÷Àº ÇÁ·ÎÁ§Æ® ±Ô¸ð°¡ ÀÛ°í °³¹ß Âü¿©ÀÚ ¼ö°¡ Àû°í, °³¹ß Âü¿©ÀÚ°¡ °¡±î¿î Áö¿ª(»ç¹«½Ç °°Àº)¿¡ ¸ðµÎ ¸ð¿©ÀÖ´Ù¸é, ÇѸíÀÇ ¹öÁ¯°ü¸®ÀÚ(º¸ÅëÀº ÆÀÀå)¸¦ µÎ°í ±×·°Àú·° °ü¸®°¡ °¡´ÉÇÒ°ÍÀÌ´Ù.
±×·¯³ª Á¶±Ý¸¸ ÇÁ·ÎÁ§Æ®°¡ Ä¿Áö°í, °³¹ßÂü¿©ÀÚ ¼ö°¡ ¸¹¾ÆÁö°í °³¹ßÀÚ°¡ Áö¿ªÀûÀ¸·Î ¶³¾îÁ® ÀÖ´Â »óȲ¿¡¼­´Â °ÅÀÇ ºÒ°¡´É ÇÏ´Ù´Â °É ¾Ë¼ö ÀÖ°Ô µÉ°ÍÀÌ´Ù. ƯÈ÷ ÀÎÅͳÝÀ» ÅëÇؼ­ ´À½¼ÇÏ°Ô ¿¬°áµÈ ¿ÀÇ ÇÁ·ÎÁ§Æ®ÀÇ °æ¿ì µµ±¸¸¦ »ç¿ëÇÏÁö ¾Ê´Â ´Ù¸é °ÅÀÇ °ü¸®°¡ ºÒ°¡´É ÇÒ °ÍÀÌ´Ù.
CVS ¸¦ »ç¿ëÇϸé ÀÌ·¯ÇÑ ´ë±Ô¸ðÀÇ ÇÁ·ÎÁ§Æ®¿¡¼­ °¢ ¸ðµâ °³¹ßÀÚ°¡ ÀÚ½ÅÀÇ ¹öÁ¯À» À¯ÁöÇϸ鼭 Àüü ÇÁ·ÎÁ§Æ®¿¡ Âü¿©ÇÒ¼ö ÀÖµµ·Ï ÇÒ¼ö ÀÖ´Ù.
½ÇÁ¦·Î KDE, GNOME, APACHE ¼­¹ö µî ´Ù¾çÇÑ ÇÁ·ÎÁ§Æ®°¡ CVS ¸¦ ÀÌ¿ëÇؼ­ ÇÁ·ÎÁ§Æ®¸¦ °ü¸®ÇÏ°í ÀÖ´Ù. ÀÌ·¯ÇÑ ÇÁ·ÎÁ§Æ®´Â ±Ô¸ð°¡ À۾Ƶµ ¼ö½Ê¸í, ȤÀº ¼ö¹é¸íÀÌ ÇÁ·ÎÁ§Æ®¸¦ ÁøÇàÇÏ°Ô µÇ´Âµ¥(°Ô´Ù°¡ Áö¿ªÀûÀ¸·Î ¸Ö¸® ¶³¾îÁ® ÀÖ´Ù), CVS°¡ Áß°£¿¡¼­ ÇÁ·ÎÁ§Æ®°¡ »êÀ¸·Î °¡Áö ¾Êµµ·Ï Áß°èÇØÁØ´Ù. ¿ÀÇ ÇÁ·ÎÁ§Æ®¸¦ Çϴµ¥ À־ CVS´Â °ÅÀÇ Ç¥ÁØÀûÀ¸·Î »ç¿ëµÇ´Â ¹öÁ¯°ü¸® µµ±¸ÀÌ´Ù.

2.2.2. ÇÁ·ÎÁ§Æ® ¹é¾÷

CVS ¸¦ »ç¿ëÇÒ°æ¿ì ÀÚµ¿ÀûÀ¸·Î ÇÁ·ÎÁ§Æ® ¹é¾÷ÀÇ ¹®Á¦±îÁö ÇØ°áÀÌ °¡´ÉÇÏ´Ù. CVS ´Â Áß°£¿¡ CVS ¼­¹ö°¡ À־, ÇÁ·ÎÁ§Æ® µ¥ÀÌÅÍÀÇ ÀúÀå¼Ò ¿ªÇÒÀ»ÇÏ¸ç ¸ðµç °³¹ßÀÚ´Â CVS ¼­¹ö¿¡¼­ ÃÖ½ÅÀÇ ÇÁ·ÎÁ§Æ®¸¦ ´Ù¿î·Îµå ¹Þ¾Æ¼­, ÀÚ½ÅÀÇ ÄÄÇ»ÅÍ¿¡¼­ Å×½ºÆ®ÇÏ°í ÄÚµùÇؼ­, ÀÌ°É ´Ù½Ã CVS ¼­¹ö¿¡ ¾÷µ¥ÀÌÆ® ½ÃÅ°´Â ¹æ½ÄÀ» »ç¿ëÇÏ°Ô µÈ´Ù.
±×·¯¹Ç·Î ½Ç¼ö·Î ÀÚ½ÅÀÇ ÇÁ·ÎÁ§Æ® µ¥ÀÌÅÍ°¡ ³¯¾Æ°£´Ù°í Çصµ ÀüÇô ¿°·ÁÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ±×³É ¼­¹ö¿¡¼­ ´Ù½Ã ´Ù¿î ¹Þ±â¸¸ ÇÏ¸é µÈ´Ù. ÃÖ¾ÇÀÇ °æ¿ì CVS ¼­¹ö°¡ ³¯¶ó°¬´Ù°í ÇÏ´õ¶óµµ °¡Àå ÃÖ±ÙÀÇ ½î¾²¸¦ °¡Áø °³¹ßÀÚ°¡ ÀÖÀ» °ÍÀ̹ǷΠ½±°Ô º¹±¸ °¡´ÉÇÏ´Ù.
¶ÇÇÑ CVS´Â ÃֽŠ¹öÁ¯ÀÇ ¼Ò½ºÄÚµå »Ó¸¸ ¾Æ´Ï¶ó °ú°Å ¹öÁ¯ÀÇ ¼Ò½ºÄڵ忡 ´ëÇÑ Á¤º¸¸¦ °¡Áö°í À־ ÃÖ±ÙÀÇ ¸î°³ ¹öÁ¯¿¡ ¹®Á¦°¡ »ý°å´Ù°í ÇÏ´õ¶óµµ ½±°Ô ±×ÀÌÀüÀÇ ¼Ò½ºÄڵ带 ¾ò¾î¿Ã ¼ö ÀÖ´Ù.

2.2.3. µ¥ÀÌÅÍ µ¿±âÈ­

¿äÁòÀº ȸ»ç¿Í Áý°úÀÇ °æ°è°¡ ¸¹ÀÌ Çã¹°¾î Á³´Ù. (ÁÁÀº Çö»óÀÎÁö ³ª»Û Çö»óÀÎÁö´Â Á» »ý°¢ÇØ ºÁ¾ß°ÚÁö¸¸) ±×·¯´Ù º¸´Ï ȸ»ç¿¡¼­ ÇÏ´ÂÀÏÀ» °¡Á¤¿¡¼­ Çϱ⵵ ÇÏ°í, °¡Á¤¿¡¼­ Çß´ø ÀÏÀ» ȸ»ç·Î °¡Á®°¡±âµµ ÇÑ´Ù. ±×·²°æ¿ì ȸ»çÀÇ ÄÄÅÍ¿Í °¡Á¤ÀÇ ÄÄÅÍ¿¡ ÀÖ´Â µ¥ÀÌŸÀÇ µ¿±âÈ­°¡ ÇʼöÀûÀÌ´Ù. ÀÌ·± µ¥ÀÌŸ µ¿±âÈ­¸¦ À§Çؼ­ "³ëÆ®ºÏ", "PDA" °°Àº°É »ç¿ëÇÒ¼ö ÀÖ°ÚÁö¸¸, ÀÌ°Ç ³Ê¹« ºñ½Î´Ù. ftp µµ »ç¿ëÇÒ¼ö ÀÖ°ÚÁö¸¸, ÀÌ°Å À߸ø »ç¿ëÇÏ¸é µ¥ÀÌÅÍ°¡ ²¿Àϼö ÀÖ´Ù. ¶ÇÇÑ »ó´çÈ÷ ºÒÆíÇÏ´Ù.
ÀÌ·²¶§ CVS ¸¦ »ç¿ëÇÏ¸é ´ë´ÜÈ÷ ÆíÇÏ°Ô ÀÛ¾÷ÀÌ °¡´ÉÇÏ´Ù. ȸ»ç¿¡¼­ ÀÛ¾÷À» ¸¶Ä¡°í CVS ¼­¹ö¿¡ µî·ÏÇÏ°í, °¡Á¤À¸·Î µ¹¾Æ°¡¼­ CVS ¼­¹ö¿¡ µî·ÏµÈ ÃÖ½ÅÀÇ ÀÛ¾÷À» ¹Þ¾Æ¿Í¼­ ÀÛ¾÷À» ÇÏ°í ´Ù½Ã CVS ¼­¹ö¿¡ µî·Ï¸¸ ÇÏ¸é µÇ±â ¶§¹®ÀÌ´Ù. (¹°·Ð ÀÌ¿ÕÀÌ¸é °¡Á¤¿¡±îÁö ȸ»çÀÏÀ» °¡Áö°í °¡Áö ¾ÊÀ¸¸é ÁÁ°ÚÁö¸¸..)
¶ÇÇÑ ´ýÀ¸·Î ÀÚ½ÅÀÇ Áß¿äÇÑ ÀÚ·á±îÁö ÀÚµ¿À¸·Î ¹é¾÷µÈ´Ù.
ÇÊÀÚ ¿ª½Ã ÀÌ·¯ÇÑ ¹æ¹ýÀ¸·Î ÀÛ¾÷À» ÇÑ´Ù. ÀÛ¾÷°Å¸®°¡ Á» ³²¾Ò´Âµ¥, ȸ»ç¿¡¼­´Â ÀÏÀÌ À߾ȵǰí(½ÇÀº ÀÏÇϱ⠽Ⱦ°ÚÁö¸¸ --;), ±×³É Áý¿¡°¡¼­ ´À±ßÇÏ°Ô TVµµ º¸°í, ¿ôÅë ¹þ¾î´øÁö°í ÀÏÇÏ°í ½ÍÀ»¶§ ¸Å¿ì ÆíÇÏ°Ô CVS¸¦ ÀÌ¿ëÇÒ¼ö ÀÖ´Ù.

3. CVS »ç¿ëÇϱâ

3.1. CVS ¼­¹ö ¼³Ä¡Çϱâ

Áö±Ý ±îÁö CVS¿¡ ´ëÇÑ °³·ÐÀûÀÎ ¼³¸íÀ» ¾Ë¾Æ º¸¾Ò´Ù. ÀÌÁ¦ º»°ÝÀûÀ¸·Î CVS¸¦ ¼³Ä¡ÇÏ°í ¿î¿ëÇÏ°í »ç¿ëÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº¸µµ·Ï ÇÏ°Ú´Ù. CVS ¼­¹ö ¼³Ä¡´Â redhat 8.x ¸®´ª½º¸¦ ±âÁØÀ¸·Î ÇÏ°Ú´Ù. ´ëºÎºÐÀÇ redhat ¸®´ª½º ¹èÆ÷ÆÇÀº cvs ¸¦ ±âº»ÀûÀ¸·Î Æ÷ÇÔÇÏ°í ÀÖ´Ù. rpm ÆÐÅ°Áö °ü¸®ÀÚ¸¦ ÅëÇؼ­ ¼³Ä¡ÇÏÀÚ.
ÀÌÁ¦ Internet services daemon ¿¡ cvs ¼­¹ö¸¦ µî·Ï ½ÃÄÑÁֱ⸸ ÇÏ¸é µÈ´Ù. ·¹µåÇò 7.x ¹öÁ¯ºÎÅÍ´Â inetd ´ë½Å¿¡ xinetd °¡ Internet services daemon À¸·Î »ç¿ëµÇ¾î Áö°í ÀÖ´Ù. /etc/xinetd.d µð·ºÅ丮 ¹Ø¿¡ cvspserver À̶õ À̸§À¸·Î ¼­ºñ½º ¼³Á¤ÆÄÀÏÀ» ¸¸µéµµ·Ï ÇÏÀÚ. ³»¿ëÀº ´ÙÀ½°ú °°´Ù.
service cvspserver
{
    disable         = no
    flags           = REUSE
    socket_type     = stream
    wait            = no
    user            = root
    server          = /usr/bin/cvs
    server_args     = --allow-root=/home/cvs pserver
    log_on_failure  += USERID
}
			
¸¸¾à inetd¸¦ »ç¿ëÇÏ´Â ¿¹Àü ¹öÁ¯ÀÇ ¸®´ª½º¶ó¸é ¾Æ·¡¿Í°°ÀÌ ¼³Á¤Çϵµ·Ï ÇÑ´Ù.
# echo "2401 stream tcp nowait root /usr/bin/cvs cvs -f \
  --allow-root=/cvsroot pserver" >> /etc/inetd.conf
			
À§ÀÇ ¼³Á¤°ªµéÁß --allow-root¸¦ ÁÖ¸ñÇϱ⠹ٶõ´Ù. ÇÁ·ÎÁ§Æ®°¡ ¼­¹ö¿¡ ÀúÀåµÈ´Ù¸é ´ç¿¬È÷ À̵é ÇÁ·ÎÁ§Æ®°¡ ¼­¹öÀÇ ¾îµð µð·ºÅ丮·Î ÀúÀåµÇ¾î¾ß ÇÏ´ÂÁö ÁöÁ¤ÇÒ ¼ö ÀÖ¾î¾ß ÇÒ°ÍÀÌ´Ù. cvs¿¡¼­´Â À̸¦ repository(ÀÌÇÏ ÀúÀå¼Ò)¶ó°í ÇÑ´Ù. --allow-root´Â cvs ÀúÀå¼Ò°¡ /home/cvsÀÓÀ» ¸í½ÃÇØ ÁÖ±â À§Çؼ­ »ç¿ëµÈ´Ù. ¸¸¾à »õ·Î¿î ÇÁ·ÎÁ§Æ®ÀÎ hello_world¸¦ ¸¸µé¾ú´Ù¸é ÀÌ ÇÁ·ÎÁ§Æ®´Â /home/cvs/hello_world µð·ºÅ丮¿¡ ÀúÀåÀÌ µÈ´Ù.
ÀÌÁ¦ xinetd µ¥¸ó(ȤÀº inetdµ¥¸ó)À» ´Ù½Ã ½ÇÇà(/etc/rc.d/init.d/xinetd restart) ½ÃÅ°¸é cvs ¼­¹ö°¡ ÀÛµ¿ÇÏ°Ô µÉ°ÍÀÌ´Ù. cvs ¼­ºñ½º´Â 2401 Æ÷Æ®¸¦ ÀÌ¿ëÇؼ­ ¼­ºñ½º µÈ´Ù(/etc/services ÂüÁ¶). Á¦´ë·Î cvs ¼­ºñ½º°¡ µÇ°í ÀÖ´ÂÁö ¾Ë¾Æº¸±â À§Çؼ­ Æ÷Æ® ½ºÄ³´× µµ±¸ÀÎ nmap À» »ç¿ëÇؼ­ È®ÀÎÇØ º¸µµ·Ï ÇÏÀÚ.
[root@cvs xinetd.d]# nmap 192.168.0.4

Starting nmap V. 2.54BETA7 ( www.insecure.org/nmap/ )
Interesting ports on localhost.localdomain (127.0.0.1):
(The 1527 ports scanned but not shown below are in state: closed)
Port       State       Service
22/tcp     open        ssh                     
25/tcp     open        smtp                    
80/tcp     open        http                    
111/tcp    open        sunrpc                  
2401/tcp   open        cvspserver              
3306/tcp   open        mysql                   
		
2401 ¹ø Æ÷Æ®·Î cvspserver °¡ ¼­ºñ½º µÇ°í ÀÖÀ½À» ¾Ë¼ö ÀÖ´Ù. À̷νá cvs ¼­¹öÀÇ ¼³Ä¡¹× °¡µ¿À» ¸¶ÃÆ´Ù.
´Ù¸¥ ¹èÆ÷ÆÇÀ» »ç¿ëÇÏ´õ¶óµµ ¼³Ä¡»ó¿¡ À־ ¹®Á¦Á¡Àº ¾øÀ»°ÍÀÌ´Ù. µ¥ºñ¾È À̶ó¸é Àü¿ë ÆÐÅ°Áö°ü¸®ÀÚ¸¦ ÀÌ¿ëÇؼ­ ¼³Ä¡ÇÏ¸é µÈ´Ù. ÆÐÅ°Áö ¼³Ä¡°¡ ¿©ÀÇÄ¡ ¾Ê´Ù¸é ½î¾²¸¦ Á÷Á¢ ÄÄÆÄÀÏ Çؼ­ ¼³Ä¡ ÇÏ¸é µÈ´Ù.
cvs ´Â cvspserver ¸¦ ÀÌ¿ëÇÑ ¼­ºñ½º ¿Ü¿¡µµ rsh, ssh ¸¦ ÀÌ¿ëÇÑ ¼­ºñ½ºµµ °¡´ÉÇÏ´Ù. ÀÌ¿¡ ´ëÇÑ ³»¿ëÀº CVS »ç¿ë ¹®¼­¸¦ Âü°í Çϱ⠹ٶõ´Ù. À̹®¼­¿¡¼­´Â °¡Àå ³Î¸® »ç¿ëµÇ´Â cvspserver ¹æ½Ä¿¡ ´ëÇؼ­¸¸ ¼³¸íÇÏ°í ÀÖ´Ù.

3.1.1. CVSÀúÀå¼Ò ¸¸µé±â

À§ÀÇ ¼³Á¤¿¡¼­ ¿ì¸®´Â /home/cvs¸¦ ÇÁ·ÎÁ§Æ®µéÀ» À§ÇÑ ÀúÀå¼Ò·Î »ç¿ëÇÑ´Ù°í Çߴµ¥, ÀúÀå¼Ò·Î »ç¿ëÇϱâ Àü¿¡ ÀúÀå¼Ò Å͸¦ ´ÙÁö±â À§ÇÑ »çÀüÀÛ¾÷ÀÌ ÇÊ¿äÇÏ´Ù.
ÀÌ·¯ÇÑ ÀÛ¾÷Àº cvs¿¡¼­ Á¦°øÇÏ´Â init¿É¼ÇÀ» ÅëÇؼ­ °¡´ÉÇÏ´Ù.
# cvs -d /home/cvs init
			
-d¸¦ ÀÌ¿ëÇؼ­ ÀúÀå¼Ò·Î »ç¿ëµÉ µð·ºÅ丮¸¦ ÁöÁ¤ÇÏ°í init¸¦ ¸í½ÃÇÏ´Â Á¤µµ·Î ¾î·ÆÀÝ°Ô ÀúÀå¼Ò¸¦ »ý¼ºÇÒ ¼ö ÀÖ´Ù.

3.1.2. CVS À¯Àú ȯ°æ ¼³Á¤

CVS ¿¡ ¼­¹ö¸¦ ¸¸µé¾î ³õ¾ÒÀ¸¸é ÀÌÁ¦ CVS ÀÚ¿øÀ» »ç¿ëÇϵµ·Ï ȯ°æ¼³Á¤À» ÇØÁÖ¾î¾ß ÇÑ´Ù. °¡Àå Áß¿äÇÑ °Ç °øµ¿À¸·Î ÀÛ¾÷ÇÒ ÇÁ·ÎÁ§Æ® ÆÄÀϵéÀÌ ÀúÀåµÉ CVS ÀúÀå µð·ºÅ丮(ÀúÀå¼Ò)¸¦ ¼³Á¤ÇÏ´Â ÀÏÀÌ´Ù.
ÀÏ´Ü ¿ì¸®´Â À§ÀÇ /etc/xinetd.d/cvspserver ¸¦ ¼³Á¤Çϸ鼭 cvs µ¥¸óÀÌ ¶ß°ÔµÉ°æ¿ì --allow-root ¿É¼ÇÀ» ÀÌ¿ëÇؼ­ /home/cvs ¸¦ Ȩµð·ºÅ丮(ÇÁ·ÎÁ§Æ®°¡ ÀúÀåµÉ µð·ºÅ丮)¸¦ ÁöÁ¤Çß´Ù. ÀÌÁ¦ /home/cvs ¸¦ ½ÇÁ¦ ÇÁ·ÎÁ§Æ® »ç¿ëÀÚµéÀÌ »ç¿ëÇÒ¼ö ÀÖµµ·Ï ±ÇÇÑ ¼³Á¤À» ÇØÁÖ¾î¾ß ÇÑ´Ù.
cvs ÀÇ ±ÇÇÑ ¼³Á¤À» À§Çؼ­ cvs ¶õ ±×·ìÀ» ¸¸µéµµ·Ï ÇÏ°í /home/cvs µð·ºÅ丮¿¡ cvs ±×·ì¿¡ ´ëÇؼ­ Àбâ/¾²±â/½ÇÇà ±ÇÇÑÀ» ºÎ¿©Çϵµ·Ï ÇÏÀÚ.
# groupadd cvs
# mkdir cvs
# chmod 770 cvs 
			
ÀÌÁ¦ cvs ±×·ì¿¡ Æ÷ÇÔµÈ ¸ðµç »ç¿ëÀÚ´Â CVS ÀÚ¿øÀ» ÀÌ¿ëÇÒ¼ö ÀÖ´Â ±ÇÇÑÀ» °¡Áö°Ô µÇ¸ç, ÀÌÈķδ ÇÁ·ÎÁ§Æ®¸¦ µî·Ï½ÃÄѼ­ °øµ¿ÀÛ¾÷¿¡ CVS ¸¦ ÀÌ¿ëÇϱ⸸ ÇÏ¸é µÈ´Ù.

3.1.3. CVS »ç¿ëÇϱâ

ÀÌÁ¦ CVS ¼­¹öÀÇ ¼³Á¤ÀÌ ³¡³µÀ½À¸·Î, Ŭ¶óÀ̾ðÆ®ÀÇ ÀÔÀå¿¡¼­ ¾î¶»°Ô ÇÁ·ÎÁ§Æ®¸¦ µî·ÏÇÏ°í °øµ¿À¸·Î ÀÛ¾÷À» ÁøÇà½Ãų¼ö ÀÖ´ÂÁö¿¡ ´ëÇؼ­ ¾Ë¾Æº¸µµ·Ï ÇÏ°Ú´Ù. ÀÌ·¯ÇÑ ÀÛ¾÷µéÀº Ŭ¶óÀ̾ðÆ®¿¡°Ô Á¦°øµÇ´Â "cvs" ¶ó´Â ÇÁ·Î±×·¥À» ÅëÇؼ­ ÀÌ·ç¾îÁø´Ù.
CVS ÀÇ »ç¿ë¹æ¹ýÀº ´ÙÀ½°ú °°Àº ȯ°æÇÏ¿¡¼­ Å×½ºÆ®µÇ¾ú´Ù.
              +------------+
              | @cvs       | project : hello_world
              | CVS SERVER |
              +------------+
                     |
                     |
        +------------+------------+ 
        |                         | 
   +---------+               +---------+
   | @myhome |               | @one    |
   +---------+               +---------+
@cvs ´Â CVS ÀúÀå¼Ò¸¦ °¡Áö°í ÀÖ´Â ¼­¹öÀ̸ç, @myhome Àº "ÆÀ¿ø" @one ´Â "ÆÀÀå" ÀÇ °³¹ßÈ£½ºÆ®(ÄÄÇ»ÅÍ) ÀÌ´Ù. °øµ¿À¸·Î ÁøÇàµÉ ÇÁ·ÎÁ§Æ®´Â hello_world ÀÌ´Ù.

3.1.3.1. À͸í CVS¼³Á¤Çϱâ

À͸í CVS¶õ ¸»±×´ë·Î ÀÏ¹Ý »ç¿ëÀÚ¿¡°Ô CVS¸¦ Àаí/¾µ¼ö ÀÖ´Â ±ÇÇÑÀ» ºÎ¿©ÇÏ´Â °ÍÀ̸ç, ¸¹Àº ¿ÀÇ ÇÁ·ÎÁ§Æ®µéÀÌ À͸í CVS¸¦ Çã¿ëÇؼ­ °¡´ÉÇÑÇÑ ¸¹Àº °³¹ßÀÚ°¡ Âü¿©ÇÒ ¼ö ÀÖµµ·Ï ±æÀ» ¿­¾î ³õ°í ÀÖ´Ù.
ÀÌ·¯ÇÑ À͸í CVS»ç¿ëÀÚ´Â º¸Åë ÇÁ·ÎÁ§Æ®¿¡ ´ëÇÑ Àбâ±ÇÇѸ¸À» ºÎ¿©ÇÑ´Ù. ÀÍ¸í »ç¿ëÀÚ¿¡°Ô ¾²±â±ÇÇÑÀ» ÁÖ¸é ÇÁ·ÎÁ§Æ®ÀÇ ÁøÇàÀÌ ³Ê¹« »ê¸¸ÇØ Áú ¼ö Àֱ⠶§¹®ÀÌ´Ù. ÀÍ¸í »ç¿ëÀÚ(ȤÀº °³¹ßÀÚ)´Â ÇÁ·ÎÁ§Æ®¿¡ ¹Ý¿µÇØ¾ß µÉ ³»¿ëÀÌ ÀÖÀ» ¶§ ¸ÞÀϵîÀ» ÅëÇؼ­ ÇÁ·ÎÁ§Æ® ¸ÞÀÎ °³¹ßÀÚ¿¡°Ô Å뺸ÇÏ´Â°Ô º¸ÅëÀÌ´Ù.
À͸í CVS¸¦ Çã¿ëÇϱâ À§Çؼ­´Â ¿ì¼± ½Ã½ºÅÛ¿¡ anonymous°èÁ¤ÀÌ ¸¸µé¾îÁ® ÀÖ¾î¾ß ÇÑ´Ù. ½©À» °¡ÁöÁö ¸øÇϵµ·Ï ¼³Á¤ÇÑ´Ù.
# useradd anonymous -s /bin/false 
				
±×¸®°í /cvsroot/CVSROOT/passwd ÆÄÀÏ¿¡ À§ÀÇ °èÁ¤À» µî·ÏÇÏ¸é µÈ´Ù.
# echo anonymous: > /cvsroot/CVSROOT/passwd
				
Á¤È®ÇÏ°Ô´Â [À¯Àú¾ÆÀ̵ð]:[Æнº¿öµå]ÀÇ ÇüÅ°¡ µÇ¾î¾ß°ÚÁö¸¸ À͸í CVSÀÇ °æ¿ì Æнº¿öµå¸¦ ¼³Á¤ÇÏÁö ¾Ê´Â°Ô ÀϹÝÀûÀ̹ǷΠÆнº¿öµå´Â »ý·«Çϵµ·Ï ÇÑ´Ù. Æнº¿öµå¸¦ ºÎ¿©ÇÏ°í ½Í´Ù¸é cryptµÈ ¹®ÀÚ¿­°ªÀ» »ç¿ëÇϵµ·Ï ÇÑ´Ù.
À͸í CVS»ç¿ëÀÚÀÇ °æ¿ì ¾Æ·¡¿Í °°ÀÌ ¼³Á¤Çؼ­ Àб⸸ °¡´ÉÇϵµ·Ï ±ÇÇÑÀ» Á¦ÇѽÃŲ´Ù.
# echo anonymous > /cvsroot/CVSROOT/readers
				

3.1.4. CVS »ç¿ëÀÚ È¯°æ¼³Á¤

cvs ¼­¹ö¿¡ ÇÁ·ÎÁ§Æ®¸¦ µî·Ï½ÃÅ°°í, ÇÁ·ÎÁ§Æ®¸¦ ¾÷µ¥ÀÌÆ®ÇÏ°í, ¹Þ¾Æ¿À±â À§Çؼ­ ¿ì¸®´Â "cvs" ¶ó´Â Àü¿ë Ŭ¶óÀ̾ðÆ®¸¦ »ç¿ëÇÏ°Ô µÈ´Ù. "cvs" ´ÙÀ½¿¡ ¿©·¯°¡Áö ¸í·ÉÇà ¿É¼ÇÀ» ÀÌ¿ëÇÔÀ¸·Î½á, ¿øÇÏ´Â ÀÛ¾÷À» ÇÏ°Ô µÈ´Ù.
"cvs" ÇÁ·Î±×·¥À» »ç¿ëÇϱâ À§Çؼ­ ¿ì¸®´Â CVS ¼­¹ö¿¡ Á¢±ÙÇؼ­ ÁöÁ¤µÈ µð·ºÅ丮(ÇÁ·ÎÁ§Æ®°¡ ÀúÀåµÇ´Â µð·ºÅ丮 ´Ù¸¥¸»·Î "ÀúÀå¼Ò") °¡ ¾îµðÀÎÁö cvs ÇÁ·Î±×·¥¿¡ ¾Ë·ÁÁÖ¾î¾ß¸¸ ÇÑ´Ù. º¸Åë ȯ°æº¯¼öÀÎ CVSROOT ¸¦ ÅëÇؼ­ "cvs" ¿¡°Ô CVS ¼­¹öÀÇ Á¤º¸¸¦ ¾Ë·ÁÁØ´Ù. ±×·¯¹Ç·Î ÀÚ½ÅÀÇ È¨µð·ºÅ丮ÀÇ .bash_profile ÆÄÀÏ¿¡ ´ÙÀ½°ú °°Àº ³»¿ëÀ» Ãß°¡½ÃÄÑÁÖ¾î¾ß ÇÑ´Ù.
CVSROOT=:pserver:yundream@192.168.0.5:/home/cvs
				
À§ÀÇ CVSROOT ¿¡´Â "pserver" Àº ¿ì¸®°¡ CVS ¼­¹ö¿¡ Á¢±ÙÇϱâ À§Çؼ­ pserver ¹æ½ÄÀ» »ç¿ëÇÒ°ÍÀ̸ç, ¼­¹öÀÇ IP´Â 192.168.0.5 Á¢±Ù ¾ÆÀ̵ð´Â yundream ±×¸®°í ÇÁ·ÎÁ§Æ®°¡ ÀúÀåµÇ¾î ÀÖ´Â ÀúÀå¼Ò µð·ºÅ丮´Â /home/cvs ¶ó´Â Á¤º¸¸¦ °¡Áö°í ÀÖ´Ù.
ȯ°æº¯¼ö CVSROOT ¸¦ »ç¿ëÇÏÁö ¾Ê°í -d ¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ýµµ ÀÖ´Ù.
cvs -d :pserver:yundream@192.168.0.5:/home/cvs [¿É¼Ç]
				
±×·¯³ª À̹æ¹ýÀº ºÒÆíÇϹǷΠȯ°æº¯¼ö¸¦ »ç¿ëÇϵµ·Ï ÇÏÀÚ.

3.2. cvs Ŭ¶óÀ̾ðÆ® »ç¿ëÇϱâ

3.2.1. ·Î±×ÀÎ Çϱâ : login

ÇÁ·ÎÁ§Æ®¸¦ ¾Æ¹«³ª Á¢±ÙÇؼ­ »ç¿ëÇÏ°Ô Çؼ­´Â ´ç¿¬È÷ ¾ÈµÉ °ÍÀÌ´Ù. ±×·¯¹Ç·Î ÃÖÃÊ¿¡ ¾ÆÀ̵ð¿Í Æнº¿öµå¸¦ ÀÌ¿ëÇÑ ÀÎÁõÀýÂ÷¸¦ °ÅÄ¡°Ô µÈ´Ù.
CVS ¼­¹ö¿¡ ·Î±×ÀÎ Çϱâ À§Çؼ­´Â "cvs" ´ÙÀ½¿¡ ¿É¼ÇÀ¸·Î login À» ÁÖ°í ½ÇÇà½ÃÅ°¸é µÈ´Ù.
# cvs login
CVS password: 
				
±×·¯¸é Æнº¿öµå¸¦ ¹¯´Â ÇÁ·ÒÇÁÆ®°¡ ¶³¾îÁú°ÍÀÌ´Ù. ÀÚ½ÅÀÇ Æнº¿öµå¸¦ ÀÔ·ÂÇϸé ÀÎÁõÀÌ ¼º°øµÈ´Ù. Çѹø ÀÎÁõÀÌ ¼º°øµÇ¸é ÀÎÁõ¿¡ »ç¿ëÇÑ ¿©·¯°¡Áö Á¤º¸°¡ .cvspass ¿¡ ÀúÀåµÇ°í ´ÙÀ½ºÎÅÍ´Â .cvspass ¸¦ »ç¿ëÇؼ­ ÀÚµ¿ÀûÀ¸·Î ÀÎÁõÀ» Çϱ⠶§¹®¿¡ ÃÖÃÊ¿¡ Çѹø¸¸ login À» ¼º°øÇÏ¸é µÈ´Ù.
¹°·Ð ´ç¿¬È÷ CVS ¼­¹öÀÎ 192.168.0.5 ¿¡´Â yundream À̶õ »ç¿ëÀÚ°¡ µî·ÏµÇ¾î ÀÖ¾î¾ß Çϸç ÀÌ »ç¿ëÀÚ´Â cvs ±×·ì¿¡ Æ÷ÇԵǾî ÀÖ¾î¾ß ÇÑ´Ù.

3.2.2. ÇÁ·ÎÁ§Æ® ¸¸µé°í µî·ÏÇϱâ : import

°¡Àå ¸ÕÀú ÇؾßÇÒÀÏÀº ÁøÇàµÉ ÇÁ·ÎÁ§Æ®¸¦ ¸¸µé°í µî·ÏÇÏ´Â ÀÏÀÌ´Ù. ¿ì¸®°¡ ÁøÇàÇÏ°íÀÚ ÇÏ´Â ÇÁ·ÎÁ§Æ®´Â hello_world ÇÁ·ÎÁ§Æ®À̸ç, ¿©±â¿¡´Â hello.c¶ó´Â ÇϳªÀÇ ÆÄÀÏÀÌ Æ÷ÇԵǾî ÀÖ´Ù. ´ÙÀ½Àº hello.cÀÇ ÄÚµåÀÌ´Ù.
int main()
{
    printf("Hello World\n");
}
				
¿ì¸®´Â ´ÜÁö hello.cÄڵ尡 ÀÖ´Â µð·ºÅ丮·Î À̵¿Çؼ­ ´ÙÀ½°ú °°ÀÌ import ½ÃÄÑÁÖ¸é µÈ´Ù.
# cd hello_world
# cvs -d:pserver:yundream@192.168.0.5:/home/cvs import hello_world project start
				
ÀÌ µð·ºÅ丮´Â ÇÁ·ÎÁ§Æ® ÀÓÆ÷Æ®¸¦ À§Çؼ­ »õ·Î ÁغñµÈ µð·ºÅ丮¿©¾ß ÇÑ´Ù. ±×·¸Áö ¾Ê°í Àâ´ÙÇÑ ÆÄÀϵéÀÌ ÀÖÀ»°æ¿ì À̵é ÆÄÀϵé±îÁö ¸ù¶¥ ÇÁ·ÎÁ§Æ®¿¡ µî·ÏµÇ¾î ¹ö¸°´Ù. ¸¸¾à ȯ°æº¯¼ö CVSROOT°¡ ¼³Á¤µÇ¾î ÀÖ´Ù¸é ¾Æ·¡¿Í °°ÀÌ °£´ÜÇÏ°Ô import¸¦ ½ÇÇàÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
# cvs import hello_world project start
N hello_world/hello.c

No conflicts created by this import
				
2¹ø° ÀÎÀÚÀÎ hello_world´Â importÇÒ ÇÁ·ÎÁ§Æ®ÀÇ À̸§À̸ç project, start´Â ÇÁ·ÎÁ§Æ®ÀÇ ºÎ°¡ Á¤º¸µéÀÌ´Ù (º°·Î ½Å°æ¾µ ÇÊ¿ä ¾ø´Ù).
ÀÌ·¸°Ô Çϸé cvs¼­¹öÀÇ ÀúÀå¼Ò¿¡ hello_world¶õ µð·ºÅ丮°¡ »ý±â°í ¿©±â¿¡ hello.c°¡ ¿Ã¶ó°¡°ÔµÈ´Ù.
Âü°í: cvs ÀúÀå¼Ò¿¡ ¿Ã¶ó°¡´Â ÆÄÀÏ ¿ø·¡ ÆÄÀÏÀ̸§µÚ¿¡ ',v'ÀÌ ºÙ¾î¼­ ÀúÀåµÈ´Ù. hello.c¶ó¸é hello.c,v¶ó´Â À̸§À¸·Î ÀúÀåµÇ¸ç ¿©±â¿¡´Â hello.cÀÇ ¿ø·¡ ³»¿ë¿Ü¿¡ ¹öÁ¯ °ü¸®¸¦ À§ÇÑ °¢Á¾ Á¤º¸°¡ µé¾î°¡°Ô µÈ´Ù.

3.2.3. ÇÁ·ÎÁ§Æ® °¡Á®¿À±â : checkout

ÇÁ·ÎÁ§Æ® °ü¸®ÀÚ°¡ ÇÁ·ÎÁ§Æ®¸¦ ¸¸µé¾ú´Ù¸é ÀÌÁ¦ ÇÁ·ÎÁ§Æ® °³¹ßÀÚµéÀÌ ÇÁ·ÎÁ§Æ®¸¦ ¹Þ¾Æ¿Í¼­ ÇÊ¿äÇÑ ÀÛ¾÷À» ÇؾßÇÒ °ÍÀÌ´Ù. ÇÁ·ÎÁ§Æ®¿¡ °¡Á®¿À´Â ¹æ¹ýÀº °£´ÜÇÏ´Ù. "cvs" ´ÙÀ½¿¡ checkout(ȤÀº co) ¿É¼ÇÀ» »ç¿ëÇÏ¸é µÈ´Ù. co ¿É¼Ç µÚ¿¡´Â µî·ÏÇÒ ÇÁ·ÎÁ§Æ® À̸§(hello_world)¸¦ ¸í½ÃÇØ ÁÖ¸é µÈ´Ù.
 
# cvs co hello_world 
cvs server: 
Updating hello_world
U hello_world/hello.c
				
¼º°øÀûÀ¸·Î ÇÁ·ÎÁ§Æ®°¡ µî·ÏµÇ¾ú´Ù. ÀÌÁ¦ ls Çغ¸¸é ÇöÀç µð·ºÅ丮¿¡ hello_world ¶ó´Â ÇÁ·ÎÁ§Æ®À̸§À» °¡Áö´Â µð·ºÅ丮°¡ »ý°åÀ½À» ¾Ë ¼ö ÀÖ´Ù. ÀÌ¿Í ´õºÒ¾î hello.c¿ª½Ã È®ÀÎ °¡´ÉÇÒ °ÍÀÌ´Ù.

3.2.4. ÇÁ·ÎÁ§Æ® ¼öÁ¤ÈÄ Àû¿ë(¾÷µ¥ÀÌÆ®) : commit

±×·±µ¥ ¿ø·¡ÀÇ hello.c¸¦ º¸¸é printf()ÇÔ¼ö°¡ ¼±¾ðµÇ¾î ÀÖ´Â stdio.h°¡ ºüÁ®ÀÖ´Ù. ´ëºÎºÐÀÇ °æ¿ì ¹®Á¦°¡ ¾øÁö¸¸ ÄÄÆÄÀÏ·¯¿¡ µû¶ó¼­ °æ°í¸Þ½ÃÁö¸¦ º¸³»°Å³ª ½ÉÇÑ°æ¿ì ÄÄÆÄÀÏ ½ÇÆÐÇÏ´Â °æ¿ìµµ ÀÖ´Ù. ±×·¡¼­ Çì´õÆÄÀÏÀ» Ãß°¡Çϱâ·Î Çß´Ù.
#include <stdio.h>

int main(int argc, char **argv)
{
    printf("Hello world");
}
				
Çì´õÆÄÀÏÀ» Ãß°¡ ½ÃÄ×´Ù. ÀÌÁ¦ ÇÁ·ÎÁ§Æ® ³»¿ëÀ» ³»°¡ ¼öÁ¤ÇÑ ³»¿ëÀ¸·Î cvs¸¦ ¾÷µ¥ÀÌÆ® ½ÃÄÑ¾ß ÇÒ°ÍÀÌ´Ù. ÀÌ·²¶§´Â "commit" ¿É¼ÇÀ» ÀÌ¿ëÇÏ¸é µÈ´Ù. -m ¿É¼ÇÀ» ÀÌ¿ëÇÏ¿© º¯°æµÈ ³»¿ë¿¡ ´ëÇÑ °£´ÜÇÑ ·Î±×µµ ³²°ÜÁÙ¼ö ÀÖ´Ù.
# cvs commit -m "stdio.h Çì´õÆÄÀÏ ÀÎŬ·çµå" hello.c 
Checking in hello.c;
/home/cvs/hello_world/hello.c,v  <--  hello.c
new revision: 1.2; previous revision: 1.1
done
#
				
¹°·Ð cvs ¾÷µ¥ÀÌÆ®¸¦ ½Ãų¶§´Â ¹Ýµå½Ã ÄÄÆÄÀÏÀÌ µÇ´ÂÁö Á¤µµ´Â È®ÀÎÇÏ°í ¿Ã·Á¾ß µÉ°ÍÀÌ´Ù. ÄÄÆÄÀϵµ ¾ÈµÇ´Â Äڵ带 ¿Ã·È´Ù°¡´Â ÆÀ¿øµé¿¡°Ô ¿ø¸ÁÀÇ ¼Ò¸®¸¦ µè°Ô µÉ°ÍÀÌ´Ù.

3.2.5. ÆÄÀÏ ¹Þ¾Æ¿À±â/·Î±× º¸±â : update, log

ÀÌÁ¦ ¿©·¯ºÐÀº hello_world ÇÁ·ÎÁ§Æ®ÀÇ ÁøÇà ÀÏ¿øÀÌ µÇ¾ú´Ù. ÇÁ·ÎÁ§Æ® Âü¿© °³¹ßÀڷμ­ ¿©·¯ºÐÀÌ ÄÄÇ»ÅÍ ¾Õ¿¡ ¾É¾Ò´Ù¸é °¡Àå ¸ÕÀú ÇؾßÇÒÀÏÀº °£¹ã¿¡ ´©±º°¡ ÇÁ·ÎÁ§Æ®¸¦ ¼öÁ¤ÇÏÁö ¾Ê¾Ò´ÂÁö È®ÀÎÇÏ°í Å×½ºÆ®ÇÏ´Â ÀϺÎÅÍ ÇØ¾ß ÇÑ´Ù. ÃÖ±Ù ÇÁ·ÎÁ§Æ®¿¡ ´ëÇÑ º¯°æ»çÇ×Àº "up"À» ÀÌ¿ëÇؼ­ È®ÀÎÇÒ ¼ö ÀÖ´Ù.
[yundream@myhome hello_world]$ cvs up
cvs server: Updating .
P hello.c
[yundream@myhome hello_world]$ 
				
hello.c ¶ó´Â ÆÄÀÏÀÌ ¼öÁ¤ µÅ¾úÀ½À» ¾Ë¼ö ÀÖ´Ù. hello.c ´Â »õ·ÎÀÌ ¼öÁ¤ µÇ¾úÀ½À¸·Î ´©°¡ ¾î¶² ÀÌÀ¯·Î Äڵ带 ¼öÁ¤Çß´ÂÁö È®ÀÎÇغ¼ ÇÊ¿ä°¡ ÀÖÀ» °ÍÀÌ´Ù. ÀÌ·²¶§´Â "log" ¸í·ÉÀ» »ç¿ëÇÑ´Ù. "log"¸í·ÉÀ» »ç¿ëÇϸé ÇØ´ç ÆÄÀÏ¿¡ ´ëÇÑ °£·«ÇÑ ·Î±×Á¤º¸¸¦ ¾ò¾î ¿Ã¼ö ÀÖ´Ù.
[yundream@myhome hello_world]$ cvs log hello.c
cvs server: Logging .

RCS file: /home/cvs/hello_world/hello.c,v
Working file: hello.c
head: 1.1
branch:
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 1;     selected revisions: 1
description:
----------------------------
revision 1.1
date: 2002/06/07 01:36:27;  author: yundream;  state: Exp;
stdio.h Çì´õÆÄÀÏ ÀÎŬ·çµå
=============================================================================
				
±×·¯¸é ¹öÁ¯Á¤º¸¿¡¼­ ºÎÅÍ, ´©°¡ ¼öÁ¤À» Çß´ÂÁö, ¾ðÁ¦ ¼öÁ¤À» Çß´ÂÁö¿Í commitÇϸ鼭 ³²±ä ·Î±×¸Þ½ÃÁö µîÀÌ Ç¥½Ã µÊÀ¸·Î hello.c °¡ ¾î¶²½ÄÀ¸·Î º¯°æµÇ¾ú´ÂÁö ´ë·«ÀÇ Á¤º¸¸¦ ¾ò¾î¿Ã ¼ö ÀÖ´Ù.

3.2.6. ¹öÁ¯º° Â÷ÀÌ È®ÀÎ : diff

ÀÌ·¸°Ô Çؼ­ »õ·Î¿î ¼Ò½º ÆÄÀÏÀ» °¡Á®¿Ô´Âµ¥, ¾î´À ÄÚµåÀÇ ¾î¶² ¶óÀÎÀÌ ¼öÁ¤µÇ¾ú´ÂÁö È®ÀÎÇÏ°í ½ÍÀ» ¶§°¡ »ý±æ °ÍÀÌ´Ù. ÀÌ·¯ÇÑ ¹öÁ¯º° ÄÚµå º¯°æ»çÇ×ÀÇ È÷½ºÅ丮°¡ ³²°Ô µÈ´Ù¸é ³ªÁß¿¡ ¹®Á¦°¡ »ý°åÀ» ¶§ ÀÌÀü¹öÁ¯ÀÇ Äڵ带 ½±°Ô ¾ò¾î³¾¼öµµ ÀÖÀ» °ÍÀÌ´Ù.
cvs´Â ¹öÁ¯º° Äڵ庯°æ»çÇ×À» ¸ðµÎ ÀúÀåÇÏ¸ç °³¹ßÀÚ´Â ÀÌ ³»¿ëÀ» ÀÌ¿ëÇؼ­ Äڵ庯°æ»çÇ×À» È®ÀÎÇÒ ¼ö ÀÖÀ» »Ó ¾Æ´Ï¶ó ¹®Á¦°¡ »ý°åÀ»½Ã ÀÌÀü ¹öÁ¯ÀÇ Äڵ带 ¾ò¾î¿Ã ¼öµµ ÀÖ´Ù.
Âü°í: ¹°·Ð ÀÌ·¯ÇÑ ÀÛ¾÷À» À§Çؼ­´Â ¾à°£ÀÇ ¼öÀÛ¾÷ÀÌ ÇÊ¿äÇѵ¥, °ø°³µÈ CVSÇÁ·ÐÆ®¿£µåµéÀº ÀÚµ¿À¸·Î ÀÌ·¯ÇÑ ±ÍÂúÀº ÀÏÀ» ´ë½Å ÇØÁØ´Ù. ¾Æ¸¶µµ À¥±â¹ÝÀÇ CVSÇÁ·ÐÆ®¿£µå°¡ °¡Àå ÁÁÀº ¼±ÅÃÀÌ µÉ °ÍÀÌ´Ù.
¹öÁ¯º° º¯°æ³»¿ëÀº diff¸¦ ÅëÇؼ­ È®ÀÎÇÒ ¼ö ÀÖ´Ù.
//hello.cc¿¡ ´ëÇؼ­ 1.1¹öÁ¯°ú 1.2¹öÁ¯°úÀÇ º¯°æ³»¿ëÀ» Ãâ·ÂÇϽÿÀ.
# cvs diff -r 1.2 -r 1.1 hello.cc
bash-2.04# cvs diff -r 1.2 -r 1.1 hello.c 
Index: hello.c
===================================================================
RCS file: /home/cvs/hello_world/hello.c,v
retrieving revision 1.2
retrieving revision 1.1
diff -r1.2 -r1.1
1,2d0
< #include <stdio.h>
< 
				
´ÜÁö diff¸¸ »ç¿ëÇÏ¸é °¡ÀåÃÖ±ÙÀÇ º¯°æ»çÇ×À» Ãâ·ÂÇÑ´Ù.
#cvs diff test.cc
				

3.2.7. ÆÄÀÏ Ãß°¡Çϱâ : add

ÀÌ·¸°Ô Çؼ­ ÇÁ·ÎÁ§Æ®¸¦ ÁøÇàÇÏ´Ù º¸´Ï READMEÆÄÀÏÀ» Ãß°¡½ÃÄÑ¾ß ÇÒ Çʿ伺À» ´À³¢°Ô µÇ¾ú´Ù. ÀÌó·³ ÇÁ·ÎÁ§Æ®¸¦ ÁøÇàÇÏ´Ù º¸¸é Áß°£Áß°£ ¿©·¯°³ÀÇ ÆÄÀÏÀ» Ãß°¡ÇØ¾ß µÉ°Çµ¥ ÀÌ·²°æ¿ì add¸¦ ÀÌ¿ëÇؼ­ ÆÄÀÏÀ» Ãß°¡ÇÏ¸é µÈ´Ù.
# cvs add README
cvs server: scheduling file `README' for addition
cvs server: use 'cvs commit' to add this file permanently
				
ÀÌ·¸°Ô Çؼ­ ÆÄÀÏÀ» Ãß°¡Çϱä Çߴµ¥ ÀÌ·¸°Ô Çß´Ù°íÇؼ­ ¹Ù·Î ÆÄÀÏÀÌ cvs¿¡ µî·ÏµÇÁö´Â ¾Ê´Â´Ù. ¹Ýµå½Ã commit ¸¦ Çؼ­ ÆÄÀÏÀÌ ÇÁ·ÎÁ§Æ®¿¡ »ç¿ëµÉ°ÍÀ̶ó´Â°ÍÀ» ½ÂÀÎ ½ÃÄÑÁà¾ß ÇÑ´Ù.
ÀÌÁ¦ ´Ù¸¥ °³¹ßÀÚ°¡ cvs upÀ» Çϸé READMEÆÄÀÏÀÌ Ãß°¡µÈ°ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ°Ô µÈ´Ù.
# cvs up
cvs server: Updating .
U README
				

3.2.8. Ãæµ¹ÀÇ ÇØ°á

À§ÀÇ °æ¿ì´Â "ÆÀÀå"ÀÌ ÆÄÀÏÀ» ¿Ã¸®°í, "ÆÀ¿ø"ÀÌ ÆÄÀÏÀ» ¹Þ¾Æ¼­ ¼öÁ¤ÇÏ°í ´Ù½Ã ÆÄÀÏÀ» ¿Ã¸®´Â °úÁ¤À» ¹â°í ÀÖ´Ù. ±×·¯³ª ÇϳªÀÇ ÇÁ·ÎÁ§Æ®ÆÄÀÏ¿¡ ´ëÇؼ­ 2¸íÀÌ µ¿½Ã¿¡ ÀÛ¾÷À» ÇÏ´Ùº¸¸é Ãæµ¹µÇ´Â °æ¿ì°¡ »ý±æ¼ö ÀÖÀ»°ÍÀÌ´Ù.
¿¹¸¦ µé¾î¼­ "ÆÀÀå"°ú "ÆÀ¿ø"ÀÌ µ¿½Ã¿¡ °°Àº ¶óÀÎÀ» ¼öÁ¤ÇÏ°í Àִµ¥, ÆÀÀåÀÌ ¸ÕÀú commit ¸¦ Çß´Ù°í ÇÏÀÚ. Àá½Ã ÈÄ¿¡ ÆÀ¿øÀÌ commit Çϸé, °°Àº ÄÚµå¶óÀο¡ ´ëÇؼ­ Ãæµ¹ÀÌ ÀϾ°Ô µÉ°ÍÀÌ´Ù.
±×·¸Áö¸¸ °ÆÁ¤ÇÒ°Í ¾ø´Ù. cvs °¡ ¾Ë¾Æ¼­ ÀÚµ¿ÀûÀ¸·Î °ü¸®ÇØÁֱ⠶§¹®ÀÌ´Ù. ÆÀ¿øÀÌ ÀÚ½ÅÀÇ ½î¾²¸¦ commit ÇÏ·Á°í Çϸé cvs ´Â ÀÚµ¿ÀûÀ¸·Î "ÄÚµå¶óÀο¡ Ãæµ¹ÀÌ ÀϾÀ½À¸·Î ¸ÕÀú update ¸¦ ÇϽÿÀ" ¶ó´Â ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÑ´Ù. ±×·¡¼­ update ¸¦ ½ÃÅ°¸é ¾î´À ºÎºÐÀÌ Ãæµ¹À» ÀÏÀ¸Å°´ÂÁö Ç¥½ÃÇØÁØ´Ù.
´Ù½Ã ÇÁ·ÎÁ§Æ® ½î¾²ÀÎ hello.c ·Î µ¹¾Æ°¡¼­, ÆÀÀåÀÌ ´ÙÀ½°ú °°ÀÌ Äڵ带 ¾à°£ ¼öÁ¤Çß´Ù°í °¡Á¤ÇÏÀÚ.
#include <stdio.h>

int main(int argc, char **argv)
{
    printf("Hello World!!!!!\n");
}
				
±×·±µ¥ ±×¶§ "ÆÀ¿ø" µµ µ¿ÀÏÇÑ Äڵ带 ¼öÁ¤Çß´Ù.
#include <stdio.h>

int main(int argc, char **argv)
{
    printf("Hello World??\n");
}
				
ÀÌ»óÅ¿¡¼­ ÆÀÀåÀÌ commit ½ÃÅ°°í, Àá½ÃÈÄ¿¡ ÆÀ¿øÀÌ commit ½ÃÅ°·Á°í ÇÏ¸é ´ÙÀ½°ú °°Àº ¿¡·¯°¡ ¹ß»ýÇÑ´Ù. (ÆÀÀåÀº ¾Æ¹« ÀÌ»ó¾øÀÌ commit ½Ãų¼ö ÀÖ´Ù)
[yundream@myhome hello_world]$ cvs commit -m hello.c
cvs commit: Examining .
cvs server: Up-to-date check failed for `hello.c'
cvs [server aborted]: correct above errors first!
				
À̹®Á¦¸¦ ÇØ°áÇϱâ À§Çؼ­ ¸ÕÀú update ¸í·ÉÀ» ÀÌ¿ëÇؼ­ ÇöÀç CVS¼­¹ö¿¡ ÀúÀåµÈ ÇÁ·ÎÁ§Æ® ³»¿ëÀ» °¡Á®¿Àµµ·Ï ÇÑ´Ù. ±×·¯¸é ´ÙÀ½°ú °°Àº ¸Þ½ÃÁö¸¦ ¹Þ¾Æº¼¼ö ÀÖÀ»°ÍÀÌ´Ù.
# cvs up
cvs server: Updating .
RCS file: /home/cvs/hello_world/hello.c,v
retrieving revision 1.3
retrieving revision 1.4
Merging differences between 1.3 and 1.4 into hello.c
rcsmerge: warning: conflicts during merge
cvs server: conflicts found in hello.c
C hello.c
				
±âÁ¸ÀÇ 1.3 ¹öÁ¯°ú Áö±Ý ¹öÁ¯ÀÇ ÇÁ·ÎÁ§Æ®¿Í Ãæµ¹ÀÌ »ý°åÀ½À» ¾Ë¼ö ÀÖ´Ù. 'C' ´Â Ãæµ¹(confilict)ÀÌ ÀÖÀ½À» ³ªÅ¸³»´Â ´Ü¾îÀÌ´Ù. ÀÌÁ¦ hello.c ½î¾²¸¦ º¸¸é ´ÙÀ½°ú °°ÀÌ Ãæµ¹µÇ´Â ºÎºÐÀ» Ç¥½ÃÇØÁÙ°ÍÀÌ´Ù.
#include <stdio.h>

int main(int main, char **argv)
{
<<<<<<< hello.c
    printf("Hello World!!!!!\n");
=======
    printf("Hello World??\n");
>>>>>>> 1.3
}
				
ÀÌ·²°æ¿ì´Â ÆÀÀå°ú ¿¬¶ôÀ» ÃëÇؼ­(¸ÞÀÏ, ¸Þ½ÅÀú, ÀüÈ­·Î) Ãæµ¹µÇ´Â Äڵ忡 ´ëÇؼ­ ¼­·Î Á¶À²ÇØ¾ß ÇÒ°ÍÀÌ´Ù. ±»ÀÌ Á¶À²±îÁö ÇÒ ÇÊ¿ä ¾øÀÌ ±×³É ÆÀÀåÀÇ Äڵ带 »ç¿ëÇϱâ·Î Çß´Ù¸é Ãæµ¹µÈ ºÎºÐÀ» ÆÀÀåÀÇ ÄÚµå·Î Á¶Á¤ÇÑ´ÙÀ½¿¡ commit½ÃÅ°¸é µÈ´Ù.

3.2.9. ÇÊ¿ä¾ø´Â ÆÄÀÏÁö¿ì±â : delete

½î¾²ÆÄÀÏÁß¿¡ ´õÀÌ»ó ÇÊ¿ä°¡ ¾ø¾îÁø ÆÄÀÏ¿¡ ´ëÇؼ­´Â delete ¸í·ÉÀ» ÀÌ¿ëÇÒ¼ö ÀÖ´Ù. README ÆÄÀÏÀÌ ´õÀÌ»ó ÇÊ¿ä ¾ø´Ù¸é ¿ì¼± README ÆÄÀÏÀ» rmÀ» ÀÌ¿ëÇؼ­ Áö¿öÁÖ°í.. deleteÇÑ ÈÄ commit½ÃÅ°¸é µÈ´Ù.
# rm README
# cvs delete README
cvs server: scheduling `README' for removal
cvs server: use 'cvs commit' to remove this file permanently

# cvs commit -m "¸®µå¹Ì ´õÀÌ»ó ÇÊ¿ä ¾ø¾î¼­ »èÁ¦ÇßÀ½" README
Removing README;
/home/cvs/hello_world/README,v  <--  README
new revision: delete; previous revision: 1.1
done
				
ÀÌÁ¦ ´Ù¸¥ ÇÁ·ÎÁ§Æ® °³¹ßÀÚ°¡ cvs upÀ» ÇÏ¸é ´ÙÀ½°ú °°ÀÌ README°¡ »èÁ¦µÇ¾úÀ½À» È®ÀÎÇÒ ¼ö ÀÖ°Ô µÈ´Ù.
# cvs up
cvs server: Updating .
cvs server: README is no longer in the repository
				
ÀÌÈÄ ls¸¦ ÇÏ¸é ½ÇÁ¦ READMEÆÄÀÏÀÌ Áö¿öÁ®ÀÖÀ½À» È®ÀÎ ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ±×·¸´Ù¸é ¾î¶² ¾ÇÀÇÀûÀÎ °³¹ßÀÚ°¡ Áß¿äÇÑ ÆÄÀÏÀ» Áö¿ö¹ö¸®¸é À߸øÇؼ­ ÇØ´ç ÆÄÀÏÀ» ¿µ¿øÈ÷ ÀÒ¾î ¹ö¸®°Ô µÇ´Â »çÅ°¡ ¹ß»ýÇÏÁö ¾ÊÀ»Áö °ÆÁ¤ÀÌ µÉ ¼öµµ ÀÖÀ» °ÍÀÌ´Ù. ±×·¯³ª ÀÌ ¹®Á¦´Â ±×¸® Å©°Ô °ÆÁ¤ÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ÇØ´ç ÆÄÀÏÀº ÀÌ¹Ì ´Ù¸¥ ¿©·¯ °³¹ßÀÚµéÀÌ °¡Áö°í ÀÖÀ» °ÍÀ̸ç, ¼³È¤ ±×·¸Áö ¾Ê´Ù ÇÏ´õ¶óµµ cvs ¼­¹ö¿¡´Â ÆÄÀÏÀÌ º¸Á¸ÀÌ µÇ¾î Àֱ⠶§¹®¿¡ ¾ðÁ¦µçÁö º¹±¸ °¡´ÉÇϱ⠶§¹®ÀÌ´Ù. ¶ÇÇÑ ´©°¡ ÆÄÀÏÀ» »èÁ¦ Çß´ÂÁö log¸¦ ÅëÇؼ­ ½±°Ô ¾Ë¾Æ ³¾ ¼ö µµÀÖ´Ù.

3.2.10. ÇÁ·ÎÁ§Æ®¸¦ ¿Ï·áÇßÀ»¶§ : release

ÇÁ·ÎÁ§Æ®¸¦ ¿Ï·áÇß´Ù¸é, release ¿É¼ÇÀ» »ç¿ëÇؼ­ ÇÁ·ÎÁ§Æ®¸¦ ´ÝÀ»¼ö ÀÖ´Ù. ÇÁ·ÎÁ§Æ®¸¦ ´Ý´Â´Ù°í Çؼ­ ÀúÀå¼ÒÀÇ ÆÄÀÏÀ» ¿ÏÀüÈ÷ Áö¿ì´Â °ÍÀº ¾Æ´Ï´Ù. ´ÜÁö ÀúÀå¼ÒÀÇ ÇÁ·ÎÁ§Æ®¿¡ ¾î¶°ÇÑ ¼öÁ¤µµ ÇÒ¼ö¾ø´Â »óÅ´Ù.

3.3. È¿À²ÀûÀÎ ÇÁ·ÎÁ§Æ® °ü¸®¸¦ À§ÇÑ CVS »ç¿ë¹ý

CVS´Â ¿©·¯¸íÀÇ °³¹ßÀÚ°¡ Âü¿©ÇÑ´Ù´Â °¡Á¤ÇÏ°Ô »ç¿ëµÇ¾î Áö¹Ç·Î À̸¦ È¿À²ÀûÀ¸·Î ÇÁ·ÎÁ§Æ®°¡ ÁøÇàµÇµµ·Ï Çϱâ À§ÇÑ ¸î°¡Áö ÁöÄѾßÇÒ »çÇ×ÀÌ Àִµ¥ À̵鿡 ´ëÇؼ­ ¾Ë¾Æº¸µµ·Ï ÇÏ°Ú´Ù.
¾Æħ¿¡ ¿Í¼­ ÄÄÇ»ÅÍ ¾Õ¿¡ ¾É¾Ò´Ù¸é, °¡Àå¸ÕÀú cvs up À» ÀÌ¿ëÇؼ­ ¹ã»çÀÌ¿¡ ¾÷µ¥ÀÌÆ® µÈ ³»¿ëÀÌ ÀÖ´ÂÁö È®ÀÎÀ» ÇÑ´Ù. ±×´ÙÀ½ ÀÛ¾÷¿¡ µé¾î°£´Ù. °øµ¿ÀÛ¾÷À» ÇÒ¶§ °¡Àå Áß¿äÇÑ°ÍÀº »ó´ëÆí ÀÛ¾÷ÀÚ°¡ ¹«½¼ÀÏÀ» ÇÏ°í ÀÖ´ÂÁö¿¡ ´ëÇØ ¾Ë¾Æ¾ß ÇÏ´Â °ÍÀÌ´Ù. ½À°üÀûÀ¸·Î cvs upÀ» ÇØÁà¾ß ÇÑ´Ù.
±×¸®°í ²Ï Áß¿äÇÑ ¼öÁ¤ÀÌ ÀÖ¾ú´Ù°í Çϸé Áß°£Áß°£¿¡ commitÇϵµ·Ï ÇÑ´Ù. commitÇÒ¶§µµ ¿ì¼± cvs upÀ» ÀÌ¿ëÇؼ­ ¼öÁ¤»çÇ×ÀÌ ÀÖ¾ú´ÂÁö È®ÀÎÇϵµ·Ï ÇÏ°í ´ç¿¬ÇÏÁö¸¸ ¹Ýµå½Ã ÄÄÆÄÀÏÀÌ µÇ´ÂÁö È®ÀÎÇÑ ÈÄ commit ½ÃÄÑ¾ß ÇÑ´Ù.
CVS ¸¦ Á¦´ë·Î »ç¿ëÇϱâ À§Çؼ­´Â CVS ÀúÀå¼ÒÀÇ ±¸¼ºÀ» ÀßÇسõ¾Æ¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î Project_A ¶õ ÇÁ·ÎÁ§Æ®¸¦ ½ÃÀÛÇÑ´Ù¸é Project_A ¶õ µð·ºÅ丮¸¦ ¸¸µé°í ±× ¾Æ·¡¿¡ ÇÁ·ÎÁ§Æ®¿¡ ÇÊ¿äÇÑ °¢Á¾ µð·ºÅ丮, Áï ÀÛ¾÷¹®¼­ÀÇ ÀúÀåÀ» À§ÇÑ doc µð·ºÅ丮, ½ÇÁ¦ ½î¾²°¡ Æ÷Ç﵃ src µð·ºÅ丮, ÀÎÅ©·çµå ÆÄÀÏÀÌ Á¸ÀçÇÏ°Ô µÉ src/include µð·ºÅ丮 µî, ü°èÀûÀ¸·Î ÇÁ·ÎÁ§Æ®¸¦ °ü¸®ÇÒ¼ö ÀÖµµ·Ï ¹Ì¸® ÀúÀå¼Ò¸¦ ¼¼ÆÃÇØ ³õ¾Æ¾ßÇÑ´Ù. ¹°·Ð ³ªÁß¿¡¶óµµ µð·ºÅ丮¸¦ Ãß°¡ÇÒ¼öµµ ÀÖÁö¸¸, ÀÌ¿ÕÀÌ¸é ¹Ì¸® ÇÁ·ÎÁ§Æ®¿¡ ´ëÇÑ °èȹÀ» Àß ¼¼¿öµÎ´Â°Ô ÁÁÀ»°ÍÀÌ´Ù.
Project_A --+-- doc -+-- readme.txt
            |        | 
            |        +-- todo_list.txt
            |        |
            |        +-- schedule.xls 
            |
            +-- src --+-- Makefile
                      |  
                      +-- main.cc  
                      |  
                      +-- io.cc  
                      |  
                      +-- include --+-- io.h 
                      |             | 
                      |             +-- common.h 
                      +-- lib     --+-- crypt.a 
			
±×¸®°í °¡´ÉÇÏ¸é ¸ðµâº°·Î ½î¾²Äڵ带 ³ª´©°í, °¢ ¸ðµâº°·Î ºÐ´ãÇؼ­ °³¹ßÀ» Çϵµ·Ï ÇÏ´Â°Ô ÇÁ·ÎÁ§Æ®¸¦ ½±°Ô °ü¸® ÇÏ´Â ¹æ¹ýÀÌ´Ù. ±×·¯¸é °³¹ßÀÚ´Â ÀÚ½ÅÀÇ ¸ðµâ¸¸ ½Å°æ¾²¸é¼­µµ, ÀüüÀÇ ÇÁ·ÎÁ§Æ®ÀÇ È帧¿¡ À¯¿¬ÇÏ°Ô ´ëóÇÒ¼ö ÀÖ°Ô µÈ´Ù.

3.4. ±âŸ ¿É¼Ç

3.4.1. µð·ºÅ丮 uploadÇϱâ

ÀÛ¾÷À» ÇÏ´Ùº¸¸é µð·ºÅ丮¸¦ ¸¸µé¾î¼­ cvs¼­¹ö¿¡ µî·Ï½ÃÄÑ¾ß ÇÏ´Â °æ¿ì°¡ ÀÖ´Ù. µî·ÏÀº add¿Í commit¸¦ ÀÌ¿ëÇؼ­ °¡´ÉÇѵ¥, À̸¦ uploadÇϱâ À§Çؼ­´Â -d ¿É¼ÇÀ» ÀÌ¿ëÇØ¾ß ÇÑ´Ù. -d ¿É¼ÇÀ» »ç¿ëÇÏÁö ¾ÊÀ»°æ¿ì ÀÏ¹Ý ÆÄÀϵ鸸 uploadÇÏ°í µð·ºÅ丮´Â upload ÇÏÁö ¾Ê°Ô µÈ´Ù.
# cvs up -d
				

3.4.2. ¹ÙÀ̳ʸ® ÆÄÀÏ Ãß°¡Çϱâ

cvs´Â ÀϹÝÅؽºÆ®·Î ÀÌ·ç¾îÁø ÆÄÀÏÀ» Àß °ü¸®ÇÏ°Ô²û ÃÖÀûÈ­ µÇ¾îÀÖ´Ù. ±×·¯´Ù º¸´Ï ¹ÙÀ̳ʸ® ÆÄÀÏÀ» Ãß°¡ÇÒ°æ¿ì À̸¦ ÅؽºÆ®·Î ÀνÄÇؼ­ Èûµé°Ô Ãß°¡Çß´õ´Ï ÆÄÀÏÀÌ ±úÁö´Â °æ¿ì°¡ ¹ß»ýÇÑ´Ù. ¹ÙÀ̳ʸ® ÆÄÀÏÀº ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î Ãß°¡Çϵµ·Ï ÇÏÀÚ.
# cvs add -kb filename.bin 
				

4. CVS ÀÇ ´Ù¸¥ È°¿ëµé

ÇÊÀÚ´Â °³ÀÎ Á¤º¸ÀÇ °ü¸®¸¦ À§Çؼ­ CVS ¸¦ »ç¿ëÇÑ´Ù. ȸ»ç¿¡¼­ ÀÏÇÏ´Ù°¡ ÁÁÀº »çÀÌÆ®¸¦ ã¾Ò´Ù°Å³ª, Áß¿äÇÑ ¸Þ¸ð »óȲÀÌ ¹ß»ýÇߴٰųª, ÁÁÀº ÀڷḦ ã¾ÒÀ»°æ¿ì, ÀÏÁ¤°ü¸® ±îÁö ¸ðµÎ CVS ·Î ÀúÀåÇصΰí Áý¿¡ ÀÖ°Ç È¸»ç¿¡ ÀÖ°Ç °³ÀÎ ÀڷḦ °øÀ¯ÇÒ¼ö ÀÖµµ·Ï ¸¸µé¾î ³õ¾Ò´Ù.
¸ðÁú¶óÀÇ ºÏ¸¶Å· µ¥ÀÌŸ¸¦ CVS ·Î ¿¬°á½ÃÄÑ ³õ¾Ò±â ¶§¹®¿¡, Áý¿¡ ÀÖ°Ç È¸»ç¿¡ ÀÖ°Ç µ¿ÀÏÇÑ ºÏ¸¶Å· µ¥ÀÌŸ¸¦ À¯ÁöÇÒ¼ö ÀÖÀ¸¸ç, ÀÏÁ¤°ü¸®(Koraganizer À» ÀÌ¿ëÇÑ´Ù), ¸Þ¸ðµ¥ÀÌŸ(knotes) ¿ª½Ã °øÀ¯ °¡´ÉÇϵµ·Ï Çصξ ÆíÇÏ°Ô »ç¿ëÇÏ°í ÀÖ´Ù.
ÀÌ·¸°Ô CVS¸¦ »ç¿ëÇÔÀ¸·Î½á PDA, email, ³ëÆ®ºÏ(µ·ÀÌ Á» ÀÖ¾î¾ß ÇÑ´Ù) ¸Åü¸¦ ÀÌ¿ëÇÏÁö ¾Ê°íµµ, °£´ÜÇÏ°Ô µ¥ÀÌŸ µ¿±âÈ­¸¦ ÀÌ·ç¾î ³¾¼ö ÀÖ´Ù.

5. °á·Ð

ÀÌ»ó CVSÀÇ ¼³Ä¡¿Í °£´ÜÇÑ »ç¿ë¹æ¹ý°ú È°¿ë¹æ¹ý¿¡ ´ëÇؼ­ ¾ê±â Çغ¸¾Ò´Ù. ¿©±â¿¡ ÀÖ´Â ³»¿ëÀº CVS ÀÇ ¸¹Àº ±â´ÉÁß ²À ÇÊ¿äÇÑ 10% Á¤µµÀÇ ³»¿ë¸¸À» ´Ù·ç°í ÀÖ´Ù. CVS »ç¿ë¿¡ ´ëÇÑ ±íÀº ³»¿ëÀ» ¾Ë±â ¿øÇÑ´Ù¸é cvs ¿Í ÇÔ²² ¹èÆ÷µÇ´Â man ÆäÀÌÁö¸¦ È°¿ëÇϰųª CVS À̾߱â, CVS »ç¿ë µîÀÇ ¹®¼­¸¦ Âü°íÇϱ⠹ٶõ´Ù.

 


À̸§ Æнº¿öµå
ºñ¹Ð±Û (üũÇÏ¸é ±Û¾´À̸¸ ³»¿ëÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.)
¿ÞÂÊÀÇ ±ÛÀÚ¸¦ ÀÔ·ÂÇϼ¼¿ä.
   

 



 
»çÀÌÆ®¸í : ¸ðÁö¸®³× | ´ëÇ¥ : ÀÌ°æÇö | °³ÀÎÄ¿¹Â´ÏƼ : ·©Å°´åÄÄ ¿î¿µÃ¼Á¦(OS) | °æ±âµµ ¼º³²½Ã ºÐ´ç±¸ | ÀüÀÚ¿ìÆí : mojily°ñ¹ðÀÌchonnom.com Copyright ¨Ï www.chonnom.com www.kyunghyun.net www.mojily.net. All rights reserved.