ÃÑ ÆäÀÌÁö ¼ö : 3224
![]()
|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
![]()
Tweet
joinc´Â Firefox¿Í chrome¿¡¼ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.
±×µ¿¾È Çü»ó°ü¸®¸¦ À§Çؼ CVS¸¦ ÁÖ·Î ½á¿Ô´Âµ¥, ¿©Â÷ÀúÂ÷ÇØ¼ SVNÀ» »ç¿ëÇÏ´Â °æ¿ì°¡ ¸¹¾ÆÁ³À¸´Ï Æ´Æ´È÷ Á¤¸®Çغ¼ »ý°¢ÀÌ´Ù. 1 ¼Ò°³1.1 Çü»ó°ü¸®¿¡ ´ëÇØ¼
¼ÒÇÁÆ®¿þ¾î Çü»ó °ü¸® (Sofware Configuration Management)´Â ¼ÒÇÁÆ®¿þ¾îÀÇ È¿À²ÀûÀÎ °³¹ß/¿î¿ë/À¯Áö/º¸¼ö¸¦ À§ÇÑ Æ÷°ýÀûÀÎ ÇмúºÐ¾ß ¿ª¿µÀÌ´Ù. Çü»ó°ü¸®ÀÇ ´ë»óÀº ´ÙÀ½°ú °°Àº °ÍµéÀÌ ÀÖ´Ù.
1.2 software ¹öÀü°ü¸®¿¡ ´ëÇØ¼
¿©·¯¸íÀÌ ÇÔ²² ¼ÒÇÁÆ®¿þ¾î¸¦ °³¹ßÇØ¾ß ÇÏ´Â °æ¿ì, °Ô´Ù°¡ ¹°¸®ÀûÀ¸·Î ¸Ö¸® ¶³¾îÁ®¼ ÀÛ¾÷À» ÇØ¾ß ÇÏ´Â °æ¿ì¿¡ ¼ÒÇÁÆ®¿þ¾î ¹öÀü°ü¸®°¡ Áß¿äÇÑ À̽´°¡ µÈ´Ù. °¡´ÉÇÑ ÇѸíÀÇ °³¹ßÀÚ°¡ ÇϳªÀÇ ¼Ò½ºÄڵ带 Ã¥ÀÓÁú ¼ö ÀÖµµ·Ï ¸ðµâÈ ÄÄÆ÷³ÍÆ®È Çϵµ·Ï ¼³°èÇϱä ÇÏÁö¸¸, ºÐ¸íÇÑ ÇѰ谡 ÀÖ´Ù. ¿©±â¿¡ Äڵ忡 ¹®Á¦°¡ »ý°åÀ» ¶§, ÀÌÀü¹öÀüÀ» ã¾Æ¼ º¹±¸ÇØ¾ß ÇÏ´Â ¹®Á¦, ½Ç¼ö·Î ¼Ò½ºÄڵ带 µ¤¾î½á¹ö¸®´Â ¹®Á¦, ÇϳªÀÇ Äڵ带 µÎ¸í ÀÌ»óÀÌ ÀÛ¾÷ÇÒ¶§ÀÇ ¼Ò½ºÄÚµå Ãæµ¹µîÀÇ ¹®Á¦°¡ ¹ß»ýÇÏ°Ô µÈ´Ù. ¼ö½Ê¸íÀÇ °³¹ßÀÚ°¡ °³¹ß¿¡ Âü¿©ÇÒ °æ¿ì ȤÀº ÀÎÅͳÝÀ» ÅëÇÏ¿© °øµ¿À¸·Î °³¹ß¿¡ Âü¿©ÇÒ °æ¿ì¶ó¸é ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Â ½Ã½ºÅÛÀ» ¹Ýµå½Ã ±¸ÃàÇØ¾ß ÇÑ´Ù.
¼ÒÇÁÆ®¿þ¾î ¹öÀü°ü¸®´Â À§¿¡¼¿Í °°Àº »óȲ - ¿©·¯¸íÀÌ °øµ¿ÀÛ¾÷À» ÇØ¾ß ÇÏ´Â °æ¿ì, ȤÀº ¹°¸®ÀûÀ¸·Î ¸Ö¸® ¶³¾îÁø °³¹ßȯ°æ -¿¡ ÀÖ¾î¼ ¼ÒÇÁÆ®¿þ¾î Äڵ尡 ÇϳªÀÇ °³¹ßÈ帧À» À̾°¥ ¼ö ÀÖµµ·Ï ¸¸µé¾îÁØ´Ù.
1.3 SVN¿¡ ´ëÇØ¼
SVNÀº Çü»ó°ü¸®´ë»ó ¿ä¼Òµé Áß ¼ÒÇÁÆ®¿þ¾î ¹öÀü°ü¸®¸¦ À§Çؼ »ç¿ëµÇ´Â SCM ÅøÀÌ´Ù. SVN¿¡ »ç¿ëµÇ±âÀü¿¡´Â CVS¶ó´Â ÅøÀÌ ¿À·§µ¿¾È µÅ ¿Ô´Ù. SVNÀº ±âº»ÀûÀ¸·Î CVS¿Í ºñ½ÁÇÑ ¹öÀü°ü¸® ü°è¸¦ °¡Áö°í ÀÖ´Ù. ¾ÖÃÊ¿¡ CVS¸¦ °³¼±½Ã۰íÀÚ ÇÏ´Â ¸ñÀû¿¡¼ ¸¸µé¾îÁ³±â ¶§¹®À̱⵵ ÇØ¼, ¸í·É¾îµé±îÁö ºñ½ÁÇÏ´Ù. ¶§¹®¿¡ ¾î·ÆÁö ¾Ê°Ô SVNÀ¸·Î ³Ñ¾î¿Ã ¼ö ÀÖ´Ù. ¹°·Ð ÃÖ±Ù¿¡ °³¹ßµÈ ÅøÀÌ´Ï ¸¸Å CVSº¸´Ù´Â Á»´õ Áøº¸µÈ ±â´ÉµéÀ» °¡Áö°í ÀÖÀ¸¸ç, CVS¿¡¼ SVNÀ¸·Î ³Ñ¾î¿À´Â Ãß¼¼´Ù.
´ÙÀ½Àº SVNÀÌ °¡Áö°í ÀÖ´Â ÀåÁ¡µéÀÌ´Ù.
1.4 SVN ¾ÆÅ°ÅØÃ³![]()
SVNÀº Repository¿Í Repository¿¡ Á¢±ÙÇϱâ À§ÇÑ Interface¸¸À» Á¦°øÇÏ´Â °£´ÜÇÑ ½Ã½ºÅÛÀÌ´Ù. 2 SVN ¼³Ä¡¿Í ±âº» »ç¿ë2.1 ¼³Ä¡
ÀÌ ¹®¼´Â Ubuntu Linux ¿î¿µÃ¼Á¦¸¦ ´ë»óÀ¸·Î ¸¸µé¾îÁ³´Ù. À©µµ¿ì ȰæÀº °í·ÁÇÏÁö ¾Ê¾Ò´Ù.
apt-getÀ» ÀÌ¿ëÇØ¼ °£´ÜÇÏ°Ô ¼³Ä¡ÇÒ ¼ö ÀÖ´Ù. # sudo apt-get install subversionUbuntu°¡ ¾Æ´Ñ rpm ±â¹ÝÀÇ ¸®´ª½ºµµ °¢ ¹èÆ÷ÆÇ¿¡¼ Á¦°øÇÏ´Â ÆÐŰÁö °ü¸® Åø·Î °£´ÜÇÏ°Ô ¼³Ä¡ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. Á÷Á¢ ¼Ò½º¸¦ ÄÄÆÄÀÏÇØ¼ ¼³Ä¡ÇÏ´Â ¹æ¹ýµîÀº ¼³¸íÇÏÁö ¾ÊÀ» »ý°¢ÀÌ´Ù. 2.2 Repository
SVNÀ» ´Ù·ç±â Àü¿¡ RepositoryÀÇ °³³ä¿¡ ´ëÇØ¼ È®ÀÎÇÏ°í ³Ñ¾î°¡´Â°Ô ÁÁÀ» °Í°°´Ù.
Repository´Â ÄÚµåÀÇ ¿øº»ÀÌ ÀúÀåµÇ´Â °øµ¿ÀúÀå°ø°£ÀÌ´Ù. Äڵ带 »ç¿ëÇÏ´Â °³¹ßÀÚµéÀº ÀÌ ÀúÀå°ø°£ - ÀÌÇÏ Repository -¿¡ ÀÖ´Â ÀÚ¿øÀÎ Äڵ带 °øÀ¯ÇÑ´Ù. °øÀ¯´Â Repository¿¡ ÇÁ·ÎÁ§Æ®¸¦ ¸¸µé°í ÀÌ ÇÁ·ÎÁ§Æ®ÀÇ ÆÄÀϵéÀ» Àаí, ¾²´Â ¹æ½ÄÀ¸·Î ÀÌ·ç¾îÁø´Ù. SVNÀº Repository¸¦ ÁغñÇϰí, Repository¿¡ ÀÐ°í ¾²´Â ÀÛ¾÷À» ÇÒ¶§, Äڵ尡 Ãæµ¹ÀÌ ³ª´ÂÁö¸¦ È®ÀÎÇÏ¸ç ¾÷µ¥ÀÌÆ® ³»¿ëÀ» ±â·ÏÇÔÀ¸·Î½á ¹öÀüÁ¤º¸¸¦ ¸¸µé°í Ãæµ¹À» º¹±¸Çϸç, ÇÊ¿äÇÒ¶§ Äڵ带 ¿øº¹½ÃŰ´Â µîÀÇ ÀÏÀ» ÇÑ´Ù. 2.3 SVN ¼¹ö¿Í SVN Ŭ¶óÀ̾ðÆ®
SVNÀº ¼¹ö/Ŭ¶óÀÌ¾ðÆ® ¸ðµ¨À» µû¸£´Â ¼ÒÇÁÆ®¿þ¾î´Ù. SVN ¼¹ö´Â Repository¸¦ °ü¸®¸¦ Çϰí, SVN Ŭ¶óÀÌ¾ðÆ®´Â SVN ¼¹ö¿¡°Ô Äڵ带 ÀÐ°í ¾²´Â µîÀÇ ¿äûÀ» ÇÑ´Ù.
2.4 SVN Repository Á¢±Ù ¹æ½Ä
SVN Àº ´Ù¾çÇÑ ¹æ½ÄÀ¸·Î Repository¿¡ Á¢±ÙÇÒ ¼ö ÀÖµµ·Ï Çϰí ÀÖ´Ù.
2.5 SVN ¼¹ö ¼³Á¤
SVN¼¹ö ¼³Á¤Àº Å©°Ô ¾Æ·¡ÀÇ 3´Ü°è °úÁ¤À» °ÅÄ£´Ù.
2.5.1 Repository »ý¼º
svnadmin À» ÀÌ¿ëÇØ¼ Repository¸¦ ¸¸µé ¼ö ÀÖ´Ù. repository´Â ÀÏ¹ÝÆÄÀϽýºÅÛ°ú berkeley DBŸÀÔÀÌ ÀÖ´Ù. Ưº°ÇÑ ¿É¼ÇÀ» »ç¿ëÇÏÁö ¾ÊÀ¸¸é berkeley db Çü½ÄÀ¸·Î »ý¼ºµÇ¸ç --fs-type¸¦ ÀÌ¿ëÇØ¼ ŸÀÔÀ» º¯°æÇÒ ¼ö ÀÖ´Ù. repository ÀÇ À§Ä¡´Â /home/project ·Î ÇϰڴÙ.
¸ÕÀú /home/project µð·ºÅ丮¸¦ »ý¼ºÇÑ´Ù. # mkdir /home/project
ÀÌÁ¦ ÀúÀå¼Ò¸¦ »ý¼ºÇÑ´Ù. À̸§Àº sample·Î ÇØ´Ù. º¸Åë ÀúÀå¼Ò´Â ÇÁ·ÎÁ§Æ®¿Í ´ëÀÀÇϸç ÇÁ·ÎÁ§Æ®ÀÇ Æ¯¼ºÀ» Àß Ç¥ÇöÇÏ´Â À̸§À» °¡Áöµµ·Ï ÇÑ´Ù. # ÀÏ¹Ý ÆÄÀϽýºÅÛÀ¸·Î »ý¼º $ svnadmin create --fs-type fsfs /home/project/sample # berkeley db Çü½ÄÀ¸·Î »ý¼º $ svnadmin create --fs-type bdb /home/project/sampleÀÏ¹ÝÆÄÀϽýºÅÛ ´ë½Å¿¡ ±»ÀÌ bdb¸¦ ½á¾ßÇÒ ºÐ¸íÇÑ ÀÌÀ¯°¡ ÀÖ´ÂÁö´Â È®½ÇÇÏÁö ¾Ê´Ù. berkeley db´Â NFS, AFS, SMB µîÀ¸·Î °øÀ¯ÇϰíÀÚ ÇÒ¶§, ¹®Á¦°¡ »ý±æ ¼ö ÀÖÀ¸´Ï ±×³É ÀÏ¹ÝÆÄÀϽýºÅÛÀ¸·Î »ý¼ºÇϵµ·Ï ÇÏÀÚ. 2.5.2 SVN Repository Á¢±Ù¹æ½Ä ¼³Á¤
¿©·¯°¡Áö ¹æ¹ýÀÌ Àִµ¥, ¿©±â¿¡¼´Â svn ÇÁ·ÎÅäÄÝÀ» ÀÌ¿ëÇÑ Á¢±Ù¹æ½Ä¿¡ ´ëÇØ¼ ¾Ë¾Æº¸µµ·Ï ÇϰڴÙ.
svnÀº svnserve ¶ó´Â °¡º¿î ¼¹öÇÁ·Î±×·¥À» Á¦°øÇϸç, À̰ÍÀ» ÀÌ¿ëÇØ¼ ¼¹ö¸¦ ½ÇÇà½Ãų ¼ö ÀÖ´Ù. ÀÌ·¸°Ô ÇØ¼ ¼¹ö¸¦ ½ÇÇàÇϸé svn:// ȤÀº svn+ssh:// URL Çü½ÄÀ» ÀÌ¿ëÇØ¼ ¼¹ö¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Ù. /etc/service ¸¦ ¿¾îº¸¸é svn ¼ºñ½º Æ÷Æ®°¡ Á¤ÀǵǾî ÀÖ´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù. Ç¥ÁØ ¼ºñ½º Æ÷Æ®´Â 3690À» »ç¿ëÇÑ´Ù. svn 3690 / tcp subversion # Subversion protocol svn 3690 / udp subversion
svnserv´Â stand alone ¸ðµå, Áï daemon¸ðµå¿Í inetd¸ðµå µÑ Áß ¼±ÅÃÇØ¼ ¶ç¿ï ¼ö ÀÖ´Ù. ¿©±â¿¡¼´Â µ¥¸ó¸ðµå·Î ½ÇÇà½ÃŰ´Â ¹æ¹ý¿¡ ´ëÇØ¼¸¸ ¾Ë¾Æº¼ °ÍÀÌ´Ù.
¸ÕÀú Á¢±ÙÀ» Çã¿ëÇÒ °èÁ¤À» ¸¸µéÀÚ °èÁ¤°ü·Ã ¼³Á¤ÆÄÀÏÀº /home/project/sample/conf ¹Ø¿¡ ÀÖ´Ù. svnserve.conf ¿¡¼ ÀÎÁõ¿¡ »ç¿ëµÉ ¹æ¹ýÀ» ¼³Á¤ÇÒ ¼ö Àִµ¥, general ¼½¼ÇÀÇ password-db ¸¦ ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÏÀÚ. [general] # passwd ÆÄÀÏ·Î ÆÐ½º¿öµå¸¦ °ü¸®ÇÑ´Ù. password-db = passwdÀÌÁ¦ /home/project/conf/passwd ÆÄÀÏ¿¡ ¾Æ·¡¿Í °°Àº Çü½ÄÀ¸·Î À¯Àú°èÁ¤Á¤º¸¸¦ ÀÔ·ÂÇÏ¸é µÈ´Ù. #username = password yundream = 123456
svn ¼¹ö¸¦ ½ÇÇàÇÑ´Ù. -d´Â µ¥¸ó¸ðµå·Î ½ÇÇàÇϱâ À§Çؼ, -rÀº repository¸¦ ÁöÁ¤Çϱâ À§ÇÑ ¿É¼ÇÀÌ´Ù. $ svnserve -d -r /home/project # 3690 Æ÷Æ®°¡ ¿·ÁÀÖ´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. netstat·Î È®ÀÎÇØº¸ÀÚ. $ netstat -na | grep 3690 tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
ÀÌÁ¦ trunk, branches, tags µð·ºÅ丮¸¦ »ý¼ºÇÑ´Ù. $ svn mkdir svn://localhost/sample/trunk --username yundream $ svn mkdir svn://localhost/sample/branches --username yundream $ svn mkdir svn://localhost/sample/tags --username yundream 2.6 ÇÁ·ÎÁ§Æ®¸¦ »ý¼ºÇÏÀÚ
ÀÌ·¸°Ô ÇØ¼ sample ÇÁ·ÎÁ§Æ®¸¦ ¼öÇàÇÒ ÀúÀå¼Ò±îÁö °®Ãß¾îÁ³´Ù. ÀÌÁ¦ ÇÁ·ÎÁ§Æ®ÁøÇàÀ» À§Çؼ ÇÊ¿äÇÑ Äڵ带 ¿Ã¸®¸é µÇ´Âµ¥, ÀÌÀÛ¾÷À» import¶ó°í ÇÑ´Ù.
ÀÏ´Ü myproject ¶ó´Â µð·ºÅ丮¸¦ »ý¼ºÇÑ´Ù. ÀÌ µð·ºÅ丮¿¡´Â hello.c ¶ó´Â Äڵ带 °¡Áö°í ÀÖ´Ù. # mkdir myproject´ÙÀ½Àº hello.c ÀÇ ³»¿ëÀÌ´Ù. int main(int argc, char **argv) { printf("Hello World!!!\n"); }
import ¿É¼ÇÀ» ÀÌ¿ëÇØ¼ ÇÁ·ÎÁ§Æ®¸¦ »ý¼ºÇÑ´Ù. # svn import myproject svn://localhost/sample/trunk --username yundream ÀÎÁõ ¿µ¿ª(realm): <svn://localhost:3690> 51c49533-dcd9-41dc-b726-0c7fb9b7a5fc 'yundream'ÀÇ ¾ÏÈ£: Ãß°¡ myproject/hello.c 2.7 svn Ŭ¶óÀÌ¾ðÆ® ¼³Á¤
svn ÆÐŰÁö¸¦ ¼³Ä¡Çϸé Ŭ¶óÀÌ¾ðÆ®±îÁö ¼³Ä¡°¡ µÇ¹Ç·Î µüÈ÷ ½Å°æ¾µ °ÍÀº ¾ø´Ù. ´Ù¸¸ ¿¡µðÅÍ È¯°æÁ¤µµ´Â ½Å°æÀ» ¾µ Çʿ䰡 ÀÖ´Ù.
svnÀº ÇÁ·ÎÁ§Æ®¸¦ import Çϰųª commit ȤÀº update ÇÒ¶§, °£´ÜÇÑ ¸Þ½ÃÁö¸¦ ³²±æ ¼ö ÀÖ´Ù. ÀÌ ¸Þ½ÃÁö´Â ·Î±×ÇüÅ·Π°ü¸®°¡ µÇ¾î¼, ³ªÁß¿¡ À̽´¸¦ ÃßÀûÇϴµ¥ µµ¿òÀÌ µÈ´Ù. ÀÌ ¸Þ½ÃÁö¸¦ ÆíÁýÇÒ¶§ ¾î¶² ¿¡µðÅ͸¦ »ç¿ëÇÒÁö¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.
»ç¿ëÇÒ ¿¡µðÅʹ ȯ°æº¯¼ö SVN_EDITOR ¿¡ ¿¡µðÅ͸¦ ÁöÁ¤ÇϸéµÈ´Ù. vi¸¦ »ç¿ëÇÏ°í ½Í´Ù¸é ¾Æ·¡¿Í °°ÀÌ ÇϸéµÈ´Ù. # export SVN_EDITOR=/usr/bin/vi
·Î±×ÀÎÇÒ¶§ ÀÚµ¿À¸·Î ȯ°æº¯¼ö°¡ ÁöÁ¤µÇµµ·Ï ÇÏ°í ½Í´Ù¸é Ȩµð·ºÅ丮ÀÇ .bash_profile ¿¡ À§ÀÇ ¸í·ÉÀ» Ãß°¡ÇÏ¸é µÈ´Ù. 2.8 ÇÁ·ÎÁ§Æ®¸¦ ¹Þ¾Æ¿ÀÀÚ
repository¸¦ »ý¼ºÇϰí ÇÁ·ÎÁ§Æ®±îÁö µî·Ï½ÃÄ×À¸´Ï ÇÔ²² ÇÁ·ÎÁ§Æ®¸¦ ÁøÇàÇÒ ±âº»ÀûÀΠȯ°æÀº °®Ãß¾îÁ³´Ù°í º¼ ¼ö ÀÖ´Ù. ÀÌÁ¦ ÇÁ·ÎÁ§Æ® Âü°¡ÀÚ´Â ÇÁ·ÎÁ§Æ®¸¦ ¹Þ¾Æ¿Í¼ ¿øÇÏ´Â ÀÛ¾÷À» ÇÏ¸é µÈ´Ù.
ÃÖÃÊ¿¡ ÇÁ·ÎÁ§Æ®¸¦ ¹Þ¾Æ¿À´Â ÀÛ¾÷À» checkout¶ó°í ÇѸç, co ȤÀº checkout ¿É¼ÇÀ» ÀÌ¿ëÇØ¼ ÇÁ·ÎÁ§Æ®¸¦ ¹Þ¾Æ¿Ã ¼ö ÀÖ´Ù.
sample ÇÁ·ÎÁ§Æ®¸¦ myproject µð·ºÅ丮·Î ¹Þ¾Æ¿Í º¸ÀÚ. # svn co svn://localhost/sample/trunk --username yundream myproject A myproject/hello.c 2.9 ÀÛ¾÷ÇÑ ³»¿ëÀ» ¿Ã¸®ÀÚ
ÇÁ·ÎÁ§Æ®¸¦ checkoutÀ» ÇßÀ¸´Ï ¼Ò½ºÄڵ带 ¼öÁ¤Çϵµ·Ï ÇÏÀÚ. hello.c ÇÁ·Î±×·¥Àº º° ¹®Á¦¾øÀÌ compileµÇ°í ½ÇÇàµÇ±ä ÇÏÁö¸¸, main ÇÔ¼ö°¡ return °ªÀ» °¡Áö°í ÀÖÁö ¾Ê´Ù´Â °Í°ú printf¸¦ À§ÇÑ stdio.h Çì´õÆÄÀÏÀ» ÀÎŬ·çµå ½ÃŰÁö ¾Ê°í ÀÖ´Ù´Â »ç¼ÒÇÑ ¹®Á¦Á¡À» °¡Áö°í ÀÖ´Ù. ±×·¡¼ ¾Æ·¡¿Í °°ÀÌ ¼Ò½ºÄڵ带 ¼öÁ¤Çß´Ù. #include <stdio.h> int main() { printf("Hello World!!!\n"); return 0; }ÀÛ¾÷À» ÇßÀ¸´Ï, ÇÁ·ÎÁ§Æ®¿¡ Âü¿©ÇÑ ´Ù¸¥ °³¹ßÀڵ鵵 È®ÀÎÇÒ ¼ö ÀÖµµ·Ï Äڵ带 ¿Ã·Á¾ß ÇÒ °ÍÀÌ´Ù. À̰ÍÀ» commitÀ̶ó°í ÇÑ´Ù. # svn commit --username yundream ÀÎÁõ ¿µ¿ª(realm): <svn://localhost:3690> 51c49533-dcd9-41dc-b726-0c7fb9b7a5fc 'yundream'ÀÇ ¾ÏÈ£: Àü¼ÛÁß hello.c 2.10 ÀúÀå¼ÒÀÇ ³»¿ëÀ» ¹Þ¾Æ¿ÀÀÚ
¾ÆÄ§¿¡ ÄÄÇ»Å͸¦ ۰í ÇÁ·ÎÁ§Æ®¸¦ ¼öÇàÇϱâ·Î Çß´Ù¸é, °¡Àå ¸ÕÀúÇØ¾ß ÇÒÀÏÀº ¾îÁ¦ »õ·Î ¹Ù²ï³»¿ëÀÌ ÀÖ´ÂÁö¸¦ È®ÀÎÇØ¼ ÃÖ½ÅÀÇ ¼Ò½ºÄڵ带 ¹Þ¾Æ¿À´Â ÀÏÀÌ´Ù. ÇÁ·ÎÁ§Æ®¸¦ µ¿±âÈ ÇÏ´Â °ÍÀ̶ó°í º¸¸é µÈ´Ù. upate ȤÀº up¿É¼ÇÀ» ÀÌ¿ëÇØ¼ ·¹Æ÷ÁöÅ丮·Î ºÎÅÍ ÃֽŠ¼Ò½ºÄڵ带 °¡Á®¿Ã ¼ö ÀÖ´Ù. $ svn up hello.c U hello.c ¾÷µ¥ÀÌÆ® µÈ ¸®ºñÀü 4. 2.11 »õ·Î¿î ÆÄÀÏ Ãß°¡Çϱâ
ÀÛ¾÷À» ÇÏ´Ùº¸¸é »õ·Î¿î ÄÚµå¶óµçÁö ¹®¼µîÀ» Ãß°¡½ÃÄÑ¾ß ÇÏ´Â °æ¿ì°¡ »ý±æ ¼ö ÀÖ´Ù. sample ÇÁ·ÎÁ§Æ®¸¦ ¼³¸íÇÑ README.txt ÆÄÀÏÀ» »õ·Î ¸¸µé¾ú´Ù°í °¡Á¤Çغ¸ÀÚ. »õ·Î »ý¼ºÇÑ ÆÄÀÏÀº ÀúÀå¼Ò¿¡ ¿Ã·Á¼ ¹öÀü°ü¸® ´ë»óÀ¸·Î ÇÏ°í ½Í´Ù¸é add ¿É¼ÇÀ» ÀÌ¿ëÇØ¼ Ãß°¡ÇÒ °ÍÀ» ¸í½ÃÇÏ¸é µÈ´Ù. $ svn add README.txt A (bin) README.txtÃß°¡Çß´Ù°í ÇØ¼ Áï½Ã ÀúÀå¼Ò¿¡ ¿Ã¶ó°¡´Â °Ç ¾Æ´Ï´Ù. commit ¸¦ ÇØ¾ß ºñ·Î¼ ÀúÀå¼Ò¿¡ ¿Ã¶ó°£´Ù. $ svn commit -m "README ÆÄÀÏ Ãß°¡" Ãß°¡ (bin) README.txt ÆÄÀÏ µ¥ÀÌÅÍ Àü¼ÛÁß . Ä¿¹ÔµÈ ¸®ºñÀü 5.ÀÌÁ¦ ´Ù¸¥ °³¹ßÀÚµéÀÌ update ÇÏ´Â ½ÃÁ¡¿¡¼ ´Ù¸¥ ¼öÁ¤µÈ ³»¿ëµé°ú ÇÔ²² README.txt ÆÄÀÏÀ» ¹Þ¾Æ¿À°Ô µÉ °ÍÀÌ´Ù. 3 SVN ¿î¿ë3.1 trunk, branches, tagsÀÇ Â÷ÀÌ
trunk, branches, tagsÀÇ ¶æÀ» ¾Ë¾Æ¾ß Á¦´ë·Î Ȱ¿ëÇÒ ¼ö ÀÖ°ÚÁÒ.
3.2 branch
ÇÁ·ÎÁ§Æ®¸¦ ÁøÇàÇÏ´Ù º¸¸é, ¿øº» ÇÁ·ÎÁ§Æ®¸¦ ±â¹ÝÀ¸·Î »õ·Î¿î ÇÁ·ÎÁ§Æ®¸¦ ¸¸µé°Å³ª ȤÀº ¿øº» ÇÁ·ÎÁ§Æ®¸¦ Å×½ºÆ®Çϱâ À§Çؼ µû·Î ºÐ¸®ÇؾßÇÒ °æ¿ì°¡ »ý±é´Ï´Ù.
ÀÌ·²¶§ branches¸¦ »ç¿ëÇÕ´Ï´Ù.
calc¶ó´Â ÇÁ·ÎÁ§Æ®¸¦ ÁøÇàÇϰí ÀÖ´Ù°í °¡Á¤ÇØ º¸ÁÒ. ÀÌ calc ÇÁ·Î±×·¥Àº »çÄ¢¿¬»ê¸¸À» ¼öÇàÇϰí ÀÖ½À´Ï´Ù. ±×·±µ¥ ½ÇÇèÀûÀ¸·Î ·çÆ®¿¬»ê ±â´ÉÀ» ³Ö¾ú½À´Ï´Ù. ·çÆ®¿¬»ê ÄÚµå´Â ¾ÆÁ÷Àº ½ÇÇèÀûÀÎ ÄÚµå¶ó¼ trunk¿¡ ¾ÆÁ÷Àº ³ÖÀ» ¼ö ¾ø½À´Ï´Ù. ±â´ÉÀ» Ãß°¡ÇØ¾ß ÇÒÁöµµ È®½ÇÇÏÁö ¾Ê°í¿ä. Ãß°¡ÇÑ´Ù°í ÇØµµ ÃæºÐÈ÷ ¾ÈÁ¤ÈµÈ ´ÙÀ½¿¡ ¿øº» ÇÁ·ÎÁ§Æ®¿¡ Æ÷ÇÔÇØ¾ß µÇ°ÚÁÒ.
ÀÌ °æ¿ì calc ÇÁ·ÎÁ§Æ®¸¦ º¹»çÇØ¼ my-calcÀ̶ó´Â branch¸¦ ¸¸µé¾î¼ ÇÁ·ÎÁ§Æ®¸¦ ÁøÇàÇÕ´Ï´Ù.
branch ÇÁ·ÎÁ§Æ®ÀÇ ¿Ï¼ºµµ°¡ ÃæºÐÈ÷ ³ô¾ÆÁ³´Ù°í »ý°¢µÇ¸é, ±×¶§ trunk¿Í mergeÇÏ¸é µË´Ï´Ù.
ȤÀº »õ·Î¿î ¹öÀüÀÇ ÇÁ·ÎÁ§Æ®°¡ °³¹ßµÆÀ» ¶§, ÀÌÀü ¹öÀüÀÇ ÇÁ·ÎÁ§Æ®¸¦ ±×´ë·Î ÁøÇàÇϱâ À§Çؼ »ç¿ëÇÕ´Ï´Ù. Apache 2.2.2 ¹öÀüÀ» °³¹ßÇÏ´Ù°¡ »õ·Î¿î ±â´ÉÀ» Ãß°¡Çؼ 2.3À¸·Î ¹öÀüÀ» ¿Ã·È´Ù°í °¡Á¤ÇØ º¸°Ú½À´Ï´Ù. »õ·Î¿î Apache ¹öÀüÀÌ ³ª¿ÔÁö¸¸, ¿©ÀüÈ÷ ¸¹Àº »ç¶÷µéÀÌ Apahce 2.2.2 ¹öÀüÀ» »ç¿ëÇϰí ÀÖÀ» °Ì´Ï´Ù. ±×·¯´Ï ºñ·Ï ¿¹Àü ¹öÀüÀ̱ä 2.2.2 ¹öÀü¿¡ ´ëÇÑ ¹ö±× ÆÐÄ¡, ¼öÁ¤µîÀÇ ÀÛ¾÷Àº °è¼Ó ÁøÇàÀÌ µÇ¾ß ÇÕ´Ï´Ù. ÀÌ ¶§µµ branches¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ±¸¹öÀüÀÇ Apache¸¦ À§ÇÑ branches¸¦ ±¸¼ºÇؼ ÇÁ·ÎÁ§Æ®¸¦ ÁøÇàÇÏ´Â °ÅÁÒ.
branch´Â °£´ÜÇÏ°Ô ¸¸µé ¼ö ÀÖ½À´Ï´Ù. branch¶ó´Â ´Ù¼Ò Ãß»óÀûÀÎ ¿ë¾î¸¦ »ç¿ëÇØ¼ ¾î·Á¿öÇÏ´Â °Í °°Àºµ¥, ±×³É Áö±Ý ÁøÇàÁßÀÎ ÇÁ·ÎÁ§Æ®¸¦ º¹»çÇÏ´Â °Ì´Ï´Ù. ½ÇÁ¦ copy ¿É¼ÇÀ» ÀÌ¿ëÇØ¼ branch¸¦ ¸¸µì´Ï´Ù. copy ¿É¼ÇÀ¸·Î my-calc¶ó´Â branch ÇÁ·ÎÁ§Æ®¸¦ ¸¸µå´Â ¹æ¹ýÀÔ´Ï´Ù. $ svn copy http://svn.example.com/repos/calc/trunk \
http://svn.example.com/repos/calc/branches/my-calc-branch \
-m "Creating a private branch of /calc/trunk."
ÀÌÁ¦ my-calc-branch¶ó´Â À̸§ÀÇ »õ·Î¿î ÇÁ·ÎÁ§Æ®¸¦ ¸¸µé¾ú½À´Ï´Ù. ¹°·Ð calc ÇÁ·ÎÁ§Æ®ÀÇ µð·ºÅ丮¿Í ÆÄÀϵéÀÌ ±×´ë·Î º¹»çµË´Ï´Ù. <img src="https://docs.google.com/drawings/pub?id=1Ot8hW9DYzU9fYiQr3qPYNSTHYIWvVxmlNbO_H5jIe_8&w=273&h=367">
branch´Â µ¶¸³ÀûÀÎ ÇÁ·ÎÁ§Æ®·Î checout ÇØ¼ »ç¿ëÇÏ¸é µË´Ï´Ù. ±âŸ »ç¿ë¹æ¹ýµµ ÀüÇô´Ù¸¦ ¹Ù°¡ ¾ø½À´Ï´Ù. # svn checkout http://svn.example.com/repos/calc/branches/my-calc-branch A my-calc-branch/Makefile A my-calc-branch/integer.c A my-calc-branch/button.c Checked out revision 341. 3.3 ÇÁ·ÎÁ§Æ® ·Î±× È®ÀÎ3.4 Ãæµ¹ ÇØ°á3.5 ¼Ò½ºÄÚµå º¹±¸3.6 merge4 ÀúÀå¼Ò Á¤Ã¥
myTeam¿¡¼ ¼Ò½ºÄÚµå¿Í ¹®¼¸¦ °ü¸®Çϱâ À§Çؼ svn ÀúÀå¼Ò¸¦ ¿î¿µÇϱâ·Î Çß½À´Ï´Ù. ÁøÇàÇÏ´Â ÇÁ·ÎÁ§Æ®´Â Proj01, Proj02, Proj03 ÀÌ°í ¹®¼´Â Documents¶ó´Â µð·ºÅ丮 ¹Ø¿¡ ÇÁ·ÎÁ§Æ® À̸§º°·Î ÇÏÀ§ µð·ºÅ丮¸¦ ¸¸µé¾î¼ °ü¸®Çϱâ·Î Çß½À´Ï´Ù.
¾î¶²½ÄÀ¸·Î ±¸¼ºÇÏ´Â°Ô ÁÁÀ»±î¿ä.¾Æ·¡¿Í °°ÀÌ trunk, branch, tag¸¦ ÃÖ»óÀ§ µð·ºÅ丮·Î ÇÏ°í ±× ¾Æ·¡¿¡ ÇÁ·ÎÁ§Æ®¸¦ µÎ´Â ¹æ¹ýÀÌ ÀÖÀ» °Ì´Ï´Ù.
¹Ý´ë·Î ÇÁ·ÎÁ§Æ®¸¦ ÃÖ»ó´Ü¿¡ µÎ°í, ÇÁ·ÎÁ§Æ® º°·Î trunk, branch, tag¸¦ µÑ ¼öµµ ÀÖ½À´Ï´Ù.
¼ºÇâ¿¡ µû¶ó¼ È£ºÒÈ£°¡ °¥¸± °Í °°±äÇÕ´Ï´Ù¸¸, ÇÁ·ÎÁ§Æ® À̸§À» Á¦ÀÏ À§·Î »©´Â°Ô ´«¿¡ Á» Àßµé¾î¿Ã °Í °°½À´Ï´Ù.
|
|
|||||||||||
|
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù. |
|