· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Subversion Book/Advanced Topics

°í±Þ ÁÖÁ¦

1Chapter. °í±Þ ÁÖÁ¦


1.1.

¸¸¾à, ÀÌ Ã¥À» Àå ¸¶´Ù ÃÖÃʺÎÅÍ ³¡±îÁö Àаí ÀÖ´Ù¸é, ÀÌÁ¦(¹ú½á) ´ç½ÅÀº ´ëºÎºÐÀÇ ¹öÀü °ü¸® Á¶ÀÛÀ» ½ÇÇàÇϱâ À§Çؼ­ Subversion Ŭ¶óÀÌ¾ðÆ®¸¦ »ç¿ëÇϱâ À§ÇÑ ÃæºÐÇÑ Áö½ÄÀ» °¡Áö°í ÀÖÀ» °ÍÀÔ´Ï´Ù. ¾î¶»°Ô Subversion ÀúÀå¼Ò(repository)·ÎºÎÅÍ ÀÛ¾÷ Ä«ÇǸ¦ üũ¾Æ¿ô ÇÏ´ÂÁö¸¦ ÀÌÇØÇϰí ÀÖÀ» °ÍÀÔ´Ï´Ù. svn commit ³ª svn update¸¦ »ç¿ëÇÑ º¯°æÁ¡ÀÇ ¼Û¼ö½Å¿¡ Ä£¼÷ÇØÁ® ÀÖ´Ù´Â ÀÔ´Ï´Ù. ±×¸®°í ¾Æ¸¶ °ÅÀÇ ¹«ÀÇ½Ä Áß¿¡svn status ¸¦ ½ÇÇàÇØ ¹ö¸®´Â °Í °°Àº ¹Ý»ç ½Å°æ¸¶Àú ¸ö¿¡ ºÙ¾î ÀÖÀ»Áöµµ ¸ð¸¨´Ï´Ù. ¾î¶² Àǵµ³ª ¸ñÀû¿¡ ´ëÇØ¼­µµ, ÀüÇüÀûÀΠȯ°æ¿¡¼­ SubversionÀ» »ç¿ëÇÒ Áغñ°¡ µÇ¾î ÀÖÀ» °ÍÀÔ´Ï´Ù.

±×·¯³ª, SubversionÀÇ ±â´É ¼¼Æ®´Â "º¸Åë ¹öÀü °ü¸® Á¶ÀÛ"À¸·Î ³¡³ª´Â °ÍÀº ¾Æ´Õ´Ï´Ù.

ÀÌ Àå¿¡¼­´Â ¸î°³ÀÇ SubversionÀÇ ±â´ÉÀ¸·Î, ±×¸¸Å­ ºó¹øÇϰԴ ÀÌ¿ëµÇÁö ¾Ê´Â´Ù °°Àº °ÍÀ» ÃëÇÕ´Ï´Ù. ±× ¾È¿¡¼­, SubversionÀÇ ¼Ó¼º(ȤÀº "¸ÞŸµ¥ÀÌŸ")ÀÇ ¼­Æ÷Æ®¿¡ ´ëÇØ ³íÀÇÇØ, ¾î¶»°Ô ÇØ SubversionÀÇ µðÆúÆ®ÀÇ ÇൿÀ» ½ÇÇà½Ã ¼³Á¤ areaÀÇ Á¶Á¤¿¡ ÀÇÇØ º¯°æ ÇÒ ¼ö°¡ ÀÖÀ»±î¸¦ º¾´Ï´Ù. ¶Ç, ¾î¶»°Ô ¿ÜºÎ Á¤ÀǸ¦ »ç¿ëÇØ, º¹¼öÀÇ ÀúÀå¼Ò(repository)·ÎºÎÅÍ µ¥ÀÌÅ͸¦ ²ø¾î ¿Àµµ·Ï(µíÀÌ) Subversion¿¡ ÀνºÆ®·°¼Ç ÇÏ´ÂÁö¸¦ ¼³¸íÇÕ´Ï´Ù. ±×¸®°í, SubversionÀÇ ÆÐŰÁöÀÇ ÀϺÎÀÎ Ãß°¡ÀÇ Å¬¶óÀ̾ðÆ®Ãø, ¼­¹ö°¡ ¿øÀÇ ÅøÀÇ ¸î°³ÀÇ »ó¼¼ÇϰԵµ Á¢ÇÕ´Ï´Ù.

ÀÌ ÀåÀ» Àбâ Àü¿¡, Subversion·Î ±âº»ÀûÀÎ ÆÄÀϰú µð·ºÅ丮¿¡ °üÇÑ ¹öÀü °ü¸®ÀÇ ´É·Â¿¡ ´ëÇØ Ä£¼÷ÇØÁ® ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¸¸¾à ¾ÆÁ÷ °Å±â¿¡ ºÙ¾î (Àº)´Â ÀÐÁö ¾ÊÀºÁö, º¹½ÀÀÌ ÇÊ¿äÇϸé,> À̶ó°í > (À»)¸¦ Àд °ÍÀ» ÃßõÇÕ´Ï´Ù. ÇÑ ¹ø ±âº»À» ¸¶½ºÅÍ ÇÏ°í ³ª¼­ ÀÌ ÀåÀ» ¼ÒÈ­Çϸé, ´ç½ÅÀº ÀÌÁ¦ Subversion ÀÇ ÆÄ¿ö À¯ÀúÀÔ´Ï´ÙȤÀº, µ·Àº ´ä·ÊÇÕ´Ï´Ù! [1]


1.1. ½ÇÇà½Ã ¼³Á¤ area

SubversionÀº ¸¹Àº ¿É¼ÇÀÇ ÇൿÀ» ÁغñÇØ ÀÖ¾î, ±×°ÍÀº À¯Àú¿¡°Ô µû¶ó¼­ Á¦¾îÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ±×·¯ÇÑ ¿É¼ÇÀÇ »ó´ç¼ö´Â À¯Àú°¡ ¸ðµç Subversion Á¶ÀÛ¿¡ Àû¿ëÇÏ°í ½Í´Ù°í »ý°¢ÇÏ´Â °Í °°Àº ÀÏÀÔ´Ï´Ù. ±×·¡¼­, ÀÌ·¯ÇÑ ¿É¼Ç (À»)¸¦ ÁöÁ¤Çϱâ À§Çؼ­ À¯Àú¿¡°Ô Ä¿¸àµå ¶óÀÎ Àμö¸¦ »ý°¢³ª°Ô Çϵµ·Ï(µíÀÌ) °­¿äÇÏ´Â °Íº¸´Ùµµ ¶Ç, ½ÇÇàÇÏ·Á°í ÇÏ´Â ¸ðµç Á¶ÀÛ¿¡ ´ëÇØ¼­ ±×°ÍµéÀ» »ç¿ëÇÏ´Â °Íº¸´Ùµµ, SubversionÀº Á¤ÀÇ ÆÄÀÏÀ» »ç¿ëÇÕ´Ï´Ù. ±×°ÍÀº SubversionÀÇ Á¤ÀÇ area ·Î ºÐ¸®µÇ°í ÀÖ´Â °ÍÀÔ´Ï´Ù.

SubversionÀǼ³Á¤ area ´Â 2ÃþÀ¸·Î ³ª´©¾îÁø ¿É¼Ç¸í°ú °ªÀÇ °èÃþÀÔ´Ï´Ù. º¸Åë, À̰ÍÀºÁ¤ÀÇ ÆÄÀÏ (ÃÖÃÊÀÇ Ãþ)À» Æ÷ÇÔÇÑ Æ¯º°ÇÑ µð·ºÅ丮¿¡ ¿ä¾àµÇ¾î ÀÖ¾î, ±×°ÍÀº Ç¥ÁØÀûÀÎ INI Çü½ÄÀÇ ÅØ½ºÆ® ÆÄÀÏ¿¡ Áö³ªÁö ¾Ê½À´Ï´Ù. (°Å±â¿¡´Â"sections" °¡ ÀÖ¾î, ±×°ÍÀÌ Á¦2ÃþÀÌ µË´Ï´Ù) ÀÌ·¯ÇÑ ÆÄÀÏÀº ÁÁ¾ÆÇÏ´Â ÅØ½ºÆ® ¹®ÀÚ ÆíÁý±â¸¦ »ç¿ëÇØ °£´ÜÇÏ°Ô ÆíÁýÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. (emacs ¶óµçÁö vi ¶óµçÁö) ±×¸®°í, Ŭ¶óÀÌ¾ðÆ® ¿¡ ÀÇÇØ ÀÐÈ÷´Â ÀνºÆ®·°¼ÇÀ» Æ÷ÇÔÇϰí ÀÖ¾î, À¯Àú°¡ ÁÁ¾ÆÇÏ´Â ´Ù¾çÇÑ ¿É¼ÇÀÇ ÇൿÀ» ¾î¶»°Ô Çұ °áÁ¤ÇÕ´Ï´Ù.


1.1.1. ¼³Á¤ areaÀÇ ·¹À̾ƿô

svnÄ¿¸àµå ¶óÀΠŬ¶óÀÌ¾ðÆ®°¡ ÃÖÃÊ·Î ½ÇÇàµÇ¸é(ÀÚ), ±×°ÍÀº À¯Àú¸¶´ÙÀÇ ±¸¼º area¸¦ ¸¸µì´Ï´Ù. UnixdzÀÇ ½Ã½ºÅÛÀ̶ó¸é, ÀÌ area´Â À¯ÀúÀÇ È¨ µð ·ºÅä¿¡,. subversion ¶ó´Â À̸§ÀÇ µð·ºÅ丮·Î¼­ ÁغñµË´Ï´Ù. Win32 ½Ã½ºÅÛ¿¡¼­´Â, SubversionÀº Subversion¶ó´Â À̸§ÀÇ Æú´õ¸¦ ¸¸µì´Ï´Ù. º¸ÅëÀ¸·Î´Â À¯Àú ÇÁ·ÎÆÄÀÏ µð·ºÅ丮ÀÇApplication Data area ÀÇ ³»ºÎ°¡ µË´Ï´Ù. ±×·¯³ª, ÀÌ Ç÷§Æû¿¡¼­´Â, ¿ÏÀüÇÑ Àå¼Ò´Â ½Ã½ºÅÛ ¸¶´Ù Â÷À̰¡ ³ª, ÁøÂ¥ Àå¼Ò´Â Windows ·¹Áö½ºÆ®¸®·Î ¼³Á¤µÇ¾î ÀÖ½À´Ï´Ù. À¯Àú¸¶´ÙÀÇ ¼³Á¤ area´Â, Unix ¿¡¼­ÀÇ À̸§ÀÌ´Ù. subversion (À»)¸¦ »ç¿ëÇØ ÂüÁ¶Çϱâ·Î ÇϰڽÀ´Ï´Ù.

À¯Àú¸¶´ÙÀÇ ¼³Á¤ area¿¡ °¡¼¼ÇØ, SubversionÀº ½Ã½ºÅÛ ÀüüÀÇ ¼³Á¤ areaµµ ÀÌÇØÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. À̰ÍÀº ½Ã½ºÅÛ °ü¸® Ã¥ÀÓÀÚ¿¡ ÀÖ´Â ¸Ó½Å»ó¿¡¼­ÀÇ ¸ðµç À¯Àú¿¡ ´ëÇÑ µðÆúÆ®¸¦ ¼³Á¤ÇÏ´Â ÈûÀ» ÁÝ´Ï´Ù. ½Ã½ºÅÛ Àüü ÀÇ ¼³Á¤ area´Â ÇʼöÀÇ Æú¸®½Ã°¡ ÀÖ´Â °ÍÀº ¾Æ´Õ´Ï´ÙÀ¯Àú ¸¶´ÙÀÇ ¼³Á¤ area´Â, ½Ã½ºÅÛ ÀüüÀÇ area¸¦ µ¡¾²±âÇØ,svn ÇÁ·Î±×·¥¿¡°Ô ÁÖ´Â Ä¿¸àµå ¶óÀÎ Àμö´Â ÇൿÀ» °áÁ¤ÇÏ´Â ¸¶Áö¸· Àå¼Ò¿¡ µË´Ï´Ù. UnixdzÀÇ Ç÷§Æû¿¡¼­´Â, ½Ã½ºÅÛ ÀüüÀÇ ¼³Á¤ area´Â /etc/subversion µð·ºÅ丮¿¡ ÀÖ´Ù°í ±â´ëµÇ¾î ÀÖ½À´Ï´Ù. ±×°ÍÀº ¶Ç, °øÅë ¾îÇø®ÄÉÀÌ¼Ç areaÀÇ ³»ºÎ¿¡ ÀÖ´Ù Subversionµð·ºÅ丮¸¦ º¸·¯ °©´Ï´Ù. (±×¸®°í ¶Ç, ±×°ÍÀº Windows ·¹Áö½ºÆ®¸®¿¡ ÀÇÇØ ÁöÁ¤µË´Ï´Ù¸¸) À¯Àú¸¶´ÙÀÇ °æ¿ì (¿Í) ´Þ¸®,svn ÇÁ·Î±×·¥Àº ½Ã½ºÅÛ ÀüüÀÇ ¼³Á¤ area¸¦ ¸¸µé·Á°í´Â ÇÏÁö ¾Ê½À´Ï´Ù.

. subversion µð·ºÅ丮´Â ÇöÀç·Î¼­´Â ¼¼ °³ÀÇ ÆÄÀÏÀ» Æ÷ÇÔÇϰí ÀÖ½À´Ï´ÙµÎ °³ÀÇ ¼³Á¤ ÆÄÀÏ (config ¿Í serversÀÔ´Ï´Ù), °Å±â¿¡ README.txt ÆÄÀÏ·Î, À̰ÍÀº INI Çü½ÄÀ» ¼³¸íÇÏ´Â °ÍÀÔ´Ï´Ù. ±×·¯ÇÑ »ý¼º½Ã¿¡´Â, ÆÄÀÏÀº Subversion ÇÏÁö¸¸ ¼­Æ÷Æ®ÇÏ´Â °¢°¢ÀÇ ¿É¼ÇÀÇ µðÆúÆ®°ªÀÌ µé¾î¿À°í ÀÖ¾î ´ëºÎºÐÀÌ comment out µÇ°í ÀÖ¾î, °Ô´Ù°¡ ¾î¶»°Ô Ű¿¡ ´ëÇÑ´Ù °ªÀÌ SubversionÀÇ Çൿ¿¡ ¿µÇâÀ» ÁÙ±î¶ó°í ÇÏ´Â °Í¿¡ ´ëÇÏ¿©, ÅØ½ºÆ®ÀÇ ¼³¸í µ¹ÃâÇÏ°í ±×·ìÈ­ µÇ°í ÀÖ½À´Ï´Ù. ¹«¾ùÀΰ¡ÀÇ ÇൿÀ» ¹Ù²Ù±â À§Çؼ­(¶§¹®¿¡)´Â °ü·ÃÇÏ´Â ¼³Á¤ ÆÄÀÏÀ» ÅØ½ºÆ® ¹®ÀÚ ÆíÁý±â·Î ¿­·Á, ÇÊ¿äÇÑ ¿É¼ÇÄ¡·Î ¼öÁ¤ÇÏ´Â °Í¸¸ÀÌ ÇÊ¿äÇÕ´Ï´Ù. ¸¸¾à Ç×»ó ¼³Á¤ ÆÄÀÏÁß¿¡ µðÆúÆ®ÀÇ ¼³Á¤ (À»)¸¦ ÇÏ°í ½ÍÀº °æ¿ì´Â, ´ÜÁö ±× ÆÄÀÏÀ» »èÁ¦ÇØ, ¹«¾ùÀΰ¡ ¹«ÇØÀÎsvn°³¸¸, ¿¹¸¦ µé¾î svn --versionÀÇ °°Àº °ÍÀ» ½ÇÇàÇϸé(ÀÚ), ¾ø¾îÁø ÆÄÀÏÀº µðÆúÆ® »óÅ·ΠÀç»ý¼ºµË´Ï´Ù.

À¯Àú¸¶´ÙÀÇ ¼³Á¤ area´Â ÀÎÁõ µ¥ÀÌÅÍÀÇ Ä³½¬µµ Æ÷ÇÔÇÕ´Ï´Ù. auth µð·ºÅ丮´Â Subversion·Î ¼­Æ÷Æ®µÇ°í ÀÖ´Â ´Ù¾çÇÑ ÀÎÁõ ¹æ¹ýÀ¸·Î ÀÌ¿ëµÈ´Ù ij½¬ Á¤º¸ÀÇ ¿ä¼Ò¸¦ Æ÷ÇÔÇÑ ¼­ºê µð·ºÅ丮ÀÇ ¸ðÀÓÀ» º¸°ü À¯ÁöÇÕ´Ï´Ù. ÀÌ µð·ºÅ丮´Â À¯Àú ÀڽŸ¸ÀÌ ±× ³»¿ëÀ» ÀÐÀ» ¼ö°¡ ÀÖ´Â °Í °°Àº ÇüÅ¿¡ ÀÛ¼ºµË´Ï´Ù.


1.1.2. ¼³Á¤°ú WindowsÀÇ ·¹Áö½ºÆ®¸®

º¸Åë INI º£À̽ºÀÇ ¼³Á¤ area¿¡ °¡¼¼ÇØ, Windows Ç÷§Æû»ó¿¡¼­ ½ÇÇàµÇ¾î ÀÖ´Â Subversion Ŭ¶óÀÌ¾ðÆ®´Â WindowsÀÇ ·¹Áö½ºÆ®¸®µµ ¼³Á¤ µ¥ÀÌÅ͸¦ °Ý³³ÇÏ´Â Àå¼Ò (À¸)·Î¼­ ÀÌ¿ëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ¿É¼Ç¸í°ú ±× °ªÀº INI ÆÄÀÏÁß°ú °°´Ù ÀÔ´Ï´Ù. "file/section" ÀÇ °èÃþ °ü°èµµ º¸Á¸µË´Ï´Ù. Á¶±Ý ´Ù¸£´Ù ¹æ¹ý¿¡ µû¸¨´Ï´Ù¸¸ÀÌ ¹æ¹ý¿¡¼­´Â, ÆÄÀϰú ¼½¼ÇÀº ´ÜÁö ·¹Áö½ºÆ®¸® ŰÀÇ Æ®¸®ÀÇ °èÃþ ¹Û¿¡ Áö³ªÁö ¾Ê½À´Ï´Ù.

SubversionÀº ½Ã½ºÅÛ ÀüüÀÇ ¼³Á¤Ä¡¸¦ HKEY_LOCAL_MACHINE\Software\Tigris.org\SubversionŰ ÀÇ ¿øÀ¸·Î °Ë»öÇÕ´Ï´Ù. ¿¹¸¦ µé¾îglobal-ignores ¿É¼Ç, À̰ÍÀºconfig ÆÄÀÏÀÇmiscellany ¼½¼Ç¿¡ ÀÖ½À´Ï´Ù¸¸,HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion\Config\Miscellany\global-ignores¿¡ ã¾Æ³¾ ¼ö°¡ ÀÖ½À´Ï´Ù. À¯Àú¸¶´ÙÀÇ ¼³Á¤Ä¡´Â HKEY_CURRENT_USER\Software\Tigris.org\Subversion. ÀÇ ¾Æ·¡¿¡ °Ý³³µÉ °ÍÀÔ´Ï´Ù.

·¹Áö½ºÆ®¸® º£À̽ºÀÇ ¼³Á¤ ¿É¼ÇÀº, ÆÄÀÏ º£À̽ºÀÇ ³ª¸ÓÁöÀÇ ºÎºÐÀ» °Ë»öÇϱâÀü¿¡ °Ë»öµË´Ï´Ù. ±×·¡¼­, ÀÌ·¯ÇÑ ¿É¼ÇÀº, ¼³Á¤ ÆÄÀÏÁß¿¡¼­ ¹ß°ßµÈ °ª¿¡ ÀÇÇØ µ¡¾²±â µË´Ï´Ù. ¹Ù²Ù¾î ¸»Çϸé(ÀÚ), ¼³Á¤ÀÇ ¿ì¼±±ÇÀº Windows ½Ã½ºÅÛÀÇ °æ¿ì, ÀÌÇÏÀÇ ¼ø¼­°¡ µÇ´Â °ÍÀÌ ÇÁ·ÎÅØ¼ÇµÇ°í ÀÖ½À´Ï´Ù:

  1. Ä¿¸àµå ¶óÀÎ ¿É¼Ç

  2. À¯Àú¸¶´ÙÀÇ INI ÆÄÀÏ

  3. À¯Àú¸¶´ÙÀÇ ·¹Áö½ºÆ®¸®Ä¡

  4. ½Ã½ºÅÛ ÀüüÀÇ INI ÆÄÀÏ

  5. ½Ã½ºÅÛ ÀüüÀÇ ·¹Áö½ºÆ®¸®Ä¡

¶Ç, Windows ·¹Áö½ºÆ®¸®´Â"comment out" (¿Í)°ú °°Àº °³³äÀ» ¼­Æ÷Æ®Çϰí ÀÖÁö ¾Ê½À´Ï´Ù. ±×·¯³ª, SubversionÀº, ŰÀÇ À̸§ÀÌ ÇØ½Ã ij¸¯ÅÍ(#)·Î ½ÃÀ۵Ǵ °Í °°Àº ¸ðµç ¿É¼ÇÀ» ¹«½ÃÇÕ´Ï´Ù. À̰ÍÀ¸·Î ½ÇÁ¦·Î´Â SubversionÀÇ ¿É¼Ç (À»)¸¦, ·¹Áö½ºÆ®¸®·ÎºÎÅÍ ¿ÏÀüÇÏ°Ô Å°¸¦ Áö¿ìÁö ¾Ê°í comment out ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ºÐ¸íÇϰÔ, ±× ¿É¼ÇÀÇ ¼³Á¤ ÀÛ¾÷Àº °£´ÜÇÏ°Ô Çϰí ÀÖ½À´Ï´Ù.

svn Ä¿¸àµå ¶óÀΠŬ¶óÀÌ¾ðÆ®´Â WindowsÀÇ ·¹Áö½ºÆ®¸®¿¡ ±âÀÔÇÏ´Â °ÍÀº °áÄÚ ¾Ê°í, °Å±â¿¡ µðÆúÆ®ÀÇ ¼³Á¤Ä¡¸¦ ¸¸µé·Á°íµµ ÇÏÁö ¾Ê½À´Ï´Ù. ÇÊ¿äÇÑ Å°´Â REGEDITÇÁ·Î±×·¥À¸·Î ¸¸µé ¼ö°¡ ÀÖ½À´Ï´Ù. ´Ù¸¥ ¹æ¹ý (À¸)·Î¼­´Â,. REG ÆÄÀÏÀ» ¸¸µé¾î, ÀͽºÇ÷η¯ Á¶°¡ºñ·ÎºÎÅÍ ±× ÆÄÀÏÀ» ´õºí Ŭ¸¯ Çϸé(ÀÚ), ±× µ¥ÀÌÅͰ¡ ·¹Áö½ºÆ®¸®¿¡ merge µË´Ï´Ù.

Example 1-1. ·¹Áö½ºÆ®¸® ¿£Æ®¸®(. REG) ÆÄÀÏÀÇ ¿¹

REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion\Servers\DEFAULT]
"#http-proxy-host"=""
"#http-proxy-port"=""
"#http-proxy-username"=""
"#http-proxy-password"=""
"#http-proxy-timeout"="0"
"#http-compression"="yes"

