Eric Sinkã«ãã翻蚳-DVCSããã³DAGïŒ ããŒã1ããã³ããŒã2 ïŒãã泚æ 翻蚳è
ïŒãã®èšäºã§ã¯ãå
ã®è±èªã®ç¥èªDVCSããã³DAGã䜿çšããŠãåæ£ããŒãžã§ã³ç®¡çã·ã¹ãã ïŒDVCSïŒããã³æåéå·¡åã°ã©ãïŒæåéå·¡åã°ã©ã-DAGïŒãåç
§ããŸããããŒã1
人ã
ã«ã¯2ã€ã®ã«ããŽãªããããŸãã
- ãã¹ãŠã2ã€ã®ã«ããŽãªã«åå²ããããšããŠãã人ã
- ããªã人ã
ç§ã¯æåã®äžäººã§ãã :-)
ããŒãžã§ã³ç®¡çã·ã¹ãã ã«ã¯2ã€ã®ã«ããŽãªããããŸãã
- æŽå²ãã©ã€ã³ã§ãããã®ã
- å±¥æŽãæ¹åæ§é埪ç°ã°ã©ãïŒDAGïŒã§ãããã®ã
åŸæ¥ã®ããŒã«ïŒSubversionãVaultãªã©ïŒã¯ãLinesã®ãããªæŽå²ã«åŒãå¯ããããŸãã DVCSïŒGitãMercurialãªã©ïŒã§ã¯ãå±¥æŽã¯DAGã§ãã 2ã€ã®ã¢ãã«ã®éãã¯éåžžã«èå³æ·±ãã§ãã
ç·åœ¢ã¢ãã«ããã¹ããããæ©èœããŠããŸãã å±¥æŽã¯ã次ã
ãšç¶ãäžé£ã®ããŒãžã§ã³ã§ãã
æ°ããããŒãžã§ã³ãäœæããã«ã¯ã次ã®ãã®ãå¿
èŠã§ãã
- ææ°ããŒãžã§ã³ãå
¥æããŠãã ããã
- å€æŽãå ããŸãã
- è¡ãããå€æŽãã³ãããããŸãã
人ã
ã¯ãã®ã·ã³ãã«ãããç·åœ¢ã¢ãã«ãæããŠããŸãã ã©ã®ããŒãžã§ã³ãææ°ã§ããããšãã質åã«å¯Ÿããæ£ç¢ºãªçããæäŸããŸãã
ããããç·åœ¢ã¢ãã«ã«ã¯1ã€ã®å€§ããªåé¡ããããŸããææ°ããŒãžã§ã³ã«åºã¥ããŠããå Žåã®ã¿ãæ°ããããŒãžã§ã³ãäœæã§ããŸãã ãããŠããã°ãã°æ¬¡ã®ããšãèµ·ãããŸãã
- ãªããžããªããææ°ããŒãžã§ã³ãååŸããŸãã åãåã£ãæç¹ã§ã¯ãããŒãžã§ã³3ã§ããã
- ããã§å€æŽãå ããŸãã
- ãããè¡ã£ãŠããéã«ã誰ããããŒãžã§ã³4ãäœæããŠããŸãã
- å€æŽãã³ããããããšããçŸåšã®ããŒãžã§ã³ã«åºã¥ããŠããªãããããããè¡ãããšã¯ã§ããŸããã å€æŽã®ãããŒã¹ãã¯ããŒãžã§ã³3ã§ãããã¯äœæ¥ãéå§ããæç¹ã§é¢é£ããããŸããã
ã¹ããŒãªãŒã®ç·åœ¢ã¢ãã«ã§ã¯ãå³ã«ç€ºãããã«ããŒãžã§ã³5ãäœæã§ããŸããã 代ããã«ã3çªç®ãã4çªç®ã®ããŒãžã§ã³ã«å ããããå€æŽã匷å¶çã«ååŸããããããèªåã®ããŒãžã§ã³ã«ãããŒãžãããŸãã
æãããªè³ªåã¯ã3çªç®ã«åºã¥ããŠ5çªç®ã®ããŒãžã§ã³ã®ä¿®æ£ãèš±å¯ãããšã©ããªããŸããïŒ ç§ãã¡ã®ç©èªã¯ã©ã€ã³ã§ã¯ãªããªããŸãã ãããŠãDAGã«å€ãããŸãã
ãªããããè¡ãå¿
èŠãããã®ã§ããïŒ
DAGã¢ãã«ã®äž»ãªå©ç¹ã¯ãéçºè
ãäœæ¥ã®çµæãä¿®æ£ããããšããŠãããšãã«éçºè
ãäžæãããªãããšã§ãã ãã®ç¹ã«é¢ããŠãDAGã¯ãããããåæéçºãå®è·µããŠããããŒã ã§å®éã«èµ·ãã£ãŠããããšãããæ£ç¢ºã«åæ ãããã®ã§ãïŒ
ããã§ã¯ããåæéçºããšããçšèªã®éåžžã«æ£ç¢ºã§ã¯ãªã翻蚳ã䜿çšãããŸããåãã³ãŒãã§é »ç¹ã«ç«¶åãã-çŽ ã ããŒãžã§ã³5ã¯3rdã«ãã£ãŠèšç«ãããã®ã§ããªããã®äºå®ãåæ ããªãã®ã§ããããïŒ
確ãã«ããããè¡ããªãçç±ãããããšãããããŸãã ãã®åã§ã¯ãã©ã®ããŒãžã§ã³ããææ°ãã§ãããã¯ããããŸããã ãããŠãããã¯å€ãã®åé¡ã«ã€ãªãããŸãïŒ
- ãªãªãŒã¹ãªãªãŒã¹ã®ããã«ããŒãžã§ã³4ããã³5ã§ã®å€æŽãå¿
èŠã ãšããŸãã çŸæç¹ã§ã¯ãããååŸã§ããŸããã ã·ã¹ãã ã«ã¯ãäž¡æ¹ã®å€æŽã»ãããå«ãããŒãžã§ã³ã¯ãããŸããã
- ãã«ãã·ã¹ãã ã¯ãææ°ããŒãžã§ã³ãèªåçã«ãã«ãããããã«æ§æãããŠããŸãã ãã®ç¶æ³ã§åœŒå¥³ã¯äœããã¹ãã§ããããïŒ
- 4çªç®ãš5çªç®ã®äž¡æ¹ã®ããŒãžã§ã³ãåéããå Žåã§ãããã¹ãã®ããã«QAã«éä¿¡ããå¿
èŠãããã®ã¯ã©ãã§ããïŒ
- éçºè
ãèªåã®ããªãŒãææ°ããŒãžã§ã³ã«æŽæ°ãããå Žåãã©ã¡ããåªå
ãã¹ãã§ããïŒ
- éçºè
ãããã€ãã®å€æŽãè¡ãå Žåãã©ã®ããŒãžã§ã³ãåºç€ãšããŠäœ¿çšããå¿
èŠããããŸããïŒ
- ãããžã§ã¯ããããŒãžã£ãŒã¯ãã©ã®ã¿ã¹ã¯ãå®äºããã©ãã ãã®äœæ¥ãæ®ã£ãŠããããç¥ããããšèããŠããŸãã ãå®äºãã«å¯Ÿãã圌ã®ç解ã¯ããæåŸãã®æŠå¿µãšéåžžã«å¯æ¥ã«é¢é£ããŠããŸãã ã©ã®ããŒãžã§ã³ãææ°ãããããªãå Žåãã¬ã³ããã£ãŒããæŽæ°ããããšããŠè³ã溶ããŸãã
ã¯ããããã¯æ²ããåçã§ãã ç§ãã¡ãç¥ã£ãŠããããã«ãäžçã¯æåéãç§ãã¡ã®ç®ã®åã§åŽ©å£ããŠããŸãã
ç¶ç¶çãªéå£ãã¹ããªãŒã®ç¶æ
ã§ç¬ãšç«ã®å
±åãé¿ããããã«ãæŽå²ã®DAGã¢ãã«ã䜿çšããããŒã«ã¯ãæ··ä¹±ã解決ããã®ã«åœ¹ç«ã€ãã¹ãŠã®ããšãè¡ã£ãŠããŸãã çãã¯ç·åœ¢ã¢ãã«ãšåãã§ãã
ããŒãžãå¿
èŠã§ãã ãã ããå€æŽãã³ãããããåã«éçºè
ã«ããŒãžãèŠæ±ãã代ããã«ãåŸã§ãã®ããŒãžãå®è¡ã§ããŸãã
ããŒãžã§ã³4ããã³5ã§è¡ããããã¹ãŠã®å€æŽãå«ãããŒãžã§ã³ãäœæããå¿
èŠããããŸãããã®ããŒãžã§ã³ãä¿®æ£ããããšãäž¡æ¹ã®ã芪ããæãç¢å°ãå«ãŸããŸãã
泚æã埩å
ãããŸããã ããäžåºŠãã©ã®ããŒãžã§ã³ããæåŸãã§ããããããããŸãã ãããŒãžã£ãŒãåèµ·åããå¿
èŠãããããšã誰ããèŠããŠããå Žåã圌ã¯ãã®ã°ã©ããã»ãšãã©ç·ã®ããã«èŠããããšã«ããã«æ°ä»ãã§ãããã ãããŠãããŒãžã§ã³3ãš6ã®éã§äžå¯è§£ã§åããã«ããããšãèµ·ãã£ãããšãé€ããŠã
ããã Lineã§ãã ãããããããŒãžã£ãŒã«ãšã£ãŠæåã®ããšã¯ãããã«ã€ããŠããŸãå¿é
ããªãããšã§ãã
ãã®ãããŒãžã£ãŒãç¥ããªãããšã¯ããã®ç¹å®ã®å±æ©ã¯äºçŽ°ãªããšã ãšããããšã§ãã 圌ã¯å€ããã©ãã€ã ã¯å®å
šã«ç Žå£ããããšèããŠããŸããããã€ããªãã£ã¹ã«æ¥ãŠãããèŠã€ããã§ãããïŒ
ïŒ@ïŒïŒ
ãããŠä»äœïŒ
ç·åœ¢ã¢ãã«å
ã«äœãã§ããå Žåããã®ã°ã©ãã¯çµ¶å¯Ÿçãªæªå€¢ã§ãã 圌ã«ã¯4ã€ã®ã¿ãŒããã«ããŒãããããŸãã äžèšã®ãããŒãžã£ãŒãå«ããã©ã®ããŒãžã§ã³ãææ°ã§ããããç解ããå¿
èŠããããã¹ãŠã®ãã®ã¯å€±æããéåœã«ãããŸãã
ç·åœ¢ã¢ãã«ã¯ããã®ãããªç¬éã«éåžžã«é
åçã«èŠããŸãã ãããŠãããã¯ã99.44ïŒ
ã®éçºè
ãç·åœ¢å±¥æŽã¢ãã«ã«åºã¥ããSCMããŒã«ã䜿çšããŠãããšããäºå®ã®æ£åœãªçç±ã§ãïŒããããããã®çµ±èšãçºæããŸããïŒã
ãããããã®æãããªæ··ä¹±ã«ãããããããDAGã¢ãã«ã®äž»ãªå©ç¹ãæãåºããªããã°ãªããŸãããããã¯ãããã°ã©ããŒã®ä»äºã«ãããå®éã®ä»äºã®ã³ãŒã¹ãããæ£ç¢ºã«èšè¿°ãããã®ã§ãã ç·åœ¢ã¢ãã«ã®ããã«ãéçºè
ãæã¿ã©ããã«æ²ããããšã匷å¶ããŸããã éçºè
ãäœããä¿®æ£ãããå Žåããããè¡ããŸãã ãããŠãDAGã¯å®éã«èµ·ãã£ãããšãæ£ç¢ºã«èšé²ããŸãã
å€ãã®ããŒã ã¯åžžã«ç·åœ¢ã¢ãã«ã奜ã¿ãŸãã ãããŠãããã¯äœãæªãããšã§ã¯ãããŸããã ãã®ã¢ãããŒãã«ãããç掻ã楜ã«ãªããŸãã
ãã ããä»ã®äžéšã®ããŒã ã«ãšã£ãŠã¯ãDAGã¢ãã«ã¯éåžžã«äŸ¿å©ã§ãã ãŸããäžéšã®ããŒã ã«ãšã£ãŠã¯ãäžè¬çã«ãè² è·ãããããããšãã§ããŸãã ä»ã®çç±ã§DVCSã䜿çšããå¿
èŠãããããã§ãã DVCSããŒã«ã¯éžæè¢ããªããããDAGã¢ãã«ã䜿çšããŸãã äžå€®ãµãŒããŒãšã®æ°žç¶çãªæ¥ç¶ãæ³å®ã§ããªãå Žåãä»ã®æ¹æ³ã¯ãªããéçºè
ã«ãã¹ãŠã®äœæ¥ãç·åœ¢ã¢ãã«ã«é©åãããããšã¯ã§ããŸããã
ãããã£ãŠãDAGã管çããæ¹æ³ãèŠã€ããå¿
èŠããããŸãã ãããŠãç§ãã¡ã¯äœãããŸããïŒ
1ã€ã®ãªãã·ã§ã³ã¯ãåæäœãåæ§ç¯ããããšã§ãã å»åž«ã«ãææ°ããŒãžã§ã³ãå€æããå¿
èŠãçãããšããããã¯æ¬åœã®æ·åã§ãããšäŒãããšãå»åž«ã¯ãããããããªãã§ãã ããããšèšãã§ãããã 代ããã«ã䜿çšããããŒããåžžã«æ£ç¢ºã«æå®ããŸãã
- ãã«ãã·ã¹ãã ã¯æåŸã®ããŒããçµã¿ç«ãŠãŸããã 代ããã«ã圌女ã¯ç§ãã¡ãèŠãããã®ãæ£ç¢ºã«åéããŸãã ãŸãã¯ã圌女ã¯ãã¹ãŠã®ããŒããåéããŸãã
- QAã¯ã誰ãããã¹ãããå¿
èŠããããšèãããã«ãããã¹ãããŸãã
- éçºè
ã¯ãããªãŒããæåŸãã«æŽæ°ããŸããã 代ããã«ãã°ã©ããèŠãŠãããŒããéžæããŠæŽæ°ããŸãã
ãã®ã¢ãããŒããé©åã§ãããšèšã£ãŠããã®ã§ã¯ãããŸããã ç§ã¯åœŒã
çè«çã«æ£ããããšã«æ³šæãããã ãã§ãã 䜿çšããæ£ç¢ºãªããŒããæå®ã§ããéãããããã®åæäœãå®è¡ã§ããŸãã
ããããããŒããã©ã®ããã«æå®ããŸããïŒ ãã®ã¢ãããŒããåé¡ã«ããŠããç¶æ³ã®1ã€ã¯ããããã®ããŒãããã°ãã°è€éãªååãæã£ãŠããããšã§ãã ããšãã°ãGitã§ã¯ããã¹ãåã¯e69de29bb2d1d6434b8b29ae775ad8c2e48c5391ã®ããã«ãªããŸãã éçºè
ã¯ããã®åœåæ¹æ³ã¯ããŸãçŽæçã§ã¯ãªããšæããŠããŸãã
ãã¹ãŠã®DVCSããŒã«ã¯DAGã䜿çšããŸãã ãããŠããããã¯ãã¹ãŠããè€æ°ç«¯æ«ããŒãã®å±æ©ããé²ãããããŸãã¯ããŒã ãããã«å¯ŸåŠããã®ãå©ããããã«ãå€ãã®ç°ãªãããšãè¡ããŸãã ãããã圌ãã¯çãç¬èªã®æ¹æ³ã§ãããå°ãè¡ããŸãã
幞ããªããšã«ãããã«ããããã¹ãŠã2ã€ã®ã°ã«ãŒãã«åãã䟿å©ãªæ©äŒãåŸãããŸãã
- ç§ã奜ããªæ¹æ³ã§ãã®åé¡ã解決ãã人ã
- ãããŠãç§ã奜ãã§ã¯ãªãæ¹æ³ã§ãã®åé¡ã解決ãã人ãã¡ã
ããŒã2
ãã®èšäºã®æåã®éšåã§ã¯ã2çš®é¡ã®æ³šç®ã«å€ããã¬ãã¥ãŒãåãåããŸããïŒ
å
ã®èšäºã®èè
ã§ããEric Sinkã¯ã1é±éã®æéå·®ã§2éšã«åããŠå
¬éããŸããã ïŒ
- æ°äººã®äººã
ãç§ã«ææãäžç¢ºå®æ§ãç念ãåºãããšéé£ããŸããïŒ åäœã§ã¯ãèè
ã¯å
±éã®FUDã¹ã©ã³ã°ã®ç¥èª-Fear Uncertainly and Doubtã䜿çšããŠããŸãã圌ã¯DAGã¢ãã«ã®åé¡ã«èšåããæåéããDAGã¢ãã«ãçã®æ²»çæ³ã§ãããå°çæž©æåãæ¢ããäžæ±ã«å¹³åãšéãããããããããšãã§ãããšè¿°ã¹ãããšããäžæ©é¢ããŸããã
- äžéšã®äººã
ã¯ããã®ãããªã¯ãŒã«ãªãã£ãŒããã©ã®ããã«æããã®ããšå°ããŸããã
第äºéšãå§ããåã«ããããã®ã¬ãã¥ãŒã®äž¡æ¹ã«ç°¡åã«çããããŠãã ããã
DVCSã®é²è¡ã«ãããç§ã®çã
ã¯ããç§ã®äŒç€ŸïŒ
SourceGear ã-ãããPerã ïŒ
㯠ãå±¥æŽã®ç·åœ¢ã¢ãã«ã«åºã¥ããŠããŒãžã§ã³ç®¡çã·ã¹ãã ïŒVaultïŒãéçºããŠããŸãã ãããã£ãŠãDVCSã¯ãããçšåºŠãç§ã®è£œåã®çŽæ¥ã®ç«¶åçžæã§ãã
ç§ã¯å€ãã®èŠåã«éåããŠããããšãããç¥ã£ãŠããŸãã
- ç§ã®ãããªããžãã¹ã³ãã¥ããã£ã®ä»£è¡šè
ã¯ã競åä»ç€Ÿã«ã€ããŠè¯ãããšãèšãã¹ãã§ã¯ãããŸããã
- ç§ãã¡ã®ä»äºã¯ãå€åãæãããã®æããä»ã®äººã«åºããããšã§ãã
- ç§ãã¡ã¯ãã©ã®éžæè¢ã«ãå¯äœçšãããããšãç¥ããªããµããããŠãã©ã®ãããªç¶æ³ã§ãéžæè¢ãåªããŠãããšäž»åŒµããã¯ãã§ãã
ç§ã®æ¯ã¯ç§ããã€ãèŠåãããŸãå®ã£ãŠããªãããšãç°¡åã«ç¢ºèªããŸã:-)
ãã®ãããã¯ãé¢çœããšæãã ãã§ãã ç§ã¯ããŒãžã§ã³ç®¡çæ¥çã§10幎以äžåããŠããŸãã ãã®ããŒãã«é¢ããæ¬ãæžããŠããŸãã ãããç§ããã£ãŠããããšã§ãã ããã«ç§ãèå³ãæã£ãŠããããšããããŸãã
å®éã«ã
ããããè³æ¬å®¶ã®åéè
ãšããŠã®ç§ä»¥äžã®ãã®ããããŸãã
Gitãã¡ã³ã®çãããå°ãå·ããå¿
èŠããããŸããçå£ã«ãGitã®ç±å¿ãªæè·è
ã¯ããã®äžçãå±
äœäžå¯èœã«ããŸãã Gitã¯æ¬åœã«çŽ æŽãããããšã§ãããããã¯äŸå€ãªããã¹ãŠã®ç¶æ³ã§æ£ããéžæã§ã¯ãªããšããããšã§ãã
圌ãã®åŒè·ã§ã¯ããã®åé¡ã§ãªã³ãŽããªã³ãŽã®æšã®è¿ãã«èœã¡ãããšãèªããªããã°ãªããŸããã 人ã
ãDVCSã«èå³ãæã€ããã«ãªããšãæåã«åºããããã®ã®1ã€ã¯ãGitã«é¢ãã2007 Linus Torvaldsãã¬ãŒã³ããŒã·ã§ã³ã®
ãããªã§ã ã ãããŠããã«ã¯ããããç解ããŠããªãããã§ãã
ã¿ããªãSubversionã¯ããããçŸæç¹ã§äžçã§æã人æ°ã®ããããŒãžã§ã³ç®¡çããŒã«ã§ãã çŸåšãããŒãžã§ã³ç®¡çã·ã¹ãã ã䜿çšããã»ãšãã©ãã¹ãŠã®äººããå±¥æŽã®ç·åœ¢ã¢ãã«ã«åºã¥ãããã®ã䜿çšããŠããŸãã ãããŠã圌ãã¯ãããã®ããŒã«ãå¹æçãã€çç£çã«äœ¿çšããŠããŸãã 誰ãããã®ã¢ãã«ã®é©åæ§ãèªããããšãæåŠãããšãã圌ãã¯æãã«èŠããã
ããŒãã«ãºã®ãããªã¯å€§ããªãã¡ãŒãžãäžããŸããã ãã®ç«å Žã¯ãããŒãžã§ã³ç®¡çã®äžçã®æ°æ©èœã«èå³ããã人ã«ãšã£ãŠã¯å€§ããªå€±æã§ãã
ãããã£ãŠãç§ã®èŠªæãªãGitã®ãã¡ã³ãããªãã人ã
ã«DVCSã®äœ¿çšãèŠåãã圌ããçŸåšã®ã¢ãããŒããå€ããªãããšã確å®ã«ããããªããããªãã¯åãããæ¹ã§ç¶ããããšãã§ããããªãã¯çŽ æŽãããããšãããŠããã
ããããGitãåæ§ã®ããŒã«ã®å©ç¹ãäžçã«èŠãŠãããããå Žåã¯ãç»å Žåã«äººã
ãçç£çã«ä»äºãããããšãç解ããŠãã ããã
ãããã®ã¯ãŒã«ãªãã£ãŒãã«é¢ããç§ã®çã
ãããã®åçã¯ãSourceGearã®ã€ã©ã¹ãã¬ãŒã¿ãŒJohn Woolleyã«ãã£ãŠæãããŸãããJohnWoolleyã¯
ã挫ç»æ¬Evil Mastermindã®ã€ã©ã¹ãããã¹ãŠäœæããŸããã ãžã§ã³ã¯ããœãŒã¹ã³ãŒã管çã«é¢ããä»åŸã®æ¬ã®èšèšäœæ¥ãšã€ã©ã¹ãã®ãã¹ãŠãè¡ã£ãŠããŸãã
ããã«ããããããããžã§ã³ã®åçã¯ç§ã®ãåã®èšèããããã¯ããã«ç§°è³ãåããã®ã§ãç§ã¯æã£ãŠãèšäºã®ç¬¬2éšã«åœŒã®ã€ã©ã¹ããå«ããããšãæåŠããŸããã :-)
ã°ã©ãã«ã€ããŠããå°ã話ããŸããã
æåã®éšåã§è¿°ã¹ãããã«ãDAGãã³ã³ãããŒã«ãªãã§æé·ããããšãèš±å¯ãããå Žåããã¹ãŠãçã®æ··ä¹±ã«å€ããå¯èœæ§ããããŸãã DAGã¯ç°¡åã«äœæã§ããŸãã ç·ã¯äœ¿ããããã§ãã DAGã¢ãã«ãæ倧éã«äœ¿çšããŠãã®å©ç¹ãæ倧éã«æŽ»çšãå§ãããšããã«ã次ã«èµ·ããããšã¯ã©ã€ã³ãæ»ãããšã§ãã
ãã®ãããã©ã®DVCSã«ããDAGã®æé·ã管çããããããããã«äœ¿çšã§ããæ©äŒããããŸãã ãããã®æ©èœã¯ãéçºè
ãå€æŽãã³ãããããã®ãé²ããæ°ãããã©ã³ããã€ã³ããäœæãããã³ã«çããè€éãã«å¯Ÿãã責任ãåé¿ããããã«èæ¡ãããŸããã
èšãæããã°ãåDVCSã«ã¯ãéçºè
ãã°ã©ãã®æçãååŸããŠç·ãšããŠæ±ãããšãã§ããæ©èœãå«ãŸããŠããŸãã
Git
Gitã¯ãååä»ããã©ã³ãããµããŒãããããšã§DAGã®æé·ãå¶åŸ¡ããŸãã ã芪ãããšã³ãããŒãïŒããªãŒããïŒã§ãªãå Žåãå€æŽãã³ãããããæ©äŒã奪ãããŸãã
ãããã£ãŠãGit checkoutã³ãã³ãã䜿çšããŠãªããžããªã®äœæ¥ã³ããŒãéã¿ãŒããã«ããŒãã«æŽæ°ãããšãGitã¯äžå¯§ã«å¯Ÿå¿ããŠãããŸãã
eric $ git checkout 9542b
泚ïŒããŒã«ã«ãã©ã³ãã§ã¯ãªãã9542bãã«ç§»å
ãã®ãã§ãã¯ã¢ãŠãããæ°ãããã©ã³ããäœæããå Žåã¯ãäœæã§ããŸã
ïŒçŸåšãŸãã¯åŸã§ïŒcheckoutã³ãã³ãã§-bãå床䜿çšããŸãã äŸïŒ
git checkout -b
HEADã¯çŸåš9542b5fã§ã...åæ
åžžã«ãšã³ãããŒãã®ã¿ã«åºã¥ãå€æŽãã³ãããããå Žåãã¹ããŒãªãŒã¯ã©ã€ã³ã«éåžžã«äŒŒããŸãŸã«ãªããŸãã
ããŒãã¥ãªã¢ã«
æŽå²çã«ãMercurialã¯ãªããžããªããšã«1ã€ã®ãã©ã³ãã®ã¿ããµããŒããããšèª¬æãããŠããŸããã Gitãšã®æ¯èŒã¯ãå€ãã®å Žåãåããªããžããªå
ã§ã®åå²ãµããŒãã®æ¬ åŠãšããæãããªæ¬ é¥ã«çŠç¹ãåœãŠãŸããïŒ
ããã§ã翻蚳ã¯å
ã®ããã¹ãã«å¯Ÿå¿ããŠããŸãããããã¯ãèè
ãèšäºãžã®ã³ã¡ã³ãã«çŽMercurialã§ãã®é åã«ããã€ãã®æ©èœãè¿œå ããããšèããã®ã§ãéå»åœ¢ã§è©±ããŠããŸãã
ããã§Mercurialã«èšåããã®ã¯ã圌ã®ãã¡ã³ãèã«çœ®ããŠããŸããªãããã§ãã ãã®ã·ã¹ãã ã§ã®å¹
åºãçµéšã®ããç«å Žãã話ãããšã¯ã§ããŸããã
ãããããã«ãããããããç§ã¯èŠç¹ã®ç¢ºèªãšããŠMercurialã«èšåããããšãå¯èœã§ãããšèããŠããŸããåæïŒå°ãªããšãïŒããŒãžã§ã³ã§ã¯ãMercurialã¯ã°ã©ãã®æé·ãå¶åŸ¡ããåå²ãé²ããŸããã ããã«ãããã¯éåžžã«äœ¿ããããããŒã«ãšããŠã®Mercurialã®äžè¬çãªèªèã«è²¢ç®ããŸããã
ãã¶ãŒã«
ãã®ããŒã«ã¯ãç§ãæããã䜿çšããDVCSã§ãããããã§ãç§ã¯ãŸã èªåããšãã¹ããŒããšèŠãªãããšã¯ã§ããŸããã ç§ã®çµéšã§ã¯ãç§ã¯BazaarãDAGã®æé·ãå¶åŸ¡ããããã«æžåœã«åãã·ã¹ãã ãšããŠç¹åŸŽã¥ããã§ãããã
ããŒã«ã«ãªããžããªããäžå€®ãµãŒããŒã«å€æŽãéä¿¡ããããšãããã³ã«ãBazaarã§ã¯ãšã³ãããŒãããã®ä»ã®å€æŽãšããŒãžããå¿
èŠããããŸãã ç·åœ¢ã¢ãã«ãæã€ã·ã¹ãã ãšãŸã£ããåãã§ãã
ããããããããçŽ æŽãããããšã§ãããBazaarã¯ç§ã«æ¬åœã®DVCSã®ãããªäžå€®ãµãŒããŒã䜿ããªãæ©äŒãäžããŠãããŸãã ãã ãããã®ã¢ãŒãã§ã¯ãåãéèŠãªå¶éãé©çšãããŸãããªããžããªã®æçµããŒãã«åºã¥ããŠããªãå€æŽã¯ã³ãããã§ããŸããã
Bazaarã䜿çšãããšããç·åœ¢ã¢ãã«ãåããããŒã«ã䜿çšããŠããããã«æããŸãã
ç§ã®å¥œã¿
ãã®ç¹ã§ããã®åé¡ã解決ããããã®Gitã®ã¢ãããŒãã¯ç§ã«æãè¿ãã§ãã
Bazaarã¯ãDAGåå²ããªããžããªã®åå¥ã®ã€ã³ã¹ã¿ã³ã¹ã§çºçããå Žåã«ã®ã¿èš±å¯ããããããªããžããªããå¥ã®ãªããžããªã«å€æŽã転éããåã«è§£æ±ºããå¿
èŠããããšä¿¡ããŠããããã§ãã
Gitããªããžããªã®ããŒã«ã«ã³ããŒãgit checkoutãã¡ã€ã«åã§åãæ¿ããæ©èœãæ°ã«å
¥ã£ãŠããŸãã ç§ã¯ãDAGã®çµ¶ãéãªãæèã«æ
£ããŠããªã人ã«ãšã£ãŠããã®å¯èœæ§ã¯ç解ã§ããªãããã«èŠããããšãç解ããŠããŸãã ããããç§ã¯åœŒå¥³ã奜ãã§ãã
ç§ã¯ãŸã SubversionãVaultãªã©ã®ç·åœ¢ã¢ãã«ããŒã«ã奜ãã§ããããšã«æ³šæããŠãã ããã DAGã¢ãã«ãåããããŒã«ã¯ãåæ§ã®æ¹æ³ã§åäœããå¿
èŠããããšèšãããã ãã§ãã
åç³
æè¿ç§ãæãèå³ãåŒããDVCSã¯
Fossilã§ãã
SQLiteã®äœæè
ã§ããD. Richard Hippã«ãã£ãŠæžãããŸããã
Fossilã«ã¯å€ãã®èå³æ·±ãæ©èœããããŸãã æãéèŠãªã®ã¯ããã°è¿œè·¡ã®çµã¿èŸŒã¿ãµããŒãã§ãã ããã¯ãä»ã®ãã¹ãŠã®DVCSãå£ã£ãŠããé åã§ãã åæ£ããŒãžã§ã³ç®¡çãæäŸããŸãããéçºè
ããã°ãã©ãã«ãŒã®æ
å ±ãæŽæ°ãããšããæ¥ããšãäžçã¯åã³äžå€®éæš©åãããŸãã
ãããã«ãããFossilã詳ãã調ã¹å§ããã°ããã§ãããåå²ã®åé¡ããã®Webãµã€ãã§ã©ã®ããã«èª¬æãããŠããããæ°ã«å
¥ã£ãŠããŸãã
ããªãŒã«è€æ°ã®ç«¯æ«ããŒããããããšã¯éåžžæãŸãããªããããå³2ã®ããã«åå²ã¯éåžžå®å
šã«åé¿ãããŸãã 1ããŸãã¯å³1ã®ããã«ããã«åé€ãããŸãã 3ïŒ åç³ã®ãŠã§ããµã€ãã§ã¯ãªãããã®èšäºã®æ°åãæå³ããŸã-çŽPerã ïŒã ãã ããè€æ°ã®ãšã³ãããŒããå¿
èŠãªå ŽåããããŸãã ããšãã°ããããžã§ã¯ãã«ã¯ã補åã®éçºããŒãžã§ã³ã®ææ°ããŒãžã§ã³ãè¡šã1ã€ã®ãšã³ãããŒããšãæåŸã®ãå®å®ãããïŒãã¹ãæžã¿ïŒããŒãžã§ã³ã®2çªç®ã®ããŒããå«ããããšãã§ããŸãã è€æ°ã®ã¿ãŒããã«ããŒããé©åãªå Žåãåå²ã§ã¯ãªãåå²ãšåŒã³ãŸãã ïŒ è±èªã®çšèªbranchãšforkã®éããæããããšã¯éèŠã§ããèè
ã¯ãçšèªbranchïŒbranchïŒã®è¯å®çãªæå³ãšãããçšåºŠãforkïŒforkïŒã®åŠå®çãªæ§è³ªã匷調ããããšãæãã§ããŸã ã
çŽ æŽãããã ãã®çµæãFossilã¯ãã®ç¹ã§Gitãšåæ§ã«æ©èœãããšããå°è±¡ãåããŸããã DAGãåå²ãããšãè€éããå¢ããŸãã