web-dev-qa-db-ja.com

サブクリップの競合解決

私と私の友人は、Flex Builder(Eclipseベース)とプロジェクトのサブクリップを使用しています。

コミットする前に常に更新しますが、競合のためにコミットできない場合があります。次に、「チーム」->「リポジトリと同期」を使用します。リポジトリの最新の右側に現在の作業コピーが左側に表示されます。すべての非競合から右から左に(最新のリポジトリから作業コピーに)コピーするボタンがあります。しかし、相反する行がまだあります。

左から右にコピーしたいだけの場合もありますが、そのボタンはありません(リポジトリファイルの行を自分の行で上書きすることを意味します)。競合しない部分を右から左にコピーした後、左側をコミットするだけです(最終ファイルをリポジトリに上書きしてコミットします)。これらの競合の問題のため、私はコミットできません。その後、私の友人は、Replace With-> Latest from Repositoryコマンドを使用して、最新の上書きバージョンを取得できます。

Subclipseのドキュメントが弱いインターネットで良いガイドが見つかりませんでした。私のようなダミーのサブクリップの競合解決を段階的に説明してもらえますか?手順を示すビデオ、またはそれを迅速に修正するエイリアンテクノロジーは問題ありません。日食のソース管理のためのより良い(簡単な)ソリューションはありますか?

(私はサブクリップ1.4を使用します)

32
Gok Demir

はい、あなたは正しいです。そのためのボタンはありません。差分ビュー(サイドバイサイドビュー)では、赤色のアイテムが競合しています。それらは自動的にマージできません。競合しているアイテムを確認し、競合しているコードブロックをコピー/編集して手動で解決する必要があります。

リポジトリへのコミットまたはリポジトリからの更新(リポジトリとの同期)後、一部のアイテムが競合していることがコンソールビューに表示されます。パッケージでそのファイルを見ると、元のファイルのすぐ横に3つのファイルが表示されます。

myfile.txt (original file)
myfile.txt.mine
myfile.txt.r3293 
myfile.txt.r3501

元のファイルを右クリックし、[チーム]-> [競合の編集]を選択します。提供されているDiffビューで、左側のファイルを編集して、目的の最終結果に一致させます。 (つまり、一部の変更を保持し、SVNのリビジョンから新しい更新をコピーし、すべての変更を破棄し、変更のみを保持するなど)完了したら、ファイルを保存します。元のファイルをもう一度右クリックして、[チーム]-> [Resovledをマーク]を選択します。

追加の3つのファイルが消えることがわかります。これで、作業を「安全に」コミットできます。

このような競合が発生した場合、SVNは最適なオプションを決定できないため、これを行う簡単な方法はありません。

53
blissfool

私はこのスレッドが古いことを知っていますが、誰かが最新の答えを探しているなら、私の経験が役立ちます。
サブクリップ1.8を使用しています。元のファイルを右クリックして「解決済みをマーク...」を選択すると、いくつかのオプションがあります。特に、ローカルファイルまたはベースファイルを正しいバージョンとして使用します。これらのオプションで時間を節約できます。

11
eternay

「解決済みのマーク」が見つからないため、生成されたファイルを手動で削除した後、「マージ済みとしてマーク」をクリックしました。

4
princepiero

次の手順を実行します。

  • 最新の作業中の更新を安全な場所にコピーします。

  • 競合するファイルを選択します。右クリックして、[置換]を選択し、[リポジトリから最新を選択]を選択します。

  • 次に、保存した作業コピーに戻り、現在のファイルの内容(上記の手順で上書きされたもの)を手動で置き換えます。

  • 次に、チームから[コミット...]を選択します。この方法で競合を解決し、最新の更新をSVNリポジトリに保存します。

0
Hasan