¼¼ºÎ»çÇ×

µ¿±âÈ­ Áö¿ø Á¦°øÀ» °èȹÇÏÁö¸¸ µ¿±âÈ­ »óŸ¦ °ü¸®ÇÏ´Â ±âÁ¸ ¸ÞÄ¿´ÏÁòÀÌ ¾øÀ» °æ¿ì ÀÌ ¼½¼Ç¿¡¼­´Â óÀ½ºÎÅÍ °¡ÀÔÀÚ¸¦ ±¸ÇöÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÕ´Ï´Ù. À̰ÍÀº ±âÁ¸ µ¿±âÈ­ ÇϺα¸Á¶°¡ ¾øÀ½À» ÀǹÌÇϸç, µ¿±âÈ­ »óŸ¦ °ü¸®Çϱâ À§ÇØ Á¦°øµÇ´Â ÀϺΠAPI¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÕ´Ï´Ù.

ÀÌ ¿¹Á¦ÀÇ ³ª¸ÓÁö¿¡¼­´Â ½ÇÇà ÁßÀÎ ¿¹Á¦¸¦ ÀÌ¿ëÇÕ´Ï´Ù. ¼Ò½º ÄÚµå´Â org.eclipse.team.examples.filesystem Ç÷¯±×ÀÎÀÇ ÆÄÀÏ ½Ã½ºÅÛ Á¦°øÀÚ ÆÐŰÁö¿¡¼­ ãÀ» ¼ö ÀÖ½À´Ï´Ù. CVS ÀúÀå¼Ò¿¡¼­ ÇÁ·ÎÁ§Æ®¸¦ üũ¾Æ¿ôÇÏ¿© ÀÌ ÇнÀ¼­¸¦ Àд µ¿¾È ÂüÁ¶·Î »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.

óÀ½ºÎÅÍ °¡ÀÔÀÚ ±¸Çö

ù ¹øÂ° ¿¹Á¦¿¡¼­´Â ·ÎÄà ÀÛ¾÷°ø°£ÀÇ µ¿±âÈ­ »óŸ¦ °ü¸®ÇÏ´Â ±âÁ¸ ÇϺα¸Á¶°¡ ¾ø´Â °ÍÀ¸·Î °¡Á¤ÇÕ´Ï´Ù. óÀ½ºÎÅÍ °¡ÀÔÀÚ¸¦ ±¸ÇöÇÒ ¶§ org.eclipse.team.core Ç÷¯±×Àο¡ Á¦°øµÈ ÀϺΠÃß°¡ API¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. org.eclipse.team.core.variants ÆÐŰÁö¿¡´Â ±¸ÇöÀ» ´Ü¼øÈ­ÇÏ´Â µ¥ »ç¿ëµÉ ¼ö ÀÖ´Â °¡ÀÔÀÚ¿¡ ´ëÇÑ µÎ °³ÀÇ ¼­ºêŬ·¡½º°¡ µé¾î ÀÖ½À´Ï´Ù. ù ¹øÂ°´Â ¾Æ·¡ÀÇ µÎ ¹øÂ° ¿¹Á¦¿¡¼­ ¼³¸íµÉ ResourceVariantTreeSubscriberÀÔ´Ï´Ù. µÎ ¹øÂ°´Â ù ¹øÂ°ÀÇ ¼­ºêŬ·¡½º(ThreeWaySubscriber)ÀÔ´Ï´Ù. ÀÌ °¡ÀÔÀÚ ±¸ÇöÀº ·ÎÄà ÀÛ¾÷°ø°£ÀÇ µ¿±âÈ­ »óŸ¦ °ü¸®ÇÏ´Â µ¥ ÇÊ¿äÇÑ ¿©·¯ °³ÀÇ À¯¿ëÇÑ Å¬·¡½º¸¦ Á¦°øÇÕ´Ï´Ù. ±âÁ¸ ÇϺα¸Á¶°¡ ¾øÀ» °æ¿ì ¿©±â¼­ ½ÃÀÛÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.

