ãããã€
Habrã¢ãŒã«ã€ããæ€çŽ¢ãããšãããPerforce Helixã«ã€ããŠã¯ã»ãšãã©äœãæžãããŠããããRuNetã«
ã¯VSã®æ¡åŒµãš
å€ãè±èªã®èšäºDear PerforceïŒfcuk youã®ç¿»èš³ ã«é¢ããã¬ãã¥ãŒèšäºãããã
ãŸãã ã åæã«ã䜿çšãããŠããããŒãžã§ã³ç®¡çã·ã¹ãã
ã«é¢ããèšäºãžã®ã³ã¡ã³ãã§ãPerforceãããèšåãããŠããã®ã§ãPerforce Helixæ©èœã«é¢ããæŠèŠèšäºãããã€ãå
¬éããããšæããŸããã
å
責äºé
ïŒç§ã¯ããã®éçºè
ã§ã¯ãªãã®ã§ãå®éã®è£œåã§Helixã䜿çšããŸããã§ããã ãã®èšäºãæžãããã«ãç§
ã¯20人ã®ãŠãŒã¶ãŒåãã®ç¡æçã§ãã
ããã¥ã¡ã³ããŒã·ã§ã³ã䜿çšãããŸãå°ããªãªãŒãã³ãœãŒã¹ãããžã§ã¯ããéçºããéã«
çåŸã®äžéšãHelixã䜿çšããããšãææ¡ããŸããã ãã®èšäºãšåŸç¶ã®èšäºã®ç®çã¯ããã©ãããã©ãŒã ã«é¢ããæ
å ±æºãšãªãããšã§ãã®ã§ãã³ã¡ã³ãã«ãåå ãã ããã
çšèªãç解ããŸã
PerforceãHelixãp4ãp4d-Perforce SoftwareïŒä»¥äžãPerforceïŒã20幎以äžã«ããã£ãŠè¡ã£ãŠããããšã®ååãããã€ãèŠã€ããããšãã§ããŸãã ãã®æ®µèœã§ã¯ãPerforceïŒä»æ¥ïŒããã®ãããžã§ã¯ã管ççšãã©ãããã©ãŒã ã®ã³ã³ããŒãã³ãã®ååã§çŸç¶ãä¿®æ£ããããšæããŸãã
p4dïŒHelix Versioning EngineïŒ-ããŒãžã§ã³ç®¡ççšã®Perforceãšã³ãžã³ã
p4-p4dãæäœããããã®CLIã
p4v-p4dãæäœããããã®GUIã¯ã©ã€ã¢ã³ãã
Helixã¯ã以äžãå«ãPerforceã®åäžãã©ãããã©ãŒã ã§ãã
1-ããŒãžã§ã³ç®¡ççšã®ã³ã³ããŒãã³ãïŒp4dãp4ãp4vãIDââEããäœæ¥ããããã®ãã©ã°ã€ã³ïŒã
2-ã³ãŒãã¬ãã¥ãŒçšã®Helix Swarmã³ã³ããŒãã³ãã
3-å®äºããäœæ¥ããããžã§ã¯ãã®ã¹ããŒã¿ã¹ãããŒã ã®ããã©ãŒãã³ã¹ããã°ä¿®æ£ã®åæã®ããã®Helix Insightsã³ã³ããŒãã³ãã
4-GitLabã«åºã¥ãGitSwarmã³ã³ããŒãã³ããSwarmãšçµã¿åãããŠéåžžã®gitã¯ãŒã¯ãããŒã§äœæ¥ããp4dã掻çšã§ããŸãã
Helixã«ã¯ã¯ã©ã€ã¢ã³ããµãŒããŒã¢ãŒããã¯ãã£ãããã次ã®ãã®ã§æ§æãããŠããŸãã
-ãŠãŒã¶ãŒã«ãªããžããªïŒHelixã®çšèªã§ã¯ããïŒãæäŸãããã¡ã€ã«ã®æäœã«é¢ããæ
å ±ããšã³ãžã³æ§æããŠãŒã¶ãŒã¢ã¯ãã£ããã£ãã°ãªã©ã®ããŒã¿ããŒã¹ããµããŒãããp4dãšã³ãžã³ãåãããµãŒããŒ
-p4ãp4vãIDââEããäœæ¥ããããã®ãã©ã°ã€ã³ã
以äžã«ãHelixã¯ãŒã¯ãããŒãå®çŸ©ããæŠå¿µããã§ã³ãžãªã¹ããã·ã§ã«ããã¹ããªãŒã ããžã§ããã©ãã«ã«ã€ããŠèª¬æããŸãã
ãã§ã³ãžãªã¹ãã®æ£

