local delete, incoming delete upon merge
ステータス表示
表示例
! C unity/Assets/ResourcesOutside/Effects/Mesh/FBX/UVanimation.js.meta
> local delete, incoming delete upon merge
理由
マージ先及びマージ元両方で削除された
解消方法
このコンフリクトが発生した作業ディレクトリ内には該当ファイルは存在しないが、svn上に「削除」の情報が残っている状態となっている。
svn から情報を削除するには以下のようにrevert
サブコマンドを使う
例
$ svn revert path/to/conflicted_file
大量にある場合は以下のワンライナーで一括で削除できる。
例
$ svn st | grep -E '^!.{0,6}C' | awk '{print $3}' | xargs svn revert
local edit, incoming delete upon merge
理由
マージ先で変更されたファイルがマージ元から削除されている
ステータス表示
表示例
C tools/Gemfile
> local edit, incoming delete upon merge
解消方法
マージ先の状態を保持する場合、svn resolve --accept working
で作業ディレクトリの内容を採用する。
例
$ svn resolve --accept working path/to/conflicted_file
マージ先から該当ファイルを削除する場合、 svn delete
で作業ディレクトリからファイルを削除する。
例
$ svn delete path/to/conflicted_file
local add, incoming add upon merge
理由
ローカルとマージ元の両方で同じファイルが追加された
ステータス表示
例
C any/SomeFile
> local add, incoming add upon merge
解消方法
マージ先(元々の作業ディレクトリの状態)のままで良い場合、svn resolve --accept working
で解消。
例
$ svn resolve --accept working
マージ元を反映したい場合、一旦、svn delete
で作業ディレクトリのファイルを削除した後、再度マージを実行する。
マージ対象のリビジョンは svn log
でマージで該当ファイルを追加/変更したリビジョンを指定する。
例
$ svn log ^/branches/hoge # 表示される情報からマージ元のリビジョンを確認
$ svn delete path/to/conflicted_file # 一旦削除
$ svn mrege ^/braches/hoge --ignore-ancestry -c XXXX # マージ元に追加された内容を作業ディレクトリに反映