[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\auth]
"#store-password"="no"

[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\helpers]
"#editor-cmd"="notepad"

[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\miscellany]
"#global-ignores"="*. o *. lo *. la #*# . *. rej *. rej . *~ *~ . #*"

ÀÌ ¿¹´Â,. REG ÀÇ ³»¿ëÀ» ³ªÅ¸³½ ¿¹ÀÔ´Ï´Ù¸¸, ±× ¾È¿¡´Â, ÀÚÁÖ(Àß) ÀÌ¿ëµÇ´Â ¼³Á¤ ¿É¼ÇÀÇ ´ëºÎºÐ±× µðÆúƮġ°¡ ÀÖ½À´Ï´Ù. ½Ã½ºÅÛÀÇ ¼³Á¤(¿¹¸¦ µé¾î ³×Æ®¿öÅ© ÇÁ·Ï½Ã¿¡ °üÇÑ ¿É¼Ç) ¶ó°í À¯Àú¸¶´ÙÀÇ ¼³Á¤(ÀÌ¿ëÇÏ´Â ¿¡µðÅÍ, ÆÐ½º¿öµå, µî)ÀÇ ¾çÂÊ ¸ðµÎ°¡ ÀÖ´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. ÇÑÃþ ´õ ¸ðµç ¿É¼ÇÀº, comment out µÇ°í ÀÖ°Ôµµ ÁÖÀÇÇØ ÁÖ¼¼¿ä. ¿É¼Ç¸íÀÇ ¼±µÎÀÇ ÇØ½Ã ij¸¯ÅÍ (#)(À»)¸¦ ¾ø¾Ö´Â °Í¸¸À¸·Î, ¹Ù¶ó°í ÀÖ´Â °ªÀ¸·Î ¼³Á¤ÇÏ´Â °ÍÀÌ ÇÒ ¼ö ÀÖ½À´Ï´Ù.


1.1.3. ¼³Á¤ ¿É¼Ç

ÀÌ Àå¿¡¼­´Â, ƯÁ¤ÀÇ ½ÇÇà½Ã ¿É¼Ç¿¡ ´ëÇØ ³íÀÇÇÕ´Ï´Ù. ÇöÀç Subversion ÇÏÁö¸¸ ¼­Æ÷Æ®Çϰí ÀÖ´Â °Í¿¡ ÀÓÇØ¼­ÀÔ´Ï´Ù.


1.1.3.1. ¼­¹ö

servers ÆÄÀÏÀº SubversionÀÇ ¼³Á¤ ¿É¼ÇÀ¸·Î, ³×Æ®¿öÅ©Ãþ¿¡ °ü°èÇÑ °ÍÀ» Æ÷ÇÔÇϰí ÀÖ½À´Ï´Ù. µÎ °³ÀÇ ¼½¼Ç¸íÀÌ ±× ÆÄÀÏ¿¡´Â ÀÖ´Â groups ¿Íglobal ÀÔ´Ï´Ù. groups¼½¼ÇÀº, ¿äÄÁµ¥ Å©·Î½º ·¹ÆÛ·±½ºÀÇ Å×À̺íÀÔ´Ï´Ù. ÀÌ ¼½¼ÇÀÇ Å°´Â, ÆÄÀÏÁß¿¡ ÀÖ´Â ´Ù¸¥ ¼½¼ÇÀÇ À̸§ ÀÔ´Ï´Ù. ±× °ªÀº±×·Îºê¿ÍÀϵå Ä«µå¸¦ Æ÷ÇÔÇØ ÀÖÀ»Áöµµ ¸ð¸£´Â ÅØ½ºÆ® ÅäÅ«ÀÔ´Ï´Ù·Î, SubversionÀÇ ¿ä±¸°¡ ¼Û½Å µÇ´Â ¸Ó½ÅÀÇ È£½ºÆ® ¸íĪÀ̶ó°í ºñ±³µË´Ï´Ù.

[groups]
beanie-babies = *. red-bean.com
collabnet = svn.collab.net

[beanie-babies]


[collabnet]

Subversion°¡ ³×Æ®¿öÅ© ³Ñ¾î·Î ÀÌ¿ëµÇ´Â °æ¿ì,groups ¼½¼Ç¿¡ ÀÖ´Â ±×·ì¸í¿¡ ¸Â´Â ¼­¹ö ¸íΰú ¼º³É ÇÏ´Â °ÍÀ» ã½À´Ï´Ù. ¸¸¾à ¼º³É ÇßÀ» °æ¿ì´Â SubversionÀº ´ÙÀ½¿¡, ±× À̸§ÀÌ ±×·ì ¸íΰú ¼º³É Çß´Ù servers ÆÄÀÏÁßÀÇ ¼½¼ÇÀ» ã½À´Ï´Ù. ±×¸®°í ±× ¼½¼ÇÀ¸·ÎºÎÅÍ ½ÇÁ¦ÀÇ ³×Æ®¿öÅ© ¼³Á¤ ¿É¼ÇÀ» ÀоîµéÀÔ´Ï´Ù.

global ¼½¼ÇÀºgroups¼½¼Ç ¸ñÀÇ ±×·Îºê¿¡µµ µé¾î¸ÂÁö ¾Ê¾Ò´Ù ¸ðµç ¼­¹ö¿¡ ´ëÇÑ´Ù ¼³Á¤ÀÌ ÀÖ½À´Ï´Ù. ÀÌ ¼½¼ÇÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Â ¿É¼ÇÀº, ÆÄÀÏÀÇ ´Ù¸¥ ¼­¹ö ¼½¼ÇÀ¸·Î ÀÌ¿ëÇÒ ¼ö ÀÖ´Â °Í°ú ¿ÏÀüÈ÷ °°½À´Ï´Ù. (´Ù¸¸, ¹°·Ð,groups ¼½¼ÇÀº ¿¹¿ÜÀÔ´Ï´Ù) ÀÌÇÏ¿Í °°Àº ´À³¦ÀÔ´Ï´Ù:

http-proxy-host

À̰ÍÀº, ÇÁ·Ï½Ã ÄÄÇ»ÅÍÀÇ È£½ºÆ® ¸íĪÀ¸·Î, HTTP º£À̽ºÀÇ Subversion (Àº)´Â °Å±â¸¦ ÅëÇØ¼­ Åë½ÅÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. µðÆúÆ®´Â Çϴÿ¡¼­, ±×°ÍÀº SubversionÀº ÇÁ·Ï½Ã¸¦ ÅëÇØ HTTP ¿ä±¸ÇÏÁö ¾Ê°í, Á÷Á¢, ¸ñÀûÀÇ ¸Ó½Å°ú Åë½ÅÇÏ·Á°í ÇÏ´Â °ÍÀ» ÀǹÌÇϰí ÀÖ½À´Ï´Ù.

http-proxy-port

À̰ÍÀº, ÀÌ¿ëÇÏ´Â ÇÁ·Ï½Ã È£½ºÆ®ÀÇ Æ÷Åä ¹øÈ£¸¦ ÁöÁ¤ÇÕ´Ï´Ù. µðÆúÆ®´Â ÇÏ´ÃÀÔ´Ï´Ù.

http-proxy-username

À̰ÍÀº, ÇÁ·Ï½Ã ¸Ó½ÅÀ¸·Î ÇÊ¿äÇÑ À¯Àú¸íÀ» ÁöÁ¤ÇÕ´Ï´Ù. µðÆúÆ®´Â ÇÏ´ÃÀÔ´Ï´Ù.

http-proxy-password

À̰ÍÀº, ÇÁ·Ï½Ã ¸Ó½ÅÀ¸·Î ÇÊ¿äÇÑ ÆÐ½º¿öµå¸¦ ÁöÁ¤ÇÕ´Ï´Ù. µðÆúÆ®´Â ÇÏ´ÃÀÔ´Ï´Ù.

http-timeout

À̰ÍÀº ¼­¹ö ÀÀ´äÀ» ±â´Ù¸®´Â ½Ã°£ÀÇ ÃÖ´ëÄ¡¸¦ ÃÊ´ÜÀ§·Î ÁöÁ¤ÇÕ´Ï´Ù. ¸¸¾à, SubversionÀÇ Á¶ÀÛÀÌ Å¸ÀÓ ¾Æ¿ô ÇØ ¹ö¸®´Â °Í °°Àº Àú¼ÓÀÇ ³×Æ®¿öÅ© Á¢¼Ó¿¡ °ü°èÇÑ ¹®Á¦¸¦ ¶°¾È°í ÀÖ´Â °æ¿ì, ÀÌ ¿É¼ÇÀÇ °ªÀ» ´Ã·Á º¸¼¼¿ä. µðÆúƮġ´Â 0À¸·Î, ÀÌ °æ¿ì, HTTP ÇÁ·Î±×·¥ ¶óÀ̺귯¸®ÀÌ´Ù Neon¿¡ µðÆúÆ®ÀÇ Å¸ÀÓ ¾Æ¿ôÄ¡¸¦ »ç¿ëÇϵµ·Ï(µíÀÌ) Áö½ÃÇÕ´Ï´Ù.

http-compression

À̰ÍÀº, DAV°¡ À¯È¿ÇÑ ¼­¹ö·Î, Subversion°¡ ³×Æ®¿öÅ© ¿ä±¸ µ¥ÀÌÅ͸¦ ¾ÐÃàÇÏ´ÂÁö ¾î¶²Áö¸¦ ÁöÁ¤ÇÕ´Ï´Ù. µðÆúƮġ´Âyes (´Ù¸¸, ¾ÐÃàÀº ³×Æ®¿öÅ©ÃþÀÇ ÄÄÆÄÀϽÿ¡ À¯È¿ÇÏ°Ô µÇÁö ¾ÊÀ¸¸é µÇÁö ¾Ê½À´Ï´Ù¸¸, )ÀÔ´Ï´Ù. no ·Î ¼³Á¤Çϸé(ÀÚ) ¾ÐÃàÀº ¹«È¿°¡ µË´Ï´Ù¸¸, À̰ÍÀº ³×Æ®¿öÅ© Àü¼ÛÀÇ µð¹ö±×½Ã µî¿¡ »ç¿ëÇÕ´Ï´Ù.

neon-debug-mask

À̰ÍÀº, Á¤¼öÄ¡ÀÇ ¸¶½ºÅ©·Î, HTTP ÇÁ·Î±×·¥ ¶óÀ̺귯¸® Neon °¡ ¾î¶°ÇÑ Å¸ÀÔÀÇ debug Ãâ·ÂÀ» »ý¼ºÇÏ´ÂÁö¸¦ ÁöÁ¤ÇÏ´Â °ÍÀÔ´Ï´Ù. µðÆúÆ®´Â 0À¸·Î, ¸ðµÎ µð¹ö±× Ãâ·ÂÀ» ¹«È¿·Î ÇÕ´Ï´Ù. Subversion ÇÏÁö¸¸ Neon¸¦ ¾î¶»°Ô »ç¿ëÇұ ´ëÇÑ ÀÚ¼¼ÇÑ °ÍÀº >(À»)¸¦ ºÁ ÁÖ¼¼¿ä.

ssl-authorities-file

À̰ÍÀº HTTPS °æÀ¯·Î ÀúÀå¼Ò(repository)¿¡ ¾×¼¼½º ÇÒ °æ¿ì¿¡ Subversion Ŭ¶óÀÌ¾ðÆ®¿¡ ÀÇÇØ ¹Þ¾Æµé¿©Áö´Â ÀÎÁõ ±â°ü(ȤÀº CA)ÀÇ Áõ¸í¼­¸¦ Æ÷ÇÔÇÑ ÆÄÀÏÀÇ ÆÐ½º¸¦ ÁöÁ¤ÇÕ´Ï´Ù.

svn-tunnel-agent

À̰ÍÀº ¿ÜºÎ ¿¡ÀÌÀüÆ® ÇÁ·Î±×·¥À» ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ ÇÁ·Î±×·¥ (À»)¸¦ ÅëÇØ¼­, SVN ÇÁ·ÎÅäÄÝ ¿ä±¸°¡ ÅͳΠµË´Ï´Ù.


1.1.3.2. Config

config ÆÄÀÏÀº, Subversion ½ÇÇà½Ã ¿É¼Ç °¡¿îµ¥, ÇöÀç ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ³ª¸ÓÁöÀÇ °ÍÀ¸·Î, ³×Æ®¿öÅ©¿¡ °ü·ÃÇÏ´Â °Í À̿ܰ¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. Çö½ÃÁ¡¿¡¼­´Â ¸î°³ÀÇ ¿É¼Ç ÇÏÁö¸¸ ÀÌ¿ëÇÒ ¼ö ÀÖÀ» »ÓÀÔ´Ï´Ù¸¸, ÇâÈÄÀÇ Ãß°¡¸¦ »ý°¢ÇØ, ´Ù¸¥ ¼½¼ÇÀ¸·Î¼­ ±×·ìÈ­ Â÷°í¶ó°í ÀÖ½À´Ï´Ù.

auth ¼½¼ÇÀº SubversionÀÇ ÀúÀå¼Ò(repository)¿¡ ´ëÇÑ´Ù ÀÎÁõ°ú Çã°¡¿¡ °ü°èÇÑ ¼³Á¤ÀÌ ÀÖ½À´Ï´Ù. ±×°ÍÀº:

store-password

À̰ÍÀº Subversion¿¡ ¼­¹ö ÀÎÁõ 縰Áö¿¡ ´ëÇØ¼­ À¯Àú°¡ ÀÔ·ÂÇÏ´Â ÆÐ½º¿öµå¸¦ ij½¬ÇÏ´ÂÁö ¾î¶²Áö¸¦ Áö½ÃÇÕ´Ï´Ù. µðÆúÆ®´Âno ·Î, µð½ºÅ©»ó¿¡ ÆÐ½º¿öµå (À»)¸¦ ij½¬ÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ ¿É¼ÇÀºsvn Ä¿¸àµå ±×¸®°í--no-auth-cache ¸¦ »ç¿ëÇϸé(ÀÚ) µ¡¾²±âÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. (ȤÀº ÀÌ Àμö¸¦ ¼­Æ÷Æ®Çϰí ÀÖ´Â Ä¿¸àµåÀÌ¸é ¾î¶² °Í¿¡¼­µµ)

helpers ¼½¼ÇÀº Subversion°¡ ¾î´À ¿ÜºÎ ¾îÇø®ÄÉÀ̼ÇÀ» ¸î°³ÀÇ Ã³¸®·Î »ç¿ëÇÏ´ÂÁö¸¦ Á¦¾îÇÕ´Ï´Ù. ÀÌ ¼½¼ÇÀ¸·Î À¯È¿ÇÑ °ÍÀº:

editor-cmd

À̰ÍÀº Subversion°¡ Ä¿¹Ô½ÃÀÇ ·Î±× ¸Þ¼¼Áö¸¦ ¸¸µå´Âµ¥ ¾î´À ÇÁ·Î±×·¥À» »ç¿ëÇÏ´ÂÁö¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î,svn commit °¡, --message (-m)µµ --file (-F) ¿É¼Ç µµ ¾øÀ½À¸·Î ½ÇÇàµÈ °Í °°Àº °æ¿ìÀÔ´Ï´Ù. ÀÌ ÇÁ·Î±×·¥Àº ¶Çsvn propeditÄ¿¸àµå¿¡¼­µµ »ç¿ëÇÕ´Ï´ÙÀϽÃÀûÀÎ ÆÄÀÏ¿¡ À¯Àú°¡ ÆíÁýÇÏ°í ½Í´Ù°í »ý°¢ÇÏ´Â ÇöÀçÀÇ ¼Ó¼ºÄ¡°¡ ±âÀÔÇØÁý´Ï´Ù¸¸, À̰ÍÀº ¿¡µðÅÍÀÇ ±âµ¿¿¡ ÀÇÇØ ½ÇÇàµË´Ï´Ù. (> ÂüÁ¶). ÀÌ ¿É¼ÇÀº µðÆúÆ®´Â ÇÏ´ÃÀÔ´Ï´Ù. ¸¸¾à ÀÌ ¿É¼ÇÀÌ ¼³Á¤ µÇ¾î ÀÖÁö ¾ÊÀ¸¸é SubversionÀº ȯ°æ º¯¼ö SVN_EDITOR, VISUAL, ¶ó°í EDITOR (ÀÌ ¼ø¼­·Î) (À»)¸¦ Á¶»çÇÕ´Ï´Ù.

diff-cmd

À̰ÍÀº Â÷ºÐ Ç¥½Ã ÇÁ·Î±×·¥ÀÇ Àý´ë ÆÐ½º¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ ÇÁ·Î±×·¥Àº Subversion°¡ "diff" ÀÇ Ãâ·ÂÀ» »ý¼ºÇϴµ¥ ÀÌ¿ë µÇ´Â °ÍÀÔ´Ï´Ù( svn diff Ä¿¸àµå ½ÇÇà½Ã µîÀÔ´Ï´Ù). µðÆúƮġ´Â GNU diff À¯Æ¿¸®Æ¼ÀÇ ÆÐ½º·Î, ±×°ÍÀº SubversionÀÇ ¿ø½Ã ÄÚµå ±¸Ãà ½Ã½ºÅÛ¿¡ ÀÇÇØ °áÁ¤µË´Ï´Ù.

diff3-cmd

À̰ÍÀº ½º¸®¿þÀÌ Â÷ºÐ ÇÁ·Î±×·¥ÀÇ Àý´ë ÆÐ½º¸¦ ÁöÁ¤ÇÕ´Ï´Ù. Subversion (Àº)´Â ÀÌ ÇÁ·Î±×·¥À» ÀúÀå¼Ò(repository)·ÎºÎÅÍ ¹ÞÀº, À¯Àú°¡ ÇÑ º¯°æÁ¡À» merge Çϴµ¥ »ç¿ëÇÕ´Ï´Ù. µðÆúƮġ´Â GNU diff3 À¯Æ¿¸®Æ¼ÀÇ ÆÐ½º·Î, À̰ÍÀº SubversionÀÇ ¿ø½Ã ÄÚµå ±¸Ãà ½Ã½ºÅÛ¿¡ ÀÇÇØ °áÁ¤ µË´Ï´Ù.

diff3-has-program-arg

ÀÌ Ç÷¡±×´Âdiff3-cmd ¿É¼ÇÀÌ --diff-program ÆÄ¶ó¹ÌÅ͸¦ ¹Þ¾ÆµéÀÌ´Â °æ¿ì¿¡´Â true¸¦ ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù. diff3-cmd ¿É¼ÇÀÇ µðÆúƮġ´Â ÄÄÆÄÀϽÿ¡ °áÁ¤ÇÒ ¼ö ÀÖÀ¸¹Ç·Î, diff3-has-program-argÀÇ µðÆúƮġµµ ±×·¸½À´Ï´Ù.

miscellany ¼½¼ÇÀº ´Ù¸¥ Àå¼Ò¿¡ µÑ ¼ö ¾ø´Ù ¸ðµç °ÍÀÇ µÎ´Â °÷¼ÒÀÔ´Ï´Ù. [2] ÀÌ ¼½¼Ç¿¡´Â:

global-ignores

svn statusÄ¿¸àµå¸¦ ½ÇÇàÇϸé(ÀÚ) SubversionÀº ¹öÀüÈ­ µÇÁö ¾Ê´Â ÆÄÀϰú µð·ºÅ丮¸¦ ¹öÀüÈ­ µÇ¾î ÀÖ´Â °Í°ú ÇÔ²² À϶÷Ç¥ °¡¸®Åµ´Ï´Ù. ÀÌ ¶§ ¹öÀüÈ­µÇ¾î ÀÖÁö ¾Ê´Ù ÀÏÀ»? ij¸¯ÅͷΠǥÇöÇÕ´Ï´Ù. (>ÂüÁ¶). °¡²û, ±×´ÙÁö Èï¹Ì°¡ ¾ø´Â ¹öÀüÈ­ µÇÁö ¾Ê´Â ¾ÆÀÌÅÛÀÌ Ç¥½ÃµÇ´Â °ÍÀ» º¸´Â °ÍÀ» ±ÍÂú°Ô »ý°¢ÇÏ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ÇÁ·Î±×·¥ÀÇ ÄÄÆÄÀÏ¿¡ ÀÇÇØ ÇÒ ¼ö ÀÖ´Â ¿ÀºêÁ§Æ® ÆÄÀÏ µî global-ignores ¿É¼ÇÀº °ø¹é¿¡¼­ ´Ü¶ôÁö¾îÁø ±×·ÎºêÀÇ ¸®½ºÆ®·Î, ¹öÀüÈ­µÇ¾î ÀÖÁö ¾ÊÀº °ÍÀ̸é Subversion¿¡ Ç¥½ÃÇØ ÁÖ¾úÀ¸¸é ÇÏ°í ¾ø´Â À̸§ÀÇ ÁöÁ¤ÀÌ µË´Ï´Ù. µðÆúÆ®´Â *. o *. lo *. la #*# . *. rej *. rej . *~ *~ . #*ÀÔ´Ï´Ù.

svn status Ä¿¸àµå·Î--no-ignore Ç÷¡±×¸¦ »ç¿ëÇÏ´Â °÷ÀÇ ¿É¼ÇÀ» ±× ½ÇÇà¿¡ ÇÑÇØ¼­ µ¡¾²±âÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹«½ÃÇÏ´Â ¾ÆÀÌÅÛÀÇ, Á» ´õ ¼¼¼¼ÇÑ Á¦¾î¿¡ ´ëÇØ¼­´Â >(À»)¸¦ ºÁ ÁÖ¼¼¿ä.


1.2. ¼Ó¼º

¹ú½á, Subversion°¡ ¾î¶»°Ô ÇØ ÀúÀå¼Ò(repository)Áß¿¡ ÀÖ´Â ÆÄ¸£À̳ª µð·ºÅ丮ÀÇ ¿©·¯°¡Áö ¹öÀüÀ» °Ý³³ÇØ, ÃßÃâÇұ ÀÚ¼¼ÇÏ°Ô ºÁ ¿Ô½À´Ï´Ù. ¸ðµç ÀåÀº Subversion¶ó°í ÇÏ´Â Åø¿¡ ÀÇÇØ Á¦°øµÇ°í ÀÖ´Â ÀÌ 1¹ø ±âº»ÀûÀÎ ±â´É¿¡ ¹ÙÄ¥ ¼ö ÀÖ¾î ¿Ô½À´Ï´Ù. ±×¸®°í, ¸¸¾à ¹öÀü °ü¸®ÀÇ ¼­Æ÷Æ®°¡ ±×·¡¼­ ¸¶Áö¸·À̶ó¸é ÇØµµ, SubversionÀº ¹öÀü °ü¸®ÀÇ °üÁ¡À¸·ÎºÎÅÍ´Â ¿ÏÀüÇÑ °ÍÀ̾úÁö¶ó°í »ý°¢ÇÕ´Ï´Ù. ±×·¯³ª À̾߱⿡°Ô´Â ¾ÆÁ÷ ¾ÕÀÌ ÀÖ½À´Ï´Ù.

µð·ºÅ丮¿Í ÆÄÀÏÀÇ ¹öÀü °ü¸® °í±â¿ø³×¶ó°í, SubversionÀº ¹öÀüÈ­ µÈ ÆÄÀÏ, µð·ºÅ丮¿¡ ºÎ¼ö ÇÑ ¹öÀüÈ­ µÇ¾ú´Ù ¸ÞŸµ¥ÀÌŸÀÇ Ãß°¡, ¼öÁ¤, »èÁ¦¸¦ À§ÇÑ ÀÎÅÍÆäÀ̽º¸¦ ÁغñÇØ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¸ÞŸµ¥ÀÌŸ¸¦¼Ó¼ºÀ̶ó°í ºÎ¸¨´Ï´Ù. ¼Ó¼ºÀº ÀÛ¾÷ Ä«ÇÇÁßÀÇ ¾ÆÀÌÅÛ ¸¶´Ù, À̸§°ú À̸§¿¡ °áÇÕµÈ ÀÓÀÇÀÇ °ªÀÇ Á¶·ÎºÎÅÍ µÇ´Â µÎ °³ÀÇ ¿­À» °¡Áö´Â Å×À̺í·Î¼­ »ý°¢ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ÀϹÝÀûÀ¸·Î, À̸§ÀÌ Àΰ£ÀÌ ÀÐÀ» ¼ö ÀÖ´Â ÅØ½ºÆ®°¡ ¾Æ´Ï¸é ¾È µÇ´Â °ÍÀ» µé¿©´Ù º¸¸é, À̸§°ú ¼Ó¼ºÄ¡´Â ÀÚÀ¯·Ó°Ô ¼±ÅÃÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ±×¸®°í ¼Ó¼º¿¡ °üÇÑ 1¹ø Áß¿äÇÑ (ÀÏ)°ÍÀº, ¼Ó¼ºµµ ¶Ç, ÆÄÀÏÀÇ ³»¿ë°ú °°°Ô ¹öÀü °ü¸®ÇÒ ¼ö ÀÖ´Ù ±×·¸´Ù°í ÇÏ´Â °ÍÀÔ´Ï´Ù. ÅØ½ºÆ®ÀÇ º¯°æÁ¡À» Ä¿¹ÔÇÏ´Â °Í°ú °°Àº Á¤µµ °£´ÜÇÏ°Ô ¼Ó¼ºÀÇ º¯°æÀ», ¼öÁ¤Çϰųª Ä¿¹ÔÇϰųª Ãë¼ÒÇϰųª ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ±×¸®°í, ÀÛ¾÷ Ä«ÇǸ¦ °»½ÅÇÒ °æ¿ì¿¡, ´Ù¸¥ »ç¶÷ÀÌ ÇÑ ¼Ó¼º º¯°æ¿¡ ´ëÇØ¼­µµ ¹ÞÀ» ¼ö°¡ ÀÖ½À´Ï´Ù.

ÀÌ ¸¶µð¿¡¼­´Â, ¼Ó¼ºÀ» ¼­Æ÷Æ®ÇÏ´Â À¯Æ¿¸®Æ¼¿¡ ´ëÇØ ¼³¸íÇÏ´Â SubversionÀÇ À¯Àú¿Í Subversion ±× ÀÚü¿¡ ´ëÇØ¼­ÀÇ ¼³¸íÀÌ µË´Ï´Ù. ¼Ó¼º¿¡ °ü·ÃÇÑsvn ¼­ºê Ä¿¸àµå¸¦ ÀÌÇØÇØ, ¼Ó¼ºÀÇ º¯°æÀÌ Åë»óÀÇ SubversionÀÇ ¿öÅ©Ç÷ο쿡 ¾î¶»°Ô ¿µÇâÀ» Áٱ ¹è¿ó´Ï´Ù. SubversionÀÇ ¼Ó¼ºÀº ´ç½ÅÀÇ ¹öÀü °ü¸®ÀÇ °æÇèÀ» ³ÐÈ÷´Â °ÍÀÎ °ÍÀÌ, ¹Ýµå½Ã ¾Ë°ÚÁö¿ä.


1.2.1. ¿Ö ¼Ó¼ºÀº ¹°°ÇÀÌ?

¼Ó¼ºÀº ÀÛ¾÷ Ä«ÇÇ¿¡ ¸Å¿ì µµ¿òÀÌ µÇ´Â Á¤º¸¸¦ Ãß°¡ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ½ÇÁ¦, Subversion Àڽŵµ Ư¼öÇÑ Á¤º¸¸¦ ±â·ÏÇϴµ¥ ¼Ó¼ºÀ» »ç¿ëÇϰí ÀÖ¾î, ±×°ÍÀº ¾î´À ƯÁ¤ÀÇ Ã³¸®°¡ ÇÊ¿äÇÏ°Ô µÇ¾î ÀÖ´Â °ÍÀ» ³ªÅ¸³»´Â °Í °°Àº ¶§¿¡ »ç¿ëÇϰí ÀÖ½À´Ï´Ù. °°ÀÌ À¯Àú´Â ÀÚ±â ÀÚ½ÅÀÇ ¸ñÀûÀ» À§Çؼ­(¶§¹®¿¡)µµ ¼Ó¼ºÀ» »ç¿ëÇÑ´Ù ÀÏÀÌ »ý±é´Ï´Ù. ¹°·Ð ¼Ó¼ºÀ¸·Î ¿Ï¼ºµÇ´Â °ÍÀº ¸ðµÎ, ¹öÀüÈ­ ÇÑ ÆÄÀÏ¿¡¼­µµ ÇÒ ¼ö ÀÖ½À´Ï´Ù¸¸, ¿ì¼±Àº ÀÌÇÏ¿Í °°Àº Subversion ¼Ó¼ºÀÇ »ç¿ë¹ýÀÇ ¿¹¸¦ ºÁ ÁÖ¼¼¿ä.

¾Æ¼±¹ÝÀº, ¸¹Àº µðÁöÅÐ »çÁøÀ» º¸À̱â À§ÇÑ À¥ »çÀÌÆ®¸¦ ¼³°èÇϰí ÀÖ¾î, ŸÀÌÆ²°ú ÀÏÀÚ¸¦ ºÙ¿© Ç¥½ÃÇÏ°í ½Í´Ù°í ÇÕ´Ï´Ù. ¿©±â¼­, »çÁøÀÇ ³»¿ëÀº Ç×»ó º¯È­ÇϹǷÎ, ÀÌ »çÀÌÆ®ÀÇ °ü¸®¸¦ ÇÒ ¼ö ÀÖ´Â ÇÑ ÀÚµ¿È­ÇÏ°í ½Í´Ù°í »ý°¢Çϰí ÀÖ½À´Ï´Ù. °¢°¢ÀÇ »çÁøÀº ¸Å¿ì Å©±â ¶§¹®¿¡, ÀÌ·¯ÇÑ °æ¿ìÀÇ »óÅõ¼ö´ÜÀ¸·Î¼­ ´ç½ÅÀº »çÀÌÆ®¸¦ ¿Â »ç¶÷¿¡°Ô ÀÛÀº ¾öÁö¼Õ°¡¶ôÀÇ È­»óÀ» ÁغñÇÏ°í ½Í´Ù°í ÇÕ´Ï´Ù. À̰ÍÀ» º¸Åë ÆÄÀÏ·Î ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. Áï, µð·ºÅ丮¿¡ image123.jpg ¿Í image123-thumbnail.jpg ÀÇ ¾çÂÊ ¸ðµÎ¸¦ µÎ¸é ÁÁ½À´Ï´Ù. ȤÀº ¾çÂÊ ¸ðµÎÀÇ ÆÄÀϸíĪÀ» ÇÔ²² ÇØ, º°µð·ºÅ丮¿¡ À־ ±¦Âú³×¿ä. thumbnails/image123.jpg¿Í °°Àº ´À³¦ÀÔ´Ï´Ù. ŸÀÌÆ²°ú ÀÏÀÚ¿¡ ´ëÇØ¼­µµ °°Àº ¹æ¹ýÀ» ÃëÇÒ ¼ö°¡ ÀÖ¾î À̰͵µ ¶Ç, ¿ø·¡ÀÇ È­»ó ÆÄÀϰú´Â ´Ù¸¥ ¹°°ÇÀÌ µË´Ï´Ù. °ð, ÆÄÀÏÀÇ Æ®¸®´Â µÚÁ×¹ÚÁ× (ÀÌ)°¡ µÇ¾î, »õ·Î¿î »çÁøÀÌ »çÀÌÆ®¿¡ Ãß°¡µÉ ¶§¸¶´Ù, »çÀÌÆ®ÀÇ µ¥ÀÌÅÍ ¸î¹è¿¡µµ ºÎÇ®¾î ¿À¸¨´Ï´Ù.

SubversionÀÇ ÆÄÀÏ ¼Ó¼ºÀ» »ç¿ëÇÑ °°Àº ¼³Á¤À» »ý°¢ÇØ º¾½Ã´Ù. ¾î´À È­»ó ÆÄÀÏimage123.jpg¿Í ±× ÆÄÀÏ ÀÇ ¼Ó¼ºÀ¸·Î¼­ ¼³Á¤ÇÏ´Âcaption, datestamp, ±×¸®°í thumbnail°¡ ÀÖ´Â °÷(Áß)À» »ó»óÇØ ÁÖ¼¼¿ä. ÀÌ·¸°Ô ½ºÄ¡°í´Â, ÀÛ¾÷ Ä«ÇÇÀÇ µð·ºÅ丮´Â Á» ´õ °ü¸®Çϱ⠽±°í µË´Ï´Ù½ÇÁ¦ À̰ÍÀ¸·Î È­»ó ÆÄÀÏ À̿ܰ¡ ¾Æ¹«°Íµµ ¾ø°Ô º¸ÀÔ´Ï´Ù. ±×·¯³ª, ´ç½ÅÀÇ ÀÚµ¿ ½ºÅ©¸³Æ®´Â Á» ´õ ¸¹Àº ÀÏÀ» ¾Ë°í ÀÖ½À´Ï´Ù. ±×°ÍÀºsvn (ȤÀº °Ô´Ù°¡ Subversion ¾ð¾î Á¦ÈÞ¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ´Â > ÂüÁ¶)¸¦ »ç¿ëÇØ È®Àå Á¤º¸¸¦ Ãß°¡ÇÕ´Ï´Ù¸¸, ±×°ÍÀº ´ç½ÅÀÇ »çÀÌÆ®°¡, À妽º ÆÄÀÏÀ» Àаųª º¹ÀâÇÑ ÆÄÀÏ ÆÐ½º Á¶ÀÛÀÇ ±¸Á¶¸¦ ¸¸Áö´Â °Í ¾øÀÌ , Ç¥½ÃÇÒ Çʿ䰡 ÀÖ´Ù ¹°°ÇÀÔ´Ï´Ù.

SubversionÀÇ ¼Ó¼ºÀ» ¾î¶»°Ô »ç¿ëÇÒ±î´Â ´ç½Å Çϱ⠳ª¸§ÀÔ´Ï´Ù. ¹ú½á ÁöÀûÇß´Ù °°°Ô, SubversionÀº ÀÚ±â ÀÚ½ÅÀÌ »ç¿ëÇÏ´Â ¼Ó¼ºÀ» °¡Áö°í ÀÖ¾î, ÀÌ ÀåÀÇ ³ªÁß¿¡ Á¶±Ý ¼³¸íÇÕ´Ï´Ù. ±×·¯³ª, ¿ì¼±Àº,svn ÇÁ·Î±×·¥ (À»)¸¦ »ç¿ëÇØ, ¾î¶»°Ô ¿É¼ÇÀ» Á¶ÀÛÇұ »ý°¢ÇսôÙ.


1.2.2. ¼Ó¼ºÀÇ Á¶ÀÛ

svn Ä¿¸àµå¿¡´Â ÆÄÀϰú µð·ºÅ丮ÀÇ ¼Ó¼º (À»)¸¦ Ãß°¡Çϰųª ¼öÁ¤Çϰųª ÇÏ´Â ¸î°³ÀÇ ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. ªÀº °¡µ¶ÀÎ ¼Ó¼ºÀ» ½Å±Ô¿¡ Ãß°¡ÇÏ´Â 1¹ø °£´ÜÇÑ ¹æ¹ýÀº ¼Ó¼ºÀÇ À̸§°ú °ªÀ»propset ¼­ºê Ä¿¸àµå·Î ÁöÁ¤ÇÏ´Â °ÍÀÔ´Ï´Ù.

$ svn propset copyright '(c) 2003 Red-Bean Software' calc/button.c
property `copyright' set on 'calc/button.c'
$

±×·¯³ª, ¼Ó¼ºÄ¡¿¡ ´ëÇØ¼­ Subversion°¡ °¡Áö´Â À¯¿¬¼º¿¡ ´ëÇØ¼­´Â ¹ú½á ½ÇÄÆ ¸»ÇØ ¿Ô½À´Ï´Ù. ¸¸¾à, º¹¼öÇà ÅØ½ºÆ®, ¶Ç´Â ¹ÙÀ̳ʸ®Ä¡¸¦ ¼Ó¼ºÄ¡¿¡ ÇÏ°í ½Í´Ù°í »ý°¢Çϰí ÀÖ´Ù¸é, Ä¿¸àµå ¶óÀÎÀ¸·ÎºÎÅÍ ±× °ªÀ» ÀÔ·ÂÇÏ°í ½ÍÁö´Â ¾ÊÀ¸¸é »ý°¢ÇÕ´Ï´Ù. ±×·¡¼­propset ¼­ºê Ä¿¸àµå´Â --file(-F) ¿É¼ÇÀ» »ç¿ëÇØ, »õ·Î¿î ¼Ó¼º°ªÀÌ µé¾î¿Ô´Ù ÆÄÀÏÀÇ À̸§À» ÁöÁ¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

$ svn propset license -F /path/to/LICENSE calc/button.c
property `license' set on 'calc/button.c'
$

propset Ä¿¸àµå °í±â¿ø³×¶ó°í,svn ÇÁ·Î±×·¥Àºpropedit Ä¿¸àµåµµ ÁغñÇØ ÀÖ½À´Ï´Ù. ÀÌ Ä¿¸àµå´Â, ¼³Á¤µÈ ¿¡µðÅ͸¦ »ç¿ëÇØ(>ÂüÁ¶) ¼Ó¼ºÀ» Ãß°¡Çϰųª ¼öÁ¤Çϰųª ÇÕ´Ï´Ù. ÀÌ Ä¿¸àµå¸¦ ½ÇÇàÇϸé(ÀÚ)svn ´Â ÇöÀçÀÇ ¼Ó¼ºÄ¡¸¦ ±âÀÔÇß´Ù ÀÏ½ÃÆÄÀÏÀ» ¸¸µé¾î ¿¡µðÅ͸¦ ±âµ¿ÇÕ´Ï´Ù. (»õ·Î¿î ¼Ó¼ºÀ» Ãß°¡ÇÏ´Â °æ¿ì´Â À̰ÍÀº ºñ¿ó´Ï´Ù). ±×¸®°í, ÀÚ½ÅÀÌ ¹Ù¶ó´Â °Í °°Àº °ªÀÌ µÉ ¶§±îÁö »õ·Î¿î ¼Ó¼ºÄ¡ (À»)¸¦ ¿¡µðÅ͸¦ »ç¿ëÇØ ¼öÁ¤ÇØ, ÀÏ½ÃÆÄÀÏÀ» º¸Á¸ÇÏ°í ³ª¼­ ¿¡µðÅ͸¦ ºüÁý´Ï´Ù. SubversionÀº ¼Ó¼ºÀÇ °ªÀÌ º¯°æµÈ °ÍÀ» È®ÀÎÇϸé(ÀÚ), ±×°ÍÀ» »õ·Î¿î ¼Ó¼ºÄ¡ (À¸)·Î¼­ ¹Þ¾ÆµéÀÔ´Ï´Ù. ¸¸¾à ¿¡µðÅ͸¦ º¯°æÇÏ´Â ÀÏ ¾øÀÌ ºüÁö¸é, ¼Ó¼ºÄ¡ÀÇ º¯°æÀº ÀϾÁö ¾Ê½À´Ï´Ù.

$ svn propedit copyright calc/button.c  ### exit the editor without changes
No changes to property `copyright' on `calc/button.c'
$

´Ù¸¥svnÄ¿¸àµå¿Í °°°Ô, ¼Ó¼º¿¡ °üÇÑ ÀÌ·¯ÇÑ Ä¿¸àµåµµ º¹¼ö ÆÐ½º¿¡ ´ëÇØ¼­ ÇÑ ¹ø¿¡ ½ÇÇàÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. À̰ÍÀº ÇϳªÀÇ Ä¿¸àµå·Î º¹¼öÀÇ ÆÄÀÏ»óÀÇ ¼Ó¼ºÀ» ¼öÁ¤ÇÏ´Â °ÍÀ» °¡´ÉÇÏ°Ô ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ÀÌÇÏ¿Í °°Àº ÀÏÀÌ »ý±é´Ï´Ù:

$ svn propset copyright '(c) 2002 Red-Bean Software' calc/*
property `copyright' set on 'calc/Makefile'
property `copyright' set on 'calc/button.c'
property `copyright' set on 'calc/integer.c'

$

ÀÌ·¯ÇÑ ¼Ó¼ºÀÇ Ãß°¡³ª ÆíÁýÀº, º¸°üµÇ°í ÀÖ´Â ¼Ó¼ºÄ¡¸¦ °£´ÜÇÏ°Ô Ãëµæ ÇÒ ¼ö ¾øÀ¸¸é, º°·Î Æí¸®ÇÏÁö´Â ¾Ê½À´Ï´Ù. ±×·¡¼­ svn ÇÁ·Î±×·¥Àº ÆÄÀÏÀ̳ª µð·ºÅ丮¿¡ º¸°üµÇ¾ú´Ù ¼Ó¼ºÀÇ À̸§°ú °ªÀ» Ç¥½ÃÇϱâ À§ÇÑ ¼­ºê Ä¿¸àµå¸¦ µÑÁغñÇØ ÀÖ½À´Ï´Ù. svn proplist´Â ÆÐ½º»ó¿¡ Á¸ÀçÇÏ´Â ¼Ó¼ºÀÇ À̸§ÀÇ À϶÷À» Ç¥½ÃÇÕ´Ï´Ù. ³ëµå»óÀÇ ¼Ó¼º¸íÀ» ¾Ë ¼ö ÀÖ¾î ¹ö¸®¸é, °³º°ÀûÀ¸·Î svn propget¸¦ È£ÃâÇØ ±× ¼Ó¼ºÄ¡¸¦ ¿ä±¸ÇÏ´Â °ÍÀÌ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ Ä¿¸àµå´Â ÁÖ¾îÁø(Çϳª ÀÌ»óÀÇ) ÆÐ½º¿Í ÇÁ·ÓÆÛƼ¸í (À¸)·ÎºÎÅÍ, ±× ¼Ó¼ºÄ¡¸¦ Ç¥ÁØ Ãâ·Â¿¡ Ç¥½ÃÇÕ´Ï´Ù.

$ svn proplist calc/button.c
Properties on 'calc/button.c':
  copyright
  license
$ svn propget copyright calc/button.c
(c) 2003 Red-Bean Software

proplist Ä¿¸àµåÀÇ º¯Á¾À¸·Î¼­ ¸ðµç ¼Ó¼ºÀÇ À̸§°ú °ªÀÇ ¾çÂÊ ¸ðµÎ¸¦ ¸®½ºÆ® ÇÏ´Â °ÍÀÌ ÀÖ½À´Ï´Ù. À̰Ϳ¡´Â ´ÜÁö, --verbose(-v) ¿É¼ÇÀ» ÁöÁ¤Çϸé OKÀÔ´Ï´Ù.

$ svn proplist --verbose calc/button.c
Properties on 'calc/button.c':
  copyright : (c) 2003 Red-Bean Software
  license : ================================================================
Copyright (c) 2003 Red-Bean Software.   All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions 
are met:

1.  Redistributions of source code must retain the above copyright
notice, this list of conditions, and the recipe for Fitz's famous
red-beans-and-rice.

¸¶Áö¸· ÇÁ·ÓÆÛƼ °ü·Ã ¼­ºê Ä¿¸àµå´Â propdelÀÔ´Ï´Ù. SubversionÀº ÇÏ´ÃÀÇ °ªÀ» °¡Áö´Â ¼Ó¼ºÀ» °Ý³³ÇÏ´Â °ÍÀ» Çã¶ôÇϹǷÎ,propedit ³ª propset¸¦ »ç¿ëÇÏ´Â °Í ¸¸À¸·Î´Â, ¼Ó¼ºÀ» »èÁ¦ÇÏ´Â °ÍÀÌ ÇÒ ¼ö ¾ø½À´Ï´Ù. ¿¹¸¦ µé¾î ÀÌ Ä¿¸àµå´Â ±â´ëµÇ´Â °á°ú·Î´ÂµÇÁö ¾Ê½À´Ï´Ù :

$ svn propset license '' calc/button.c
property `license' set on 'calc/button.c'
$ svn proplist --verbose calc/button.c
Properties on 'calc/button.c':
  copyright : (c) 2003 Red-Bean Software
  license : 
$

¼Ó¼ºÀÇ »èÁ¦¿¡´Âpropdel Ä¿¸àµå¸¦ »ç¿ëÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ±¸¹®Àº ´Ù¸¥ ¼Ó¼º °ü·Ã Ä¿¸àµå¿Í Àß ´à¾Ò½À´Ï´Ù:

$ svn propdel license calc/button.c
property `license' deleted from ''.
$ svn proplist --verbose calc/button.c
Properties on 'calc/button.c':
  copyright : (c) 2003 Red-Bean Software
$

À̰ÍÀ¸·Î, ¼Ó¼º °ü·ÃÀÇsvn ¼­ºê Ä¿¸àµåÀÇ ¸ðµÎ¿¡°Ô ´ëÇØ ¼³¸íÇßÀ¸¹Ç·Î, ÀÏ»óÀûÀÎ Subversion ¿öÅ©Ç÷ο쿡, ¼Ó¼ºÀÇ º¯°æ ÇÏÁö¸¸ ¾î¶°ÇÑ ¿µÇâÀ» Áٱ º¾½Ã´Ù. Àü¿¡ ÁöÀûÇÑ °Íó·³ ÆÄÀϰú µð·ºÅ丮ÀÇ ¼Ó¼ºÀº, º¸Åë ÆÄÀÏÀÇ ³»¿ë°ú °°ÀÌ, ¹öÀüÈ­ µË´Ï´Ù. °á°úÀûÀ¸·Î, SubversionÀº ´Ù¸¥ »ç¶÷ÀÌ ÇÑ ¼öÁ¤Á¡À» ÀÚ±â ÀڽŠÀ§¿¡ merge ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ¹°·Ð Åë»óÀÇ merge¿Í °°ÀÌ, ÀßµÉÁöµµ ¸ð¸£Áö¾Ê°í, Ãæµ¹ÇÒÁöµµ ¸ð¸¨´Ï´Ù.

±×¸®°í ÆÄÀÏÀÇ ³»¿ëÀÇ °æ¿ì¿Í °°ÀÌ, ¼Ó¼ºÀÇ º¯°æÀº ·ÎÄÃÀÎ ¼öÁ¤ ¹Û¿¡ Áö³ªÁö ¾Ê°í,svn commit·Î ÀúÀå¼Ò(repository)¿¡ Ä¿¹ÔÇØ óÀ½ ¼öÁ¤ÀÌ È®Á¤ÇÕ´Ï´Ù. º¯°æÀº ¿ª½Ã °£´ÜÇÏ°Ô Ãë¼ÒÇÑ´Ù Àϵµ ÇÒ ¼ö ÀÖ´Â svn revert Ä¿¸àµå´Â ÆÄÀÏÀ̳ª µð·ºÅ丮¸¦ ÆíÁýÀü »óÅ¿¡ µÇµ¹·Á, ±× ³»¿ë, ¼Ó¼º, µî ¸ðµÎ¿¡ ´ëÇØ¼­µµ ±×·¸½À´Ï´Ù. °Ô´Ù°¡ svn status ³ª svn diff Ä¿¸àµå¸¦ »ç¿ëÇØ, ÆÄÀÏÀ̳ª µð·ºÅ丮 ¼Ó¼º »óÅ¿¡ ´ëÇØ À¯¿ëÇÑ Á¤º¸¸¦ ¹ÞÀ» ¼ö°¡ ÀÖ½À´Ï´Ù.

$ svn status calc/button.c
 M     calc/button.c
$ svn diff calc/button.c
Property changes on: calc/button.c
___________________________________________________________________
Name: copyright
   + (c) 2003 Red-Bean Software

$

status ¼­ºê Ä¿¸àµå°¡M (À»)¸¦ ÃÖÃÊÀÇ Ä®·³ÀÌ ¾Æ´Ï°í, µÎ¹øÂ°ÀÇ Ä®·³¿¡ Ç¥½ÃÇϴµ¥ ÁÖÀÇÀÔ´Ï´Ù. À̰ÍÀº,calc/button.cÀÇ ¼Ó¼ºÀ» ¼öÁ¤ÇßÁö¸¸, ÆÄÀÏÀÇ ³»¿ëÀº º¯°æÇϰí ÀÖÁö ¾Ê´Â °ÍÀ» ³ªÅ¸³»°í ÀÖ½À´Ï´Ù. ¼Ó¼ºµµ ³»¿ëµµ º¯°æÇϸé,M ´Â, ÃÖÃÊÀÇ Ä®·³ ¿¡µµ µÎ¹øÂ°ÀÇ Ä®·³¿¡µµ Ç¥½ÃµË´Ï´Ù. (>ÂüÁ¶).

Subversion°¡ ÇöÀçÀÇ ¼Ó¼ºÀÇ Â÷À̸¦ Ç¥½ÃÇϴ ǥÁØÀûÀÌ ¾Æ´Ñ ¹æ¹ýÀ¸·Î ´«Ä¡ ä¿´À»Áöµµ ¸ð¸¨´Ï´Ù. svn diff ¸¦ ½ÇÇàÇØ, Ãâ·ÂÀ» ÆÐÄ¡ ÆÄÀÏÀ» ¸¸µé±â À§Çؼ­(¶§¹®¿¡) ¸®µð·ºÆ® ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. patch ÇÁ·Î±×·¥Àº ¼Ó¼º¿¡ ´ëÇÑ ÆÐÄ¡¸¦ ¹«½ÃÇÕ´Ï´ÙÀϹÝÀûÀ¸·Î ±×°ÍÀº ÀÌÇØÇÒ ¼ö ¾ø´Â ¾²·¹±â¸¦ ¸ðµÎ ¹«½ÃÇÕ´Ï´Ù. À̰ÍÀº ºÒÇàÇϰԵµ svn diff·Î »ý¼ºµÈ ÆÐÄ¡¸¦ ¿ÏÀüÇÏ°Ô Àû¿ëÇÏ·Á¸é , ¼Ó¼ºÀÇ ¼öÁ¤¿¡ ´ëÇØ¼­´Â ¼ÕÀ¸·Î Àû¿ëÇÏÁö ¾ÊÀ¸¸é ¾È µÈ´Ù°í ÇÏ´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù.

º» °Íó·³, ¼Ó¼ºÀÇ ¼öÁ¤Àº ÀüÇüÀûÀÎ SubversionÀÇ ¿öÅ©Ç÷ο쿡´Â º°·Î Å« ¿µÇâÀ» ÁÖÁö ¾Ê½À´Ï´Ù. ÀÛ¾÷ Ä«ÇǸ¦ °»½ÅÇØ, ÆÄÀϰú µð·ºÅ丮ÀÇ »óŸ¦ Ã¼Å©ÇØ, ÀÚ½ÅÀÌ ÇÑ º¯°æÁ¡¿¡ ´ëÇØ º¸°íÇØ, ±×·¯ÇÑ ¼öÁ¤Á¡À» ÀúÀå¼Ò(repository)¿¡ Ä¿¹ÔÇÑ´Ù°í ÇÏ´Â ÀϹÝÀûÀÎ ÆÐÅÏÀº ¼Ó¼ºÀÇ Á¸À糪 ºñÁ¸Àç (¿Í)°ú´Â ¿ÏÀüÇÏ°Ô ¹«°ü°èÇÕ´Ï´Ù. svnÇÁ·Î±×·¥¿¡´Â ¸î°³ÀÇ Ãß°¡ÀÇ ¼­ºê Ä¿¸àµå°¡ ÀÖ¾î, ½ÇÁ¦·Î ¼Ó¼º º¯°æÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ±×·¯³ª, ±×°ÍÀº, ¼Ó¼º °ü·Ã Ä¿¸àµåÀÇ ´«¿¡ º¸ÀÌ´Â À¯ÀÏÇÑ ºñ´ë»ó¼ºÀÔ´Ï´Ù.


1.2.3. Ư¼öÇÑ ¼Ó¼º

SubversionÀº ¼Ó¼º¿¡ ´ëÇØ Ưº°ÇÑ Æú¸®½Ã¸¦ °®°í ÀÖÁö ¾Ê½À´Ï´Ù¾î¶°ÇÑ ¸ñÀûÀ¸·Îµµ »ç¿ëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. SubversionÀº,svn:¶ó°í ÇÑ´Ù ÇÁ·¹ÇȽº°¡ ºÙÀº ¼Ó¼º¸íÀ» »ç¿ëÇÏ´Â °ÍÀ» ±ÝÁöÇϰí ÀÖÀ» »ÓÀÔ´Ï´Ù. À̰ÍÀÌ, Subversion ÀÚ½ÅÀÌ »ç¿ëÇÏ´Â ¼Ó¼ºÀÇ À̸§ °ø°£ÀÔ´Ï´Ù. ½ÇÁ¦, SubversionÀº, ÆÄÀÏÀ̳ª µð·ºÅ丮¿¡ Ư¼öÇÑ È¿°ú¸¦ ¹Ì °Í °°Àº ¾î¶² Á¾·ùÀÇ ¼Ó¼ºÀ» Á¤ÀÇÇϰí ÀÖ½À´Ï´Ù. ÀÌ ¸¶µð¿¡¼­´Â ÀÌ ½Åºñ¸¦ ¼³¸íÇØ, ¾î¶»°Ô ÀÌ°Íµé Æ¯¼öÇÑ ¼Ó¼ºÀÌ, ´ç½ÅÀÇ Subversion ¶óÀÌÇÁ¸¦ Á¶±Ý ÆíÇÏ°Ô Çұ ÀÓÇØ¼­ ¼³¸íÇÕ´Ï´Ù.


1.2.3.1. svn:executable

svn:executable ¼Ó¼ºÀº ¹Ý ÀÚµ¿ÀûÀÎ ¹æ½ÄÀ¸·Î ¹öÀü °ü¸®µÇ°í ÀÖ´Â ÆÄÀÏÀÇ ÆÄÀÏ ½Ã½ºÅÛ»óÀÇ ½ÇÇà ±ÇÇÑÀ» Á¦¾îÇϴµ¥ »ç¿ëµË´Ï´Ù. ÀÌ ¼Ó¼ºÀº ¼Ó¼ºÄ¡¸¦ ±»ÀÌ Á¤ÀÇ ÇÏÁö ¾Ê½À´Ï´Ù´ÜÁö ¼Ó¼º¸íÀÌ Á¸ÀçÇϰí ÀÖÀ¸¸é, Subversion¿¡ ÀÇÇØ ½ÇÇà ºñÆ® ÇÏÁö¸¸ º¸Á¸µË´Ï´Ù. ÀÌ ¼Ó¼ºÀ» »èÁ¦Çϸé(ÀÚ), ½ÇÇà ºñÆ®ÀÇ ÀüÁ¦¾î´Â operating system¿¡ µÇµ¹·ÁÁý´Ï´Ù.

¸¹Àº operating system»ó¿¡¼­, Ä¿¸àµå·Î¼­ ÆÄÀÏÀ» ½ÇÇàÇÒ ¼ö ÀÖÀ»Áö ¾î¶³Áö´Â ½ÇÇà ºñÆ®ÀÇ Á¸Àç¿¡ ÀÇÇØ Áö¹èµÇ°í ÀÖ½À´Ï´Ù. ÀÌ ºñÆ®´Â º¸Åë, µðÆúÆ®¿¡¼­´Â ¹«È¿°¡ µÇ°í ÀÖ¾î, Çʿ信 µû¶ó¼­ À¯Àú ÇÏÁö¸¸ ¸í½ÃÀûÀ¸·Î À¯È¿ÇÏ°Ô ÇØ ÁÙ Çʿ䰡 ÀÖ½À´Ï´Ù. ÀÛ¾÷ Ä«ÇÇÁß¿¡¼­´Â, »õ·Ó´Ù ÆÄÀÏÀÌ Ç×»ó ¸¸µé¾îÁ® ±× ÇÑÆí, °»½Å 󸮸¦ ÅëÇØ¼­ Á¸ÀçÇϰí ÀÖ´Ù ÆÄÀÏÀÇ »õ·Î¿î ¹öÀüÀ» ¹Þ½À´Ï´Ù. À̰ÍÀº, ¾î´À ÆÄÀÏÀÇ ½ÇÇà ºñÆ®¸¦ À¯È¿ÇÏ°Ô ÇÏ°í ³ª¼­ ÀÛ¾÷ Ä«ÇǸ¦ °»½ÅÇßÀ» °æ¿ì, ¸¸¾à °»½Å ó¸®ÀÇ ÀϰüÀ¸·Î¼­ ±× ÆÄÀÏÀÌ º¯°æµÇ¾úÀ» ¶§¿¡ ±× ½ÇÇà ºñÆ®´Â ¹«È¿°¡ µÇ¾î ³¡³¾ °¡´É¼ºÀÌ ÀÖ´Ù°í ÇÏ´Â °ÍÀÔ´Ï´Ù. °Å±â¼­ SubversionÀº svn:executable ÀÚ»êÀ», ½ÇÇà ºñÆ®¸¦ À¯È¿ÇÏ°Ô °è¼Ó Çϱâ À§Çؼ­(¶§¹®¿¡) ÁغñÇØ ÀÖ½À´Ï´Ù.

ÀÌ ¼Ó¼ºÀº FAT32³ª NTFS¿Í °°ÀÌ ½ÇÇà±ÇÇѺñÆ®ÀÇ °³³äÀ» °¡ÁöÁö ¾Ê´Â ÆÄÀÏ ½Ã½ºÅÛ À§¿¡¼­´Â ¾Æ¹« È¿°úµµ ¾ø½À´Ï´Ù. [4] ¶Ç, ±×°ÍÀº Á¤ÀÇµÈ °ªÀ» °¡ÁöÁö ¾Ê½À´Ï´Ù¸¸, SubversionÀº ÀÌ ¼Ó¼ºÀÌ ¼³Á¤µÈ´Ù ¶ó°í °­Á¦ÀûÀ¸·Î ±× °ªÀ»*·Î ÇÕ´Ï´Ù. ¸¶Áö¸·À¸·Î, ÀÌ ¼Ó¼ºÀº ÆÄÀÏ ¿¡ ´ëÇØ¼­¸¸ À¯È¿ÇØ, µð·ºÅ丮¿¡ ´ëÇØ¼­´Â Àǹ̸¦ °¡ÁöÁö ¾Ê½À´Ï´Ù.


1.2.3.2. svn:mime-type

svn:mime-type ¼Ó¼ºÀº, Subversion¿¡¼­´Â ¿©·¯°¡Áö ¸ñÀûÀ¸·Î »ç¿ëµË´Ï´Ù. ÆÄÀÏ ÀÚ½ÅÀÇ Multipurpose Internet Mail Extensions (MIME) »óÀÇ ºÐ·ùÀÇ ±â¾ï Àå¼Ò¿¡¼­ ÀÖ´Â °Í°ú µ¿½Ã¿¡, ÀÌ ¼Ó¼ºÀÇ °ªÀº Subversion ÀÚ½ÅÀÇ ¸î°³ÀÇ µ¿ÀÛ ¸ðµå¸¦ °áÁ¤ÇÕ´Ï´Ù.

¿¹¸¦ µé¾î, ÆÄÀÏÀÇsvn:mime-type ¼Ó¼ºÀÌ ºñÅØ½ºÆ® MIME ŸÀÔÀÎ °æ¿ì(¿¹¿Ü´Â ÀÖµç, ÀϹÝÀûÀ¸·Î´Â,text/ Àܷ̿Π½ÃÀ۵Ǵ °Í °°Àº °æ¿ì), SubversionÀº ÆÄÀÏ ³»¿ëÀº ¹ÙÀ̳ʸ®À̶ó°í °¡Á¤ ÇÕ´Ï´ÙÁï, °¡µ¶ÀÌ ¾Æ´Ñ . ÀÌ ÀÌÁ¡ÀÇ Çϳª´Â, Subversion ÇÏÁö¸¸, ÀÛ¾÷ Ä«ÇÇ °»½Å½Ã¿¡, ¼­¹ö·ÎºÎÅÍ ¹Þ´Â º¯°æÁ¡À», ¹®¸Æ¿¡ ÀÇÁ¸ÇØ Çà ´ÜÀ§¿¡ merge ÇÏ´Â ±â´ÉÀ» Á¦°øÇÏ´Â °ÍÀÔ´Ï´Ù. ±×·¯³ª, ¹ÙÀ̳ʸ® µ¥ÀÌÅͶó°í ¹ÏÀ» ¼ö ÀÖ¾î ÀÖ´Â ÆÄÀÏ¿¡ ´ëÇØ¼­´Â"Çà"°ú °°Àº °³³äÀº ÀüÇô ¾ø½À´Ï´Ù. ±×·¡¼­, ÀÌ·¯ÇÑ ÆÄÀÏ¿¡ ´ëÇØ¼­´Â, SubversionÀº °»½Å½Ã¿¡ ¹®¸Æ merge¸¦ ½ÇÇàÇÏ·Á°í´Â ÇÏÁö ¾Ê½À´Ï´Ù. ±× ´ë½Å, ¹ÙÀ̳ʸ®ÀÇ ÀÛ¾÷ Ä«ÇÇ ÆÄÀÏÀ» ¼öÁ¤ÇØ, ±×°ÍÀÌ °»½ÅµÇ´Â °æ¿ì´Â ¾ðÁ¦¶óµµ, ´ç½ÅÀÇ ÆÄÀÏÀº . orig È®ÀåÀÚ(extension)¸¦ ºÙÀÎ ÇüÅ·Π¸íĪ º¯°æµÇ¾î ±×¸®°í SubversionÀº °»½ÅÀ¸·Î ¹Þ´Â º¯°æÀ» Æ÷ÇÔÇÏÁö¸¸, ´ç½Å ÀÚ½ÅÀÇ ·ÎÄÃÀÎ ¼öÁ¤Àº Æ÷ÇÔÇÏÁö ¾ÊÀº »õ·Î¿î ÀÛ¾÷ Ä«ÇÇ ÆÄÀÏÀ», ¿ø·¡ÀÇ À̸§À¸·Î º¸Á¸ÇÕ´Ï´Ù. ÀÌ ÇൿÀº, ¹®¸Æ merge ÇÒ ¼ö ¾ø´Â ÆÄÀÏ¿¡ ¹®¸Æ merge¸¦ ½ÇÇàÇÏ·Á°í ÇÏ´Â À߸øÇÑ Àǵµ·ÎºÎÅÍ À¯Àú¸¦ Áö۱â (À§ÇØ)¶§¹®ÀÔ´Ï´Ù.

SubversionÀº, À¯Àú¿¡ ´ëÇØ¼­, ¹ÙÀ̳븮ÇÊµå °ËÃâ ¾Ë°í¸®ÁòÀ» ½ÇÇàÇÏ´Â °ÍÀ¸·Î À¯Àú¸¦ µ½½À´Ï´Ù. À̰ÍÀºsvn import (¿Í)°úsvn add ¼­ºê Ä¿¸àµå·Î ½ÇÇàµË´Ï´Ù. ÀÌ·¯ÇÑ ¼­ºê Ä¿¸àµå´Â ÆÄÀÏÀÌ"¹ÙÀ̳ʸ® °°Àº°¡"¾î¶²°¡ (À»)¸¦ ÃßÃøÇÏ´Â ¹ß°ßÀûÀÎ ¹æ¹ýÀ» »ç¿ëÇØ, ±×·¸´Ù°í »ý°¢µÇ´Â ¸ðµç ÆÄÀÏÀÇ svn:mime-type ¼Ó¼ºÀ» application/octet-stream ·Î ¼³Á¤ÇÕ´Ï´Ù. ("À̰ÍÀº ¾Æ¸£¹ÙÀÌÆ®ÀÇ ÁÙÀÔ´Ï´Ù" ¶ó°í ÇÏ´Â ÀϹÝÀûÀÎ MIME ŸÀÔÀÔ´Ï´Ù) ¸¸¾à Subversion°¡ À߸øÇÑ ÃßÃøÀ» Çϰųªsvn:mime-type ¼Ó¼ºÀ» Á» ´õ Á¤È®ÇÏ°Ô ¼³Á¤ÇÏ°í ½ÍÀº °æ¿ì´Â¾Æ¸¶,image/png ¶óµçÁö application/x-shockwave-flash¶óµçÁö¾ðÁ¦¶óµµ ¼Ó¼ºÀ» ¼ÕÀ¸·Î »èÁ¦Çϰųª ¼öÁ¤ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.

¸¶Áö¸·À¸·Î, ¸¸¾àsvn:mime-type¼Ó¼ºÀÌ ¼³Á¤µÇ¾î ÀÖÀ¸¸é(ÀÚ), SubversionÀÇ Apache ¸ðµâÀº GET ¿ä±¸¿¡ ÀÀ´äÇÒ ¶§, HTTP Çì´õÀÇ Content-type:¿¡ ÀÌ °ªÀ» »ç¿ëÇÕ´Ï´Ù. À̰ÍÀº ºê¶ó¿ìÀú¸¦ »ç¿ëÇØ ÀúÀå¼Ò(repository)¸¦ Á¶»çÇÒ ¶§, ±× ÆÄÀÏÀ» ¾î¶»°Ô Ç¥½ÃÇϸé ÁÁÀº°¡ÀÇ Áß¿äÇÑ ´Ü¼­°¡ µË´Ï´Ù.


1.2.3.3. svn:ignore

svn:ignore ¼Ó¼ºÀº ¾î¶² Á¾·ùÀÇ Subversion Á¶ÀÛÀÌ ¹«½ÃÇÑ´Ù ÆÄÀÏ ÆÐÅÏÀÇ ¸®½ºÆ®¸¦ Æ÷ÇÔÇϰí ÀÖ½À´Ï´Ù. ¾Æ¸¶ °¡Àå ÀÚÁÖ(Àß) ÀÌ¿ëµÈ´Ù Ư¼ö ¼Ó¼ºÀ¸·Î,global-ignores ½ÇÇà½Ã ¼³Á¤ ¿É¼Ç°ú ÇÔ²² ÀÌ¿ëµË´Ï´Ù. (>ÂüÁ¶). ±×°ÍÀ» »ç¿ëÇØ, ¹öÀüÈ­µÇ¾î ÀÖÁö ¾ÊÀº ÆÄÀϰú µð·ºÅ丮¸¦ svn status¿Í °°Àº Ä¿¸àµåÀÇ ´ë»óÀ¸·ÎºÎÅÍ Á¦¿ÜÇÕ´Ï´Ù.

svn:ignore¼Ó¼ºÀÇ ¹èÈÄ¿¡ ÀÖ´Â ÀÌÀ¯´Â °£´ÜÇÏ°Ô ¼³¸íÇÒ ¼ö ÀÖ½À´Ï´Ù. SubversionÀº, ÀÛ¾÷ Ä«ÇÇ µð·ºÅ丮¿¡ ÀÖ´Â ¸ðµç ÆÄÀϰú ¼­ºê µð·ºÅ丮 ÇÏÁö¸¸ ¹öÀü °ü¸®ÇÏ¿¡ ÀÖ´Ù°í´Â °¡Á¤ÇÏÁö ¾Ê½À´Ï´Ù. ¸®¼Ò½º´Âsvn add (À»)¸¦ »ç¿ëÇØ ¸í½ÃÀûÀ¸·Î Subversion °ü¸®ÇÏ¿¡ µÑ Çʿ䰡 ÀÖ½À´Ï´Ù. °á°úÀûÀ¸·Î ÀÚÁÖ ÀÛ¾÷ Ä«ÇÇÁßÀÌ ¸¹Àº ¸®¼Ò½º°¡ ¹öÀü °ü¸®ÇÏ¿¡ ¾ø´Â °ÍÀÌ ÀÖ½À´Ï´Ù.

svn status Ä¿¸àµå´Â Ãâ·ÂÀÇ ÀϺημ­ ÀÛ¾÷ Ä«ÇÇ¿¡ ¾î´À ¹öÀüÈ­µÇ¾î ÀÖÁö ¾ÊÀº ÆÄÀÏÀ̳ª »çºêµð·¹Æ®Å©¸®¸¦, global-ignores ¿É¼Ç(ȤÀº ±× ÆíÀÔÀÇ µðÆúƮġ¿¡ ÀÇÇϰí)¿¡ ÀÇÇØ, ¾ÆÁ÷ ÇÊÅ͵Ǿî ÀÖÁö ¾ÊÀº °Í¿¡ ´ëÇÑ º¸°í Ç¥½ÃÇÕ´Ï´Ù. ÀÌ¿Í °°ÀÌ ÇൿÇÏ´Â °ÍÀº, À¯Àú°¡, ¾î´À ¸®¼Ò½º¸¦ ¹öÀü °ü¸®ÇÏ¿¡ Ãß°¡ÇÏ´Â °ÍÀ» ÀؾúÀ» ¶§¿¡, ±×°ÍÀ» ¾Ë ¼ö ÀÖµµ·Ï(µíÀÌ) Çϱâ (À§ÇØ)¶§¹®ÀÔ´Ï´Ù.

±×·¯³ª SubversionÀº ¹«½ÃÇØ¾ß ÇÒ ¸ðµç ¸®¼Ò½ºÀÇ À̸§À» ÃßÃøÇÒ ¼ö ÀÖ´Ù (¶æ)ÀÌÀ¯°¡ ¾Æ´Õ´Ï´Ù. °Ô´Ù°¡ ¸Å¿ì ÀÚÁÖ(Àß), ƯÁ¤ÀÇ ÀúÀå¼Ò(repository)ÀÇ, ¸ðµç ÀÛ¾÷ Ä«ÇÇÁß¿¡¼­ ¹«½ÃÇÏ°í ½ÍÀº °ÍÀÌ Àֱ⵵ ÇÕ´Ï´Ù. ±× ÀúÀå¼Ò(repository)ÀÇ ¸ðµç À¯Àú¿¡°Ô, °¢°¢ÀÇ ½ÇÇà½Ã ¼³Á¤ area¿¡ ƯÁ¤ÀÇ ¸®¼Ò½º ÆÐÅÏÀ» Ãß°¡Çϵµ·Ï(µíÀÌ) °­¿äÇÏ´Â °ÍÀº, ºÎ´ãÀÌ µÈ´Ù ¸¸ÀÌ ¾Æ´Ï°í, À¯Àú°¡ üũ¾Æ¿ô ÇÑ ´Ù¸¥ ÀÛ¾÷ Ä«ÇÇÀÇ ¼³Á¤¿¡ ÀÇÇØ ¸Á°¡Á® ¹ö¸®´Â À§ÇèÀÌ ÀÖ½À´Ï´Ù.

À̰ÍÀ» ÇØ°áÇÏ·Á¸é , ¾î´À µð·ºÅ丮¿¡ ³ªÅ¸³¯Áöµµ ¸ð¸£´Â ¸®¼Ò½º¸¦ ±¸º°ÇØ ¹«½ÃÇÒ ¼ö ÀÖ´Â °Í °°Àº ÆÐÅÏÀ», µð·ºÅ丮 ÀÚü¿¡ º¸Á¸ÇÏ´Â °ÍÀÔ´Ï´Ù. ¹öÀüÈ­ µÇÁö ¾Ê´Â ¸®¼Ò½º°¡ ÁÁ°Ô ÀÖ´Â ¿¹·Î, ±âº»ÀûÀ¸·Î´Â µð·ºÅ丮 ¸¶´Ù µ¶Æ¯ÇÏÁö¸¸, ³ªÅ¸³ª´Â ÀÏÀÌ ÀÖ´Â °ÍÀº, ÇÁ·Î±×·¥ÀÇ ÄÄÆÄÀϷκÎÅÍÀÇ Ãâ·Â µîÀÌ ÀÖ½À´Ï´Ù. ȤÀºÀÌ º»ÀÚ½ÅÀ» ¿¹¸¦ µé¸é HTML, PDF, PostScript ÆÄÀϵîÀ¸·Î, À̰͵éÀº ÀÖ´Â DocBook XML ÀÔ·Â ÆÄÀÏÀ», Á» ´õ Àб⠽¬¿î Ãâ·Â Çü½ÄÀ¸·Î º¯È¯ÇÑ °á°ú »ý¼ºµÇ´Â °ÍÀÔ´Ï´Ù.

ÀÌ·¯ÇÑ Àǹ̷Î,svn:ignore¼Ó¼ºÀÌ ÇØ°á¹ýÀ¸·Î µË´Ï´Ù. ±× °ªÀº ÆÄÀÏ ÆÐÅÏÀÇ º¹¼öÇàÀÇ ¸ðÀÓÀ¸·Î, ÀÏÇà¿¡ ÇϳªÀÇ ÆÐÅÏÀ» ¾¹´Ï´Ù. ¼Ó¼ºÀº, ÆÐÅÏÀ» Àû¿ëÇÏ°í ½ÍÀ¸¸é »ý°¢ÇÏ´Â µð·ºÅ丮·Î ¼³Á¤µË´Ï´Ù. [5] ¿¹¸¦ µé¾î,svn status·ÎºÎÅÍÀÇ ÀÌÇÏÀÇ Ãâ·ÂÀÌ ÀÖ¾ú´Ù°í ÇÕ´Ï´Ù:

$ svn status calc
 M     calc/button.c
?       calc/calculator
?       calc/data.c
?       calc/debug_log
?       calc/debug_log. 1
?       calc/debug_log. 2. gz
?       calc/debug_log. 3. gz

ÀÌ ¿¹¿¡¼­´Â,button.c¿¡ ´ëÇѵ¥¿¡Àΰ¡ÀÇ ¼Ó¼ºÀÇ º¯°æÀ» Çß½À´Ï´Ù¸¸, ÀÛ¾÷ Ä«ÇÇÁß¿¡´Â ¸î°³ÀÇ ¹öÀü °ü¸®ÇØ ¾ø´Â ÆÄÀϵµ ÀÖ¾î, ±×°ÍÀº ÀÌ °æ¿ì, ¿ø½Ã ÄÚµå·ÎºÎÅÍ ÄÄÆÄÀÏ ÇÑcalculator ÇÁ·Î±×·¥, data.c¶ó´Â À̸§ÀÇ ¿ø½Ã ÄÚµå, ±×¸®°í, µð¹ö±× Ãâ·ÂÀÇ ·Î±× ÆÄÀÏÀÔ´Ï´Ù. À̰ÍÀ¸·Î, ºôµå ½Ã½ºÅÛÀº Ç×»ó calculator¸¦ »ý¼ºÇÏ´Â °ÍÀ» ¾Ë°í ÀÖ½À´Ï´Ù. [6] ±×¸®°í, Å×½ºÆ® ÇÁ·Î±×·¥Àº Ç×»ó ÀÌ·¯ÇÑ µð¹ö±× ·Î±× ÆÄÀÏÀ» ³²±â´Â Àϵµ ¾Ë°í ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ »ç½ÇÀº ´ç½ÅÀÇ °Í ¸¸ÀÌ ¾Æ´Ï°í, ¾î´À ÀÛ¾÷ Ä«ÇÇ¿¡ À־µµ ¿Ã¹Ù¸¥ ÀÏÀÔ´Ï´Ù. ±×¸®°ísvn status (À»)¸¦ ½ÇÇàÇÒ ¶§¸¶´Ù ÀÌ·¯ÇÑ ÆÄÀÏÀ» º¸´Â °Í¿¡ Èï¹Ì°¡ ÀÖ´Â °ÍÀº ¾Æ´Ñ °Íµµ ¾Ë°í ÀÖ½À´Ï´Ù. ±×·¡¼­,svn propedit svn:ignore calc (À»)¸¦ »ç¿ëÇØ ¸î°³ÀÇ ¹«½Ã ÆÐÅÏÀ»calc µð·ºÅ丮¿¡ Ãß°¡ÇÕ´Ï´Ù. ¿¹¸¦ µé¾îsvn:ignore ¼Ó¼ºÀÇ »õ·Ó´Ù °ªÀ¸·Î¼­ ÀÌÇϸ¦ Ãß°¡ÇÒÁöµµ ¸ð¸¨´Ï´Ù:

calculator
debug_log*

ÀÌ ¼Ó¼ºÀ» Ãß°¡Çϸé(ÀÚ),calcµð·ºÅ丮»ó¿¡ ·ÎÄÃÀÎ ¼Ó¼º º¯°æÀ» ¼Õ¿¡ ³ÖÀ» ¼ö°¡ ÀÖ½À´Ï´Ù. ±×·¯³ª,svn status Ãâ·Â¿¡ ´ëÇØ ¹«¾ùÀÌ ¹Ù²î¾ú´ÂÁö¸¦ ÁÖÀÇÇØ ÁÖ¼¼¿ä:

$ svn status
 M     calc
 M     calc/button.c
?       calc/data.c

À̰ÍÀ¸·Î, º¸°í ½ÍÁö ¾ÊÀº ÆÄÀÏÀÌ Ãâ·ÂÀ¸·ÎºÎÅÍ ÀüºÎ »ç¶óÁ³½À´Ï´Ù. ¹°·Ð ÀÌ·¯ÇÑ ÆÄÀÏÀº ¾ÆÁ÷ ÀÛ¾÷ Ä«ÇÇ¿¡ ÀÖ½À´Ï´Ù. Subversion ´Â ±×°ÍÀÌ Á¸ÀçÇϰí ÀÖ¾î, ¹öÀü °ü¸®ÇÏ¿¡ ¾ø´Â °Í¿¡ µµÂøÇØ (Àº)´Â ¾Æ¹«°Íµµ ¸»ÇÏÁö ¾Ê½À´Ï´Ù. À̰ÍÀ¸·Î, Ç¥½Ã·ÎºÎÅÍ ½Ã½ÃÇÑ ÆÄÀÏÀ» ÀüºÎ ¾ø¾Ø´Ù ÇÑÆí, Á» ´õ ÁÖÀÇÇÒ Çʿ䰡 ÀÖ´Â ¾ÆÀÌÅÛ¿¡ ´ëÇØ¼­´Â ±×´ë·Î ÇÏ´Â ¿¹¸¦ µé¾î, ¹öÀü °ü¸®ÇÏ¿¡ Ãß°¡ÇÏ´Â °ÍÀ» ÀØÀº ¿ø½Ã ÄÚµå ÆÄÀÏ µîÀº, ¿©ÀüÈ÷ Ç¥½ÃµË´Ï´Ù.

¹«½ÃÇÏ´Â ÆÄÀÏÀ» º¸°í ½ÍÀº °æ¿ì´Â, Subversion¿¡ --no-ignore ¿É¼ÇÀ» °Ç³×ÁÙ ¼ö°¡ ÀÖ½À´Ï´Ù:

$ svn status --no-ignore
 M     calc/button.c
I      calc/calculator
?       calc/data.c
I      calc/debug_log
I      calc/debug_log. 1
I      calc/debug_log. 2. gz
I      calc/debug_log. 3. gz

1.2.3.4. svn:keywords

Subversion ´ÂŰ¿öµå¸¦ ÆÄÀÏ ÀÚ½ÅÀÇ ³»¿ë°ú ÇØ ¿Å°Ü³õ´Â ±â´ÉÀÌ ÀÖ½À´Ï´ÙŰ¿öµå¶õ, ¹öÀüÈ­ µÇ¾ú´Ù ÆÄÀÏ¿¡ ´ëÇÑ µµ¿òÀÌ µÇ´Â ÀÛ°í µ¿ÀûÀÎ Á¤º¸ÀÔ´Ï´Ù . Ű¿öµå´Â ÀϹÝÀûÀ¸·Î ÆÄÀÏÀÌ ¸¶Áö¸·¿¡ ¼öÁ¤µÇ¾úÀ» ¶§ °¢¿¡ ´ëÇÑ Á¤º¸¸¦ ³ªÅ¸³»°í ÀÖ½À´Ï´Ù. ÀÌ Á¤º¸´Â ÆÄÀÏÀÌ º¯°æµÉ ¶§¸¶´Ù ¹Ù²î¾î, ÇÑÃþ ´õ Áß¿äÇÑ ÀÏ¿¡´Â ÆÄÀÏÀÌ º¯°æµÈÁ÷ÈÄ ¿¡ ¹Ù²î¹Ç·Î, ±×°ÍÀº µ¥ÀÌÅ͸¦ ¿ÏÀüÇÏ°Ô ÃֽŠ»óÅ¿¡ À¯ÁöÇÏ´Â °ÍÀº, ¹öÀü °ü¸® ½Ã½ºÅÛ ÀÌ¿Ü ¸ñ°ú °°Àº ¼ö´Ü¿¡ À־µµ ±ÍÂúÀº °ÍÀÔ´Ï´Ù. ÆíÁýÇÑ Àΰ£¿¡°Ô ¸Ã±â¸é, ±× Á¤º¸´Â ÇÊ¿¬ÀûÀ¸·Î ³°¾ÆÁý´Ï´Ù.

¿¹¸¦ µé¾î, ¼öÁ¤µÈ ¸¶Áö¸· ÀÏÀÚ¸¦ Ç¥½ÃÇÏ°í ½Í´Ù°í »ý°¢Çϰí ÀÖ´Â ¹®¼­°¡ ÀÖ´Ù°í ÇÕ´Ï´Ù. ´ç½ÅÀº, ±× ¹®¼­ÀÇ ¸ðµç ÀúÀÚ¿¡°Ô, º¯°æÁ¡À» Ä¿¹ÔÇϱâ Á÷Àü¿¡, ¸¶Áö¸·¿¡ º¯°æµÈ ÀÚ±¹À» ³ªÅ¸³»´Â, ¹®¼­ÀÇ ÀϺθ¦ Á¶±Ý ¹Ù²Ù´Â ÀÛ¾÷À» °­¿äÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ±×·¯³ª, Á¶¸¸°£¿¡, ´©±º°¡ À̰ÍÀ» ÀØ´Â »ç¶÷ÀÌ ³ª¿À°ÚÁö¿ä. ±×·¸°Ô ÇÏ´Â ´ë½Å¿¡, ´ÜÁö Subversion¿¡ ´ëÇØ¼­LastChangedDate Ű¿öµå¿¡ ´ëÇØ¼­ Ű¿öµå ġȯÀ» ½ÇÇàÇϵµ·Ï ºÎŹÇսôÙ. ´ç½ÅÀº ¹®¼­ÁßÀÇkeyword anchor ¸¦ µÎ´Â °Í ±×¸®°í Ű¿öµå°¡ »ðÀÔµÈ, ÆÄÀÏÁßÀÇ ÀÓÀÇÀÇ Àå¼Ò¸¦ Á¦¾îÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ÀÌ ¿¨Ä¿ ij¸¯ÅÍ ¶óÀÎÀº, ´ÜÁö$ KeywordName$¿Í °°ÀÌ ¼­½ÄÀΰ¡ µÇ¾ú´Ù ij¸¯ÅÍ ¶óÀÎÀÔ´Ï´Ù.

Subversion ´Â, ġȯ°¡´ÉÀΠŰ¿öµåÀÇ ¸®½ºÆ®¸¦ Á¤ÀÇÇϰí ÀÖ½À´Ï´Ù. ±× ¸®½ºÆ®´Â, ÀÌÇÏÀÇ ´Ù¼¸ °³ÀÇ Å°¿öµå·Î, ±× ¸î°³Àΰ¡¿¡ ´ëÇØ¼­´Â Á» ´õ ªÀº º°¸íÀ» »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù:

LastChangedDate

ÀÌ Å°¿öµå´Â ÆÄÀÏÀÌ ÀúÀå¼Ò(repository)Áß¿¡¼­ ¼öÁ¤µÈ ¸¶Áö¸· ½Ã°¢ (À»)¸¦ ³ªÅ¸³»,$LastChangedDate: 2002-07-22 21:42:37 -0700 (Mon, 22 Jul 2002) $(¿Í)°ú °°Àº °ÍÀÔ´Ï´Ù. À̰ÍÀº Date¿Í »ý·« ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

LastChangedRevision

ÀÌ Å°¿öµå´Â, ÆÄÀÏÀÌ ÀúÀå¼Ò(repository)·Î º¯°æµÈ ¸¶Áö¸· ¸®ºñÀü (À»)¸¦ ³ªÅ¸³»,$LastChangedRevision: 144 $(¿Í)°ú °°Àº °ÍÀÔ´Ï´Ù. À̰ÍÀº Rev¿Í »ý·« ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

LastChangedBy

ÀÌ Å°¿öµå´Â ÀúÀå¼Ò(repository)ÁßÀÇ ÀÌ ÆÄÀÏÀ» ¸¶Áö¸·À¸·Î º¯°æÇÑ À¯Àú (À»)¸¦ ³ªÅ¸³»,$LastChangedBy: harry $(¿Í)°ú °°Àº °ÍÀÔ´Ï´Ù. À̰ÍÀº Author¿Í »ý·« ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

HeadURL

ÀÌ Å°¿öµå´Â ÀúÀå¼Ò(repository)ÁßÀÇ ÆÄÀÏÀÇ ¸¶Áö¸· ¹öÀü ¿¡ ´ëÇÑ ¿ÏÀüÇÑ URL¸¦ ³ªÅ¸³», $HeadURL: http://svn.collab.net/repos/trunk/README $ (¿Í)°ú °°Àº °ÍÀÔ´Ï´Ù. À̰ÍÀºURL¿Í »ý·« ÇÑ´Ù Àϵµ ÇÒ ¼ö ÀÖ½À´Ï´Ù.

Id

ÀÌ Å°¿öµå´Â, ´Ù¸¥ Ű¿öµåÀÇ ¾ÐÃàµÈ Æí¼ºÀÔ´Ï´Ù. ±× ġȯÀº, $Id: calc.c 148 2002-07-28 21:30:43Z sally $(¿Í)°ú °°Àº °ÍÀ¸·Î, ÆÄÀÏ calc.c °¡ ¸¶Áö¸·¿¡ º¯°æµÈ °ÍÀº ¸®ºñÀü 148 À¸·Î, ½Ã°£Àº July 28, 2002 ÀÇ ¹ã, º¯°æÇÑ »ç¶÷Àº, sallyÀÎ °ÍÀ» ÀǹÌÇϰí ÀÖ½À´Ï´Ù.

´ÜÁö Ű¿öµå ¿¨Ä¿ ÅØ½ºÆ®¸¦ ÆÄÀÏ¿¡ µ¡ºÙ¿©µµ ¾Æ¹«°Íµµ ÀϾÁö ¾Ê½À´Ï´Ù. Subversion ´Â ¸í½ÃÀû¿¡ ±×·¸°Ô ÇÏ´Â °ÍÀ» ¿ä±¸ÇÏÁö ¾ÊÀ¸¸é, °áÄÚ ÅØ½ºÆ® ġȯÀ» ÇÏ·Á°í´Â ÇÏÁö ¾Ê½À´Ï´Ù. °á±¹, ´ç½ÅÀº, ¾î¶»°Ô ÇØ Ű¿öµå¸¦ »ç¿ëÇұ ´ëÇÑ ¹®¼­¸¦ [7] ¾²¸é, ġȯµÇÁö ¾Ê´Â Ű¿öµå ¿¨Ä¿ÀÇ ÈǸ¢ÇÑ ¿¹ÀÚ½ÅÀÌ Subversion¿¡ µû¶ó¼­ ġȯµÇ¾î ¹ö¸®´Â °ÍÀ» ¹Ù¶óÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù.

Subversion°¡ ƯÁ¤ÀÇ ÆÄÀÏ À§¿¡¼­ Ű¿öµå¸¦ ġȯÇÏ´ÂÁö ¾î¶²Áö¸¦ ¼³Á¤ Çϱâ À§Çؼ­, ¼Ó¼º °ü·ÃÀÇ ¼­ºê Ä¿¸àµå·Î µ¹¾Æ¿É´Ï´Ù. svn:keywords ¼Ó¼ºÀº, ¹öÀü ÆÄÀÏ·Î ¼³Á¤ µÇ¾úÀ» °æ¿ì´Â, ±× ÆÄÀÏÀÇ ¾î´À Ű¿öµå°¡ ġȯµÉ±îÀÇ Á¦¾î¸¦ ÇÕ´Ï´Ù. ±× °ªÀº, °ø¹é¿¡¼­ ´Ü¶ôÁö¾îÁø Ű¿öµå ¸íĪÀ̳ª º°¸íÀÇ ¸®½ºÆ®·Î, Àü¿¡ ¾´ Å×À̺í¾È¿¡ ÀÖ´Â °ÍÀÇ ¾î¶² °ÍÀΰ¡°¡ µË´Ï´Ù.

¿¹¸¦ µé¾î,weather.txt ¶ó´Â À̸§ÀÇ ¹öÀü °ü¸®µÇ°í ÀÖ´Â ÆÄÀÏÀÌ ÀÖ¾î, ÀÌÇÏ °°´Ù°í ÇÕ´Ï´Ù:

Here is the latest report from the front lines.
$LastChangedDate$
$Rev$
Cumulus clouds are appearing more frequently as summer approaches.

svn:keywords ¼Ó¼ºÀÌ ÆÄÀÏ·Î ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀ¸¸é SubversionÀº ±»ÀÌ Æ¯º°ÇÑ (ÀÏ)°ÍÀº ÇÏÁö ¾Ê½À´Ï´Ù. ±×·±µ¥, LastChangedDate Ű¿öµåÀÇ Ä¡È¯À» À¯È¿ÇÏ°Ô ÇØ º¾½Ã´Ù.

$ svn propset svn:keywords "LastChangedDate Author" weather.txt
property `svn:keywords' set on 'weather.txt'
$

À̰ÍÀ¸·Î,weather.txt ÀÇ ·ÎÄà ¼Ó¼ºÀ» º¯°æ ¼¶ Çß´Ù. ±× ÆÄÀÏÀÇ ³»¿ë¿¡´Â ¾Æ¹« º¯È­µµ ¾øÀ» °ÍÀÔ´Ï´Ù(¼Ó¼ºÀ» ¼³Á¤ Çϱâ ÀüÀ¸·Î º¯°æÇϰí ÀÖÁö ¾ÊÀ¸¸é). ÆÄÀÏÀº Ű¿öµå ¿¨Ä¿ RevŰ¿öµå¸¦ Æ÷ÇÔÇϰí ÀÖ¾ú´Ù°í ÇÕ´Ï´Ù. ¿ì¸®´Â ÀÌ Å°¿öµå¸¦ ¾ÆÁ÷ ¼Ó¼ºÄ¡·Î¼­ ¼³Á¤ÇØ ÀÖÁö ¾Ê½À´Ï´Ù. SubversionÀº ÆÄÀÏ ¿¡ Á¸ÀçÇÏÁö ¾Ê´Â Ű¿öµå¸¦ ġȯÇÏ´Â ¿ä±¸¸¦ ¹«½ÃÇϰí, svn:keywords ¼Ó¼ºÄ¡¿¡ Á¸ÀçÇÏÁö ¾Ê´Â Ű¿öµå¸¦ ġȯÇÏ´Â Àϵµ ¾ø½À´Ï´Ù.

ÀÌ ¼Ó¼ºÀÇ º¯°æÀ» Ä¿¹ÔÇÑ Á÷ÈÄ, SubversionÀº ÀÛ¾÷ ÆÄÀÏÀ», »õ·Ó´Ù ġȯ ÅØ½ºÆ®·Î °»½ÅÇÕ´Ï´Ù. Ű¿öµå ¿¨Ä¿ $LastChangedDate$¸¦ º¸´Â ´ë½Å¿¡, ġȯ °á°ú¸¦ º¸°Ô µÇ°ÚÁö¿ä. ÀÌ °á°ú´Â Ű¿öµåÀÇ À̸§À» Æ÷ÇÔÇØ, ´Þ·¯ ±âÈ£ ij¸¯ÅÍ($)·Î ¹­¾îÁö°í ÀÖ½À´Ï´Ù. ±×¸®°í ¸»ÇÑ °Íó·³, Rev ´Â ¼³Á¤Çϰí ÀÖÁö ¾Ê¾Ò±â ¶§¹®¿¡, ġȯµÇÁö ¾Ê¾Ò½À´Ï´Ù.

Here is the latest report from the front lines.
$LastChangedDate: 2002-07-22 21:42:37 -0700 (Mon, 22 Jul 2002) $
$Rev$
Cumulus clouds are appearing more frequently as summer approaches.

¸¸¾à ´©±º°¡º°ÀÇ »ç¶÷ÀÌweather.txt·Î º¯°æÁ¡À» Ä¿¹Ô Çϸé, ÆÄÀÏÀÇ Ä«ÇÇ´Â Àü°ú °°Àº ġȯµÈ Ű¿öµåÄ¡¸¦ °è¼Ó Ç¥½ÃÇÑ´Ù ±×·¸ÁöÀÛ¾÷ Ä«ÇǸ¦ °»½ÅÇÒ ¶§±îÁö´Â. ±× ¶§, weather.txtÆÄÀÏÀÇ Å°¿öµå´Â ±× ÆÄÀÏÀ» Ä¿¹ÔÇÑ Á¦ÀÏ ¸¶Áö¸· »óŸ¦ ¹Ý¿µÇÏ´Â Á¤º¸·Î ġȯµÇ°ÚÁö¿ä.


1.2.3.5. svn:eol-style

¹öÀü ÆÄÀÏÀÇsvn:mime-type ¼Ó¼ºÀ¸·Î ÁöÁ¤ÇϹǷΠ¾øÀ¸¸é, SubversionÀº ÆÄÀÏÀº °¡µ¶ÀÎ µ¥ÀÌÅͰ¡ Æ÷ÇԵǾî ÀÖ´Ù (¿Í)°ú °úÁ¤ ÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î, SubversionÀº ±× ÆÄÀÏ¿¡ ´ëÇÑ ¹®¸Æ Â÷ºÐÀ» º¸°íÇÒ ¼ö°¡ ÀÖ´ÂÁö ¾î¶²Áö¸¦ °áÁ¤Çϱâ À§Çؼ­(¶§¹®¿¡)¸¸ ÀÌ¿ëÇÕ´Ï´Ù. ±×·¡ ¾øÀ¸¸é, Subversion¿¡ ÀÖ¾î, ¾Æ¸£¹ÙÀÌÆ®´Â ´Ü¼øÇÑ ¾Æ¸£¹ÙÀÌÆ®·Î ¹Û¿¡ ¾ø½À´Ï´Ù.

À̰ÍÀº, µðÆúÆ®¿¡¼­´Â SubversionÀº ´ç½ÅÀÇ ÆÄÀÏÀÌ ÀÌ¿ëÇϰí ÀÖ´Ù Çà´Ü (EOL) ¸¶Ä¿ ÀÇ Á¾·ù¿¡ ÁÖÀǸ¦ ÇâÇÏÁö ¾Ê´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ºÒÇàÇϰԵµ, ´Ù¸¥ operating system´Â ÆÄÀÏÀÇ ±×°Í ÀÇ ÁÙ ³¡À» ³ªÅ¸³»´Âµ¥ ´Ù¸¥ ÅäÅ«À» »ç¿ëÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, º¸Åë Windows Ç÷§ÆûÀÇ ¼ÒÇÁÆ®¿¡ ÀÇÇØ »ç¿ëµÇ´Â ÁÙ ³¡ ÅäÅ«Àº ASCII Á¦¾î ij¸¯ÅÍ ÀÇ Á¶°¡ µË´Ï´Ù¿Õº¹´ë ¸®ÅÏ(CR)°ú ¶óÀÎ Çǵå(LF)ÀÔ´Ï´Ù. ±×·¯³ª Unix¿¡¼­´Â ´ÜÁö LF ij¸¯Å͸¦ »ç¿ëÇØ ÁÙ ³¡À» Ç¥ÇöÇÕ´Ï´Ù.

ÀÌ·¯ÇÑ operating system À§ÀÇ ´Ù¾çÇÑ ÅøÀÇ ¸ðµç °ÍÀÌ ÀÚ½ÅÀÌ ½ÇÇàµÇ°í ÀÖ´Â operating systemÀÇ ¿ø·¡ÀÇ ÁÙ ³¡ ½ºÅ¸ÀÏ ending style (¿Í)°ú´Â ´Ù¸¥ Çü½ÄÀÇ ÁÙ ³¡À» Æ÷ÇÔÇϰí ÀÖ´Â °Í °°Àº ÆÄÀÏÀ» ÀÌÇØÇÒ ¼ö°¡ ÀÖ´Ù (¶æ)ÀÌÀ¯°¡ ¾Æ´Õ´Ï´Ù. ÀÚÁÖ ÀÖ´Â °á°úÀûÀ¸·Î´Â, UnixÀÇ ÇÁ·Î±×·¥Àº WindowsÀÇ ÆÄÀÏ¿¡ ÀÖ´ÂCR ij¸¯Å͸¦ Åë»óÀÇ Ä³¸¯ÅÍ (º¸Åë,^M¿Í °°ÀÌ Ç¥½ÃÇÕ´Ï´Ù)(À¸)·Î¼­ Ãë±ÞÇØ, Windows ÀÇ ÇÁ·Î±×·¥Àº Unix ÆÄÀÏÀÇ ¸ðµç ÇàÀ» ÇϳªÀÇ °Å´ëÇÑ ÇàÀ¸·Î¼­ ¿¬°á ÇØ ¹ö¸³´Ï´Ù¸¸, À̰ÍÀº ÁÙ ³¡À» ³ªÅ¸³»´Â ¿Õº¹´ë ¸®ÅÏ - ¶óÀÎ Çǵå ij¸¯ÅÍ(ȤÀºCRLF) ÀÇ Æí¼ºÀ» ¹ß°ßµÉ ¼ö ÀÖ´Âµé ¾ø±â ¶§¹®¿¡ ÀÔ´Ï´Ù.

ÀÌ, ´Ù¸¥ EOL ¸¶Ä¿¿¡ °üÇÑ ¹Î°¨ÇÔÀº, ´Ù¸¥ ¿ÀÆÛ·¹ÀÌÆÃ(operating) ½Ã½ºÅÛ°£¿¡ ÆÄÀÏÀ» °øÀ¯ÇÏ·Á°í ÇÏ´Â »ç¶÷À» ÁÖ¹°·¯µé ½Ãŵ´Ï´Ù. ¿¹¸¦ µé¾î, ¿ø½Ã ÄÚµå ÆÄÀϰú ÀÌ ÆÄÀÏÀ» Windows¿¡¼­µµ Unix ¿¡¼­µµ ÆíÁýÇÏ´Â °³¹ßÀÚ¸¦ »ó»óÇØ º¸¼¼¿ä. ¸¸¾à ¸ðµç °³¹ßÀÚ ÇÏÁö¸¸ Ç×»ó ÁÙ ³¡À» º¸Á¸ÇÏ´Â °Í °°Àº ÅøÀ» »ç¿ëÇÑ´Ù¸é ¹®Á¦´Â ÀϾÁö ¾Ê½À´Ï´Ù.

±×·¯³ª, ½ÇÁ¦·Î´Â, ¸¹Àº ÈçÈ÷ ÀÖ´ø ÅøÀº ´Ù¸¥ EOL ¸¶Ä¿ÀÇ ÆÄÀÏ (À»)¸¦ ¿Ã¹Ù¸£°Ô ÀÐÀ» ¼ö°¡ ¾ø´ÂÁö, ÆÄÀÏÀÌ º¸Á¸µÉ ¶§, ÁÙ ³¡À» ±× operating system °íÀ¯ÀÇ °ÍÀ¸·Î º¯È¯ÇØ ¹ö¸±±î ÇÕ´Ï´Ù. ¸¸¾à ¸¸¾à °³¹ßÀÚ¿¡°Ô ÃÖÃÊÀÇ ÀÏÀÌ ÀϾ¸é(ÀÚ), ±×´Â ¿ÜºÎÀÇ º¯È¯ À¯Æ¿¸®Æ¼ (dos2unix ³ª, ±×°Í°ú Æä¾î°¡ µÇ¾ú´Ù unix2dos)¸¦ »ç¿ëÇØ ÆÄÀÏ ÆíÁýÀÇ »çÀü 󸮸¦ ÇÏÁö ¾ÊÀ¸¸é µÇÁö ¾Ê½À´Ï´Ù. ±×¸®°íÀÇ °æ¿ì¿¡´Â ±»ÀÌ Æ¯º°ÇÑ Áغñ´Â ÇÊ¿ä ¾ø½À´Ï´Ù. ±×·¯³ª ¾î´À ÂÊÀÇ °æ¿ì¿¡¼­µµ, ¸ðµç ÇàÀÌ, ÃÖÃÊÀÇ °Í°ú ´Þ¸® ³¡³À´Ï´Ù. º¯°æÀ» Ä¿¹ÔÇϱâ Àü¿¡, À¯Àú¿¡°Ô´Â 2·Î ¿ì¸®ÀÇ ¼±ÅÃÀÌ ÀÖ½À´Ï´Ù. ÆíÁýÇϱâ ÀüÀÇ ÁÙ ³¡ ½ºÅ¸Àϰú °°Àº ½ºÅ¸ÀÏÀÌ µÇµµ·Ï(µíÀÌ) º¯È¯ À¯Æ¿¸®Æ¼ (À»)¸¦ »ç¿ëÇØ ¼öÁ¤ÇÑ ÆÄÀÏÀ» º¸Á¸ÇÏ´ÂÁö, ´ÜÁö ±× ÆÄÀÏÀ» Ä¿¹ÔÇÒ±î ÀÔ´Ï´ÙÀÌ °æ¿ì, ÁÙ ³¡Àº »õ·Î¿î EOL ¸¶Ä¿°¡ ´ÙÇÕ´Ï´Ù.

ÀÌ·¯ÇÑ ½Ã³ª¸®¿ÀÀÇ °á°ú´Â ½Ã°£ÀÇ ÇêµÊ°ú Ä¿¹ÔµÈ ÆÄÀÏ¿¡ ´ëÇÑ´Ù ºÒÇÊ¿äÇÑ ¼öÁ¤ÀÌ µË´Ï´Ù. ½Ã°£ÀÇ ÇêµÊÀº ±× ¸¸Å­À¸·Î ÃæºÐÇÑ °íÅëÀÔ´Ï´Ù. ±×·¯³ª, Ä¿¹ÔÀÌ ÆÄÀÏÀÇ ¸ðµç ÇàÀ» º¯°æÇÑ´Ù¸é, À̰ÍÀº, Á¤¸»·Î ¼öÁ¤µÇ¾ú´Ù ÀÇ´Â ¾î´À ÇàÀΰ¡¸¦ °áÁ¤ÇÏ´Â ÀÛ¾÷À» ¸Å¿ì º¹ÀâÇÑ °ÍÀ¸·Î ÇÕ´Ï´Ù. ¹ö±×ÀÇ ¼öÁ¤Àº µµ´ëü ¾î´À Çà (·Î) ÀÌ·ç¾îÁ³´ÂÁö? ¾î´À ÇàÀ¸·Î ±¸¹® ¿¡·¯°¡ ÀÖ¾ú´ÂÁö?

ÀÌ ¹®Á¦ÀÇ ÇØ°áÀº,svn:eol-style ¼Ó¼ºÀÔ´Ï´Ù. ÀÌ ¼Ó¼ºÀÌ ¿Ã¹Ù¸¥ °ªÀ¸·Î ¼³Á¤µÇ¸é, SubversionÀº ±×°ÍÀ» »ç¿ëÇØ, ¾î¶°ÇÑ Æ¯¼öÇÑ Ã³¸®°¡ ÆÄÀÏ¿¡ ÇÊ¿äÇϰí, ±× 󸮸¦ ÇÏ¸é ÆÄÀÏÀÇ ÁÙ ³¡ ½ºÅ¸ÀÏÀÌ, ´Ù¸¥ ¿Àrating ½Ã½ºÅÛÀ¸·ÎºÎÅÍÀÇ Ä¿¹Ô¿¡ ÀÇÇØ, ǪµåµæÇªµåµæ º¯È­Çϰųª ÇÏÁö ¾Ê´ÂÁö, ¸¦ °áÁ¤ÇÕ´Ï´Ù. ¼³Á¤ÇÒ ¼ö ÀÖ´Â °ªÀº:

native

À̰ÍÀº, ÆÄÀÏÀÌ, Subversion°¡ ½ÇÇàµÇ°í ÀÖ´Â ¿ÀÆÛ·¹ÀÌÆÃ(operating) ½Ã½ºÅÛÀÇ º»·¡ÀÇ EOL ¸¶Ä¿¸¦ Æ÷ÇÔÇϵµ·Ï(µíÀÌ) ÇÕ´Ï´Ù. ¹Ù²Ù¾î ¸»Çϸé(ÀÚ) ¸¸¾à Windows»óÀÇ À¯Àú°¡ ÀÛ¾÷ Ä«ÇǸ¦ üũ¾Æ¿ô ÇØ, °Å±â¿¡´Â svn:eol-style ¼Ó¼ºÀÌnative (À¸)·Î ¼³Á¤µÈ ÆÄÀÏÀÌ ÀÖ´Â °æ¿ì, ±× ÆÄÀÏÀºCRLF EOL ¸¶Ä¿¸¦ Æ÷ÇÔÇÑ´Ù°í ÇÏ´Â °ÍÀÔ´Ï´Ù. ¹Ý´ë·Î Unix À¯Àú°¡ ÀÛ¾÷ Ä«ÇǸ¦ üũ ¾Æ¿ô ÇØ, °Å±â¿¡, ±× °°Àº ÆÄÀÏÀÌ ÀÖ¾úÀ» °æ¿ì´Â, ÆÄÀÏÀÇ Ä«ÇÇ ¿¡´ÂLF EOL ¸¶Ä¿°¡ Æ÷ÇÔµÇ°Ô µË´Ï´Ù.

SubversionÀº ½ÇÁ¦·Î´Â ÀúÀå¼Ò(repository)¿¡ ÆÄÀÏÀ» °Ý³³ÇÒ °æ¿ì¿¡´Â, operating system¿¡´Â µû¸£Áö ¾Ê°í, Á¤±ÔÈ­µÈLF EOL ¸¶Ä¿¸¦ »ç¿ëÇÕ´Ï´Ù. À̰ÍÀº ±âº»ÀûÀ¸·Î À¯Àú¿¡°Ô´Â ÀǽÄÇÏÁö ¾Ê¾Æµµ ÁÁ°Ô µÇ¾î ÀÖ´Â °ÍÀÔ´Ï´Ù¸¸.

CRLF

À̰ÍÀº »ç¿ëÇϰí ÀÖ´Â operating system¿¡ ÀÇÇÏÁö ¾Ê°í, ÆÄÀÏÀÇ EOL ¸¶Ä¿ ¿¡CRLF ÀÇ ÁÙÀ» »ç¿ëÇÕ´Ï´Ù.

LF

À̰ÍÀº »ç¿ëÇϰí ÀÖ´Â operating system¿¡ ÀÇÇÏÁö ¾Ê°í, ÆÄÀÏÀÇ EOL ¸¶Ä¿ ¿¡LF ij¸¯Å͸¦ »ç¿ëÇÕ´Ï´Ù.

CR

À̰ÍÀº »ç¿ëÇϰí ÀÖ´Â operating system¿¡ ÀÇÇÏÁö ¾Ê°í, ÆÄÀÏÀÇ EOL ¸¶Ä¿ ¿¡CR ij¸¯Å͸¦ »ç¿ëÇÕ´Ï´Ù. ÀÌ ÁÙ ³¡ ½ºÅ¸ÀÏÀº ±×¸¸Å­ ÀϹÝÀûÀÌÁö´Â ¾Ê½À´Ï´Ù. ±×°ÍÀº ³°Àº Macintosh Ç÷§Æû¿¡¼­ ÀÌ¿ëµÇ°í ÀÖ¾ú½À´Ï´Ù. (°Ô´Ù°¡¿¡¼­´Â SubversionÀº ½ÇÇàÇÑ´Ù °Í¸¶Àú °¡´ÉÇÏÁö ¾Ê½À´Ï´Ù¸¸)


1.2.3.6. svn:externals

svn:externals ¼Ó¼ºÀº Çϳª ÀÌ»óÀÇ Ã¼Å©¾Æ¿ô µÈ Subversion ÀÛ¾÷ Ä«ÇÇ·Î ¹öÀü °ü¸®µÈ µð·ºÅ丮¸¦ ¸¸µé±â À§ÇÑ ÀνºÆ®·°¼ÇÀ» Æ÷ÇÔÇϰí ÀÖ½À´Ï´Ù. ÀÌ Å°¿öµå¿¡ °üÇѺ¸´Ù ÀÚ¼¼ÇÑ Á¤º¸ (Àº)´Â>À» ºÁ ÁÖ¼¼¿ä.


1.3. ¿ÜºÎ Á¤ÀÇ

°¡²û, ¸î°³ÀÇ ´Ù¸¥ üũ¾Æ¿ô¿¡ ÀÇÇØ, ÇϳªÀÇ ÀÛ¾÷ Ä«ÇǸ¦ ¸¸µå´Â °ÍÀÌ Æí¸®ÇÑ ÀÏÀÌ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ÀúÀå¼Ò(repository)ÀÇ ´Ù¸¥ Àå¼Ò¿¡ ÀÖ´Â ´Ù¸¥ ¼­ºê µð·ºÅ丮¸¦ °®°í ½Í´Ùµç°¡, ÀúÀå¼Ò(repository) ÀÚü°¡ º°µµÀÌ´Ù¶ó°íÀΰ¡ÀÔ´Ï´Ù. ±×·¯ÇÑ ÀÏÀ» ¼ÕÀ¸·Î ¼³Á¤ÇÏ´Â Àϵµ ¹°·Ð ÇÒ ¼ö ÀÖ´Â svn checkout ¸¦ »ç¿ëÇØ ³×½ºÆ® ÇÑ ÀÛ¾÷ Ä«ÇÇ ±¸Á¶¿Í °°Àº ¹°°ÇÀ» ¸¸µå´Â °ÍÀÔ´Ï´Ù. ±×·¯³ª, ÀÌ ·¹À̾ƿôÀÌ ÀúÀå¼Ò(repository)À» »ç¿ëÇÏ´Â ¸ðµç »ç¶÷¿¡°Ô ÃëÇØ Áß¿äÇϸé, ´Ù¸¥ Àü¿øµµ ´ç½ÅÀÌ ÇÑ °Í°ú °°Àº üũ¾Æ¿ô Á¶ÀÛÀ» ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.

Çà¿îÀÇ ÀÏ·Î, SubversionÀº¿ÜºÎ Á¤ÀǸ¦ ¼­Æ÷Æ® Çϰí ÀÖ½À´Ï´Ù. ¿ÜºÎ Á¤ÀÇ´Â, ·ÎÄà µð·ºÅ丮¸¦ ¹öÀü °ü¸®µÇ¾ú´Ù ¸®¼Ò½ºÀÇ URL¿¡ ¹­´Â °ÍÀÔ´Ï´Ù. Subversion¿¡¼­´Â, svn:externals¼Ó¼ºÀ» »ç¿ëÇØ ¿ÜºÎ Á¤ÀǸ¦ ±×·ìÀ¸·Î ÇØ ¼±¾ðÇÕ´Ï´Ù. ÀÌ ¼Ó¼ºÀº ¹öÀü °ü¸®µÈ µð·ºÅ丮·Î ¼³Á¤µÇ¾î ±× °ªÀº(¼Ó¼ºÀÌ ¼³Á¤µÈ ¹öÀü °ü¸®µÈ µð·ºÅ丮 ¿¡ »ó´ëÀûÀÎ) ¼­ºê µð·ºÅ丮¿Í Subversion ÀúÀå¼Ò(repository) URL¸¦ ÀÏÇàÀ¸·Î ÇÑ º¹¼öÇà Å×À̺íÀÔ´Ï´Ù.

$ svn propget svn:externals calc
third-party/sounds          http://sounds.red-bean.com/repos
third-party/skins           http://skins.red-bean.com/repositories/skinproj
third-party/skins/toolkit   http://svn.red-bean.com/repos/skin-maker

svn:externals°¡ Æí¸®ÇÑ °ÍÀº, Çѹø ¹öÀü °ü¸® ¾Æ·¡ÀÇ µð·ºÅ丮·Î ¼³Á¤ÇØ ¹ö¸®¸é, ±× µð·ºÅ丮°¡ ÀÖ´Â ÀÛ¾÷ Ä«ÇǸ¦ üũ¾Æ¿ô ÇÑ »ç¶÷Àº¸¸À¸·Îµµ ¿ÜºÎ Á¤ÀÇÀÇ ÇýÅÃÀ» ¹ÞÀ» ¼ö°¡ ÀÖ´Ù °÷ÀÔ´Ï´Ù. ¹Ù²Ù¾î ¸»Çϸé(ÀÚ), ´©±º°¡°¡ ±×·¯ÇÑ ³×½ºÆ® ÇÑ ÀÛ¾÷ Ä«ÇÇÀÇ Ã¼Å©¾Æ¿ôÀ» Á¤ÀÇÇϸé, ´Ù¸¥ »ç¶÷Àº ¾Æ¹«µµ °Å±â¿¡ ºÙ¾î °í¹ÎÇÏÁö ¾Ê¾Æµµ µÈ´Ù ±×·¸´Ù°í ÇÏ´Â °ÍÀÔ´Ï´ÙSubversionÀº, ¿ø·¡ÀÇ ÀÛ¾÷ Ä«ÇÇÀÇ Ã¼Å©¾Æ¿ô ÀÇ À§µµ ¿ÜºÎ ÀÛ¾÷ Ä«ÇǸ¦ üũ¾Æ¿ô ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.

ÀüÀÇ ¿ÜºÎ Á¤ÀÇÀÇ ¿¹¸¦ º¾½Ã´Ù. ´©±º°¡°¡calc µð·ºÅ丮ÀÇ ÀÛ¾÷ Ä«ÇǸ¦ üũ¾Æ¿ô Çϸé(ÀÚ), SubversionÀº ±× ¿ÜºÎ Á¤ÀÇ¿¡ ÀÖ´Â ¾ÆÀÌÅÛµµ °è¼ÓÇØ üũ¾Æ¿ô ÇÕ´Ï´Ù.

$ svn checkout http://svn.example.com/repos/calc
A  calc
A  calc/Makefile
A  calc/integer.c
A  calc/button.c
Checked out revision 148.

Fetching external item into calc/third-party/sounds
A  calc/third-party/sounds/ding.ogg
A  calc/third-party/sounds/dong.ogg
A  calc/third-party/sounds/clang.ogg

A  calc/third-party/sounds/bang.ogg
A  calc/third-party/sounds/twang.ogg
Checked out revision 14.

Fetching external item into calc/third-party/skins

¸¸¾à, ¿ÜºÎ Á¤ÀǸ¦ º¯°æÇÒ Çʿ䰡 ÀÖ´Â °æ¿ì, Åë»óÀÇ ¼Ó¼º º¯°æ ¼­ºê Ä¿¸àµå¸¦ »ç¿ëÇØ ÁÙ ¼ö°¡ ÀÖ½À´Ï´Ù. svn:externals¼Ó¼º¿¡ÀÇ º¯°æÀ» Ä¿¹ÔÇÒ ¶§, SubversionÀº ´ÙÀ½ÀÇsvn update¸¦ ½ÇÇàÇÒ ¶§ÀÇ º¯°æµÈ ¿ÜºÎ Á¤ÀÇ¿¡ ´ëÇØ¼­ üũ¾Æ¿ô ÇÏ´Â ¾ÆÀÌÅÛÀ» µ¿±â ÇÕ´Ï´Ù. °°Àº °ÍÀÌ, ´Ù¸¥ »ç¶÷ÀÌ ÀÛ¾÷ Ä«ÇǸ¦ °»½ÅÇØ, ´ç½ÅÀÌ º¯°æÇÑ ¿ÜºÎ Á¤ÀÇ (À»)¸¦ ¹ÞÀ» ¶§µµ ÀϾ´Ï´Ù.


1.4. º¥´õ ºê·£Ä¡(branch)

°³¹ßÁßÀÇ ¼ÒÇÁÆ®ÀÇ °æ¿ì°¡ ÀüÇüÀûÀÎ ¿¹ÀÔ´Ï´Ù¸¸, ¹öÀü °ü¸®·Î ¸ÞÀÎÆ®³Í½ºÇϰí ÀÖ´Â µ¥ÀÌÅͰ¡ ÀÚÁÖ ´©±º°¡¿ÜÀÇ µ¥ÀÌÅÍ¿¡ ¹ÐÁ¢ÇÏ°Ô °ü°èÇϰí Àֵ簡, ȤÀº ÀÇÁ¸Çϰí ÀÖ´Ù ÀÏÀÌ ÀÖ½À´Ï´Ù. ÀϹÝÀûÀ¸·Î ÇÁ·ÎÁ§Æ®·Î ¿ä±¸µÇ´Â °ÍÀº, ÇÁ·ÎÁ§Æ®ÀÇ ¾ÈÁ¤¼ºÀ» ÇØÄ¡´Â ÀÏ ¾øÀÌ, ¿ÜºÎÀÇ ÀÚ¿ø¿¡ ÀÇÇØ Á¦°øµÇ´Â µ¥ÀÌÅ͸¦ ÇÒ ¼ö ÀÖ´Â ÇÑ Ãֽſ¡ À¯ÁöÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÌ »ý°¢Àº Ç×»ó ¼º¸³µÇÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù ±×¸®°í, ¾î´À ±×·ìÀÌ ¸¸µç Á¤º¸´Â ´Ù¸¥ ±×·ì¿¡ ÀÇÇØ ¸¸µé¾îÁø °Í¿¡ Á÷Á¢ÀûÀÎ ¿µÇâÀ» Áشٰí ÇÏ´Â Àå¼Ò¿¡¼­´Â ¾îµð¿¡¼­¶óµµ.

¿¹¸¦ µé¾î, ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÚ°¡ ¼­µå ÆÄƼÁ¦ÀÇ ÇÁ·Î±×·¥ ¶óÀ̺귯¸®¸¦ »ç¿ëÇß´Ù ¾îÇø®ÄÉÀ̼ǻ󿡼­ ÀÛ¾÷À» Çϰí ÀÖ´Ù°í ÇÕ´Ï´Ù. SubversionÀº Apache ÈÞ´ë¿ë ½ÇÇà½Ã ÇÁ·Î±×·¥ ¶óÀ̺귯¸®¿Í Á¤È®È÷ ±×·¯ÇÑ °ü°è¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. (see >). SubversionÀÇ ¿ø½Ã ÄÚµå´Â ¸ðµç °¡¹Ý¼ºÀÇ ¿ä±¸¸¦ ä¿ì±â À§Çؼ­(¶§¹®¿¡), APR ÇÁ·Î±×·¥ ¶óÀ̺귯¸®¿¡ ÀÇÁ¸Çϰí ÀÖ½À´Ï´Ù. SubversionÀÇ °³¹ßÀÇ ÃʱâÀÇ ´Ü°è¿¡¼­´Â, ÇÁ·ÎÁ§Æ®´Â APR ÀÇ APIÀÇ º¯°æÀ» ¸Å¿ì Á¤È®ÇÏ°Ô µÚÂѰí ÀÖ¾ú½À´Ï´Ù. Ç×»ó, ÇÁ·Î±×·¥ ¶óÀ̺귯¸® ÄÚµåÀÇ °Å¼¾ ÆÄµµÀÇ,"ÃÖ÷´Ü"À» µû¶ó°¬½À´Ï´Ù. Áö±Ý¿¡ ¿Í¼­´Â APRµµ Subversionµµ °³¹ßÀÌ ºüÁü¹ú ÀÖ°í (ÀÌ)¶ó°í ¿ÔÀ¸¹Ç·Î, SubversionÀº ÀÚÁÖ(Àß) Å×½ºÆ®µÇ¾î ¾ÈÁ¤µÈ ¸±¸®½º »óÅ¿¡ ÀÖ´Ù ¹öÀüÀÇ APR ÇÁ·Î±×·¥ ¶óÀ̺귯¸® API¿Í µ¿±â¸¦ Àâ°í ÀÖ½À´Ï´Ù.

¸¸¾à ÇÁ·ÎÁ§Æ®°¡ ´Ù¸¥ »ç¶÷ÀÇ Á¤º¸¿¡ ÀÇÁ¸Çϰí ÀÖ´Ù¸é, ±× Á¤º¸¿Í ÀÚ½ÅÀÇ ¹°°ÇÀ» µ¿±â ½Ã۱â À§ÇÑ ¸î°³ÀÇ ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. Á¦ÀÏ ´ë´ÜÇÑ ¹æ¹ýÀÔ´Ï´Ù¸¸, ÀÚ½ÅÀÇ ÇÁ·ÎÁ§Æ®ÀÇ ¸ðµç °øÇåÀÚ¿¡ ´ëÇØ ±¸µÎ ¶Ç´Â ¹®¼­·Î ¼ö¼ÓÀ» ÀüÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ÇÁ·ÎÁ§Æ®¿¡ ÇÊ¿äÇÑ ¼­µå ÆÄƼÀÇ Á¤º¸ÀÇ Æ¯Á¤ÀÇ ¹öÀüÀ» È®½ÇÈ÷ ¼Õ¿¡ ³Ö´Â °ÍÀ» ÀüÇÕ´Ï´Ù. ¸¸¾à ¼­µå ÆÄƼÀÇ Á¤º¸°¡ Subversion ÀúÀå¼Ò(repository)·Î °ü¸® µÇ°í ÀÖ´Ù¸é, SubversionÀÇ ¿ÜºÎ Á¤ÀǸ¦ »ç¿ëÇØ, È¿À²ÀûÀ¸·Î, ¾î´À Àå¼Ò¿¡ µÎ¾îÁö°í ÀÖ´Â ÀÚ½ÅÀÇ ÀÛ¾÷ Ä«ÇÇ µð·ºÅ丮¾È¿¡, ±× Á¤º¸ÀÇ Æ¯Á¤ÀÇ ¹öÀü (À»)¸¦"¹­´Â"ÀÏÀÌ »ý±é´Ï´Ù. (>ÂüÁ¶).

±×·¯³ª, °¡²û ÀÚ½ÅÀÇ ¹öÀü ÄÜÆ®·Ñ ½Ã½ºÅÛÀ¸·Î ¼­µå ÆÄƼÀÇ µ¥ÀÌÅÍ ¿¡ °¡¼¼ÇÑ µ¶ÀÚÀûÀÎ º¯°æÀ» °ü¸®ÇÏ°í ½ÍÀº °Íµµ ÀÖ½À´Ï´Ù. ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÇ ¿¹·Î µ¹¾Æ¿Í ¼³¸íÇϸé(ÀÚ), ÇÁ·Î±×·¡¸Ó´Â ÀÚ±â ÀÚ½ÅÀÇ ¸ñÀûÀ» À§Çؼ­(¶§¹®¿¡), ¼­µå ÆÄƼ ÀÇ ÇÁ·Î±×·¥ ¶óÀ̺귯¸®·Î º¯°æÀ» ´õÇÒ Çʿ䰡 ÀÖÀ»Áöµµ ¸ð¸¨´Ï´Ù. ÀÌ·¯ÇÑ ¼öÁ¤Àº »õ·Î¿î ±â´É Ãß°¡À̰ųª ¹ö±× ¼öÁ¤À̰ųª ÇÒÁöµµ ¸ð¸£Áö ¾Ê½À´Ï´Ù¸¸, ±×°ÍÀº ¼­µå ÆÄƼÀÇ ÇÁ·Î±×·¥ ¶óÀ̺귯¸®ÀÇ °ø½ÄÀûÀÎ ¸±¸®½ºÀÇ ÀϺΰ¡ µÇ±â±îÁö ÇÑ°è °ü¸®ÇؾßÇÒ °ÍÀÔ´Ï´Ù. ȤÀº, º¯°æÀº °áÄÚ ÇÁ·Î±×·¥ ¶óÀ̺귯¸® ¸ÞÀÎÆ®³Í½º ´ã´ç¿¡´Â ÀüÇØÁöÁö ¾Ê°í, ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÚÀÇ Æ¯¼öÇÑ ¿ä±¸¿¡ ¸Â´Â °Í °°Àº ÇÁ·Î±×·¥ ¶óÀ̺귯¸®¸¦ ¿Ï¼ºÇϱâ À§ÇÑ µ¶ÀÚÀûÀÎ ¼öÁ¤Á¡À¸·Î¼­ °è¼Ó Âß ³²À»Áöµµ ¸ð¸¨´Ï´Ù.

¿©±â¼­, Àç¹ÌÀÖ´Â »óȲ¿¡ Á÷¸éÇÕ´Ï´Ù. ÀÌ ÇÁ·ÎÁ§Æ®´Â ¼­µå ÆÄƼÀÇ µ¥ÀÌÅÍ¿¡ ´ëÇÑ µ¶ÀÚÀûÀÎ ¼öÁ¤À», ºÐ¸®ÇÑ ÇüÅ·Π°ü¸®ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù¸¸, ±×°ÍÀº, ÆÐÄ¡ ÆÄÀÏÀ» »ç¿ëÇϰųª ¿ÏÀüÇÏ°Ô ¸¸µé¾î³½ º°¹öÀüÀÇ ÆÄÀÏ, µð·ºÅ丮°¡ µÉÁöµµ ¸ð¸¨´Ï´Ù. ÀÌ·¯ÇÑ °ÍÀº °ð¹Ù·Î ¸ÞÀÎÆ®³Í½ºÇϴµ¥ À־ µÎÅë°Å¸®°¡ µÇ¹Ç·Î, ÀÌÂÊÀÇ µ¶ÀÚÀûÀÎ ¼öÁ¤À» ¼­µå ÆÄƼ ÀÇ µ¥ÀÌÅÍ¿¡ Àû¿ëÇØ, ±×·¯ÇÑ º¯°æ¿¡ ´ëÇÑ ÇÊ¿äÇÑ Àç»ý¼ºÀ», ¼­µå ÆÄƼ µ¥ÀÌÅÍÀÇ °¢°¢ÀÇ °è¼ÓÇÏ´Â ¹öÀüÀ» ¹ÙÅÁÀ¸·Î ÇØ ½ÇÇàÇÏ´Â ±¸Á¶°¡ ÇÊ¿äÇÏ°Ô µË´Ï´Ù.

ÀÌ ¹®Á¦¿¡ ´ëÇÑ ÇØ°áÀº,º¥´õ ºê·£Ä¡(branch)¸¦ »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. º¥´õ ºê·£Ä¡(branch)´Â ¼­µå ÆÄƼ, ȤÀº º¥´õ ÀÇ µ¥ÀÌÅÍ¿¡ ÀÇÇØ Á¦°øµÈ Á¤º¸¸¦ Æ÷ÇÔÇϰí ÀÖ´Â, ÀÌÂÊÀÇ ¹öÀü °ü¸® ½Ã½ºÅÛÁß¿¡ µÐ µð·ºÅ丮 Æ®¸®ÀÔ´Ï´Ù. °¢°¢ÀÇ ¹öÀüÀÇ º¥´õÀÇ µ¥ÀÌÅÍ·Î, ÀÚ½ÅÀÇ ÇÁ·ÎÁ§Æ®¿¡ ¼öÁß¿¡ ³ÖÀ¸·Á°í »ý°¢Çϰí ÀÖ´Â °ÍÀÇ ÀÏÀ»,º¥´õ µå·Ó°ú ¸»ÇÕ´Ï´Ù.

º¥´õ ºê·£Ä¡(branch)´Â µÎ °³ÀÇ ¿­¼è°¡ µÇ´Â ÀÌÁ¡ÀÌ ÀÖ½À´Ï´Ù. ¿ì¼±, ÀÚ½ÅÀÇ ¹öÀü ÄÜÆ®·Ñ ½Ã½ºÅÛ¿¡, Çö½ÃÁ¡¿¡¼­ ¼­Æ÷Æ®µÇ°í ÀÖ´Ù º¥´õ µå·ÓÀ» °Ý³³ÇÏ´Â °Í¿¡ ÀÇÇØ, ÇÁ·ÎÁ§Æ®ÀÇ ¸â¹ö´Â ¿Ã¹Ù¸¥ ¹öÀüÀÇ º¥´õ µ¥ÀÌÅ͸¦ »ç¿ëÇϰí ÀÖ´ÂÁö ¾î¶²ÁöÀÇ °ÆÁ¤À» ÇÑ´Ù Çʿ䰡 ¾ø¾îÁý´Ï´Ù. ´ÙÀ½¿¡, µ¥ÀÌÅÍ´Â ½º½º·ÎÀÇ Subversion ÀúÀå¼Ò(repository)¿¡ ÀÖÀ¸¹Ç·Î, µ¶ÀÚÀûÀÎ ¼öÁ¤À» ±×´ë·Î °Ý³³ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ½º½º·ÎÀÇ µ¶ÀÚÀûÀÎ ¼öÁ¤À¸·Î ¿Å°Ü³õ´Â °Í °°Àº ÀÚµ¿È­µÇ¾ú´Ù(ȤÀº ÃÖ¾ÇÀÇ °æ¿ì, ¼ÕÀ¸·Î ÇÏ´Â) ¹æ¹ýÀ» ÁغñÇÒ Çʿ䰡 ¾ø¾îÁý´Ï´Ù.


1.4.1. ÀϹÝÀûÀÎ, º¥´õ ºê·£Ä¡(branch)¸¦ °ü¸®ÇÏ´Â ¹æ¹ý

º¥´õ ºê·£Ä¡(branch)ÀÇ °ü¸®´Â ÀϹÝÀûÀ¸·Î´Â ÀÌ·± ½ÄÀ¸·Î ÇÕ´Ï´Ù. ÃÖ»óÁ¤µµ µð·ºÅ丮¸¦ ¸¸µé¾î(/vendor¿Í °°Àº °Í) °Å±â¿¡ º¥´õÀÇ ºê·£Ä¡(branch)¸¦ µÓ´Ï´Ù. ±×¸®°í ÃÖ»óÁ¤µµ µð·ºÅ丮ÀÇ »çºêµð·¹Æ®Å©¸®¿¡ ¼­µå ÆÄƼÀÇ Äڵ带 ÀÓÆ÷Æ® ÇÕ´Ï´Ù. ±×¸®°í ±× »çºêµð·¹Æ®Å©¸®¸¦, Àû´çÇÑ Àå¼Ò¿¡ ÀÖ´Â, ÀÚ½ÅÀÇ ÁÖ°è °³¹ßÀÇ ºê·£Ä¡(branch)¿¡ Ä«ÇÇÇÕ´Ï´Ù(¿¹¸¦ µé¾î/trunkµî) ·ÎÄÃÀÎ º¯°æÀº Ç×»ó ÁÖ°è °³¹ß ºê·£Ä¡(branch)¿¡ ´ëÇØ¼­ ÇàÇÕ´Ï´Ù. µÚÂѰí ÀÖ´Â ÄÚµåÀÇ »õ·Î¿î ¸±¸®½º¸¶´Ù, ±×°ÍÀ» º¥´õ ºê·£Ä¡(branch)¿¡ °¡Áö°í °¡, º¯°æÁ¡À»/trunk¿¡ merge ÇÕ´Ï´Ù. ±×¸®°í, ·ÎÄÃÀÇ º¯°æ°ú º¥´õÀÇ º¯°æµ¿¾ÈÀÇ Ãæµ¹À» ÇØ¼ÒÇÕ´Ï´Ù.

¾Æ¸¶, ¿¹¸¦ µé¸é(ÀÚ), ÀÌ ½ºÅÜÀ» È®½ÇÈ÷ ÇÒ ¼ö°¡ ÀÖÀ»Áöµµ ¾Ë·ÁÁöÁö ¾Ê½À´Ï´Ù. ´ç½ÅÀÇ °³¹ß ÆÀÀÌ ¼­µå ÆÄƼÀÇ º¹ÀâÇÑ ¼öÄ¡°è»ê ÇÁ·Î±×·¥ ¶óÀ̺귯¸®¸¦ »ç¿ëÇÑ °è»ê ÇÁ·Î±×·¥À» ¸¸µé°í ÀÖ´Ù°í ÇÕ´Ï´Ù. ¿ì¼±, º¥´õ ºê·£Ä¡(branch)ÀÇ Ãʱ⠻ý¼ºÀ» ÇØ, ±×¸®°í ÃÖÃÊÀÇ º¥´õ µå·Ó (À»)¸¦ ÀÓÆ÷Æ® ÇÕ´Ï´Ù.


$ svn import /path/to/libcomplex-1. 0 \
             http://svn.example.com/repos/calc/vendor/libcomplex/current \
             -m 'importing initial 1.0 vendor drop'

À̰ÍÀ¸·Î, libcomplexÀÇ ¿ø½Ã Äڵ带/vendor/libcomplex/current ¿¡ °¡Áö°í ¿Ã ¼ö°¡ ÀÖ¾ú½À´Ï´Ù. ÀÌ ¹öÀü¿¡ ÅÂ±× Áþ°í ÇØ, (>ÂüÁ¶), ÁÖ°è °³¹ß ºê·£Ä¡(branch)¿¡ Ä«ÇÇÇÏ¸é °Å±â¿¡ µ¶ÀÚÀûÀÎ ¼öÁ¤À» ´õÇÒ ¼ö°¡ ÀÖ°Ô µË´Ï´Ù.

$ svn copy http://svn.example.com/repos/calc/vendor/libcomplex/current  \
           http://svn.example.com/repos/calc/vendor/libcomplex/1. 0      \
           -m 'tagging libcomplex-1. 0'

$ svn copy http://svn.example.com/repos/vendor/libcomplex/1. 0  \
           http://svn.example.com/repos/calc/libcomplex        \
           -m 'bringing libcomplex-1. 0 into the main branch'

ÇÁ·ÎÁ§Æ®ÀÇ ÁÖ°èÀÇ ºê·£Ä¡(branch)¸¦ üũ¾Æ¿ô ÇÕ´Ï´Ù. À̰ÍÀº ÃÖÃÊÀÇ º¥´õ µå·ÓÀÇ Ä«ÇǸ¦ Æ÷ÇÔÇϰí ÀÖ½À´Ï´Ù±×¸®°í, libcomplex ÄÚµåÀÇ ¼öÁ¤¿¡ µé¾î°©´Ï´Ù. ÀÌ¹Ì ¾Ë°í ÀÖµµ·Ï(µíÀÌ), À̰ÍÀ¸·Î ¼öÁ¤µÈ libcomplex (Àº)´Â, ¿ÏÀüÇÏ°Ô °è»ê ÇÁ·Î±×·¥¿¡ ÅëÇյǰí ÀÖ½À´Ï´Ù. [8]

¸îÁÖ°£Àΰ¡ ²÷¾î, libcomplexÀÇ °³¹ßÀÚ´Â ÇÁ·Î±×·¥ ¶óÀ̺귯¸®ÀÇ »õ·Î¿î ¹öÀüÀ» ¸±¸®½º Çß´ø¹öÀü 1.1À¸·Î ÇսôٱװÍÀº ¿ì¸®¸¦ °®°í ½Í¾ú´Ù ¸î°³ÀÇ ±â´É°ú ÇÔ¼ö¸¦ Æ÷ÇÔÇϰí ÀÖ½À´Ï´Ù. ±×·¯³ª, ¹ú½á ¼öÁß¿¡ ÀÖ´Â ¹öÀü¿¡ ´ëÇÑ ¼öÁ¤À» ÀÒ´Â ÀÏ ¾øÀÌ, ÀÌ »õ·Ó´Ù ¹öÀü¿¡ ¾÷±×·¹À̵å ÇÏ°í ½ÍÀº °ÍÀÔ´Ï´Ù. ¹ú½á ½Ã»çÇÑ °Íó·³, º»ÁúÀûÀ¸·Î ¿ì¸®°¡ ÇÏÁö ¾ÊÀ¸¸é ¾È µÇ´Â °ÍÀº, libcomplex1. 1 ÀÇ Ä«ÇÇ ±×¸®°í libcomplex1. 0 À» ¿Å°Ü³õ¾Æ ¾Õ¿¡ ÇÑ µ¶ÀÚÀûÀÎ ¼öÁ¤À», »õ·Î¿î ÇÁ·Î±×·¥ ¶óÀ̺귯¸® ÀÇ ¹öÀü¿¡µµ ´Ù½Ã Àû¿ëÇÏ´Â °ÍÀÔ´Ï´Ù.

ÀÌ ¾÷±×·¹À̵带 Çϴµ¥, ¿ì¸®´Â º¥´õ ºê·£Ä¡(branch)ÀÇ Ä«ÇÇ (À»)¸¦ üũ¾Æ¿ô ÇØ,ÇöÀçÀǹöÀüÀ» »õ·Ó´Ù libcomplex1. 1 ÀÇ ¿ø½Ã ÄÚµå·Î ¿Å°Ü³õ½À´Ï´Ù. ÀÌ º¯°æÀ» Ä¿¹ÔÇß´Ù ±×¸®°í, ¿ì¸®ÀÇcurrent ºê·£Ä¡(branch)´Â »õ·Ó´Ù º¥´õ µå·ÓÀ» Æ÷ÇÔÇϰí ÀÖ½À´Ï´Ù. ÀÌ ¹öÀüÀ» ű׾ʴ٠Áö¿ö, ±×¸®°í Àü¿¡ ÅÂ±× ºÙÀ̰í ÇÑ ¹öÀü°ú »õ·Î¿î ÇöÀçÀÇ ¹öÀüÀÇ »çÀÌÀÇ Â÷ÀÌ (À»)¸¦ ÁÖ°è °³¹ß ºê·£Ä¡(branch)¿¡ merge ÇÕ´Ï´Ù.

$ cd working-copies/calc
$ svn merge http://svn.example.com/repos/vendor/libcomplex/1. 0      \
            http://svn.example.com/repos/vendor/libcomplex/current  \
            libcomplex
 # resolve all the conflicts between their changes and our changes
$ svn commit -m 'merging libcomplex-1. 1 into the main branch'

°£´ÜÇÑ °æ¿ì¶ó¸é ÀÌ »õ·Î¿î ¹öÀüÀÇ ¼­µå ÆÄƼ ÅøÀº, ÆÄÀϰú µð·ºÅ丮ÀÇ °üÁ¡À¸·ÎºÎÅÍ º¸¸é(ÀÚ), ÀüÀÇ ¹öÀü°ú °°ÀÌ º¸ÀÔ´Ï´Ù. ´Ù¸¥ ¸»Åõ¸¦ Çϸé(ÀÚ), ¾î´À libcomplex ¿ø½Ã ÆÄÀϵµ »èÁ¦µÇ°Å³ª ¸íĪ º¯°æµÇ°Å³ª ´Ù¸¥ Àå¼Ò·Î À̵¿Çϰųª Çϰí ÀÖÁö ¾Ê½À´Ï´Ù °£´ÜÇÏ°Ô ¸»Çϸé, ¿ÏÀüÇÑ ¼¼°è¿¡¼­´Â, ¿ì¸®ÀÇ ¼öÁ¤Àº »õ·Î¿î ÇÁ·Î±×·¥ ¶óÀ̺귯¸®ÀÇ ¹öÀü¿¡ ¿¹»Ú°Ô Àû¿ëµÇ¾î º¹ÀâÇÑ ÀÏÀ̳ª, Ãæµ¹Àº ÀÏÀý ÀϾÁö ¾Ê´Â´Ù ±×·¸´Ù°í ÇÏ´Â °ÍÀÔ´Ï´Ù.

±×·¯³ª, ¸ðµç °ÍÀ̶ó´Â °ÍÀº Ç×»ó ´Ü¼øÇÏ´Ù¶ó°í´ÂÀΰ¡ ¼±. ½ÇÁ¦Á¶»ç ÀÖ°í, ¿ø½Ã ÄÚµå´Â ¼ÒÇÁÆ®¿þ¾îÀÇ ¸±¸®½º°£¿¡ ¿©±âÀú±â ¿òÁ÷ÀÌ´Â °ÍÀÌ º¸ÅëÀÔ´Ï´Ù. À̰ÍÀº ¿ì¸®ÀÇ ¼öÁ¤ÀÌ »õ·Î¿î ¹öÀüÀÇ ÄÚµå ±×·¸Áö¸¸ ¿Ã¹Ù¸£´Ù°í ÇÏ´Â °ÍÀ» È®ÀÎÇÏ´Â ÀÛ¾÷À» º¹ÀâÇÏ°Ô Çϰí, »õ·Î¿î ¹öÀü ¿¡¼­ÀÇ ¼öÁ¤À» ¼ÕÀ¸·Î Çѹø ´õ ÇÒ Çʿ䰡 ÀÖ´Â »óȲ¿¡, °£´ÜÇÏ°Ô ³«´ãÇØ ¹ö¸°´Ù ÀÏÀÌ ÀÖ½À´Ï´Ù. Subversion°¡, ¿ø½Ã ÆÄÀÏÀÇ È÷½ºÅ丮¿¡ ´ëÇØ ¾Ë¾Æ ÀÖÀ¸¸éÇÁ·Î±×·¥ ¶óÀ̺귯¸®ÀÇ »õ·Î¿î ¹öÀüÁßÀÇ mergeÀÇ ½ºÅÜÀº ¸Å¿ì ´Ü¼øÇÏ°Ô µË´Ï´Ù. ±×·¯³ª, ¿ì¸®´Â, Subversion¿¡ ¿ø½Ã ÆÄÀÏÀÇ ·¹À̾ƿôÀÌ º¥´õ µå·Ó°£¿¡ ¾î¶² ¹Ù¶÷À¸·Î ¹Ù²î¾ú´ÂÁö¸¦ °¡¸£ÃÄ Á٠åÀÓÀÌ ÀÖ½À´Ï´Ù.


1.4.2. svn-load-dirs.pl

¸î°³ÀÇ ÆÄÀÏÀÇ »èÁ¦, Ãß°¡, À̵¿ÀÌ ÀÖ´ø º¥´õ µå·ÓÀº ¼­µå ÆÄƼ µ¥ÀÌÅÍÀÇ ¾÷±×·¹À̵åÀÇ ¼ø¼­¸¦ º¹ÀâÇÏ°Ô ÇÕ´Ï´Ù. ±×·¡¼­ SubversionÀº ÀÌ ¼ö¼ÓÀ» Áö¿øÇϱâ À§Çؼ­ svn_load_dirs.pl½ºÅ©¸³Æ®¸¦ ÁغñÇØ ÀÖ½À´Ï´Ù. ÀÌ ½ºÅ©¸³Æ®´Â ÀϹÝÀûÀÎ º¥´õ ºê·£Ä¡(branch)ÀÇ °ü¸® ¼ö¼ÓÀ¸·Î ¸»ÇÑ °Í °°Àº ÀÓÆ÷Æ®ÀÇ ½ºÅÜÀ» ÀÚµ¿È­ÇØ, ½Ç¼ö¸¦ ÃÖ¼Ò·Î ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ¼­µå ÆÄƼ µ¥ÀÌÅÍÀÇ »õ·Î¿î ¹öÀüÀ» ÁÖ°è °³¹ß ºê·£Ä¡(branch)¿¡ merge ÇÑ´Ù À¯ÀÍÀÇ merge Ä¿¸àµå¸¦ »ç¿ëÇÒ Ã¥ÀÓÀº ¾ÆÁ÷ ³²¾Æ ÀÖÁö¸¸, svn_load_dirs.pl´Â º¸´Ù »¡¸® °£´ÜÇÏ°Ô ÀÌ Ã³¸®±îÁö µµ´ÞÇÏ´Â µµ¿òÀÌ µË´Ï´Ù.

°£´ÜÇÏ°Ô ¸»ÇØ,svn_load_dirs.pl ´Â svn import ÀÇ È®ÀåÀ¸·Î, ¸î°³ÀÇ Áß¿äÇÑ Æ¯Â¡À» °¡Áö°í ÀÖ½À´Ï´Ù:

  • ¾ðÁ¦¶óµµ, ÀÌ ÇÁ·Î±×·¥À» ½ÇÇàÇØ, ÀúÀå¼Ò(repository)¿¡ ÀÖ´Â µð·ºÅ丮¸¦, ¿ÏÀüÇÏ°Ô °Å±â¿¡ ÀÏÄ¡ÇÑ ¿ÜºÎ µð·ºÅ丮¿¡ °¡Áö°í °¡, ÇÊ¿äÇÑ ¸ðµç Ãß°¡, »èÁ¦¸¦ ½ÇÇàÇØ, ÇÑÃþ ´õ ¿É¼ÇÀ¸·Î À̵¿ 󸮵µ ½Ç½ÃÇÕ´Ï´Ù.

  • ÀÌ ÇÁ·Î±×·¥Àº, Subversion°¡ ÇÊ¿ä·Î ÇÏ´Â Áß°£ÀûÀÎ Ä¿¹Ô°£¿¡ ÇÊ¿äÇÑ º¹ÀâÇÑ ÀÏ·ÃÀÇ Ã³¸®¸¦ ÁÖÀÇ ±í°Ô ½ÇÇàÇÕ´Ï´Ù¿¹¸¦ µé¾î ÆÄÀÏÀ̳ª µð·ºÅ丮ÀÇ ¸íĪ º¯°æÀ» 2ȸÇϱâ Àü µî.

  • ±×°ÍÀº, ¿É¼ÇÀ¸·Î ³ªµî ÀÖ°í ÀÓÆ÷Æ® µÈ µð·ºÅ丮¸¦ ÅÂ±× Áþ°í ÇÕ´Ï´Ù.

  • ±×°ÍÀº ¿É¼ÇÀ¸·Î, Á¤±Ô Ç¥Çö¿¡ ¼º³É ÇÏ´Â ÆÄÀϰú µð·ºÅ丮 ¿¡ ÀÓÀÇÀÇ ¼Ó¼ºÀ» Ãß°¡ÇÕ´Ï´Ù.

svn_load_dirs.pl ´Â ¼¼ °³ÀÇ Çʼö ÆÄ¶ó¹ÌÅ͸¦ ÃëÇÕ´Ï´Ù. óÀ½Àº ÀÛ¾÷ ´ë»óÀÌ µÇ´Â º£À̽º°¡ µÇ´Â Subversion µð·ºÅ丮ÀÇ URL ÀÔ´Ï´Ù. ÀÌ ÀμöÀÇ ÈÄ¿¡´Â URL°¡ °è¼ÓµË´Ï´ÙÃÖÃÊÀÇ Àμö¿¡ »ó´ëÀûÀÎ ÇüÅ·κ¥´õ µå·ÓÀº °Å±â¿¡ ÀÓÆ÷Æ® µË´Ï´Ù. ¸¶Áö¸·¿¡ 3¹øÂ°ÀÇ Àμö´Â ÀÓÆ÷Æ® ÇÏ´Â ·ÎÄà µð·ºÅ丮ÀÔ´Ï´Ù. ÀüÀÇ ¿¹¸¦ »ç¿ëÇϸé(ÀÚ), ÀüÇüÀûÀÎsvn_load_dirs.plÀÇ ½ÇÇàÀº ÀÌ·± ±âºÐÀÌ µì´Ï´Ù:

$ svn_load_dirs.pl http://svn.example.com/repos/calc/vendor/libcomplex \
                   current                                             \
                   /path/to/libcomplex-1. 1

-t ¿É¼Ç¿¡ ÅÂ±× ¸íĪÀ» ÁöÁ¤ÇØ, »õ·Î¿î º¥´õ µå·Ó (À»)¸¦ ÅÂ±× Áþ°í Çϵµ·Ï(µíÀÌ)svn_load_dirs.pl ¿¡ Áö½ÃÇÏ´Â °ÍÀÌ ÇÒ ¼ö ÀÖ½À´Ï´Ù.

$ svn_load_dirs.pl -t libcomplex-1. 1                                   \
                   http://svn.example.com/repos/calc/vendor/libcomplex \
                   current                                             \
                   /path/to/libcomplex-1. 1

svn_load_dirs.pl¸¦ ½ÇÇàÇÒ ¶§, ±×°ÍÀº ¹ú½á Á¸ÀçÇϰí ÀÖ´Â"ÇöÀçÀÇ"º¥´õ µå·ÓÀÇ ³»¿ëÀ» Á¶»çÇØ ±×°ÍÀ» ÁöÁ¤µÈ »õ·Î¿î º¥´õ µå·ÓÀÇ ³»¿ë°ú ºñ±³ÇÕ´Ï´Ù. °£´ÜÇÑ °æ¿ì, ´Ù¸¥ ÇÑÂÊÀÇ ¹öÀü¿¡ ÀÖ¾î ÀÌÁ¦ ÇÑÆí¿¡´Â ¾ø´Â °Í °°Àº ÆÄÀÏÀº ¾ø´Â ±¸·Î, ½ºÅ©¸³Æ®´Â »õ·Î¿î ÀÓÆ÷Æ®¸¦, ƯÈ÷ ¹®Á¦ ¾ø°Ô ½ÇÇàÇÕ´Ï´Ù. ±×·¯³ª, ¸¸¾à, ¹öÀü°£¿¡ ÆÄÀÏ ·¹À̾ƿô¿¡ Â÷À̰¡ ÀÖ´Â °æ¿ì, svn_load_dirs.pl ´Â ÀÌ Â÷À̸¦ ¾î¶»°Ô ÇØ°áÇÒ±î ¹°¾î ¿É´Ï´Ù. ¿¹¸¦ µé¾î, libcomplexÀÇ ¹öÀü 1.0À¸·Îmath.c (À̾ú)¿´´ø ÆÄÀÏÀº libcomplex1. 1¿¡¼­´Âarithmetic.c ¿¡ ¸íĪ º¯°æÀÌ µÈ °ÍÀ» ¾Ë°í ÀÖ´Â °ÍÀ» ½ºÅ©¸³Æ®¿¡ °¡¸£ÃÄ ÁÖ´Â °ÍÀÌ ÇÒ ¼ö ÀÖ½À´Ï´Ù. À̵¿¿¡ ÀÇÇØ ¼³¸íÇÒ ¼ö ¾ø´Â °Í °°Àº Â÷ÀÌÁ¡Àº, Åë»óÀÇ Ãß°¡¿Í »èÁ¦·Î¼­ ´Ù·ç¾îÁý´Ï´Ù.

±× ½ºÅ©¸³Æ®´Â ¶Ç ÀúÀå¼Ò(repository)¿¡Ãß°¡µÇ°í ÀÖ´Ù Á¤±Ô Ç¥Çö¿¡ ¼º³É ÇÏ´Â °Í °°Àº ÆÄÀϰú µð·ºÅ丮ÀÇ ¼Ó¼ºÀ» ¼³Á¤ÇÑ´Ù À§ÇØ(¶§¹®¿¡), ´Ù¸¥ ¼³Á¤ ÆÄÀÏÀ» ¹Þ¾ÆµéÀÏ ¼ö°¡ ÀÖ½À´Ï´Ù. ÀÌ ¼³Á¤ ÆÄÀÏÀºsvn_load_dirs.pl ·Î -p ¿É¼ÇÀ» »ç¿ëÇØ ÁöÁ¤µË´Ï´Ù. ¼³Á¤ ÆÄÀÏÀÇ °¢ ÇàÀº µÎ °³¿¡¼­ ³× °³ÀÇ °ø¹é¿¡¼­ ´Ü¶ôÁö¾îÁø °ªÀÔ´Ï´Ù: Ãß°¡µÈ ÆÐ½º¿¡ ´ëÇØ¼­ ¼º³É ½ÃŰ´Â Perl ½ºÅ¸ÀÏÀÇ Á¤±Ô Ç¥Çö, Á¦¾î Ű¿öµå(break ¶Ç´Â cont), ±×¸®°í, ¿É¼ÇÀ¸·Î ¼Ó¼º¸í°ú ¼Ó¼ºÄ¡°¡ ¿É´Ï´Ù.

\. png$              break   svn:mime-type   image/png
\. jpe? g$            break   svn:mime-type   image/jpeg
\. m3u$              cont    svn:mime-type   audio/x-mpegurl
\. m3u$              break   svn:eol-style   LF
. *                  break   svn:eol-style   native

Ãß°¡µÈ ÆÐ½º ¸¶´Ù, Á¤±Ô Ç¥ÇöÀÌ ÆÐ½º¿¡ ¼º³É ÇÏ´Â °Í °°Àº ¼Ó¼º º¯°æ ÇÏÁö¸¸ ÀÌ ¼ø¼­·Î Àû¿ëµË´Ï´Ù. ´Ù¸¸ Á¦¾îÀÇ ÁöÁ¤ÀÌbreak (ÀÌ)°¡ ¾Æ´Ñ °æ¿ì¿¡ ±×·¸°Ô µË´Ï´Ù(À̰ÍÀº ±× ÀÌ»óÀÇ ¼Ó¼º º¯°æÀº ÀÌ ÆÐ½º¿¡ ÇàÇÏÁö ¾Ê´Â °ÍÀ» ÀǹÌÇϰí ÀÖ½À´Ï´Ù). ¸¸¾à Á¦¾î ÁöÁ¤ÀÌcont continueÀÇ »ý·«ÇüÀÔ´Ï´Ù¸¸ÀÇ °æ¿ì´Â ¸ÅĪ ó¸®´Â ¼³Á¤ ÆÄÀÏÀÇ ´ÙÀ½ÀÇ Çà¿¡ ÀÌ¾î °©´Ï´Ù.

Á¤±Ô Ç¥ÇöÁßÀÇ ¸ðµç °ø¹é, ¼Ó¼º¸í, ¼Ó¼ºÄ¡´Â ½Ì±Û ¶Ç´Â ´õºí ÄõÃ÷ ±×¸®°í ¹­À» Çʿ䰡 ÀÖ½À´Ï´Ù. °ø¹éÀ» µÑ·¯½Î±â À§Çؼ­(¶§¹®¿¡) ÀÌ¿ëÇϰí ÀÖ´Â °ÍÀº ¾Æ´Ï´Ù ÄõÃ÷ ij¸¯ÅÍ´Â backslash ij¸¯ÅÍ(\)¸¦ ¾Õ¿¡ µÎ°í ºÙÀδ٠ÀÏ·Î À̽ºÄÉÀÌÇÁ ÇÒ ¼ö ÀÖ½À´Ï´Ù. backslash´Â ¼³Á¤ ÆÄÀÏÀ» ÇØ¼®ÇÒ ¶§ »ç³ª¿öÁö°í ÄõÃ÷ ÇϹǷÎ, Á¤±Ô Ç¥ÇöÁß¿¡¼­ ÇÊ¿äÇÑ °Í À̿ܿÜÀÇ Ä³¸¯ÅÍ¿¡´Â »ç¿ëÇÏÁö ¸»¾Æ ÁÖ¼¼¿ä.

Notes

[1]

ÀÌ Á¦ÀÇ(½Åû)Àº, ´ëºÎºÐÀÇ »ç¶÷ÀÌ ±×·¸´Ù°í »ý°¢ÇÕ´Ï´Ù¸¸, Subversion¿¡ ÀÏÀüµµ ÁöºÒÇÏÁö ¾ÊÀº »ç¶÷µéÀÎ ¸¸Å­ ´ëÇÏ´Â Á¦ÀÇ(½Åû)ÀÔ´Ï´Ù.

[2]

³²Àº °ÍÀ¸·Î µð³Ê´Â ¾î¶°¼¼¿ä?

[3]

Ä¿¹Ô ·Î±×ÁßÀÇ, ½ºÆç ¹Ì½º, ¹®¹ý Ʋ¸², "½Ã½ÃÇÑ ¹Ì½º" ´Â ¾Æ¸¶--revprop ¿É¼Ç ÀÌ¿ëÀ¸·Î 1¹ø Àß ÀϾ´Â °ÍÀÔ´Ï´Ù.

[4]

WindowsÀÇ ÆÄÀÏ ½Ã½ºÅÛÀº ÆÄÀÏ È®ÀåÀ» »ç¿ëÇØ ±×°ÍÀÌ ½ÇÇà ÆÄÀÏÀÌ´Ù ÀÏÀ» ³ªÅ¸³À´Ï´Ù. (. EXE, . BAT, . COM¿Í °°Àº È®ÀåÀÚ(extension)ÀÔ´Ï´Ù)

[5]

ÆÐÅÏÀº ±× µð·ºÅ丮¿¡¸¸ Á¦Çѵ˴ϴټ­ºê µð·ºÅ丮¿¡ Àç±ÍÀûÀ¸·Î ÀüÇØÁú °ÍÀº ¾ø½À´Ï´Ù.

[6]

±×°ÍÀÌ ºôµå ½Ã½ºÅÛÀÇ Çٽɿ¡¼­´Â?

[7]

ȤÀº, ±× Ã¥ÀÇ ÀÏÀýÀ»

[8]

±×¸®°í, ¹°·Ð ´ç½ÅÀ̱⠶§¹®¿¡, ¹ö±×µµ ¿ÏÀüÇÏ°Ô ¾ø¾îÁ® ÀÖ´Ù, ¶ó°í.


ID
Password
Join
Even the smallest candle burns brighter in the dark.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2004-01-05 16:18:12
Processing time 0.0023 sec