ãªããžããªãžã®éä¿¡ã¯ããã§ã³ãžãªã¹ãã®çªå·ä»ãã®å€ã«ãã£ãŠäžæã«æ±ºå®ãããŸãã ãã§ã³ãžãªã¹ãã«ã¯ãå°ãªããšã1ã€ã®ãã¡ã€ã«ã«å¯Ÿããå€æŽãå«ãŸããŠããå¿
èŠããããæ°åã®ãã¡ã€ã«ã«å¯Ÿããå€æŽãå«ãŸããŠããå ŽåããããŸãã ããã§ã¯ãã©ã³ã¶ã¯ã·ã§ã³ãä¿èšŒãããŠããããã10åã®ãã¡ã€ã«ãžã®å€æŽã®éä¿¡äžã«p4dãšã¯ã©ã€ã¢ã³ãéã®æ¥ç¶ãåæãããå Žåãå€æŽã¯ãªããžããªã«ç§»åããŸããã åãã¡ã€ã«ã®çŸåšã®ããŒãžã§ã³ã«ãçªå·ãä»ããããå€æŽã®ãã³ã«å¢åãããŸãã

éä¿¡ããåã«ã¬ãã¥ãŒã«å€æŽãéä¿¡ããå Žåã¯ãã·ã§ã«ãã³ã°æ©èœã䜿çšã§ããŸããããã«ãããå€æŽããããã¡ã€ã«ã®ã³ããŒãäžæå
±æãªããžããªïŒshelveã®ãã·ã§ã«ããïŒã«éä¿¡ã§ããŸãã
ã¹ããªãŒã
ã¹ããªãŒã ã¯Helixã®ãã©ã³ãã§ããéãã¯ãã¹ããªãŒã ã¢ãã«ã«ã¯ãã¹ããªãŒã ãæäœããéã®ã¢ã¯ã·ã§ã³ã®å¯èœæ§ãšã·ãŒã±ã³ã¹ã«é¢ããæ
å ±ãå«ãŸããŠããããšã§ãã
ã¹ããªãŒã ãäœæãããšãããã®ã¿ã€ããé¢é£ãã¡ã€ã«ãããã³èŠªã¹ããªãŒã ã決å®ããŸãã ã¹ããªãŒã ãåãæ¿ãããšãã¯ãŒã¯ã¹ããŒã¹ã®ã¹ã©ã€ã¹ãèªåçã«å€æŽãããŸãã
ããªãã¿ã®åå²ã¢ãã«ãèŠãŠã¿ãŸããããããã®äžã§åå²ãæäœããããžãã¯ã衚瀺ããŸãã

æ©èœãéçºããããã«ãã©ã³ããäœæããããšããŸãïŒãããžã§ã¯ãYïŒã æ£åžžã«éçºããã³ãã¹ããããåŸããã®æ©èœããããžã§ã¯ãã«å®è£
ããå¿
èŠããããŸãã ãã ããæ©èœã®éçºäžã«MainlineïŒãã¹ã¿ãŒãã©ã³ãïŒãå€æŽããããããããŒãžããåã«ãProject YãMainlineã®çŸåšã®å€æŽãšäžèŽããŠããããšã確èªããå¿
èŠããããŸãã
p4vã«ã¯ããã®æ
å ±ã衚瀺ãã䟿å©ãªããŒã«ãå«ãŸããŠããŸãã

ããå®å®ããã¹ããªãŒã ã¯ã¡ã€ã³ã©ã€ã³ããé«ããäžå®å®ãªã¹ããªãŒã ã¯äœããªããŸãã
Helixã®çšèªã«ã¯ã2çš®é¡ã®åå²æäœããããŸãã
1-ããŒãžããŠã³ã
2-ã³ããŒã¢ããã
ã¹ããªãŒã ã®æäœã®åºæ¬ååïŒå®å®æ§ã®äœãã¹ããªãŒã Bã§è¡ãããå€æŽãå®å®æ§ã®é«ãAã«è¿œå ããåã«ïŒã³ããŒã¢ããBãAïŒãå®å®æ§ã®é«ãã¹ããªãŒã Aã®ãã¹ãŠã®å€æŽãå®å®æ§ã®äœãBã«è¿œå ããå¿
èŠããããŸãïŒããŒãžããŠã³ïŒ AãBïŒã

