· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Subversion Book/WebDAVAnd Autoversioning

WebDAV ¿Í ÀÚµ¿ ¹öÀüÈ­

Appendix A. WebDAV ¿Í ÀÚµ¿ ¹öÀüÈ­


A.1.

WebDAV ´Â HTTPÀÇ È®ÀåÀ¸·Î, ÆÄÀÏ °øÀ¯¸¦ À§ÇÑ Ç¥ÁØÀ¸·Î¼­ ÀÚ¸®Àâ¾Æ °¡°í ÀÖ½À´Ï´Ù. ¿À´Ã³¯ÀÇ ¿î¿µÃ¼Á¦µéÀº ±Ø´ÜÀûÀ¸·Î À¥À» ÀǽÄÇÏ°í ÀÖÀ¸¹Ç·Î ¸¹Àº ¿î¿µÃ¼Á¦°¡ WebDAV ¼­¹ö¿¡ ÀÇÇØ °ø°³µÈ "°øÀ¯"¸¦ ¸¶¿îÆ®Çϱâ À§ÇÑ ±â´ÉÀ» ±âº»À¸·Î ³»ÀåÇÏ°í ÀÖ½À´Ï´Ù.

¸¸¾à Apache/mod_dav_svn À» Subversion ³×Æ®¿öÅ© ¼­¹ö·Î ÀÌ¿ëÇÑ´Ù¸é, ¾Æ¸¶ WebDAV ¼­¹öµµ »ç¿ëÇÏ°í ÀÖÀ» °ÍÀÔ´Ï´Ù. ÀÌ ºÎ·Ï¿¡¼­´Â WebDAV ÇÁ·ÎÅäÄÝÀÇ ¼ºÁú¿¡ ´ëÇÑ ¸î°¡Áö ¹è°æÁö½ÄÀ» Á¦°øÇÏ°í SubversionÀÌ ¾î¶»°Ô ±×°ÍÀ» ÀÌ¿ëÇϸç, WebDAV¸¦ Áö¿øÇÏ´Â ´Ù¸¥ ¼ÒÇÁÆ®¿þ¾î¿Í ¾î¶»°Ô Àß ÇùÁ¶ÇÏ´ÂÁö¸¦ ´Ù·ì´Ï´Ù.


A.1. WebDAV ÀÇ ±âº»ÀûÀÎ °³³ä

ÀÌ ¸¶µð´Â WebDAVÀÇ °³³ä¿¡ ´ëÇؼ­ ¾ÆÁÖ °£·«ÇÏ°í ÀϹÝÀûÀÎ °³¿ä¸¦ Á¦°øÇÕ´Ï´Ù.ÀÌ°ÍÀº Ŭ¶óÀ̾ðÆ®¿Í ¼­¹öÀÇ »çÀÌÀÇ WebDAV ÀÇ È£È¯¼º¿¡ °üÇÑ ¹®Á¦¸¦ ÀÌÇØÇϱâ À§ÇÑ ±âÃÊ°¡ µË´Ï´Ù.


A.1.1. WebDAV

RFC 2518 Àº ¸î °¡Áö °³³ä°ú °Å±â¿¡ µ¿¹ÝÇÏ´Â HTTP 1.1 ÀÇ È®Àå ¸Þ¼Òµå¸¦ Á¤ÀÇÇÏ°í ÀÖ½À´Ï´Ù. ±×°ÍÀº À¥À» Á» ´õ º¸ÆíÀûÀÎ ÀÐ°í ¾²±â °¡´ÉÇÑ ¸Åü·Î ¸¸µé¾îÁÖ´Â °ÍÀÔ´Ï´Ù. WebDAV ȣȯ À¥ ¼­¹ö´Â ÀϹÝÀûÀÎ ÆÄÀÏ ¼­¹öó·³ µ¿ÀÛÇÒ ¼ö ÀÖ°í, Ŭ¶óÀ̾ðÆ®´Â WebDAVÀÇ "°øÀ¯"¸¦ NFS³ª SMB °øÀ¯Ã³·³ ¸¶¿îÆ® ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÌ ±âº»ÀûÀÎ °³³äÀÔ´Ï´Ù.

±×·¯³ª RFC 2518 Àº DAV¶ó´Â ¸» Áß¿¡ "V"°¡ ÀÖÀ½¿¡µµ ºÒ±¸ÇÏ°í, ¾î¶² Á¾·ùÀÇ ¹öÀü(Version) °ü¸® ¸ðµ¨µµ Á¦°øÇÏÁö ¾Ê½À´Ï´Ù. ±âº»ÀûÀÎ WebDAV Ŭ¶óÀ̾ðÆ®¿Í ¼­¹ö´Â ÆÄÀÏÀ̳ª µð·ºÅ丮°¡ ÇϳªÀÇ ¹öÀü¸¸ Á¸ÀçÇÑ´Ù°í °¡Á¤ÇÏ°í, ±×°ÍÀ» °è¼ÓÇؼ­ µ¤¾î¾¹´Ï´Ù. [1]

±âº»ÀûÀÎ WebDAV¿¡¼­ µµÀÔµÈ »õ·Î¿î °³³ä°ú ¸Þ¼Òµå´Â ´ÙÀ½°ú °°½À´Ï´Ù.

»õ·Î¿î ¾²±â ¸Þ¼Òµå

À¥ ÀÚ¿øÀ» ¸¸µé°Å³ª µ¤¾î¾²´Â Ç¥ÁØÀûÀÎ HTTP PUT¸Þ¼Òµå¿¡ ¿Ü¿¡µµ WebDAV ¿¡¼­´Â »õ·Î¿î COPY ¿Í MOVE ¸Þ¼Òµå¸¦ Á¤ÀǵǾ ÀÚ¿øÀ» º¹Á¦Çϰųª À̵¿Çϰųª ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.

Ä÷º¼Ç

ÀÌ°ÍÀº ÀÚ¿ø(URI)ÀÇ ±×·ìÀ» °¡¸®Å°´Â WebDAV ¿ë¾îÀÔ´Ï´Ù. ´ëºÎºÐÀÇ °æ¿ì ±×°ÍÀº "µð·ºÅ丮"¶ó´Â ¸»°ú °°Àº ÀǹÌÀÔ´Ï´Ù. "/" ¹®ÀÚ·Î ³¡³ª´Â °ÍÀº Ä÷º¼ÇÀ̶ó°í ºÎ¸¦ ¼ö ÀÖ½À´Ï´Ù. ÆÄÀÏ ÀÚ¿øÀº PUT ¸Þ¼Òµå·Î °íÃÄ ¾µ ¼ö Àְųª ¸¸µé¾îÁö°Å³ª ÇÕ´Ï´Ù¸¸, ÁýÇÕ ÀÚ¿øÀº »õ·Î¿îMKCOL¸Þ¼Òµå·Î ¸¸µé¾îÁý´Ï´Ù.

¼Ó¼º

ÀÌ°ÍÀº Subversion¿¡ ³ª¿Í¿Í °°Àº ¾ÆÀ̵ð¾îÀÔ´Ï´Ù ÆÄÀÏ°ú ÁýÇÕ¿¡ ºÎ¼ö ÇÑ ¸ÞŸµ¥ÀÌŸÀÔ´Ï´Ù. Ŭ¶óÀ̾ðÆ®´Â »õ·Ó´Ù PROPFIND ¸Þ¼Òµå¸¦ »ç¿ëÇØ ÀÚ¿ø¿¡ ºÎ¼ö ÇÑ ¼Ó¼ºÀ» À϶÷Ç¥ °¡¸®Å°°Å³ª ÃßÃâÇϰųª ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í, PROPPATCH ¸Þ¼Òµå¸¦ »ç¿ëÇØ º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸î°³ÀÇ ¼Ó¼ºÀº ¿ÏÀüÇÏ°Ô À¯Àú¿¡ ÀÇÇØ ¸¸µé¾îÁö°í Á¦¾îµË´Ï´Ù( ¿¹¸¦ µé¾î,"color"·Î ºÒ¸®´Â ¼Ó¼º), ¶Ç ´Ù¸¥ °ÍÀº ¿ÏÀüÇÏ°Ô WebDAV ¼­¹ö¿¡ ÀÇÇØ ¸¸µé¾îÁö°í Á¦¾îµË´Ï´Ù(¿¹¸¦ µé¾î, ÆÄÀÏ ÀÇ ¸¶Áö¸· ¼öÁ¤ ½Ã°¢À» Æ÷ÇÔÇÑ ¼Ó¼º). ÃÖÃÊÀÇ °ÍÀº"dead" ¼Ó¼ºÀ¸·Î ºÒ·Á ³ª¸ÓÁöÀÇ °ÍÀº"live" ¼Ó¼ºÀ¸·Î ºÒ¸³´Ï´Ù.

