· 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
Recent investments will yield a slight profit.


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.0022 sec