èªè ã®çãããããã«ã¡ã¯ïŒ ç§ã®ååã¯ã€ãªã€ã»ã¢ã€ãšãã§ããç§ã¯Badooã§ã»ãŒ7幎éåããŠããŸãã ç§ã®çŸåšã®è·åã¯ãšã³ãžãã¢ãªã³ã°ãã£ã¬ã¯ã¿ãŒå質ä¿èšŒãšåŒã°ããå®éãäŒç€Ÿã§ã¯å€ãã®ããšãè¡ã£ãŠããŸããå質管çããªãªãŒã¹ãšã³ãžãã¢ãªã³ã°ãéçºããã»ã¹ãšæ¹æ³è«ãããã«ã¯æ å ±ã»ãã¥ãªãã£ã§ãã ç§ã®è²¬ä»»ç¯å²å ã«ãã1ã€ã®é åã¯ãã³ãŒãã¬ãã¥ãŒã§ãã ä»æ¥ãç§ãã¡ã®ããã»ã¹ã®æŽå²ãšçµæïŒ ãªãŒãã³ãœãŒã¹ã®codeisokã«ãªã£ã ïŒ ã«ã€ããŠã話ããŸãã
ãã®èšäºã«ã¯æŽå²çãªèª¬æãå«ãŸããŠããŸãããã³ãŒãã¬ãã¥ãŒã®ããã®ããŸããŸãªããŒã«ã®æè¡çãªæ¯èŒã¯ãããŸããã ããã«ãããããããç§ã¯ãã®ãããªããŒã«ã®äŸãæäŸããŸãããããŠããªãã質åã«èå³ããããªããããªãã¯èªåã§ããŒã«ãã€ã³ã¹ããŒã«ããŠæ¯èŒããããšãè©Šã¿ããããããŸããããã€ãŠBadooã§ã³ãŒãã¬ãã¥ãŒã¯ãããŸããã§ããã å®éã«ã å€æŽãããã³ãŒãã«é¢ããæ å ±ã亀æããæåã®è©Šã¿ã¯ãåã«å€æŽãã¡ãŒã«ã«éä¿¡ããããšã§ããã ã¡ãªã¿ã«ãGitã䜿çšãããŸããã§ããã
2011幎ã®å€ãç§ãæåã«å ¥ç€Ÿãããšããã³ãŒãã®ããŒãžã§ã³ãä¿åããããã«SVNã䜿çšãããŸããã 以åã¯ã誰ããCVSã§åããŠããŠãMercurialã«åãæ¿ããè©Šã¿ã1åãã£ããšèšããŸãããã倱æããŸããã ãªã-誰ãèŠããŠããªãã å®éã®ãšãããMercurialãè©ŠããŠã¿ãããšã«ãããšããå¥ã®VCSã«åãæ¿ããå¿ èŠã¯ç¹ã«ãªãã£ãã®ã§ã¯ãªãããšæããŸãã ãã¹ãŠããã¹ãŠã®äººã«é©ããŠããŸãã ãããŠããã¡ãã·ã§ã³ã®ããã«ãã¡ãã·ã§ããã«ãªããŒã«ãå¿ èŠãšãã人ã¯ããŸããã
ãããã«ãããç§ã¯ãããã®æéãèŠã€ããŸããã§ããããããŠããããžã§ã¯ãã®ç§ã®ç¥ãåãã¯SVNãšå¯æ¥ã«é¢é£ããŠããŸãã éçºã¯1ã€ã®ãã©ã³ãïŒãã©ã³ã¯ïŒã§è¡ãããŸããã æã ããµãŒãããŒãã£ã®å®éšçãªäºæãå¥ã®SVNãã©ã³ãã§è¡ããããã®åŸãå ±éã®ãã©ã³ãã§çºçããããšãæžããããã®èŠçãªè©Šã¿ãè¡ãããŸããã é©ãããšã§ã¯ãããŸãããSVNã¯ãã©ã³ãã§ã®äœæ¥ã«æãçæ³çãªãã®ã§ã¯ãããŸããã
äœæ¥ã®æµãã¯æ¬¡ã®ããã«ãªããŸããããã©ã³ã¯ããããååŸããã³ãŒããå€æŽããã³ãããããŸãïŒSVNã¯ãµãŒããŒãžã®ã³ããããããã«å ±éã³ãŒãã«åãå ¥ããŸãïŒã SVNããåãåã£ããªããžã§ã³çªå·ãèŠããŠããã±ããã«æžã蟌ã¿ãŸããããã«ãããã¬ã€ã¢ãŠãã§ã©ã®ã¿ã¹ã¯ã«å ¥ã£ãã®ããæ確ã«ãªããŸãã æããã«ããã±ããã®ãªããžã§ã³çªå·ãæ¬çªãªããžã§ã³ã«èšèŒãããŠããçªå·ãããå°ããå Žåããã®ã¿ã¹ã¯ã®ã³ãŒãã¯ã³ãããã®å±¥æŽã«ãããŸãã
ã³ãããåŸãå€æŽã®ããå·®åãã¡ãŒã«ãäžè¬çãªã¡ãŒãªã³ã°ãªã¹ãã«éä¿¡ãããŸããã ããã«ãããã³ãŒãã®å€æŽã«ç²Ÿéããã人ã¯ãããè¡ãããšãã§ããŸãã åœç¶ãåçåãããã³ãŒãã¬ãã¥ãŒããã»ã¹ã¯ãããŸããã§ããã
Git
ãããžã§ã¯ãã«ã¡ããã©æ¥ãŠãããã»ã¹ã®æ£ããæ§ç¯ã«å€¢äžã«ãªã£ãŠããQAéšéã®è²¬ä»»è ãšããŠããã®ããã«çããããšã¯äžå¯èœã§ããããšãããã«ç§ã«æããã«ãªããŸããã 1ã€ã®ãã©ã³ãã§éçºãããã³ãŒãã¯ãåé¡ããšã©ãŒãåæããã®ãé£ãããã¬ã€ã¢ãŠãããã®ãé£ãããããŒã«ããã¯ã§ããªãã®ã§ãé©åãªãã¹ãã§ã¯å®å šã«å€±æããŸãã
ãããã£ãŠãæåã«è¡ãã¹ãããšã¯ãããšãã«ãã¬ãããåé¢ããããšã§ãã ãã®çµæãGitãžã®åãæ¿ããšæ©èœãã©ã³ãã®ã€ããªãã®ãŒããããããããã®ã¢ãããŒãã®ãã¹ãŠã®ä»éçãªå©ç¹ãåŸãããŸããã 2012幎ã®RIT ++ã§ãã®ç§»è¡ã«ã€ããŠè©³ãã説æããã®ã¯ã Yuri Nasretdinovãšã®ãã¢ã¬ããŒã ã§ã ã
ãã®å Žåãäœããã®æ¹æ³ã§ã¿ã¹ã¯ã®ã³ãŒãã«å ããããå€æŽã远跡ããå¿ èŠããããããã«ãªãªãŒã¹ãã©ã³ãã§è¿œè·¡ããå¿ èŠããããŸããã äœãè¡ãããããããããã¹ãããæ¹æ³ãã¬ã€ã¢ãŠãããæ¹æ³ããšã©ãŒã®åå ãèŠã€ããæ¹æ³ãªã©ãç解ããããã«ã2ã€ã®ããšãè¡ããŸããã
- 圌ãã¯ãã¡ãŒã«ãžã®æçŽã®åœ¢ã§å€æŽãéç¥ãããå€ããã¡ã«ããºã ãæ®ããŸããã ã¡ãªã¿ã«ããã®ã¢ãããŒãã¯ä»ã§ã䜿çšãããŠãããå€ãã®ãšã³ãžãã¢ã䟿å©ã§ããã³ãŒãã®ç¹å®ã®ã»ã¯ã·ã§ã³ãç¹å®ã®ã¿ã¹ã¯ã§ç¹å®ã®äººãè¡ã£ãå€æŽãã¡ãŒã«ã§ãã€ã§ãèŠã€ããããšãã§ããŸãã ä»æ¥Badooã§ã¯ããã®ã¡ã«ããºã ã¯éåžžã®ã³ãŒãã¬ãã¥ãŒããã»ã¹ãšäžŠè¡ããŠæ©èœããŸãã
- ã³ãŒããã¥ãŒã¢ãŒãäžå€®ã®Gitãªããžããªã«ã€ã³ã¹ããŒã«ããŸããããªããžããªå
ã®ãã©ã³ããã³ãããããã¡ã€ã«ãªã©ã確èªã§ããŸãããã¿ã¹ã¯ã³ãŒããäžè¬çãªãªããžããªã«å
¥ããšããã®Webã€ã³ã¿ãŒãã§ã€ã¹ãžã®å€æŽãžã®ãªã³ã¯ãGitããã¯ã«ç»é²ãããããã誰ããèå³ãæã¡ãŸãããªã³ã¯ããã©ã£ãŠå€æŽã確èªã§ããŸãã
ãã®ç¬éãcgitã®ã»ãŒå®å šãªã¯ããŒã³ã§ããGitPHP㯠ããã®ç®çã«æãé©ããããŒã«ã®ããã«æããŸããã ãããã«ãªã€ã³ã¿ãŒãã§ã€ã¹ã«ããå¿ èŠãªãã¹ãŠã®ããšãã§ããããã«ãªããPHPã®ãªãŒãã³ãœãŒã¹ã³ãŒãã«ãããå¿ èŠã«å¿ããŠäœããå€æŽ/è¿œå ã§ããããããã®ããŒã«ãæ°ã«å ¥ããŸããã
æ®å¿µãªãããããŒã«ãã¡ã€ã³http://gitphp.org/㯠ãä»æ¥ã¯æ»ãã§ããŸãã GitHubã®ãªããžããªãåé€ãããŸãã-ã©ããããäœè ã¯ããŒã«ã®éçºãšä¿å®ããã¯ãæãã§ããªãããã§ãã ãããã httpsïŒ//github.com/xiphux/gitphpãèŠããŠãããèè ã§ããChris Hanã«ã¯éåžžã«æè¬ããŠããŸã ã
ç§ãã¡ã¯ãªãŒãã³ãœãŒã¹ãæããå°éããŠããŸããGitPHPã§ã¯ãä»ã®å€ãã®ããŒã«ãšåæ§ã«ãããã€ãã®æ¹åãè¡ããŸããã ããšãã°ã2013幎11æã®ãã®èšäºã§ã¯ãããŒã«ã®é床ãæé©åããæ¹æ³ãšãChris Hanãããããã¡ã€ã³ã³ãŒãã«ã©ã®ããã«åãå ¥ãããã«ã€ããŠè©±ããŸããã
ã³ãŒãã¬ãã¥ãŒ
Gitã«åãæ¿ããŠãããã»ã¹ãã»ããã¢ããããŸããã 次ã¯ïŒ éçºã«ãããå€ãã®äºæã«æŠç¥çã«åœ±é¿ãäžãããã1ã€ã®ãã€ã³ãã¯ãã³ãŒãã¬ãã¥ãŒã§ãã å€ãã®ãã©ã¹ïŒãã€ãã¹ããããŸãããã©ããããããå¥ã®èšäºã§èª¬æããŸãïŒãããããã»ã¹ã¯ãåœç€Ÿã§ã¯æ§ç¯ãããŠããŸããã
ã³ãŒãã¬ãã¥ãŒãæŽçããããã®ããŸããŸãªããŒã«ã®ãã¹ããéå§ãããã©ã€ã¢ã«ã€ã³ã¹ããŒã«ãè¡ããåé¡ã調æ»ããŸããã ãŸããBadooã®ã¡ã€ã³ãªããžããªã®ãã¹ãŠãPHPã³ãŒãã§æŽçãããã¹ãŠãããŸããã£ãå Žåã«ã®ã¿ãäŒç€Ÿå šäœã«é åžããããšèããŸããã
åœæã®ããã»ã¹ãšããŒã«ã«å¯ŸããŠè¡ã£ãæãéèŠãªèŠä»¶ã¯æ¬¡ã®ãšããã§ãã
- 瀟å
ã§ããŒã«ããã¹ãããæ©èœã ç¥çããŠããŠã§ããããã€ãã®éçºããããŸãããåžžèã®èŠ³ç¹ããããœãŒã¹ã³ãŒãããããã¯ãŒã¯ã«æŒããããšã¯æ¬åœã«æãŸãããããŸããã
- ã³ãŒããããã«è¡šç€º/ä¿®æ£/ãã§ãã¯ã§ããããã«ããŸãã ããã«ãã£ãŒãããã¯ããŠãã ããã ããšãã°ãGitHubã®ãã«ãªã¯ãšã¹ãã§è¡ãããããã«ãéçºè
ããã¹ãŠã®æºåãæŽã£ãããšãæ£åŒã«ç€ºããŸã§åŸ
ããªãã§ãã ããã ããã«ã ã³ãŒããäžè¬çãªãªããžããªã«ããã·ã¥ãããšãã« ãå€ãã®åºæ¬çãªãã§ãã¯ãèªåçã«è¡ããŸãã
- å®è£
ããã»ã¹ã¯ééçã§ã¹ã ãŒãºã§ãªããã°ãªããããã§ã«çµç«ã©ã€ã³ã«ããçŸåšã®ã¿ã¹ã¯ã劚ããŠã¯ãªããŸããããããã£ãŠã誰ãç¹å¥ãªå€æŽã«æ°ä»ããªãããã«ããŸãããå¿
èŠã«å¿ããŠäººã
ã¯æ°ããæ©äŒãåŸãŸãã
- Jiraãšã®çµ±åãåœæJiraã¯ãã§ã«ç€Ÿå
ã§åºã䜿çšãããŠããŸããã
ãã®æ®µéã§ããã«ãªã¯ãšã¹ãã®ã€ããªãã®ãŒãšã¯ç°ãªã2ã€ã®æ°ããçšèªã䜿çšããå¿ èŠããããŸãã ããã¯brunchdiffãšbrunchlogã§ãã å®éãããã¯åçŽã«ããŒã¹ãã©ã³ãïŒãã®å Žåã¯ã»ãšãã©ã®å Žåãã¹ã¿ãŒïŒãšã¿ã¹ã¯ãã©ã³ãã®ã³ãŒãã®éãã§ãã Branchdiffã¯ã2ã€ã®ãã©ã³ããããéã®å®å šãªå·®åã§ãã Branchlog-2ã€ã®ãã©ã³ãã®ãããéã®éãã瀺ãã³ãããã®å®å šãªãã°ã ãã©ã³ãã®ãã©ã³ã¯ã³ãããã倧ãããªããšãbranchdiffããã³branchlogã®ã¿ã¹ã¯ã倧ãããªããŸãã
ã²ãªãã
åãé ãç§ãã¡ã€ã³ã®ã³ãŒããªããžããªãšPHPãæŽçããŠãããšããç§ãã¡ã®sishniksã¯ãªããžããªïŒå€ãã®ã³ãŒãããããŸãïŒã§ã³ãŒãã¬ãã¥ãŒãå®æœãã Gerritãè©ŠããŠã¿ãããšã«ããŸããã ãã®èšäºã® Anton Dovgalã¯ããããã©ã®ããã§ãã£ãããã©ã®ããŒã«ããŸã æ€èšãããŠããããã©ã®ãããªåé¡ãæã¿ã解決ã§ãããã«ã€ããŠè©³ããè¿°ã¹ãŸããã
ä»åŸãBerooã§ã¯Gerritã¯çŸåšäœ¿çšãããŠããŸããã ãããããã®æç¹ã§ã¯ãå€æŽã®ã³ãããã«ã€ããŠã®ã¿ã¬ãã¥ãŒãè¡ãããšãã§ãããããä»ã®éšéã«ã¯é©ããŠããŸããã§ããã ã³ãŒãã¯ããã©ã³ãå šäœïŒbranchdiffïŒã®ã³ãŒããã¬ãã¥ãŒã§ããŸããã§ããã æ£çŽã«èšã£ãŠãä»ã§ãããã©ããã¯ããããŸããã ãããã£ãŠãç§ãã¡ã¯äŒç€Ÿå šäœã®ã³ãŒãã¬ãã¥ãŒã®ããŒã«ãšããŠGerritããæåŠããŸããã
Gitlab / GitHub
åœæãããã¯ãªãã£ã¹ã®è²¬ä»»è ã§ããBoris Chernetsovã¯ãã³ãŒãã¬ãã¥ãŒã®ããã®ããŒã«ã®åŠç¿ãæ¯æŽããŸããã Boryaã¯ããŸããŸãªããŒã«ãé 眮ããããããã©ã®ããã«æ©èœãããã瀺ãããããã®ããŒã«ããµããŒãããã¬ãã¥ãŒããã»ã¹ãææ¡ããŸããã
ããããåœæèæ ®ãããããŒã«ã¯ã©ããç§ãã¡ã«é©ããŠããŸããã§ããïŒæšæºçãªãã¬ãŒãºã¯ãããªãèªèº«ã®èªè»¢è»ãçºæããæ£åœãªçç±ã§ãïŒã ç§ãèŠããŠããéããäž»ãªåé¡ã¯æ¬¡ã®ãšããã§ããã
- å€ãã®ããŒã«ã¯ãèªå·±ãã¹ãåãœãªã¥ãŒã·ã§ã³ãæäŸããŸããã§ããã ãããŠãç§ãã¡ã«ãšã£ãŠããã¯åºæ¬çãªèŠä»¶ã®1ã€ã§ããã
- äºååä¿¡ããã¯ããªããããæ€èšŒãé
ããéçºãµã€ã¯ã«ãé·ããªããŸããã ãã¹ãŠã®èªåãã§ãã¯ã¯ããã«ãªã¯ãšã¹ãã®äœæåŸãäºåŸã®ã¿å®è¡ã§ããŸãã ããã¯ãããšãã°GitHubã®ä»çµã¿ã§ããããã¯ææãµãŒãã¹ã§ããããŸãã
- GitLabã¯éåžžã«çã
ãããå€ãã®ãã°ãå«ãŸããŠããŸããããæåã¯æ¬åœã«æ°ã«å
¥ã£ãŠããŸããã 宣èšãããæ©èœã®å€ãã¯æ©èœããŸããã§ããã ä»æ¥ãç§ãç¥ãéãã圌ãã¯ãã£ãšå
ãè¡ãããããžã§ã¯ããããŸãéçºããŸããã
Gitoriousãªã©ã®ããŒã«ãããã«èª¿ã¹ãŸããããGitLabã«æ¯ã¹ãŠãæ©èœãã¯ããã«å£ã£ãŠããŠãå¿ èŠãªæ©èœã®å€ããæäŸããŠããŸããã§ããã
ã³ãŒãã¬ãã¥ãŒçšã®GitPHP
èŠã€ããããŒã«ã«äžæºãæããŠããç§ãã¡ã¯ããŸã£ããç°ãªãæ¹æ³ãæ¡çšããããšã«ããŸããã ç§ãã¡ã«100ïŒ é©ããããŒã«ã¯ãªããGitPHPã³ãŒãã®ç·šéã¯ããã»ã©é£ããäœæ¥ã§ã¯ãªãã®ã§ãGitPHPã§ã³ãŒããã³ã¡ã³ãããããã®æãç°¡åãªã¡ã«ããºã ãäœã£ãŠã¿ãŸãããïŒ ç¹ã«ããµãŒããŒã«ã³ãŒããä¿åããå¿ èŠãããä»ã®ãã¹ãŠã®ãã®ãã¢ã¯ã»ã¹å¶åŸ¡Gitosis ããã±ãããžã®ãã€ã³ãããã©ã³ããžã®å€æŽã®è¡šç€ºãªã©ã¯ãã§ã«ååšããŸãã
圌ãã¯ããã決ããŸããã
æåã®ããŒãžã§ã³ãäœæããã®ã«æéãããããŸããã§ããã Nikolay Krapivnyã¯ã Atlassian Crowdãä»ããŠæ¿èªãè¡ãã®ãå©ããæ°æ¥ã§ã³ãŒãè¡ãã³ã¡ã³ãã¢ãŠãããæãç°¡åãªåœ¢åŒãæäŸããŸããã ãããŠããããã©ãã»ã©äŸ¿å©ã§äŸ¿å©ãªã®ããç解ããŸããïŒãã±ããã®ãªã³ã¯ïŒèª°ããæ £ããŠãã以åã«ãã£ããªââã³ã¯ïŒãã¯ãªãã¯ãããšãã³ãŒãã«ã³ã¡ã³ããæžãããšãã§ããŸãã
ã³ã¡ã³ãã¯é»åã¡ãŒã«ã§éçºè ã«éä¿¡ãããå ¬éã¡ãŒãªã³ã°ã«é 眮ã§ããŸãã ãŸããJiraã®ãã±ããã«è¿œå ãããŸããã ãšãŠãå¿«é©ã§ãã å¥åã®ãã¬ãã¥ãŒçšãã±ãããã®äœæã«ç ©ããããããïŒããšãã°Crucibleã®ããã«ïŒãGitPHPå ã§ã¬ãã¥ã¢ãŒãå²ãåœãŠãïŒã¬ãã¥ã¢ãŒã¯Jiraã§ã®éçºåŸã«ãã±ããã転éããããã®ã§ãïŒãå¥åã®ã¬ãã¥ãŒã¹ããŒã¿ã¹ãªã©ã¯å¿ èŠãããŸããã ã³ã¡ã³ããããããã±ãããåéãããŸãã-ã€ãŸããã³ãŒããä¿®æ£ããå¿ èŠããããŸãã ãã¹ãŠé 調ã§ããã°ããã±ãããããã«è»¢éããŸãã
ãã®ã·ã³ãã«ãªã¹ããŒã ã¯ãããžã§ã¯ãã«ææ©çã«é©åããŠãããéçºè ã¯ãããéåžžã«æ°ã«å ¥ã£ãŠãããè¿ éãã€ç°¡åã«åãäžããããŠäœ¿çšããå§ããŸããã
ãã€ãŒãšFishEye
ããããããã¯ãšã³ãã®éçºè ãããã«ã¢ã€ãã¢ãæ¡çšããããŒã«ãåºã䜿çšããããã«ãªããäžéšã®éçºè ãéçºã«è²¢ç®ããã«ããããããããã¹ãŠãå®ç§ãšããããã§ã¯ãããŸããã§ããã
ã¢ãã€ã«éçºè ã¯æåã¯åŒ·ãæµæããããŒã«ã®äœ¿çšãæåŠããŸããã èšãèš³ã¯ç°ãªã£ãŠããŸããïŒã€ã³ã¿ãŒãã§ãŒã¹ãå¿«é©ã§ã¯ãªããšããäºå®ããå§ããŠã圌ãç·æ¥ã«å¿ èŠãšãããã®ããªããšããäºå®ã§çµããã
åžå Žã«åºåã£ãŠããã³ãŒãã¬ãã¥ãŒããŒã«ãæ°åã¬ãã¥ãŒããç¶æ³ãæ¹åããããšãæåŸ ããŠé©åãªãã®ãèŠã€ããããšããŸããã ããŒã«ã¯å®éã«éçºãããå€ãã®äŸ¿å©ãªæ©èœãè¿œå ããŸãããããã»ã©å€ãã®æ©èœã¯è¿œå ãããŸããã ããããããããã¹ãŠã®åé¡ã¯æ°ãããã®ã§ãã
ãã®ããã次ã®ã¬ãã¥ãŒããŒã«ã調æ»ã«åå ããŸããïŒUpsourceãCrucibleãGitLabãPhabricatorãReview BoardãKallitheaãªã©ã æ®å¿µãªããããããã®éã§çæ³çãªããŒã«ã¯èŠã€ãããŸããã§ããã
ããã«ãããããããCrucibleãGitPHPãšäžŠè¡ããŠäœ¿çšããããã2ã€ã®ããŒã«ã®äœæ¥ã1幎éæ¯èŒããŸããã Crucibleã¯ä»¥åã®ãããžã§ã¯ãã§å€ãã®ã¢ãã€ã«éçºè ã«ãã£ãŠäœ¿çšãããè¯å®çãªãã£ãŒãããã¯ãæäŸããŸããã 圌ã¯Jiraãšã®æé«ã®çµ±åã®1ã€ãæã£ãŠããŸããããããã¯é©ãããšã§ã¯ãããŸãã-圌ãAtlassianã«ãã£ãŠäœãããŠããŸãã
å€æããäž»ãªCrucibleã®åé¡ã¯ããã©ãŒãã³ã¹ã§ãã ããã€ãã®æ©èœãç¡å¹ã«ããŠãæ©èœãå€§å¹ ã«åæžããå¿ èŠãããããŸããã
éçºè ãæšå¥šããç°ãªãããŒããŠã§ã¢ãç°ãªãæé©åãè©ŠããŸããããäœãéæããŸããã§ããã ãã®ããŒã«ããçµãåºããæéã®åŠçã¯ãããã·ã¥åŸã«ããŒã«ã«ã³ãŒãã衚瀺ããã10ååã§ããã ãŸããããã€ãã®ã¿ã¹ã¯ã®å ŽåãäŸåé¢ä¿ã¯æ確ã§ã¯ãªããæ°æéåŸ ã€å¿ èŠããããŸããã ãªããžããªãšã³ãããã®æ°ãå¢ãããåŸãé床ã¯éç·åœ¢ã«äœäžããŸããã æ©èœã®éçºãšé ä¿¡ã®ãã€ããã¯ã¹ã«ãšã£ãŠãããã¯é©åã§ã¯ãããŸããã§ããã
Crucibleãå éšã§æ§ç¯ããã³ä¿åããå·®åããã°ãããã³éé£ãããã¯ã衚瀺ããããã®åºç€ãšãªãã€ã³ããã¯ã¹ã¯ãéåžžã«ãã£ãããšæ§ç¯ãããŸãã ããŸããŸãªããŒã¿ããŒã¹ãšã³ãžã³ãè©ŠããŸããã æã ãäœããã®æªç¥ã®çç±ã§ãã¯ã«ãŒã·ãã«ã¯ãžã©ããäžæããå§ããŸããã äž¡æ¹ã®ã·ã¹ãã ãåèµ·åããããšã§åŠçãããŸããã
çµå±ãGitPHPãäœåãé«éã«åäœããããšãããããŸãããã¢ãã€ã«éçºè ã®èŠæ±ã«å¿ããŠãå€ãã®ãŠã£ãã·ã¥ãªã¹ããè¿œå ããããšãã§ããŸãããCrucibleã«ã¯å€ãã®åé¡ããããŸãã ãããã£ãŠãCrucibleã§1幎ééãã åŸãã¢ãã€ã«éçºè ã«ãGitPHPãå®è£ ãããšãã匷ãææ決å®ãè¡ããŸããã
çŸåšããã®ããŒã«ã¯ãã¹ãŠã®éšéã®æšæºãšããŠåœç€Ÿã§äœ¿çšãããŠããŸãã ãããŠãGerritã§éãã ãŠãŒã¶ãŒã¯ãã®ããŒã«ã䜿çšããã¢ãã€ã«éçºè ãPHPéçºè ãããã³ã¬ã€ã¢ãŠããã¶ã€ããŒãæã€JSéçºè ãäžè¬çã«ã¯ãã¹ãŠãã¹ãŠã䜿çšããŸãã
ã³ãã€ãœã¯
ãã¡ãããGitPHPã®äœ¿çšãéå§ããŠä»¥æ¥ã倧éã®æ°ŽãæµããŠãããå ã®ããŒã«ãã»ãšãã©èªèã§ããŸããã§ããã 圌ã¯ãæ°ããæ©èœãæ°ãããã¶ã€ã³ãå€ãã®è¿œå æ©èœãæé©åãæ¹åãåããŸããã
JiraãšCrowdã ãã§ãªããããšãã°Redmineãªã©ãããã€ãã®èªèšŒæ¹æ³ãè¿œå ããŸããã æ§æã®åŒ·èª¿è¡šç€ºãå€æŽãããµã€ããã€ãµã€ãã¢ãŒããå®å šã«æžãçŽããŸããã Gitosisãåãé€ãããªããžããªããŠãŒã¶ãŒãããã³Webã€ã³ã¿ãŒãã§ã€ã¹ãä»ãããããã®ã¢ã¯ã»ã¹ã®ç®¡çãå®è£ ããŸãã-ç°¡åã§äŸ¿å©ã§ãïŒ SashaãšZhenya ãããããšãïŒã ãã¡ã€ã«ïŒ Sasha ãããããšãïŒãæ¡åŒµåãdiffã®å€æŽãã¬ãã¥ãŒçšã®ãã£ã«ã¿ãŒãè¿œå ããŸããã ãã¹ãŠãããã«ãŒã§å ãããšã§æ¥œåšã®ã€ã³ã¹ããŒã«ãç°¡åã«ããŸããã ãã¶ã€ã³ãå®å šã«å€æŽããŸããã ãŸããã³ãŒãã¬ãã¥ãŒãè¡ãããšã®å¯èœæ§ãå¿ããªãã§ãã ãããã³ãŒãã¬ãã¥ãŒãé²åããã¯ããã«äŸ¿å©ã«ãªããŸããã
äžè¬çã«ããã®ããŒã«ã¯å®å šã«ç°ãªããã®ã«ãªã£ããããæ°ããååãCodeisokãšåä»ããŸãã ã ãok from codeããšè¡šç€ºãããã³ãŒãããã¹ãŠæ£åžžã§ããããšãæå³ããŸãã
ãã®è¡šçŸã¯ç€Ÿå ã®ããŒã ã§ããããã€ã¢ãã°ã§äœ¿çšãããŸãã
ãã¿ã¹ã¯ã確èªããŠãã ãããã
-èŠããcodeisok'nulïŒ
ãããŠæ¬æ¥ã CodeisokããªãŒãã³ãœãŒã¹ã³ãã¥ããã£ã§å©çšå¯èœã«ãªã£ãããšããç¥ããããããŸãã ãã®ããŒã«ã¯ãã§ã«Badoo以å€ã®ããã€ãã®ãããžã§ã¯ãã§æ©èœããŠãããè¯å®çãªã¬ãã¥ãŒããããŸãïŒ wetrend.comãturbocontract.ruãªã© ïŒã ããªãããããæ°ã«å ¥ã£ãŠã圹ã«ç«ã€ããšãé¡ã£ãŠããŸãã ç§ãã¡ã¯ãæ¹åãšãã«ãªã¯ãšã¹ããåãã§åãå ¥ããŸã-ç§ãã¡ã¯åžžã«ãªãŒãã³ãœãŒã¹ããŒã«ã®éçºãæäŒã£ãŠããã人ãã¡ã«åãã§ããŸãã
ãŸãããã®æ©äŒãå©çšããŠããããžã§ã¯ãã®éçºãšæ¹åã«ãååããã ãããã¹ãŠã®æ¹ã ã«æ·±ãæè¬ããããŸãã ã¿ããªããããšãïŒ ããªãã¯ä¿¡ããããªãã»ã©ã¯ãŒã«ã§ãïŒ
ããã«ã»ãŽã¡ãŒã
ã¹ã¿ã¹ã»ã€ã°ããã³ã³ã
ã¢ã¬ã¯ãµã³ããŒã»ã€ãºãã€ãã
ã¢ã³ãã³ã»ããŽã¬ã«
ãŠãŒãªã»ãã¹ã¬ããã£ãã
ãã³ã©ã€ã»ã¯ã©ããããŒ
ã³ã³ã¹ã¿ã³ãã³ã»ãžã¥ã€ã³
ããã¹ã»ããããã
ã¢ã¬ã¯ãµã³ããŒã»ãã¬ã¬ãŒ
ãšãã²ããŒã»ãã¯ãã
ããã¹ã»ã³ã¬ããã¹ããŒ
ããã«ã»ãããªã®ã³
ã¢ã¬ã¯ãµã³ããŒã»ã°ãªã·ã³
ããŒãã³ã»ã©ã¶ã¬ã
ã¢ã¬ã¯ãµã³ããŒã»ãªãã€ã³ãã³
ä¿¡é Œã§ããã³ãŒãã§ïŒ
ã€ãªã€ã»ã¢ãžã§ãšããããã¥