óÀ½ºÎÅÍ ½ÃÀÛÇÏ´Â °¡ÀÔÀÚ ±¸ÇöÀº org.eclipse.team.examples.filesystem Ç÷¯±×Àο¡¼­ »ç¿ë °¡´ÉÇÑ ÆÄÀÏ ½Ã½ºÅÛ ¿¹Á¦¸¦ »ç¿ëÇÏ¿© ¼³¸íµË´Ï´Ù. ´ÙÀ½ ¼³¸í¿¡¼­ ÄÚµå´Â Eclipse CVS ÀúÀå¼Ò¿¡¼­ »ç¿ë °¡´ÉÇϱ⠶§¹®¿¡ ÃÖ¼ÒÇÑÀÇ Å©±â·Î ÇÑÁ¤µË´Ï´Ù. ±â¼úÀûÀ¸·Î 3¹æÇâ °¡ÀÔÀÚ°¡ ¾Æ´Ï´õ¶óµµ ÆÄÀÏ ½Ã½ºÅÛ ¿¹Á¦¿¡¼­´Â ÀÌ ÇϺα¸Á¶¸¦ °è¼ÓÇØ¼­ Àß ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ FTP ¹× WebDav Ç÷¯±×Àεµ ÀÌ ÇϺα¸Á¶¸¦ »ç¿ëÇÏ¿© ºôµåµË´Ï´Ù.

ThreeWaySubscriber

ÆÄÀÏ ½Ã½ºÅÛ ¿¹Á¦¿¡¼­ ·ÎÄà ÄÁÅÙÃ÷°¡ ÀÌÁߺ¹»çµÈ ÆÄÀÏ ½Ã½ºÅÛ À§Ä¡¿Í ·ÎÄà ÇÁ·ÎÁ§Æ®¸¦ ¿¬°ü½ÃŲ RepositoryProvider ¿¡ ´ëÇÑ ±¸ÇöÀ» ÀÌ¹Ì ¼öÇàÇß½À´Ï´Ù. ÀÌ ¿¹Á¦¿¡¼­ ThreeWaySynchronizer¸¦ ÀÌ¿ëÇÏ¿© ÀÛ¾÷°ø°£ µ¿±âÈ­ »óŸ¦ °ü¸®Çϱâ À§ÇØ ThreeWaySubscriberÀÇ ¼­ºêŬ·¡½º·Î FileSystemSubscriber°¡ ÀÛ¼ºµÇ¾ú½À´Ï´Ù. ÀÌ Å¬·¡½ºÀÇ ¼­ºêŬ·¡½º´Â ´ÙÀ½À» ¼öÇàÇØ¾ß ÇÕ´Ï´Ù.

°¡ÀÔÀÚ ±¸Çö ¿Ü¿¡ ÆÄÀÏ ½Ã½ºÅÛ Á¦°øÀÚÀÇ °¡Á®¿À±â ¹× ³Ö±â Á¶ÀÛÀÌ ThreeWaySynchronizerÀÇ µ¿±âÈ­ »óŸ¦ °»½ÅÇϱâ À§ÇØ ¼öÁ¤µÇ¾ú½À´Ï´Ù. Á¶ÀÛÀÌ org.eclipse.team.examples.filesystem.FileSystemOperations Ŭ·¡½º¿¡ ±¸ÇöµË´Ï´Ù.

ThreeWaySynchronizer