¶ô

WebDAV ¼­¹ö´Â Ŭ¶óÀ̾ðÆ®¿¡ ´ëÇÑ ¶ôÀÇ ±â´ÉÀ» ÁØ´Ù ÀÏÀÌ »ý±é´Ï´Ù. ÀÌ ±â´ÉÀº ÀÓÀÇÀÔ´Ï´Ù. ´ëºÎºÐÀÇ WebDAV ¼­¹ö´Â ÀÌ ±â´ÉÀ» Á¦°øÇÏ°í ÀÖ½À´Ï´Ù¸¸. ¸¸¾à Á¸ÀçÇϸé, Ŭ¶óÀ̾ðÆ®´Â »õ·Ó´Ù LOCK ¿Í UNLOCK¸Þ¼Òµå¸¦ »ç¿ëÇØ ÀÚ¿ø¿¡ÀÇ ¾×¼¼½º¸¦ Á¶Á¤ ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ´ëºÎºÐÀÇ °æ¿ì, ÀÌ·¯ÇÑ ¸Þ¼Òµå´Â ¹èŸÀûÀÎ ±âÀÔÇØ ¶ôÀ» ¸¸µç´Ù À§ÇØ(¶§¹®¿¡) ÀÌ¿ëµË´Ï´Ù(>·Î ³íÀÇÇß´Ù °°°Ô), °øÀ¯ ±âÀÔ ¶ôµµ °¡´ÉÇÑ °ÍÀº ¾Ê½À´Ï´Ù¸¸.


A.1.2. DeltaV È®Àå

RFC 2518 Àº ¹öÀü°ü¸®¶ó´Â °³³äÀÌ ¾ø±â ¶§¹®¿¡, WebDAV¿¡ ¹öÀü °ü¸® ±â´ÉÀ» Ãß°¡ÇÑ RFC 3253À» ¾²´Â ÀÏÀÌ ´Ù¸¥ ±×·ì¿¡ ¸Ã°ÜÁ³½À´Ï´Ù. WebDAV/DeltaV Ŭ¶óÀ̾ðÆ®¿Í ¼­¹ö´Â ÀÚÁÖ "DeltaV" Ŭ¶óÀ̾ðÆ®¿Í ¼­¹ö·Î ºÒ¸³´Ï´Ù. DeltaV´Â ±âº»ÀûÀÎ WebDAVÀÇ Á¸À縦 Æ÷ÇÔÇÏ°í Àֱ⠶§¹®ÀÔ´Ï´Ù.

DeltaV ´Â ¿ÏÀüÈ÷ »õ·Î¿î ´Ü¾î¸¦ µµÀÔÇß½À´Ï´Ù¸¸, ³î¶óÁö ¸¶¼¼¿ä. »ý°¢Àº ¸Å¿ì Á÷°üÀûÀÔ´Ï´Ù. DeltaV·Î µµÀÔµÈ »õ·Î¿î °³³ä°ú ¸Þ¼Òµå´Â:

ÀÚ¿ø ¸¶´ÙÀÇ ¹öÀüÈ­

CVS³ª ´Ù¸¥ ¹öÀü °ü¸® ½Ã½ºÅÛ°ú °°ÀÌ DeltaV´Â °¢°¢ÀÇ ÀÚ¿øÀÌ ¹«ÇÑÇÑ °³¼öÀÇ »óŸ¦ °¡Áú ¼ö ÀÖ´Ù°í °¡Á¤ÇÕ´Ï´Ù. Ŭ¶óÀ̾ðÆ®´Â VERSION-CONTROL¶ó´Â »õ·Î¿î ¸Þ¼Òµå¸¦ »ç¿ëÇØ ÀÚ¿øÀ» ¹öÀü °ü¸® »óÅ·ΠµÓ´Ï´Ù. ÀÌ°ÍÀº »õ ¹öÀü °ü¸®µÇ´Â ÀÚ¿ø(VCR)À» ¸¸µì´Ï´Ù. VCRÀ» º¯°æÇÒ ¶§, (PUT³ªPROPPATCHµîÀÇ ¸Þ¼Òµå¸¦ ÀÌ¿ëÇؼ­), ÀÚ¿øÀÇ »õ·Î¿î »óÅ°¡ ÀÛ¼ºµË´Ï´Ù. ÀÌ°ÍÀ» ¹öÀü ÀÚ¿ø(VR)À̶ó°í ºÎ¸¨´Ï´Ù. VCR¿Í VRµµ º¸Åë URL¿¡ ÀÇÇØ Á¤ÀǵǴ À¥ ÀÚ¿øÀÔ´Ï´Ù. VR´Â »ç¶÷ÀÌ ¾Ë±â ½¬¿î À̸§µµ °¡Áú ¼ö ÀÖ½À´Ï´Ù.

¼­¹öÃø ÀÛ¾÷º» ¸ðµ¨

¸î¸î DeltaV ¼­¹ö´Â °¡»óÀûÀÎ"ÀÛ¾÷ ½ºÆäÀ̽º"¸¦ ¼­¹ö»ó¿¡ ¸¸µå´Â ´É·ÂÀ» ¼­Æ÷Æ®ÇÏ°í ÀÖ½À´Ï´Ù. °Å±â¼­ ¸ðµç ÀÛ¾÷ÀÌ ½ÇÇàµË´Ï´Ù. Ŭ¶óÀ̾ðÆ®´ÂMKWORKSPACE ¸Þ¼Òµå¸¦ »ç¿ëÇØ »çÀûÀÎ ¿µ¿ªÀ» ¸¸µé¾î, ±×¸®°í ƯÁ¤ÀÇ VCR ¸¦ ÀÛ¾÷ ½ºÆäÀ̽º¿¡"üũ¾Æ¿ô" ÇÏ´Â °ÍÀ¸·Î º¯°æÇÏ°í ½Í´Ù ±×·¸´Ù°í ÇÏ´Â °ÍÀ» ³ªÅ¸³», ±×°ÍµéÀ» ÆíÁýÇØ, ±×¸®°í Çѹø ´õ "üũÀÎ"ÇÕ´Ï´Ù. HTTPÀÇ ¸»¿¡¼­´Â, ¸Þ¼ÒµåÀÇ È帧À¸·Î¼­´Â, CHECKOUT, PUT, CHECKIN µË´Ï´Ù. °¢°¢ÀÇCHECKINÀÇ ´ÙÀ½¿¡, »õ·Î¿î VR °¡ ¸¸µé¾îÁ® ÆíÁýµÈ VCR ÀÇ ³»¿ëÀº ÃÖ½ÅÀÇ VR¸¦"Áö½ÃÇÏ´Â °Í" °°°Ô µË´Ï´Ù. °¢°¢ÀÇ VCR ´Â ¶Ç"ÀÌ·Â"ÀÚ¿øÀ» °¡Á®, ´Ù¾çÇÑ VR»óŸ¦ ±â·ÏÇØ, ¹®ÀǸ¦ ÇÕ´Ï´Ù.

Ŭ¶óÀ̾ðÆ®Ãø ÀÛ¾÷ Ä«ÇÇ ¸ðµ¨

