'''WinCVSÀÇ °£·«ÇÑ »ç¿ë¹æ¹ý''' * ÀÏ´Ü ±×¸²¸¸ ¿Ã¸®±â·Î ÇÕ´Ï´Ù. ½Ã°£¿©À¯°¡ »ý±æ¶§¸¶´Ù ¾÷µ¥ÀÌÆ®¸¦ ÇÒ ¿¹Á¤ÀÔ´Ï´Ù. * ÇöÀç´Â °£·«ÇÑ »ç¿ë¹æ¹ýÀ̶ó ĪÇÏ¿´Áö¸¸, ¸¹Àº ºÐµéÀÇ µµ¿òÀÌ ÀÖ´Ù¸é »ó¼¼ÇÑ »ç¿ë¹ýÀÌ µÉ¼öµµ ÀÖÀ¸¸®¶ó »ý°¢µË´Ï´Ù. * ¹®¼­ ÀÛ¼ºÀÌ ¿Ï·áµÇ¸é TortoiseCVS¿¡ ´ëÇÑ ¹®¼­¸¦ ÀÛ¼ºÇÒ±î »ý°¢ÇÏ°í ÀÖ½À´Ï´Ù. -- [ÂоÆ] * ±ÛÀ» ÀÛ¼ºÀº ÇßÀ¸³ª, ÀÛ¼ºµÈ ±ÛÀ» ¹Þ¾Æ³õÁö ¾Ê¾Æ¼­ ´Ù½Ã ¾µ±î ÇÕ´Ï´Ù. ÀÌ ±Û º¸½Ã°í, Ȥ½Ã ½Ç¼ö·Î ¹Þ¾Æ³õÀº ºÐÀÌ ÀÖ´Ù¸é, ÁÖÀúÇÏÁö ¸¶½Ã°í ¿Ã·ÁÁÖ½Ã¸é °í¸¿°Ú½À´Ï´Ù. ---- MS Windows ȯ°æ¿¡¼­ °¡Àå ¸¹ÀÌ ¾Ë·ÁÁø CVS client¸¦ ²ÅÀ¸¶ó¸é WinCVS°¡ ¾Æ´Ò±î ÇÕ´Ï´Ù. ÀÌ¿¡ ´ëÇÑ °£·«ÇÑ »ç¿ë¹æ¹ý¿¡ ´ëÇؼ­ ±â¼úÇϵµ·Ï ÇÏ°Ú½À´Ï´Ù. ---- [[TableOfContents]] === ¾îµð¼­ ´Ù¿î·Îµå Çϴ°¡¿ä? === [CVS/FAQ] ÆäÀÌÁö¿¡µµ ±â¼úµÇ¾î ÀÖµíÀÌ [http://cvsgui.sourceforge.net] ¿¡¼­ ´Ù¿î·Îµå ¹ÞÀ¸½Ç ¼ö ÀÖ½À´Ï´Ù. ´Ù¿î·Îµå ÆäÀÌÁö¸¦ ã±â°¡ ¾î·Á¿ì½Ã´Ù°í¿ä? 2003³â 10¿ù 30ÀÏ ÇöÀç [http://cvsgui.sourceforge.net/download.html#WINCVS] ¿¡¼­ ´Ù¿î·Îµå °¡´ÉÇÕ´Ï´Ù. ¿©±â¿¡¼­´Â 1.3 BETA 2¸¦ ±âÁØÀ¸·Î ÀÛ¼ºµÇ¾úÀ¸³ª ¾ÈÁ¤µÈ ¹öÀüÀ» ¿øÇϽŴٸé 1.2¸¦ »ç¿ëÇϼŵµ ¹«¹æÇÕ´Ï´Ù. ¼³Ä¡´Â ÀϹÝÀûÀÎ À©µµ¿ìÁî ÇÁ·Î±×·¥°ú ´ëµ¿¼ÒÀÌÇϹǷΠÀß ÇϽø®¶ó ¹Ï½À´Ï´Ù. :) === óÀ½ ½ÇÇàÈ­¸é === ||attachment:wincvs_run.png|| WinCVS¸¸ ½ÇÇà ½ÃŲ È­¸éÀÔ´Ï´Ù. CVS´Â Client/Server ±¸Á¶·Î ÀÌ·ç¾îÁ® ÀÖÀ¸¹Ç·Î ¿ì¸®´Â CVS¸¦ »ç¿ëÇϱâ À§Çؼ­´Â Server¿¡ ´ëÇÑ ¼³Á¤À» ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù. ¼­¹ö¿¡ ¿ì¸®°¡ »ç¿ëÇÒ ¼Ò½ºÄÚµå¶ó´ø°¡ ¸ðµç ÆÄÀϵéÀÌ Á¸ÀçÇÏ°Ô µË´Ï´Ù. ÀÌ ÆÄÀϵéÀÌ Á¸ÀçÇÏ´Â À§Ä¡¸¦ CVSROOT¶ó°í ºÎ¸¨´Ï´Ù. CVSROOT´Â Á¢¼Ó¹æ¹ýºÎÅÍ ¾î¶² »ç¿ëÀÚ°¡ ¾î´À È£½ºÆ®ÀÇ ¾î´À µð·ºÅ丮¸¦ »ç¿ëÇÒ°ÍÀΰ¡¸¦ ¸ðµÎ ±â¼úÇÏ°Ô µË´Ï´Ù. ¾Æ·¡´Â ¿¹Á¦·Î WinCVS¸¦ ¼³Á¤ÇÑ Àå¸éÀÔ´Ï´Ù. ¼³Á¤À» À§Çؼ­´Â Admin -> Preferences ·Î µé¾î°¡½Ã¸é µË´Ï´Ù. ||attachment:wincvs_Preferences.png|| À§ÀÇ ¿¹Á¦´Â pserverÀ̶ó´Â ¹æ¹ýÀ¸·Î »ç¿ëÀÚ ÀÎÁõÀ» °ÅÄ¡¸ç, ServerÀÇ /var/lib/cvs¿¡ CVS°¡ °ü¸®ÇÏ´Â ÆÄÀϵéÀÌ ÀÖÀ½À» ÀǹÌÇÕ´Ï´Ù. ServerÀÇ ÁÖ¼Ò´Â confide.jemiro.netÀ̸ç, »ç¿ëÀÚÀÇ À̸§Àº confideÀÔ´Ï´Ù. À̸¦ ¸ðµÎ ±â·ÏÇÏ¸é ¾Æ·¡ÂÊÀÇ CVSROOT¶ó´Â °÷ÀÇ ³»¿ëÀÌ ÀÚµ¿À¸·Î ¿Ï¼ºµË´Ï´Ù. ¹°·Ð CVSROOTºÎºÐÀ» ÀÛ¼ºÇϼŵµ À§ÂÊÀÇ ³»¿ëÀÌ ÀÚµ¿À¸·Î ±âÀԵ˴ϴÙ. ÀÌÁ¦ CVSROOT ¼³Á¤ÀÌ ³¡³µÀ¸¹Ç·Î ¼­¹ö¿¡ »ç¿ëÀÚ ÀÎÁõ(login)À» ¹Þ¾Æº¼±î¿ä? ||attachment:wincvs_login1.png|| ·Î±×ÀÎ ||attachment:wincvs_login2.png|| ·Î±×Àνà ³ªÅ¸³ª´Â â - CVSROOT È®ÀÎ? ||attachment:wincvs_login3.png|| ·Î±×ÀÎÀÌ ¿Ï·áµÈ ¸ð½À - return°ªÀÌ 0 === ¸ðµâ »ý¼ºÇϱâ(Import module ...) === CVS Ŭ¶óÀ̾ðÆ®´Â CVS¼­¹ö¿¡ ÀÖ´Â ÇÁ·ÎÁ§Æ® ÀúÀå¼Ò¸¦ ÀÌ¿ëÇÏ°Ô µÇ´Âµ¥, ÀÌ °ø°£À» ÀÌ¿ëÇÏ´Â ´ÜÀ§°¡ ÀúÀå¼Ò(¸ðµâ ¶Ç´Â µð·ºÅ丮)´ÜÀ§ÀÔ´Ï´Ù. ÀúÀå¼Ò ´ÜÀ§¶õ Ç¥Çöº¸´Ù´Â ¸ðµâ´ÜÀ§¶õ Ç¥ÇöÀÌ ÀûÀýÇÒ°Í °°¾Æ Áö±ÝºÎÅÍ´Â ¸ðµâ´ÜÀ§¶ó°í ¼³¸íÇÕ´Ï´Ù. »ý¼ºµÉ ¸ðµâÀº CVS¼­¹öÀÇ ÇÁ·ÎÁ§Æ® ÀúÀå¼Ò¿¡ À§Ä¡Çϸç, ¸ðµâÀ» »ý¼ºÇϱâ À§Çؼ­´Â '''import'''¸í·ÉÀ» »ç¿ëÇÏ¿© ¸ðµâÀ» »ý¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. * ´ÙÀ½Àº jane ÇÁ·ÎÁ§Æ®ÀÇ ÀúÀå¼Ò¸¦ Ç¥ÇöÇÑ ¿¹Á¦ ÀÔ´Ï´Ù. {{{/jane (project) +-- bin (module) +-- config (module) +-- help (module) +-- src (module) +-- samples (module) +-- lib (module) +-- CVSROOT (jane ÇÁ·ÎÁ§Æ®¿¡ ´ëÇÑ CVS ȯ°æ¼³Á¤ µð·ºÅ丮-ÇÁ·ÎÁ§Æ® ÀúÀå¼Ò »ý¼º½Ã ÀÚµ¿ »ý¼ºµÊ) }}} ±×·³ ¸ðµâÀ» »ý¼ºÇÏ´Â ¹æ¹ýÀ» ¿¹Á¦¸¦ ¹ÙÅÁÀ¸·Î ¾Ë¾Æº¸µµ·Ï ÇÏ°Ú½À´Ï´Ù. '''StudyProject''' µð·ºÅ丮ÀÇ ¼Ò½ºÆÄÀÏ 2°³¸¦ '''StudyProject'''¶õ ¸ðµâ¸íÀ¸·Î CVS ¼­¹ö¿¡ ¸ðµâÀ» »ý¼ºÇϵµ·Ï ÇÏ°Ú½À´Ï´Ù. ¾Æ·¡´Â µÎ ÆÄÀÏ¿¡ ´ëÇÑ ¼Ò½ºÄÚµåÀÔ´Ï´Ù. {{{ #!vim sh #:::Hello.c::: #include #include "Hello.h" int main() { PrintHello(); return 0; } void PrintHello() { printf("Hello, world!\n"); } }}} {{{#!vim sh #:::Hello.h::: #ifndef HELLO_H_ #define HELLO_H_ void PrintHello(); #endif }}} ´ÙÀ½Àº ¸ðµâÀ» »ý¼ºÇÏ´Â ÀÛ¾÷ÁøÇàÀýÂ÷ÀÔ´Ï´Ù. * Remote --> Import module ... À» ¼±ÅÃÇÑ´Ù. ¶Ç´Â ( Tree View¿¡¼­ Æ˾÷¸Þ´º·Î Import module..À» ¼±ÅÃÇÑ´Ù. ) * Æú´õ ã¾Æº¸±â ´ëÈ­»óÀÚ°¡ ³ªÅ¸³­´Ù. * ÇØ´ç µð·ºÅ丮¸¦ ¼±ÅÃÇÑ´Ù(¿©±â¼­´Â '''StudyProject'''¸¦ ¼±ÅÃÇÑ ¿¹ÀÔ´Ï´Ù). * Import filter¶õ ´ëÈ­»óÀÚ°¡ ³ªÅ¸³­´Ù(ÀÌ»óÀÌ ¾øÀ»½Ã Continue ¹öÆ°À» ´©¸¥´Ù). * Import settings ´ëÈ­»óÀÚ°¡ ³ªÅ¸³­´Ù(¸ðµâ¸í°ú ¸ðµâ¿¡ ´ëÇÑ ÁÖ¼®À» ±â¼úÇÏ°í È®ÀÎ ¹öÆ°À» ´©¸¥´Ù). * CVS ¼­¹ö¿¡ ÇØ´ç ¸ðµâÀÌ »ý¼ºµÈ´Ù(ÀÌ»óÀÌ ¾øÀ»½Ã). ||attachment:wincvs_example_project.png|| ¿¹Á¦ ÇÁ·ÎÁ§Æ® ÆÄÀϵé È­¸é ||attachment:wincvs_import1.png|| import °úÁ¤1 È­¸é - WinCVS°¡ ÆÄÀϵéÀÇ Æ¯¼ºÆľÇ(Binary/Text) ||attachment:wincvs_import2.png|| import °úÁ¤2 È­¸é - ¸ðµâ ¼³¸íÀû±â ||attachment:wincvs_import3.png|| import °úÁ¤3 È­¸é - ¿Ï·á À§ °úÁ¤À» ÅëÇؼ­ CVS ¼­¹öÀÇ ÇÁ·ÎÁ§Æ® ÀúÀå¼Ò¿¡ StudyProject¸ðµâÀ» »ý¼ºÇß½À´Ï´Ù. ÀÌÁ¦ ÀÌ ¸ðµâ(StudyProject)À» »ç¿ëÇϱâ À§Çؼ­´Â '''checkout'''¸í·ÉÀ» »ç¿ëÇÏ¿© CVS¼­¹ö¿¡ ÀÖ´Â ¸ðµâÀ» ³» ÄÄÇ»ÅÍÀÇ ÀÛ¾÷°ø°£À¸·Î °¡Á®¿Í ÀÛ¾÷À» ÇÏ¸é µË´Ï´Ù. === ¸ðµâ °¡Á®¿À±â(Checkout module ...) === '''CVS ¼­¹ö¿¡¼­ CVS Ŭ¶óÀ̾ðÆ®·Î ¸ðµâÀ» °¡Á®¿À´Â ÀÌÀ¯°¡ ±â¼úµÇ¾î¾ßÇÔ''' CVS ¼­¹öÀÇ ÇÁ·ÎÁ§Æ® ÀúÀå¼Ò¿¡ ÀÖ´Â ¸ðµâÀ» °¡Á®¿À±â À§Çؼ­´Â '''checkout'''À̶õ ¸í·ÉÀ» »ç¿ëÇϸç, ¸ðµâÀ» °¡Á®¿À´Â ¹æ¹ýÀ¸·Î´Â ÁÖ ¸ðµâ(Main trunk)À» °¡Á®¿À´Â ¹æ¹ý°ú ƯÁ¤ Tag ¶Ç´Â ÆÄ»ý ¸ðµâ(Branch)¸¦ °¡Á®¿À´Â ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. ==== ÁÖ ¸ðµâ(Main trunk) °¡Á®¿À±â ==== ÁÖ ¸ðµâ(Main trunck)À» °¡Á®¿À±â À§Çؼ­´Â ´ÙÀ½°ú °°Àº ÀÛ¾÷ÁøÇàÀýÂ÷¸¦ µû¸¨´Ï´Ù. * Remote --> Checkout module ... À» ¼±ÅÃÇÑ´Ù. ¶Ç´Â ( Tree View¿¡¼­ Æ˾÷¸Þ´º·Î Checkout module..À» ¼±ÅÃÇÑ´Ù. ) * Checkout settings¶õ ´ëÈ­»óÀÚ°¡ ³ªÅ¸³­´Ù. * Checkout settingsÅÇ¿¡¼­ ÇØ´ç ¸ðµâ¸íÀ» ±â¼úÇÑ´Ù.(¿©±â¼­´Â '''StudyProject'''¸¦ ±â¼úÇÏ¸é µË´Ï´Ù). * Checkout settingsÅÇ¿¡¼­ ÀÛ¾÷°ø°£¿¡ ÀúÀåµÉ µð·ºÅ丮¸¦ ¼±ÅÃÇÑ´Ù(¼±ÅÃµÈ µð·ºÅ丮¾È¿¡ ¸ðµâ¸íÀ¸·Î µð·ºÅ丮¸¦ »ý¼ºÇÑ´Ù). * GeneralÅÇ¿¡¼­ CVS¼­¹öÀÇ ÇÁ·ÎÅäÄÝÀ» ¼³Á¤ÇÑ´Ù(±âº»¼³Á¤Àº'''Preferences'''¿¡¼­ ¼³Á¤ÇÑ °ªµéÀÌ ³ªÅ¸³­´Ù). * GlobalsÅÇ¿¡¼­ Checkout read-only ¿É¼ÇÀÌ ¼³Á¤µÇ¾ú´Ù¸é, ¼³Á¤À» ÇØÁ¦ÇÑ´Ù. * È®ÀÎ ¹öÆ°À» ´©¸¥´Ù. ==== ÆÄ»ý ¸ðµâ(Branch) °¡Á®¿À±â ==== ÆÄ»ý ¸ðµâ(Branch)¸¦ °¡Á®¿À´Â ¹æ¹ýÀº ÁÖ ¸ðµâ(Main trunk)À» °¡Á®¿À´Â ¹æ¹ý°ú µ¿ÀÏÇϸç, ´ÜÁö Â÷ÀÌÁ¡À̶õ ÆÄ»ý ¸ðµâ(Branch)¸íÀ» ±â¼úÇÏ´Â ºÎºÐÀÌ Á¸ÀçÇÑ´Ù´Â »ç½ÇÀÔ´Ï´Ù. ÁÖÀÇ) ÆÄ»ý ¸ðµâ(Branch)¸¦ »ç¿ëÇϱâ À§Çؼ­´Â ÆÄ»ý ¸ðµâ(Branch)¸¦ »ý¼ºÇؾ߸¸ ÇÕ´Ï´Ù. ÆÄ»ý ¸ðµâ(Branch)À» °¡Á®¿À±â À§Çؼ­´Â ´ÙÀ½°ú °°Àº ÀÛ¾÷ÁøÇàÀýÂ÷¸¦ µû¸¨´Ï´Ù. * Remote --> Checkout module ... À» ¼±ÅÃÇÑ´Ù. ¶Ç´Â ( Tree View¿¡¼­ Æ˾÷¸Þ´º·Î Checkout module..À» ¼±ÅÃÇÑ´Ù. ) * Checkout settings¶õ ´ëÈ­»óÀÚ°¡ ³ªÅ¸³­´Ù. * Checkout settingsÅÇ¿¡¼­ ÇØ´ç ¸ðµâ¸íÀ» ±â¼úÇÑ´Ù.(¿©±â¼­´Â '''StudyProject'''¸¦ ±â¼úÇÏ¸é µË´Ï´Ù). * Checkout settingsÅÇ¿¡¼­ ÀÛ¾÷°ø°£¿¡ ÀúÀåµÉ µð·ºÅ丮¸¦ ¼±ÅÃÇÑ´Ù(¼±ÅÃµÈ µð·ºÅ丮¾È¿¡ ¸ðµâ¸íÀ¸·Î µð·ºÅ丮¸¦ »ý¼ºÇÑ´Ù). * '''Checkout optionsÅÇ¿¡¼­ "By revision/tag/branch"¿É¼ÇÀ» ¼³Á¤ÇÑ´Ù(ÆÄ»ý ¸ðµâ(Branch)¸íÀ» ±â¼úÇÑ´Ù).''' * GeneralÅÇ¿¡¼­ CVS¼­¹öÀÇ ÇÁ·ÎÅäÄÝÀ» ¼³Á¤ÇÑ´Ù(±âº»¼³Á¤Àº'''Preferences'''¿¡¼­ ¼³Á¤ÇÑ °ªµéÀÌ ³ªÅ¸³­´Ù). * GlobalsÅÇ¿¡¼­ Checkout read-only ¿É¼ÇÀÌ ¼³Á¤µÇ¾ú´Ù¸é, ¼³Á¤À» ÇØÁ¦ÇÑ´Ù. * È®ÀÎ ¹öÆ°À» ´©¸¥´Ù. === ¸ðµâ °»½ÅÇϱâ(Update/Commit selection...) === ¸ðµâÀ» °»½ÅÇÑ´Ù´Â °ÍÀº ³» ÄÄÇ»ÅÍ¿¡¼­ ÀÛ¾÷ÇÑ ¸ðµâ°ú CVS ¼­¹öÀÇ ÇÁ·ÎÁ§Æ® ÀúÀå¼Ò¿¡ ÀÖ´Â ¸ðµâÀ» ÀÏÄ¡½ÃÅ°´Â ÀÛ¾÷À» ¸»ÇÕ´Ï´Ù. ÀÌ·¸°Ô ÇÔÀ¸·Î½á, °»½ÅµÈ ÆÄÀÏ(¸ðµâ¿¡ ¼Ò¼ÓµÈ ÆÄÀÏ)¿¡ ´ëÇÑ ¸®ºñÁ¯(revision)ÀÌ Çϳª Áõ°¡ÇÕ´Ï´Ù(¿¹ 1.2 -> 1.3). ¸ðµâÀ» °»½ÅÇÏ´Â ¹æ¹ý¿¡´Â ÀÛ¾÷ °ø°£À» °»½ÅÇÏ´Â ¹æ¹ý(Update)°ú ÀúÀå¼Ò¸¦ °»½ÅÇÏ´Â ¹æ¹ý(Commit)ÀÌ ÀÖ½À´Ï´Ù. ÁÖÀÇ) Âü°í·Î °»½ÅÀÇ ´ÜÀ§·Î´Â ÆÄÀÏ,µð·ºÅ丮, ¸ðµâµîÀÌ ÀÖÀ¸¸ç, ¿©±â¼­´Â '''¸ðµâ´ÜÀ§'''¸¦ »ç¿ëÇÕ´Ï´Ù. ==== ÀÛ¾÷°ø°£ °»½ÅÇϱâ(Update selection...) ==== ÀÛ¾÷ °ø°£À» °»½ÅÇÑ´Ù´Â °ÍÀº ÃÖ½ÅÀÇ ÀÛ¾÷ ¸ðµâ·Î º¯°æÇÑ´Ù°í º¸½Ã¸é µË´Ï´Ù. ÃÖ½ÅÀÇ ÀÛ¾÷ ¸ðµâÀ» °¡Á®¿À´Â ¹æ¹ýÀ¸·Î´Â µÎ°¡Áö ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. À§¿¡¼­ »ç¿ëÇÑ '''checkout'''À̶õ ¹æ¹ý°ú Áö±Ý º¸°ÔµÉ '''update'''ÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù. ÀÌ '''update'''¸í·ÉÀ» »ç¿ëÇÏ´Â °ÍÀÌ Á»´õ Á÷°üÀûÀ̶ó ÇÒ¼ö ÀÖ½À´Ï´Ù. '''Ãß°¡ ¼³¸í ÇÊ¿äÇÔ(°»½Å¿¡´Â ¿©·¯ °æ¿ì°¡ Á¸ÀçÇÒ¼ö ÀÖÀ½)''' ÀÛ¾÷°ø°£À» °»½ÅÇϱâ À§Çؼ­´Â ´ÙÀ½°ú °°Àº ÀÛ¾÷ÁøÇàÀýÂ÷¸¦ µû¸¨´Ï´Ù. * Tree View ¶Ç´Â File List View¿¡¼­ ¸ðµâ ¸íÀ» ¼±ÅÃÇÑ´Ù(ÇØ´ç µð·ºÅ丮 ¸íÀ» ¼±ÅÃÇÑ´Ù). * Modify --> Update selectionÀ» ¼±ÅÃÇÑ´Ù(¸ðµâÀÌ ¼±ÅÃµÈ ÈÄ¿¡¸¸ ÀÌ ¸Þ´º¾ÆÀÌÅÛÀº È°¼ºÈ­ µË´Ï´Ù). * Update settingÀ̶õ ´ëÈ­»óÀÚ°¡ ³ªÅ¸³­´Ù. * °¢ ÅÇÀÇ ¼¼ºÎ Ç׸ñÀ» ¼³Á¤ÇÑ´Ù(°»½ÅÀÎ °æ¿ì ¼³Á¤ÇÏÁö ¾Ê¾Æµµ µË´Ï´Ù). * È®ÀÎ ¹öÆ°À» ´©¸¥´Ù.(°»½ÅÀÌ µÈ ÆÄÀÏÀÌ ÀÖ´Â °æ¿ì´Â ¸Þ¼¼Áö ¿µ¿ª¿¡ MÀ¸·Î ½ÃÀ۵Ǵ ¸Þ¼¼Áö°¡ ³ª¿É´Ï´Ù. ¶ÇÇÑ File List ViewÀÇ ¾ÆÀÌÄÜÀÌ »¡°£»öÀ¸·Î º¯°æµË´Ï´Ù.) ==== ÀúÀå¼Ò °»½ÅÇϱâ(Commit selection...) ==== ³» ÄÄÇ»ÅÍÀÇ ÀÛ¾÷ °ø°£¿¡¼­ ÀÛ¾÷ÇÑ ¸ðµâµéÀ» ÆÀ¿øÀÌ °øÀ¯Çϱâ À§Çؼ­´Â ¹Ýµå½Ã CVS¼­¹öÀÇ ÇÁ·ÎÁ§Æ® ÀúÀå¼Ò¿¡ ¸ðµâÀ» °»½ÅÇØ¾ß ÇÕ´Ï´Ù. ÀÌ·¸°Ô ÇÔÀ¸·Î½á ÆÀ¿øµéÀº ÀÚ½ÅÀÇ ÀÛ¾÷ °ø°£À» °»½ÅÇÔÀ¸·Î½á ÃÖ½ÅÀÇ ¸ðµâÀ» À¯ÁöÇÒ¼ö ÀÖ½À´Ï´Ù. ÀúÀå¼ÒÀ» °»½ÅÇϱâ À§Çؼ­´Â ´ÙÀ½°ú °°Àº ÀÛ¾÷ÁøÇàÀýÂ÷¸¦ µû¸¨´Ï´Ù. * Tree View ¶Ç´Â File List View¿¡¼­ ¸ðµâ ¸íÀ» ¼±ÅÃÇÑ´Ù(ÇØ´ç µð·ºÅ丮 ¸íÀ» ¼±ÅÃÇÑ´Ù). * Modify --> Commit selectionÀ» ¼±ÅÃÇÑ´Ù(¸ðµâÀÌ ¼±ÅÃµÈ ÈÄ¿¡¸¸ ÀÌ ¸Þ´º¾ÆÀÌÅÛÀº È°¼ºÈ­ µË´Ï´Ù). * Commit settingÀ̶õ ´ëÈ­»óÀÚ°¡ ³ªÅ¸³­´Ù. * °¢ ÅÇÀÇ ¼¼ºÎ Ç׸ñÀ» ¼³Á¤ÇÑ´Ù(º¯°æ»çÇ׿¡ ´ëÇÑ ¸Þ¼¼Áö¸¦ ±â·ÏÇÕ´Ï´Ù). * È®ÀÎ ¹öÆ°À» ´©¸¥´Ù. === Ãæµ¹ ÇØ°áÇϱâ(Conflict) === Ãæµ¹(Conflict)À̶õ °»½ÅÀ» ÇÏ´Â ½ÃÁ¡¿¡¼­ ¹ß»ýÇÏ´Â ¸Þ¼¼Áö·Î, ³» ÄÄÇ»ÅÍÀÇ ÀÛ¾÷°ø°£¿¡¼­ ¼öÁ¤º»°ú CVS¼­¹öÀÇ ÇÁ·ÎÁ§Æ® ÀúÀå¼Ò¿¡ ÀÖ´Â ÃֽŠ¸ðµâ°úÀÇ »çÀÌ¿¡ °°Àº ¿µ¿ª(ÇÔ¼ö,ÆÄÀÏ,µîµî)¿¡¼­ ¼öÁ¤ÀÌ ÀϾ¶§ ¹ß»ýÇÕ´Ï´Ù. ÀÌ´Â ÀÚµ¿À¸·Î ÇØ°áµÉ ¼ÒÁö°¡ ¾Æ´Ï±â ¶§¹®¿¡(ÀǹÌÀûÀÎ ºÎºÐµé±â ¶§¹®¿¡ CVS¼­¹ö°¡ ÆÇ´ÜÀ» ÇÒ¼ö ¾ø½À´Ï´Ù) ¹Ýµå½Ã ¼öÁ¤ÇÑ ÆÀ¿ø(°ü·ÃÀÚ)°ú »óÀǸ¦ Çϴ°ÍÀÌ ÁÁ½À´Ï´Ù. ´ÙÀ½Àº Ãæµ¹ ¹ß»ý½Ã ¸Þ¼¼Áö ÀÔ´Ï´Ù. {{{ RCS file: /testcvs/StudyProject/Hello.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 Merging differences between 1.1.1.1 and 1.2 into Hello.c rcsmerge: warning: conflicts during merge cvs server: conflicts found in Hello.c C Hello.c }}} Çؼ®À» µ¡ºÙÀÌÀÚ¸é: {{{ RCS file: /testcvs/StudyProject/Hello.c,v //testcvs¶õ ÇÁ·ÎÁ§Æ® ÀúÀå¼ÒÀÇ StudyProject ¸ðµâ¿¡ ÀÖ´Â Hello.c¿¡ ´ëÇؼ­ retrieving revision 1.1.1.1 // ³» ÄÄÇ»ÅÍÀÇ ÀÛ¾÷ °ø°£¿¡ ÀÖ´Â ¸®ºñÁ¯(Revision)ÀÌ 1.1.1.1 À̸ç retrieving revision 1.2 // CVS ¼­¹ö¿¡ ÀÖ´Â ¸®ºñÁ¯(Revision)Àº 1.2ÀÔ´Ï´Ù. Merging differences between 1.1.1.1 and 1.2 into Hello.c // hello.c ÆÄÀÏ¿¡ ¸®ºñÁ¯ 1.2¿Í ¸®ºñÁ¯ 1.1.1.1ÀÇ Â÷ÀÌÁ¡À» ÇÕÇÑ´Ù. rcsmerge: warning: conflicts during merge // ÇÕÄ¡´Â Áß¿¡ Ãæµ¹ÀÌ ¹ß»ýÇß´Ù´Â °æ°í¹®±¸ÀÔ´Ï´Ù. cvs server: conflicts found in Hello.c // ±×·¡¼­ cvs¼­¹ö´Â hello.cÆÄÀÏ¿¡¼­ Ãæµ¹(Conflicts)µéÀ» ã¾Ò´Ù°í º¸°íÇÕ´Ï´Ù. C Hello.c // ±×¸®°í C¶õ Ã浹ǥ½Ã(Conflicts)¿Í ÆÄÀϸíÀ» ¾Ë·ÁÁÝ´Ï´Ù. }}} ´ÙÀ½Àº Ãæµ¹ÀÌ ÀÖ´Â ÆÄÀÏÀÇ ÀϺÎ(Hello.cÆÄÀÏÀÇ PrintHelloÇÔ¼ö) ÀÔ´Ï´Ù. {{{ void PrintHello() { printf("Hello, world!\n"); <<<<<<< Hello.c printf("It's not fun\n"); ======= printf("It's fun!\n"); >>>>>>> 1.2 } }}} Çؼ®À» µ¡ºÙÀÌÀÚ¸é: {{{ void PrintHello() { printf("Hello, world!\n"); <<<<<<< Hello.c // ³» ÄÄÇ»ÅÍÀÇ ÀÛ¾÷°ø°£¿¡¼­ ÀÛ¾÷ÇÑ ³»¿ëÀÌ ¸ÕÀú Ç¥½ÃµË´Ï´Ù. printf("It's not fun\n"); // ³» ÄÄÇ»ÅÍÀÇ ÀÛ¾÷°ø°£¿¡¼­ ÀÛ¾÷ÇÑ ³»¿ë(Revision 1.1.1.1À» ±â¹ÝÀ¸·Î ¼öÁ¤ÇÔ) ======= // ÀÛ¾÷ÇÑ ³»¿ëÀÌ ³¡³µ´Ù´Â Ç¥½ÃÀÔ´Ï´Ù. // CVS ¼­¹öÀÇ ÃֽŠ¸®ºñÁ¯(Revision-1.2)ÀÇ ³»¿ë printf("It's fun!\n"); // CVS ¼­¹öÀÇ ÃֽŠ¸®ºñÁ¯(Revision-1.2)ÀÇ ³»¿ë(´©±º°¡¿¡ ÀÇÇØ µÎ¶óÀÎÀÌ ¼öÁ¤µÇ¾ú´Ù´Â ÀǹÌ) >>>>>>> 1.2 // CVS ¼­¹öÀÇ ³»¿ëÀÌ ³¡³µ´Ù´Â Ç¥½ÃÀÔ´Ï´Ù. } }}} ==== ÇØ°á ¹æ¹ý ==== Ãæµ¹ÀÌ ¹ß»ý½Ã´Â ¿©·¯ ÇØ°á¹æ¾ÈÀÌ ÀÖÀ»°Å¶ó »ý°¢µÇ¸é, À§ °æ¿ì´Â ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î ÇØ°áÇÏ¸é µË´Ï´Ù. * ¼öÁ¤ÇÑ ´ã´çÀÚ¿Í ³íÀǸ¦ ÇÑ´Ù. * ±×·¡¼­ ÀûÀýÇÑ °á·ÐÀ» ³»¸°´Ù(¿©±â¼­´Â µÎ¶óÀÎ ¸ðµÎ Ãß°¡ÇÏ´Â ¹æÇâÀ¸·Î °á·ÐÀ» Áþ½À´Ï´Ù). * ±×¸®°í ¼öÁ¤ ÈÄ ´Ù½Ã '''ÀúÀå¼Ò °»½ÅÇϱâ(Commit selection...)'''À» ÇÑ´Ù. * ±×·³ CVS ¼­¹ö´Â ÇØ´ç ÆÄÀÏ¿¡ ´ëÇÑ ¸®ºñÁ¯(Revision)À» Çϳª Áõ°¡½Ãŵ´Ï´Ù(1.2-> 1.3À¸·Î). * ±×·± ÈÄ¿¡ ÆÀ¿øµéÀº ´Ù½Ã '''ÀÛ¾÷°ø°£ °»½ÅÇϱâ(Update selection...)'''À» ¼öÇàÇÑ´Ù. ³íÀÇÈÄ ¼öÁ¤ÇÑ ³»¿ëÀÔ´Ï´Ù. {{{ void PrintHello() { printf("Hello, world!\n"); printf("It's not fun\n"); printf("It's fun!\n"); } }}} === ÆÄ»ý¸ðµâ »ý¼ºÇϱâ(Create a branch/tag by module...) === ÆÄ»ý¸ðµâ(branch)À» »ý¼ºÇÑ´Ù´Â °ÍÀº CVS ¼­¹öÀÇ ÇÁ·ÎÁ§Æ® ÀúÀå¼Ò¿¡ ÀÖ´Â ¸ðµâÀÇ º¹»çº»À» Çϳª ´õ ¸¸µå´Â ÀÛ¾÷À» ¸»ÇÕ´Ï´Ù. ÀÌ·¸°Ô ÇÔÀ¸·Î½á, »õ ¸ðµâ(¹öÁ¯)¿¡ ´ëÇÑ ÀÛ¾÷À» ÁøÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. ÆÄ»ý¸ðµâ(branch)À» »ý¼ºÇÏ´Â ±âº» ¹æ¹ýÀº ¸ÕÀú ű׸¦ »ý¼ºÇÏ°í ÆÄ»ý¸ðµâ(branch)À» »ý¼ºÇÏ´Â ¹æ¹ýÀ» »ç¿ëÇÕ´Ï´Ù. ==== ÅÂ±× »ý¼ºÇϱâ(Create a tag by module...) ==== ű׸¦ »ý¼ºÇÑ´Ù´Â °ÍÀº ƯÁ¤ ÁöÁ¡±îÁö ÀÛ¾÷À» Çß´Ù°í Ç¥½ÃÇØ µÎ´Â °ÍÀÔ´Ï´Ù. ÀÌ·¸°Ô ÇÔÀ¸·Î½á, ÀÌÈÄ¿¡ ÇÊ¿äÇÑ Æ¯Á¤ ÁöÁ¡À¸·Î º¹±Í°¡ Æí¸®ÇÕ´Ï´Ù. ű׸¦ »ý¼ºÇϱâ À§Çؼ­´Â ´ÙÀ½°ú °°Àº ÀÛ¾÷ÁøÇàÀýÂ÷¸¦ µû¸¨´Ï´Ù. * Create --> Create a tag by module...À» ¼±ÅÃÇÑ´Ù. * Creating tag settingsÀ̶õ ´ëÈ­»óÀÚ°¡ ³ªÅ¸³­´Ù. * Creating tag settingsÅÇÀÇ ¼¼ºÎ Ç׸ñÀ» ¼³Á¤ÇÑ´Ù. * New tag name : »õ·Î¿î ű׸íÀ» ÀÔ·ÂÇÑ´Ù. * Module to tag : ±âÁØÀÌ µÇ´Â ¸ðµâ¸íÀ» ÀÔ·ÂÇÑ´Ù. * Ãß°¡ÀûÀ¸·Î ½Ã°£(date)À̳ª ű×(tag), ÆÄ»ý¸ðµâ(branch)µîÀ¸·Î ű׸¦ ÀÔ·ÂÇÒ ½ÃÁ¡À» ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. * È®ÀÎ ¹öÆ°À» ´©¸¥´Ù. ==== ÆÄ»ý ¸ðµâ »ý¼ºÇϱâ(Create a branch by module...) ==== ÆÄ»ý¸ðµâ(branch)À» »ý¼ºÇϱâ À§Çؼ­´Â ´ÙÀ½°ú °°Àº ÀÛ¾÷ÁøÇàÀýÂ÷¸¦ µû¸¨´Ï´Ù. * Create --> Create a branch by module...À» ¼±ÅÃÇÑ´Ù. * Creating tag settingsÀ̶õ ´ëÈ­»óÀÚ°¡ ³ªÅ¸³­´Ù. * Creating branch settingsÅÇÀÇ ¼¼ºÎ Ç׸ñÀ» ¼³Á¤ÇÑ´Ù. * New branch name : »õ·Î¿î ÆÄ»ý¸ðµâ¸íÀ» ÀÔ·ÂÇÑ´Ù. * Module to fork : ±âÁØÀÌ µÇ´Â ¸ðµâ¸íÀ» ÀÔ·ÂÇÑ´Ù. * Ãß°¡ÀûÀ¸·Î ½Ã°£(date)À̳ª ű×(tag), ¸®ºñÀü(revision)µîÀ¸·Î ÆÄ»ý¸ðµâ(branch)¸¦ ÀÔ·ÂÇÒ ½ÃÁ¡À» ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. * È®ÀÎ ¹öÆ°À» ´©¸¥´Ù. === ÆÄÀÏ Ãß°¡/»èÁ¦Çϱâ(Add/Remove/Erase selection) === ³» ÄÄÇ»ÅÍÀÇ ÀÛ¾÷ °ø°£¿¡¼­ ¸ðµâÀ» ÀÛ¾÷ÇÏ´Ùº¸¸é »õ·Î »ý¼ºµÈ ÆÄÀÏ, ¶Ç´Â »èÁ¦ÇؾßÇÒ ÆÄÀϵéÀÌ ÀÖ½À´Ï´Ù. ÀÌ·²¶§´Â ´ÙÀ½°ú °°Àº ¸í·É¾î¸¦ »ç¿ëÇÏ¿© ÀÛ¾÷ÇÏ¸é µË´Ï´Ù. ==== ÆÄÀÏ Ãß°¡Çϱâ(Add selection) ==== ÆÄÀÏÀ» CVS ¼­¹ö¿¡ Ãß°¡Çϱâ À§Çؼ­´Â ´ÙÀ½°ú °°Àº ÀÛ¾÷ÁøÇàÀýÂ÷¸¦ µû¸¨´Ï´Ù. * Tree View ¶Ç´Â File List View¿¡¼­ ÆÄÀÏ ¸íÀ» ¼±ÅÃÇÑ´Ù(¶Ç´Â µð·ºÅ丮 ¸íÀ» ¼±ÅÃÇÑ´Ù). * Modify --> Add selectionÀ» ¼±ÅÃÇÑ´Ù(»õ·Î »ý¼ºµÈ ÆÄÀÏ¿¡ ´ëÇؼ­ ÀÌ ¸Þ´º¾ÆÀÌÅÛÀº È°¼ºÈ­ µË´Ï´Ù). (¶Ç´Â Æ˾÷¸Þ´º¿¡¼­ Add selectionÀ» ¼±ÅÃÇÑ´Ù-¸Þ´º°¡ ¾ø´Ù¸é ¾Æ·¡ '''Æ˾÷¸Þ´º ¼³Á¤Çϱâ''' ÂüÁ¶ÇÑ´Ù.) * Ãß°¡µÈ ÆÄÀÏÀ» CVS ¼­¹ö¿¡ Àû¿ëÇϱâ À§Çؼ­´Â ¹Ýµå½Ã '''ÀúÀå¼Ò °»½ÅÇϱâ(Commit selection...)'''À» ¼öÇàÇÑ´Ù. ==== ÆÄÀÏ »èÁ¦Çϱâ(Remove selection) ==== ÆÄÀÏÀ» CVS ¼­¹ö¿¡¼­ »èÁ¦Çϱâ À§Çؼ­´Â ´ÙÀ½°ú °°Àº ÀÛ¾÷ÁøÇàÀýÂ÷¸¦ µû¸¨´Ï´Ù. * Tree View ¶Ç´Â File List View¿¡¼­ ÆÄÀÏ ¸íÀ» ¼±ÅÃÇÑ´Ù(¶Ç´Â µð·ºÅ丮 ¸íÀ» ¼±ÅÃÇÑ´Ù). * Modify --> Delete selectionÀ» ¼±ÅÃÇÑ´Ù. (¶Ç´Â Æ˾÷¸Þ´º¿¡¼­ Delete selectionÀ» ¼±ÅÃÇÑ´Ù-¸Þ´º°¡ ¾ø´Ù¸é ¾Æ·¡ '''Æ˾÷¸Þ´º ¼³Á¤Çϱâ''' ÂüÁ¶ÇÑ´Ù.) * »èÁ¦µÈ ÆÄÀÏÀ» CVS ¼­¹ö¿¡ Àû¿ëÇϱâ À§Çؼ­´Â ¹Ýµå½Ã '''ÀúÀå¼Ò °»½ÅÇϱâ(Commit selection...)'''À» ¼öÇàÇÑ´Ù. ==== ÆÄÀÏ Áö¿ì±â(Erase selection) ==== ÆÄÀÏÀ» ³» ÄÄÇ»ÅÍÀÇ ÀÛ¾÷ °ø°£¿¡¼­ Áö¿ì±â À§Çؼ­´Â ´ÙÀ½°ú °°Àº ÀÛ¾÷ÁøÇàÀýÂ÷¸¦ µû¸¨´Ï´Ù. * Tree View ¶Ç´Â File List View¿¡¼­ ÆÄÀÏ ¸íÀ» ¼±ÅÃÇÑ´Ù(¶Ç´Â µð·ºÅ丮 ¸íÀ» ¼±ÅÃÇÑ´Ù). * Modify --> Erase selectionÀ» ¼±ÅÃÇÑ´Ù. (¶Ç´Â Æ˾÷¸Þ´º¿¡¼­ Erase selectionÀ» ¼±ÅÃÇÑ´Ù-¸Þ´º°¡ ¾ø´Ù¸é ¾Æ·¡ '''Æ˾÷¸Þ´º ¼³Á¤Çϱâ''' ÂüÁ¶ÇÑ´Ù.) * ³» ÄÄÇ»ÅÍÀÇ ÀÛ¾÷ °ø°£¿¡¼­ ÆÄÀÏÀÌ Áö¿öÁø´Ù. * Áö¿öÁø ÆÄÀÏÀº CVS¼­¹öÀÇ ¸ðµâ¿¡´Â ¿µÇâÀ» ¹ÌÄ¡Áö ¸øÇϸç '''ÀÛ¾÷°ø°£ °»½ÅÇϱâ(Update selection...)'''À» ¼öÇàÇÏ¸é ´Ù½Ã °»½ÅµÈ´Ù. === º¯°æ»çÇ× º¸±â(Log/Status/Diff/Graph selection) === ==== ±â·Ï º¸±â(Log selection...) ==== ==== »óÅ º¸±â(Status selection) ==== ==== Â÷ÀÌÁ¡ º¸±â(Diff selection...) ==== ==== ±×·¡ÇÁ º¸±â(Graph selection...) ==== ===== ¸®ºñÁ¯ °¡Á®¿À±â(Retrieve revision) ===== ===== ¸®ºñÁ¯ »èÁ¦Çϱâ(Delete revisions) ===== === Æ˾÷¸Þ´º ¼³Á¤Çϱâ(Customize this menu...) === ---- see also * TortoiseCVS and TortoiseSVN * Wiki:ConcurrentVersionsSystem * [CVS/FAQ] ---- CategorySoftwareTool