ThreeWaySynchronizer´Â ·ÎÄà ÀÛ¾÷°ø°£°ú ¿ø°ÝÁö °£ µ¿±âÈ­ »óŸ¦ °ü¸®ÇÕ´Ï´Ù. ÀÚ¿øÀÇ µ¿±âÈ­ »óÅ¿¡ ´ëÇÑ È¿À²ÀûÀÎ °è»êÀ» Áö¿øÇϱâ À§ÇØ ·ÎÄÃ, ±âº» ¹× ¿ø°Ý ½Ã°£ ¼ÒÀÎÀ» ij½ÃÇϰí À¯ÁöÇÕ´Ï´Ù. ¶ÇÇÑ µî·ÏµÈ ¸ðµç ¸®½º³Ê¿¡ ´ëÇÑ º¯°æ ¾Ë¸²À» ½ÃÀÛÇÕ´Ï´Ù. ThreeWaySubscriber´Â ÀÌ·¯ÇÑ º¯°æ À̺¥Æ®¸¦ °¡ÀÔÀÚ¿¡ µî·ÏµÈ ¸®½º³Ê·Î º¸³¾ ÀûÀýÇÑ Çü½ÄÀ¸·Î º¯È¯ÇÕ´Ï´Ù.

ThreeWaySynchronizer´Â ÄÚ¾î ½ºÄÉÁÙ¸µ ±ÔÄ¢ ¹× Àá±ÝÀ» »ç¿ëÇÏ¿© ½º·¹µå°¡ ¾ÈÀüÇÔÀ» º¸ÀåÇÏ°í º¯°æ ¾Ë¸² Àϰýó¸® ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù.

ThreeWayRemoteTree

ThreeWayRemoteTree´Â ThreeWaySubscriber¿¡ ¸Â°Ô Á¶Á¤µÈ ResourceVariantTreeÀÇ ¼­ºêŬ·¡½ºÀÔ´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®¿¡¼­ À̸¦ ´ëüÇÏ¿© ¼­¹ö¿¡¼­ ¿ø°Ý »óŸ¦ ÆäÄ¡ÇÏ´Â ¸ÞÄ¿´ÏÁòÀ» Á¦°øÇØ¾ß ÇÕ´Ï´Ù. ResourceVariantTree´Â ´ÙÀ½ ¿¹Á¦¿¡¼­ ÀÚ¼¼È÷ ¼³¸íµË´Ï´Ù.

CachedResourceVariant

CachedResourceVariant´Â ÀÏÁ¤ ±â°£(ÇöÀç 1½Ã°£) µ¿¾È ÆäÄ¡µÈ ÄÁÅÙÃ÷¸¦ ij½ÃÇÏ´Â IResourceVariant¿¡ ´ëÇÑ ºÎºÐ ±¸ÇöÀÔ´Ï´Ù. ÀÌ´Â ´Ü±â°£¿¡ ¿©·¯ ¹ø ÄÁÅÙÃ÷¿¡ ¾×¼¼½ºÇÒ ¼ö Àֱ⠶§¹®¿¡ À¯¿ëÇÕ´Ï´Ù(¿¹: µ¿±âÈ­ »óÅ ÆÇº° ¹× ºñ±³ ÆíÁý±â¿¡ ÄÁÅÙÃ÷ Ç¥½Ã). ¼­ºêŬ·¡½º´Â ÀÚ¿ø º¯Çü ÇÚµéÀ» ÀçÀÛ¼ºÇϱâ À§ÇØ À¯ÁöµÉ ¼ö ÀÖ´Â ¹ÙÀÌÆ® ¹è¿­°ú ÇÔ²² °íÀ¯ ÄÁÅÙÃ÷ ID¸¦ °è¼Ó Á¦°øÇØ¾ß ÇÕ´Ï´Ù.

±âÁ¸ ÀÛ¾÷°ø°£ µ¿±âÈ­¿¡ ºôµå

´Ù¼öÀÇ ÀúÀå¼Ò Á¦°øÀÚ¿¡°Ô´Â ÀÌ¹Ì µ¿±âÈ­ »óÅÂ(¿¹: ±âÁ¸ Ç÷¯±×ÀÎÀÌ ÀÖÀ» °æ¿ì)¸¦ °ü¸®ÇÏ´Â ¸ÞÄ¿´ÏÁòÀÌ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. ResourceVariantTreeSubscriber ¹× °ü·Ã Ŭ·¡½º´Â ±âÁ¸ µ¿±âÈ­ ÇϺα¸Á¶¿¡ ºôµåÇÏ´Â ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù. ¿¹¸¦ µé¾î À̰ÍÀº ¸ðµç CVS °¡ÀÔÀÚÀÇ ¼öÆÛ Ŭ·¡½ºÀÔ´Ï´Ù.