¸î°³ÀÇ DeltaV ¼­¹ö´Â, Ŭ¶óÀ̾ðÆ®´Â ƯÁ¤ÀÇ VR¿¡ ÀÇÇÑ ÇÁ¶óÀ̺ø ÀÛ¾÷ Ä«ÇǸ¦ °¡Áú ¼ö°¡ ÀÖ´Ù°í ÇÏ´Â »ý°¢À» ¼­Æ÷Æ®ÇÕ´Ï´Ù. ÀÌ°ÍÀº CVS¿Í Subversion°¡ µ¿ÀÛÇÏ´Â ¹æ½ÄÀÔ´Ï´Ù) Ŭ¶óÀ̾ðÆ®°¡ ¼­¹ö¿¡ º°·Î ¼öÁ¤À» À§Å¹ÇÏ°í ½ÍÀº °æ¿ì, ±×°ÍÀº óÀ½¿¡ ÀϽÃÀûÀÎ ¼­¹ö È£¶ûÀÌ ÀÚÅ©¼ÇÀ»MKACTIVITY ¸Þ¼Òµå¿¡ ÀÇÇØ ¸¸µì´Ï´Ù (¾×Ƽ¹öƼ·Î ºÒ¸³´Ï´Ù). ±×¸®°í Ŭ¶óÀ̾ðÆ®´Â º¯°æÇÏ°í ½ÍÀ¸¸é »ý°¢ÇÏ´Â VR °¢°¢ÀÇ À§¿¡¼­CHECKOUT ¸¦ ½ÇÇàÇØ, ±×°ÍÀº ¸î°³ÀÇ ÀϽÃÀûÀÎ"ÀÛ¾÷ ÀÚ¿ø"À» ¾×Ƽ¹öƼ¾È¿¡ ¸¸µì´Ï´Ù. ±×¸®°í ±×°ÍÀºPUT ¿Í PROPPATCH¸Þ¼Òµå¸¦ »ç¿ëÇØ ¼öÁ¤ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ¸¶Áö¸·À¸·Î, Ŭ¶óÀ̾ðÆ®´Â ÀÛ¾÷ ÀÚ¿ø °¢°¢ÀÇ À§¿¡¼­ CHECKIN ¸¦ ½ÇÇàÇØ, ±×°ÍÀº °¢°¢ÀÇ VCR ³»ºÎ¿¡ »õ·Î¿î VR¸¦ ¸¸µé¾î, ±×¸®°í ¾×Ƽ¹öƼ Àüü°¡ »èÁ¦µË´Ï´Ù.

¼³Á¤

DeltaV ´Â"¼³Á¤"À¸·Î ºÒ¸®´Â VCRÀÇ À¯¿¬ÇÑ ¸ðÀÓÀ» Á¤ÀÇ ÇÕ´Ï´Ù¸¸, ±×°ÍÀº ƯÁ¤ÀÇ µð·ºÅ丮¿¡ ÀÀ´äÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. VCRÀÇ ³»¿ëÀÇ °¢°¢ÀºUPDATE ¸Þ¼Òµå¸¦ »ç¿ëÇØ Æ¯Á¤ÀÇ VR¸¦ Áö½ÃÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. Çѹø ¼³Á¤ÀÌ ¿ÏÀüÇÏ°Ô µÇ¸é, Ŭ¶óÀ̾ðÆ®´Â ¼³Á¤ ÀüüÀÇ"snapshot" ¸¦ ¸¸µé ¼ö°¡ ÀÖ½À´Ï´Ù. ÀÌ°ÍÀº"baseline"·Î ºÒ¸³´Ï´Ù. Ŭ¶óÀ̾ðÆ®´ÂCHECKOUT ¿Í CHECKIN ¸Þ¼Òµå¸¦ »ç¿ëÇØ ¼³Á¤ÀÇ Æ¯Á¤ »óŸ¦ Àâ½À´Ï´Ù. Á¤È®È÷, ±×·¯ÇÑ ¸Þ¼Òµå¸¦ VCRÀÇ Æ¯Á¤ÀÇ VR »óŸ¦ ¸¸µé±â À§Çؼ­(¶§¹®¿¡) »ç¿ëÇϴµ¥ ´à¾Ò½À´Ï´Ù.

È®À强

DeltaV ´Â »õ·Î¿î ¸Þ¼ÒµåREPORT¸¦ Á¤ÀÇÇÕ´Ï´Ù¸¸ ±×°ÍÀº Ŭ¶óÀ̾ðÆ®¿Í ¼­¹ö°¡ µ¶ÀÚ µ¥ÀÌÅÍ ±³È¯À» ½ÇÇàÇÏ´Â °ÍÀ» Çã¶ôÇÑ´Ù ¹°°ÇÀÔ´Ï´Ù. Ŭ¶óÀ̾ðÆ®´ÂREPORT ¿ä±¸¸¦ µ¶ÀÚÀûÀÎ µ¥ÀÌÅÍ°¡ ÀÖ´Â ¼Ó¼º ¶óº§ÀÌ ºÙÀº XMLÀÇ º¸µð¸¦ À̶ó°íµµ µÇ¾î ¼Û½ÅÇÕ´Ï´Ù. ¼­¹ö°¡ ÀÌ Æ¯Á¤ÀÇ ¸®Æ÷Æ®ÇüÀ» ÀÌÇØÇÒ ¼ö ÀÖ´Â °ÍÀ» °¡Á¤ÇØ, ±×°ÍÀº ¿ª½Ã µ¶ÀÚÀûÀÎ XML º¸µð¸¦ ÀÀ´äÇÕ´Ï´Ù. ÀÌ ±â¼úÀº XML-RPC¿Í Àß ´à¾Ò½À´Ï´Ù.

ÀÚµ¿ ¹öÀüÈ­

´ëºÎºÐÀÇ »ç¶÷¿¡°Ô ÀÖ¾î, ÀÌ°ÍÀº DeltaVÀÇ"°¡Àå ¸Å·ÂÀûÀÎ" ±â´É ÀÔ´Ï´Ù. ¸¸¾à DeltaV ¼­¹öÀΰ¡ ÀÌ ±â´ÉÀ» ¼­Æ÷Æ®ÇÏ°í ÀÖÀ¸¸é, ±âº»ÀûÀÎ WebDAV Ŭ¶óÀ̾ðÆ®(Áï ¹öÀüÈ­¸¦ ÀǽÄÇÏÁö ¾Ê´Â Ŭ¶óÀ̾ðÆ®)´Â ¶ÇÇÑ ¼­¹ö¿¡ ±âÀÔÇÒ ¼ö°¡ ÀÖ¾î ±× ¼­¹ö´Â ¾î·µç ÀÔ´Ù¹°¾î ¹öÀüÈ­ 󸮸¦ ½ÇÇàÇÕ´Ï´Ù. Á¦ÀÏ °£´ÜÇÑ ¿¹¿¡¼­´Â, ±âº»ÀûÀÎ WebDAV Ŭ¶óÀ̾ðÆ®·ÎºÎÅÍÀÇ ¹«ÁöÇÑPUT ´Â ¼­¹ö¿¡ ÀÇÇØ CHECKOUT, PUT, CHECKINÀÇ Æí¼ºÀ̶ó°í Çؼ®µË´Ï´Ù.


A.2. Subversion ¿Í DeltaV

±×·³, Subversion´Â ´Ù¸¥ DeltaV ¼ÒÇÁÆ®¿þ¾î¿Í ¾î¶°ÇÑ "ȣȯ¼º" ÀÌ ÀÖ´Â °ÍÀϱî¿ä? °£´ÜÇÏ°Ô ¸»Çϸé(ÀÚ): ±×¸¸Å­. Àû¾îµµ, ¾ÆÁ÷ ±×·¸°Ô ȣȯ¼ºÀº ¾Ê°í, Subversion 1.0 ¿¡¼­µµ ±×·¸°ÚÁö¿ä.

