Svn-resolve-conflicts
SVN-競合の解決
_Tom_は、プロジェクトのREADMEファイルを追加することにしました。 そこで彼は_README_ファイルを作成し、それにTODOリストを追加します。 これを追加すると、ファイルリポジトリはリビジョン6になります。
_Jerry_は、リビジョン6にある最新のコードをチェックアウトします。 そしてすぐに彼は働き始めます。 数時間後、_Tom_はREADMEファイルを更新し、変更をコミットします。 変更されたREADMEは次のようになります。
現在、リポジトリはリビジョン7にあり、_Jerry’s_作業コピーは古くなっています。 _Jerry_はREADMEファイルも更新し、変更をコミットしようとします。
Jerry’s READMEファイルは次のようになります。
ステップ1:競合を表示する
Subversionは、READMEファイルが最後に更新されてから変更されたことを検出しました。 そのため、_Jerry_は作業コピーを更新する必要があります。
SubversionはREADMEファイルとの競合があると不平を言っており、Subversionはこれを解決する方法を知りません。 したがって、_Jerry_は_df_オプションを選択して競合を確認します。
ステップ2:競合を延期する
次に、_Jerry_は_postpone(p)_オプションを選択し、競合を解決できるようにします。
テキストエディターでREADMEを開いた後、彼はSubversionに_Tom’s_コードと競合マーカー付きのコードの両方が含まれていることに気付きました。
_Jerry_は彼と同様に_Tom’s_の変更を望んでいるため、競合マーカーを含む行を削除するだけです。
したがって、変更されたREADMEは次のようになります。
_Jerry_は競合を解決し、コミットを再試行しました。
ステップ3:競合を解決する
上記のコミットでは、文字 C はREADMEファイルに競合があることを示しています。 _Jerry_は競合を解決しましたが、Subversionに競合を解決したことを伝えませんでした。 彼はresolveコマンドを使用して、競合の解決についてSubversionに通知します。