問題は、最初のデータモデルから始めると、Xcodeがファイルを作成することです。たとえば、myProject.xcdatamodeld
メニューエディタ>モデルバージョンの追加を使用して、_myProject_v2_という名前のモデルの2番目のバージョンを作成するとします。Xcodeが実際に行うことは、元のモデルという名前のフォルダーを作成し、元のモデルをサブフォルダーにコピーしてから、新しいバージョンを含むファイルを使用して2番目のサブフォルダーを作成することです。
myProject.xcdatamodeld
|
+- myProject.xcdatamodel
| |
| +- contents (a file containing the actual model)
|
+- myProject_v2.xcdatamodel
|
+- contents (a file containing the 2nd version of the model)
そのため、SVNは混乱します。なぜなら、彼が考えているのはファイル(元のmyProject.xcdatamodeld)であり、SVNに格納されているのは、サブフォルダーを含むフォルダーになっているからです。さらに、XCodeによって作成されたこれらのサブフォルダーは、最終的には非表示の.svnフォルダーを取得します。したがって、私の解決策は次のとおりです。
- SVNからフォルダーmyProject.xcdatamodeldを削除します
- 残りのコミットを行う
- Xcodeを閉じて、フォルダプロジェクトの名前を変更します。eh:_projectFolder_old_
- プロジェクトのチェックアウトを実行します。これには、myProject.xcdatamodeldが含まれないことが望ましいです。
- xcode内から、myProjectという名前の偽のデータモデルを作成します。モデルには何も作成しないでください、それは役に立たない
- エディタ>モデルバージョンの追加を使用してバージョン管理します
- XCodeを閉じる
- myProject.xcdatamodeldの古いデータモデルをFinderで開きます(マウスの右ボタン、パッケージの内容を表示)
- Finderで元のモデルを開き、コンテンツファイルを* projectFolder_old / myProject.xcdatamodeld / myProject.xcdatamodel *から新しいプロジェクトにコピーします:projectFolder / myProject.xcdatamodeld / myProject.xcdatamodel (いくつかのパッケージコンテンツ の表示を行う必要があります)
- 2番目のバージョンについても繰り返し、コンテンツファイルを* projectFolder_old / myProject.xcdatamodeld / myProject_v2.xcdatamodel *から新しいプロジェクトにコピーします:* projectFolder / myProject.xcdatamodeld / myProject_v2.xcdatamodel *
- Xcodeを再度開き、すべてが正しいことを確認します
- まだ追加されていない場合は、ファイルをsvnに追加し、コミットを実行します