libsvn_ra_dav ´Â DeltaV ¿ä±¸¸¦ ¼­¹ö¿¡ ¼Û½ÅÇÕ´Ï´Ù¸¸, Subversion Ŭ¶óÀ̾ðÆ®´Â ÀϹÝÀûÀÎ DeltaV Ŭ¶óÀ̾ðÆ®°¡ ¾Æ´Õ´Ï´Ù. ½ÇÁ¦, ±×°ÍÀº ¼­¹ö¿¡ ¸î°³ÀÇ µ¶ÀÚÀûÀÎ ±â´ÉÀ» ±â´ëÇÏ°í ÀÖ½À´Ï´Ù(ƯÈ÷, REPORT¿ä±¸¿Í °°Àº °ÍÀ» ÅëÇؼ­). ÇÑÃþ ´õ mod_dav_svn ´Â ÀϹÝÀûÀÎ ¸ñÀûÀÇ DeltaV ¼­¹ö°¡ ¾Æ´Õ´Ï´Ù. ±×°ÍÀº ´ÜÁö DeltaV Á¤ÀÇÀÇ ÇÑÁ¤µÈ ÀϺθ¦ ½ÇÀåÇÏ°í Àִ¿¡ Áö³ªÁö ¾Ê½À´Ï´Ù. Á» ´õ ÀϹÝÀûÀÎ WebDAV³ª DeltaV Ŭ¶óÀ̾ðÆ®´Â ±×°Í°ú ¸Å¿ì Àß ÇùÁ¶ µ¿ÀÛÇÒ ¼ö°¡ ÀÖÀ»Áöµµ ¸ð¸£Áö ¾Ê½À´Ï´Ù¸¸, ±×°ÍÀº ±× Ŭ¶óÀ̾ðÆ® ÇÏÁö¸¸ ¼­¹ö°¡ ½ÇÀåÇÏ°í ÀÖ´Â ÇÑÁ¤µÈ ±â´É°ú ÀÏÄ¡ÇÏ°í ÀÖ´Â °Í °°Àº Á¶ÀÛ (À»)¸¦ ÇÒ ¶§ »ÓÀÔ´Ï´Ù. Subversion °³¹ß ÆÀÀº SubversionÀÇ ÇâÈÄÀÇ ¸±¸®½º ±×¸®°í ÀϹÝÀûÀÎ WebDAV¿ÍÀÇ »óÈ£ ¿î¿ëÀ» ÃëÇÒ °èȹÀÌ ÀÖ½À´Ï´Ù.


A.2.1. Subversion ÀÇ DeltaV¿¡ÀÇ ¸ÅÇÎ

´Ù¾çÇÑ Subversion Ŭ¶óÀ̾ðÆ®ÀÇ Á¶ÀÛÀÌ DeltaV¸¦ »ç¿ëÇÏ´Â ¹æ¹ý ÀÇ ¸Å¿ì"ÇÏÀÌ·¹º§ÀÇ" ¹æ½ÄÀ» µé¾î µÓ´Ï´Ù. ´ëºÎºÐÀÇ °æ¿ì, ÀÌ·¯ÇÑ ¼³¸íÀº ´Ü¼øÈ­ ³Ê¹« ÇÏ°í ÀÖ½À´Ï´Ù. SubversionÀÇ ¿ø½Ã Äڵ带 Àаųª °³¹ßÀÚ¿¡°Ô (µè)¹¯°Å³ª ÇÏ´Â °ÍÀÇ ´ë½Å¿¡ µÈ´Ù°í´Â»ý°¢ÇÏÁö ¸»¾ÆÁÖ¼¼¿ä.

svn checkout/list

Á÷Á¢ÀûÀÎ ¾ÆÀÌÀÇ À϶÷À» ÃëµæÇϱâ À§Çؼ­, ÁýÇÕ ÈÄ¿¡ ±íÀÌ 1 ÀÇ PROPFIND ¸¦ ½ÇÇàÇÕ´Ï´Ù. °¢°¢ÀÇ ¾ÆÀÌ¿¡°Ô,GET (ȤÀº PROPFIND)¸¦ ½ÇÇàÇÕ´Ï´Ù. ÁýÇÕ Áß(¾È)¿¡¼­ Àç±Í ÇØ, ÀÌ°ÍÀ» ¹Ýº¹ÇÕ´Ï´Ù.

svn commit

MKACTIVITY·Î ¾×Ƽ¹öƼ¸¦ ¸¸µé¾î, º¯°æµÇ¾ú´Ù ¾ÆÀÌÅÛ ¸¶´ÙCHECKOUT ¸¦ ½ÇÇàÇØ, »õ·Î¿î µ¥ÀÌÅÍ (À»)¸¦PUT ÇØ, ¸¶Áö¸·¿¡MERGE ¿ä±¸¸¦ ÇØ, ±×°ÍÀÌ ¾Ï¹¬¿¡ È£ÃâÇÏ´ÂCHECKIN °¡ ¸ðµç ÀÛ¾÷ ÀÚ¿ø¿¡ ´ëÇؼ­ ½ÇÇàµË´Ï´Ù.

svn update/switch/status/merge/diff

ÀÛ¾÷ Ä«ÇÇÀÇ È¥ÇÕ ¹öÀü(È¥ÇÕ URL) »óŸ¦ ³ªÅ¸³»´Â µ¶ÀÚÀûÀÎ REPORT ¿ä±¸¸¦ º¸³À´Ï´Ù. ¼­¹ö´Â ¾î´À ¾ÆÀÌÅÛ¿¡ °»½ÅÀÌ ÇÊ¿äÇÑ°¡¸¦ ³ªÅ¸³»´Â µ¶ÀÚÀûÀÎ ÀÀ´äÀ» º¸³À´Ï´Ù. Ŭ¶óÀ̾ðÆ®´Â ÀÀ´ä ¸¶´Ù ·çÇÁ ÇØ, ÇÊ¿äÇÑ GET ¿Í PROPFIND¿ä±¸¸¦ ½ÇÇàÇÕ´Ï´Ù. update ¿Í switch Ä¿¸àµå¿¡¼­´Â, ÀÛ¾÷ Ä«ÇÇ¿¡ »õ·Ó´Ù µ¥ÀÌÅ͸¦ ¹èÄ¡ÇÕ´Ï´Ù. diff ¿Í merge Ä¿¸àµå¿¡¼­´Â µ¥ÀÌÅ͸¦ ÀÛ¾÷ Ä«ÇÇ (¿Í)°ú ºñ±³ÇØ, ·ÎÄÃÀÎ ¼öÁ¤¿¡ ´ëÇÑ º¯°æÀ» Àû¿ëÇÏ´Â Àϵµ ÀÖ½À´Ï´Ù.


A.2.2. ÀÚµ¿ ¹öÀüÈ­ÀÇ ¼­Æ÷Æ®

ÁýÇÊ ½ÃÁ¡¿¡¼­, ÀÌ ¼¼»ó¿¡°Ô´Â ¾ÆÁ÷ ¸Å¿ì ¸î ¾È µÇ´Â Á¾·ùÀÇ DeltaV Ŭ¶óÀ̾ðÆ® ¹Û¿¡ ¾ø´Ù°í ÇÏ´Â °ÍÀÌ Çö½ÇÀÔ´Ï´Ù. RFC 3253 Àº ¾ÆÁ÷ ºñ±³Àû »õ·Î¿î ±Ô°ÝÀÔ´Ï´Ù. ±×·¯³ª, À¯Àú´Â"¹ü¿ëÀûÀÎ"Ŭ¶óÀ̾ðÆ®¿¡ ¾×¼¼½º ÇÑ´Ù (ÀÌ)°¡ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×°ÍÀº, °ÅÀÇ ¸ðµç Çö´ëÀûÀÎ ¿ÀÆÛ·¹ÀÌÆÃ(operating) ½Ã½ºÅÛÀº, ÅëÇÕµÈ ±âº»ÀûÀÎ WebDAV Ŭ¶óÀ̾ðÆ®¸¦ ½ÇÀåÇÏ°í Àֱ⠶§¹®ÀÔ´Ï´Ù. ÀÌ°ÍÀ» ¸¶À½¿¡ ¼¼¿ö, Subversion °³¹ßÀÚ´Â ¸¸¾à Subversion1. 0ÀÌ ¾î¶°ÇÑ Á¦ÈÞ ±â´ÉÀ» °¡Áö°Ô µÈ´Ù°í Çصµ, DeltaVÀÇ ÀÚµ¿ ¹öÀüÈ­ÀÇ ±¸Á¶¸¦ ¼­Æ÷Æ®ÇÏ´Â °ÍÀÌ °¡Àå ÁÁÀº ¼±Åà (ÀÌ)¶ó°í »ý°¢ÇÏ°í ÀÖ½À´Ï´Ù.

