6

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

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

[更新]トーマスとスキッピーの返事に応えて。

答えてくれてありがとう。そのため、SVNには、競合解決プロセスを再実行するコマンドがありません。個人的にはそれは最悪だと思います。

SVN競合解決プロセスの選択肢の1つは、保持するファイルを選択するオプションです。SVN内でこれを行うと、SVN自体が適切なファイルのコピーと削除を処理するという利点があります。これにより、ユーザーがファイルシステムを直接操作する必要がなくなり、ミスを犯す可能性が低くなります。

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

それとは別に、それは単にコーディングされていないので、SVNが競合解決プロセスを再開する機能を提供しない理由はありますか?(おそらく、path引数だけでsvnresolveを呼び出すことによって)。これが便利なもう1つの理由は、1つのファイルを解決するか、作業コピーまたは作業コピー内のサブツリーで再帰的に機能するかを選択できる可能性があることです。

4

3 に答える 3

4

svn 1.8.8では、対象のファイルに対して「svn resolve」を実行すると、svnはインタラクティブな競合解決を提供します

于 2015-08-04T09:20:50.953 に答える
2

選択肢を再提供するためにそれを取得することはできません。次のもの以外に選択肢はありません:

  • 競合するテキストを「手動で」マージします(ファイル内の競合マーカーを調べて編集します)。

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

  • svn revertを実行して、ローカルの変更をすべて破棄します。

競合を解決したら、svnresolvedを実行してSubversionに通知する必要があります。これにより、3つの一時ファイルが削除され、Subversionはファイルが競合状態にあると見なしなくなります。[6]

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

于 2012-05-04T09:37:11.167 に答える
0

SVNは二度とあなたに尋ねません。svn statただし、コマンドラインから実行すると、競合しているファイルのリストが表示されます。これらは「C」でマークされます。変更されたファイルがある場合は「M」が表示され、追加されていないファイルがある場合は「?」が表示されます。

次に、各ファイルを手動で実行する必要がsvn resolveあります。

于 2012-05-04T09:39:07.017 に答える