web-dev-qa-db-ja.com

ツリーの競合の解決

現在のシーンでツリーの競合を解決する方法。

C:\DevBranch
C:\MyBranch

両方のブランチを更新しました。 MyBranchを編集してからコミットし直しました。次に、これらの変更をDevBranchにマージします。マージを実行すると、「ツリーの競合」が発生します

The last merge operation tried to add the file 'abc.def', but it was already added locally.

How do you want to resolve this conflict?
Keep the file from repository
Keep the local file

どうすれば解決できますか?

83
coure2011

競合を解決するためにできることは

svn resolve --accept working -R <path>

<path>は競合がある場所です(リポジトリのルートになります)。

説明:

  • resolvesvnに競合の解決を要求します
  • accept workingは、作業ファイルを保持することを指定します
  • -Rは再帰を表します

お役に立てれば。

編集:

以下のコメントで言われたことを要約すると:

  • <path>は競合するディレクトリでなければなりません(OPの場合はC:\DevBranch\
  • 紛争の起源はである可能性が高い
    • svn switchコマンドの使用
    • またはブランチ作成時にSwitch working copy to new branch/tagオプションをチェックした
  • 競合の詳細については、 Tortoiseのドキュメントの専用セクション を参照してください。
  • コマンドを実行できるようにするには、Tortoiseと一緒にCLIツールをインストールする必要があります。

Command line client tools

163

基本的に、ブランチのフォルダ構造に何らかの再構成がある場合、ツリーの競合が発生します。競合フォルダーを削除し、svn cleanを1回使用する必要があります。これがあなたの対立を解決することを願っています。

0
Ujjwal Raj Shah