32

私と私の友人は、プロジェクトの subclipse で flex ビルダー (Eclipse ベース) を使用しています。

コミットする前に常に更新しますが、競合のためにコミットできないこともあります。次に、Team->Synchronize with Repository を使用すると、右側に最新のリポジトリが表示され、左側に現在の作業コピーが表示されます。すべての非競合から右から左に (最新のリポジトリから私の作業コピーに) コピーするボタンがあります。しかし、まだ矛盾する線があります。

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

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

(私はsubclipse 1.4を使用しています)

4

4 に答える 4

53

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

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

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

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

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

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

于 2009-10-08T20:54:35.697 に答える
11

このスレッドが古いことは知っていますが、誰かが最新の回答を探している場合、私の経験が役に立ちます。
subclipse 1.8 を使用しています。元のファイルを右クリックして [Mark Resolved...] を選択すると、いくつかのオプションが表示されます。特に、ローカル ファイルまたはベース ファイルを正しいバージョンとして取得します。これらのオプションを使用すると、時間を節約できます。

于 2012-09-14T08:01:21.193 に答える