· 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
The luck that is ordained for you will be coveted by others.


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