1Chapter. ±âº» °³³ä
1.1.ÀÌ Àå¿¡¼´Â SubversionÀÇ ±âº»°³³äÀ» °£´ÜÇÏ°Ô ¼³¸íÇÕ´Ï´Ù. ¹öÀü ÄÁÆ®·Ñ ½Ã½ºÅÛÀ» óÀ½ »ç¿ëÇÏ´Â »ç¶÷Àº ÀÌ ÀåÀ» Àоî ÁֽʽÿÀ. ÀϹÝÀûÀÎ ¹öÀü °ü¸®ÀÇ °³³äÀ» ½ÃÀÛÀ¸·Î Subversion¿¡¸¸ ÇØ´çµÇ´Â ¼¼ºÎÀûÀÎ °³³äÀ» ¼³¸íÇÏ°í, SubversionÀ» »ç¿ëÇÏ´Â °£´ÜÇÑ ¿¹¸¦ º¸¿©µå¸± °ÍÀÔ´Ï´Ù. ÀÌ Àå¿¡¼´Â ÇÁ·Î±×·¥ ¼Ò½º ÄÚµåµéÀ» °øÀ¯ÇÏ´Â ¿¹¸¦ µé¾î ¼³¸íÇÏÁö¸¸, SubversionÀº ÇÁ·Î±×·¥ ¼Ò½º»Ó¸¸ ¾Æ´Ï¶ó ¾î¶² Á¾·ùÀÇ ÆÄÀϵ鵵 °ü¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù. SubversionÀº ÄÄÇ»ÅÍ ÇÁ·Î±×·¡¸Ó¸¸ ¾²±â À§ÇØ ¸¸µç µµ±¸´Â ¾Æ´Õ´Ï´Ù. 1.1. ÀúÀå¼Ò(repository)SubversionÀº Á¤º¸¸¦ ÇÑ °÷¿¡ ¸ð¾Æ ÁýÁßÀûÀ¸·Î °ü¸®ÇÏ´Â ½Ã½ºÅÛÀÔ´Ï´Ù. ¿©±â¼ °¡Àå Áß¿äÇÑ ÇÙ½ÉÀº ÀúÀå¼Ò(repository)¶ó°í ºÒ¸®¿ì´Â µ¥ÀÌÅÍÀÇ Ã¢°í ÀÔ´Ï´Ù. ÀúÀå¼Ò(repository)´Â Á¤º¸¸¦ ÆÄÀÏ ½Ã½ºÅÛ Æ®¸®, Áï, ÀϹÝÀûÀÎ ÆÄÀÏ°ú µð·ºÅ丮 °èÃþ ±¸Á¶ÀÇ ÇüÅ·Πº¸°üÇÕ´Ï´Ù. ¿©·¯ Ŭ¶óÀ̾ðÆ®°¡ ÀúÀå¼Ò(repository)¿¡ Á¢¼Ó ÇÏ¿© ÆÄÀÏÀ» ÀÐ°í ¼öÁ¤ÇÏ¿© ¾µ ¼ö ÀÖ½À´Ï´Ù. ÇÑ Å¬¶óÀ̾ðÆ®°¡ µ¥ÀÌÅ͸¦ ÀúÀå¼Ò¿¡ ¾²´Â °ÍÀº Á¤º¸¸¦ ´Ù¸¥ Ŭ¶óÀ̾ðÆ®µéÀÌ ÀÌ¿ëÇÒ ¼ö ÀÖµµ·Ï ³»³õÀº °ÍÀÌ°í, ÀúÀå¼Ò·ÎºÎÅÍ µ¥ÀÌÅ͸¦ Àд °ÍÀº ¹Ý´ë·Î ´Ù¸¥ Ŭ¶óÀ̾ðÆ®µéÀÌ ³»³õÀº Á¤º¸¸¦ ¹Þ´Â °ÍÀÔ´Ï´Ù. ¾Æ·¡ÀÇ ±×¸² 2.1Àº ÀÌ·¯ÇÑ ÀüÇüÀûÀΠŬ¶óÀ̾ðÆ®/¼¹ö ½Ã½ºÅÛÀ» ³ªÅ¸³½ °ÍÀÔ´Ï´Ù. ±×·³ ÀÌ·± ÀÏ¿¡ ¹«½¼ »ö´Ù¸¥ °ÍÀÌ ÀÖ½À´Ï±î? ¿©±â±îÁö ÀüÇüÀûÀÎ ÆÄÀÏ ¼¹öÀÇ Á¤ÀÇ¿¡ Áö³ªÁö ¾Ê´Â´Ù°í »ý°¢ÇÕ´Ï´Ù. ±×¸®°í ½ÇÁ¦ ÀúÀå¼Ò(repository)´Â ÆÄÀÏ ¼¹öÀÇ ÀÏÁ¾ÀÔ´Ï´Ù. ÇÏÁö¸¸ º¸Åë ¸»ÇÏ´Â ÆÄÀϼ¹ö¿Í´Â Á¶±Ý ´Ù¸¨´Ï´Ù. SubversionÀÇ ÀúÀå¼Ò(repository)´Â ¼öÁ¤³»¿ëÀ» ¸ðÁ¶¸® ±â¾ï ÇÏ°í ÀÖ½À´Ï´Ù. °¢°¢ÀÇ ÆÄÀÏ¿¡ ´ëÇÑ º¯°æ»çÇ×Àº ¹°·ÐÀÌ°í, ÆÄÀÏÀ̳ª µð·ºÅ丮ÀÇ Ãß°¡, »èÁ¦, Àç¹èÄ¡µîÀÇ µð·ºÅ丮 Æ®¸®ÀÇ º¯°æµµ ¸ðµÎ ±â¾ïµË´Ï´Ù. Ŭ¶óÀ̾ðÆ®°¡ ÀúÀå¼Ò(repository)·ÎºÎÅÍ µ¥ÀÌÅ͸¦ ÀоîµéÀÏ ¶§´Â º¸ÅëÀº ÆÄÀÏ ½Ã½ºÅÛ Æ®¸®ÀÇ ¸¶Áö¸· ¹öÀü¸¸ÀÌ º¸ÀÔ´Ï´Ù. ÇÏÁö¸¸ ÆÄÀÏ ½Ã½ºÅÛÀÇ ÀÌÀü»óŵµ ¿¶÷ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î Ŭ¶óÀ̾ðÆ®´Â Áö³ ÁÖÀÇ ¼ö¿äÀÏ¿¡ ÀÌ µð·ºÅ丮¿¡´Â ¾î´À ÆÄÀÏÀÌ ÀÖ¾úÁö? ¶óµçÁö ¸¶Áö¸·¿¡ ÀÌ ÆÄÀÏ º¯°æÇÑ °ÍÀº ´©±¸°í ±× »ç¶÷Àº ¹«¾ùÀ» º¯°æÇßÁö? µîÀÇ À̷¿¡ °üÇÑ Áú¹®À» ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ÀÌ Áú¹®Àº ¸ðµç ¹öÀü °ü¸® ½Ã½ºÅÛ ¿¡¼ °¡Àå Áß¿äÇÑ Áú¹®µéÀÔ´Ï´Ù. Áï ¹öÀü ÄÁÆ®·Ñ ½Ã½ºÅÛÀ̶õ ½Ã°£¿¡ µû¶ó µ¥ÀÌÅÍÀÇ º¯È¸¦ ±â·ÏÇÏ¿© ¼öÁ¤³»¿ªÀ» ÃßÀûÇÒ ¼ö ÀÖµµ·Ï ¸¸µé¾îÁø ½Ã½ºÅÛÀÔ´Ï´Ù. 1.2. ¹öÀü °ü¸® ¸ðµ¨1.2.1. ÆÄÀÏ °øÀ¯ÀÇ ¹®Á¦¹öÀü ÄÁÆ®·Ñ ½Ã½ºÅÛÀ̶ó¸é ¾î¶² °ÍÀÌ¶óµµ ±âº»ÀûÀÎ ¹®Á¦ Çϳª¸¦ Ç®Áö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù: ¾î¶»°Ô »ç¿ëÀÚµéÀÌ Á¤º¸¸¦ °øÀ¯Çϸ鼵µ, ¼·Î ¼öÁ¤À» °ãÄ¡Áö ¾Ê°Ô Çϴ°¡ ÀÔ´Ï´Ù. ÀúÀå¼Ò(repository)¿¡ ´Ù¸¥ »ç¶÷ÀÌ º¯°æÇØ ³ÖÀº °ÍÀ» À߸øÇÏ¿© µ¡½á¹ö¸®´Â ÀÏÀº °£´ÜÈ÷ ÀϾ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·± »óȲÀ» »ý°¢ÇØ º¸½Ê½Ã¿À: µÎ ¸íÀÇ µ¿·á Harry¿Í Sally°¡ ÀÖ½À´Ï´Ù. µÎ »ç¶÷Àº µ¿½Ã¿¡ °°Àº ÀúÀå¼Ò(repository)³»ÀÇ ÆÄÀÏÀ» ÆíÁýÇϱâ·Î Çß½À´Ï´Ù. ¸¸¾à Harry°¡ ¸ÕÀú ±×°¡ º¯°æÇÑ °ÍÀ» ÀúÀå¼Ò(repository)¿¡ ÀÔ·ÂÇÏ°í ³ªÁß¿¡ Sally´Â À߸øÇÏ¿© HarryÀÇ °ÍÀ» »õ·Î¿î ¹öÀüÀ¸·Î µ¡¾²±âÇØ ¹ö¸³´Ï´Ù. HarryÀÇ ¹öÀüÀº ¿µ±¸È÷ ¾ø¾îÁöÁö ¾Ê½À´Ï´Ù. (¶ó°í ¸»ÇÏ´Â °ÍÀº ¹öÀü ÄÁÆ®·Ñ ½Ã½ºÅÛÀº ¸ðµç º¯°æÀ» ±â·ÏÇÏ°í Àֱ⠶§¹®¿¡) Harry °¡ ÇÑ ¼öÁ¤Àº ¸ðµÎ Sally ÀÇ »õ·Î¿î ¹öÀü¿¡´Â ³ªÅ¸³ª´Â ÀÏÀÌ ¾ø½À´Ï´Ù. ÆíÁý½Ã¿¡´Â ±×´Â HarryÀÇ º¯°æÀ» º¼ ¼ö ¾ø±â ¶§¹®ÀÔ´Ï´Ù. HarryÀÇ ÀÛ¾÷Àº ½ÇÁúÀûÀ¸·Î ¾ø¾îÁ® ¹ö¸³´Ï´Ù. ȤÀº Àû¾îµµ ÃÖ½ÅÀÇ ¹öÀüÀ¸·ÎºÎÅÍ´Â ¾ø¾îÁ® ¹ö¸³´Ï´Ù. °Ô´Ù°¡ ±×°ÍÀº µÎ ¸íÀÌ ÀǵµÇÑ °ÍÀº ¾Æ´Õ´Ï´Ù. ÀÌ°ÍÀ̾߸»·Î ¿ì¸®°¡ ÇÇÇÏÁö ¾ÊÀ¸¸é ¾È µÇ´Â »óȲÀÔ´Ï´Ù. 1.2.2. ¶ô-¼öÁ¤-¾ð¶ô ¹æ¹ý¸¹Àº ¹öÀü °ü¸® ½Ã½ºÅÛ¿¡¼´Â ¶ô-¼öÁ¤-¾ð¶ôÀÇ ¸ðµ¨À» »ç¿ëÇØ ÀÌ ¹®Á¦¸¦ Ãë±ÞÇÕ´Ï´Ù¸¸ ÀÌ°ÍÀº ¸Å¿ì ´Ü¼øÇÑ ÇØ°á ¹æ¹ýÀÔ´Ï´Ù. ±×·¯ÇÑ ½Ã½ºÅÛ¿¡¼´Â ÀúÀå¼Ò(repository)ÁßÀÇ ÆÄÀÏÀ» º¯°æÇÒ ¼ö ÀÖ´Â °ÍÀº ÇÑ ¹ø¿¡ ÇÑ ¸í »ÓÀÔ´Ï´Ù. ÃÖÃÊ Harry´Â ÆÄÀÏ º¯°æÇϱâ Àü¿¡ ¶ô ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. ÆÄÀÏÀÇ ¶ôÀº µµ¼°üÀ¸·ÎºÎÅÍ Ã¥À» ºô¸®´Â °Í°ú ºñ½ÁÇÕ´Ï´Ù. ¸¸¾à Harry°¡ ÆÄÀÏÀ» Àá±×¸é Sally´Â °°Àº ÆÄÀÏÀ» º¯°æÇÒ ¼ö ¾ø°Ô µË´Ï´Ù. Àá±×·Á°í Çϸé ÀúÀå¼Ò(repository)´Â ±× ¿ä±¸¸¦ °ÅºÎÇÕ´Ï´Ù. Sally°¡ ÇÒ ¼ö ÀÖ´Â °ÍÀº ±× ÆÄÀÏÀ» Àд °ÍÀ¸·Î Harry°¡ ÀÏÀ» ³¡³» ¶ô ÇØÁ¦ÇØ ÁÖ´Â °ÍÀ» ±â´Ù¸®´Â °Í ¸¸ ÀÔ´Ï´Ù. Harry °¡ ¶ôÀ» ÇØÁ¦ÇÑ µÚ HarryÀÇ Â÷·Ê´Â ³¡³ª¸é À̹ø¿¡ Sally°¡ Àá±×¾î ÆíÁýÇÒ ¼ö°¡ ÀÖ´Â Â÷·Ê°¡ µË´Ï´Ù. ¶ô-¼öÁ¤-¾ð¶ôÀÇ ¸ðµ¨ÀÇ ¹®Á¦´Â ÆÄÀÏ °ü¸®°¡ Á¶±Ý ³Ê¹« ¾î·Á¿ö ÀÚÁÖ »ç¿ëÀÚ¿¡°Ô ÀÛ¾÷ÀÇ ¹æÇØ°¡ µË´Ï´Ù:
1.2.3. º¹»ç-¼öÁ¤-¸ÓÁö ¹æ¹ýSubversion, CVS¿Í ¸î¸î ´Ù¸¥ ¹öÀü ÄÁÆ®·Ñ ½Ã½ºÅÛÀº ¶ôÅ· ´ë½Å¿¡ º¹»ç-¼öÁ¤-¸ÓÁö¸ðµ¨À» »ç¿ëÇÕ´Ï´Ù. ÀÌ ¸ðµ¨¿¡¼´Â »ç¿ëÀÚ¸¶´ÙÀÇ Å¬¶óÀ̾ðÆ® ¸Ó½ÅÀº ÀúÀå¼Ò(repository)¸¦ Àоîµé¿© ÆÄÀÏÀ̳ª ÇÁ·ÎÁ§Æ®¿¡ ´ëÇÑ ÀڽŸ¸ÀÇ ÀÛ¾÷ Ä«ÇǺ»À» ¸¸µì´Ï´Ù. ±×¸®°í »ç¿ëÀÚ´Â °¢°¢ÀÌ ÀÚ½ÅÀÇ ÀÛ¾÷ Ä«ÇǺ»À» ¼öÁ¤ÇÕ´Ï´Ù. ±×¸®°í ¸¶Áö¸·¿¡ °¢°¢ÀÇ Ä«ÇǺ»Àº ÃÖÁ¾ ¹öÀü¿¡ ¸ÓÁöµË´Ï´Ù. ÀÌ·¯ÇÑ ¹öÀü °ü¸® ½Ã½ºÅÛ ´ëºÎºÐÀº ¸Ó¡ÀÛ¾÷¿¡ µµ¿òÀ» ÁÖÁö¸¸ ÃÖÁ¾ÀûÀ¸·Î´Â ¿Ã¹Ù¸¥ ¸ÓÁöÀÎÁö ¾Æ´ÑÁö´Â »ç¶÷ÀÌ Ã¥ÀÓÀ» Á®¾ß ÇÕ´Ï´Ù. ¿¹¸¦ µé¾îº¸°Ú½À´Ï´Ù. Harry¿Í Sally°¡ ÀúÀå¼Ò(repository)ÀÇ ³»¿ëÀ» º¹»çÇØ ÇÑ ÇÁ·ÎÁ§Æ®¿¡ ´ëÇØ °¢°¢ÀÇ ÀÛ¾÷ Ä«ÇǺ»À» ¸¸µé¾ú´Ù°í ÇսôÙ. µÑÀº µ¿½Ã¿¡ °¢ÀÚÀÇ ÀÛ¾÷ Ä«ÇǺ»Áß ÆÄÀÏ A¸¦ ¼öÁ¤ÇÕ´Ï´Ù. Harry°¡ Sally º¸´Ù ´Ê°Ô ÀÚ½ÅÀÇ ¼öÁ¤ºÐÀ» º¸Á¸ÇÏ·Á°í ÇÒ ¶§ ÀúÀå¼Ò(repository)´Â Harry°¡ °¡Áø ÆÄÀÏ A´Â ÃÖ½ÅÀÌ ¾Æ´Ï´Ù¶ó°í ¾Ë·ÁÁÝ´Ï´Ù. ¹Ù²Ù¾î ¸»Çϸé ÀúÀå¼Ò(repository)¿¡ ÇöÀç ÀÖ´Â ÆÄÀÏ A´Â ±×°¡ ±×°ÍÀ» º¹»çÇØ °£ ÈÄ¿¡ ´Ù¸¥ »ç¶÷¿¡ ÀÇÇØ ¼öÁ¤µÇ¾ú´Ù´Â ¸»ÀÔ´Ï´Ù. Harry´Â Subversion Ŭ¶óÀ̾ðÆ® ÇÁ·Î±×·¥¿¡°Ô ÀÚ½ÅÀÇ ÀÛ¾÷ Ä«ÇǺ» A°ú ÀúÀå¼Ò¿¡ ÀÖ´Â ÇöÀç ¹öÀüÀÇ Â÷ÀÌÁ¡À» ¸ÓÁö Çϵµ·Ï ¸í·ÉÇÕ´Ï´Ù. Sally°¡ ¼öÁ¤ÇÑ ºÎºÐ°ú Harry°¡ ¼öÁ¤ÇÑ ºÎºÐÀÌ °ãÄ¡Áö ¾Ê´Â´Ù°í¸¸ Çϸé, Çѹø¿¡ Harry°¡ µÎ°¡Áö ¼öÁ¤ºÐÀ» Àû¿ëÇؼ ¸Ó¡Çϱ⸸ Çϸé ÀÛ¾÷ Ä«ÇǺ»À» ÀúÀå¼Ò(repository)¿¡ ´Ù¼ ½á ³ÖÀ» ¼ö ÀÖ½À´Ï´Ù. ¾Æ·¡ ±×¸² 2.4 º¹»ç-¼öÁ¤-¸Ó¡ Çعý°ú ±×¸² 2.5 º¹»ç-¼öÁ¤-¸Ó¡ Çعý (°è¼Ó) °¡ ¿©±â¿¡¼ ¼³¸íÇÑ ÀýÂ÷¸¦ ³ªÅ¸³»°í ÀÖ½À´Ï´Ù. ±×·¯³ª Sally°¡ ¼öÁ¤ÇÑ ºÎºÐÀÌ Harry°¡ ¼öÁ¤ÇÑ ºÎºÐ°ú °ãÃÄ ÀÖ´Ù¸é ¾î¶»°Ô µÉ±î¿ä? ÀÌ·± »óȲÀ» Ãæµ¹À̶ó°í ºÎ¸£¸ç ÀϹÝÀûÀÎ °æ¿ì Å« ¹®Á¦´Â µÇÁö ¾Ê½À´Ï´Ù. Harry°¡ Subversion Ŭ¶óÀ̾ðÆ® ÇÁ·Î±×·¥¿¡ ÀúÀå¼Ò(repository)ÀÇ ÃÖ½ÅÀÇ º¯°æÀ» ÀÚ½ÅÀÇ ÀÛ¾÷ Ä«ÇǺ»¿¡ ¸ÓÁö Çϵµ·Ï ¿ä±¸ÇßÀ» ¶§ ±×ÀÇ AÆÄÀÏÀÇ ÀÛ¾÷ Ä«ÇǺ»Àº Ãæµ¹ »óÅ·μ ¸¶Å© µË´Ï´Ù. ±×´Â ¾çÂÊ ¸ðµÎÀÇ º¯°æÀÇ Ãæµ¹ÇÑ ºÎºÐÀ» º¼ ¼ö°¡ ÀÖ¾î ¾î´À ÂÊÀ» ¼±ÅÃÇÒÁö ¼±ÅÃÇÕ´Ï´Ù. ¼ÒÇÁÆ®¿þ¾î ÀÚü´Â ÀÚµ¿ÀûÀ¸·Î Ãæµ¹À» ÇØ°áÇØ ÁÖÁö ¾Ê´Â °ÍÀÌ ÁÖÀÇÇØ ÁֽʽÿÀ; Àΰ£¸¸ÀÌ ¹®Á¦¸¦ ÀÌÇØÇÏ°í ¿Ã¹Ù¸£°Ô ¼±ÅÃÇÏ´Â ÈûÀ» °¡Áö°í ÀÖ½À´Ï´Ù. Harry°¡ ÀÏ´Ü °ãÄ¡´Â ºÎºÐÀÇ ¼öÁ¤À» Á÷Á¢ ÇØ°áÇÑ ´ÙÀ½¿¡ (¿¹¸¦ µé¾î Sally¿Í Ãæµ¹¿¡ ´ëÇØ À̾߱âÇÑ ÈÄ¿¡ ) ¸ÓÁö µÈ ÆÄÀÏÀ» ÀúÀå¼Ò(repository)¿¡ ¾ÈÀüÇÏ°Ô ´Ù½Ã ½á ³Ö¾î ÀúÀåÇÒ ¼ö ÀÖ½À´Ï´Ù. º¹»ç-¼öÁ¤-¸ÓÁö ¸ðµ¨Àº Á¶±Ý È¥¶õ½º·´°Ô µé¸±Áöµµ ¸ð¸£°ÚÁö¸¸ ½ÇÁ¦·Î ÀÛ¾÷Àº ¸Å¿ì ¸Å²ô·´°Ô ÀÌ·ç¾îÁú ¼ö ÀÖ½À´Ï´Ù. »ç¿ëÀÚ´Â µ¿½Ã¿¡ ÀÛ¾÷À» ÇÒ ¼ö ÀÖ°í »ó´ëÀÇ ¼öÁ¤À» ±â´Ù¸± ÇÊ¿ä´Â ¾ø½À´Ï´Ù. °°Àº ÆÄÀÏÀ» º¯°æÇÒ ¶§µµ ´ëºÎºÐÀÇ º¯°æÀº ÀüÇô °ãÄ¡Áö ¾Ê´Â´Ù´Â °ÍÀ» ¾Ð´Ï´Ù. ±×¸®°í Ãæµ¹À» ÇؼÒÇϴµ¥ °É¸®´Â ½Ã°£Àº ½Ã½ºÅÛÀ» Àá±Å¼ ³¶ºñµÇ´Â ½Ã°£º¸´Ù ÈξÀ ª½À´Ï´Ù. °á±¹ ¸ðµç ¹®Á¦´Â ÇÑ°¡Áö·Î ±Í°áµË´Ï´Ù. : »ç¿ëÀÚ »çÀÌÀÇ Ä¿¹Â´ÏÄÉÀ̼ÇÀÔ´Ï´Ù. »ç¿ëÀÚ°¡ ±×´ÙÁö ¼·Î ÀÇ°ßÀÇ ±³È¯À» ÇÏÁö ¾ÊÀ¸¸é ¾çÂÊ ¸ðµÎÀÇ ±¸¹® ¶Ç´Â Àǹ̻ó Ãæµ¹Àº Áõ°¡ÇÕ´Ï´Ù. ¾î¶² ½Ã½ºÅÛµµ »ç¿ëÀÚ¿¡°Ô ¿Ïº®ÇÑ Ä¿¹Â´ÏÄÉÀ̼ÇÀ» °¿äÇÒ ¼ö ¾ø°í, Àǹ̻óÀÇ Ãæµ¹À» °ËÃâÇØ ÁÙ ¼öµµ ¾ø½À´Ï´Ù. ±×·¯ÇÑ ÀÌÀ¯·Î Àá±×´Â ½Ã½ºÅÛ(locking system, Sourcesafe °°Àº µµ±¸)ÀÌ Ãæµ¹À» ÇÇÇÒ ¼ö°¡ ÀÖ´Ù°í ÇÏ´Â À߸øµÈ º¸Áõ¿¡ ¾È½ÉÇÒ ÀÌÀ¯´Â ¾ø½À´Ï´Ù. ½ÇÁ¦·Î´Â ¶ôÀº »ý»ê¼ºÀ» ¶³¾î¶ß¸®´Â °Í ÀÌ¿Ü¿¡´Â ¾Æ¹«°Íµµ ¾Æ´Õ´Ï´Ù. 1.3. ½ÇÇàÁßÀÇ Subversion1.3.1. ÀÛ¾÷ Ä«ÇǺ»ÀÌ¹Ì µ¶ÀÚµéÀÌ ÀÛ¾÷ Ä«ÇǺ»¿¡ ´ëÇØ ÀоúÀ¸¸®¶ó º¸°í Subversion Ŭ¶óÀ̾ðÆ®°¡ ÀÛ¾÷ Ä«ÇǺ»À» ¸¸µé°í »ç¿ëÇÏ´Â ¸ð½ÀÀ» º¸°Ú½À´Ï´Ù. Subversion ÀÛ¾÷ Ä«ÇǺ»Àº ÀÚ½ÅÀÇ ·ÎÄà ½Ã½ºÅÛ»óÀÇ º¸Åë µð·ºÅ丮 Æ®¸®·Î µÇ¾î ÀÖ°í, ±× ¾È¿¡´Â ÆÄÀϵéÀÌ µé¾î ÀÖ½À´Ï´Ù. ´ç½ÅÀÌ ÆíÁýÇÒ ¼ö ÀÖ´Â ÆÄÀÏÀÌ ¼Ò½º ÄÚµå ÆÄÀÏÀ̶ó¸é ±×°ÍÀº ÄÄÆÄÀÏ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÛ¾÷ Ä«ÇǺ»Àº ÀڽŸ¸ÀÇ ÀÛ¾÷ ¿µ¿ª ÀÔ´Ï´Ù: Subversion¿¡°Ô ±×·¯¶ó°í Çϱâ Àü±îÁö ÀÚ½ÅÀÇ ÀÛ¾÷ Ä«ÇǺ»Àº ´Ù¸¥ »ç¶÷ÀÇ º¯°æÀÇ ¿µÇâÀ» ¹ÞÁö ¾Ê°í, ¶ÇÇÑ ÀÚ½ÅÀÇ ¼öÁ¤ÀÌ ³²¿¡°Ô º¸¿©ÁöÁöµµ ¾Ê½À´Ï´Ù. ÀÛ¾÷ Ä«ÇǺ»ÀÇ ÆÄÀÏÀ» ¼öÁ¤ÇÏ°í Àß µ¿ÀÛÇÏ´Â °ÍÀ» È®ÀÎÇÑ ÈÄ¿¡ SubversionÀº ±× º¯°æµÈ Á¡À» °°Àº ÇÁ·ÎÁ§Æ®ÀÇ ´ç½Å°ú ÇÔ²² ÀÛ¾÷ÇÏ°í ÀÖ´Â ´Ù¸¥ »ç¶÷¿¡°Ô °ø°³Çϱâ À§ÇÑ Ä¿¸àµå¸¦(ÀúÀå¼Ò(repository)¿¡ Ä¿¹ÔÇÏ´Â °Í) ÁغñÇÕ´Ï´Ù. ¸¸¾à ´Ù¸¥ »ç¶÷ÀÌ ÀÚ±â ÀÚ½ÅÀÇ º¯°æÀ» °ø°³ÇßÀ» ¶§ ¿¡´Â SubversionÀº ±× º¯°æÀ» ÀÚ½ÅÀÇ ÀÛ¾÷ Ä«ÇǺ»¿¡ ¸ÓÁöÇÏ´Â Ä¿¸àµå¸¦ ÁغñÇÕ´Ï´Ù. (ÀúÀå¼Ò(repository)ÀÇ ³»¿ëÀ» ÀоîµéÀÌ´Â °Í) ÀÛ¾÷ Ä«ÇǺ»¿¡´Â Subversion¿¡ ÀÇÇØ °ü¸®µÇ´Â ¸î°³ÀÇ Æ¯¼öÇÑ ÆÄÀÏÀÌ ÀÖ½À´Ï´Ù. ±× ÆÄÀϵ鿡 ÀÇÇØ(ÀÐ°í ¾²±â µîÀÇ) Ä¿¸àµå¸¦ ½ÇÇàÇÕ´Ï´Ù. ƯÈ÷ ÀÛ¾÷ Ä«ÇǺ» µð·ºÅ丮¿¡´Â .svnÀ̶ó´Â À̸§ÀÇ °ü¸® µð·ºÅ丮°¡ ¼ºê µð·ºÅ丮·Î ÀÖ½À´Ï´Ù. °ü¸® µð·ºÅ丮ÀÇ °¢°¢ÀÇ ÆÄÀÏÀº SubversionÀÌ ¾î´À ÆÄÀÏ¿¡ ¾ÆÁ÷ °ø°³ÇÏ°í ÀÖÁö ¾Ê´Â º¯°æµÈ Á¡ÀÌ ÀÖ´ÂÁö ¾î´À ÆÄÀÏÀÌ ´Ù¸¥ »ç¶÷ÀÇ ÀÛ¾÷¿¡ ÀÇÇØ ÃÖ½ÅÀÎÁö ¾Æ´ÑÁö¸¦ ÀÌÇØÇÏ´Â °ÍÀ» µ½´Â °ÍÀÔ´Ï´Ù. ÀüÇüÀûÀÎ Subversion ÀúÀå¼Ò(repository)´Â º¹¼öÀÇ ÇÁ·ÎÁ§Æ®ÀÇ ÆÄÀÏ(¶Ç´Â ¼Ò½º ÄÚµå)¸¦ ÀúÀåÇÏ°í ÀÖ½À´Ï´Ù. º¸Åë °¢°¢ÀÇ ÇÁ·ÎÁ§Æ®´Â ÀúÀå¼Ò(repository)ÀÇ ÆÄÀÏ ½Ã½ºÅÛ Æ®¸®ÁßÀÇ ¼ºê µð·ºÅ丮·Î µÇ¾î ÀÖ½À´Ï´Ù. ÀÌ ±¸¼º¿¡ ÀÇÇØ »ç¿ëÀÚÀÇ ÀÛ¾÷ Ä«ÇǺ»Àº º¸Åë ÀúÀå¼Ò(repository)ÀÇ Æ¯Á¤ÀÇ ºÎºÐ¿¡ ´ëÀÀÇÏ°í ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î µÎ °³ÀÇ ¼ÒÇÁÆ®¿þ¾î ÇÁ·ÎÁ§Æ®¸¦ Æ÷ÇÔÇÑ ÀúÀå¼Ò(repository)°¡ ÀÖ´Ù°í ÇսôÙ. ¸»À» ¹Ù²Ù¾î ¸»Çϸé ÀúÀå¼Ò(repository)ÀÇ ÃÖ»óÀ§ÀÇ µð·ºÅ丮¿¡´Â µÎ °³ÀÇ ¼ºê µð·ºÅ丮 : paint¿Í calc °¡ ÀÖ½À´Ï´Ù. ÀÛ¾÷ Ä«ÇǺ»À» °¡Áö°í ¿À±â À§ÇØ ÀúÀå¼Ò(repository)ÁßÀÇ ¼ºê Æ®¸®¸¦ üũ¾Æ¿ôÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. (check out À̶ó´Â ¸»Àº ¹«¾ùÀΰ¡¸¦ Àá±×°Å³ª º¸È£ÇÏ´Â °Í °°Àº Àǹ̰¡ ÀÖ½À´Ï´Ù¸¸ ±×·±°Í °°Áö´Â ¾Ê½À´Ï´Ù; ±×°ÍÀº ´ÜÁö ÀÚ½ÅÀ» À§ÇÑ ÇÁ·ÎÁ§Æ®ÀÇ º¹»ç¸¦ ¸¸µé »ÓÀÔ´Ï´Ù. ) ¿¹¸¦ µé¾î /calc¸¦ üũ¾Æ¿ô ÇÏ´Â °ÍÀ¸·Î ÀÛ¾÷ Ä«ÇǺ»À» °¡Á®¿Ã ¼ö ÀÖ½À´Ï´Ù.:
AÀÇ ¹®ÀÚ·Î ½ÃÀ۵Ǵ À϶÷Àº SubversionÀÌ ´ç½ÅÀÇ ÀÛ¾÷ Ä«ÇǺ»¿¡ ¸î°³ÀÇ ÆÄÀÏÀ» Ãß°¡Çß´ÂÁö ³ªÅ¸³»°í ÀÖ½À´Ï´Ù. ÀÌ°ÍÀ¸·Î ÀúÀå¼Ò(repository)¿¡ ÀÖ´Â /calcµð·ºÅ丮ÀÇ ÀÛ¾÷ Ä«ÇǺ»À» °¡Áö°í ¿Ã ¼ö ÀÖ¾ú½À´Ï´Ù. ÃÖÃÊ¿¡ ¸»ÇÑ °Íó·³ üũ¾Æ¿ô½Ã¿¡´Â ¶Ç ÇϳªÀÇ .svn µð·ºÅ丮°¡ »ý±é´Ï´Ù. ÀÌ°ÍÀº Subversion¿¡ ÇÊ¿äÇÑ Ãß°¡ Á¤º¸¸¦ ÀúÀåÇÏ´Â Àå¼Ò°¡ µË´Ï´Ù. button.c·Î º¯°æÀ» ´õÇÏ´Â °ÍÀ» »ý°¢ÇØ º¸°Ú½À´Ï´Ù. .svn µð·ºÅ丮´Â ÆÄÀÏÀÇ ¼öÁ¤ ½Ã°¢°ú ¿ø·¡ÀÇ ³»¿ëÀ» ±â¾ïÇÏ°í ÀÖÀ¸¹Ç·Î SubversionÀº ±× ÆÄÀÏ¿¡ ¾î¶² º¯°æÀÌ µÇ¾ú´ÂÁö¸¦ Ç¥½Ã ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª SubversionÀº ¸í½ÃÀûÀ¸·Î Ç¥½ÃÇØ Áà¶ó°í ¸»ÇØÁú ¶§±îÁö ±× º¯°æÀ» Ç¥½Ã ÇÏÁö ¾Ê½À´Ï´Ù. ÀÚ½ÅÀÇ º¯°æÀ» °ø°³ÇÏ´Â Á¶ÀÛÀ» º¯°æÁ¡ÀÇ Ä¿¹Ô (ȤÀº üũÀÎ)À̶ó°í ¸»ÇÕ´Ï´Ù. º¯°æÁ¡À» ´Ù¸¥ »ç¶÷¿¡°Ô °ø°³ÇÏ·Á¸é SubversionÀÇ commit Ä¿¸àµå¸¦ »ç¿ëÇÕ´Ï´Ù:
ÀÌ°ÍÀ¸·Î button.c¿¡ÀÇ º¯°æÀº ÀúÀå¼Ò(repository)¿¡ Ä¿¹ÔµÇ¾ú½À´Ï´Ù. ¸¸¾à ´Ù¸¥ »ç¿ëÀÚ°¡ /calc ÀÇ ÀÛ¾÷ Ä«ÇǺ»À» ¸¸µå´Âµ¥ üũ¾Æ¿ô Çϸé ÃֽŠ¹öÀüÁß¿¡ ´ç½ÅÀÇ º¯°æÁ¡À» º¸°Ô µÇ°ÚÁö¿ä. ÇÔ²² ÀÛ¾÷ÇÏ°í ÀÖ´Â Sally °¡ ´ç½ÅÀÌ Ã¼Å©¾Æ¿ô ÇÑ °Í°ú °°Àº ½Ã°¢¿¡ /calcÀÇ ÀÛ¾÷ Ä«ÇǺ»À» ÀڽſëÀ¸·Î üũ¾Æ¿ô Çß´Ù°í ÇսôÙ. ´ç½ÅÀÌ button.c ¿¡ÀÇ ÀÚ½ÅÀÇ º¯°æÀ» Ä¿¹ÔÇصµ SallyÀÇ ÀÛ¾÷ Ä«ÇǺ»Àº º¯°æµÇÁö ¾Ê´Â »óÅÂÀΠäÀÔ´Ï´Ù. Subverson´Â »ç¿ëÀÚÀÇ ¿ä±¸¿¡ µû¶ó¼´Â ±ÛÀÚ°¶ó°í ÀÛ¾÷ Ä«ÇǺ»ÀÇ ³»¿ëÀ» º¯°æÇÕ´Ï´Ù. ÀÛ¾÷ ³»¿ëÀ» ÇÁ·ÎÁ§Æ®ÀÇ ÃֽŠ»óÅ·ΠÇÏ·Á¸é Sally´Â Subversion¿¡ ÀÚ½ÅÀÇ ÀÛ¾÷ Ä«ÇǺ»À» °»½Å Çϵµ·Ï(µíÀÌ) ÀÇ·ÚÇÏÁö ¾ÊÀ¸¸é µÇÁö ¾Ê½À´Ï´Ù. ÀÌ°Í¿¡´Â update Ä¿¸àµå¸¦ »ç¿ëÇÕ´Ï´Ù. ÀÌ°ÍÀº ´ç½ÅÀÇ º¯°æÀ» ±×³àÀÇ ÀÛ¾÷ Ä«ÇǺ»¿¡ ¸ÓÁö ÇÏ°í ±×³à°¡ üũ ¾Æ¿ô ÇÑ ÈÄ¿¡ ´Ù¸¥ »ç¶÷ÀÌ Ä¿¹ÔÇÑ ¸ðµç ºÎºÐ¿¡ ´ëÇؼµµ ¸ÓÁö ÇÕ´Ï´Ù.
svn update Ä¿¸àµå·ÎºÎÅÍÀÇ Ãâ·ÂÀº SubversionÀÌ button.cÀÇ ³»¿ëÀ» °»½ÅÇÑ °ÍÀ» ³ªÅ¸³»°í ÀÖ½À´Ï´Ù. Sally ´Â ¾î´À ÆÄÀÏÀ» °»½Å ÇÏ´ÂÁö¸¦ ÁöÁ¤ÇÒ ÇÊ¿ä°¡ ¾ø´Âµ¥ ÁÖÀÇÇØ ÁÖ¼¼¿ä. SubversionÀº . svnµð·ºÅ丮ÀÇ Á¤º¸¿Í ÀúÀå¼Ò(repository)ÀÇ Á¤º¸¸¦ »ç¿ëÇØ ¾î´À ÆÄÀÏÀ» °»½ÅÇÏÁö ¾ÊÀ¸¸é ¾È µÇ´Â°¡ (À»)¸¦ °áÁ¤ÇÕ´Ï´Ù. 1.3.2. ¸®ºñÀüsvn commitÁ¶ÀÛÀº ÇϳªÀÇ Æ®·£Àè¼Ç(transaction) À¸·Î¼ ÀÓÀÇÀÇ ¼öÀÇ ÆÄÀÏ, µð·ºÅ丮¿¡ ´ëÇÑ º¯°æÁ¡À» °ø°³ÇÏ´Â ÀÏÀÌ »ý±é´Ï´Ù. ÀÛ¾÷ Ä«ÇǺ»Áß¿¡¼ ÆÄÀÏÀÇ ³»¿ëÀ» ¹Ù²Ù°Å³ª »õ·Ó´Ù ÆÄÀÏÀ» ¸¸µé°Å³ª »èÁ¦Çϰųª À̸§À» ¹Ù²Ù°Å³ª ÆÄÀÏÀ̳ª µð·ºÅ丮¸¦ º¹»çÇÑ µÚ ±×·¯ÇÑ º¯°æÁ¡ÀÇ Àüü¸¦ ¿ÏÀüÇÑ »ç¶÷ µ¢¾î¸®ÀÇ °ÍÀ¸·Î ÇØ Ä¿¹ÔÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ÀúÀå¼Ò(repository)¿¡¼´Â °¢°¢ÀÇ Ä¿¹ÔÀº ÇϳªÀÇ ºÐÇÒÇÒ ¼ö ¾ø´Â »ç¶÷ µ¢¾î¸®ÀÇ Æ®·£Àè¼Ç(transaction)·Î¼ Ãë±ÞÇÕ´Ï´Ù. ¸ðµç Ä¿¹Ô¿¡ º¯°æÀº ¿ÏÀüÇÏ°Ô ½ÇÇàµÇ´ÂÁö ÀüÇô ½ÇÇàµÇÁö ¾Ê´Â°¡ÀÇ ¾î´À ÂÊÀÎÁöÀÔ´Ï´Ù. SubversionÀº ÀÌ ºÒºÐÇÒÀÇ ¼ºÁúÀ» ÇÁ·Î±×·¥ ÀåÇØ, ½Ã½ºÅÛ ÀåÇØ, ³×Æ®¿öÅ© ÀåÇØµî ±× ¿ÜÀÇ Á¶ÀÛÀÌ ÀÖ´Â °æ¿ì¿¡µµ À¯ÁöÇÏ·Á°í ÇÕ´Ï´Ù. ÀúÀå¼Ò(repository)°¡ Ä¿¹ÔÀ» ¹Þ¾ÆµéÀÏ ¶§´Â Ç×»ó ¸®ºñÀü À¸·Î ºÒ¸®´Â ÆÄÀÏ ½Ã½ºÅÛ Æ®¸®ÀÇ »õ·Î¿î »óŸ¦ ¸¸µì´Ï´Ù. °¢°¢ÀÇ ¸®ºñÀü¿¡´Â ÀÏÀÇÀÎ ÀÚ¿¬¼ö¸¦ ÇÒ´çÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀüÀÇ ¹öÀüº¸´Ù ÈÄÀÇ ¹öÀüÀÌ ¼ö°¡ Ä¿Áý´Ï´Ù. ÀúÀå¼Ò(repository) ½Å±Ô ÀÛ¼º½ÃÀÇ ÃÖÃÊÀÇ ¹öÀüÀº Á¦·Î·Î ·çÆ® µð·ºÅ丮 Àܷ̿δ ¾Æ¹«°Íµµ Æ÷ÇԵǾî ÀÖÁö ¾Ê½À´Ï´Ù. ÀúÀå¼Ò(repository)¸¦ ½Ã°¢ÈÇÏ´Â ´É¼÷ÇÑ ¹æ¹ýÀº ÀÏ·Ä¿¡ ÁÙ¼± ³ª¹«·Î¼ ÆľÇÇÑ´Ù ÀÏÀÔ´Ï´Ù. 0À¸·ÎºÎÅÍ ½ÃÀÛÇÏ´Â ¸®ºñÀü ¹øÈ£°¡ ¿ÞÂÊ¿¡¼ ¿À¸¥ÂÊÀ¸·Î Ãß°¡µÇ¾î °£´Ù »óȲÀ» »ó»óÇØ ÁÖ¼¼¿ä. °¢°¢ÀÇ ¸®ºñÀü ¹øÈ£¿¡´Â ´ëÀÀÇß´Ù ÆÄÀÏ ½Ã½ºÅÛ¸ñÀÌ ÀÖ¾î °¢°¢ÀÇ ³ª¹«´Â °¢°¢ÀÇ Ä¿¹Ô ÈÄÀÇ ÀúÀå¼Ò(repository) »óŸ¦ ³ªÅ¸³»´Â "snapshot" ÀÔ´Ï´Ù.
ÀÛ¾÷ Ä«ÇǺ»Àº Ç×»ó ÀúÀå¼Ò(repository)ÀÇ ¾î¶² °ÍÀ̳ª ÇϳªÀÇ ¸®ºñÀü ´ëÀÀÇÏ°í ÀÖ´Ù°í´Â ÇÑÁ¤µÇÁö ¾Ê´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. ÀÛ¾÷ Ä«ÇǺ»Àº ¿©·¯°³ÀÇ ´Ù¸¥ ¸®ºñÀüÀ¸·ÎºÎÅÍ ¾òÀº ÆÄÀÏ (À»)¸¦ Æ÷ÇÔÇÏ°í ÀÖÀ»Áöµµ ¸ð¸¨´Ï´Ù. ¿¹¸¦ µé¾î ÃֽŠ¸®ºñÀü ¹øÈ£°¡ 4ÀÎ ÀúÀå¼Ò(repository)·ÎºÎÅÍ ÀÛ¾÷ Ä«ÇǺ»À» üũ¾Æ¿ô Çß´Ù°í ÇսôÙ:
ÀÌ ½ÃÁ¡¿¡¼´Â ÀÛ¾÷ Ä«ÇǺ»Àº ÀúÀå¼Ò(repository)ÀÇ ¸®ºñÀü 4¿Í ÀÏÄ¡ÇÏ°í ÀÖ½À´Ï´Ù. ±×·¯³ª ¿©±â¼ button.c·Î º¯°æÀ» ´õÇÏ°í ±× º¯°æÀ» Ä¿¹ÔÇß´Ù°í ÇÕ´Ï´Ù. ±× ¹Û¿¡ Ä¿¹ÔÇÑ »ç¶÷ÀÌ ¾ø´Â °æ¿ì À̹ø Ä¿¹ÔÀº ÀúÀå¼Ò(repository)ÀÇ ¹öÀüÀ» 5¿¡ ÁÖ¾î ÀÛ¾÷ Ä«ÇǺ»ÀÇ ³»¿ëÀº ¾Æ·¡¿Í °°ÀÌ µË´Ï´Ù.
ÀÌ ½ÃÁ¡¿¡¼ Sally°¡ integer.c¿¡ ´ëÇÑ ¼öÁ¤À» Ä¿¹ÔÇØ ¸®ºñÀü 6À» ¸¸µé¾ú´Ù°í ÇսôÙ. À̶§ svn update Ä¿¸Çµå·Î ´ç½ÅÀÇ ÀÛ¾÷ Ä«ÇǺ»À» °»½ÅÇÏ¸é ´ÙÀ½°ú °°ÀÌ µÇ°ÚÁö¿ä:
SallyÀÇ integer.c¿¡ÀÇ º¯°æÀº ´ç½ÅÀÇ ÀÛ¾÷ Ä«ÇǺ»¿¡ ³ªÅ¸³ªÁö¸¸ button.c ¿¡ ´ëÇÑ ´ç½ÅÀÇ º¯°æÀº ±×´ë·ÎÀÔ´Ï´Ù. ÀÌ ¿¹¿¡¼´Â MakefileÀÇ ÅؽºÆ®´Â ¸®ºñÀü 4,5,6À¸·Î ¿ÏÀüÈ÷ µ¿ÀÏÇÑ °ÍÀÌÁö¸¸ SubversionÀº ´ç½ÅÀÇ ÀÛ¾÷ Ä«ÇǺ»ÁßÀÇ MakefileÀÇ ¸®ºñÀüÀ» 6À¸·Î¼ ±×°ÍÀÌ ÃÖ½ÅÀÎ °ÍÀ» Ç¥ÇöÇÕ´Ï´Ù. ±×·¡¼ ÀÚ½ÅÀÇ ÀÛ¾÷ Ä«ÇǺ»À» ¿ÏÀüÈ÷ ¾÷µ¥ÀÌÆ®¸¦ ÇßÀ» ¶§¿¡´Â ÀϹÝÀûÀ¸·Î ÀÛ¾÷ Ä«ÇǺ»Àº ÀúÀå¼Ò(repository)¿¡ Àִ ƯÁ¤ ¸®ºñÀü°ú ¿ÏÀüÇÏ°Ô ÀÏÄ¡ÇÕ´Ï´Ù. 1.3.3. ÀÛ¾÷ Ä«ÇǺ»Àº ¾î¶»°Ô ÀúÀå¼Ò(repository)¸¦ µÚÂÑÀ»±î.ÀÛ¾÷ Ä«ÇǺ»ÁßÀÇ °¢°¢ÀÇ ÆÄÀÏ¿¡ ´ëÇØ SubversionÀº µÎ º»ÁúÀûÀÎ Á¤º¸¸¦. .svn/°ü¸® ¿µ¿ª¿¡ ±â·ÏÇÕ´Ï´Ù:
ÀúÀå¼Ò(repository)¿ÍÀÇ ±³È¯À¸·Î ¾òÀº ÀÌ Á¤º¸·Î SubversionÀº ÀÛ¾÷ ÆÄÀÏÀÇ °¢°¢ÀÌ ÀÌÇÏÀÇ 4°³ »óÅÂÀÇ ¾î´À °ÍÀ¸·Î ÀÖÀ»±î¸¦ ¸»ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù:
ÀÌ°Í¿¡´Â ¿©·¯°¡Áö Á¤º¸ÀÇ º¯È¸¦ ÂÑÀ» ÇÊ¿ä°¡ ÀÖ´Ù°í »ý°¢ÇÕ´Ï´Ù¸¸ svn status Ä¿¸Çµå¸¦ »ç¿ëÇÏ¸é ´ç½ÅÀÇ ÀÛ¾÷ Ä«ÇǺ»¿¡ ÀÖ´Â ¸ðµç ÆÄÀÏÀÇ »óŸ¦ Ç¥½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ Ä¿¸àµå¿¡ ´ëÇÑ º¸´Ù ÀÚ¼¼ÇÑ Á¤º¸´Â svn status > (À»)¸¦ ºÁ ÁÖ¼¼¿ä. 1.3.4. È¥ÇÕ ¸®ºñÀüÀÇ Á¦¾àSubversionÀº ÇÒ¼öÀÖ´Â ÇÑ À¯¿¬ÇÏ°Ô µ¿ÀÛÇÏ´Â °ÍÀº ¿øÄ¢À¸·Î »ï°í ÀÖ½À´Ï´Ù. ÀÌ Æ¯º°ÇÑ ¿¹·Î¼ ÀÛ¾÷ Ä«ÇǺ»¿¡ º¹¼öÀÇ ¸®ºñÀü ¹øÈ£¸¦ °øÁ¸½ÃÅ°´Â °ÍÀ» µé ¼ö ÀÖ½À´Ï´Ù. óÀ½¿¡´Â ¾î°¼ ÀÌ·¯ÇÑ À¯¿¬¼ºÀÌ ÀåÇØ°¡ ¾Æ´Ï¶ó ±â´ÉÀ̶ó°í »ý°¢µÇ´Â °ÍÀÎÁö ÀÌÇØÇÒ ¼ö ¾øÀ»Áöµµ ¸ð¸¨´Ï´Ù. ÀúÀå¼Ò(repository)·ÎÀÇ Ä¿¹ÔÀÌ ¿Ï·áµÇ¸é ¹æ±Ý Ä¿¹ÔµÈ ÆÄÀÏ°ú µð·ºÅ丮°¡ ³ª¸ÓÁöÀÇ ÀÛ¾÷ Ä«ÇǺ»ÀÇ ¸®ºñÀüº¸´Ù »õ·Î¿öÁý´Ï´Ù. ÀÌ°ÍÀº Á¶±Ý È¥¶õ½º·´°Ô º¸ÀÔ´Ï´Ù. Àü¿¡ ¸»ÇÑ °Íó·³ ÀÛ¾÷ Ä«ÇǺ»Àº svn update ¸¦ ½ÇÇàÇÏ´Â °ÍÀ¸·Î Ç×»ó ÇϳªÀÇ ÀÛ¾÷ ¸®ºñÀüÀ¸·Î ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ¿Ö ÀϺη¯ ´Ù¸¥ ÀÛ¾÷ ¸®ºñÀüÀ» °øÁ¸½ÃÅ°·Á°í ÇÒ±î¿ä? ÇÁ·ÎÁ§Æ®°¡ ¸Å¿ì º¹ÀâÇÑ °æ¿ì¸¦ »ý°¢ÇØ º¸¼¼¿ä. ¿©·¯ºÐÀº ÀÛ¾÷ Ä«ÇǺ»ÀÇ ÀϺθ¦ ¿¹Àü ¹öÀüÀ¸·Î °Á¦·Î "µÇµ¹¸®´Â ÀÏÀÌ ÁÁÀº ÇØ°áÃ¥ÀÎ °æ¿ì°¡ ¸¹À½À» ¾Ë°ÔµÉ °ÍÀÔ´Ï´Ù. ¾î¶»°Ô µÇµ¹¸®´ÂÁö´Â 3Àå¿¡¼ ¼³¸íÇÕ´Ï´Ù. ¾Æ¸¶ ¿©·¯ºÐÀº ¼ºê µð·ºÅ丮¿¡ ÀÖ´Â ¼ºê ¸ðµâÀÇ ÀÌÀüÀÇ ¹öÀüÀ» Å×½ºÆ®Çغ¸°í ½ÍÀ» °ÍÀÔ´Ï´Ù. ¶Ç´Â ÃÖ½ÅÀÇ ¹öÀüÇÏ¿¡¼ ÇϳªÀÇ ÆÄÀÏÀÇ ÀÌÀüÀÇ ¿©·¯°¡Áö ¹öÀüÀÌ Àß ¿òÁ÷ÀÌ´ÂÁö È®ÀÎÇÏ°í ½ÍÀ» °ÍÀÔ´Ï´Ù. " ÀÛ¾÷ Ä«ÇǺ» ¾È¿¡¼ ´Ù¸¥ ¸®ºñÀüÀ» ¼¯¾î¼ ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù¸¸ À¯¿¬¼º¿¡ Á¦ÇÑÀÌ ÀÖ½À´Ï´Ù. ¿ì¼±, ¿ÏÀüÇÏ°Ô ÃÖ½ÅÀÌ ¾Æ´Ñ ÆÄÀÏÀ̳ª µð·ºÅ丮ÀÇ »èÁ¦¸¦ Ä¿¹Ô ÇÒ ¼ö ¾ø½À´Ï´Ù. ¸¸¾à »õ·Î¿î ¹öÀüÀÇ ÆÄÀÏÀ̳ª µð·ºÅ丮°¡ ÀúÀå¼Ò(repository)¿¡ ÀÖ´Ù¸é »èÁ¦ÇÏ·Á´Â ½Ãµµ´Â °ÅºÎµË´Ï´Ù. ÀÌ°ÍÀº ¿©·¯ºÐÀÌ ¾ÆÁ÷ ¾ËÁö ¸øÇÑ º¯°æ »çÇ×À» ½Ç¼ö·Î Áö¿ö ¹ö¸®´Â °ÍÀ» ¸·À¸·Á´Â °ÍÀÔ´Ï´Ù. ±×¸®°í ÃÖ½ÅÀ¸·Î °»½ÅÇÏÁö ¾ÊÀ¸¸é µð·ºÅ丮ÀÇ ¸ÞŸµ¥ÀÌŸÀÇ º¯°æÀ» Ä¿¹Ô ÇÒ ¼ö ¾ø½À´Ï´Ù. ÆÄÀÏÀ̳ª µð·ºÅ丮¿¡ "¼Ó¼º"À» ºÙÀÌ´Â ¹æ¹ý¿¡ ´ëÇؼ´Â 6Àå¿¡¼ ¼³¸íÇÕ´Ï´Ù. µð·ºÅ丮ÀÇ ÀÛ¾÷ ¸®ºñÀüÀº ƯÁ¤ÇÑ ¿£Æ®¸®¿Í ¼Ó¼ºÀÇ ÁýÇÕÀ» Á¤ÀÇÇϹǷΠÃÖ½ÅÀÌ ¾Æ´Ñ µð·ºÅ丮¿¡ ´ëÇÑ ¼Ó¼º º¯°æÀÇ Ä¿¹ÔÀº ¾ÆÁ÷ ¾Ë¾Æº¸Áö ¸øÇÑ ¼Ó¼ºÀ» Áö¿ö ¹ö¸±Áöµµ ¸ð¸£±â ¶§¹®ÀÔ´Ï´Ù. 1.4. °³¿äÀÌ Àå¿¡¼´Â SubversionÀÇ ±âº»ÀûÀÎ °³³äÀ» ´Ù·ç¾ú½À´Ï´Ù:
¿©±â¿¡¼´Â °¡Àå ÀϹÝÀûÀÎ Àǹ̷ΠSubversionÀÌ ¾î¶»°Ô µ¿ÀÛÇұ ´ëÇÑ ÁÁÀº »ý°¢ÀÌ ¸ö¿¡ ´ê¾ÒÀ» °ÍÀÔ´Ï´Ù. ÀÌ Áö½ÄÀ» ±âÃÊ·Î ´ÙÀ½ÀÇ Àå¿¡ ½º½º¹« ÀÏÀÌ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿©±â´Â SubversionÀÇ Ä¿¸àµå¿Í ±â´É¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Åõ¾î¿¡ µÇ¾î ÀÖ½À´Ï´Ù. |
You are secretive in your dealings but never to the extent of trickery. |