次ã®ã¢ã€ã³ã³ã¯ãå€æŽã芪ã¹ããªãŒã ã«ã³ããŒããåã«ã芪ã¹ããªãŒã ããæŽæ°ããå¿
èŠãããããšãæå³ããŸãã
ã¹ããªãŒã ã䜿çšãããšåå²ãèªååãããŸããã誰ãã䜿ãæ
£ãããã©ã³ãã䜿çšã§ããŸãã
ãžã§ããã©ãã«
ãã§ã³ãžãªã¹ããšã¹ããªãŒã ã®äœ¿çšã«å ããŠãHelixã«ã¯äœæ¥ãæŽçããããã®è¿œå ã®æ¹æ³ãå«ãŸããŠããŸãã
1-ãžã§ãã¯ãã§ã³ãžãªã¹ãã«æ·»ä»ããããã°ã«é¢ããäœæ¥ã®ã¹ããŒã¿ã¹ã衚瀺ããŸãã ãµãŒãããŒãã£ã®ãã°ãã©ãã«ãŒãšç°¡åã«çµ±åã§ãã管çè
ãèšå®ããŸããäœæè
ãšäŸåãã°ã衚瀺ã§ããã ãã§ãªããä»ã®ãã£ãŒã«ããè¿œå ã§ããŸãã
2-ã©ãã«ã¯ãã¡ã€ã«ãªããžã§ã³ã«é¢é£ä»ããããŠãããã©ãã«ãã°ã«ãŒãã«ãŸãšããããšãã§ããŸãã ãã§ã³ãžãªã¹ãã1ã€ã®ãªããžã§ã³ã®ãã¡ã€ã«ã®ãªã¹ããå®çŸ©ããŠããå ŽåãããŒãã¯ç°ãªããªããžã§ã³ã®ãã¡ã€ã«ã®ã°ã«ãŒãã«å±ããããšãã§ããŸãã ãªãªãŒã¹ããã«ãã®æåã«é¢é£ããŠãã¡ã€ã«ãçµåããããéèŠãªãããžã§ã¯ãã³ã³ããŒãã³ããããŒã¯ãããããå Žåãªã©ã«åœ¹ç«ã¡ãŸãã

Helixã®ã³ã³ããŒãã³ããšæ©èœã®äžéš
Helixã¯ã倧èŠæš¡ãããžã§ã¯ãããã³åæ£ããŒã åãã«ç¹å¥ã«èšèšããããããŒçŽã®å°çšããŒãé貚ã§ããããããã®ããã«å¿
èŠãªå€ãã®æ©èœãšãµããŒããããæ©èœãåããŠããŸãã
æè»ãªHelixãµãŒããŒã®æ§æã¡ã«ããºã
æ°žé ã®å¥çŽïŒã¹ã±ãŒã©ããªãã£ã埩å
åãããã©ãŒãã³ã¹ïŒãæºãããããHelixã¯ããŸããŸãªãµãŒããŒæ§æããµããŒãããŠããŸãã
-æ¥ç¶ãã£ãã«ã®åž¯åå¹
ãå¶éãããŠããå Žåã
ãããã·ã䜿çšãããŸãã ãããã·ã¯ãåã
ã®ãã¡ã€ã«ãžã®é »ç¹ãªãããã远跡ããããšã«ããããµãŒããŒãžã®çŽæ¥ã®ãããæ°ãæžããããããã¯ãŒã¯ãã©ãã£ãã¯ã®ãã©ã³ã¹ãåããŸãã

-
ãµãŒããŒãããŒã«ãŒã¯ãã¯ã©ã€ã¢ã³ãããªã·ãŒã䜿çšããŠãçä¿¡åŒã³åºãã®è² è·ãåæ£ããŸãã
-
ãµãŒããŒã¬ããªã«ã¯ãã¡ã€ã³ãµãŒããŒã®æãããããªïŒãŸãã¯ãã¹ãŠã®ïŒããŒã¿ããã©ãŒãªã³ã°ããŸãã
ãµãŒããŒã®ã¿ã€ãã¯ãã®æ§æã«ãã£ãŠæ±ºå®ããã管çè
ãæ§æã§ããŸãã ãµãŒããŒãæè»ã«æ§æã§ãããããç¹ã«ããŒã ã®ããŒãºã«åãããŠãµãŒããŒã匷åããããšã«ããããšã³ãžã³ã®ããã©ãŒãã³ã¹ãæ倧åã§ããŸãã äŸã¯ãã³ããããšããžã¢ãŒããã¯ãã£ã§ãã

-ã³ããããµãŒããŒã¯ãããžã§ã¯ãããŒã¿ãšã¡ã¿ããŒã¿ãä¿åããŸã
-ãšããžãµãŒããŒã¯ãã³ããããµãŒããŒã®ã¬ããªã«ã§ããããããã«ã¢ã¯ã»ã¹ãããŠãŒã¶ãŒã®ã¯ãŒã¯ã¹ããŒã¹ã®ã³ããŒã§ãã ãã®ãããªãµãŒããŒã¯ãèªã¿åãå°çšæäœã®ã¿ãåŠçãããŠãŒã¶ãŒã®ãŠãŒã¶ãŒç©ºéã«ãããã¡ã€ã«ã®ã¿ã®äžæžãæäœãåŠçããŸãã
ãã®ã¢ãŒããã¯ãã£ã«ãããäžå€®ã³ããããµãŒããŒã®è² è·ã軜æžãããããã©ãŒãã³ã¹ãåäžããŸãã
Insights Analytics
Helixã®ã³ã³ããŒãã³ãã®1ã€ã¯ããããžã§ã¯ãã®ã¹ããŒã¿ã¹ãã³ãŒããããŒã ã®ããã©ãŒãã³ã¹ã«é¢ããéèŠãªæ
å ±ã衚瀺ããInsightsããŒã«ã§ãã Insightsã¯ããã®ãããªæ
å ±ãã°ã©ãã£ã«ã«ã«è¡šç€ºããŸãã ã¡ããªãã¯ã¯å®å
šã«ç°ãªããããã«ãAPIã䜿çšããŠã«ã¹ã¿ãã€ãºãããŸãã

