ç°¡åãªèšèãšå€æ°ã®åçã§ãEclipseã®äŸã¯svn mergeã®äœææ¹æ³ã瀺ããŠããŸãã ãã®èšäºã¯ããã©ã³ãã®ããŒãžã®å®è£
ããŸã æ¥åžžæ¥åã®äžéšã«ãªã£ãŠããªã人ã«ãšã£ãŠæçšã§ãã
ãã®èšäºã¯ã次ã®ãœãããŠã§ã¢ã䜿çšããããã«èšèšãããŠããŸãã
- SVN 1.4.4
- Eclipse 3.4.2 SR2
- ç Žå£ç0.7.7
- ãã€ãã£ãJavaHL 1.5.4 SVNã³ãã¯ã¿ãŒ
ãã©ã³ãã©ã€ããµã€ã¯ã«
éçºè
ã®1人ãšããŠãèªåã«å²ãåœãŠãããã¿ã¹ã¯ãå®è¡ããéåžžã®ãã©ã³ãã®å¯¿åœã®äŸãèããŠã¿ãŸãããã
æåããªããžããªã«ã¯ã³ãŒãã®äž»èŠéšåïŒãã©ã³ã¯ã以éããã©ã³ã¯ãïŒã®ã¿ãå«ãŸãããã®çŸåšã®ãªããžã§ã³ã¯r10ã§ãã T1ãã©ã³ã¯ã®ç¶æ
ã¯ããã©ã³ããäœæãããæç¹ã®ã³ãŒãã®ããŒãžã§ã³ã«å¯Ÿå¿ããŠããŸãïŒãã©ã³ãã以äžããã©ã³ããïŒã
ãªããžã§ã³r11ã§å§ãŸãç¬èªã®ãã©ã³ããäœæããŸãã 次ã«ãã³ãŒãã®äžŠè¡äœæ¥ãéå§ããããã®éã«ãã©ã³ãã«å€æŽB1ã®ããªã¥ãŒã ãäœæããŸãã åæã«ãä»ã®éçºè
ãT2ã®å€æŽããã©ã³ã¯ã«å°å
¥ããŠããŸãã
次ã«ããã©ã³ã¯ã«å ããããææ°ã®å€æŽããã©ã³ãã«å«ããŸãã çŸåšããã©ã³ãã®ç¶æ
ã¯T1 + B1ã§ããããããã©ã³ããäœæããç¬éãããã©ã³ã¯ã§çºçããå€æŽã®ã¿ã«é¢å¿ããããŸãã ãããã®å€æŽïŒT2ïŒã¯ãæåãšæåŸã®ãªããžã§ã³ã®çªå·ã«ãã£ãŠäžæã«æ±ºå®ãããŸãããã®äŸã§ã¯ãr10ãšr12ã§ãã 10ãã12ãªããžã§ã³ã®ãã©ã³ã¯ã§è¡ãããå€æŽããã©ã³ãã®çŸåšã®ããŒãžã§ã³ãšããŒãžããå¿
èŠã«å¿ããŠãšã©ãŒãä¿®æ£ããããŒãžçµæããã©ã³ãã«ã³ãããããŸãïŒãªããžã§ã³r14ïŒã
ããã§ããã©ã³ã¯ããã®ãã¹ãŠã®ææ°ã®å€æŽãããããã©ã³ãã®ç¶æ
ã¯T1 + B1 + T2ã§ãã
ãããªãéçºãç¶ç¶ããããã©ã³ãã§å€æŽéB2ãäœæããä»ã®éçºè
ããã©ã³ã¯ã§å€æŽéT3ãäœæããŸãã
åã³ãã©ã³ã¯ããã®ææ°ã®å€æŽããã©ã³ãã«å«ããŸãã ãã©ã³ãã®ç¶æ
ã¯T1 + B1 + T2 + B2ã§ãããããå¿
èŠãªå€æŽéã¯T3ã ãã§ãã ããŒãžãå®è¡ãããšããæåã®ãªããžã§ã³ãšããŠãåã®ããŒãžã®æçµãªããžã§ã³ãæå®ããŸãïŒr12ïŒã ãããã£ãŠã12ãã15ãªããžã§ã³ã®éã®ãã©ã³ã¯ã§è¡ãããå€æŽããã©ã³ãã®çŸåšã®ããŒãžã§ã³ãšããŒãžããå¿
èŠã«å¿ããŠãšã©ãŒãä¿®æ£ããããŒãžçµæããã©ã³ãã«ã³ãããããŸãïŒãªããžã§ã³r17ïŒã
å²ãåœãŠãããã¿ã¹ã¯ã解決ããã®ã§ãä»åºŠã¯ãã©ã³ã¯ã«å ããå€æŽã玹ä»ããŸãã ãã©ã³ããå®æçã«ãã©ã³ã¯ã«åãããŠãçºçããåé¡ãè¿
éã«è§£æ±ºãããããæäœã¯ããã»ã©è€éã§ããå¿
èŠã¯ãããŸããã ãã©ã³ãã®ç¶æ
ã¯T1 + B1 + T2 + B2 + T3ã«ãªããŸãïŒããã«ãããŒãžäžã«è¡ã£ãä¿®æ£B1 'ããã³B2'ïŒã ãã©ã³ã¯ç¶æ
ã¯T1 + T2 + T3ã«ãªããŸããã ãããã£ãŠã11ãã17ãªããžã§ã³ã®ãã©ã³ãã§è¡ãããå€æŽããã©ã³ã¯ã®çŸåšã®ããŒãžã§ã³ãšããŒãžããå¿
èŠã«å¿ããŠãšã©ãŒãä¿®æ£ãããã©ã³ã¯ã®æ°ããããŒãžã§ã³ãã³ãããããŸãïŒr18ïŒã
ãã®åŸããã©ã³ããåé€ããäœæ¥ãç¶è¡ããŠæ°ãããã©ã³ããäœæããããšããå§ãããŸãã
次ã«ãç¹å®ã®äŸã䜿çšããŠãããŒãžããã»ã¹ãæ€èšããŸãã
ãªããžããªã®åæç¶æ
次ã®ç¶æ³ãèæ
®ããŠãã ããã test_projectãããžã§ã¯ããããtest_areaãããžã§ã¯ãã®ã»ããããããŸãã
ãã©ã³ãã®ãªããžã§ã³40898ãããã©ã³ããäœæãããæåã®ãªããžã§ã³ã¯40904ã«çãããªããŸããããã®åŸããã©ã³ã¯ïŒãªããžã§ã³40906ïŒãšãã©ã³ãïŒãªããžã§ã³40923ïŒã«å€æŽãå ããããŸããã 次ã«ããã©ã³ããžã®ææ°ã®å€æŽããã©ã³ãã«å«ããäŸã䜿çšããŠããã©ã³ãããã©ã³ã¯ã«ããŒãžããããã»ã¹ãæ€èšããŸãã
ãããžã§ã¯ãã«ã¯ãChangedByMe.javaãChangedByOther.javaãããã³Conflicted.javaã®3ã€ã®ãã¡ã€ã«ããããŸãã
ãã©ã³ãã®ChangedByMe.javaãã¡ã€ã«ãå€æŽãããµããã£ãŒã«ã
"-I changed it"
ãstrãã£ãŒã«ãã®å€ã«è¿œå ããŸããã ãã©ã³ãã§ãConflicted.javaãã¡ã€ã«ãå€æŽãããµãã¹ããªã³ã°
"-I changed it"
ãstrãã£ãŒã«ãã®å€ã«è¿œå ããŸããã
ãã©ã³ã¯ã«åãæ¿ãããšãããªãïŒãŸãã¯ä»ã®èª°ãïŒãåæ§ã«ChangedByOther.javaãã¡ã€ã«ãšConflicted.javaãã¡ã€ã«ãå€æŽãã
"-Someone changed it"
ãµãã¹ããªã³ã°
"-Someone changed it"
è¿œå ããŸãã
ããŒãžå®è¡
ã¹ããã1.æºå
ãã®ã¹ãããã§ã¯ããã©ã³ãã«å¯ŸããŠæ¬¡ã®æäœãå®è¡ããå¿
èŠããããŸãã
- æŽæ°ãã;
- ãã¹ãŠã®ã³ã³ãã€ã«ãšã©ãŒãæé€ããŸãã
- ã³ãããããŸãã
ãããžã§ã¯ããæ£ãããã©ã³ãã«åããããŠããããšã確èªããŠãã ããïŒ
å䜵ã¯ãããŒã åæã®èŠ³ç¹ã§æã䟿å©ã«å®è¡ãããŸãã ãã®ããŒã¹ãã¯ãã£ãã«åãæ¿ããŠããSynchronizeãããHistoryãããConsoleãããSVN RepositoriesãããProject Explorerãã®ãã¥ãŒãéããŸãã
ã¹ããã2.ããŒãžãã©ã³ã¯ã®åæããã³æçµãªããžã§ã³ã®æ±ºå®
æåã®ããŒãžã®æåã®ãªããžã§ã³ãšããŠããã©ã³ããäœæããããã©ã³ã¯ã®ãªããžã§ã³ãååŸããå¿
èŠããããŸãã ç§ãã¡ã®å Žåãããã¯40898ã§ãããã®æ°ã¯ããã©ã³ãã®ã«ãŒããã©ã«ããŒã®å±¥æŽã調ã¹ãŠã[ã³ããŒæã«åæ¢]ãã¿ã³ã䜿çšããŠç¢ºèªã§ããŸãã
æ確ã«ããããã«ããã©ã³ããäœæãããšãã«ãã©ãŒã ã®ã³ã¡ã³ããèšè¿°ããããšããå§ãããŸãã
Branched from trunk@40898
ãã©ã³ã¯ã®æçµãªããžã§ã³ã§ãã40906ãæçµãªããžã§ã³ãšèŠãªãå¿
èŠããããŸããã®çªå·ã¯ããSVNãªããžããªãã®åœ¢åŒã§ããŸãã¯ãããŒãžããã€ã¢ãã°ã®URLéžæãã€ã¢ãã°ã§ç¢ºèªã§ããŸãã
åŸç¶ã®å䜵ã§ã¯ãåã®ããŒãžã§æå®ããããã©ã³ã¯ã®åæãªããžã§ã³ããã©ã³ã¯ã®åæãªããžã§ã³ãšããŠååŸãããå¿
èŠããããŸãã ãã®æ°ãå¿ããªãããã«ãå䜵ã®çµæãã³ããããããšãã次ã®åœ¢åŒã®ã³ã¡ã³ããæžããŸãïŒ
Merged with trunk@40898-40906
ã¹ããã3.ããŒãžãã€ã¢ãã°ã«å
¥åãã
ã³ã³ãœãŒã«ãã¥ãŒã衚瀺ããŸãã
[ãããžã§ã¯ããšã¯ã¹ãããŒã©]ãã¥ãŒã§ããããžã§ã¯ãã®å³ãã¿ã³ãã¯ãªãã¯ãã[ããŒã ]-> [ããŒãž]ãéžæããŸãã ã³ã³ãœãŒã«ã衚瀺ãããããã«ã[ããŒãž]ãã€ã¢ãã°ã移åããŸãã
URLã§ããã©ã³ã¯ãžã®ãã¹ãéžæããŸãã... / test_area / trunk / test_project
æ¹èšçã§ã¯40898-40906ãèšå®ããŸãã
[ãã¬ãã¥ãŒ]ãã¿ã³ãã¯ãªãã¯ããŠãã³ã³ãœãŒã«ãš[ãã¬ãã¥ãŒã®ããŒãž]ãŠã£ã³ããŠã«è¡šç€ºãããçµæã®åŠ¥åœæ§ãå¶åŸ¡ããŸãã
OKãã¯ãªãã¯ããŸãã
ãã®æç¹ã§ã次ã®ã¢ã¯ã·ã§ã³ãèªåçã«çºçããŸãã
- svn mergeã³ãã³ããå®è¡ãããŸãã
- ãã©ã³ã¯ã§å€æŽãããããã©ã³ãã§å€æŽãããªãã£ããã¹ãŠã®ããŒã«ã«ãã¡ã€ã«ïŒChangedByOther.javaïŒã¯ããã©ã³ã¯ã®ããŒãžã§ã³ã«çœ®ãæããããŸãã ãããã£ãŠããã£ã¹ã¯äžã®ãã©ã³ã¯ãããã¡ã€ã«ãäœæãããäœæ¥ãããã®ãã¡ã€ã«ã®ä»¥åã®ããŒãžã§ã³ã¯ãã©ã³ãã®svnã«ãããŸãã
- ãã©ã³ã¯ãšãã©ã³ãã®äž¡æ¹ã§å€æŽããããã¹ãŠã®ããŒã«ã«ãã¡ã€ã«ïŒConflicted.javaïŒã¯ã次ã®åœ¢åŒã®diffãã¡ã€ã«ã«çœ®ãæããããŸãã
public class Conflicted {
<br><<<<<<< .working
<br> String str = "Conflicted-I changed it";
<br>=======
<br> String str = "Conflicted-Someone changed it";
<br>>>>>>>> .merge-right.r40906
<br>}
競åãã¡ã€ã«ããšã«ããããžã§ã¯ããã©ã«ããŒã«3ã€ã®ãŠãŒãã£ãªãã£ãã¡ã€ã«ãäœæãããŸãã
[ãã¡ã€ã«å] .merge-left.r [ãªããžã§ã³çªå·] | -ãã¡ã€ã«ã®å
ã®ããŒãžã§ã³ãå«ãŸããŠããŸãïŒããã¯ããªããšä»ã®äººã®å€æŽã®åã§ããïŒ |
[ãã¡ã€ã«å] .merge-right.r [ãªããžã§ã³çªå·] | -ïŒãã©ã³ã¯ããã®ïŒå€éšå€æŽãå«ããã¡ã€ã«ã®ããŒãžã§ã³ãå«ãŸããŠããŸã |
[ãã¡ã€ã«å] .working | -å€æŽãããã¡ã€ã«ã®ããŒãžã§ã³ãå«ãŸããŠããŸã |
ãåæããã¥ãŒã«ãsvn mergeã³ãã³ãã®çµæã衚瀺ãããŸãã
ã¹ããã4.å€éšå€æŽã®åŠç
æåã«ãå€æŽãããŠããªãæŽæ°æžã¿ãã¡ã€ã«ãåŠçããŸãã ç§ãã¡ã®ã¿ã¹ã¯ã¯å€æŽããã©ã³ã¯ãããã©ã³ãã«ã¢ããããŒãããããšã§ããããã[ãã¹ãŠã®çä¿¡å€æŽãåãå
¥ãã]ãã¿ã³ãã¯ãªãã¯ããããšã¯çã«ããªã£ãŠããŸãã
å¿
èŠã«å¿ããŠãåãã¡ã€ã«ã«ã€ããŠåå¥ã«æ±ºå®ããããã«ã¯ãªãã¯ããŸã-æ¯èŒãšãã£ã¿ãŒãéããŸãã ãã©ã³ã¯ããã®ãã¡ã€ã«ã®ããŒãžã§ã³ããŠã£ã³ããŠã®å·ŠåŽã«è¡šç€ºããããã©ã³ãããã®ããŒãžã§ã³ãå³åŽã«è¡šç€ºãããŸãã
å€æŽãç Žæ£ããã«ã¯ãæ¯èŒãšãã£ã¿ãŒã§åæ¹åæ¯èŒã¢ãŒããæå¹ã«ãïŒãã¿ã³ãæŒãå¿
èŠããããŸãïŒãã競åããªããã¹ãŠã®å€æŽãå³ããå·Šãžã³ããŒããã¿ã³ãã¯ãªãã¯ãããã¡ã€ã«ãä¿åããŸãïŒCtrl-SïŒã ä¿åãããšããã¡ã€ã«ã¯ãåæããã¥ãŒããæ¶ããŸãã
å€æŽãåãå
¥ããã«ã¯ããåæããã¥ãŒã§ãã¡ã€ã«ãå³ã¯ãªãã¯ãããåãå
¥ããããéžæããŸãã ãã¡ã€ã«ã[åæ]ãã¥ãŒããæ¶ããŸãã
ã¹ããã5.競åã®åŠç
ç§ãã¡ã®ã¿ã¹ã¯ã¯ãã©ã³ã¯ãããã©ã³ãã«ææ°ã®å€æŽãã¢ããããŒãããããšãªã®ã§ããã©ã³ã¯ã«å ãããããã¹ãŠã®å€æŽãããã«ä¿åããããã«ç«¶åãã¡ã€ã«ãä¿®æ£ããå¿
èŠããããŸãã ãããã®å€æŽã倱æãããšæãããå Žåã¯ãäœæè
ãšããã«ã€ããŠè©±ãåãããã©ã³ã¯ãå€æŽããŠãããŒãžããã»ã¹ãç¹°ãè¿ããŸãã
åãã¡ã€ã«ãåŠçããŠããã«ã¯ãªãã¯ãããšãæ¯èŒãšãã£ã¿ãŒãéããŸãã ãšãã£ã¿ãŒã®äžéšããã«ã§ç¹å®ã®å€æŽãéžæãããšããã©ã³ã¯ã®ç«¶åãããã©ã°ã¡ã³ãããŠã£ã³ããŠã®å·ŠåŽã«è¡šç€ºããããã©ã³ãã®ç«¶åãããã©ã°ã¡ã³ããå³åŽã«è¡šç€ºãããŸãã
å€æŽãç Žæ£ããã«ã¯ãæ¯èŒãšãã£ã¿ãŒã§åæ¹åæ¯èŒã¢ãŒããæå¹ã«ãïŒãã¿ã³ãæŒãå¿
èŠããããŸãïŒããšãã£ã¿ãŒã®äžéšããã«ã§ã³ã³ãã€ã«åäœèŠçŽ ãéžæããã競åããªãå€æŽããã¹ãŠå³ããå·Šã«ã³ããŒããã¿ã³ãã¯ãªãã¯ããŠããã¡ã€ã«ãä¿åããŸãïŒCtrl-SïŒã 次ã«ããåæãã®åœ¢åŒã§ããã¡ã€ã«ãå³ã¯ãªãã¯ãããããŒãžæžã¿ãšããŠããŒã¯ããéžæããŸãã ãã¡ã€ã«ã[åæ]ãã¥ãŒããæ¶ããŸãã
å€æŽãåãå
¥ããã«ã¯ããåæãã®åœ¢åŒã§ããã¡ã€ã«ã®å³ãã¿ã³ãã¯ãªãã¯ããŠã競åã®ç·šéããéžæããŸã-ã競åã®ç·šéãã¢ãŒãã§æ¯èŒãšãã£ã¿ãŒãéããŸãã ãã®äžã«ïŒé©ãïŒïŒãã¡ã€ã«ã®ããŒãžã§ã³ããŠã£ã³ããŠã®å·ŠåŽã«è¡šç€ºããããã©ã³ã¯ã®ããŒãžã§ã³ãå³åŽã«è¡šç€ºãããŸãã ãã®åŸãæ¯èŒãšãã£ã¿ãŒã§ã2è
éæ¯èŒã¢ãŒããæå¹ã«ãïŒãã¿ã³ãæŒãå¿
èŠããããŸãïŒãã競åããªãå€æŽããã¹ãŠå³ããå·Šã«ã³ããŒããã¿ã³ãã¯ãªãã¯ãããã¡ã€ã«ãä¿åããŸãïŒCtrl-SïŒã ããã«ããã¡ã€ã«ã¯ãŠã£ã³ããŠã®å·ŠåŽã§æåã§ç·šéã§ããŸãã 次ã«ããåæãã®åœ¢åŒã§ããã¡ã€ã«ãå³ã¯ãªãã¯ãããããŒãžæžã¿ãšããŠããŒã¯ããéžæããŸãã ãã¡ã€ã«ã[åæ]ãã¥ãŒããæ¶ããŸãã
ã¹ããã6.倱æããå€æŽã®ããŒã«ããã¯
ããšãã°ãæåŠãã代ããã«å€æŽãåãå
¥ããïŒãŸãã¯ãã®éïŒãªã©ã誀ã£ãŠäœãééã£ãããšãããå Žåããã¹ãŠããã€ã§ãç°¡åã«ä¿®æ£ã§ããŸãã
ããããžã§ã¯ããšã¯ã¹ãããŒã©ãã®åœ¢åŒã§ãã©ã³ããããã¡ã€ã«ã®ããŒãžã§ã³ã«ããŒã«ããã¯ããã«ã¯ããããžã§ã¯ããå³ã¯ãªãã¯ããŠã[ããŒã ]-> [å
ã«æ»ã]ãéžæããŸãã
ããŒãžããã»ã¹äžã«äœæããããµãŒãã¹ãã¡ã€ã«ã¯ãæåã§ããŸãã¯ããããžã§ã¯ããšã¯ã¹ãããŒã©ãã®åœ¢åŒã§ãããžã§ã¯ãã®å³ãã¿ã³ãæŒããããŒã ->ãªããžããªãšåæãéžæããŠåé€ã§ããŸãã ãã®åŸã[åæ]ãã¥ãŒã§ããããžã§ã¯ãã®[ãªãŒããŒã©ã€ããšæŽæ°...]ãã¿ã³ãã¯ãªãã¯ãã[ãããžã§ã¯ããšã¯ã¹ãããŒã©ãŒ]ãã¥ãŒãæŽæ°ïŒF5ïŒããŸãã
ããŒãžãåéããããã«ã[ããŒãž]ãã€ã¢ãã°ãå床åŒã³åºãå¿
èŠã¯ãããŸããã [åæ]ãã¥ãŒã§F5ããŒãæŒãã ãã§ãã å¿
èŠã«å¿ããŠãæåã«[åæ]ãã¥ãŒã®å·Šç«¯ã®ããŒã«ããŒãã¿ã³ãæŒããŠãç®çã®åæç»é¢ãéžæããå¿
èŠããããŸãã
ã¹ããã7.ãã©ã³ãã«ã³ããããã
åãã¡ã€ã«ã«ã€ããŠæ±ºå®ããåŸããã©ã³ãã«å¯ŸããŠæ¬¡ã®æäœãå®è¡ããå¿
èŠããããŸãã
- ã³ã³ãã€ã«ãšã©ãŒãæé€ããŸãã
- ãããžã§ã¯ããã³ãããããã«ã¯ããã©ãŒã ã®ã³ã¡ã³ããå¿
ãæžããŠãã ããïŒ
Merged with trunk@40898-40906
ãã®ããããã©ã³ã¯ãããã©ã³ãã«ææ°ã®æŽæ°ãããŠã³ããŒãããŸããã ãã®æäœãå®æçã«å®è¡ãããšãããŒãžæã«çºçããåé¡ã®éãæžããŸãã
PSã èšäºã®ç¯å²å€ã§ãSVN 1.4ãšSVN 1.5ã®éããæ
éã«æ€èšããããè€éãªç«¶åç¶æ³ã解決ããæ¹æ³ã説æããŸããã