|
TagHelpPlease › TasteForMakers › TeX › TerminalFont › CodingFont › TestSgml CVS »ç¿ë±è¹Î½Ä minskim (at) bawi.org ¹Ú¿ëÁÖ¹®¼ Çü½ÄÀ» DocBookÀ¸·Î Àüȯ yongjoo (at) kldp.org $Date: 2003/09/27 14:25:39 $
1. ¼Ò°³CVS´Â °¢Á¾ ÆÄÀÏÀÇ ¹öÁ¯À» ½±°Ô °ü¸®ÇÒ ¼ö ÀÖµµ·Ï µµ¿ÍÁÖ´Â µµ±¸ÀÌ´Ù. µ¶ÀÚµé Áß¿¡´Â ¾ÆÁ÷ ¹öÁ¯ °ü¸®ÀÇ Çʿ伺À» Å©°Ô ´À³¢Áö ¸øÇÏ´Â »ç¶÷µµ ¸¹ÀÌ ÀÖÀ» °ÍÀÌ´Ù. ÇÏÁö¸¸ CVS°¡ Á¦°øÇÏ´Â ±â´ÉµéÀ» Á÷Á¢ º¸°í ±× Æí¸®ÇÔÀ» üÇèÇØ º»´Ù¸é, ¾ÕÀ¸·Î´Â CVS ¾øÀÌ ÇÁ·ÎÁ§Æ®¸¦ ÁøÇàÇÑ´Ù´Â °ÍÀº »ó»óÇÒ ¼öµµ ¾ø´Â ÀÏÀÌ µÉ °ÍÀÌ´Ù. ¿¹¸¦ µé¾î °£´ÜÇÑ ÇÁ·Î±×·¥À» Çϳª ÀÛ¼ºÇÑ´Ù°í ÇÏÀÚ. ºñ±³Àû °£´ÜÇØ º¸ÀÌ´Â ¹®Á¦¿©¼ °ð¹Ù·Î ÄÚµùÀ» ½ÃÀÛÇÏ¿© ÇϷ縸¿¡ ÀÛ¾÷À» ¸¶ÃÆ´Ù. ÇÏÁö¸¸ ½ÇÇàÇØº¸´Ï ÀǵµÇÑ ¹Ù´ë·Î °á°ú°¡ ³ª¿ÀÁö ¾Ê´Â´Ù. ¿øÀÎÀÌ ¹«¾ùÀÎÁö ¾Ë¾Æ³»±â À§ÇØ À̺κРÀúºÎºÐÀ» ¶â¾î°íÄ¡´Ù º¸¸é óÀ½ÀÇ ¸ð½ÀÀº °ÅÀÇ Ã£¾Æº¼ ¼ö ¾ø´Â º¹ÀâÇÑ ÄÚµå·Î º¯Çعö¸°´Ù. ÇÏÁö¸¸ °á±¹ ¹ß°ßÇÏ´Â °ÍÀº »ç¼ÒÇÑ ½Ç¼ö, ÀÌÁ¦ ±× µ¿¾ÈÀÇ ÀÛ¾÷À» ¸ðµÎ ¿ø·¡´ë·Î µ¹·Á³õÀ¸·Á ÇÏÁö¸¸ ÀÌ°Í ¿ª½Ã ¹ö±×¸¦ Àâ´Â ÀÏ ¸øÁö ¾Ê°Ô ¾î·Á¿î ÀÏÀÌ´Ù. ³ª¸§´ë·Î ¹Ù²î¾ú´Ù°í »ý°¢µÇ´Â ºÎºÐÀ» º¹±¸ÇغÁµµ Á¦´ë·Î µÇÁö ¾Ê°í, °á±¹¿¡´Â óÀ½ºÎÅÍ ´Ù½Ã ÄÚµùÇØ ¹ö¸°´Ù. ¸¸ÀÏ ÀÌ ¶§ óÀ½ÀÇ Äڵ带 ¹é¾÷ÇØ ³õ¾Ò´Ù¸é, ã¾Æ³½ ¹ö±×¸¸À» °íÄ¡°í ÀÛ¾÷À» °è¼Ó ÁøÇàÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÇÏÁö¸¸ ±×·¸´Ù°í ÇØ¼ ¸Å ÀÛ¾÷ ´Ü°è¸¶´Ù Äڵ带 ¹é¾÷ÇØ ³õ´Â´Ù¸é Á¶±Ý¸¸ Áö³ªµµ ¼ö¾øÀÌ ¸¹Àº ÆÄÀϵéÀÌ »ý°Ü³¯ °ÍÀÌ´Ù. ÀÌ·± ÆÄÀϵéÀº °ø°£µµ ¸¹ÀÌ Â÷ÁöÇÒ »Ó´õ·¯ ±× ¸¹Àº ÆÄÀϵéÀ» °ü¸®ÇÏ´Â °Í ÀÚü°¡ ¶Ç ´Ù¸¥ ¹®Á¦°¡ µÉ °ÍÀÌ´Ù. CVS´Â ¹Ù·Î ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇØ ÁØ´Ù. CVS¸¦ ÀÌ¿ëÇÏ¸é ¸Å ÀÛ¾÷ ´Ü°è¸¶´Ù Äڵ带 ÀúÀåÇÒ ¼ö ÀÖÀ½Àº ¹°·Ð, ¿øÇÏ´Â ´Ü°èÀÇ Äڵ带 ¾ðÁ¦¶óµµ ²¨³» º¼ ¼ö ÀÖ´Ù. °Ô´Ù°¡ CVS´Â °¢ ´Ü°è¿¡¼ º¯°æµÈ ºÎºÐ¸¸À» ÀúÀåÇϱ⠶§¹®¿¡ ÀúÀå °ø°£µµ ¸¹ÀÌ ÇÊ¿ä·Î ÇÏÁö ¾Ê´Â´Ù. ¶ÇÇÑ °¢ ´Ü°è¸¶´Ù ÀÛ¾÷ÇÑ ³»¿ëÀ» ±Û·Î Àû¾î ÇÔ²² ÀúÀåÇÒ ¼ö ÀÖÀ¸¹Ç·Î °³¹ß ³»¿ëÀ» ÇÑ´«¿¡ ¾Ë¾Æº¼ ¼ö ÀÖ°Ô ÇØ ÁØ´Ù. CVSÀÇ ¶Ç ´Ù¸¥ ÀåÁ¡Àº ¿©·µÀÌ °øµ¿À¸·Î ÁøÇàÇÏ´Â ÇÁ·ÎÁ§Æ®¿¡¼ ³ªÅ¸³´Ù. »ç½Ç ¿©·¯¸íÀÌ ÇÔ²² ÀÛ¾÷ÇÏ´Ù º¸¸é °¢ÀÚ ÀÚ±âÀÇ ÀÛ¾÷ ÆÄÀÏÀ» °®°Ô µÇ±â ¶§¹®¿¡ ¾Æ¹«¸® ÁÖÀǸ¦ ÇÏ¿©µµ ´Ù¸¥ »ç¶÷ÀÌ º¯°æÇØ ³õÀº °ÍÀ» µ¤¾î ¾²´Â ÀÏÀÌ Á¾Á¾ ¹ß»ýÇÏ°Ô µÈ´Ù. ±×·¸´Ù°í ÀÛ¾÷À» Àß ³ª´©¾î °¢°¢ÀÌ ¼·Î ´Ù¸¥ ÆÄÀϸ¸À» °®°í ÀÛ¾÷Çϵµ·Ï ÇÏ´Â °Íµµ ½±Áö ¾Ê´Ù. óÀ½¿¡´Â °¢±â ´Ù¸¥ ÆÄÀÏÀ» ´Ù·çµµ·Ï ÀÏÀ» ³ª´©Áö¸¸ Á¶±Ý Áö³ª´Ùº¸¸é ¼·Î°¡ »ó´ë¹æÀÇ ÆÄÀÏÀ» °íÃľ߸¸ ÇÏ´Â °æ¿ì°¡ ¹ß»ýÇÏ°Ô µÈ´Ù. ½¬¿î ´ë¾ÈÀº ÇÑ ÆÄÀÏÀ» ÀÛ¾÷ÇÏ´Â µ¿¾È ´Ù¸¥ »ç¶÷Àº ±× ÆÄÀÏÀ» °Çµå¸®Áö ¸øÇÏ°Ô ÇÏ´Â °ÍÀÌÁö¸¸, ÀÌ·² °æ¿ì ÆÄÀÏÀ» ¼öÁ¤ÇÏ°í ½Í¾îµµ ´Ù¸¥ °³¹ßÀÚ°¡ ±× ÆÄÀÏÀ» ¼öÁ¤Çϰí ÀÖ´Ù¸é ±× ÀÛ¾÷ÀÌ ³¡³¯ ¶§±îÁö ±â´Ù·Á¾ß Çϱ⠶§¹®¿¡ Àüü ÀÛ¾÷ È¿À²ÀÌ ¶³¾îÁö°Ô µÈ´Ù. ¹Ý¸é CVS´Â ½ÉÁö¾î °°Àº ÆÄÀϵµ ¿©·¯ »ç¶÷ÀÌ ÇÔ²² ÀÛ¾÷ÇÒ ¼ö ÀÖ°Ô ÇØ ÁØ´Ù. °¢ÀÚ ÇÑ ÆÄÀÏ ³»ÀÇ ´Ù¸¥ ºÎºÐÀ» ¼öÁ¤ÇÑ´Ù¸é CVS°¡ ±× ³»¿ëÀ» Çϳª·Î ÇÕÃÄ ÁÙ °ÍÀÌ´Ù. ¹°·Ð µÎ »ç¶÷ÀÌ µ¿½Ã¿¡ °°Àº ÁÙÀ» °íÄ£´Ù¸é CVS°¡ ±×°ÍÀ» ÇÕÃÄÁÙ µµ¸®´Â ¾ø´Ù. ÇÏÁö¸¸ ±×·² °æ¿ì¶óµµ ¼·Î °°Àº ÁÙÀ» °íÃÆÀ½À» °³¹ßÀÚ¿¡°Ô ¾Ë·ÁÁÖ°í ±× ³»¿ëµµ º¸¿©ÁÖ¾î¼ °³¹ßÀÚ°¡ ÀûÀýÇÑ Á¶Ä¡¸¦ ÃëÇÒ ¼ö ÀÖµµ·Ï ÇØ ÁØ´Ù. »Ó¸¸¾Æ´Ï¶ó CVS´Â Unix ȯ°æÀº ¹°·Ð, Windows³ª Macintosh¿¡¼µµ »ç¿ëÇÒ ¼ö ÀÖ¾î °¢ °³¹ßÀÚµéÀÌ ¿øÇϴ ȯ°æ¿¡¼ ÀÛ¾÷ÇÒ ¼ö ÀÖ´Ù. CVS´Â ÀÌ¹Ì ´ë´Ù¼öÀÇ °ø°³ ÇÁ·ÎÁ§Æ®¿¡¼ »ç¿ëµÇ¾î ±× È¿´ÉÀ» ÀÔÁõÇÏ¿´´Ù. ½ÇÁ¦·Î ¿ì¸®°¡ ¾Ë°í ÀÖ´Â ´ëºÎºÐÀÇ °ø°³ ÇÁ·ÎÁ§Æ®°¡ CVS¸¦ »ç¿ëÇÑ´Ù. Apache HTTP server, Mozilla µîÀÌ ´ëÇ¥ÀûÀÎ ¿¹ÀÌ´Ù. ÀÌ·¯ÇÑ °ø°³ ÇÁ·ÎÁ§Æ®µéÀº ´ëºÎºÐ ÇöÀç °³¹ß ÁßÀÎ ³»¿ëÀ» CVS¸¦ ÅëÇØ ¸ðµç »ç¶÷µéÀÌ ¹Þ¾Æ º¼ ¼ö ÀÖµµ·Ï Çϰí ÀÖ´Ù. ±×·¸±â ¶§¹®¿¡ CVS¸¦ ÇÁ·ÎÁ§Æ®¿¡ µµÀÔÇÏ´Â °æ¿ì°¡ ¾Æ´Ï¶ó ÇÏ´õ¶óµµ ÀÌ·± °³¹ß ¹öÁ¯À» ¹Þ¾Æ º¸°í ½Í´Ù¸é CVSÀÇ »ç¿ë¹ýÀ» ÀÍÇô µÑ Çʿ䰡 ÀÖ´Ù. 2. µ¿ÀÛ ¹æ½Ä2.1. ÀúÀå¼Ò¿©·¯ ¸íÀÌ ÇÔ²² ÀÛ¾÷ÇÒ ¼ö Àִ ȯ°æÀ» Á¦°øÇÏ·Á¸é ¾î¶°ÇÑ ¿ä¼Ò°¡ ÇÊ¿äÇÒ±î? °¡Àå ¸ÕÀú ¶°¿À¸£´Â °ÍÀº °°ÀÌ ÀÛ¾÷ÇÏ´Â ÆÄÀÏÀ» º¸°üÇÒ Àå¼ÒÀÏ °ÍÀÌ´Ù. CVS´Â ÀÌ·¯ÇÑ ¿ªÇÒÀ» ÇÏ´Â °÷À» ÀúÀå¼Ò(repository)¶ó ºÎ¸¥´Ù. ±×·¸´Ù°í Ưº°ÇÑ µ¥ÀÌÅͺ£À̽º³ª ´Ù¸¥ ÀúÀå ¸Åü¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ±×Àú ÇϳªÀÇ µð·ºÅ丮¿¡ ºÒ°úÇÏ´Ù. ÀÌ µð·ºÅ丮¿¡´Â CVSÀÇ Àü¹ÝÀûÀÎ ¼³Á¤ »çÇ×°ú °¢ ÇÁ·ÎÁ§Æ®ÀÇ ÆÄÀϵé(¹®¼, ÇÁ·Î±×·¥ µî)Àº ¹°·Ð, °¢ ÆÄÀÏÀÇ ¹öÁ¯ °ü¸®¿¡ ÇÊ¿äÇÑ Á¤º¸, ÆÄÀϺ° ÀÛ¾÷ ±â·ÏµéÀ» ÀúÀåÇÏ°Ô µÈ´Ù. ¿©±â¿¡ ÀÖ´Â ÆÄÀϵéÀº ¸ðµÎ CVS°¡ °ü¸®ÇϹǷΠ»ç¿ëÀÚ´Â ÀÌ ÆÄÀϵéÀ» Á÷Á¢ °Çµå¸± Çʿ䰡 ÀüÇô ¾ø´Ù. 2.2. ÇÁ·ÎÁ§Æ® ½ÃÀÛÀÏ´Ü ÀúÀå¼Ò¸¦ ¸¸µé°í ³ª¸é ÀÌÈķδ ¿©·¯ ÇÁ·ÎÁ§Æ®µéÀÌ ±× ÀúÀå¼Ò¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. CVS¸¦ ÀÌ¿ëÇÏ·Á´Â »ç¿ëÀڴ óÀ½ ÇÁ·ÎÁ§Æ®¸¦ ½ÃÀÛÇϴµ¥¿¡ ÇÊ¿äÇÑ ÆÄÀÏ ¹× ±âº» µð·ºÅ丮 ±¸Á¶¸¦ ÀÚ½ÅÀÇ ÀÛ¾÷ µð·ºÅ丮¿¡ ¸¸µé°í, À̸¦ ÀúÀå¼Ò·Î ¿Å±æ ¼ö ÀÖ´Ù. ±×·¯¸é ÀúÀå¼Ò¿¡´Â »õ·Î¿î µð·ºÅ丮°¡ ¸¸µé¾îÁö°í ÀÌ °÷Àº ¾ÕÀ¸·Î ÇÁ·ÎÁ§Æ® ÁøÇàÀ» À§ÇÑ °ø°£À¸·Î »ç¿ëµÈ´Ù. ¿©±â±îÁö°¡ ¿Ï·áµÇ¸é ÇÁ·ÎÁ§Æ® ½ÃÀÛÀ» À§ÇÑ ¸ðµç Áغñ°¡ ³¡³ °ÍÀÌ´Ù. ÀÌÈķδ ÇÁ·ÎÁ§Æ®¿¡ Âü¿©ÇÏ´Â »ç¶÷µé °¢°¢ÀÇ ¸òÀÌ´Ù. 2.3. °³¹ßÀÚ °¢ÀÚÀÇ ÇÁ·ÎÁ§Æ® ÁøÇàÀúÀå¼Ò¿¡ ÇÁ·ÎÁ§Æ®¸¦ À§ÇÑ °ø°£ÀÌ ¸¶·ÃµÇ°í ³ª¸é ½ÇÁ¦·Î ÇÁ·ÎÁ§Æ®¿¡ Âü¿©ÇÏ´Â °³¹ßÀÚ´Â ¾î¶»°Ô CVS¸¦ ÀÌ¿ëÇÏ¸é µÉ±î? ÀúÀå¼ÒÀÇ ³»¿ëÀ» °¡Áö°í Á÷Á¢ ÀÛ¾÷ÇÒ ¼ö´Â ¾øÀ¸¹Ç·Î ¿ì¼± ÀúÀå¼Ò¿¡ ÀÖ´Â ³»¿ëÀ» º¹»çÇÏ¿© ÀÚ½ÅÀÇ ÀÛ¾÷ µð·ºÅ丮¸¦ ¸¸µé¾î¾ß ÇÑ´Ù. ÀÌ °úÁ¤À» CVS¿¡¼´Â checkoutÀ̶ó°í ÇÑ´Ù. checkoutÀ¸·Î ¸¸µé¾îÁø ÀÛ¾÷ µð·ºÅ丮´Â ÀڽŸ¸ÀÇ ÀÛ¾÷ °ø°£ÀÌ µÇ¸ç, °³¹ßÀÚ´Â ±× ÆÄÀϵéÀ» ¸¶À½´ë·Î º¯°æÇÒ ¼ö ÀÖ´Ù. ÀÌÈķδ °è¼Ó ÀÛ¾÷À» ÁøÇàÇÏ¸é¼ CVSÀÇ ¸í·ÉÀ» ÀÌ¿ëÇÏ¿© ÀÚ½ÅÀÇ ÀÛ¾÷ °á°ú¸¦ ÀúÀå¼Ò·Î ¿Å±â°í, ´Ù¸¥ »ç¶÷ÀÌ ÀúÀå¼Ò¿¡ ¿Ã·Á ³õÀº ÀÛ¾÷ °á°ú¸¦ ¹Þ¾Æ¿À´Â Àϸ¸À» ¹Ýº¹ÇÏ¸é µÈ´Ù. °øµ¿ ÀÛ¾÷À¸·Î ÀÎÇØ »ý±æ ¼ö ÀÖ´Â ¹®Á¦µéÀÇ ´ëºÎºÐÀº CVS°¡ ÇØ°áÇØ ÁÙ °ÍÀÌ´Ù. 2.4. ¿ä¾àCVS¸¦ ÀÌ¿ëÇÏ¿© ÇÁ·ÎÁ§Æ®¸¦ ¼öÇàÇÏ´Â ÀýÂ÷´Â ´ÙÀ½°ú °°´Ù.
3. CVS ÀúÀå¼Ò ¼³Á¤3.1. CVS ÃʱâÈCVS¸¦ »ç¿ëÇϱâ À§Çؼ °¡Àå ¸ÕÀú ÇÒ ÀÏÀº °¢ ÇÁ·ÎÁ§Æ®ÀÇ ÆÄÀϵéÀ» ÀúÀåÇÒ ÀúÀå¼Ò(repository)ÀÇ À§Ä¡¸¦ Á¤ÇÏ´Â °ÍÀÌ´Ù. ÀúÀå¼Ò¸¦ ÀÌ¿ëÇÒ ÇÁ·ÎÁ§Æ®µéÀÇ ±Ô¸ð¸¦ °í·ÁÇÏ¿© ÃæºÐÇÑ °ø°£À» °¡Áø µð·ºÅ丮¸¦ ÀúÀå¼Ò·Î ¾²µµ·Ï ÇÑ´Ù. ÀúÀå¼Ò¸¦ /home/cvs¿¡ ¸¸µé±â·Î Çß´Ù¸é ´ÙÀ½°ú °°ÀÌ ÃʱâÈÇÒ ¼ö ÀÖ´Ù.
3.2. ±ÇÇÑ ºÎ¿©ÀúÀå¼Ò¸¦ ¸¸µé¾úÀ¸¸é CVS¸¦ ÀÌ¿ëÇÒ °³¹ßÀڵ鿡°Ô ÀúÀå¼Ò¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Â ±ÇÇÑÀ» ÁÖ¾î¾ß ÇÑ´Ù. ±ÇÇÑ ºÎ¿© ¹æ¹ýÀº °³¹ßÀÚµéÀÌ ÀúÀå¼Ò°¡ À§Ä¡ÇÑ ¾¾½ºÅÛ¿¡ °èÁ¤ÀÌ ÀÖ´ÂÁö¿¡ µû¶ó µÎ °¡Áö·Î ³ª´¶´Ù. 3.2.1. °èÁ¤ÀÌ ÀÖ´Â °æ¿ì°³¹ßÀÚµéÀÌ °èÁ¤À» °®°í ÀÖ´Â °æ¿ì´Â °³¹ßÀÚµéÀÌ ¸ðµÎ ÀúÀå¼Ò°¡ ÀÖ´Â ¾¾½ºÅÛ¿¡¼ ÀÛ¾÷À» Çϰųª, °¢ÀÚÀÇ ±â°è¿¡¼ ÀÛ¾÷À» Ç쵂 sshÀ̳ª rshÀ» ½á¼ ¿ø°ÝÀ¸·Î CVS¸¦ »ç¿ëÇÏ´Â °æ¿ìÀÌ´Ù. ÀÌ ¹æ¹ýÀº ´ÙÀ½¿¡ ³ª¿Ã ¾ÏÈ£ ÀÎÁõ ¹æ½Ä¿¡ ºñÇØ ¼³Á¤ÀÌ °£´ÜÇϰí, º°µµÀÇ Æ÷Æ®¸¦ ¿ Çʿ䰡 ¾ø´Ù´Â ÀåÁ¡ÀÌ ÀÖ´Ù. °³¹ßÀÚµéÀÌ ¸ðµÎ °èÁ¤À» °®°í ÀÖÀ¸¹Ç·Î ÀúÀå¼Ò°¡ À§Ä¡ÇÑ µð·ºÅ丮¿¡ ÀÐ±â ¹× ¾²±â ±ÇÇÑÀ» Áֱ⸸ ÇÏ¸é µÇ´Â °ÍÀÌ´Ù. ±×·¯±â À§ÇØ °³¹ßÀÚµéÀ» ¸ðµÎ °°Àº ±×·ì(¿¹: cvs)ÀÇ ±¸¼º¿øÀ¸·Î ¸¸µç´Ù. ÀÌ´Â ¾¾½ºÅÛº°·Î Á¸ÀçÇÏ´Â ±×·ì °ü¸® µµ±¸¸¦ ÀÌ¿ëÇϰųª groupadd¿Í °°Àº ¸í·ÉÀ¸·Î cvs¶ó´Â ±×·ìÀ» ¸¸µé°í, ±×·ì °ü¸® µµ±¸¸¦ ¾²°Å³ª /etc/group ÆÄÀÏÀ» Á÷Á¢ ¼öÁ¤ÇÏ¿© °³¹ßÀÚµéÀ» ±× ±×·ì¿¡ Ãß°¡ÇÏ¸é µÈ´Ù. ¿¹¸¦ µé¾î minskim°ú sehkoneÀ̶ó´Â »ç¿ëÀÚ¸¦ cvs ±×·ì¿¡ Ãß°¡ÇÑ´Ù¸é ´ÙÀ½°ú °°Àº ÁÙÀÌ /etc/group¿¡ »ý±æ °ÍÀÌ´Ù.
3.2.2. °èÁ¤ÀÌ ¾ø´Â °æ¿ì°³¹ßÀÚµéÀÌ ¾¾½ºÅÛ¿¡ °èÁ¤À» °®°í ÀÖÁö ¾Ê´Ù¸é CVSÀÇ ¾ÏÈ£ ÀÎÁõ ¹æ½ÄÀ» ÀÌ¿ëÇØ¼ CVS ½á¹ö¿¡ Á¢¼ÓÇÒ ¼ö ÀÖ´Ù. °³¹ßÀÚ °¢°¢Àº CVS °èÁ¤(¾¾½ºÅÛ °èÁ¤°ú´Â ´Ù¸£´Ù)À» ºÎ¿©¹Þ°Ô µÇ¸ç, inetd¸¦ ÅëÇØ Á¤ÇØÁø Æ÷Æ®·Î CVS¸¦ »ç¿ëÇÏ°Ô µÈ´Ù. ¼³Á¤Àº Á¶±Ý º¹ÀâÇÏÁö¸¸ °³¹ßÀڵ鿡°Ô ÀÏÀÏÀÌ ¾¾½ºÅÛ °èÁ¤À» ¹ß±ÞÇÒ Çʿ䰡 ¾øÀ¸¹Ç·Î ¾¾½ºÅÛ °ü¸® Ãø¸é¿¡¼´Â º¸´Ù ³ºÀº ¹æ¹ýÀ̶ó ÇÒ ¼ö ÀÖ´Ù. ƯÈ÷ ºÒƯÁ¤ ´Ù¼ö¿¡ ´ëÇØ CVS·Î ÆÄÀÏÀ» ¹Þ¾Æ°¥ ¼ö ÀÖµµ·Ï ÇØ¾ß ÇÏ´Â °ø°³ ÇÁ·ÎÁ§Æ®ÀÇ °æ¿ì ´ëºÎºÐÀÌ ÀÌ ¹æ½ÄÀ» äÅÃÇϰí ÀÖ´Ù. ¾ÆÆÄÄ¡³ª ¸ðÁú¶ó °°Àº °æ¿ì°¡ ´ëÇ¥ÀûÀÎ ¿¹°¡ µÉ °ÍÀÌ´Ù. ¹Ý¸é °³¹ßÀÚµéÀÌ ¾¾½ºÅÛ °èÁ¤À» °®°í ÀÖ´Â °æ¿ì¶óµµ sshÀ̳ª rshÀ» ÅëÇÑ Á¢¼ÓÀ» Çã¿ëÇÏ°í ½ÍÁö ¾ÊÀ» °æ¿ì´Â º°µµÀÇ CVS °èÁ¤À» ¸¸µé¾î ¾ÏÈ£ ÀÎÁõ ¹æ½ÄÀ» ÀÌ¿ëÇÒ ¼öµµ ÀÖ´Ù. ±×·¯¸é inetd·Î CVS Á¢¼ÓÀ» Çã¿ëÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº¸ÀÚ. ¿ì¼± CVS°¡ »ç¿ëÇÏ´Â Æ÷Æ® ¹øÈ£(2401¹ø)¸¦ µî·ÏÇØ¾ß ÇÑ´Ù. /etc/services¿¡ ´ÙÀ½°ú °°Àº ÁÙÀÌ ÀÖ´ÂÁö »ìÆì º¸ÀÚ.
»õ·Î¿î ¼³Á¤ ³»¿ëÀ» ¹Ý¿µÇÏ·Á¸é inetd¸¦ Àç½ÃÀÛÇÏ¿©¾ß ÇÑ´Ù. inetdÀÇ ÇÁ·Î¼¼½º ID°¡ 357À̶ó¸é ´ÙÀ½°ú °°ÀÌ HUP ½ÅÈ£¸¦ º¸³»¸é µÈ´Ù.
xinetd¸¦ ¾´´Ù¸é /etc/xinetd.d¿¡ cvspserver¶õ À̸§À¸·Î º°µµÀÇ ÆÄÀÏÀ» ¸¸µé¾î¾ß ÇÑ´Ù. ÆÄÀÏ ³»¿ëÀº ´ÙÀ½°ú °°´Ù.
Âü°í·Î, ÀϺΠRedhat ¹öÀü¿¡¼´Â À§¿Í °°ÀÌ CVS pserver ¸¦ ±¸ÃàÇßÀ»¶§ checkout À» ÇÏ·Á°í ÇÏ¸é °è¼ÓÇØ¼
xinetd¸¦ Àç½ÃÀÛÇÏ´Â ¹æ¹ýµµ inetd¿Í µ¿ÀÏÇÏ´Ù. ¿ì¼± xinetdÀÇ ÇÁ·Î¼¼½º ID(357ÀÌ¶ó °¡Á¤ÇÑ´Ù)¸¦ ¾Ë¾Æ³½ ÈÄ, HUP ½ÅÈ£¸¦ º¸³»ÀÚ.
ÀÌÁ¦ Á¢¼Ó Æ÷Æ®´Â ¿¾îµÎ¾úÀ¸´Ï, °³¹ßÀڵ鿡°Ô CVS °èÁ¤À» ¹ß±ÞÇÏ´Â Àϸ¸ ³²¾Ò´Ù. ¾ÏÈ£ ÀÎÁõ ¹æ½ÄÀ» ÀÌ¿ëÇÏ´Â °æ¿ì, °èÁ¤°ú ¾ÏÈ£´Â ÀúÀå¼ÒÀÇ CVSROOT µð·ºÅ丮 ¹Ø¿¡ passwd¶õ À̸§ÀÇ ÆÄÀÏ¿¡ ÀúÀåµÈ´Ù. ¿©±â¿¡¼´Â /home/cvs/CVSROOT/passwd°¡ µÉ °ÍÀÌ´Ù. ÇÏÁö¸¸ ÀÌ ÆÄÀÏÀº óÀ½¿¡´Â Á¸ÀçÇÏÁö ¾Ê´Â´Ù. ±×·¯¹Ç·Î Á÷Á¢ ¸¸µé¾îÁÖ¾î¾ß Çϴµ¥, ¸ÕÀú ¿¹¸¦ Çϳª º¸µµ·Ï ÇÏÀÚ.
¸¶Áö¸·À¸·Î ÇÊ¿äÇÑ °ÍÀº cvs¶õ ¾¾½ºÅÛ °èÁ¤¿¡ ÀúÀå¼Ò¿¡ ´ëÇÑ ÀÐ±â ¹× ¾²±â ±ÇÇÑÀ» ÁÖ´Â °ÍÀÌ´Ù. 3.2.1절°ú Àϰü¼ºÀ» À¯ÁöÇÏ·Á¸é cvs¶õ ±×·ìÀ» ¸¸µé°í cvs¶õ »ç¿ëÀÚ¸¦ cvs ±×·ì¿¡ Ãß°¡ÇÑ ÈÄ, cvs ±×·ì¿¡ ´ëÇÑ ±ÇÇÑÀ» °°Àº ¹æ¹ýÀ¸·Î ¿¾îÁÖ¸é µÈ´Ù.
4. ±âº»ÀûÀÎ »ç¿ë ¹æ¹ýÀúÀå¼Ò°¡ ÃʱâȵǾî ÀÖ°í »ç¿ëÇÒ ¼ö ÀÖ´Â ±ÇÇÑÀÌ ÀÖ´Ù¸é cvs ¸í·ÉÀ» ÀÌ¿ëÇØ¼ ¹Ù·Î ÇÁ·ÎÁ§Æ®¸¦ ½ÃÀÛÇÒ ¼ö ÀÖ´Ù. ÀÌ Àý¿¡¼´Â CVSÀÇ ¸ðµç ±â´ÉÀ» ¼³¸íÇϱ⺸´Ù´Â ÀÚÁÖ »ç¿ëµÇ´Â ±â´ÉÀ» ¿¹¿Í ÇÔ²² ¼³¸íÇÑ´Ù. ¿©±â¿¡¼ ¼³¸íÇÏ´Â ³»¿ë Á¤µµ¸¸ °¡Áö°íµµ ½ÇÁ¦ ÇÁ·ÎÁ§Æ®¿¡¼ CVS¸¦ »ç¿ëÇÏ´Â µ¥¿¡´Â ¹«¸®°¡ ¾øÀ» °ÍÀÌ´Ù. CVS´Â ´ëºÎºÐÀÇ Linux ¹èÆ÷º»¿¡ Æ÷ÇԵǾî ÀÖÀ¸¹Ç·Î Linux¸¦ »ç¿ëÇϰí ÀÖ´Ù¸é ÀÌ¹Ì CVS°¡ ¼³Ä¡ µÇ¾î ÀÖÀ» °ÍÀÌ´Ù. ¸¸ÀÏ CVS ¸í·ÉÀÌ ¾ø´Ù¸é http://www.cyclic.com/¿¡¼ Àû´çÇÑ ÆÄÀÏÀ» ¹Þ¾Æ ¼³Ä¡ÇÏ¸é µÈ´Ù. CVS¸¦ ÀÌ¿ëÇÏ´Â ¸ðµç °úÁ¤Àº cvs ¸í·ÉÀ» ÅëÇØ ÀÌ·ç¾îÁø´Ù. cvs ¸í·ÉÀÇ ±âº» Çü½ÄÀº ´ÙÀ½°ú °°´Ù.
4.1. ÀúÀå¼Ò ÀÌ¿ë¸ðµç CVS ¸í·ÉÀº ÀúÀå¼ÒÀÇ À§Ä¡¸¦ ¾Ë¾Æ¾ß ¼öÇàµÉ ¼ö ÀÖ´Ù. ¾Õ¿¡¼ º» ÀúÀå¼Ò ÃʱâÈÀÇ ¿¹¿¡¼µµ init ¸í·ÉÀ» »ç¿ëÇÏ¸é¼ -d ¿É¼ÇÀ¸·Î ÀúÀå¼ÒÀÇ À§Ä¡¸¦ ¾Ë·Á ÁÖ°í ÀÖ´Ù. CVSÀÇ ´Ù¸¥ ¸í·Éµéµµ °°Àº ¿É¼ÇÀ¸·Î ÀúÀå¼ÒÀÇ À§Ä¡¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ¶Ç´Ù¸¥ ¹æ¹ýÀº CVSROOT¶ó´Â ȯ°æº¯¼öÀÇ °ªÀ¸·Î ÀúÀå¼ÒÀÇ À§Ä¡¸¦ ÁÖ´Â °ÍÀÌ´Ù. ¿¹¸¦ µé¾î ÀúÀå¼ÒÀÇ À§Ä¡°¡ /home/cvsÀÎ °æ¿ì, shÀ̳ª bash¸¦ ¾´´Ù¸é ´ÙÀ½ÀÇ ³»¿ëÀ» ÃʱâÈ ÆÄÀÏ(.bash-profile µî)¿¡ ³Ö¾î ³õÀ¸¸é Æí¸®ÇÒ °ÍÀÌ´Ù.
°³¹ßÀÚ°¡ CVS ¸í·ÉÀ» ÀÌ¿ëÇÏ·Á ÇÏ´Â °æ¿ì °í·ÁÇØ¾ß ÇÒ »çÇ×ÀÌ Çϳª ´õ ÀÖ´Ù. °³¹ßÀÚ°¡ ¾î¶² ¹æ½ÄÀ¸·Î ÀúÀå¼Ò°¡ À§Ä¡ÇÑ ±â°è¿¡ ¿¬°áÇϴ°¡ ÇÏ´Â °ÍÀÌ´Ù. CVS´Â ´Ù¾çÇÑ ¿¬°á ¹æ½ÄÀ» Áö¿øÇϴµ¥, ¿©±â¿¡¼´Â ÁÖ·Î »ç¿ëµÇ´Â ¼¼ °¡Áö ¹æ½Ä¿¡ ´ëÇØ ÀúÀå¼ÒÀÇ À§Ä¡¸¦ ÁöÁ¤ÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº¸µµ·Ï ÇÏÀÚ. ÀÌÇÏÀÇ ¿¹¿¡¼´Â ÆíÀÇ»ó -d ¿É¼ÇÀ¸·Î ÀúÀå¼ÒÀÇ À§Ä¡¸¦ ÁöÁ¤ÇϰڴÙ. ¹°·Ð -d ¿É¼ÇÀº Ç×»ó CVSROOT ȯ°æº¯¼ö·Î ´ëÄ¡ÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù. 4.1.1. ÀúÀå¼Ò¿Í °³¹ßÀÚ°¡ °°Àº ±â°è¸¦ ¾µ °æ¿ì¾Õ¿¡¼ ÀúÀå¼Ò¸¦ ÃʱâÈÇÑ °Í°ú °°Àº °æ¿ìÀÌ´Ù. °°Àº ±â°è¸¦ ¾²±â ¶§¹®¿¡ ÀúÀå¼Ò°¡ ÀÖ´Â µð·ºÅ丮 À̸§À» ÁÖ´Â °ÍÀ¸·Î ÃæºÐÇÏ´Ù. ¾Õ¿¡¼ ¸¸µç ÀúÀå¼Ò¿¡ CVS ¸í·ÉÀ» ³»¸®·Á¸é ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.
4.1.2. °³¹ßÀÚ°¡ sshÀ̳ª rshÀ» ÀÌ¿ëÇÏ´Â °æ¿ì°³¹ßÀÚ°¡ ÀúÀå¼Ò¿Í ´Ù¸¥ ±â°è¸¦ »ç¿ëÇÒ °æ¿ì ÀϹÝÀûÀ¸·Î ¾²ÀÌ´Â ¹æ¹ýÀÌ´Ù. ¿©·µÀÌ ÁøÇàÇÏ´Â ÇÁ·ÎÁ§Æ®´Â ´ëºÎºÐ °³¹ßÀÚµéÀÌ ÀÚ½ÅÀÇ ±â°è¿¡¼ ÀÛ¾÷À» ÇÏ°Ô µÇ´Âµ¥, ÀÌ ¹æ½ÄÀ» ÀÌ¿ëÇÏ¸é ±×·¯ÇÑ °æ¿ì¿¡µµ ½±°Ô ÀúÀå¼Ò¸¦ °øÀ¯ÇÒ ¼ö ÀÖ°Ô ÇØ ÁØ´Ù. ÀÌ ¹æ¹ýÀ» ¾²·Á¸é ¸ÕÀú sshÀ̳ª rshÀ» »ç¿ëÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î ÀúÀå¼Ò´Â cvs.webdox.co.krÀ̶õ ±â°è¿¡ ÀÖ°í, °³¹ßÀÚÀÇ ±â°è´Â birch.webdox.co.krÀ̶ó°í ÇÏÀÚ. °³¹ßÀÚ´Â cvs.webdox.co.kr¿¡ minskimÀ̶õ °èÁ¤À» °®°í ÀÖ°í, birch.webdox.co.kr¿¡ minÀ̶õ °èÁ¤À» °®°í ÀÖ´Ù. ±×·¯¸é ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î sshÀ» ¾µ ¼ö ÀÖ´ÂÁö¸¦ ½ÃÇèÇØ º¼ ¼ö ÀÖ´Ù.
À§ÀÇ ¸í·ÉÀÌ ¼öÇàµÈ´Ù¸é ssh(ȤÀº rsh)À» ¾µ ¼ö ÀÖ´Â °ÍÀÌ´Ù. sshÀÌ µ¿ÀÛÇÏÁö ¾Ê´Â´Ù¸é cvs.webdox.co.krÀÇ sshd µ¿ÀÛ ¿©ºÎ¿Í ¼³Á¤ ÆÄÀÏÀ» Á¡°ËÇϵµ·Ï ÇÑ´Ù. rshÀÌ µ¿ÀÛÇÏÁö ¾Ê´Â´Ù¸é cvs.webdox.co.kr¿¡ ·Î±×ÀÎÇÏ¿© .rhosts¶õ ÆÄÀÏÀ» ¸¸µéÀÚ. .rhosts¿¡´Â ´ÙÀ½°ú °°Àº ³»¿ëÀÌ ÀÖ¾î¾ß ÇÑ´Ù.
sshÀ̳ª rshÀ» ¾µ ¼ö ÀÖ´Ù¸é ÀúÀå¼Ò À§Ä¡¿¡ ´ÙÀ½°ú °°ÀÌ °èÁ¤°ú ±â°è À̸§À» Æ÷ÇÔ½ÃÄѼ CVS ¸í·ÉÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.
4.1.3. ¾ÏÈ£ ÀÎÁõ ¹æ½Ä ÀÌ¿ë¾ÏÈ£ ÀÎÁõ ¹æ½ÄÀº ¾ÕÀÇ µÎ ¹æ½Ä°ú´Â ´Þ¸® CVS ¸í·ÉÀ» »ç¿ëÇϱ⿡ ¾Õ¼ ·Î±×ÀÎÀ» ÇØ¾ß ÇÑ´Ù. CVS·Î ÆÄÀÏÀ» Á¦°øÇÏ´Â °ø°³ ÇÁ·ÎÁ§Æ®µéÀÇ °æ¿ì ȨÆäÀÌÁö¿¡¼ 'CVSROOT¸¦ ...·Î ¼³Á¤ÇϽʽÿÀ'¶ó´Â ¹®±¸¸¦ º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù. À̰ÍÀÌ ¹Ù·Î ¾ÏÈ£ ÀÎÁõ ¹æ½ÄÀÇ ÀúÀå¼Ò À§Ä¡ÀÌ´Ù. cvs.webdox.co.krÀ̶õ ±â°èÀÇ /home/cvs¿¡ ÀúÀå¼Ò°¡ À§Ä¡Çϰí minskimÀ̶õ CVS °èÁ¤ÀÌ ¸¸µé¾îÁ® ÀÖ´Ù¸é ´ÙÀ½°ú °°ÀÌ ·Î±×ÀÎÇÒ ¼ö ÀÖ´Ù.
ÀÏ´Ü ·Î±×ÀÎÀ» ÇÏ°í ³ª¸é ÀÎÁõ Á¤º¸°¡ .cvspass¶õ ÆÄÀÏ¿¡ ÀúÀåÀÌ µÇ¸ç, ÀÌÈķδ ¾ÏÈ£ ¾øÀÌ CVS ¸í·ÉÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. ¹æ¹ýÀº ´ÙÀ½°ú °°´Ù.
4.2. ÇÁ·ÎÁ§Æ® ÃʱâÈ»ç¿ë °¡´ÉÇÑ CVS ÀúÀå¼Ò°¡ ÀÖ°í, ¾î¶»°Ô ÀúÀå¼Ò¸¦ ÀÌ¿ëÇÏ´ÂÁö ¾Ë°í ÀÖ´Ù¸é ÇÁ·ÎÁ§Æ®¸¦ ½ÃÀÛÇÒ ¸ðµç Áغñ°¡ ³¡³ ¼ÀÀÌ´Ù. ´õ±º´Ù³ª ±âÁ¸ÀÇ ÇÁ·ÎÁ§Æ®¿¡ CVS¸¦ µµÀÔÇÏ·Á´Â °æ¿ì¶ó¸é ÀÌ¹Ì µð·ºÅ丮¿Í ÆÄÀϵéÀÌ ÀÖÀ»Å×´Ï À̸¦ ÀúÀå¼Ò¿¡ ÀúÀåÇÏ´Â ¹æ¹ý¸¸ ¹è¿ì¸é µÈ´Ù. ÇÏÁö¸¸ óÀ½ ½ÃÀÛÇÏ´Â ÇÁ·ÎÁ§Æ®¸¦ CVS·Î °ü¸®ÇÏ·Á ÇÑ´Ù¸é ¸ÕÀú µð·ºÅ丮 ±¸Á¶¸¦ Àß ¼³°èÇØ¾ß ÇÑ´Ù. ¹°·Ð ¾ðÁ¦¶óµµ CVS¸¦ ÀÌ¿ëÇØ¼ ÆÄÀÏÀÇ À§Ä¡¸¦ ¿Å±â°í »õ·Î¿î µð·ºÅ丮¸¦ ¸¸µå´Â µîÀÇ ÀÏÀº °¡´ÉÇÏ´Ù. ÇÏÁö¸¸ óÀ½ºÎÅÍ µð·ºÅ丮 ±¸Á¶¿Í °¢ µð·ºÅ丮¿¡ µé¾î°¥ ÆÄÀϵéÀ» Àß Á¤ÇØ ³õ´Â °ÍÀº Àüü ÇÁ·ÎÁ§Æ® °ü¸®¿¡µµ µµ¿òÀ» ÁֹǷΠµÇµµ·ÏÀÌ¸é ³ªÁß¿¡ ÆÄÀÏÀ̳ª µð·ºÅ丮ÀÇ À§Ä¡ º¯°æÀÌ »ý±âÁö ¾Êµµ·Ï ¼³°è¸¦ Çϰí ÇÁ·ÎÁ§Æ®¸¦ ½ÃÀÛÇϵµ·Ï ÇÏÀÚ. ¸ÕÀú ÇÒ ÀÏÀº ÇÁ·ÎÁ§Æ®ÀÇ À̸§À» Á¤ÇÏ´Â °ÍÀÌ´Ù. ÀÌ À̸§Àº ÀúÀå¼Ò¿¡¼ ÀÌ ÇÁ·ÎÁ§Æ® °ü·Ã ÆÄÀϵéÀ» ÀúÀåÇÏ´Â µð·ºÅ丮ÀÇ À̸§À¸·Î ¾²ÀδÙ. ¿©±â¿¡¼´Â myprj¶õ À̸§À¸·Î ÇÁ·ÎÁ§Æ®¸¦ ¸¸µé¾î º¸±â·Î ÇϰڴÙ. ÀÌÈÄ¿¡ ³ª¿Ã ¸ðµç ¿¹´Â ȯ°æº¯¼ö CVSROOT°¡ Á¦´ë·Î ¼³Á¤µÇ¾î ÀÖ´Ù°í °¡Á¤ÇÑ´Ù. CVSROOT¸¦ ¾î¶»°Ô ¼³Á¤ÇØ¾ß Çϴ°¡¿¡ ´ëÇØ¼´Â 4.1절ÀÇ ³»¿ëÀ» Âü°íÇϱ⠹ٶõ´Ù. myprj¶õ µð·ºÅ丮°¡ ´ÙÀ½°ú °°ÀÌ µÇ¾î ÀÖ´Ù°í ÇÏÀÚ.
import ¸í·ÉÀ¸·Î ÇÁ·ÎÁ§Æ®¸¦ ÃʱâÈÇÏ°í ³ª¸é ´õ ÀÌ»ó ÇöÀç µð·ºÅ丮¿¡ °®°í ÀÖ´Â °ÍµéÀ» »ç¿ëÇÏ¸é ¾È µÈ´Ù. ÇöÀç µð·ºÅ丮¿¡´Â CVS¿¡ °ü·ÃµÈ Á¤º¸°¡ ¾Æ¹« °Íµµ ¾ø±â ¶§¹®ÀÌ´Ù. ´ë½Å ÀúÀå¼Ò¿¡ ¸ðµç ³»¿ëÀÌ µé¾î ÀÖÀ¸¹Ç·Î myprj µð·ºÅ丮 ÀÚü¸¦ ¿ÏÀüÈ÷ Áö¿ö¹ö·Áµµ ±¦Âú´Ù. ´ÙÀ½ Àý¿¡¼ ¼Ò°³ÇÒ ¸í·ÉµéÀ» ÀÌ¿ëÇØ¼ ¾ðÁ¦¶óµµ ´Ù½Ã ºÒ·¯¿Ã ¼ö°¡ ÀÖ´Ù. ÀÌ»óÀ¸·Î ÇÁ·ÎÁ§Æ® ÃʱâÈ´Â ¸ðµÎ ³¡³ °ÍÀ̸ç, ÀÌÈķδ °¢ °³¹ßÀÚµéÀÌ CVS¸¦ ÀÌ¿ëÇÏ¿© ÇÁ·ÎÁ§Æ®¸¦ ÁøÇà½ÃŰ´Â Àϸ¸ÀÌ ³²¾Æ ÀÖ´Ù. 4.3. ÇÁ·ÎÁ§Æ® ÁøÇàÀÌÁ¦ ÇÁ·ÎÁ§Æ®¿¡ Âü¿©ÇÏ´Â °³¹ßÀÚÀÇ ÀÔÀå¿¡¼ ÇÁ·ÎÁ§Æ®¸¦ ¹Ù¶óº¸ÀÚ. ¸ðµç ÇÊ¿äÇÑ ÆÄÀϵéÀº ÀúÀå¼Ò¿¡ °®Ãß¾îÁ® ÀÖ°í, ÇÁ·ÎÁ§Æ® °ü¸®ÀڷκÎÅÍ ÀúÀå¼ÒÀÇ À§Ä¡¿Í ÇÁ·ÎÁ§Æ® À̸§µµ Å뺸¹Þ¾Ò´Ù. ±×·¯¸é °³¹ßÀÚ´Â ¾ÕÀ¸·ÎÀÇ ÀÛ¾÷À» À§ÇØ ÀúÀå¼ÒÀÇ À§Ä¡¸¦ ȯ°æº¯¼ö CVSROOT¿¡ ÀúÀåÇϰí, ÀÛ¾÷À» ½ÃÀÛÇÏ¸é µÈ´Ù. ´Ü, CVS´Â ÆÄÀÏÀÇ º¯°æ ½Ã°¢À» ÂüÁ¶ÇÏ´Â °æ¿ì°¡ ¸¹À¸¹Ç·Î °¢ °³¹ßÀÚµéÀÌ »ç¿ëÇÏ´Â ±â°èÀÇ ½Ã°£À» ¼·Î ¸ÂÃß¾î ³õÀ» Çʿ䰡 ÀÖ´Ù. 4.3.1. ÀÛ¾÷ °ø°£ »ý¼º (checkout)ÀÛ¾÷À» ½ÃÀÛÇϱâ À§Çؼ´Â ÆÄÀÏÀ» ¸¶À½´ë·Î º¯°æÇϰí ÀúÀåÇÏ¿© Å×½ºÆ®ÇØ º¼ ¼ö ÀÖ´Â ÀÛ¾÷ °ø°£ÀÌ ÇÊ¿äÇÏ´Ù. ÀúÀå¼Ò¿¡ ÀÖ´Â ÆÄÀϵéÀ» ºÒ·¯¿Í ³ª¸¸ÀÇ ÀÛ¾÷ °ø°£À» ¸¸µå´Â ¸í·ÉÀÌ checkoutÀÌ´Ù. ¾Õ¿¡¼ ¸¸µç myprj¸¦ checkout ¸í·ÉÀ¸·Î ºÒ·¯ ¿ÀÀÚ.
4.3.2. ÀÛ¾÷ ³»¿ëÀÇ ÀúÀå (commit)¸¸µé¾îÁø ÀÛ¾÷ °ø°£¿¡¼ ÀÛ¾÷À» ½ÃÀÛÇØº¸ÀÚ. Hello.javaÀÇ ³»¿ëÀÌ ´ÙÀ½°ú °°´Ù°í ÇÏÀÚ.
¸Ç ³¡ÀÇ ÆÄÀÏ À̸§Àº »ý·«ÇÒ ¼ö ÀÖ´Ù. ÆÄÀÏ À̸§À» ÁÖÁö ¾ÊÀ¸¸é CVS°¡ º¯°æµÈ ÆÄÀÏÀ» ¸ðµÎ ã¾Æ ÀúÀå¼Ò¿¡ ÀúÀåÇÑ´Ù. À̶§ ÀúÀåµÇ´Â ¸ðµç ÆÄÀÏ¿¡´Â °°Àº ¸Þ½ÃÁö°¡ ºÙ°Ô µÈ´Ù. ÇÏÁö¸¸ ÆÄÀϸ¶´Ù ´Ù¸¥ ¸Þ½ÃÁö¸¦ ºÙÀÌ°í ½Í´Ù°Å³ª ƯÁ¤ ÆÄÀÏÀÇ º¯°æ ³»¿ë¸¸À» ÀúÀåÇÏ°í ½Í´Ù¸é À§ÀÇ ¿¹Ã³·³ ÆÄÀÏ À̸§À» ¸í½ÃÇØ ÁÖ¾î¾ß ÇÑ´Ù. commitÀ» ÇÒ ¶§ ÁÖÀÇÇÒ Á¡Àº ¹Ýµå½Ã Á¦´ë·Î µ¿ÀÛÇϴ°¡¸¦ È®ÀÎÇϰí commitÀ» ÇØ¾ß ÇÑ´Ù´Â °ÍÀÌ´Ù. ÀÏ´Ü commitÀ» ÇÏ¸é ´Ù¸¥ °³¹ßÀڵ鵵 ³ªÀÇ ÀÛ¾÷ °á°ú¸¦ ¹Þ¾Æ°¥ ¼ö ÀÖ´Ù. ±×·¯¹Ç·Î ³»°¡ Á¦´ë·Î ÄÄÆÄÀÏÁ¶Â÷ µÇÁö ¾Ê´Â ÆÄÀÏÀ» commitÀ¸·Î ÀúÀå¼Ò¿¡ ÀúÀåÇϸé ÀÌ ÆÄÀÏÀ» ¹Þ¾Æ°£ ´Ù¸¥ °³¹ßÀڵ鵵 ÄÄÆÄÀÏÀÌ ¾È µÇ´Â °á°ú¸¦ °¡Á®¿Ã °ÍÀÌ´Ù. ƯÈ÷³ª ¿©·¯ ÆÄÀÏÀ» º¯°æÇϰí ÀϺΠÆÄÀϸ¸À» commitÇÏ´Â °æ¿ì¶ó¸é ´õ¿í ÁÖÀÇÇØ¾ß ÇÑ´Ù. °øµ¿ ÀÛ¾÷À» ÇÏ´Â °æ¿ì¶ó¸é ÀÌ·¸°Ô ÀÚ½ÅÀÇ ºÎÁÖÀÇ·Î ´Ù¸¥ °³¹ßÀڵ鿡°Ô ÇÇÇØ¸¦ ÀÔÈ÷´Â ÀÏÀº Àý´ë·Î »ï°¡¾ß ÇÑ´Ù. ´ë°³ÀÇ °æ¿ì º¯°æ ³»¿ë Àüü°¡ ¼·Î °ü·ÃÀÌ ÀÖ´Â °æ¿ì°¡ ¸¹À¸¹Ç·Î ƯÁ¤ÇÑ ÀÎÀÚ¸¦ ÁÖÁö ¾Ê°í commit ¸í·ÉÀ» »ç¿ëÇÏ¿© ÀÛ¾÷ °ø°£ ÀüüÀÇ º¯°æ ³»¿ëÀÌ ÇѲ¨¹ø¿¡ ÀúÀå¼Ò¿¡ ÀúÀåµÇµµ·Ï ÇÏ´Â °ÍÀÌ ÁÁ´Ù. 4.3.3. ÀúÀå¼ÒÀÇ ÆÄÀÏ ¹Þ¾Æ¿À±â (update)°øµ¿ ÀÛ¾÷¿¡¼ ÀÚ½ÅÀÇ ÀÛ¾÷ °á°ú¸¦ ÀúÀåÇÏ´Â ÀÏ ¸øÁö ¾Ê°Ô Áß¿äÇÑ ÀÏÀº ´Ù¸¥ »ç¶÷ÀÇ ÀÛ¾÷ °á°ú¸¦ ¹Þ¾Æ¿À´Â ÀÏÀÌ´Ù. ÀÚ½ÅÀÌ ÀÛ¾÷ÇÑ ³»¿ëÀ» ¸ðµÎ ÀúÀåÇÑ »óŶó¸é ÀÛ¾÷ µð·ºÅ丮¸¦ Áö¿ö¹ö¸®°í checkout ¸í·ÉÀ¸·Î »õ·Î¿î ÀÛ¾÷ °ø°£À» ¸¸µå´Â °Íµµ ÇÑ ¹æ¹ýÀÌ µÉ °ÍÀÌ´Ù. ÇÏÁö¸¸ ÀÌ´Â ¸ðµç ÆÄÀÏÀ» »õ·Î ¹Þ¾Æ¿À¹Ç·Î ÀúÀå¼Ò¿ÍÀÇ ¿¬°áÀÌ ´À¸± °æ¿ì¿¡´Â »ó´çÇÑ ½Ã°£À» ±â´Ù·Á¾ß ÇÒ ¼öµµ ÀÖ´Ù. º¸´Ù ÁÁÀº ¹æ¹ýÀº update ¸í·ÉÀ» »ç¿ëÇÏ´Â °ÍÀÌ´Ù. ÀÛ¾÷ÁßÀÌ´ø µð·ºÅ丮¿¡¼ ÀÌ ¸í·ÉÀ» ¾²¸é CVS¿¡ ÀúÀåµÈ ÆÄÀϵé Áß ³»°¡ ¹Þ¾Æ¿Â ÀÌÈÄ·Î º¯°æµÈ °Íµé¸¸À» ´Ù½Ã ¹Þ¾Æ ¿Â´Ù.
ÀúÀå¼ÒÀÇ ÆÄÀϰú ÀÛ¾÷ °ø°£ÀÇ ÆÄÀÏÀÌ ´Þ¶óÁú ¼ö ÀÖ´Â ¶Ç ´Ù¸¥ °æ¿ì´Â ´Ù¸¥ »ç¶÷ÀÌ ÆÄÀÏÀ» º¯°æÇÏ¿© commit ¸í·ÉÀ¸·Î ÀúÀå¼Ò¿¡ ÀúÀåÇÑ °æ¿ìÀÌ´Ù. ¿¹¸¦ µé¾î ¿ø·¡ÀÇ README ÆÄÀÏÀÌ ´ÙÀ½°ú °°¾Ò´Ù°í ÇÏÀÚ.
±×·¸´Ù¸é ÀÌ µÎ °æ¿ì°¡ È¥ÇÕµÈ °æ¿ì´Â ¾î¶² ÀÏÀÌ ¹ß»ýÇÒ±î? Áï, ´Ù¸¥ °³¹ßÀÚ°¡ ¼öÁ¤ÇÏ¿© ÀúÀå¼Ò¿¡ ÀúÀåÇÑ ÆÄÀÏÀ» ³ª ¿ª½Ã ¼öÁ¤ÇÑ ÈÄ update¸¦ ÇÏ´Â °æ¿ìÀÌ´Ù. ´Ù¸¥ °³¹ßÀÚ°¡ Hello.java¸¦ ´ÙÀ½°ú °°ÀÌ main ÇÔ¼ö ¾Õ¿¡ ÁÖ¼®À» ÇÑ ÁÙ Ãß°¡ÇÏ¿© commitÀ» Çß´Ù°í »ý°¢Çغ¸ÀÚ.
4.3.4. Ãæµ¹ÀÇ ÇØ°áºñ·Ï CVS°¡ µÎ °³¹ßÀÚÀÇ ÀÛ¾÷ ³»¿ëÀ» ÇÕÃÄ ÁÖ±â´Â ÇÏÁö¸¸ ¿©±â¿¡µµ ÇѰè´Â ÀÖ´Ù. µÎ °³¹ßÀÚ°¡ °°Àº ºÎºÐÀ» ¼öÁ¤ÇÑ´Ù¸é CVS´Â ´©±¸ÀÇ º¯°æ ³»¿ëÀ» ÅÃÇØ¾ß ÇÏ´ÂÁö ¾Ë µµ¸®°¡ ¾ø´Ù. ÀÌ·± °æ¿ì¸¦ Ãæµ¹(conflict)À̶ó Çϸç, CVS´Â ÀÌ »ç½ÇÀ» °³¹ßÀÚ¿¡°Ô ¾Ë·Á °³¹ßÀÚ°¡ ÀûÀýÇÑ Á¶Ä¡¸¦ ÃëÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù. À§ÀÇ ¿¹¿¡¼ ´Ù¸¥ °³¹ßÀÚ°¡ ÀÛ¾÷À» °è¼ÓÇÏ¿© "ȯ¿µÇÕ´Ï´Ù."¸¦ Ãâ·ÂÇϵµ·Ï ¸¸µé°í, À̸¦ ÀúÀå¼Ò¿¡ ÀúÀåÇß´Ù°í ÇÏÀÚ. ±×·¯¸é ÀúÀå¼Ò¿¡´Â ´ÙÀ½°ú °°Àº ³»¿ëÀÌ µé¾î ÀÖÀ» °ÍÀÌ´Ù.
Ãæµ¹Àº commit ½Ã¿¡µµ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. ¾ÕÀÇ ¿¹¿¡¼ ´Ù¸¥ °³¹ßÀÚ°¡ "ȯ¿µÇÕ´Ï´Ù." Ãâ·Â ¹®ÀåÀ» Ãß°¡ÇÏ¿© commitÀ» ÇÑ ÈÄ, ³»°¡ update ´ë½Å commitÀ» ÇÏ·Á Çß´Ù¸é, CVS´Â ´ÙÀ½°ú °°ÀÌ Ãæµ¹ÀÌ ¹ß»ýÇßÀ½À» ¾Ë·Á ÁÙ °ÍÀÌ´Ù.
4.3.5. ÆÄÀÏÀÇ Ãß°¡/»èÁ¦ (add/delete)Áö±Ý±îÁö´Â ÀúÀå¼Ò¿¡ ÀÖ´Â ÆÄÀÏÀ» ¼öÁ¤Çϰí, ±× °á°ú¸¦ ´Ù½Ã ÀúÀåÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº¸¾Ò´Ù. ÇÏÁö¸¸ ÀÛ¾÷À» ÇÏ´Ù º¸¸é »õ·Î¿î ÆÄÀÏÀ» ¸¸µé°Å³ª ±âÁ¸ÀÇ ÆÄÀÏÀ» Áö¿ö¾ß ÇÒ °æ¿ì°¡ »ý±ä´Ù. ÀÌ·± °æ¿ì¿¡ »ç¿ëÇÏ´Â ¸í·ÉÀÌ add¿Í deleteÀÌ´Ù. »ç¿ë ¹æ¹ýÀº ¸Å¿ì °£´ÜÇÏ´Ù. Test.java¶õ ÆÄÀÏÀ» »õ·Î ¸¸µé·Á¸é ¸ÕÀú ÇöÀç µð·ºÅ丮¿¡ Test.java¸¦ »ý¼ºÇÑ ÈÄ ´ÙÀ½°ú °°ÀÌ ÇÏ¸é µÈ´Ù.
ÆÄÀÏÀ» Áö¿ì´Â °Íµµ ¸¶Âù°¡ÁöÀÌ´Ù. Test.java¸¦ Áö¿ì·Á¸é ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.
4.3.6. ÀÛ¾÷ ±â·Ï ¿¶÷ (log)±× µ¿¾ÈÀÇ ¿¹¿¡¼ º» ¹Ù¿Í °°ÀÌ CVS´Â ÀÛ¾÷ ³»¿ëÀ» ÀúÀå¼Ò¿¡ ÀúÀåÇÒ ¶§¸¶´Ù ¸Þ½ÃÁö¸¦ Àûµµ·Ï Çϰí ÀÖ´Ù. ÀÌ ³»¿ëÀº ÀúÀå¼Ò¿¡ ÇÔ²² ÀúÀåµÇ¾î log ¸í·ÉÀ» ÀÌ¿ëÇÏ¸é ¾ðÁ¦¶óµµ ²¨³» º¼ ¼ö ÀÖ´Ù. Hello.java¸¦ ¿¹·Î µé¾î º¸ÀÚ.
5. ÀúÀå¼Ò °ü¸®5.1. ¾ÏÈ£ ÀÎÁõ ¹æ½ÄÀÇ Á¢±Ù Á¦¾î°¡Àå ³Î¸® ¾²ÀÌ´Â ¾ÏÈ£ ÀÎÁõ ¹æ½ÄÀÇ ¿¹´Â Àбâ Àü¿ë »ç¿ëÀÚ°¡ ÇÊ¿äÇÒ ¶§ÀÏ °ÍÀÌ´Ù. ¸¹Àº °ø°³ ÇÁ·ÎÁ§Æ®µéÀÌ ÀÌ·¯ÇÑ Àбâ Àü¿ë °èÁ¤À» Á¦°øÇÏ¿© ´©±¸³ª ÆÄÀϵéÀ» ¹Þ¾Æ°¥ ¼ö ÀÖµµ·Ï Çϰí ÀÖ´Ù. ±×·¸´Ù¸é ÀúÀå¼Ò¿¡ ´ëÇÑ Á¢±Ù ±ÇÇÑÀ» Á¦¾îÇÒ ¼ö ÀÖ´Ù´Â ¹æ¹ýÀÌ ÀÖ´Ù´Â ¾ê±âÀε¥, ÀÌ·¯ÇÑ °ÍÀº ¾îµð¿¡¼ ¼³Á¤ÇØ ÁÙ ¼ö ÀÖÀ»±î? CVS´Â Á¢±Ù Á¦¾î¸¦ À§ÇØ µÎ °¡Áö ¹æ¹ýÀ» Á¦°øÇÑ´Ù. CVSROOT µð·ºÅ丮¿¡ À§Ä¡ÇÑ readers¿Í writers¶õ ÆÄÀÏÀÌ ¹Ù·Î ±×°ÍÀÌ´Ù. ÀÌ ÆÄÀϵéÀº passwd¿Í ¸¶Âù°¡Áö·Î óÀ½¿¡´Â Á¸ÀçÇÏÁö ¾Ê´Â´Ù. ±â´ÉÀÌ ÇÊ¿äÇÏ´Ù¸é Á÷Á¢ ¸¸µé¾î ÁÖ¾î¾ß ÇÏ´Â ÆÄÀϵéÀÎ °ÍÀÌ´Ù. Çü½ÄÀº ¸Å¿ì °£´ÜÇØ¼, CVS °èÁ¤ À̸§À» ÇÑ ÁÙ¿¡ Çϳª¾¿ ³ª¿Çϱ⸸ ÇÏ¸é µÈ´Ù. Àбâ Àü¿ë °èÁ¤À» ¸¸µé°í ½Í´Ù¸é readers¸¦ ÀÌ¿ëÇÑ´Ù. sehkone°ú changÀ̶õ CVS °èÁ¤À» Àбâ Àü¿ëÀ¸·Î ÇÏ°í ½Í´Ù¸é CVSROOT µð·ºÅ丮¿¡ ´ÙÀ½°ú °°ÀÌ readers¸¦ ¸¸µç´Ù.
ÇÏÁö¸¸ writers ÆÄÀÏÀÌ ÀÖ´Ù¸é »çÁ¤ÀÌ ÀüÇô ´Þ¶óÁø´Ù. writers¿¡ À̸§ÀÌ ¿Ã¶ó ÀÖ´Â °èÁ¤¿¡ ÇÑÇØ¼¸¸ Àбâ¿Í ¾²±â°¡ Çã¿ëµÇ¸ç, ³ª¸ÓÁö´Â ¸ðµÎ Àбâ Àü¿ë °èÁ¤ÀÌ µÈ´Ù. ±×·¸´Ù¸é readers¿Í writers°¡ ¸ðµÎ ÀÖ´Â °æ¿ì´Â ¾î¶»°Ô µÉ±î? ÀÌ °æ¿ì readers¿¡´Â À̸§ÀÌ ¾ø°í writers¿¡¸¸ À̸§ÀÌ ÀÖ´Â °èÁ¤Àº Àбâ¿Í ¾²±â ±ÇÇÑÀ», ³ª¸ÓÁö ¸ðµç °èÁ¤Àº Àбâ Àü¿ë ±ÇÇѸ¸À» ¾ò´Â´Ù.. |
You will be singled out for promotion in your work. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||








