2009-10-08 37 views
32

私と私の友人はプロジェクトのためにsubclipseでflexビルダー(Eclipseベース)を使用しています。Subclipseの競合の解決

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

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

Subclipseのドキュメントが脆弱です。インターネット上で適切なガイドが見つかりませんでした。あなたは私のようなダミーのためにステップバイステップの矛盾の解決を説明できますか?ステップを示すビデオ、またはそれを素早く修正するエイリアンの技術は問題ありません。 Eclipseのソース管理のためのより良い(簡単な)ソリューションはありますか?

(私はsubclipse 1.4を使用)

+5

時にはエクリプスの生態系が私を怒らせることがあります。 – smartnut007

+1

@ゴク:私は良いニュースがあると思う:最後にsubclipseは "私の解決/自分の/ ..."仕事をします。悪いニュースは、ダイアログが "マーク解決済み"をクリックした後にのみ表示されることです(私は既に手作業ですべての競合を!!!!に修正しています) –

答えて

53

はい、あなたは正しいです。そのためのボタンはありません。 Diff View(Side-by-Side View)では、赤色の項目が競合しています。自動マージはできません。矛盾しているコードブロックをコピー/編集して、矛盾しているアイテムをレビューし、手動で解決する必要があります。

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

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

チームを選択し、あなたの元のファイルを右クリック - >編集の競合。提供された差分ビューでは、左側のファイルを編集して、必要な最終結果と一致させます。 (つまり、いくつかの変更を保存し、SVNのリビジョンから新しい更新をコピーし、すべての変更を破棄して変更を保存するなど)。完了後、ファイルを保存します。元のファイルを右クリックし、[Team] - > [Resolved Mark]を選択します。

追加3ファイルが表示されなくなります。あなたはあなたの仕事を「安全に」コミットできるようになりました。

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

+5

SVNはこの場合決定する必要はなく、OPは明示的に彼/彼女自身のリモートアップデート。ここで私のフルを参照してください:http://svnbook.spears.at/nightly/en/svn.ref.svn.c.resolve.html subclipseは本当にこれを持っている必要があります。 –

+0

@Sequoia、初心者の質問をお詫び申し上げますが、私はその投稿に混乱している。この機能は既にコミットされており、SVNの夜間ビルドにチェックインされているようです。それは今後のリリース(1.7.7?1.8?)で利用可能になるのでしょうか?それは解決/作業コピーを持つことはとても素晴らしいことです!ありがとうございました! – AnneTheAgile

+0

競合の解決に加えて、競合していない変更も右から左へマージする必要があることに注意してください。上記の回答のように手動で編集した場合は、[チーム - >マーク解決済み]をクリックした後、[ファイルで解決された競合]を選択します。 – Madbreaks

11

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

4

"解決済みのマーク"が見つかりませんでした。その代わりに、生成されたファイルを手動で削除した後に、「マージ済みとしてマークする」をクリックしました。

+0

これは同じことをするようです。 – otajor

0

は、次の手順を実行します。

  • は安全な場所に最新の作業の更新プログラムをコピーします。

  • 右クリック> [置き換える]を選択する>> [最新のリポジトリを選択]を選択します。

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

  • チームからコミットを選択してください... このようにして競合を解決し、最新のアップデートをSVNリポジトリに保存しました。

関連する問題