書くネタ無いのでお馬鹿な失敗談を。
プログラムのコードを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