ResourceVariantTreeSubscriber

ÀÌÀü ¿¹Á¦¿¡¼­ ¾ð±ÞµÈ °Íó·³ ThreeWaySubscriber´Â ThreeWaySynchronizer¸¦ »ç¿ëÇÏ¿© ·ÎÄà ÀÛ¾÷°ø°£ µ¿±âÈ­¸¦ Á¦°øÇÏ´Â ResourceVariantTreeSubscriberÀÇ ¼­ºêŬ·¡½ºÀÔ´Ï´Ù. ResourceVariantTreeSubscriberÀÇ ¼­ºêŬ·¡½º´Â ´ÙÀ½À» Á¦°øÇØ¾ß ÇÕ´Ï´Ù.

°¡ÀÔÀÚ¿¡ ´ëÇÑ ±âŸ ¼º´ÉÀº ´ÙÀ½ ±â´ÉÀ» »ç¿ëÇÏ¿© ±¸ÇöµË´Ï´Ù.

ResourceVariantTree

ResourceVariantTree´Â ´ÙÀ½ Ç׸ñÀ» Á¦°øÇÏ´Â IResourceVariantTree¿¡ ´ëÇÑ ±¸Ã¼ÀûÀÎ ±¸ÇöÀÔ´Ï´Ù.

´ÙÀ½Àº ¼­ºêŬ·¡½º¿¡¼­ ±¸ÇöµÇ¾î¾ß ÇÕ´Ï´Ù.

Workbench È£Ãâ(PersistantResourceVariantByteStore) °£ ¹ÙÀÌÆ®¸¦ À¯Áö°Å³ª ÇöÀç ¼¼¼Ç(SessionResourceVariantByteStore)ÀÇ ¹ÙÀÌÆ®¸¸ ij½ÃÇÏ´Â ResourceVariantByteStoreÀÇ ±¸ÇöÀÌ Á¦°øµÇ¾ú½À´Ï´Ù. ±×·¯³ª ±âÁ¸ ÀÛ¾÷°ø°£ µ¿±âÈ­ ÇϺα¸Á¶¿¡ °¡ÀÔÀÚ¸¦ ºôµåÇÏ·Á¸é ÀϹÝÀûÀ¸·Î ±âº» µ¿±âÈ­±â¿Í ÀÎÅÍÆäÀ̽ºÇÏ´Â ResourceVariantByteStore ¼­ºêŬ·¡½º¿¡ ´ëÇÑ ±¸ÇöÀÌ ÇÊ¿äÇÕ´Ï´Ù. ¿¹¸¦ µé¾î ThreeWayRemoteTree´Â ThreeWaySynchronizer¿¡ ¿ø°Ý ¹ÙÀÌÆ®¸¦ ÀúÀåÇÏ´Â ¹ÙÀÌÆ® ÀúÀå ±¸ÇöÀ» »ç¿ëÇÕ´Ï´Ù.

ÀÌ ¿¹Á¦¿¡¼­ ÀÚ¿ø º¯Çü ÇÚµéÀÇ ÀÛ¼ºÀº °¡ÀÔÀÚ ´ë½Å ÀÚ¿ø º¯Çü Æ®¸® ÀνºÅϽº¿¡¼­ ÇÚµéÀ» ¿äûÇÏ´Â °ÍÀ» Á¦¿ÜÇϸé ÀÌÀü ¿¹Á¦¿Í ´Ù¸£Áö ¾Ê½À´Ï´Ù.

¹ýÀû ÁÖÀÇ»çÇ×