'''°³¹ßȯ°æÀÇ È¿À²Àû °³¼±''' [[TableOfContents]] == ¼Ò°³ == * ÇÁ·ÎÁ§Æ® ¿¡ÄڽýºÅÛ or °³¹ßȯ°æÀÇ È¿À²Àû °³¼± * °­´ë±Ç == ¸ñÂ÷ == * ÀÏÇϱâ ÆíÇϸ鼭 ÁÁÀº Ç°ÁúÀ» ³¾ ¼ö ÀÖ´Â °³¹ß ȯ°æÀº? * SubversionÀ» ÀÌ¿ëÇÑ ¼Ò½º°ü¸® * TracÀ» ÀÌ¿ëÇÑ À̽´°ü¸® * ÃÖÁ¾¸ñÇ¥´Â Áö¼ÓÀûÀÎ ÅëÇÕ == ÀÏÇϱâ ÆíÇϸ鼭 ÁÁÀº Ç°ÁúÀ» ³¾ ¼ö ÀÖ´Â °³¹ß ȯ°æÀº? == === ¸ñÇ¥ === * °³¹ßȯ°æÀ» °³¼±Çسª°£´Ù´Â ¸ñÇ¥¸¦ °¡Áö°í Ãʱ⿡´Â ¼Ò½º°ü¸® Á¤µµ·Î ½ÃÀÛÇØ Á¡ÁøÀûÀ¸·Î À̽´°ü¸® ±×¸®°í Áö¼ÓÀûÀÎ ÅëÇÕ±îÁö È®´ëÀû¿ë * DRY(Don't Repeat Yourself)ÇÑ ºÎºÐÀ» ÃÖ´ëÇÑ ÁÙ¿© ÀÛ¾÷È¿À² ±Ø´ëÈ­ÇÒ ¼ö ÀÖ´Â °³¹ßȯ°æ ±¸Ãà * ¾Æ·¡ÀÇ Èıâó·³ °³¹ßÀÚÀÇ °³À¸¸§ Á¦°Å {{{ Áö¼ÓÀûÀÎ ÅëÇÕ º£Å¸¸®´õ Èıâ Áß °¡Àå ¿Í´ê´Â Èı⠡°(Àΰ£ÀûÀ¸·Î´Â µ¹¾Æº¼ ÀÏ ¾ø´Â ÀÌÀ̱ä ÇÏÁö¸¸) ·¡¸® ¿ùÀº °³¹ßÀÚÀÇ ´ö¸ñ Áß Çϳª·Î '°ÔÀ¸¸§'À» ²Å¾Ò¾úÁÒ. ÀÌ Ã¥¿¡¼­´Â °ÔÀ¸¸£Áö ¸øÇÑ °³¹ßÀÚ¸¦ '°í°´ÀÇ ½Å¹ßÀº ºóÆ´¾øÀÌ °íÃÄÁָ鼭, Á¤ÀÛ ÀÚ½ÅÀÇ ¾ÆÀ̵éÀ» À§ÇÑ ½Å¹ß ¼ö¼±Àº Àؾî¹ö¸®´Â ±¸µÎ ¼ö¼±°ø'À̶ó°í ²¿Áý°í ÀÖ´øµ¥ ¾î¾Áö ÀÌ ±¸Àý¿¡ ÀúÀÚÀÇ Àǵµ°¡ ´Ù ´ã°Ü ÀÖ´Â µíÇϳ׿ä. ÀÚ, °ÔÀ¸¸£°íÀÚ ÇÏ´Â °³¹ßÀÚ¸¦ À§ÇÑ ¸ÚÁø Ä£±¸ Çϳª¸¦ ¼Ò°³ÇÕ´Ï´Ù. ÀÌ Ã¥À¸·Î ´Ù¸¥ ¸ÚÁø Ã¥À» ÁýÇÊÇÏ´Â ¿©À¯ ½Ã°£À» ¾òÀ» ¼ö ÀÖ´Â °³¹ßÀÚµéÀÌ ´Ã¾î³ª±æ ±â´ëÇÏ°í... À½ ±×¸®°í Ȥ½Ã ¾Úºñ¾ðÆ® ¿Àºê¸¦ Á¦°Ô ¼±¹°ÇÒ(¾Æ´Ï ±¸°æ½ÃÄÑ ÁÙ) À̸¦ ã½À´Ï´Ù.¡± —±èÇüÁØ, http://tzara.wordpress.com }}} === ´Ù¸¥ °³¹ß»çµéÀÇ °³¹ßü°è ¼Ò°³ === * [http://blog.empas.com/ksnv6955/read.html?a=19390446 »çÀ̳À¼ÒÇÁÆ®(Synapsoft) °³¹ßü°è] * [http://blog.tattertools.com/153 TNC´Â ÀÌ°Å ¾øÀ¸¸é ¾È±¼·¯°¡¿ä...] === µµÀÔ Àü °í·Á»çÇ× === * ¿©·¯ºÐµé 'Àº źȯ'(´Á´ëÀΰ£À» Çѹ濡 Àâ´Â źȯ, ¹¦Ã¥, Ưȿ¾àÀÇ ¶æ)À̶õ ¸»À» µé¾îº¸½ÅÀûÀÌ ÀÖÀ¸½Ç °Ì´Ï´Ù. ¾î¶² ¼ÒÇÁÆ®¿þ¾î Á¦Ç°ÀÌ°Ç°£¿¡ ¸ðµç ¹®Á¦¸¦ ÇØ°áÇØ ÁÖÁö´Â ¾Ê½À´Ï´Ù. Á¦°¡ ¼³¸íµå¸®´Â ³»¿ë ¶ÇÇÑ ¸¶Âù°¡Áö »ç°í·Î Á¢±ÙÇØ¾ß ÇÕ´Ï´Ù. ÀÌ°ÍÀ» µµÀÔÇϴ°͸¸À¸·Î ¸ðµç°ÍÀÌ ´Ù Àß µÉ²¨¶ó°í ¹Ï°í ½ÍÁö¸¸ Çö½ÇÀº ±×·¸Áö ¾Ê°í ³ÃÁ¤ÇÕ´Ï´Ù. ±×·¯±â¿¡ Çö¸íÇÏ°Ô ´ëóÇÏ´Â ÀÚ¼¼°¡ ÇÊ¿äÇÕ´Ï´Ù. ÀÌ ³»¿ëÀ» µµÀÔÇÏ°íÀÚ ÇÏ´Â ÀÇÁö°¡ ÀÖ´Â »ç¶÷Àº ÆÀÀåÀϼöµµ ¸»´Ü »ç¿øÀÏ ¼öµµ ÀÖ½À´Ï´Ù. °¢±â ·Ñº°·Î ÀÌ°ÍÀ» µµÀÔÇϴµ¥ ÇÊ¿äÇÑ ³ë·ÂÀÌ µå´Â°ÍÀº Â÷ÀÌ°¡ ÀÖÀ»°ÍÀÔ´Ï´Ù. ÇÏÁö¸¸ °¡Àå Áß¿äÇÑ °ÍÀº ÆÀ ±¸¼º¿ø°£¿¡ »ý°¢ÀÌ ÇÕÃÄÁöÁö ¾ÊÀ¸¸é °ø¿°ºÒÀÌ µÉ ¼ö ÀÖ´Ù´Â Á¡À» ¹Ýµå½Ã ¸í½ÌÇϽñ⠹ٶø´Ï´Ù. * ÇöÀç ÀÌ·¯ÇÑ ÇÁ·Î¼¼½º°¡ Àû¿ëµÇÁö ¾ÊÀº °÷¿¡¼­ µµÀԽõµ Àü ²À ¾Ë¾ÆµÎ¾î¾ß ÇÒ ³»¿ëÀº ¾îÂ÷ÇÇ ÀÌ ÇÁ·Î¼¼½ºµµ ´Ù¸¥ ÆÀ¿øÀÇ °³¼ºÀ» Á¸ÁßÇÏ°í µµÀÔÀÇ °ø°¨´ë¸¦ Çü¼ºÇÏ´Â °ÍÀÌ °¡Àå Áß¿ä. ÀÌ·±¿ä¼Ò°¡ ºüÁø µµÀÔÀº ¾Ó²¿ºüÁø Â𻧰úµµ °°´Ù. === µµÀÔ °è±â === * [http://en.wikipedia.org/wiki/Joel_Spolsky Á¶¿¤ ½ºÆú½ºÅ°]°¡ [http://korean.joelonsoftware.com/Articles/TheJoelTest.html Á¦¾ÈÇÑ ±âÁØ]À» Áؼö(?)Çغ¸¸é¼­ ÇϳªÇϳª¾¿ Àû¿ëÇغ¸´Ù º¸´Ï ÀÚ¿¬½º·¹ ÆÀ ÇÁ·ÎÁ§Æ® °ü¸®µµ±¸(subverion + trac + Áö¼ÓÀûÀÎ ÅëÇÕ)¶ó´Â °ÍÀ» ÇÁ·ÎÁ§Æ®¿¡ Àû¿ë * óÀ½¿£ ¼Ò½º°ü¸®¸¦ Çغ¸°íÀÚ Àû¿ëÀ» ½ÃÀÛÇÏ¿´°í ¼Ò½ººê¶ó¿ì¡ÀÇ ºÒÆíÇÔÀ¸·Î viewvc¸¦ µµÀÔÇÏ¿© 1Â÷ÀûÀÎ ºÒ¸¸Àº ÇؼÒÇßÀ¸³ª 2Â÷ÀûÀÎ viewvcÀÇ ÀÎÅÍÆäÀ̽º ºÎÁ·À¸·Î ÀÚ¿¬½º·´°Ô tracÀ» µµÀÔÇÏ°Ô µÇ¾ú°í ¼Ò½º¿Í À̽´¸¦ ÅëÇÕÇÏ¿´°í ¹èÆ÷¶ó´Â À̽´¸¦ ÇØ°áÇϱâ À§ÇØ Áö¼ÓÀûÀÎ ÅëÇÕ ¼Ö·ç¼ÇÀ» Àû¿ë === °³¹ßȯ°æ === ===== ´ëÇ¥ÀûÀÎ ±âÁ¸ ÆÀ ÇÁ·ÎÁ§Æ® °ü¸®ÀÇ ¿¹ ===== * attachment:°­´ë±Ç/develop_current.png *°³¹ß È帧 * °³¹ßÀÚ´Â °³¹ß¼­¹öÀÇ °øÀ¯µÈ ¼Ò½ºÆú´õ¿¡ Á÷Á¢ Á¢±ÙÇÏ¿© ¼Ò½º¸¦ ¼öÁ¤ÇÏ°í TEST À¥¼­¹ö¿¡¼­ ¼öÁ¤³»¿ªÀ» È®ÀÎÇÑ´Ù. * Å×½ºÆ®°¡ ¿Ï·áµÈ ³»¿ªÀº ¹èÆ÷ÀÛ¾÷À» °ÅÃÄ ¿î¿µ¼­¹ö¿¡ ¹Ý¿µµÈ´Ù. * Àû¿ë´ë»ó °³¹ßȯ°æ * 1ÀÎ °³¹ß or ´Ù¼öÀÇ °³¹ßÀÚ°¡ Á¤È®È÷ ¾÷¹«ºÐÀåµÈ °³¹ß ½Ã * ±âÁ¸ °³¹ßȯ°æÀÌ °¡Áö´Â ¹®Á¦Á¡ * UNDO ¹öÆ° ¾ø´Â ¿¡µðÅÍ(°³¹ßȯ°æ) * µ¿ÀÏÇÑ ÆÄÀÏ ÀÛ¾÷ ½Ã ÀÛ¾÷»óÅ º¸Àå ¾ÈµÊ(¼­·Î ´Ù¸¥ °³¹ßÀÚ°¡ ÇϳªÀÇ ÆÄÀÏÀ» µ¿½Ã¿¡ ¼öÁ¤ÇÒ¶§) * »çº»~, notice_YYMMDD °°Àº dummy ÆÄÀÏ ¾ç»êÀ¸·Î ÀÎÇÑ ¼­¹ö ¸®¼Ò½º ³¶ºñ * °³¹ßÀÚ°¡ ¸¾¸¸ ¸ÔÀ¸¸é ¼Ò½º°¡ »èÁ¦µÉ ¼ö Àִ ȯ°æ ===== ü°èÀûÀÎ ÆÀ ÇÁ·ÎÁ§Æ® °ü¸®·Î °³¼± ¿¹ ===== * attachment:°­´ë±Ç/develop_improve.png * °³¹ß È帧 1. °³¹ßÀÚ´Â Ç×»ó ÀÛ¾÷ Àü update ÀÛ¾÷ ¼öÇà 1. °³¹ßÀÚ´Â ÀÛ¾÷ ¿Ï·á ÈÄ ÀÛ¾÷¼Ò½º commit 1. CI¼­¹ö ¹èÆ÷ó¸® 1. ½Ã½ºÅÛ ÀÚµ¿¼öÇà * ÇÁ·ÎÁ§Æ®º°·Î ¹Ì¸® ¼³Á¤µÈ ½ºÄÉÁì(¸Å ½Ã°£¸¶´Ù)À» ÅëÇØ Subversion ÀúÀå¼Ò¿¡ º¯°æµÈ ¼Ò½º¸¦ ''Checkout''ÇÏ°í ¹èÆ÷ó¸® ÀÚµ¿È­ ¼³Á¤À» ÅëÇØ º¯°æµÈ ¼Ò½º¸¦ Test PC IIS¼­¹ö·Î ¹Ý¿µ 1. »ç¿ëÀÚ Á÷Á¢¼öÇà * ¼Ò½º¹Ý¿µ ÀÛ¾÷Àº ½ºÄÉÁì ó¸® ¿Ü¿¡µµ »ç¿ëÀÚ°¡ Á÷Á¢ ¹èÆ÷ÀÛ¾÷À» ¼öÇàÇϴ°ÍÀÌ °¡´É 1. ¿î¿µ¼­¹ö·Î ¼Ò½º¹Ý¿µÀÇ ±âÁ¸°ú µ¿ÀÏÇÏ°Ô °³¹ßÀÚ°¡ Á÷Á¢ ¹Ý¿µ. ÇâÈÄ °³¼±µÈ ¹èÆ÷¸ðµ¨ Àû¿ë¿¹Á¤ * ¼Ò½º¹öÁ¯°ü¸® ½Ã½ºÅÛ µµÀÔ¿¡ µû¸¥ Àå´ÜÁ¡ * ÀåÁ¡ * ¹öÁ¯°ü¸® ½Ã½ºÅÛÀÇ ÀåÁ¡À» °æÇèÇغ¸°í ³ª¸é ÀÌÀüÀÇ °³¹ßȯ°æÀ¸·Î µ¹¾Æ°¡±â ¾î·Æ´Ù. * ¸ðµç ¼Ò½º¿¡ ´ëÇÑ À̷»çÇ× ÃßÀûÀÌ °¡´ÉÇÏ´Ù. * ¼Ò½º UNDO, REDO°¡ °¡´ÉÇÏ´Ù. * ´ÜÁ¡ * ¹öÁ¯°ü¸®(Subversion) °³¹ßüÁ¦´Â '''°³¹ßÀÚ ·ÎÄÃPC¿¡ IIS¸¦ ¼³Ä¡'''Çؼ­ °³¹ßÇÔ¿¡ µû¶ó ¾à°£ ¹ø°Å·Î¿ò * ¹öÁ¯°ü¸® ½Ã½ºÅÛÀ» ½áº¸Áö ¾ÊÀº »ç¿ëÀڵ鿡°Ô´Â Á¶±Ý ³¸¼³Àº ¹æ½ÄÀ̶ó °ÅºÎ°¨ÀÌ ÀÖÀ½ * »ç¿ë¹ý ÇÊÈ÷ ¼÷ÁöÇؾßÇÔ == SubversionÀ» ÀÌ¿ëÇÑ ¼Ò½º°ü¸® == * [http://wiki.kldp.org/wiki.php/SubversionBook SubversionBook] * SubversionÀÌ Àû¿ëµÇ´Â °¡Àå ´ëÇ¥ÀûÀÎ »ç·Ê - [http://www.gamemeca.com/news/img_data/200707/TERRAN-2.jpg Starcraft2µµ SubversionÀ» ÅëÇØ °³¹ß] * Subversion ¿Ü¿¡µµ ¹«¼öÈ÷ ¸¹Àº Á¾·ùÀÇ [http://en.wikipedia.org/wiki/Comparison_of_revision_control_software SCM ¼ÒÇÁÆ®¿þ¾î]µéÀÌ Á¸ÀçÇÕ´Ï´Ù. * SubversionÀº ¸í·ÉÇà ÀÎÅÍÆäÀ̽º¿¡¼­´Â »ç¿ëÇÏ´Â ¸í·É¾î¸¦ µû¼­ svnÀ̶ó°í ÁÙ¿©¼­ ºÎ¸£±âµµ ÇÕ´Ï´Ù. * SubversionÀº 2000³â CVS °³¹ß ¸â¹öµéÀÌ ÀDZâÅõÇÕÇÏ¿© "CVS ´ëü"¸¦ ¸ñÇ¥·Î °³¹ßµÇ¾ú½À´Ï´Ù. * CVS¿Í ºñ±³ÇßÀ» ¶§, SubversionÀº ´ÙÀ½°ú °°Àº ÀåÁ¡À» °¡Áø´Ù. * ¿øÀÚÀûÀ¸·Î ¾²±â°¡ °¡´ÉÇϹǷÎ, ´Ù¸¥ »ç¿ëÀÚÀÇ ¾²±â¿Í ¾ûÅ°Áö ¾Ê´Â´Ù. * À̸§À» ¹Ù²Ù°Å³ª, º¹»çÇϰųª, ÆÄÀÏÀ» »èÁ¦Çصµ revision history¸¦ À¯ÁöÇÑ´Ù. * ÀÌÁø ÆÄÀϵµ È¿À²ÀûÀ¸·Î ÀúÀåÇÒ ¼ö ÀÖ´Ù. * µð·ºÅ丮µµ ¹öÀü °ü¸®ÇÒ ¼ö ÀÖ´Ù. µð·ºÅ丮 Àüü¸¦ ºü¸£°Ô ¿Å±â°Å³ª º¹»çÇÒ ¼ö ÀÖÀ¸¸ç, revision historyµµ ±×´ë·Î À¯ÁöÇÑ´Ù. * ¼Ò½º ÀúÀå°íÀÇ Å©±â¿¡ »ó°ü¾øÀÌ ÀÏÁ¤ÇÑ ½Ã°£¾È¿¡ branchingÀ̳ª taggingÀ» ÇÒ ¼ö ÀÖ´Ù. * ¼Ò½º ÀúÀå°í Á¢±ÙÀÌ ÃÖÀûÈ­ µÇ¾ú±â ¶§¹®¿¡, ¼Ò½º ÀúÀå°í¿¡¼­ ºÒÇÊ¿äÇÑ ³×Æ®¿öÅ© Æ®·¡ÇÈÀ» ÁÙÀÏ ¼ö ÀÖ´Ù. # Subversion Server´Â Á¢±Ù¼ºÀÌ °¡Àå ÁÁÀº Apache ¼­¹ö¹æ½ÄÀ» ÅÃÇÏ¿´°í Apache moduelÀ» ÅëÇØ ¼­ºñ½º === SubversionÀ» ÀÌ¿ëÇÑ °³¹ß === attachment:subversion_with_develop.png === ÀúÀå¼Ò µð·ºÅ丮 ±¸Á¶ === {{{ -- http://svn.samplerepository.org/svn/sample +--+---+- branches | +--+- dav-mirror | | |--- src | | |--- doc | | +--- Makefile | | | +--- svn-push | +--- svnserve-thread-pools | +---+- tags | +--- 0.10 | +--+- 0.10.1 | | |--- src | | |--- doc | | +--- Makefile | | | +--- 0.20 | +--- 0.30 | +--- 0.50 | +--- 1.01 | +---+- trunk |--- src |--- doc +--- Makefile }}} === ¿ë¾î¼³¸í === * ÀúÀå¼Ò * ¸®Æ÷ÁöÅ丮(Repository)¶ó°íµµ ÇÏ¸ç ¸ðµç ÇÁ·ÎÁ§Æ®ÀÇ ÇÁ·Î±×·¥ ¼Ò½ºµéÀº ÀÌ ÀúÀå¼Ò ¾È¿¡ ÀúÀåÀÌ µË´Ï´Ù. ±×¸®°í ¼Ò½º»Ó¸¸ÀÌ ¾Æ´Ï¶ó ¼Ò½ºÀÇ º¯°æ »çÇ×µµ ¸ðµÎ ÀúÀåµË´Ï´Ù. ³×Æ®¿öÅ©¸¦ ÅëÇؼ­ ¿©·¯ »ç¶÷ÀÌ Á¢±Ù ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹öÀü °ü¸® ½Ã½ºÅÛ ¸¶´Ù °¢°¢ ´Ù¸¥ ÆÄÀÏ ½Ã½ºÅÛÀ» °¡Áö°í ÀÖÀ¸¸ç SubversionÀº Berkeley DB¸¦ »ç¿ëÇÕ´Ï´Ù. ÇÑ ÇÁ·ÎÁ§Æ® ¸¶´Ù ÇϳªÀÇ ÀúÀå¼Ò°¡ ÇÊ¿äÇÕ´Ï´Ù. * ¸®ºñÀü(Revision) * ¼Ò½º ÆÄÀϵîÀ» ¼öÁ¤ÇÏ¿© Ä¿¹ÔÇÏ°Ô µÇ¸é ÀÏÁ¤ÇÑ ±ÔÄ¢¿¡ ÀÇÇØ ¼ýÀÚ°¡ Áõ°¡ ÇÕ´Ï´Ù. ÀúÀå¼Ò¿¡ ÀúÀåµÈ °¢°¢ÀÇ ÆÄÀÏ ¹öÀüÀ̶ó ÇÒ ¼ö ÀÖ½À´Ï´Ù. SubversionÀÇ °æ¿ì ÆÄÀϺ°·Î ¸®ºñÀüÀÌ ¸Å°ÜÁöÁö ¾Ê°í Çѹø Ä¿¹Ô ÇÑ °ÍÀ¸·Î Àüü ¸®ºñÀüÀÌ ¸Å°Ü Áý´Ï´Ù. ¸®ºñÀüÀ» º¸°í ÇÁ·ÎÁ§Æ® ÁøÇà »óȲÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. * branches * ³ª¹«ÁÙ±â(trunk)¿¡¼­ »¸¾îÁ® ³ª¿Â ³ª¹« °¡Áö¸¦ ¶æÇÕ´Ï´Ù. trunk µð·ºÅ丮¿¡¼­ ÇÁ·Î±×·¥À» °³¹ßÇÏ´Ù º¸¸é Å« ÇÁ·ÎÁ§Æ®¿¡¼­ ¶Ç ´Ù¸¥ ÀÛÀº ºÐ·ù·Î »©¼­ µû·Î °³¹ßÇØ¾ß ÇÒ °æ¿ì°¡ »ý±é´Ï´Ù. ÇÁ·ÎÁ§Æ®¾ÈÀÇ ÀÛÀº ÇÁ·ÎÁ§Æ®¶ó°í »ý°¢ÇÏ¸é µË´Ï´Ù. branches µð·ºÅ丮 ¾È¿¡ ¶Ç ´Ù¸¥ µð·ºÅ丮¸¦ µÎ¾î ±× ¾È¿¡¼­ °³¹ßÇÏ°Ô µË´Ï´Ù. * tags * tag´Â ²¿¸®Ç¥¶ó´Â ¶æÀ» °¡Áö°í ÀÖ½À´Ï´Ù. ÀÌ µð·ºÅ丮´Â ÇÁ·Î±×·¥À» °³¹ßÇϸ鼭 Á¤±âÀûÀ¸·Î ¸±¸®Á ÇÒ ¶§ 0.1, 0.2, 1.0 ÇÏ´Â ½ÄÀ¸·Î ¹öÀüÀ» ºÙ¿© ¹ßÇ¥ÇÏ°Ô µÇ´Âµ¥ ±×¶§±×¶§ ¹ßÇ¥ÇÑ ¼Ò½º¸¦ µû·Î ÀúÀåÇÏ´Â °ø°£ÀÔ´Ï´Ù. À§¿¡¼­ º¸¸é tags µð·ºÅ丮 ¾Æ·¡¿¡´Â ¹öÀü¸íÀ¸·Î µð·ºÅ丮°¡ ¸¸µé¾îÁ® ÀÖ½À´Ï´Ù. * trunk * ´Ü¾î ÀÚüÀÇ ¶æÀº º»Ã¼ ºÎºÐ, ³ª¹«ÁÙ±â, ¸öÅë µî ÀÔ´Ï´Ù. ÇÁ·ÎÁ§Æ®¿¡¼­ °¡Àå Áß½ÉÀÌ µÇ´Â µð·ºÅ丮ÀÔ´Ï´Ù. ¸ðµç ÇÁ·Î±×·¥ °³¹ß ÀÛ¾÷Àº trunk µð·ºÅ丮¿¡¼­ ÀÌ·ç¾îÁý´Ï´Ù. ±×·¡¼­ À§ÀÇ ±¸Á¶¿¡¼­ trunk µð·ºÅ丮 ¾Æ·¡¿¡´Â ¹Ù·Î ¼Ò½ºµéÀÇ ÆÄÀÏ°ú µð·ºÅ丮°¡ µé¾î°¡°Ô µË´Ï´Ù. === Tortoise SVN ¿À¹ö·¹ÀÌ ¾ÆÀÌÄÜ ¼³¸í === attachment:subversion_icon.png === Subversion ¼³Ä¡ === * º» ¼³Ä¡¹®¼­´Â http://www.pyrasis.com/main/SubversionServerForWindows À» ÂüÁ¶ÇÏ¿© ÀÛ¼ºÇÏ¿´½À´Ï´Ù. * Subversion Server´Â Á¢±Ù¼ºÀÌ °¡Àå ÁÁÀº Apache ¼­¹ö¹æ½ÄÀ» ÅÃÇÏ¿´°í Apache moduelÀ» ÅëÇØ ¼­ºñ½º * ¼­ºê¹öÁ¯ÀÇ berkly db¿Í fssÀÇ Â÷ÀÌÁ¡À» ¼³¸í * ¼­ºê¹öÁ¯ changeset ºñ±³¸¦ winmerge·Î ¼³¸í ==== ´Ù¿î·Îµå ¸ñ·Ï ==== * [http://httpd.apache.org/ Apache HTTP Server 2.0.63] - [http://mirror.apache-kr.org/httpd/binaries/win32/apache_2.0.63-win32-x86-no_ssl.msi ´Ù¿î·Îµå] * [http://subversion.tigris.org/ Subversion 1.4.6 - Windows 32bit] - [http://subversion.tigris.org/files/documents/15/41686/svn-1.4.6-setup.exe ´Ù¿î·Îµå] ==== ¼³Ä¡ ==== 1. Apache HTTP Server 2.0.63 ÇÁ·Î±×·¥ ¼³Ä¡ 1. Subversion 1.4.6 ÇÁ·Î±×·¥ ¼³Ä¡ * ¾ÆÆÄÄ¡¸¦ ¸ÕÀú ¼³Ä¡ÇÑ °æ¿ì Subversion ÀνºÅç·¯°¡ ¾ÆÆÄÄ¡¸¦ ÀνÄÇؼ­ ÀÚµ¿À¸·Î httpd.conf ¼³Á¤ÆÄÀÏ º¯°æ attachment:subversion_install_with_apache_modules.png * httpd.conf ¼³Á¤ÆÄÀÏ º¯°æ³»¿ª * !LoadModule dav_module modules/mod_dav.so ÁÖ¼®ÇØÁ¦ * !LoadModule dav_svn_module "C:/Program Files/Subversion/bin/mod_dav_svn.so" Ãß°¡ * !LoadModule authz_svn_module "C:/Program Files/Subversion/bin/mod_authz_svn.so" Ãß°¡ ==== ÀúÀå¼Ò ¼³Á¤ ¹× Apache ¼³Á¤ ==== * ÀúÀå¼Ò »ý¼º {{{ mkdir c:\repos\svn cd c:\repos\svn svnadmin create sample }}} * svnadminÀ¸·Î sampleÀ̶ó´Â ÀúÀå¼Ò¸¦ ¸¸µé¸é c:\repos\svn ¾Æ·¡ sampleÀ̶ó´Â µð·ºÅ丮°¡ »ý±é´Ï´Ù. ÀÌ µð·ºÅ丮 ¾È¿¡´Â SubversionÀÌ Á¦¾îÇÏ´Â ÆÄÀϵéÀÌ µé¾îÀÖ½À´Ï´Ù. ÀúÀå¼Ò »ý¼º ½Ã ¾Æ¹«·± ¿É¼ÇÀ» ÁÖÁö ¾ÊÀ¸¸é ÆÄÀϽýºÅÛÀ¸·Î ÀúÀå¼Ò°¡ ¸¸µé¾î Áý´Ï´Ù. sample ÀúÀå¼ÒÀÇ Àüü °æ·Î´Â c:\repos\svn\sampleÀÌ µË´Ï´Ù. * Apache ¼³Á¤ 1. ÆÄÀÏÆíÁý±â·Î C:\Program Files\Apache Group\Apache2\modules\httpd.conf ÆÄÀÏ ¸Ç µÞºÎºÐ¿¡ ¾Æ·¡¿Í °°ÀÌ Ãß°¡ {{{ DAV svn SVNPath C:/repos/svn/sample }}} 1. ¼³Á¤À» ¸¶Ä£ ÈÄ ¾ÆÆÄÄ¡ ¼­¹ö Àç½ÃÀÛ. http://localhost/svn/sample/ À¸·Î Á¢¼Ó ÈÄ ¾Æ·¡ÀÇ ¸Þ½ÃÁö È®ÀεǸé Apache¿Í Subversion 1Â÷ ¿¬µ¿ ¿Ï·á {{{ Revision 0: / Powered by Subversion version 1.4.6 (r28521). }}} * Apache¿¡¼­ ID·Î »ç¿ëÀÚ ÀÎÁõ * ÀÌÁ¦ ID¸¦ ÅëÇØ ÀÎÁõµÈ »ç¿ëÀÚ¸¸ ¼Ò½º¸¦ üũ¾Æ¿ôÇÏ°í Ä¿¹Ô ÇÒ ¼ö ÀÖµµ·Ï ¼³Á¤ ÇÏ°Ú½À´Ï´Ù. * ¾ÆÆÄÄ¡¿¡ »ç¿ëÇÒ Æнº¿öµå ÆÄÀÏÀ» ¸¸µì´Ï´Ù. "htpasswd -c Æнº¿öµåÆÄÀÏ¸í »ç¿ëÀÚID" {{{ cd C:\Program Files\Apache Group\Apache2\bin htpasswd -c ..\conf\passwd sampleuser }}} "# htpasswd -c"´Â Æнº¿öµå ÆÄÀÏÀ» óÀ½ ¸¸µé ¶§ÀÇ ¿É¼ÇÀÌ°í »ç¿ëÀÚ¸¦ Ãß°¡ÇÏ°í ½ÍÀ» ¶§¿¡´Â "# htpasswd Æнº¿öµåÆÄÀÏ¸í »ç¿ëÀÚID" ·Î ÇØÁÖ¸é µË´Ï´Ù. * ¹æ±Ý ¼öÁ¤Çß´ø ÆÄÀÏÆíÁý±â·Î httpd.conf ÆÄÀÏÀÇ ¸Ç ¸¶Áö¸· ºÎºÐ¿¡ Ãß°¡ÇÑ ºÎºÐÀ» ´Ù½Ã ¼³Á¤ ÇÕ´Ï´Ù. {{{ DAV svn SVNPath C:/repos/svn/sample AuthType Basic AuthName "Subversion Repository" AuthUserFile "C:/Program Files/Apache Group/Apache2/conf/passwd" Require valid-user }}} 4ÁÙÀÌ Ãß°¡ µÇ¾ú½À´Ï´Ù. !AuthType BasicÀº Apache ±âº» Æнº¿öµå ÀÎÁõÀÔ´Ï´Ù. !AuthNameÀº Æнº¿öµå°¡ °É¸° À¥ÆäÀÌÁö¿¡ ¶ß´Â ·Î±×ÀÎâ¿¡ ³ª¿Ã ¹®ÀåÀÔ´Ï´Ù. !AuthUserFileÀº ¹æ±Ý Àü ¸¸µé¾ú´ø ¾ÆÆÄÄ¡ Æнº¿öµå ÆÄÀÏÀÔ´Ï´Ù. Àý´ë°æ·Î·Î Àû¾îÁÖ¾î¾ß ÇÕ´Ï´Ù. Require valid-user´Â ÀÎÁõµÈ »ç¿ëÀÚ¸¸ º¼ ¼ö ÀÖ°Ô ÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. * ¼³Á¤À» ¸¶Ä£ ÈÄ ¾ÆÆÄÄ¡ ¼­¹ö Àç½ÃÀÛ. http://localhost/svn/sample/ À¸·Î Á¢¼Ó ÈÄ »ç¿ëÀÚ ÀÎÁõ °úÁ¤ È®ÀεǸé Apache¿Í Subversion 2Â÷ ¿¬µ¿ ¿Ï·á * À͸í»ç¿ëÀÚ(Anonymous)¿¡ ´ëÇÑ Read ±ÇÇѺο© ¼³Á¤ * À¥ ºê¶ó¿ìÀú·Î ÀúÀå¼Ò¸¦ º¸´Â °Í°ú üũ¾Æ¿ôÀº ¾Æ¹«¿¡°Ô³ª(Anonymous) ÇÒ ¼ö ÀÖ°Ô ÇÏ°í Ä¿¹ÔÀº ÁöÁ¤µÈ »ç¿ëÀÚ¸¸ ÇÒ ¼ö ÀÖµµ·Ï ÇÏ·Á¸é httpd.conf¿¡¼­ ¼³Á¤ÇÑ ºÎºÐÀ» ¾Æ·¡¿Í °°ÀÌ ¹Ù²Ù¾î ÁÖ¸é µË´Ï´Ù. {{{ DAV svn SVNPath C:/repos/svn/sample AuthType Basic AuthName "Subversion Repository" AuthUserFile "C:/Program Files/Apache Group/Apache2/conf/passwd" Require valid-user }}} ÀÌ·¸°Ô Çϸé ÀúÀå¼Ò¸¦ º¸°Å³ª üũ¾Æ¿ôÀ» ÇÒ ¶§´Â ID¿Í Æнº¿öµå¸¦ ¹¯Áö ¾Ê°í Ä¿¹ÔÀ̳ª µð·ºÅ丮. ÆÄÀϺ¹»ç µîÀÇ ÀúÀå¼Ò¸¦ º¯°æÇÏ´Â ÀÛ¾÷À» ÇÒ ¶§¿¡´Â ID¿Í Æнº¿öµå¸¦ ¹°¾îº¸°Ô µË´Ï´Ù. ==== ÀúÀå¼Ò ±âº» µð·ºÅ丮 ±¸¼º ==== * ±âº» ÀúÀå¼Ò ±¸Á¶ {{{ -- c:\repos\svn\sample +--+---+- branches +---+- tags +---+- trunk }}} * À§ ±¸Á¶´ë·Î svn ¸í·É¾î¸¦ ÅëÇØ ÀúÀå¼Ò¿¡ µð·ºÅ丮 »ý¼º {{{ svn mkdir http://localhost/svn/sample/branches -m "Initial branches" --username <»ç¿ëÀÚ¾ÆÀ̵ð> --password <Æнº¿öµå> svn mkdir http://localhost/svn/sample/tags -m "Initial tags" --username <»ç¿ëÀÚ¾ÆÀ̵ð> --password <Æнº¿öµå> svn mkdir http://localhost/svn/sample/trunk -m "Initial trunk" --username <»ç¿ëÀÚ¾ÆÀ̵ð> --password <Æнº¿öµå> }}} * »ý¼º °á°ú È®ÀÎ {{{ Revision 3: / * branches/ * tags/ * trunk/ Powered by Subversion version 1.4.6 (r28521). }}} === Subversion ±âº» ¸í·É¾î === ==== Import ==== ¸Ç óÀ½ ÇÁ·ÎÁ§Æ®¸¦ ½ÃÀÛÇÒ ¶§ ÀúÀå¼Ò¿¡ ¼Ò½ºµéÀ» ³Ö¾î¾ß ÇÕ´Ï´Ù. ÀÌ·² ¶§ ÇÏ´Â °ÍÀÌ import ÀÛ¾÷ÀÔ´Ï´Ù. sampledir À̶ó´Â µð·ºÅ丮¸¦ ¸¸µç µÚ¿¡ ±× ¾Æ·¡ ´ÙÀ½°ú °°Àº °£´ÜÇÑ ¼Ò½º¸¦ ÀÛ¼ºÇØ º¸½Ê½Ã¿À. {{{ C:\Temp>mkdir sampledir C:\Temp>cd sampledir C:\Temp\sampledir>edit sample.c }}} {{{ #include int main() { printf("Sample Program Version 0.1\n"); return 0; } }}} ÀÌ ¼Ò½º¸¦ ÀúÀå¼ÒÀÇ trunk µð·ºÅ丮¿¡ import ÇÏ°Ú½À´Ï´Ù. ¾Æ·¡ sampledirÀº µð·ºÅ丮ÀÔ´Ï´Ù. ÆÄÀÏÀ» ÀûÀ¸¸é importµÇÁö ¾Ê½À´Ï´Ù. ²À µð·ºÅ丮¸¦ ¸¸µé°í ±× µð·ºÅ丮¸¦ Àû¾î ÁֽʽÿÀ. ÀúÀå¼ÒÀÇ trunk µð·ºÅ丮¿¡´Â sampledir µð·ºÅ丮¾ÈÀÇ sample.c ÆÄÀϸ¸ ¿Ã¶ó°¡°Ô µÇ°í sampledirÀº ¿Ã¶ó°¡Áö ¾Ê½À´Ï´Ù. sampledir ¾Æ·¡ µð·ºÅ丮¸¦ ¸¸µé¾ú´Ù¸é ±× µð·ºÅ丮´Â ÀúÀå¼ÒÀÇ trunk µð·ºÅ丮 ¾Æ·¡¿¡ ¿Ã¶ó°¡°Ô µË´Ï´Ù. {{{ C:\Temp\sampledir>cd .. C:\Temp>svn import sampledir http://localhost/svn/sample/trunk -m "sample.c import" --username <»ç¿ëÀÚ¾ÆÀ̵ð> --password <Æнº¿öµå> Ãß°¡ sampledir\sample.c Ä¿¹ÔµÈ ¸®ºñÀü 4. }}} ÀÌÁ¦ import°¡ Á¦´ë·Î µÇ¾ú´ÂÁö È®ÀÎÇØ º¾½Ã´Ù. list ¸í·ÉÀ» ÀÌ¿ëÇØ trunk µð·ºÅ丮¿¡ ¹«¾ùÀÌ ÀÖ³ª º¸°Ú½À´Ï´Ù. {{{ C:\Temp>svn list http://localhost/svn/sample/trunk sample.c }}} ==== Checkout ==== ÀÌÁ¦ ºÎÅÍ SubversionÀ» ÀÌ¿ëÇؼ­ ÇÁ·Î±×·¥ ¼Ò½º¸¦ °ü¸® ÇÒ ¼ö ÀÖ½À´Ï´Ù. checkoutÀ» Çؼ­ ¾îµð¼­µç ¼Ò½º¸¦ ¹Þ¾Æ º¼ ¼ö ÀÖ½À´Ï´Ù. ¹æ±Ý import¸¦ ÇϱâÀ§ÇØ ¸¸µé¾ú´ø sampledirÀº Áö¿öµµ µË´Ï´Ù. svn checkoutÀº svn co·Î ÁÙÀÏ ¼ö ÀÖ½À´Ï´Ù. "svn checkout ÀúÀå¼ÒÁÖ¼Ò ·ÎÄõð·ºÅ丮" ÀÇ Çü½Ä ÀÔ´Ï´Ù. {{{ C:\Temp>svn checkout http://localhost/svn/sample/trunk sample A sample\sample.c üũ¾Æ¿ôµÈ ¸®ºñÀü 4. }}} checkoutÀ» ÇÑ µð·ºÅ丮 ¾È¿¡´Â .svn À̶ó´Â µð·ºÅ丮°¡ ÀÖ½À´Ï´Ù. ÀÌ µð·ºÅ丮´Â Subversion ÀúÀå¼Ò Á¤º¸°¡ µé¾î Àֱ⠶§¹®¿¡ Áö¿ì¸é ¾È µË´Ï´Ù. ==== Blame ==== BlameÀº ÇÑ ¼Ò½ºÆÄÀÏÀ» ´ë»óÀ¸·Î °¢ ¸®ºñÀü ´ëÇؼ­ ¾î¶² ÇàÀ» ´©°¡ ¼öÁ¤Çß´ÂÁö ¾Ë¾Æº¸±â À§ÇÑ ¸í·ÉÀÔ´Ï´Ù. ¸®ºñÀü, Ä¿¹ÔÇÑ »ç¿ëÀÚÀÇ ID, ¼Ò½º ¼ø¼­ÀÔ´Ï´Ù. {{{ sample# svn blame sample.c 4 sampleuser #include 4 sampleuser 4 sampleuser int main() 4 sampleuser { 5 sampleuser printf("Sample Program Version 0.2\n"); 5 sampleuser printf("Hello Subversion\n"); 4 sampleuser 4 sampleuser return 0; 4 sampleuser } 4 sampleuser }}} ¿©±â¼­´Â Ä¿¹ÔÇÑ »ç¿ëÀÚ°¡ ÇÑ¸í ¹Û¿¡ ¾øÀ¸¹Ç·Î ÀüºÎ ¶È°°ÀÌ ³ª¿É´Ï´Ù. ÇÑ ¿¹·Î ¿©·¯»ç¶÷ÀÌ Ä¿¹ÔÇßÀ» °æ¿ì ¾Æ·¡Ã³·³ ³ª¿É´Ï´Ù. {{{ 4 sampleuser #include 4 sampleuser 4 sampleuser int main() 4 sampleuser { 7 epifanes printf("Sample Program Version 0.3\n"); 6 pyrasis printf("Hello Subversion\n"); 4 sampleuser 4 sampleuser return 0; 4 sampleuser } 4 sampleuser }}} ƯÁ¤ ¸®ºñÀü¸¸ ÁöÁ¤Çؼ­ º¼ ¼öµµ ÀÖ½À´Ï´Ù. ¸®ºñÀüÀ» ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ÇöÀç ¸®ºñÀüÀ» ´ë»óÀ¸·Î ÇÕ´Ï´Ù. sample# svn blame -r 4 sample.c == TracÀ» ÀÌ¿ëÇÑ À̽´°ü¸® == * Trac ¼³Ä¡ ¹× Subversion°úÀÇ ÅëÇÕ === TracÀ» ÀÌ¿ëÇÑ °³¹ß»ç·Ê === * [http://dev.textcube.org/ ÅؽºÆ®Å¥ºê °³¹ß ¼¾ÅÍ] * [http://trac.playxp.com/ Play XP °³¹ß ¼¾ÅÍ] * [http://dev.rubyonrails.org dev.rubyonrails.org] === Trac ¼³Ä¡ === ==== ´Ù¿î·Îµå ¸ñ·Ï ==== 1. Python ||¼³¸í||´Ù¿î·Îµå||ȨÆäÀÌÁö|| ||python-2.4.4||[http://www.python.org/ftp/python/2.4.4/python-2.4.4.msi ´Ù¿î·Îµå]||http://www.python.org/|| ||Python extensions for Windows||[http://jaist.dl.sourceforge.net/sourceforge/pywin32/pywin32-210.win32-py2.4.exe ´Ù¿î·Îµå]||http://sourceforge.net/projects/pywin32/|| ||mod_python(apache module)||[http://ftp.kaist.ac.kr/pub/Apache/httpd/modpython/win/3.3.1/mod_python-3.3.1.win32-py2.4-Apache2.0.exe ´Ù¿î·Îµå]||http://www.modpython.org/|| ||Subversion Python Bindings||[http://subversion.tigris.org/files/documents/15/38214/svn-python-1.4.4.win32-py2.4.exe ´Ù¿î·Îµå]||http://subversion.tigris.org/|| 2. Trac ||¼³¸í||´Ù¿î·Îµå||ȨÆäÀÌÁö|| ||trac-0.10.4-ko||[http://kldp.net/frs/download.php/3862/trac-0.10.4-ko.tar.gz ´Ù¿î·Îµå]||http://kldp.net/projects/trac-ko/|| ||Docutils||[http://prdownloads.sourceforge.net/docutils/docutils-0.4.tar.gz?download ´Ù¿î·Îµå]||http://docutils.sourceforge.net/|| ||pysqlite||[http://initd.org/pub/software/pysqlite/releases/2.3/2.3.5/pysqlite-2.3.5.win32-py2.4.exe ´Ù¿î·Îµå]||http://initd.org/tracker/pysqlite|| ||Clearsilver||[http://www.clearsilver.net/downloads/win32/clearsilver-0.9.14.win32-py2.4.exe ´Ù¿î·Îµå]||http://www.clearsilver.net/|| ||!SilverCity||[http://downloads.sourceforge.net/silvercity/SilverCity-0.9.7.win32-py2.4.exe?modtime=1164245766&big_mirror=0 ´Ù¿î·Îµå]||http://silvercity.sourceforge.net/|| ||diffutils||[http://jaist.dl.sourceforge.net/sourceforge/gnuwin32/diffutils-2.8.7-1.exe ´Ù¿î·Îµå]||http://sourceforge.net/projects/gnuwin32|| ||enscript||[http://jaist.dl.sourceforge.net/sourceforge/gnuwin32/enscript-1.6.3-9-bin.exe ´Ù¿î·Îµå]||http://sourceforge.net/projects/gnuwin32|| ||sed||[http://jaist.dl.sourceforge.net/sourceforge/gnuwin32/sed-4.1.4.exe ´Ù¿î·Îµå]||http://sourceforge.net/projects/gnuwin32|| ==== Trac ¼³Ä¡ ==== * Python 1. Python 2.4.4 1. Python °æ·Î ȯ°æº¯¼ö·Î µî·Ï attachment:python_environment_setting.png 1. Python extensions for Windows 1. mod_python(apache module) 1. Subversion Python Bindings * Trac 1. Trac ¼³Ä¡ 1. ¾ÐÃàÇ®°í python setup.py install 1. !DocUtils ¼³Ä¡ 1. ¾ÐÃàÇ®°í python setup.py install 1. pysqlite ¼³Ä¡ 1. Clearsilver ¼³Ä¡ 1. !SilverCity ¼³Ä¡ ==== Trac Plugin ¼³Ä¡ ==== * [http://www.ncube.net/entry/À©µµ¿ì¿¡¼­-ÇÁ·ÎÁ§Æ®-°ü¸®Åø-Trac-¼³Ä¡¿Í-±âŸ-Plugin-¼³Ä¡ http://www.ncube.net/entry/À©µµ¿ì¿¡¼­-ÇÁ·ÎÁ§Æ®-°ü¸®Åø-Trac-¼³Ä¡¿Í-±âŸ-Plugin-¼³Ä¡] * °³¿ä * Trac pluginÀº egg¶ó´Â python ¹èÆ÷ÆÐÅ°Áö¸¦ ÅëÇØ ¼³Ä¡¸¦ ÇØÁÖ¾î¾ß ÇÑ´Ù. * Trac plugin Á¦ÀÛÀÚµéÀÌ eggÆÄÀÏÀ» Á÷Á¢ python ¹öÁ¯º°·Î Æ÷ÆÃÇØÁÖ´Â °æ¿ìµµ ÀÖÁö¸¸ ÀÌ´Â ÈçÄ¡ ¾ÊÀº°æ¿ì¶ó ±×³É source¸¦ eggÆÄÀÏ·Î ¸¸µé¾î¼­ ó¸®Çϵµ·Ï ÇÏ´Â ½À°üÀ» ¸¸µå´Â°Ô ÆíÇÏ´Ù. * Trac plugin ÆÄÀÏÀÇ ¼Ò½º¸¦ º¸¸é setup.pyÀÌ ÀÖÀ¸¸ç python setup.py bdist_egg ¸í·ÉÀ» ¼öÇàÇؼ­ eggÆÄÀÏ·Î ¸¸µé¸é µÇ°í Trac Admin - Plugins ÆäÀÌÁö¿¡¼­ Install Plugin ó¸®ÇØÁÖ¸é µÈ´Ù. * Trac plugin ¼³Ä¡ÇÏ°í ¾ÆÆÄÄ¡ ¼­¹ö¸¦ Àç½ÃÀÛÇϸé Àû¿ëÀÌ µÇ°í Ưº°ÇÑ °æ¿ì´Â trac.ini ¼³Á¤ÆÄÀÏÀ» ¼öÁ¤ÇÏ¿© ¼¼¼¼ÇÑ ¿É¼ÇÀ» ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. * ƯÁ¤ Trac pluginÀ» python library·Î ¼³Ä¡¸¦ ÇÏ·Á°í Çϴ°æ¿ì easy_install ¸í·ÉÀ» ÅëÇØ ¼³Ä¡ÇÒ ¼ö ÀÖ´Ù. * easy_install * [http://peak.telecommunity.com/DevCenter/setuptools#installing-setuptools homepage] * [attachment:ez_setup.py?format=raw ez_setup.py ´Ù¿î·Îµå] * [http://peak.telecommunity.com/dist/ez_setup.py ¿øº»] {{{ c:\python24\python.exe ez_setup.py setuptools==dev }}} * easy_install ¼³Ä¡¿Ï·á È®ÀÎÀº python24/scripts/easy_install.exe ÆÄÀÏ È®ÀÎ * Plugin * ''c:\python24\scripts\easy_install.exeÀ» ÅëÇØ ¼Ò½º°æ·Î¸¦ ÁöÁ¤ÇØÁÖ¸é ÀÚµ¿À¸·Î ¼³Ä¡µÊ'' * [http://trac.edgewall.org/wiki/PluginList Trac Plugin List] * Web Admin 1. [http://trac.edgewall.org/wiki/WebAdmin homepage] 1. ¼³Ä¡ {{{ c:\python24\scripts\easy_install.exe http://svn.edgewall.com/repos/trac/sandbox/webadmin }}} 1. ¼³Á¤(trac.ini) {{{ [components] webadmin.* = enabled }}} * Account Manager 1. [http://trac-hacks.org/wiki/AccountManagerPlugin homepage] 1. ¼³Ä¡ {{{ c:\python24\scripts\easy_install.exe http://trac-hacks.org/svn/accountmanagerplugin/0.10 }}} 1. ¼³Á¤(trac.ini) {{{ [components] acct_mgr.admin.accountmanageradminpage = enabled acct_mgr.api.accountmanager = enabled acct_mgr.db.sessionstore = enabled acct_mgr.htfile.abstractpasswordfilestore = enabled acct_mgr.htfile.htdigeststore = enabled acct_mgr.htfile.htpasswdstore = enabled acct_mgr.http.httpauthstore = enabled acct_mgr.pwhash.htdigesthashmethod = enabled acct_mgr.pwhash.htpasswdhashmethod = enabled acct_mgr.web_ui.accountmodule = enabled trac.web.auth.LoginModule = disabled acct_mgr.web_ui.LoginModule = enabled acct_mgr.web_ui.RegistrationModule = disabled }}} * ¼³Á¤Âü°í(trac.ini) {{{ acct_mgr.web_ui.registrationmodule = disabled }}} * À§ÀÇ ¿É¼ÇÀº È°¼ºÈ­ µÇ¸é anonymous »ç¿ëÀÚ°¡ Á÷Á¢ trac ÆäÀÌÁö¿¡¼­ register°¡ °¡´ÉÇÏ´Ù. ÀÌ ¿É¼ÇÀº ÇÁ·ÎÁ§Æ® Ãʱ⠽űԻç¿ëÀÚ¸¦ µî·ÏÇÒ¶§ À¯¿ëÇÏ¸ç »ç¿ëÀÚ µî·ÏÀÌ ¸¶°¨µÇ¸é ¹Ýµå½Ã disabled Çسõ¾Æ¾ß ¹«ºÐº°ÇÑ »ç¿ëÀÚ µî·ÏÀ» ¸·À»¼ö ÀÖÀ»°Í ==== Trac ÇÁ·ÎÁ§Æ® »ý¼º ==== * ÀÛ¾÷ Àü * subversion ÀúÀå¼Ò ¹é¾÷ {{{ subversion Æú´õ ¹é¾÷ or bulk ¶ß´Â °úÁ¤ ±â¼ú }}} * ÇÁ·ÎÁ§Æ® »ý¼º * Trac ÇÁ·ÎÁ§Æ® Æú´õ »ý¼º('''''Æú´õ »ý¼ºÇÏÁö ¾Ê°í ÁøÇàÇÒ °æ¿ì ¿À·ù¹ß»ý''''') {{{ mkdir D:/repos/trac/test/ }}} * trac-adminÀ» ÅëÇÑ ÇÁ·ÎÁ§Æ® »ý¼º {{{ c:\Python24\Scripts>python trac-admin D:/repos/trac/test/trac.db Trac [D:\repos\trac\test\trac.db]> initenv ¿£ÅÍ project Name [My Project]> test ¿£ÅÍ Database connection string [sqlite:db/trac.db]> ¿£ÅÍ Repository type [svn]> ¿£ÅÍ Path to repository [/path/to/repos]> D:/repos/svn/test ¿£ÅÍ Templates directory [C:\Python23\share\trac\templates]> ¿£ÅÍ Creating and Initializing Project -> ÇÁ·ÎÁ§Æ® »ý¼º ½ÃÀÛ }}} * »ç¿ëÀÚ ±ÇÇѼ³Á¤ * [http://trac.edgewall.org/wiki/TracPermissions ±ÇÇѼ³Á¤ ¸Þ´º¾ó] * »ç¿ëÀÚ ±ÇÇѼ³Á¤Àº trac-admin »óÅ¿¡¼­ ¾Æ·¡ ¸í·É ¼öÇà * anonymous ±ÇÇÑ Ãà¼Ò ó¸® {{{ permission remove anonymous TICKET_CREATE permission remove anonymous TICKET_MODIFY permission remove anonymous WIKI_CREATE permission remove anonymous WIKI_MODIFY }}} * administrator user °ü¸®ÀÚ ±ÇÇÑ ºÎ¿©ÇÏ¿© Ãß°¡ {{{ permission add administrator TRAC_ADMIN }}} * htaccess ÆÄÀÏ »ý¼º * »ç¿ëÀÚ °ü¸® ÆÄÀÏÀÎ d:/repos/trac/test/.htaccess¸¦ [http://httpd.apache.org/docs/2.0/programs/htpasswd.html htpasswd]¸¦ ÅëÇØ administrator Çϳª¸¸ »ý¼º. ¾ÏÈ£´Â "1234"·Î »ý¼º ==== Trac ¼­ºñ½º ¾ÆÆÄÄ¡ À¥¼­¹ö¿¡ µî·Ï ==== 1. trac cgi º¹»ç {{{ copy c:\python24\share\trac\cgi-bin\trac.cgi "c:\Program Files\Apache Group\Apache2\cgi-bin" }}} 1. httpd.conf ÆÄÀÏ ¼³Á¤ {{{ # module Ãß°¡ LoadModule python_module modules/mod_python.so # httpd.conf ¸Ç ÇÏ´Ü¿¡ Trac ¼­ºñ½º ¼³Á¤ Ãß°¡ Alias /trac "C:/Python24/share/trac/htdocs" SetHandler mod_python PythonHandler trac.web.modpython_frontend PythonOption TracUriRoot / PythonOption TracEnv "D:/repos/trac/test/trac.db" PythonOption TracLocale "English_KOREA" Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all }}} ==== Trac ȯ°æ¼³Á¤ ==== * trac.ini´Â Trac ȯ°æ¼³Á¤ ¼³Á¤ÆÄÀÏÀ̸ç d:/repos/trac/test/trac.db/conf/ µð·ºÅ丮¿¡ À§Ä¡ * Trac plugin¼³Á¤Àº ¿Ï·áµÈ »óÅÂ¶ó °¡Á¤ * ¾Æ·¡ ¼³Á¤³»¿ªÀº ÇöÀç ¿î¿µÁßÀÎ »ùÇà trac.iniÆÄÀÏÀÓ {{{ # -*- coding: utf-8 -*- [account-manager] password_file = d:/repos/trac/test/.htaccess password_format = htpasswd password_store = HtPasswdStore [attachment] max_size = 1048576 render_unsafe_content = false [browser] downloadable_paths = /trunk, /branches/*, /tags/* hide_properties = svk:merge render_unsafe_content = false [changeset] max_diff_bytes = 10000000 max_diff_files = 0 wiki_format_messages = true [components] acct_mgr.admin.accountmanageradminpage = enabled acct_mgr.api.accountmanager = enabled acct_mgr.db.sessionstore = enabled acct_mgr.htfile.abstractpasswordfilestore = enabled acct_mgr.htfile.htdigeststore = enabled acct_mgr.htfile.htpasswdstore = enabled acct_mgr.http.httpauthstore = enabled acct_mgr.pwhash.htdigesthashmethod = enabled acct_mgr.pwhash.htpasswdhashmethod = enabled acct_mgr.web_ui.accountmodule = enabled acct_mgr.web_ui.loginmodule = enabled acct_mgr.web_ui.registrationmodule = enabled addcomment.macro.* = enabled macropost.web_ui.* = enabled trac.web.auth.loginmodule = disabled trac.wiki.web_ui.wikimodule = disabled tracnav.tracnav.* = enabled tractags.* = enabled webadmin.* = enabled [header_logo] alt = height = -1 link = src = width = -1 [logging] log_file = trac.log log_level = DEBUG log_type = none [mimeviewer] enscript_modes = text/x-dylan:dylan:4 enscript_path = enscript max_preview_size = 262144 mime_map = text/x-dylan:dylan,text/x-idl:ice,text/x-ada:ads:adb php_path = php silvercity_modes = tab_width = 8 [notification] always_notify_owner = false always_notify_reporter = false always_notify_updater = true mime_encoding = base64 smtp_always_bcc = smtp_always_cc = smtp_default_domain = smtp_enabled = true smtp_from = smtp_password = smtp_port = 25 smtp_replyto = smtp_server = smtp_subject_prefix = __default__ smtp_user = administrator use_public_cc = false use_short_addr = false use_tls = false [project] descr = Test Project Management System - Trac footer = Visit the Trac open source project at
http://trac.edgewall.org/ icon = common/trac.ico name = Test Project Management System url = http://example.org/ [search] min_query_length = 3 [ticket] default_component = default_milestone = °Ë»ö·Î±× ±â´Éº£Å¸ default_priority = major default_type = defect default_version = restrict_owner = false [timeline] changeset_long_messages = false changeset_show_files = 0 default_daysback = 15 ticket_show_details = false [trac] authz_file = authz_module_name = base_url = check_auth_ip = true database = sqlite:db/trac.db default_charset = EUC-KR default_handler = TagsWikiModule htdocs_location = ignore_auth_case = false mainnav = wiki,timeline,roadmap,browser,tickets,newticket,search metanav = login,logout,settings,help,about permission_store = DefaultPermissionStore repository_dir = D:/repos/svn/test repository_type = svn timeout = 20 [wiki] ignore_missing_pages = false render_unsafe_content = false split_page_names = false }}} ==== ¸µÅ© ==== * °³³äžÀç * [http://gyuha.tistory.com/3 Trac project management ( issue tracking system )] * [http://openlook.org/blog/867 Trac°ú ÇÔ²²ÇÑ 2ÁÖ] * [http://ncrash.springnote.com/pages/360782/attachments/148876 CRMSºÐ¼® ¹× ÅëÇÕÀúÀå¼Ò °³¹ß Àû¿ë ¹æ¾È ¿¬±¸] * ¿ÜºÎ Trac ¿î¿µ»çÀÌÆ® * [http://www.uos.ac.kr/index.jsp ¼­¿ï½Ã¸³´ëÇб³] - [http://ai.uos.ac.kr/trac/ ¼­¿ï½Ã¸³´ëÇб³ ÀΰøÁö´É ¿¬±¸½Ç] * [http://tattertools.co.kr/ Å×ÅÍÅøÁî] - [http://dev.textcube.org/ ÅؽºÆ®Å¥ºê °³¹ß ¼¾ÅÍ ] * [http://www.rubyonrails.org/ Ruby on Rails] - [http://dev.rubyonrails.org/ Rails Trac] * [http://springide.org/blog/ Spring IDE] - [http://springide.org/project/wiki/SpringideGuide Spring IDE Guide - Trac] * Trac ¼³Ä¡ * [http://eahn.tistory.com/12 TRAC ÇÁ·ÎÁ§Æ®°ü¸® ½Ã½ºÅÛ ¼³Ä¡ for Windows] * enscript, sedµµ »ç¿ëÇÏ´ÂÁö üũÇغÁ¾ßÇÔ * [http://nb.inode.co.nz/articles/TracSvnApacheDev.html Apache VirtualHost ºÎºÐ ¼³¸íÀÌ ÀߵǾî ÀÖ´Â ¹®¼­] * [http://aslongas.pe.kr/tt/entry/Windows-XP%EC%97%90-Trac-Subversion-%EB%B0%8F-MoniWiki-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0 Windows XP¿¡ Trac, Subversion ¹× MoniWiki ¼³Ä¡Çϱâ] * [http://theeye.pe.kr/112 Áß¼Ò±Ô¸ð ÇÁ·ÎÁ§Æ® °³¹ß½Ã½ºÅÛ Trac] == ÃÖÁ¾¸ñÇ¥´Â Áö¼ÓÀûÀÎ ÅëÇÕ == === ÅëÇÕ ºôµå ¸Ó½Å === * ÅëÇÕ ºôµå ¸Ó½ÅÀº ¼ÒÇÁÆ®¿þ¾î¸¦ ºôµåÇÏ´Â °ÍÀ» ±× À¯ÀÏÇÑ Á¸Àç ¸ñÀûÀ¸·Î »ï´Â º°µµÀÇ ÄÄÇ»Å͸¦ ¸»ÇÕ´Ï´Ù. ÅëÇÕ ºôµå ÄÄÇ»ÅÍ¿¡¼­ CI ¼­¹ö°¡ µ¹¾Æ°¡°í, CI ¼­¹ö´Â ¹öÀü °ü¸® ÀúÀå¼Ò¸¦ Æú¸µÇÕ´Ï´Ù. === Áö¼ÓÀûÀÎ ÅëÇÕÀÌ ¿ä±¸ÇÏ´Â ÄÄÆ÷³ÍÆ® === * ¹öÀü °ü¸® ÀúÀå¼Ò·ÎÀÇ ¿¬°á * ºôµå ½ºÅ©¸³Æ® * ¸î Á¾·ùÀÇ Çǵå¹é ¸ÞÄ¿´ÏÁò(À̸ÞÀÏ °°Àº) * ¼Ò½º ÄÚµå º¯°æ ³»¿ªÀ» ÅëÇÕÇϱâ À§ÇÑ ÇÁ·Î¼¼½º(¼öÀÛ¾÷À¸·Î Çϵç, CI ¼­¹ö¸¦ È°¿ëÇϵç) === ÅëÇÕ ¸Ó½Å Çǵå¹é ÀåÄ¡ === * Çǵå¹é ÀåÄ¡ °áÁ¤ Àü ³Ê¹«³ª ¸¹Àº Á¤º¸´Â Çǵå¹éÀÇ È¿°ú¸¦ ÁÙÀÌ´Â "¼ÒÀ½"ÀÌ µÉ ¼ö Àִٴ°ÍÀ» ¿°µÎÇÏ°í °³¹ßȯ°æÀ» Àß °í·ÁÇØ ÀûÀýÈ÷ ¼±Åà || Çǵå¹é ÀåÄ¡ || ¼³¸í || image || || À̸ÞÀÏ || ºôµå »óŸ¦ ¶§¿¡ ¸ÂÃç Á¦°øÇÑ´Ù. || [http://www.javaranch.com/journal/200409/images/buildfailed_email.jpg http://tbn0.google.com/images?q=tbn:7x_1DJORQSTJpM:http://www.javaranch.com/journal/200409/images/buildfailed_email.jpg] || || RSS || ºôµå »óÅÂ¿Í °ü·ÃÇÑ °æ°í¸¦ RSS ¸®´õ±â·Î º¸³½´Ù. || [http://www-128.ibm.com/developerworks/java/library/j-ap11146/rss.jpg http://tbn0.google.com/images?q=tbn:sv4fWBQmY07bzM:http://www-128.ibm.com/developerworks/java/library/j-ap11146/rss.jpg] || || SMS || ºôµå »óÅ¿¡ ´ëÇØ ¼¿Æù¿¡ ÅؽºÆ® ¸Þ½ÃÁö¸¦ º¸³½´Ù. || [http://www-128.ibm.com/developerworks/java/library/j-ap11146/sms.jpg http://tbn0.google.com/images?q=tbn:slfljECrsjmkSM:http://www-128.ibm.com/developerworks/java/library/j-ap11146/sms.jpg] || || X10 || ½Ã°¢Àû ¹æ½ÄÀ¸·Î Çǵå¹éÀ» º¸³½´Ù. LAVA ·¥ÇÁ¿Í »¡°£ °æ°íµîÀÌ ´ëÇ¥ÀûÀÎ ¿¹ÀÌ´Ù || http://tbn0.google.com/images?q=tbn:K_CG7LadNqIsIM:http://www.ibm.com/developerworks/kr/library/j-ap11146/red-light.jpg || || Ambient Orb || ºôµå »óŸ¦ ¾Ë·ÁÁÖ´Â ¶Ç ´Ù¸¥ ½Ã°¢ÀûÀÎ ¹æ½ÄÀÌ´Ù. ƯÁ¤ Á¤º¸¿¡ µû¶ó Ä¿½ºÅ͸¶ÀÌ¡ µÉ ¼ö ÀÖ´Ù. || http://tbn0.google.com/images?q=tbn:QBkfpLfPkTp4SM:http://www.ibm.com/developerworks/java/library/j-ap11297/ambientorb.gif http://tbn0.google.com/images?q=tbn:8T4rHr49J5pChM:http://agileskunkworks.org/images/RedOrb.jpg || || ¸ð´ÏÅÍ || Windows ŽºÅ©¹Ù¿¡¼­ ºôµå »óŸ¦ ¾Ë·ÁÁØ´Ù. || [http://www.ibm.com/developerworks/kr/library/j-ap11146/cctray-success.jpg http://tbn0.google.com/images?q=tbn:8dOL9gErA5B5nM:http://www.ibm.com/developerworks/kr/library/j-ap11146/cctray-success.jpg] || * À§ÀÇ Ç׸ñµéÀº È¿°úÀûÀÎ CI ½Ã½ºÅÛÀÇ ÇÙ½ÉÀ̶ó ÇÏ°Ú½À´Ï´Ù. ¹öÀü °ü¸® ½Ã½ºÅÛ¿¡ º¯°æ ³»¿ªÀÌ µé¾î¿Ã ¶§¸¶´Ù ÀÚµ¿È­µÈ ºôµå°¡ ÀÛµ¿ÇÏ°í ÀÏ´Ü ¸¸µé¾î³õ°í ³ª¸é, CI ½Ã½ºÅÛ¿¡ ´Ù¸¥ ±â´ÉÀ» ³ÖÀ» ¼ö°¡ ÀÖ½À´Ï´Ù. * ±âº»ÀûÀÎ CI ½Ã½ºÅÛÀÌ ±¸ÃàµÈ ÈÄ Ãß°¡ÇÒ ¼ö ÀÖ´Â ±â´É * ¼Ò½ºÄÚµå ÄÄÆÄÀÏ * Áö¼ÓÀûÀÎ ¼Ò½º ÄÚµå ÄÄÆÄÀÏÀº CIÀÇ °¡Àå ±âº»ÀûÀÌ°í ÀϹÝÀûÀΠƯ¡ Áß ÇϳªÀ̸ç Áö¼ÓÀûÀÎ ¼Ò½º ÄÚµå ÄÄÆÄÀÏÀº ¾ÆÁÖ ÈçÇÏ°Ô ÇÏ´Â ÀÏÀ̶ó CI¿Í µ¿ÀǾî·Î Ãë±Þ¹Þ´Â Á¤µµ * µ¥ÀÌÅÍ º£À̽º ÅëÇÕ * Å×ÀÌÅͺ£À̽º ¼Ò½ºÄÚµå-µ¥ÀÌÅÍ Á¤ÀÇ ¾ð¾î(DDL) ½ºÅ©¸³Æ®, µ¥ÀÌÅÍ Á¶ÀÛ ¾ð¾î(DML) ½ºÅ©¸³Æ®, ÀúÀå ÇÁ·Î½ÃÀú, ºÐÇÒ µîµî ¿ª½Ã ´Ù¸¥ ¼Ò½º ÄÚµå¿Í ¶È°°ÀÌ Ãë±Þ * Å×½ºÆ® * ÀÚµ¿È­µÇ°í Áö¼ÓÀûÀÎ Å×½ºÆ®°¡ ±¸ºñµÇ¾î ÀÖÁö ¾ÊÀº CI´Â CI°¡ ¾Æ´Ï¶ó°í »ý°¢ÇÏ´Â »ç¶÷ÀÌ ¸¹Áö¸¸ Çʼö ±¸¼º¿ä¼Ò°¡ ¾Æ´Ïµí ±âº»ÀûÀÎ CIÀ» ±¸Ãà ÈÄ Àû¿ëÇØ ³ª°¡´Â ¸ñÇ¥Áß Çϳª·Î ¿°µÎÇØµÖ¾ß ÇÔ * ÀÚµ¿È­µÈ Å×½ºÆ®°¡ Á¸ÀçÇÒ ¶§ ¼ÒÇÁÆ®¿þ¾î¸¦ ¼öÁ¤ÇÏ´Â °³¹ßÀÚ´Â Á» ´õ È®½ÇÇÑ Àڽɰ¨À» °®°í °³¹ß¿¡ ÇÒ ¼ö ÀÖµµ·Ï µµ¿ÍÁÝ´Ï´Ù. * °Ë»ç * ÀÚµ¿È­µÈ ÄÚµå °Ë»ç¸¦ ÅëÇØ ¿©·¯ ÄÚµù ±ÔÄ¢À» °­Á¦ÇÔÀ¸·Î½á ¼ÒÇÁÆ®¿þ¾îÀÇ ÀüüÀûÀÎ Ç°ÁúÀ» ³ôÀÏ ¼ö ÀÖ½À´Ï´Ù. * ´ëÇ¥ÀûÀÎ ÄÚµå °Ë»çµµ±¸·Î´Â ÀÚ¹Ù Äڵ带 °Ë»çÇÏ´Â CheckstyleÀÌ ÀÖÀ¸¸ç À̸¦ ÀÌ¿ëÇØ ÄÚµù Ç¥ÁØ°ú Ç°Áú ¸ÞÆ®¸¯À» Áö¼ÓÀûÀ¸·Î ¸ð´ÏÅ͸µÀÌ °¡´ÉÇÏ°Ô µµ¿ÍÁÝ´Ï´Ù. * ¹èÆ÷ * °ÅÀÇ ´ëºÎºÐÀÇ ºôµå´Â ¹èÆ÷¸¦ ¸ñÀûÀ¸·Î ¼öÇàÇÕ´Ï´Ù. * ¹èÆ÷¸¦ Áö¼ÓÀûÀ¸·Î ÇÏ°ÔµÇ¸é ¾î´À ¼ø°£ÀÌ¶óµµ ½ÇÁ¦·Î ÀÛµ¿ÇÏ´Â ¼ÒÇÁÆ®¿þ¾î¸¦ ¹èÆ÷ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹°·Ð ÀÌ°ÍÀÌ °¡´ÉÇÏ°Ô²û Çϱâ À§Çؼ­´Â ¹öÀü °ü¸® ÀúÀå¼Ò¿¡¼­ ¼Ò½º ÆÄÀÏÀ» üũ¾Æ¿ôÇÏ°í, ºôµå¸¦ ¼öÇàÇÏ°í Å×½ºÆ®¿Í °Ë»ç¸¦ ÀüºÎ ¼º°ø½ÃÅ°°í, ¸±¸®Áî¿¡ ²¿¸®Ç¥(tag)¸¦ ºÙÀ̸ç, ¹èÆ÷ ÆÄÀÏÀ» Àß ²Ù¸ç¾ß ÇÕ´Ï´Ù. * CI ½Ã½ºÅÛÀÇ ÇÙ½É ¸ñÇ¥´Â Ç×»ó ÃÖ±Ù Äڵ带 °¡Áö°í ¼ÒÇÁÆ®¿þ¾î¸¦ ºôµåÇÏ°í Å×½ºÆ®ÇÏ´Â °ÍÀÔ´Ï´Ù. * Áö¼ÓÀûÀÎ ÅëÇÕÀÌ ÁÖ´Â °¡Ä¡ * ÈçÈ÷ ¹ß»ýÇÏ´Â ÀϹÝÀûÀÎ À§ÇèÀ» ÁÙ¿©ÁØ´Ù * ¹Ýº¹ÀûÀÎ ¼öÀÛ¾÷À» ÁÙ¿©ÁØ´Ù * ¾ðÁ¦ ¾î´À ¶§¶óµµ ¹èÆ÷ÇÒ ¼ö ÀÖ´Â ¼ÒÇÁÆ®¿þ¾î¸¦ »ý¼ºÇس½´Ù * ÇÁ·ÎÁ§Æ® °¡½Ã¼ºÀ» º¸´Ù ÁÁ°Ô ÇØÁØ´Ù * °³¹ß ÆÀÀÌ ¼ÒÇÁÆ®¿þ¾î Á¦Ç°¿¡ ´ëÇØ º¸´Ù Å« ÀڽۨÀ» °®°Ô ÇØÁØ´Ù == Q&A == == ¼¼¹Ì³ªÀÇ ¸ñÀû°ú ¹æÇ⼺ == * °³¹ßÀڵ鿡°Ô ¹«¾ùÀ» Àü´ÞÇÒ °ÍÀΰ¡? * ÁÁÀº°³¹ßȯ°æÀÌ °³¹ßÀÚ¿Í ÇÁ·ÎÁ§Æ®¿¡°Ô °¡Á®´Ù ÁÖ´Â ÇýÅÃ(?), Áß¿ä Æ÷ÀÎÆ®´Â »îÀÇ Áú°ú Ç°ÁúÀÇ °³¼±¿¡ ÁÖ¾ÈÁ¡ * ¾î¶² ¹æ¹ýÀ¸·Î ¼³µæÇϸé ÁÁÀ»±î? * Áö¼ÓÀûÀÎ ÅëÇÕ ½Ã½ºÅÛÀ» ÀÌ¿ëÇÑ »ç·Ê ¼Ò°³ * °ü·Ã µµ¼­ÀÇ ±¸Àý Àοë * '''¼¼¹Ì³ª¿¡ »ç¿ëµÉ ¼Ò½º´Â ¿ÀǼҽº¸¦ ÀÌ¿ëÇÏ¿© ÁøÇà''' * daysago°¡ ÁÁÀº ¿¹Á¦°¡ µÉµí½ÍÀ½ * trac + subversion + continuous integration ¼Ò°³¸¦ ½Ç Àû¿ë¿¹¸¦ µé¾î ¼³¸í * '''º»°ÝÀûÀÎ ¼¼¹Ì³ª¸¦ ½ÃÀÛÇϱâ Àü¿¡ ¾Æ·¡ÀÇ »ç·Ê¸¦ ¼Ò°³ÇÏ°í ÁøÇàÇÏ´Â °ÍÀÌ È¿°úÀûÀÎ Àü´Þ¿¡ Çʼö ¿ä¼Ò''' * Visual C++À» ÀÌ¿ëÇØ software product¸¦ ¸¸µé¾î³»´Â °÷¿¡¼­ cruisecontrol .net À¸·Î Àû¿ëÇÑ ¿¹Á¦ * ´©±º°¡°¡ ¼Ò½º¸¦ º¯°æÇÏ°í ó¸®ÇÏ°í Åð±ÙÇßÀ»¶§ ´ÙÀ½³¯ ÆÀ¿øÀÌ ºôµå¸¦ ¼öÇàÇßÀ»¶§ ºôµå°¡ ±úÁö´Â »óȲÀ» ¹Ù·Î ijġ * Java¸¦ ÀÌ¿ëÇÑ web site°³¹ß¿¡¼­µµ ¸¶Âù°¡Áö·Î Áö¼ÓÀûÀÎ ÅëÇÕ ºôµåÇÁ·Î¼¼½º¿¡¼­ ¼³Á¤ÇصРÅ×½ºÆ® ¼öÆ®¸¦ °ÅÄ¡¸é¼­ ¿¡·¯°¡ ¹ß»ýÇßÀ»¶§ÀÇ ´ëÀÀ ¿¹Á¦ * subversion »ç¿ë»ç·Ê ¹ßÇ¥³»¿ë ¿ä¾à * Checkout, Update, CommitµîÀ» ½ÇÁ¦ ó¸®ÇÏ´Â UCC Á¦ÀÛ * µÎ °³¹ßÀÚ°¡ ÇϳªÀÇ ¼Ò½º¸¦ µ¿½Ã¿¡ ¼öÁ¤ÇßÀ» ¶§ ´ëóÇÏ´Â »óȲ¹¦»ç UCC Á¦ÀÛ WinMerge¸¦ ÀÚ¿¬½º·´°Ô ¼Ò°³ * Subversion »óȲº° ¾ÆÀÌÄÜÀº ÷ºÎÀÚ·á·Î ¼Ò°³ÇÏ°í ¾ÆÀÌÄÜÀº ½ÇÁ¦ Àû¿ëÇØ »ç¿ëÇϸ鼭 ÇÊ¿äÇÑ ºÎºÐÀ̶ó°í °£·«ÇÏ°Ô ¼Ò°³ * ÈǸ¢ÇÑ Âü°í ÆäÀÌÁö * ["Bazaar/Bazaar 5ºÐ °­ÀÇ"] * ¼³¹®Ç׸ñ * ¾î¶² ¹æ¹ý·ÐÀ» ÆÀ¿¡ Àû¿ëÇÏ¿© »ç¿ëÇÏ°í ÀÖ´ÂÁö? * ÇÁ·ÎÁ§Æ® ¿¡ÄڽýºÅÛ(°³¹ßȯ°æÀÇ È¿À²Àû °³¼±)Àº ¾ÖÀÚÀÏ ¹æ¹ý·ÐÀ» ÁöÇâÇÕ´Ï´Ù. * ÇÁ·ÎÁ§Æ®¿¡ °³¹ßȯ°æÀ» °³¼±Çϱâ À§Çؼ­ Àû¿ëÇÏ°í ÀÖ´Â ½Ã½ºÅÛÀº? * SUBVERSION * À̽´ÃßÀû°ü¸® * Áö¼ÓÀûÀÎ ÅëÇÕ * ''¼³¹®À» ÅëÇØ µµÀÔÀü°ú ÈÄÀÇ ´À³¤Á¡À» ¹°¾îº¸´Â ½Ã°£À» °¡Á®º¸´Â°ÍÀÌ ¼¼¹Ì³ª¿¡ µµ¿òÀÌ µÉ²¨ °°À½'' * [http://www.dt.co.kr/contents.htm?article_no=2007111502010660611001 ü°èÀûÀ¸·Î °ü¸®ÇÏ´Â °ÍÀÌ Áß¿ä] == Âü°íÀÚ·á - À¥ == * Agile * [http://www.okjsp.pe.kr/upload/Agile_Voice.zip ±â¹ÎÇÑ ¹æ¹ý·Ð XP¿Í ±â¹ÎÇÑ ¹®È­ À̾߱⠰­¿¬ ³ìÃë] * Subversion * [http://www.pyrasis.com/main/Subversion-HOWTO Subversion »ç¿ë HOWTO] * [http://www.pyrasis.com/main/SubversionServerForWindows À©µµ¿ì¿¡¼­ Subversion ¼­¹ö ¿î¿µÇϱâ] * [http://www.codeproject.com/w2k/SubversionApache.asp How to set up Subversion with Apache in Windows] * [http://httpd.apache.org/docs/2.0/platform/windows.html#winsvc Apache ¼­¹ö¸¦ ¼­ºñ½º·Î µî·ÏÇϱâ] * Áö¼ÓÀûÀÎ ÅëÇÕ * [http://wiki.javajigi.net/pages/viewpage.action?pageId=2240 Eclipse¸¦ È°¿ëÇÑ È¿À²ÀûÀÎ ÆÀ °³¹ß ¹× ¹èÆ÷ Àü·«] * [http://www.ibm.com/developerworks/kr/library/j-ap11146/index.html »ç¶÷À» À§ÇÑ ÀÚµ¿È­: Áö¼ÓÀûÀÎ Çǵå¹é (ÇѱÛ)] == Âü°íÀÚ·á - µµ¼­ == * [http://www.developerfarm.co.kr/JSPWiki/Wiki.jsp?page=CI Áö¼ÓÀûÀÎ ÅëÇÕ] * [http://www.developerfarm.co.kr/JSPWiki/Wiki.jsp?page=ShipIt Ship it! ¼º°øÀûÀÎ ¼ÒÇÁÆ®¿þ¾î °³¹ß ÇÁ·ÎÁ§Æ®¸¦ À§ÇÑ ½Ç¿ë °¡À̵å] * [http://insightbook.springnote.com/pages/288650 ¹öÀü°ü¸® usnig CVS] == ±âŸ ¸µÅ© == * http://kldp.org/node/37764 * http://elenoa.tistory.com/38 * http://www.pyrasis.com/blog/entry/CVSToSubersion * http://en.wikipedia.org/wiki/Comparison_of_revision_control_software === Áö¼ÓÀûÀÎ ÅëÇÕ¿¡ °üÇÑ ±â»çµé === * http://monac.egloos.com/1656867 * http://moai.tistory.com/224 * http://kaistizen.net/EE/index.php/weblog/comments/columns_updated/ * http://kaistizen.net/EE/index.php/imaso/continuousintegration_2008_01/ == ¼¼¹Ì³ª Èı⠸µÅ© == * [http://okjsp.tistory.com/1165643381 okjspºÎ»ê¼¼¹Ì³ª-ÇÁ·ÎÁ§Æ® ¿¡ÄڽýºÅÛ; °³¹ßȯ°æ È¿À²Àû °³¼± Æí] * [http://progressio.tistory.com/137 À°³â±Ù - OKJSP ºÎ»ê ¼¼¹Ì³ª] == µµÀÔÇϸ鼭 == === µµÀÔ ¹æ¾È === ÇöÀç±îÁö °¡Àå È¿°úÀûÀÎ µµÀÔ ¹æ¹ý(´Ü, È¥ÀÚ¼­ ƯÁ¤ ¼Ö·ç¼ÇÀ̳ª À¥»çÀÌÆ®¸¦ ¸Ã°í Àִ°æ¿ì À¯¿ë) 1. º»ÀÎÀÌ ¸ÕÀú °³¹ßȯ°æ¿¡ ½áº¸°í ±âÁ¸ °³¹ßȯ°æ¿¡¼­ ¿ä±¸µÇ´Â »çÇ×À» ÃæºÐÈ÷ ¸¸Á·ÇÏ´ÂÁö È®ÀÎ 1. °³¹ßȯ°æ º¯È­ÀÇ À̽´°¡ ¹ß»ýÇÏ¿´À»¶§ Àº±Ù½½Â½ ¾ê±â¸¦ ²¨³½´Ù 1. "º»ÀÎÀÇ °³¹ßȯ°æÀº ±×·¯ÇÑ À̽´¸¦ ÇؼÒÇÏ¿© ¿î¿µÇÏ°í ÀÖ´Ù°í..." 1. Èï¹ÌÀ¯¹ß°ú µ¿ÀÏÇÑ ¹®Á¦¿¡ ´ëÇÑ ÇØ°áÃ¥À» ü°èÀûÀ¸·Î Á¦½Ã 1. ÀÌ°ÍÀº wiki·Î Àû¿ë¹æ¾ÈÀ» ü°èÀûÀ¸·Î Á¤¸®ÇÏ´Â °ÍÀÌ Áß¿ä === InfoQ === Kenny±ºÀÌ ¼Ò°³ÇØ ÁØ »çÀÌÆ®Àε¥ '''Tracking change and innovation in the enterprise software development community'''¸¦ Ç¥¹æ * ²À Àо¶ó°í ÇÑ article * subversionÀ» ÆÀ¿¡ Àû¿ëÇÒ ¶§ ²À ¾Ë¾ÆµÎ¾î¾ß ÇÏ´Â ³»¿ë * [http://www.infoq.com/articles/agile-version-control Version Control for Multiple Agile Teams] * [http://www.infoq.com/news/2008/04/kniberg-agile-version-control Agile Version Control for Multi-Team Development] * dscm ¾ê±âÇϸ鼭 ³ª¿Ô´ø ³»¿ë °°Àºµ¥ --; * http://www.infoq.com/news/2007/12/multiple-projects-one-agile-team * ÃÖ°íÀÇ »Ë»Ñ Mingle 2.0 * http://studios.thoughtworks.com/mingle-project-intelligence === Mingle === ==== Install for windows ==== * 8080Æ÷Æ®·Î ¼³Ä¡¸¦ 8090À¸·Î º¯°æÇÑ ÈÄ ÇÁ·Î±×·¥ ¼³Ä¡ ¿Ï·á * http://localhost:8090 Á¢¼Ó * firefox·Î´Â Á¢±ÙÀÌ µÇ´Âµ¥ IE·Î ÇÒ °æ¿ì ÆäÀÌÁö°¡ ¶ßÁö ¾Ê´Â Çö»ó ¹ß»ý * ¼³Ä¡ ¿Ï·áµÈ ÈÄ Áï½Ã Á¢±ÙÇϸé Á¢±Ù¾ÈµÇ´Ù°¡ 10ºÐÂë Áö³ª´Ï±î µÇµå¶ó´É -_-; {{{ Internet Explorer¿¡¼­ À¥ ÆäÀÌÁö¸¦ Ç¥½ÃÇÒ ¼ö ¾ø½À´Ï´Ù. °¡´É¼ºÀÌ ³ôÀº ¿øÀÎ: ÀÎÅͳݿ¡ ¿¬°áµÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù. À¥ »çÀÌÆ®¿¡ ¹®Á¦°¡ ¹ß»ýÇß½À´Ï´Ù. ÁÖ¼Ò¿¡ ¿ÀŸ°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. °¡´ÉÇÑ ÇØ°á ¹æ¹ý: ¿¬°á ¹®Á¦ Áø´Ü Ãß°¡ Á¤º¸ }}} * mysql°ú stmp ¼ÂÆà ÈÄ ¼³Ä¡ ¸¶¹«¸® ==== ¸µÅ© ==== * http://hwanysnote.blogspot.com/2008/02/buildix-complete-and-active-agile.html