2011-12-06 22 views
1

チームがソフトウェアを並行して開発する際、マスターrepostitoryが経験した変更がローカルファイルの変更と矛盾する状況があります。マスターからの変更を含むように作業コピーを更新しようとすると、手動で解決する必要があるマージの競合が発生する可能性があります。開発者は、マージ競合の解決策を提示した後、マージしてマークし、その結果をマスター・リポジトリにコミットできます。Subversionリポジトリのマージ競合の履歴を理解する

Subversionリポジトリの履歴を調べると、ファイルが最初に追加された日時、変更日時、特定のファイルが削除された日時などがわかります。私はこれらの出来事にどのようなコード行が含まれているのかを見ることさえできます。

私の質問は次のとおりです。Subversionリポジトリの履歴には、開発プロセス全体で起こったマージ競合に関する情報が含まれていますか?これらの競合が解決されたらどうなりますか?このタイプの情報はどこにも保存されていないという印象を受けますが、他の人がこのことに関する考えや洞察を持っていれば、私は不思議です。

答えて

1

いいえ、Subversionは競合が発生したことを記録しません。これは、更新を実行したときに発生し、更新を行ったユーザーによって解決されます。 svnがリビジョンがマージされたことを知る唯一の方法は、ルートフォルダのmerge-infoプロパティからです。それが解決されるとそれは単なる編集であるため、編集として表示されます。アップデートからのバージョンがローカル変更の代用品である場合、元に戻すことができます。

0

いいえ、マージプロセスはクライアントアクションで、「マージされた」ファイルがリポジトリにアップロードされます。サーバーによって保存される唯一の履歴は、最終アクション、アップロードです。

関連する問題