書くネタ無いのでお馬鹿な失敗談を。
プログラムのコードをSVNで管理していて、ローカルではこんなファイル構成に。
~/project
+- .svn
+- File1
+- File2
+- ...
予想外に規模が大きくなってきたので「サーバ上で」trunk/branchsとフォルダを切り、File1, File2,...などをtrunkに移動。ローカルではFile1, File2, ...を削除、
~/project
+- .svn
そのフォルダにtrunkサブフォルダを作り、(この時点で分かっている人からは「馬鹿たれ」と言われるはず)
~/project
+- .svn
+- trunk
改めてtrunkに対し、サーバからCheck out。
~/project
+- .svn
+- trunk
+- .svn
+- File1
+- File2
+- ...
サーバ上でtrunkからbranchs/branch1に複製。
[サーバ上]
project
+- .svn
+- trunk
+- .svn
+- File1
+- File2
+- ...
+- branchs
+- branch1
+- .svn
+- File1
+- File2
+- ...
ローカルではprojectフォルダの下にbranch1を作成、先ほどのbranchs/branch1をCheck out。
~/project
+- .svn
+- trunk
+- .svn
+- File1
+- File2
+- ...
+- branch1
+- .svn
+- File1
+- File2
+- ...
branch1で変更を加えてcommitというのを繰り返して、いざbranch1をtrunkにマージしようとすると画像のようにTree conflict。逆にtrunkからbranch1にマージでもTree conflict。気を取り直してtrunkからbranch2を複製するも、branch2をちょっと変更してcommitしただけでマージ時にTree conflict。
何がいけないのかというと、~/project直下の.svnを削除してなかったこと。焦っていると気づかないもので。
Comments