mod_dav_svn ÀÇ ÀÚµ¿ ¹öÀüÈ­ÀÇ ±¸Á¶¸¦ À¯È¿ÇÏ°Ô ÇÏ·Á¸é , httpd.conf ÆÄÀÏÀÇ Locationºí·ÏÀ¸·Î, SVNAutoversioning ¸í·ÉÀ» »ç¿ëÇØ ÁÖ¼¼¿ä. ÀÌ·± ´À³¦ÀÔ´Ï´Ù:

Location /repos
  DAV svn
  SVNPath /absolute/path/to/repository
  SVNAutoversioning on
/Location

º¸Åë, WebDAV Ŭ¶óÀ̾ðÆ®°¡ ÀúÀå¼Ò(repository)ÀÇ Àå¼Ò¿¡ ÀÖ´Â Æнº¿¡ PUT ¸¦ ¹ßÇàÇϸé(ÀÚ), mod_dav_svn´Â ±× ¿ä±¸¸¦ ¹«Á¶°Ç °ÅºÎÇÕ´Ï´Ù. (±×°ÍÀº º¸ÅëÀº, DeltaV"¾×Ƽ¹öƼ"¿¡ ÀÖ´Ù "ÀÛ¾÷ ÀÚ¿ø"»ó¿¡ ±×·¯ÇÑ Á¶ÀÛÀ» Çã¶ôÇÒ »ÓÀÔ´Ï´Ù). ±×·¯³ªSVNAutoversioning ¸¦ À¯È¿ÇÏ°Ô Çϸé(ÀÚ), ±× ¼­¹ö´ÂPUT ¿ä±¸¸¦ Ⱦ·ÉÇØ, ³»ºÎÀûÀ¸·Î´Â MKACTIVITY, CHECKOUT, PUT, CHECKINÀÇ ÀÏ·ÃÀÇ ¸í·ÉÀ¸·Î¼­ ó¸®ÇÕ´Ï´Ù. ÀϹÝÀûÀÎ ·Î±× ¸Þ¼¼Áö°¡ ÀÚµ¿ÀûÀ¸·Î »ý¼ºµÇ¾î »õ·Î¿î ÆÄÀÏ ½Ã½ºÅÛ ¸®¹öÀüÀÌ ¸¸µé¾îÁý´Ï´Ù.

¸Å¿ì ¸¹Àº operating system°¡ ¹ú½á ÅëÇյǾú´Ù WebDAV ´É·ÂÀ» °¡Áö°í ÀÖÀ¸¹Ç·Î, ÀÌ ±â´ÉÀÇ ÀÌ¿ë ÇüÅ´ ¸Å¿ì ÈǸ¢ÇÏ´Ù ¹°°ÇÀÌ µË´Ï´Ù: Microsoft Windows ³ª Mac OS ¸¦ ½ÇÇàÇÏ°í ÀÖ´Â º¸Åë À¯Àú°¡ ÀÖ´Â ¿ÀÇǽº¸¦ »ó»óÇØ º¸¼¼¿ä. °¢°¢ÀÇ ÄÄÇ»ÅÍ (Àº)´Â SubversionÀÇ ÀúÀå¼Ò(repository)¸¦"¸¶¿îÆ®" ÇÏ°í ÀÖ¾î, ±×°ÍÀº º¸Åë ³×Æ®¿öÅ© °øÀ¯·Î º¸ÀÔ´Ï´Ù. ±×µéÀº Æò»ó½Ã ÇÏ°í ÀÖµµ·Ï(µíÀÌ) ¼­¹ö¸¦ »ç¿ëÇÏ°ÚÁö¿ä: ¼­¹öÀÇ ÆÄÀÏÀ» ¿­¾î, ÆíÁýÇØ, ¼­¹ö ½á µÇµ¹¸³´Ï´Ù. ±×·¯³ª, ÀÌ À̾߱â Áß(¾È)¿¡¼­´Â, ¼­¹ö´Â ¸ðµç °ÍÀ» ÀÚµ¿ÀûÀ¸·Î ¹öÀüÈ­ÇÕ´Ï´Ù. ³ªÁß¿¡, ½Ã½ºÅÛ °ü¸® Ã¥ÀÓÀÚ°¡ Subversion Ŭ¶óÀ̾ðÆ® (À»)¸¦ »ç¿ëÇØ, ¸ðµç ³°Àº ¹öÀüÀ» °Ë»öÇØ, ÃßÃâÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.

ÀÌ À̾߱â´Â, Çö½Ç·Î ÇÒ ¼ö ÀÖ´Â °ÍÀϱî¿ä? ¾Æ´Ï, ¾ÆÁ÷ ¿ÏÀüÇÏ°Ô´Â. Á¦ÀÏÀÇ ÀåÇØ´Â Subversion1. 0 Àº WebDAVÀÇLOCK (ÀÌ)³ªUNLOCK ¸Þ¼Òµå¸¦ ¼­Æ÷Æ®ÇÏ°í ÀÖÁö ¾Ê´Ù°í ÇÑ´Ù ÀÏÀÔ´Ï´Ù. ´ëºÎºÐÀÇ operating systemÀÇ DAV Ŭ¶óÀ̾ðÆ®´Â DAVÀÇ ÇüÅ·Π¸¶¿îÆ®µÈ ³×Æ®¿öÅ© °øÀ¯·ÎºÎÅÍ Á÷Á¢ ¿­¸° ÀÚ¿ø¿¡ ´ëÇØLOCK ÇÏ·Á°í ÇÕ´Ï´Ù. ÇöÀç, À¯Àú´Â DAV °øÀ¯·ÎºÎÅÍ ÆÄÀÏÀ» ·ÎÄà µð½ºÅ©¿¡ Ä«ÇÇÇØ, ÆíÁýÇØ, ±×¸®°í Çѹø ´õ, ¼­¹ö¿¡ ½á µÇµ¹¸®Áö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. ÀÌ»óÀûÀÎ ÀÚµ¿ ¹öÀüÈ­´Â ÇÒ ¼ö ¾ø½À´Ï´Ù¸¸, ±×·±µ¥µµ, ÀÛ¾÷ÇÒ ¼ö ÀÖ½À´Ï´Ù.


A.2.3. mod_dav_lock¿¡ ÀÇÇÑ ´ë¾È

mod_dav Apache ¸ðµâÀº º¹ÀâÇÑ ¸ðµâÀÔ´Ï´Ù: ±×°ÍÀº ¸ðµç WebDAV¿Í DeltaV ¸Þ¼Òµå¸¦ ÀÌÇØÇØ Çؼ®ÇÏ´Â °ÍÀÌ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª, ¾ÆÁ÷ ÀÚ¿ø Àڽſ¡°Ô ¾×¼¼½º ÇÏ·Á¸é ¿¬±¸ ÃÖÁ¾ ´Ü°èÀÇ "°ø±Þ ¸ðµâ" ¿¡ ÀÇÁ¸ÇÏ°í ÀÖ½À´Ï´Ù.

Á¦ÀÏ °£´ÜÇÑ °æ¿ì·Î¼­´Â, À¯Àú´Â mod_dav_fs ¸¦ mod_davÀÇ °ø±Þ ¸ðµâ·Î¼­ ÀÌ¿ëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. mod_dav_fs ´Â Åë»óÀÇ ÆÄÀÏ ½Ã½ºÅÛÀ» ÆÄÀÏÀ̳ª µð·ºÅ丮¸¦ °Ý³³ÇÏ´Â Àå¼Ò¿¡ ÀÌ¿ë ÇØ, ±âº»ÀûÀÎ WebDAV ¸Þ¼Òµå¸¸À» ÀÌÇØÇÕ´Ï´Ù. DeltaV´Â ÀÌÇØ ¼º°ú ¼±.

