忣ããŒãžã§ã³ç®¡çã·ã¹ãã ïŒGitãMercurialãBazaarïŒããŸããŸã人æ°ãéããŠãããšããäºå®ã«ãããããããå€ãè¯ãSubversionã¯ãŸã åºã䜿çšãããŠããŸãã ãã®èšäºã§ã¯ãå®éã«SVNãªããžããªãŒã§å€éšäŸåé¢ä¿ïŒsvnïŒexternalsïŒã䜿çšããããšã®é·æãšçæã調ã¹ãŸãã
svnïŒexternalsã®äŸãèŠãŠã¿ãŸãããã æåãªPDFã©ã€ãã©ãªiTextãªã©ããµãŒãããŒãã£ã®ãªãŒãã³ãœãŒã¹ã³ãŒãã䜿çšãããããžã§ã¯ãããããšããŸãã éåžžããã®ã©ã€ãã©ãªã«å¿
èŠãªãã¹ãŠã®ã³ãŒãããªããžããªã«å®å
šã«ã³ããŒããŸãã ãã®åŸãiTextã®æŽæ°ããªãªãŒã¹ããããšãå€ããã¡ã€ã«ãæåã§æ°ãããã¡ã€ã«ã«çœ®ãæããŸãã
svnïŒå€éšã¯ãã䟿å©ãªæ¹æ³ãæäŸããŸãã ãªããžããªã®ãã©ã«ããŒãéžæãããã®ãã©ãŒã ã§svnïŒexternalsããããã£ãèšå®ããŸãïŒ
TortoiseSVNã䜿çšããŠãããè¡ãæ¹æ³ ïŒïŒ
iText https://itext.svn.sourceforge.net/svnroot/itext/trunk
æåã®ãã©ã¡ãŒã¿ãŒã¯å€æŽãããŠã³ããŒãããå Žæã決å®ãã2çªç®ã®ãã©ã¡ãŒã¿ãŒã¯å€æŽãããŠã³ããŒãããŸãã ããã§ããªããžããªããææ°ã®æŽæ°ãååŸãããã³ã«ãiTextã®çŸåšã®ããŒãžã§ã³ãèªåçã«ããŠã³ããŒããããŸãã 䟿å©ã
ããã«ã€ããŠ
svnïŒexternalsã䜿çšããå©ç¹ãèæ
®ããŠãã ããã
éè€ãé¿ãã
DRY ïŒDo n't Repeat YourselfïŒã®åå-å質ã®é«ããœãããŠã§ã¢éçºã®ç€ç³-ã¯ããœãŒã¹ã³ãŒã管çã«ãŸã§åã³ãŸãã åããã¡ã€ã«ãè€æ°ã®ãªããžããªã«è€è£œãããŠããå Žå-ããã¯ããŸãè¯ããããŸããã
ããšãã°ã確ç«ãããããŒã ã§ã¯ãååãšããŠå
±éã³ãŒãã®ããŒã¹ã圢æãããããŸããŸãªãããžã§ã¯ãã§åžžã«äœ¿çšãããŸãã ãã¹ãŠã®ãããžã§ã¯ãã1ã€ã®å€§ããªãªããžããªã«ãããšã¯éããŸããã æãå¯èœæ§ãé«ã-å¥ã®ã ãã®å ŽåãsvnïŒexternalsãªãã§ã¯ãç°ãªããªããžããªéã§åããã¡ã€ã«ãã³ããŒããã ãã§ãªãã倿Žããã£ãå Žåã¯ã©ãã§ãæåã§æŽæ°ããããšãã§ããŸãã
ãªããžããªå
ã®ã¹ããŒã¹ãå æããªãã§ãã ãã
åã®æ®µèœã®çŽæ¥çãªçµæã¯ããœãŒã¹ã³ãŒããå
ã®ãªããžããªã«ã®ã¿ä¿åãããããããäœæ¥ã³ããŒã«ã®ã¿ããŠã³ããŒãããããšã§ãã ãªããžããªã®åèšãµã€ãºã«å¶éã®ããææSVNãã¹ãã£ã³ã°ã䜿çšããå Žåããªããžããªã®ãµã€ãºã¯éåžžã«éèŠã§ãã
ãããžã§ã¯ãããã³ã¢ãžã¥ãŒã«ã®æ§é åã容æ
ã1ãããžã§ã¯ã<-> 1ãªããžããªããšããã«ãŒã«ã«åŸã£ãŠãããžã§ã¯ããåå²ããããšã¯çã«ããªã£ãŠããŸãã ãã®ã¢ãããŒãã§ã¯ãsvnïŒexternalsã䜿çšãããšãäŸåãããžã§ã¯ãã®åé¢ãç°¡åã«ãªããŸãã
ãã¡ãããåããªããžããªå
ã®ãã¹ãŠã®ãããžã§ã¯ã/ã¢ãžã¥ãŒã«ã§äœæ¥ã§ããŸããããã®ã¢ãããŒãã«ã¯æ¬ ç¹ããªãããã§ã¯ãããŸããã ããšãã°ããã¹ãŠã®éçºè
ã¯ãäœæ¥ã³ããŒã«å€ãã®äžå¿
èŠãªå€æŽãã¢ããããŒãã§ããŸãã éçºè
ãã¢ã¯ã»ã¹ãã¹ãã§ãªããããžã§ã¯ããžã®ã¢ã¯ã»ã¹ãå¶éããããšã¯ã§ããŸããã è¿ãã«ã¯ç¡é¢ä¿ã®ãããžã§ã¯ãããããŸãã ãšã«ããããã¹ãŠãããŒãã«ä¿æããããšã¯é©åãªã¢ãããŒãã®ããã«ã¯èŠããŸããã
ãã ãã1ã€ã®å€§ããªãªããžããªã§äœæ¥ããŠããå Žåã¯ãsvnïŒexternalsã圹ç«ã¡ãŸãã äŸïŒãªããžããªå
ïŒãã©ã³ã¯å
ïŒã«æ¬¡ã®ãã©ã«ããŒæ§é ããããšããŸãïŒ/ Common / CïŒand / OurCustomer / Windows / HelloCSharp /ã HelloCSharpãããžã§ã¯ãã§Common / CïŒã®ã³ãŒãã䜿çšããå Žåãæ¬¡ã®3ã€ã®æ¹æ³ããããŸãã
- ç®çã®ã³ãŒããHelloCSharpã«ã³ããŒããŸã
- çžå¯Ÿãã¹ã䜿çšãã
- ããšãã°ãsvnïŒexternalsã䜿çšããŠour_repository / trunk / Common / CïŒããHelloCSharp / Commonã«ã³ãŒããããŒãããŸãã
æåã®æ¹æ³ã¯æããã«æªãã§ã-æäœæ¥ãšè€è£œã¯ãã°ãã°ãšã©ãŒãåŒãèµ·ãããŸãã
2çªç®ã¯æ£åžžã§ãããå°ããªæ¬ é¥ããããŸãã ããšãã°ãCommon / CïŒãã©ã«ããŒã転éããå ŽåãHelloCSharpã®ãã¹ãŠã®çžå¯Ÿãã¹ã倿Žããå¿
èŠããããŸãã ãŸãã¯-å
±æãã¡ã€ã«ãèŠãã«ã¯ããªããžããªå
ã®ãã©ã«ããç§»åããå¿
èŠããããŸãã
SVNã®3çªç®ã®æ¹æ³ïŒå€èŠ³ã¯æãã€ããªãã®ãŒçã«æ£ããããã«èŠããŸãã å®éã«ã¯ãæå®ãããå Žæã«å
±éã³ãŒããããŒãããã ãã§ããå®éã«åç
§ããã ãã§ãã SVNå
ã®äžçš®ã®ã·ã³ããªãã¯ãªã³ã¯ã
ãªããžããªå
ã®ãªãŒãã³ãœãŒã¹ã³ãŒãã䜿ããããããŸãã
æåã®äŸã§èª¬æãããã®ã ããŒã¹ãå
šäœããªããžããªã«ã¢ããããŒãããå Žå-䟡å€ã¯ãããŸããã ãã®ç®çã§svnïŒexternalsã䜿çšããæ¹ãé©åã§ãã
çæã«ã€ããŠ
ããã¯éåžžã«èª¬åŸåãããããã«èŠããŸããããªããžããªã§ã®svnïŒexternalsã®åºç¯ãªå°å
¥ã«æ¥ãããšã¯ãããŸããã svnïŒexternalsãããããåé¡ãè©äŸ¡ããŸãããïŒ
é
ãæŽæ°ïŒsvn updateïŒ
å€éšäŸåé¢ä¿ã䜿çšããå Žåã以åã®é«éæŽæ°ãå¿ããããšããããŸãã åäŸåé¢ä¿ã¯ãã¢ããã°ã¬ãŒãäžã«å°ãªããšã1ã€ã®è¿œå HTTPæ¥ç¶ã§ãã å€éšãªããžããªã§äœã倿ŽãããŠããªãå Žåã§ããåŸ
æ©ããŸãã å®éã®äœæ¥ã§ã¯ãæŽæ°æéãéåžžã«é¡èã«å¢å ããŠãããããåé¡ã¯è¿œå ã®æ¥ç¶ã ãã«éå®ãããªããšããæèŠãåŸãããŸãã
svnïŒå€èŠ³ã¯æ¬åœã«é
ãã§ãã å°ãªããšãSubversionã®çŸåšã®å®è£
ã§ã¯ã
ã³ãŒãã¯åç¬ã§åäœã忢ããå ŽåããããŸã
ãã®åœ¢åŒã§svnïŒexternalsã䜿çšããå ŽåïŒ
iText https://itext.svn.sourceforge.net/svnroot/itext/trunk
以åã«å®è¡ããã³ãŒãããŸã æ©èœããŠããããšãä¿èšŒããããšã¯ã§ããŸããã å€éšãªããžããªã倿Žãããšãç Žæããå¯èœæ§ããããŸãã ã³ãŒããã³ã³ãã€ã«ã忢ããããæœåšçãªãšã©ãŒã衚瀺ããããããå ŽåããããŸãããåå ããããšã¯ãããŸããã
ãã®ã¢ãããŒãã䜿çšããããšã¯ã»ãšãã©ãå§ãã§ããŸããã å€éšãåããªããžããªå
ã«ããå Žåã§ãã å€éšãªããžããªãå®å
šã«å¶åŸ¡ã§ããå Žåã§ãã ãã®ã¢ãããŒãã«ããããªããžããªã®å±¥æŽã¯å€æŽãããªããªããŸãã ãããªããžã§ã³ã«ããŒã«ããã¯ãããšãsvnïŒexternalsãä»ããŠããŠã³ããŒããããã³ãŒãããªããžã§ã³ã®äœæããçµéããæéã§å€åããå¯èœæ§ããããããäºæž¬ã§ããªãçµæãåŸãããŸãã 以åã¯æéã®ããããªãã³ãŒããåã«ã³ã³ãã€ã«ãããªãå¯èœæ§ãéåžžã«é«ãã§ãã
ãã ããsvnïŒexternalsã«çµæ¢ç¬Šãæããªãã§ãã ããããã®åé¡ã«ã¯è§£æ±ºçããããŸããæ¬¡ã®ããã«ãå€éšãªããžããªã®ç¹å®ã®ãªããžã§ã³ãåç
§ããå¿
èŠããããŸãã
iText âr 247 https://itext.svn.sourceforge.net/svnroot/itext/trunk
ããã§ããã®ãªããžã§ã³ã®ã³ãŒãã®ç¹å®ã®ããŒãžã§ã³ãåžžã«ååŸã§ããŸãã æŽæ°ãåä¿¡ããå Žåããªããžã§ã³çªå·ãé©åãªãã®ã«æŽæ°ããæŽæ°ãããŠã³ããŒãããŸãã ã³ãŒãã以åãšåæ§ã«ã³ã³ãã€ã«ããã³åäœããããšã確èªããŸãïŒãã¹ããå®è¡ããŸãïŒã ãã¹ãŠãé 調ã§ããã°ã倿ŽãsvnïŒexternalsã«ã³ãããããŸãã
åç
§ããŠãããµãŒããŒãå©çšã§ããªãå Žåãã¢ããã°ã¬ãŒãããããšã¯ã§ããŸããã
å€éšãµãŒããŒïŒããšãã°ãitext.svn.sourceforge.netïŒã䜿çšã§ããªãå Žåãæ°ãããªããžã§ã³ãŸãã¯ä»¥åã®ãªããžã§ã³ã«ã¢ããã°ã¬ãŒãããããšã¯ã§ããŸããïŒå€éšãããã§äœ¿çšãããŠããå ŽåïŒã
åç
§ããŠãããµãŒããŒãç§»åããå Žå-ãªããžããªãå®å
šã«å€æŽããå¿
èŠããããŸã
ãã¡ããããã¹ãŠã®å€ããªããžã§ã³ãæäœå¯èœãªãŸãŸã«ããŠããããå Žåã¯ãçŸåšã®ãªããžã§ã³ã®å€æŽã®ã¿ã«å¶éããããšãã§ããŸãã ããããããã¯ãã¡ããæ²æšãªéã§ãã
ãã®å Žåããªããžããªãå®å
šã«å€æŽããããšã¯ããã»ã©é£ãããããŸããã
- ãsvnadmin dumpãã䜿çšããŠãªããžããªããã³ãããŸã
- çµæã®ãã³ãã§ãåæ§ã®ã¿ã€ãã®ãã¹ãŠã®è¡ãèŠã€ããŸãã
V 66
iText âr 247 https://itext.svn.sourceforge.net/svnroot/itext/trunk
å°éå
·ãšã³ã
- ãããã®ãªããžããªãžã®ãã¹ã眮ãæããŠãæåã®è¡ã®æ°å€ãæŽæ°ããŸã-ããã¯ãããããã£ã®èª¬æã®ãã€ãæ°ã§ããæ¬¡ã«äŸã瀺ããŸãã
V 123
iText -r 155 http://new_server.com/svnroot/itext/trunk/
iTextSharp -r 155 http://new_server.com/svnroot/itextsharp/trunk/
å°éå
·ãšã³ã
ããã§ã¯ãæç¢ºã«ããããã«ãæ°Vã®èšç®æ¹æ³ãæç¢ºã«ããããã«2è¡ç®ã远å ããŸããã - å€ããªããžããªãåé€ãããsvnadmin loadãã䜿çšããŠæ°ãããã³ããããŒã«ã¢ããããŸã
ãªã³ã¯å
ã®ãµãŒããŒãä»ã®äœãã®ããã«Subversionã倿Žããããåã«åäœã忢ããå Žå-ãã¹ãŠããªããªããŸã
ã©ã¡ãã®å Žåããéåžžã«åŠå®çãªçµæã䌎ããŸã-ãªããžããªã¯å®å
šã«æ©èœããªããªããŸãã
ãªããžã§ã³ãžã®æŽæ°ãæ©èœããªããªãå ŽåããããŸã
äŸïŒãªããžããªã«ã¯iTextãã©ã«ããŒãå®å
šã«ãããŸãã æ¬¡ã«ã1ã€ã®è³¢ãèšäºãèªãã åŸã代ããã«svnïŒexternalsãå®è£
ããããšã«ããŸããã ç§ãã¡ã¯ãããæåè£ã«å®è£
ããæ©èœãã誰ãã幞ãã§ãã ãã ããçŸåšã®ãªããžã§ã³ãã以åã®ãªããžã§ã³ã«ããŒã«ããã¯ããå Žåãæ©èœããŸããã
ããã¯ãsvnïŒexternalsã€ã³ã¹ããŒã«ãããŒã«ããã¯ããããšãã«ãã¿ãŒã²ãããã©ã«ããŒïŒiTextïŒãç©ççã«åé€ãããªããšããäºå®ã«ãããã®ã§ãã ãŸãããªããžããªå
ã®éåžžã®è¿œè·¡ãã©ã«ããŒã«çœ®ãæããå¿
èŠãããå ŽåãSVNã®çŸåšã®ããŒãžã§ã³ã§ã¯è§£æ±ºã§ããªãç«¶åãçºçããŸãã
ãã®å Žåã解決çã¯1ã€ãããããŸããããŒããªããžã§ã³ããæ£ãããªããžã§ã³ãŸã§å®å
šã«ãã§ãã¯ã¢ãŠãããããšã§ãã
å¥ã®ããŒãžã§ã³ç®¡çã·ã¹ãã ã«æ£ããç§»è¡ã§ããªã
SVNãªããžããªãããªããžããªã«ãããšãã°GitãMercurialã«ã³ãŒãã転éããããšã«ããå ŽåãsvnïŒexternalsã¯æ·±å»ãªé害ã«ãªããŸãã 解決çã¯3ã€ãããŸãïŒãŸã£ããæ€èšããªããããã®åé¡ãç¡èŠããŠçºçæã«è»¢éãããïŒãã®å Žåãå€ããªããžã§ã³ã¯æ©èœããŸããïŒããŸãã¯svnïŒexternalsãå®å
šã«åé€ããŸãã
æåŸã®éã¯åä»ã§ãããçµæã¯äŸ¡å€ããããŸã-ã©ãã«ã§ãã€ã³ããŒãã§ããå®å
šã«ç¬ç«ãããªããžããªãååŸããŸãã svnãåãé€ãæ¹æ³ïŒexternalsã¯ç¹ã«å°æ¥ã®èšäºã®ãããã¯ã§ãã
ãããã«
svnïŒexternalsã䜿çšãããã©ãã-誰ããèªåã§æ±ºå®ããŸãã æåã¯å€éšã®äŸåé¢ä¿ãªãã§äœæ¥ããŸãããããããžã§ã¯ããããã€ãã®ãªããžããªã«åè§£ãããšãã«ãsvnïŒexternalsãç©æ¥µçã«äœ¿çšãå§ããŸããããæéãçµã€ã«ã€ããŠãæ¬ ç¹ãå©ç¹ãäžåãããšãããããŸããã æçµçã«ãç§ãã¡ã¯éåžžMercurialã«ç§»è¡ããããšã決å®ããŸããããã®ããã«ãsvnïŒexternalsãå®å
šã«åãé€ãå¿
èŠããããŸããã
ãããŠæåŸã«ãsvnïŒexternalsã䜿çšããããã®ããã€ãã®ãã³ãïŒ
- å€éšãªããžããªã®ç¹å®ã®ãªããžã§ã³ãžã®ãªã³ã¯ã®ã¿ã䜿çšããŠãã ããã
- ããŸãã«ãå€ãã®å€éšäŸåé¢ä¿ã䜿çšããªãããã«ããŠãã ãããããããªããšãæŽæ°ãéåžžã«é·ãç¶ããŸãã
- svnïŒexternalsã1ã€ã®ã«ãŒããã©ã«ããŒïŒããšãã°ããã©ã³ã¯ïŒã®ã¿ã«äœ¿çšãããªããžããªå
šäœã«æ£åšããããã€ãã®ãã©ã«ããŒã«ãã®ããããã£ãèšå®ããªãã§ãã ããã ã¿ãŒã²ãããã©ã«ããŒã¯çžå¯Ÿãã¹ïŒããšãã°ãCommon / Java / iTextïŒã䜿çšããŠèšå®ã§ããããããã¹ãŠã®äŸåé¢ä¿ãè€æ°ã®å Žæããã1ãæã§å®çŸ©ããæ¹ãã¯ããã«äŸ¿å©ã§ãã
- ãã©ã«ãã®svnïŒexternalsãã€ã³ã¹ããŒã«/æŽæ°ããå Žå-ãããã®å€æŽãã³ãŒãã®å€æŽããã¡ã€ã«ã®ç§»åããã®ä»ã®ã¢ã¯ã·ã§ã³ãšæ··ããªãã§ãã ããã svnïŒexternalsããããã£ã倿Žããããã ãã«å¥ã®ã³ããããè¡ãããšããå§ãããŸãã ãã€ãsvnïŒexternalsãå®å
šã«åãé€ãããšã«ããå Žåãããã¯äººçã倧ãã«ç°¡çŽ åããŸãã
- svnïŒexternalsãé »ç¹ã«å€æŽããªãããã«ããŠãã ããããŸããå€éšã®äŸåé¢ä¿ãåãé€ããšãã®ç掻ãç°¡çŽ åããŸãã