éäžåããã³åæ£åãããã¢ãããŒããGitSwarmã®ãµããŒã
Helixã¯äž¡æ¹ã®ãã©ãã€ã ããµããŒãããŠããŸãã
éäžåã®ã¢ãããŒãã®å ŽåããŠãŒã¶ãŒã¯p4dãµãŒããŒã§çŽæ¥äœæ¥ããŸãã ã¯ãŒã¯ã¹ããŒã¹å
ã®ãªããžããªã®ã¹ã©ã€ã¹ã¯ããŠãŒã¶ãŒãæäœã§ãããã¡ã€ã«ãå®çŸ©ããŸãã

ãã¹ãŠãããç¥ãããŠããã®ã§ãè¿œå ã®ã³ã¡ã³ãã¯äžèŠã§ãã åæ£åã¢ãããŒãã§ã¯ãåŸæ¥ã®ååãå°éãããŸãã

Helixã®èå³æ·±ãæ©èœã¯ãã€ããªããã¢ãããŒãã§ãããããŸããŸãªãŠãŒã¶ãŒããµãŒããŒã«çŽæ¥æ¥ç¶ããããç¬èªã®ããŒã«ã«ãµãŒããŒã䜿çšããŠãããã·ã¥ãä»ããŠäžå€®ãªããžããªãšéä¿¡ã§ããããã«ããŸãã
Gitã«æ
£ããŠããããäžèšã®p4dã®å©ç¹ãšæ©èœã掻çšãããéçºè
åãã«ãããã¯ãšã³ããšããŠp4dã䜿çšããGitFusionãµãŒãã¹ãšããŒã ã€ã³ã¿ã©ã¯ã·ã§ã³ããã³ãããžã§ã¯ã管ççšã®Webã€ã³ã¿ãŒãã§ã€ã¹ãå«ãGitSwarmã³ã³ããŒãã³ãããããŸãã

ç§ã®æèŠã§ã¯ãããã¯æ¬åœã«ã¯ãŒã«ã§ããå¥ã®ããŒãé貚ãžã®åãæ¿ãã¯åžžã«èŠçãªããã»ã¹ã§ãããHelixã䜿çšãããšããšã³ãžã³ãä»ããŠãã¹ãŠã®æäœãå®è¡ããªããããã¹ãŠã®ãæ°ã«å
¥ãã®gitãç¶æã§ããŸãã
ãã®éšåã®èŠçŽ
ãã®ããããã®ããŒãã§ã¯ãHelixã·ã¹ãã ã®ã³ã³ããŒãã³ãã®æŠèŠã説æããã¯ãŒã¯ãããŒp4dãå®çŸ©ããæŠå¿µã瀺ããã·ã¹ãã ã®æ©èœã®äžéšã«ã€ããŠèª¬æããŸãã
ãã®ããŒãã§è¡šçŸãããã£ãäž»ãªã¢ã€ãã¢ã¯æ¬¡ã®ãšããã§ããPerforceã«ã¯ãã¹ã±ãŒã©ãã«ã§ãã©ãŒã«ããã¬ã©ã³ããªéåžžã«åŒ·åãªp4dãšã³ãžã³ããããgitã¯ãŒã¯ãããŒãšç°¡åã«çµ±åã§ããŸãããp4ã³ãã³ãã©ã€ã³ãp4vã¯ã©ã€ã¢ã³ãããŸãã¯IDEã®ãã©ã°ã€ã³ã§ãæ©èœããŸãã ãããã£ãŠãGitãä»ããŠäœããæ©èœããªãïŒãŸãã¯é£ããïŒå Žåãp4dã«ç°¡åã«åãæ¿ããããšãã§ããŸãã
ãã©ãããã©ãŒã èªäœã¯éåžžã«æ©èœçã§ãããããå°æ¥ã¯åã³ã³ããŒãã³ããåå¥ã«èŠãŠããããã®äœæ¥ã®åçããã詳现ã«èª¬æããããšæããŸãã
Helixã®çµéšãããèªè
ã«çµéšãå
±æããŠãããããã