ÇÑÆí Subversion´Â mod_dav_svn ¸¦ mod_dav ÀÇ °ø±Þ ¸ðµâ·Î¼­ »ç¿ëÇÕ´Ï´Ù. mod_dav_svn´ÂLOCK¸¦ µé¿©´Ù º¸¾Ò´Ù ¸ðµç WebDAV ¸Þ¼Òµå¸¦ ÀÌÇØÇØ, DeltaV ¸Þ¼ÒµåÀÇ »ó´çÇÑ ºÎºÐÀ» ÀÌÇØ ÇÕ´Ï´Ù. ±×°ÍÀº ÁøÂ¥ ÆÄÀÏ ½Ã½ºÅÛ¿¡ ÀÖ´Ù°í ÇÏ´Â °Íº¸´Ùµµ, Subversion ÀúÀå¼Ò(repository)¿¡ ÀÖ´Â µ¥ÀÌÅÍ¿¡ ¾×¼¼½º ÇÕ´Ï´Ù. Subversion 1.0 Àº ¶ôÀ» ¼­Æ÷Æ®ÇÕ´Ï´Ù¸¸, ±×°ÍÀº Subversion°¡ Ä«ÇÇ¡¤¼öÁ¤¡¤¸ÓÁö ¸ðµ¨À» »ç¿ëÇÏ°í ÀÖ´Â °ÍÀ¸·Î, ½ÇÁ¦·Î ½ÇÀåÇÏ´Â °ÍÀÌ ¸Å¿ì ¾î·Æ±â ¶§¹®ÀÔ´Ï´Ù. [2]

Apache httpd-2. 0 À¸·Î, mod_dav ´Â, °ø±Þ ¸ðµâÀº ±×°ÍÀ» ¹Þ¾ÆµéÀδ٠¶æÀÌ ÀÖ´Ù°í ÇÏ´Â ÀüÁ¦ ¾ÕÀ¸·Î, »çÀûÀÎ µ¥ÀÌŸº£À̽º¿¡ °ÉÄ¡´Â ¶ôÀ» ±â·ÏÇÏ´Â °Í¿¡ ÀÇÇØLOCK ¸Þ¼Òµå¸¦ ¼­Æ÷Æ®ÇÕ´Ï´Ù. ±×·¯³ª Apache httpd-2. 1 ÀÌÈÄ¿¡¼­´Â ÀÌ ¶ôÀÇ ¼­Æ÷Æ®´Â µ¶¸³ÇÑ ¸ðµâ mod_dav_lock ¿¡ ºÐÇÒ µË´Ï´Ù. ÀÌ ¸ðµâÀº ¾î¶°ÇÑ mod_dav °ø±Þ ¸ðµâ¿¡µµ ¶ô µ¥ÀÌŸº£À̽ºÀÇ ÀÌ¿ëÀ» ÀÎÁ¤ÇØ °Å±â¿¡´Â mod_dav_svn µµ Æ÷ÇԵ˴ϴÙ. mod_dav_svn´Â ½ÇÁ¦·Î´Â ¶ôÀ» ÀÌÇØÇÏÁö ¾ÊÀ½¿¡µµ ºÒ±¸ÇÏ°í, ÀÔ´Ï´Ù.

¾ÆÁ÷ È¥¶õÇմϱî?

¿äÄÁµ¥, Apache httpd-2. 1(·Î ±× ÀÌÈÄ)¿¡¼­´Â, mod_dav_lock¸¦ »ç¿ëÇØ, mod_dav_svn °¡ Á¦´ë·ÎLOCK ¿ä±¸¸¦ ³»°í ÀÖ´Ù°í ÇÏ´Âü À» ÇÏ´Â °ÍÀÌ ÇÒ ¼ö ÀÖ½À´Ï´Ù. mod_dav_lock °¡ httpd ¿¡ Â¥³Ö¾î ÄÄÆÄÀÏ µÇ°í ÀÖÀ»±î httpd.conf·Î ·Îµå µÇ°í ÀÖ´Â °ÍÀ» È®ÀÎÇØ ÁÖ¼¼¿ä. ±×¸®°íLocation ¿¡ DAVGenericLockDB ¸í·ÉÀ» Ãß°¡ÇØ ÁÖ¼¼¿ä. ÀÌÇÏ¿Í °°Àº ´À³¦ÀÔ´Ï´Ù:

Location /repos
  DAV svn
  SVNPath /absolute/path/to/repository
  SVNAutoversioning on
  DavGenericLockDB /path/to/store/locks
/Location

ÀÌ Å×Å©´ÐÀº, Á¶±Ý À§ÇèÇÕ´Ï´Ù: ¾î´À ÀǹÌ, mod_dav_svn ´Â WebDAV Ŭ¶óÀ̾ðÆ®¿¡ °ÅÁþ¸»À» ÇÏ°í ÀÖ´Â °ÍÀÔ´Ï´Ù. LOCK ¿ä±¸¸¦ ¹Þ°í ³Ö´Â ü¸¦ ÇÕ´Ï´Ù¸¸, ½ÇÁ¦·Î´Â ¾î¶² ·¹º§¿¡ ´ëÇصµ ¶ôÀº °­Á¦´çÇÏ°í ÀÖÁö ¾Ê½À´Ï´Ù. ¸¸¾à Á¦2ÀÇ WebDAV Ŭ¶óÀ̾ðÆ®°¡ °°Àº ÀÚ¿ø ¿¡ ´ëÇؼ­LOCK ÇÏ·Á°í Çϸé(ÀÚ), mod_dav_lock´Â ±×°ÍÀ» ¾Ë¾Æ, ¿ä±¸¸¦ ÀûÀýÈ÷ °ÅºÎÇÕ´Ï´Ù. ±×·¯³ª, º¸Åë Subversion Ŭ¶óÀ̾ðÆ®°¡ º¸Åësvn commit¸¦ ÅëÇؼ­ ÇÏ´Â ÆÄÀÏ º¯°æÀº, ÀüÇô ¸·À» ¼ö ¾ø½À´Ï´Ù!. ¸¸¾à ÀÌ Å×Å©´ÐÀ» »ç¿ëÇÑ´Ù¸é, À¯Àú¿¡°Ô, ´Ù¸¥ »ç¶÷ÀÇ º¯°æÀ» ¾î¸²Àâ¾Æ ¸ÁÄ¥ ±âȸ¸¦ ÁÖ¾î ¹ö¸³´Ï´Ù. ƯÈ÷, WebDAV Ŭ¶óÀ̾ðÆ®´Â Åë»óÀÇ svn Ŭ¶óÀ̾ðÆ®¿¡ ÀÇÇØ À§Å¹µÇ¾ú´Ù ¼öÁ¤À» Ʋ·Á µ¡¾²±âÇØ ¹ö¸±Áöµµ ¸ð¸¨´Ï´Ù.

ÇÑÆí, ÃæºÐÈ÷ ÁÖÀÇÇØ È¯°æÀ» ¼³Á¤Çϸé, À§ÇèÀ» ÁÙÀÏ ¼ö°¡ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ¸¸¾à À¯ÀúÀǸðµç °Í ÀÌ(svn Ŭ¶óÀ̾ðÆ® (Àº)´Â ¾Æ´Ï°Ô) ±âº»ÀûÀÎ WebDAV Ŭ¶óÀ̾ðÆ®¸¦ ÅëÇؼ­ ÀÛ¾÷ÇÏ°í ÀÖ´Ù¸é, À̾߱â´Â ÀߵǰÚÁö¿ä.


A.3. ÀÚµ¿ ¹öÀüÈ­ÀÇ »óÈ£ ÇùÁ¶¼º

ÀÌ ¸¶µð¿¡¼­´Â, °¡Àå ÀϹÝÀûÀÎ WebDAV Ŭ¶óÀ̾ðÆ®(Çö½ÃÁ¡¿¡¼­ÀÇ)¿Í ±×°ÍÀÌ SVNAutoversioning ¸í·ÉÀ» »ç¿ëÇÏ´Â mod_dav_svn ¼­¹ö¿¡ ´ëÇÏ´Â Á¶ÀÛÀ» ¾î¶² ´À²¸¿¡ Àß ÇÏ´ÂÁö¸¦ ¼³¸íÇÕ´Ï´Ù. RFC 2518 Àº Á¶±Ý Å©°í, ¾Æ¸¶, ³Ê¹« À¯¿¬ÇÑ ±Ô°ÝÀÔ´Ï´Ù. WebDAV Ŭ¶óÀ̾ðÆ® ÀÇ °¢°¢Àº ǬǬÀÌ ´Ù¸¥ ¿òÁ÷ÀÓÀ» ÇØ, °¢°¢ Á¶±Ý¾¿ ´Ù¸¥ ¹®Á¦¸¦ ÀÏÀ¸Åµ´Ï´Ù.


