2012-05-04 12 views
6

SVNで競合する更新を行うと、SVNはファイルの受け入れ、外部のマージプログラムの起動、競合解決の延期など、各ファイルの競合を処理するためのさまざまなオプションを提供します。SVN。対話型の競合解決を再試行

競合の解決を延期することを選択した場合、SVNに競合解消プロセスを繰り返す方法を教えてください。具体的には、どのようにSVNにファイルを受け入れるか、外部のマージツールを起動するかの選択肢を再度提供するようにしますか?

[更新] Thomas and Skippyの返信に応じて。

お返事ありがとうございます。 SVNには、衝突解決プロセスを再実行するコマンドがありませんでした。個人的に私はそれが吸うと思う。

SVN競合解決プロセスの選択肢の1つに、どのファイルを保存するかを選択するオプションがあります。 SVN内でこれを行うと、SVN自体が適切なファイルのコピーと削除を処理するという利点があります。これは、ユーザがファイルシステムを直接混乱させる必要性を排除し、間違いの可能性を減らします。

SVN競合解消プロセスのもう1つの選択肢は、外部マージエディタを起動するオプションです。起動されるエディタとセットアップ方法は、SVN設定ファイル内で設定できます。これは、ユーザーが3つのファイルを外部のマージエディタに手動でロードする必要がないため、非常に便利です。

SVNが競合解消プロセスを再開するための機能を提供していない理由は何もありません。 (たぶんpath引数でsvn resolveを呼び出すことによって)。これがうまくいくもう一つの理由は、作業コピーまたは作業コピー内のサブツリーに対して、1つのファイルを解決するか、再帰的に機能するかを選択できるということです。

+0

まさにインタラクティブな紛争解決を提供するマージを終え、時間を節約するために解決します。 :( – ronnyfm

答えて

2

1.8.8 、SVNは、それが非対話型オプションの利便性を殺し、

2

選択肢を再度提供することはできません。あなたは選択の余地はなく、次のものがありません:

  • を(ファイル内 衝突マーカを調べ、編集して)、「手で」衝突したテキストをマージします。

  • 作業ファイルの上に一時ファイルの1つをコピーします。

  • svn revertを実行すると、すべてのローカル変更が破棄されます。

あなたは競合を解決したら、Subversionが解決 実行しているのsvnでお知らせする必要があります。これにより3つのテンポラリファイルが削除され、 Subversionはそのファイルが の状態にあるとみなしません。[6]

http://chestofbooks.com/computers/revision-control/subversion-svn/Postponing-Conflict-Resolution-Tour-Cycle-Resolve-Pending.htmlから)

+0

第4のオプションがあります - あなたは手動でマージプログラムを '.mine'、' .rOLDREV'と '.rNEWREV'ファイルで起動し、ベースファイル名(バージョンファイル)をマージ出力として起動できます。 svnは、外部マージプログラムを起動するときに行います。 – george

0

SVNは再びあなたを要求しません。ただし、コマンドラインからsvn statを実行すると、競合しているファイルの一覧が表示されます。これらは "C"でマークされます。変更されたファイルが "M"で表示された場合、または追加されていないファイルがある場合は "?"が表示されます。

これで、各ファイルに対して手動でsvn resolveを実行する必要があります。あなたが興味のあるファイルの「SVNの解決」を実行する場合はsvnで

関連する問題