5

SVN ブランチとトランクがあります。トランクは定期的に変更されますが、ブランチは変更されません。

ときどき (週に 1 回としましょう)、ブランチのローカル作業コピーをトランクの最新の変更で更新したいと考えています。

理想的には、ブランチの最新バージョンで行うのと同じ方法でこれを行いたいと思います: Eclipse : Team->Synchronize を使用して、更新する前にすべての変更を確認できるようにします。

これは、別のリポジトリ (例: トランク) でも可能ですか? そうでない場合、更新する前にどのように変更を確認しますか??

私は Team->Merge を見ましたが、これは最初に変更を確認する可能性なしに、変更を作業コピーに直接更新するようです (プレビュー機能は混乱していると思いますし、素敵なサイドバイを提供しません) -Synchronize が持っている変更/競合の側面図)。

4

3 に答える 3

6

これを行う正しい方法は、Mergeを使用することです。Subclipseには、これを簡単に実行できるマージクライアントが含まれています。あなたはそれがあなたに本当のプレビューを与えないということは正しいです、しかしそれが機能する方法はSubversionの観点からより良いです。マージ結果ビューのUIは、基本的に同期ビューと同じです。作業コピーで行われたすべての変更を簡単に調べることができ、開いたEclipse比較エディターを使用すると、コミットする前に、コードで不要な変更の部分を非常に簡単に削除できます。

Synchronizeビューからこれを実行しようとする場合の問題は、コードエディターを使用して自分でマージを実行しているため、Subversionは何がマージされているかを認識しないことです。Subversionに最初にマージを行わせると、すべてのメタデータが適切に更新され、マージの結果をコミットする前に、コードを希望どおりに修正することができます。

于 2011-09-22T20:37:43.163 に答える
0

ブランチとトランクの両方を別々のEclipseプロジェクトとしてワークスペースにチェックアウトします。次に、いくつかのマージツールを使用します。たとえば、meldを使用して、それらの間の変更をマージします。マージ後、Eclipseでブランチを更新し、svnリポジトリと同期できます。これですべての変更を確認できます。(私はsvn eclipseプラグインを信じていないので、それは私がそれを行う方法です;))

于 2011-09-22T16:10:20.667 に答える