ããŒãžã§ã³ç®¡çã·ã¹ãã ãåããŠç¥ã£ãã®ã¯åŠæ ¡ã«æ»ã£ããšãã§ãã ããã¯Subversionã§ããã ãã®æã圌ã®åŒ·ããšèœåã«éåžžã«æéãåããŸããã ããããæéãçµã¡ãŸããã ãã¡ã€ã«ããã£ã¬ã¯ããªãªã©ã®ååãå€æŽããã®ã¯ããŸã楜ããç¬éã§ã¯ãããŸããã§ããïŒã¯ããé·ãã©ã€ãsvn 1.5ã1.6ããã³ãã®æ°žé ã®ãã©ã«ã.svnïŒã ãããŠãããæ¥ãããŒãžã§ã³ç®¡çã·ã¹ãã ã®å€æŽã«ã€ããŠèããŠããªãã£ããããã¹ãŠãåãæµãã§ç¶ããŠããã§ãããã ãã¹ãŠãäºæ³å€ã«çŽ æ©ãèµ·ãããMercurialãç§ã®ç®ã®åã«çŸããŸããã ãã®æ©èœã«ã€ããŠèªã¿ãçµéšè±å¯ãªãã³ããæ±ããªããã°ãªããŸããã§ããããä»ã§ã¯ååãæ°ããããŒã«ã®åäœãšåäœãç解ããã®ãå©ããŸããã Hgãç¥ãããã«ãªãã°ãªãã»ã©ãããã奜ãã«ãªããããããããŒãžã§ã³ç®¡çãžã®åæ£åã¢ãããŒãã奜ãã«ãªããŸããããSubversionã¯å¿
ç¶çã«èæ¯ã«æ¶ããŠãããŸããã
ããããæ°ããè·å Žã§åã³Subversionãæãåºããªããã°ãªããŸããã§ããããççŽã«èšã£ãŠãç§ã¯å¹žãã«ãªããŸããã§ããã 幞ããªããšã«ãããã¯äŒç€Ÿã®ç¡æ¡ä»¶ã®ããªã·ãŒã§ã¯ãªããç¹ã«äžéšã®åŸæ¥å¡ãGitãéžæããŠæ£åžžã«äœæ¥ããŠããããšãèãããšã代æ¿æ段ãæäŸããããšã¯éåžžã«å¯èœã§ãã ãããã£ãŠãå°ããªããšã¯ãåæ£åããŒãžã§ã³ç®¡çã·ã¹ãã ïŒGitãŸãã¯MercurialïŒã䜿çšããå©ç¹ãæ確ã«ç€ºãããšã§ãããå人çãªçµéšãããHgã«ã€ããŠè©±ãããšã«ããŸããã å®éããã®èšäºã¯ãããŒãžã§ã³ç®¡çã·ã¹ãã ã®æ¯èŒãšå€æŽãç®çãšããŠãç§ãä¿æããŠããã©ãŠã³ãããŒãã«ã®èŠçŽã§ãã
ã©ã®ããŒãžã§ã³ç®¡çã·ã¹ãã ãåªããŠãããã«ã€ããŠã¯å€ãã®æèŠããããŸãã ãã¡ãããããããã®æèŠã«ã¯è³åŠäž¡è«ããããŸãã ãã ããå°ãªããšãæãåçŽãªã·ããªãªãèããŠã¿ãŸãããã2人以äžããããžã§ã¯ãã«åãçµãã§ããããããžã§ã¯ããããã«ãµããŒããšéçºãå¿
èŠãšããå ŽåïŒããšãã°ãã©ã€ãã©ãªãšããŠïŒãsvnã«ä¿åãããšãMercurialã«ä¿åãããããã¯ããã«é¢åã§ã
Mercurialãä»ã®æ©èœãšåºå¥ããç¹å®ã®æ©èœã«ç§»ããŸãããã
1. svn commitãšã¯ç°ãªããhg pushã³ãã³ãã䜿çšãããšããããžã§ã¯ãå
ã®äœããå€æŽããŠãµãŒããŒã«ãããã®å€æŽãã³ããããããã©ãããåžžã«ç¢ºèªã§ããŸãã
svn commit-ããŒã«ã«ã®å€æŽããªã¢ãŒããµãŒããŒã«éä¿¡ããã³ãã³ãã ããã¯ååçã«èµ·ãããŸãã ãã ããå€æŽããããã¡ã€ã«ã®åºã«ãªã£ãŠããããŒãžã§ã³ããªã¢ãŒããµãŒããŒäžã®æåŸã§ã¯ãªãå Žåã«ã®ã¿å€±æããŸãã ã€ãŸãããã£ã¬ã¯ããªã«a.txtãšb.txtãšãã2ã€ã®ãã¡ã€ã«ããããb.txtã®ã¿ãå€æŽããPetyaã®ã¿ãa.txtãã¡ã€ã«ã«å€æŽããå Žåãcommitã³ãã³ãã¯æ£åžžã«å®äºããsvn updateã³ãã³ããå®è¡ããªããã°ïŒãã¹ãŠã®ãã¡ã€ã«ãæŽæ°ããŸãïŒææ°ããŒãžã§ã³ãžã®ãã£ã¬ã¯ããªïŒãããªãã¯ããã«ã€ããŠç¥ããŸããã Svnã¯ããããžã§ã¯ããã©ã«ããŒããã®ã³ãããïŒããã³ãã§ãã¯ã¢ãŠãïŒããµããŒãããŠããŸãã ãã®ããããããã©ã«ããŒã§ã³ãããããå Žåãå¥ã®ãã©ã«ããŒã§ã®å€æŽã«ã€ããŠã¯ããããŸããã
hg push-hg commitã³ãã³ãã§ä»¥åã«è¡ãããäžé£ã®å€æŽãéä¿¡ããããã®ã³ãã³ãã æåŸã®ã³ãã³ãã¯ããªããžããªã®çŸåšã®ç¶æ
ããã£ããã£ããŸãããå®å
šã«ããŒã«ã«ã§å®è¡ããŸãã hg pushã³ãã³ããå®è¡ãããå Žåã«ã®ã¿ãå€æŽããªã¢ãŒããµãŒããŒã«éä¿¡ãããŸãã ããã¯å€æŽã転éããããã®ã³ãã³ãã§ããããããªããžããªå
šäœã«å®å
šã«æ¡åŒµãããŸãã ãããã£ãŠããã®ã³ãã³ãã䜿çšãããšããªããžããªã®ç¶æ
å
šäœãå®å
šã«èšé²ãããŸãã ãããŠã誰ããããªãã®åã«ããã·ã¥ããããšãã§ããå Žåããã®ç¶æ³ã¯ã¯ããŒããŒãšããŠæ±ãããããã©ã«ãã§ã¯ãhg pushã¯å€±æããããªãã®ã¢ã¯ã·ã§ã³ã¯ãªã¢ãŒãã¹ãã¬ãŒãžã«æ°ããããããäœããšèšããŸãã
å®å
šãæãããã«ãé ãå®çŸ©ããŸãããã ããã¯ãããèªäœããã®ãã©ã³ãã®ä»ã®ãªããžã§ã³ã®èŠªã§ã¯ãªããªããžã§ã³ã§ãã ããªããã-1ã€ã®ãã©ã³ãã«è€æ°ã®ããããããç¶æ³ã
誰ããå
ãè¡ã£ããšãã®ç¶æ³ã«æ»ããŸãããã ãšã©ãŒãè¿ãããããhg pullã³ãã³ããå®è¡ããå¿
èŠããããŸããããã«ãããäžè¶³ããŠãããã¹ãŠã®ãªããžã§ã³ãããŒã«ã«ã¹ãã¬ãŒãžã«ãã«ãããŸãã ç¹°ãè¿ããŸããããã®ã¢ã¯ã·ã§ã³ããã¡ã€ã«ã«åœ±é¿ãäžããããšã¯ãããŸããã ãããã®ã©ããå€æŽãããŸããã ãã®ã³ãã³ãã¯ããŸã æã£ãŠããªãå€æŽã®ãªã¹ããå±¥æŽã«è¿œå ããã ãã§ãã ãããã£ãŠããªããžããªå
ã®çŸåšã®ç¶æ³ãèŠèŠåãããšãå€ãã®ãããã圢æãããŠããããšãããããŸãã ããŒã«ã«ã¹ãã¬ãŒãžã®å€é¢äœã¯æããªãã çµå±ã®ãšãããç§ãã¡èªèº«ããããäœããŸããã ãªã¢ãŒãã¹ãã¬ãŒãžã§åãç¶æ³ãäœæãã誰ãã圌ã説åŸããããšãã§ããã°ãã¯ããã«å±éºã§ãã ãã®äººã¯ãã©ã®ããŒãžã§ã³ãæãé¢é£æ§ããããã©ã®ããã«äœæ¥ããããç解ã§ããªããªããŸãã 圌ã¯èµ°ãå§ããæ²é³Žãäžããããããã¹ãŠè€éãããŠç解ã§ããªããšcurããŸãã ãããã£ãŠãçŸåšã®ç¶æ
ã§ããã·ã¥ããããšã¯çµ¶å¯Ÿã«ããªãã§ãã ããïŒMercurialã§ã¯ãhg push --forceã³ãã³ãã䜿çšããŠã®ã¿ãããè¡ãããšãã§ããŸãã ãããã£ãŠã2ã€ã®ç®æšã®ããŒãžãå®è¡ããMercurialãå®å
šã«ãªã¢ãŒããµãŒããŒã«ã¢ããããŒãã§ããç®æšãååŸããå¿
èŠããããŸãã
ãããŠããªããããéèŠãªã®ãã äœããã®çç±ã§å¥ã®éçºè
ãäžè¬çãªã³ã³ããŒãã³ãïŒããžãã¯ãã€ã³ã¿ãŒãã§ã€ã¹ããŸãã¯ãã®ä»ïŒãå€æŽããããã«ã€ããŠç¥ããªãã£ãå Žåãsvnã®å Žåããªã¢ãŒããªããžããªã«èª€ã£ãã³ãŒããŸãã¯ã³ã³ãã€ã«ãããŠããªãã³ãŒãããå«ãŸããŠããå¯èœæ§ããããŸãã åæã«ãæåã®ãã®ãããªæšªæ£ã¯éåžžã«è¿
éã«æ€åºã§ããŸãïŒããã§ããæã
svn updateãè¡ããã³ã³ãã€ã«ãéå§ããŸãããïŒïŒãããããå¥ã®æšªæ£ã®çºèŠã¯ãã¹ãã«ãã©ãã°ã§ããŸãã Mercurialã®ããžãã¯ã«ãããå€æŽã«ã€ããŠããã«åŠç¿ããããŒãžã§ãã¹ãŠã®ãã§ãã¯ãäžåºŠã«å®è¡ã§ããŸãã ãã¡ãããäœæ¥ãšäžŠè¡ããŠå€æŽããããã®ã«é¢å¿ããªãã£ãå Žåãsvnãšåãç¶æ³ã«ãªããªã¹ã¯ããããŸããã1ã€ã®éãããããŸã-æåã®å Žåã¯ããã«ã€ããŠãç¥ããã2çªç®ã«åŸç¹ããŸãã
人ãsvn commitã³ãã³ãã®åã«svn updateã³ãã³ããäœæãããã³ãŒãããã§ãã¯ããªãå Žåã圌ã¯æ眪ã§ãããããã«ãã©ã¹ã¯ãªããšäž»åŒµããããšãã§ããŸãããããã¯ééã£ãæèŠã§ãã svnã®äžé£ã®æŽæ°/ã³ãããã³ãã³ãã¯ã¢ãããã¯ã§ã¯ãããŸãããhgpushã¯ã¢ãããã¯æäœã§ãããããã«ãã人çã倧å¹
ã«ç°¡çŽ åãããŸãã
2. pullãmergeã³ãã³ãã䜿çšãããšãsvn updateãšã¯ç°ãªãããªã¢ãŒããµãŒããŒãžã®è»¢éã管çããŠããªãç¶æ
ã倱ãããšã¯ãããŸããã
ããã«ã€ããŠã¯ãã§ã«èšåããŸãã-ãã«ã䜿çšãããšããã¡ã€ã«ãå€æŽããã«ãå±¥æŽã«å¯Ÿãã以åã¯äžæãªäžé£ã®å€æŽãååŸã§ããŸãã ãŸããMercurialã®ããŒãžã¯ããŒã«ã«ããã³ããŒã«ã«ãªããžã§ã³ã§è¡ãããããããããã®ãªããžã§ã³ã¯ã©ãã«ã倱ãããŸããã å¿
èŠã«å¿ããŠããã€ã§ãããŒãžçµæãåé€ããŠå床å®è¡ãããããã¹ãŠã®ãã«/ããŒãžã®åã«ãã£ããªââããžããªã®ããŒãžã§ã³ã«å®å
šã«ããŒã«ããã¯ã§ããŸãã SVNã§ã¯ãããã¯éçŸå®çã§ãã äœæ¥ã³ããŒããsvn updateãå®è¡ãããšãå€æŽãããŠããªããæ°ãããèªåçã«é£ç¶ãããã¡ã€ã«ã競åãã¡ã€ã«ãããã³å€æŽããéåžžã®ãã¡ã€ã«ã®å¯ãéããã§ããŸãã ãã®å Žåãsvn update以åã®ç¶æ
ããªããžããªã«æ»ãããšã¯ã§ããŸããã ãŸããã
3.å¥ã®å°ããªãã³-Mercurialã®ãªããžããªã®ä»»æã®ããŒãžã§ã³ã«æ°ç§ã§ããŒã«ããã¯ããŸãã å¯äžã®å¶éã¯ãããŒã«ã«ã³ããŒãã¯ãªãŒã³ã§ããå¿
èŠãããããšã§ãïŒã³ããããããŠããªãå€æŽã¯ãããŸããïŒã ããã¯ãhg updateã䜿çšããŠç®çã®ãªããžã§ã³ãæå®ããŠå®è¡ã§ããŸãã åæã«ããã¹ãŠã®å±¥æŽãããŒã«ã«ã«ããããããªã¢ãŒããµãŒããŒã«æ¥ç¶ããå¿
èŠã¯ãããŸããã svnã§ã¯ãããã¯ãªã¢ãŒããµãŒããŒã§ã®ã¿ãç®çã®ãªããžã§ã³ã§ãªããžããªãå床ããŠã³ããŒãããããšã«ãã£ãŠã®ã¿å®è¡ã§ããŸãã
4.ã¢ããªã±ãŒã·ã§ã³ã§äœããç·æ¥ã«è¡ãå¿
èŠãããããšããããããŸãã ããšãã°ã圌ãã¯ããªãã«é§ãã€ããŠæ¥ãŠãç·æ¥ã«ãã«ããååŸããããšæã£ãŠããŸãïŒç§ã¯ã¢ãã€ã«éçºã«æºãã£ãŠããã®ã§ããã«ããµãŒããŒããããŸãããããã¯èµ·ãããŸãïŒã ãããŠãããªãã¯ããçš®ã®çŽ æŽãããæ©èœãã«ããããŠããã®ã§ãããªãã®ãããžã§ã¯ãã¯å®å
šã«å°ç¡ãã«ãããŠããŸãã SVNã§ã¯ãæåŸã®ãªããžã§ã³ãããã¹ãŠã®çš®é¡ãããŠã³ããŒãããããã³ãŒããå€å°åäœããç¶æ
ã«ããŒã«ããã¯ããããä»ã¯ã§ããªããšèšãå¿
èŠããããŸãã ãã¹ãŠã®ãªãã·ã§ã³ã¯ãŸããŸãã§ãéåžžã¯ããªãæéãããããŸãã åæ£åããŒãžã§ã³ç®¡çã·ã¹ãã ã§ã¯ãããŒã«ã«ã³ããããè¡ã£ãŠãããäœæ¥ããŒãžã§ã³ã®ã³ãŒãã«ããŒã«ããã¯ããŠãããžã§ã¯ãããã«ãã§ããŸãã ãã®å Žåããã®åŸã¯ãæ··ä¹±ããåã®ãªããžããªã®ç¶æ
ã«æ£ç¢ºã«æ»ããŸãïŒ
5.å¥ã®äžè¬çãªçºçã¯ãã©ã€ãã©ãªãããžã§ã¯ãã®éçºã§ãã ãããŠãé·ãéæžãããŠããŠãå€éšsvnã«ãã£ãŠæ¥ç¶ãããã©ã€ãã©ãªã䜿çšãããããžã§ã¯ãããã«ãããããã«äºæããã«èŠæ±ãããå Žåã倧ããªåé¡ãçºçããå¯èœæ§ããããŸãã å€ãã©ã€ãã©ãªã䜿çšããŠãããããåã«ã¢ã»ã³ãã«ãããŠããªãå¯èœæ§ããããŸããå€ãã©ã€ãã©ãªã䜿çšããŠãæžãæããåæ§ç¯ãªã©ãè¡ãããšãã§ããŸããã å¯äžã®è§£æ±ºçã¯ããã®ãããžã§ã¯ããæ©èœãããªããžã§ã³ãæ¢ããã©ã€ãã©ãªãã³ããŒã¢ã³ãããŒã¹ãããããšã§ãã ãã®ãããªå¯èœæ§ã®å¯èœæ§ã¯æéã®å¢å ãšãšãã«ææ°é¢æ°çã«æžå°ãããããæ°ããããŒãžã§ã³ã®ã©ã€ãã©ãªããµããŒãããããã®å°ããªãããžã§ã¯ãå®äºãªãã·ã§ã³ã¯èæ
®ããŠããŸããã Mercurialã«ã¯ãµããªããžããªã®æŠå¿µããããŸããããã¯ããªããžããªèªäœã ãã§ãªãããã®ç¹å®ã®ããŒãžã§ã³ãæããŸãã ãããã£ãŠããããžã§ã¯ããåäœããŠããã©ã€ãã©ãªã®ããŒãžã§ã³ãåžžã«ææ¡ããŠããããã®å€æŽãæããããšã¯ã§ããŸããã
6. hgã§ãã§ã«ãã©ã³ãã«ã€ããŠèšåããŸããã svnã§ãã©ã³ããã©ã®ããã«å®è£
ãããŠããããæãåºããŠãã ããã ãããã¯ããªããžããªã®å®å
šãªã³ããŒãå«ãåãªããã©ã«ããŒã§ãã ããŒãžã§ã³1.5以éããã®ãããªãã¡ã€ã«ã®å±¥æŽã衚瀺ãããŸããããããã¯ãŸã ãã©ã«ããŒãšãã¡ã€ã«ã«ãããŸããã ãããã䜿çšããã«ã¯ãåœåãšã³ã³ãã³ãã«é¢ããç¹å¥ãªèŠåãé å®ããå¿
èŠããããŸãã Mercurialã§ã¯ããã©ã³ãã¯ãªããžããªã®ååä»ãç¶æ
ãšãã®å€æŽã§ãã ãŸãããã©ã³ãã§äœæ¥ããå Žåããã¹ãŠãåããã©ã³ãã§äœæ¥ããå ŽåãšãŸã£ããåãã§ãã ã¯ããã«ç°¡åã§ãã
7.ãã€ã³ã6ãšåæ§ã«ãã¿ã°ã«ã€ããŠè©±ãããšãã§ããŸãã
8.æåŸã«ãã³ãããã®å±¥æŽã«ã€ããŠè¿°ã¹ãããšæããŸãã svnã§çŽç²ã«åçŽã§ãããå®éã«ã¯10ã§ã¯ãªããªããžã§ã³2ã«åºã¥ããŠããŠã3ãã10ã§äœãèµ·ãã£ãŠããã®ãããããªãã£ããšèšãããšã¯äžå¯èœã§ãããã ããã³ãããã¯11ã§ãªããã°ãªããŸãããããŒãžã§ã³2ãªããžããªã§äœæ¥ãããªããžã§ã³10ã§ã³ããã3ãè¡ãããã®åŸã§ã®ã¿å€æŽ3ãè¡ã£ãããšã確èªããŸãããã®ãããªããŒã¿ã¯ãéèŠãªã€ãã³ãã远跡ããå Žåã«éèŠã§ãã
èšäºããŸãšãããšãç§ã¯Mercurialã䜿ã£ãŠããéãã£ãšããã®çæã«ååãä»ããããšãã§ããªãããšã«æ³šæããããšæããŸãã äžéšã¯é床ã«åé¡ããããäžéšã¯ãµãŒããŒãžã®å€æŽãã³ãããããcommit / pushã³ãã³ãã®è€éãã«èµ·å ããŸãã ç§ã«ãšã£ãŠã¯ãé床ã®ç¹å¥ãªé
ãã«æ°ã¥ããªãã£ãã®ã§ããã¯åé¡ã§ã¯ãããŸããïŒãã¡ããããªããžããªã®å·šå€§ãªãµã€ãºããããŸãããããããã¯äººçã®å°ããªãã®ã§ãïŒããããŠ2çªç®ã¯ç¿æ
£ã®åé¡ã§ãã
äžè¬ã«ããªã¹ããããŠããMercurialã®å©ç¹ã®äžéšã¯ãä»ã®åæ£åããŒãžã§ã³ç®¡çã·ã¹ãã ã«ç§»è¡ã§ããŸãã ãããŠãã®èšäºã§ã¯ãç§èªèº«ãçµéšããäŸãšããŠãMercurialã«åºã¥ããŠããã®ãããªã·ã¹ãã ã䜿çšããäž»ãªå©ç¹ããã¹ãŠåéããããšæããŸãã ããªããéžæã®èŠçãçµéšããªããã°ãªããªããªãã°ãç§ã¯ãã®èšäºã圹ã«ç«ã€ããšãæã¿ãŸãã
psæåŸã«ãGitã«åãæ¿ããããšã«ããŸãã=ïŒ