A.3.1. Win32 À¥ Æú´õ

Windows 98, 2000, À̶ó°í XP´Â,"À¥ Æú´õ"·Î¼­ ¾Ë·ÁÁ® ÀÖ´Â ÅëÇÕµÈ WebDAV Ŭ¶óÀ̾ðÆ®¸¦ ½ÇÀåÇÏ°í ÀÖ½À´Ï´Ù. Windows 98¿¡¼­´Â, ±× ±â´ÉÀº ¸í½ÃÀûÀ¸·Î ÀνºÅç ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ¸¸¾à Á¸ÀçÇÏ°í ÀÖÀ¸¸é,"À¥ Æú´õ" ´Â ¸¶ÀÌ ÄÄÇ»ÅÍ ÀÇ ¾È¿¡, Á÷Á¢ º¸ÀÏ °ÍÀÔ´Ï´Ù. Windows 2000 À¸·Î XP¿¡¼­´Â, ´ÜÁö ¸¶ÀÌ ³×Æ®¿öÅ©ÀÇ °÷À» ¿­¾î, ³×Æ®¿öÅ© Ç÷¹À̽ºÀÇ Ãß°¡ÀÇ ¾ÆÀÌÄÜÀ» ½ÇÇàÇÒ »ÓÀÔ´Ï´Ù. ´ÙÀ̾ó·Î±×°¡ ³ª¿À¸é(ÀÚ), WebDAV ÀÇ URL¸¦ ÀÔ·ÂÇÕ´Ï´Ù. °øÀ¯ Æú´õ´Â ¸¶ÀÌ ³×Æ®¿öÅ© Ç÷¹À̽º¿¡ Ç¥½ÃµÇ°Ô µË´Ï´Ù.

´ëºÎºÐÀÇ ±âÀÔ Á¶ÀÛÀº ÀÚµ¿ ¹öÀüÈ­ µÈ mod_dav_svn ¼­¹ö¿¡ Àß ¾×¼¼½º ÇÒ ¼ö ÀÖ½À´Ï´Ù¸¸, ¸î°³ÀÇ ¹®Á¦µµ ÀÖ½À´Ï´Ù:

  • ¸¸¾à ÄÄÇ»ÅÍ°¡ NTµµ¸ÞÀÎÀÇ ¸â¹ö¶ó°í, WebDAV °øÀ¯¿¡ Á¢¼ÓÇÒ ¼ö ¾ø´Â °Íó·³ º¸ÀÔ´Ï´Ù. ±×°ÍÀº ¹Ýº¹ÇØ À̸§°ú Æнº¿öµå¸¦ ¿ä±¸ÇØ, ±×°ÍÀº Apache ¼­¹ö°¡ ÀÎÁõÀ» ¿ä±¸ÇÏÁö ¾ÊÀ» ¶§Á¶Â÷ ÀϾ´Ï´Ù. ¾î´À »ç¶÷µéÀº, À¥ Æú´õ´Â MicrosoftÀÇ SharePoint DAV ¼­¹ö¿¡ º°·Î µ¿ÀÛÇϵµ·Ï(µíÀÌ) ¼³°èµÇ¾ú±â ¶§¹®À̶ó°í »ý°¢ÇÏ°í ÀÖ½À´Ï´Ù. ¸¸¾à ¸Ó½ÅÀÌ NTµµ¸ÞÀÎÀÌ ÀϺο¡¼­ ¾øÀ¸¸é, ±× °øÀ¯´Â ¹®Á¦ ¾ø°Ô ¸¶¿îÆ® ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¼ö¼ö²²³¢´Â ¾ÆÁ÷µµ ÇØ°áÇÏ°í ÀÖÁö ¾Ê½À´Ï´Ù.

  • ÆÄÀÏÀº °øÀ¯·ÎºÎÅÍ ÆíÁýÀ» À§Çؼ­(¶§¹®¿¡) Á÷Á¢ ¿­ ¼ö°¡ ¾ø½À´Ï´Ù. Ç×»ó Àоîµé¿© Àü¿ëÀÌ µË´Ï´Ù. mod_dav_lockÀÇ Å×Å©´ÐÀº µµ¿ò¿¡ µÇÁö ¾Ê½À´Ï´Ù. À¥ Æú´õ´ÂLOCK ¸Þ¼Òµå¸¦ ÀüÇô ÀÌ¿ëÇÏÁö ¾Ê±â ¶§¹®ÀÔ´Ï´Ù. ±×·¯³ª, Àü¿¡ ÁöÀûÇÑ °Íó·³ "Ä«ÇÇ, ÆíÁý, ½á ¹Ýȯ" ¹æ¹ýÀº Àß ¿òÁ÷ÀÔ´Ï´Ù. °øÀ¯»óÀÇ ÆÄÀÏÀº ·ÎÄ÷ΠÆíÁýÇÑ Ä«ÇÇ·Î ¹®Á¦ ¾ø°Ô µ¡¾²±âÇÒ ¼ö ÀÖ½À´Ï´Ù.


A.3.2. Mac OS X

¾ÖÇÃÀÇ OS X operating system´Â ÅëÇÕµÈ WebDAV Ŭ¶óÀ̾ðÆ® ÀÔ´Ï´Ù. ÆÄÀδõÀÇ Go ¸Þ´º·Î"¼­¹ö¿¡ Á¢¼Ó" ¾ÆÀÌÅÛ (À»)¸¦ ¼±ÅÃÇØ ÁÖ¼¼¿ä. WebDAVÀÇ URL¸¦ ÀÔ·ÂÇϸé, º¸Åë ÆÄÀÏ ¼­¹ö¿Í °°ÀÌ µ¥½ºÅ©Å¾»óÀÇ µð½ºÅ©·Î¼­ º¸ÀÌ°Ô µË´Ï´Ù. [3]

ºÒÇàÇÏ°Ôµµ, ÀÌ Å¬¶óÀ̾ðÆ®´ÂLOCK ÀÇ ¼­Æ÷Æ®°¡ ¾ø±â ¶§¹®¿¡, mod_dav_svn ÀÇ ÀÚµ¿ ¹öÀüÈ­ÀÇ µ¿ÀÛÀ» °ÅºÎÇÕ´Ï´Ù. Mac OS X ´Â ÃÖÃÊÀÇ HTTP OPTIONS ±â´É ±³È¯½Ã¿¡ LOCK ÀÇ ´É·ÂÀÌ ¾ø´Â °ÍÀ» ¾Ë¾Æ, Subversion ÀúÀå¼Ò(repository)¸¦ Àоîµé¿© Àü¿ëÀÇ °øÀ¯·Î¼­ ¸¶¿îÆ®ÇÏ´Â °áÁ¤À» ÇÕ´Ï´Ù. ±× ÈÄ¿¡¼­´Â ±âÀÔ Á¶ÀÛÀº ÀüÇô ÇÒ ¼ö ¾ø½À´Ï´Ù. ÀÐ°í ¾²±â °¡´ÉÇÑ °øÀ¯ (À¸)·Î¼­ ÀúÀå¼Ò(repository)¸¦ ¸¶¿îÆ®Çϱâ À§Çؼ­´Â, Àü¿¡ ³íÀÇÇÑ mod_dav_lock ÀÇ Æ®¸¯À» »ç¿ëÇÒÇÊ¿ä°¡ ÀÖ½À´Ï´Ù . Çѹø ¶ôÀÌ ¿òÁ÷ÀÌ°í ÀÖ´Â °Íó·³ º¸À̸é, °øÀ¯´Â ¸Å¿ì Àß ÇൿÇÕ´Ï´Ù. ÆÄÀÏÀº ÀÐ°í ¾²±â ¸ðµå·Î Á÷Á¢ ¿­ ¼ö°¡ ÀÖ½À´Ï´Ù. ´Ù¸¸, º¸Á¸ÀÇ Á¶ÀÛÀº, ½ÇÁ¦·Î´Â ÀϽÃÀûÀÎ Àå¼Ò¿¡PUT ÇØ, ¿ø·¡ÀÇ ÆÄÀÏÀ»DELETE ÇØ, ±× ÈÄ, ¿øÀÇ ÆÄÀϸíĪ ¿¡, ±× ÀϽÃÆÄÀÏÀ»MOVE ÇÏ´Â °ÍÀ¸·Î ÇàÇÕ´Ï´Ù. º¸Á¸¸¶´Ù, »õ·Î¿î SubversionÀÇ ¸®¹öÀüÀ» ¼¼ °³ ÇÒ ¼ö ÀÖ½À´Ï´Ù.

¶Ç ÇϳªÀÇ ÁÖÀÇ: OS X ÀÇ WebDAV Ŭ¶óÀ̾ðÆ®´Â HTTP ±è´ÙÀÌ·ºÆ®¿¡ ´ëÇØ ÇÊ¿äÀÌ»óÀ¸·Î ¹Î°¨ÇÕ´Ï´Ù. ¸¸¾à ÀúÀå¼Ò(repository)¸¦ ÀüÇô ¸¶¿îÆ®ÇÒ ¼ö ¾ø´Ù (ÀÌ)¶ó¸é,httpd.confÀÇBrowserMatch ¸í·ÉÀ» À¯È¿ÇÏ°Ô ÇÒ ÇÊ¿ä°¡ ÀÖÀ»Áöµµ ¸ð¸¨´Ï´Ù:

BrowserMatch "^WebDAVFS/1. [012]" redirect-carefully

A.3.3. Unix: Nautilus 2

Nautilus ´Â GNOME µ¥½ºÅ©Å¾ÀÇ °ø½ÄÀûÀÎ ÆÄÀÏ °ü¸®ÀÚ/ ºê¶ó¿ìÀúÀÔ´Ï´Ù. Ȩ ÆäÀÌÁö´Â http://www.gnome.org/projects/nautilus/ ¿¡ ÀÖ½À´Ï´Ù. Nautilus À©µµ¿ì·Î WebDAV URL¸¦ ÀÔ·ÂÇÏ´Â °Í¸¸À¸·Î, DAV °øÀ¯°¡ ·ÎÄà ÆÄÀÏ ½Ã½ºÅÛ°ú °°ÀÌ º¸ÀÔ´Ï´Ù.

ÀϹÝÀûÀ¸·Î, Nautilus 2 ´Â mod_dav_svn ÀÇ ÀÚµ¿ ¹öÀüÈ­°¡ °ÅÀÇ Àß ¿òÁ÷ÀÔ´Ï´Ù¸¸, ÀÌÇÏ¿¡´Â ÁÖÀÇÀÔ´Ï´Ù:

  • °øÀ¯·ÎºÎÅÍ Á÷Á¢ ¿¬ ÆÄÀÏÀº Àоîµé¿© Àü¿ëÀ¸·Î ´Ù·ç¾îÁý´Ï´Ù. mod_dav_lockÀÇ Æ®¸¯Àº ÀüÇô È¿°ú°¡ ¾ø´Â °Íó·³ º¸ÀÔ´Ï´Ù. Nautilus ´ÂLOCK ¸Þ¼Òµå¸¦ ¿ÏÀüÈ÷ ¹®Á¦¿¡ ÇÏ°í ÀÖÁö ¾Ê´Â °Í °°½À´Ï´Ù. "·ÎÄÿ¡ Ä«ÇÇ, ÆíÁý, ½á ¹Ýȯ" ÀÇ Æ®¸¯Àº ¿òÁ÷ÀÌ´Â °Í °°½À´Ï´Ù¸¸. ºÒÇàÇÏ°Ôµµ Nautilus ´Â DELETE ¸¦ »ç¿ëÇØ ÃÖÃÊ·Î ³°Àº ÆÄÀÏÀ» µ¡¾²±âÇϹǷÎ, ±×°ÍÀÌ, Çϳª ´õÀÇ ¸®¹öÀüÀ» ¸¸µé¾î ¹ö¸³´Ï´Ù.

  • ÆÄÀÏÀ» µ¡¾²±âÇϰųª ÀÛ¼ºÇÒ °æ¿ì¿¡´Â, Nautilus ´Â ¿ì¼± ÇÏ´ÃÀÇ ÆÄÀÏÀ»PUT ÇÏ°í ³ª¼­, Á¦2ÀÇPUT·Î ±×°ÍÀ» µ¡¾²±âÇÕ´Ï´Ù. ÀÌ°ÍÀº, Çϳª°¡ ¾Æ´Ï°í, µÎ Subversion ÆÄÀÏ ½Ã½ºÅÛ ¸®¹öÀüÀ» ¸¸µé¾î ¹ö¸³´Ï´Ù.

  • ÁýÇÕÀ» »èÁ¦ÇÒ °æ¿ì¿¡´Â, ÁýÇÕ ÀÚ½ÅÀÇ ´ë½Å¿¡, °³º°ÀÇ ¾ÆÀÌ¿¡ ´ëÇؼ­ HTTP DELETE ¸¦ ¹ßÇàÇÕ´Ï´Ù. ÀÌ°ÍÀº, ÆÄÀÏÀÇ ¼ö¸¸ÀÇ »õ·Î¿î ¸®¹öÀüÀ» ¸¸µé¾î ¹ö¸³´Ï´Ù.


A.3.4. Linux davfs2

Linux davfs2 ´Â Linux Ä¿³ÚÀÇ ÆÄÀÏ ½Ã½ºÅÛ ¸ðµâ·Î, °³¹ß Ȩ ÆäÀÌÁö´Â http://dav.sourceforge.net/ ¿¡ ÀÖ½À´Ï´Ù. ÀνºÅç Çϸé(ÀÚ), WebDAV ³×Æ®¿öÅ© °øÀ¯°¡ º¸Åë UnixÀÇmount Ä¿¸àµå·Î ¸¶¿îÆ®ÇÒ ¼ö ÀÖ´Ù °°°Ô µË´Ï´Ù.

¼Ò¹®¿¡ ÀÇÇϸé, ÀÌ DAV Ŭ¶óÀ̾ðÆ®´Â mod_dav_svnÀÇ ÀÚµ¿ ¹öÀü È­°¡ ÀüÇô µ¿ÀÛÇÏÁö ¾Ê´Ù´Â °ÍÀÔ´Ï´Ù. ¼­¹ö¿¡ ´ëÇÑ ±âÀÔÀÇ ¸ðµÎ¿¡ ´ëÇØ, ¿ì¼±LOCK ¿ä±¸¸¦ ³À´Ï´Ù¸¸, ÀÌ°ÍÀº mod_dav_svn °¡ ¼­Æ÷Æ®ÇÏ°í ÀÖÁö ¾Ê´Â °ÍÀÔ´Ï´Ù. Çö½ÃÁ¡¿¡¼­´Â mod_dav_lock °¡ ÀÌ ¹®Á¦¸¦ ÇØ°áÇÏ´ÂÁö ¾î¶²Áö¸¦ ³ªÅ¸³»´Â ÀÚ·á´Â ¾ø½À´Ï´Ù.

Notes

[1]

ÀÌ·± ÀÌÀ¯ ¶§¹®¿¡ »ç¶÷µéÀº ³ó´ãÀ¸·Î WebDAV Ŭ¶óÀ̾ðÆ®¸¦ "WebDA" Ŭ¶óÀ̾ðÆ®¶ó°í ºÎ¸£±âµµ ÇÕ´Ï´Ù!

[2]

Subversion´Â ¾ðÁ¦ÀÇ ³¯Àΰ¡, º¸Á¸µÈ üũ¾Æ¿ô ¶ôÀÇ ¸ðµ¨À» °³¹ßÇÒÁöµµ ¸ð¸¨´Ï´Ù. ±×°ÍÀº Ä«ÇÇ¡¤¼öÁ¤¡¤¸ÓÁö ¸ðµ¨°ú Àß °øÁ¸ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ÇÏÁö¸¸, ¾Æ¸¶ °ð¹Ù·Î´Â ¹«¸®ÀÌ°ÚÁö¿ä.

[3]

Unix À¯Àú´Âmount -t webdav URL /mountpoint (À»)¸¦ ½ÇÇàÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.


ID
Password
Join
Expect a letter from a friend who will ask a favor of you.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2004-12-17 14:20:49
Processing time 0.0020 sec