Eclipse の SVN は 2 つの陣営に分かれています。SVN の人々はSubclipseというプラグインを開発しました。Eclipse の人々はSubversiveというプラグインを持っています。大まかに言えば、どちらも同じことをします。それぞれの長所と短所は何ですか?
32 に答える
どちらも非常に似ていますが、Subversive は「Eclipse svn プロバイダー」です。私が主に Subversive を使用しているのは、いくつかの便利な機能があるためです。
履歴のグループ化
コミットごとに一連の行を表示するだけでなく、ブランチの履歴を閲覧しているときに、今日、週などでコミットをグループ化できます。
幹、枝、タグのマッピング
Subversive は、トランク、ブランチ、タグ (変更可能) のデフォルトの svn レイアウトを想定しているため、タグまたはブランチを作成するときはいつでも、ワンクリックでタグまたはブランチの名前を指定できます。
私が言ったように、これらは私が便利だと思う小さな違いです. どちらも mylyn でうまく機能しますが、全体として、これら 2 つの拡張機能には大きな違いはありません。
Subversive とのマージは面倒ですが (Subclipse は試していません)、うまくマージできたことはありません。マージのプレビューは素晴らしいですが、マージが完了しないか、時間がかかります。ほとんどの場合、コマンド ラインから問題なくマージを完了できます。
私はこれに答えることにクラックを取ります。私はSubclipseのプロジェクトリーダーで、プロジェクトのリリース等を全て管理しています。だから私の偏見は明らかです。
Subversive についてはあまり話さないつもりです。明らかに、それを使用して気に入っているユーザーがいます。どちらも成熟した製品であるため、機能的には製品は非常に似ています。
私がコメントしたいことの 1 つは、どういうわけか Subversive が「公式の Eclipse」プラグインであるというこの概念です。そのような指定がないので、それは真実ではありません。Eclipse はオープンソースの財団であり、ルール、プロセス、IP 要件などに従う必要があるプロジェクトは、財団でプロジェクトをホストできます。それはあなたを他のプラグインよりも多かれ少なかれ公式にするものではありません.
また、Subversive は創業以来「インキュベーション」段階にあり、卒業の要件を満たすことはないように思われます。ここでわかるように、プロジェクトのコミッターは 1 人だけであり、コミット アクティビティは非常に低いレベルまで減少しています。
では、なぜ Subclipse を使用する必要があるのでしょうか? 私たちは Subversion 自体に積極的に関与しています。私は Subversion PMC のメンバーであり、私たち (および Subversive のような他のプロジェクト) が API を使用できるように、Java 言語バインディングの維持を支援しています。
Subversion と直接連携して API を定義および改善し、必要な機能が Subclipse などのクライアントに確実に公開されるようにします。また、Visual Studio 統合 ( AnkhSVN ) および TortoiseSVN チームと緊密に連携し、協力して、クライアント間で比較的一貫したユーザー エクスペリエンスが得られるようにしています。
Subclipse は現在も積極的にメンテナンスされており、Eclipse バージョン 3.2 から 4.2 のサポートを維持しています。私たちは常にフィードバックに耳を傾け、コミュニティからのアイデアを取り入れようとしています. 最近の 1.8.x リリースには、大規模なプロジェクトで作業するとき (実際に目にするとき) に Eclipse のパフォーマンスを大幅に向上させる内部変更が含まれています。
Subclipse は、マージ トラッキング サポートなどの分野で先導してきました。最初に 1.5 でこの機能を追加し、その後のリリースでそれを進化させるために、Subversion チームと緊密に協力しました。多くの場合、私たちは新しい API の最初の消費者であり、機能を強化するために必要なフィードバックをプロジェクトに提供しました。また、数年前にグラフィカルなリビジョン グラフ機能を導入し、長い間求められていたこの機能を Eclipse ユーザーに初めて提供しました。
Subclipse で作成してほしい Subversive の特定の UI 機能がある場合は、コミュニティにアクセスしてディスカッション フォーラムに参加することをお勧めします。他のユーザーがあなたの見解を共有し、一緒に UI を改善できるかもしれません。
フォーラム[Subclipse-users] .
Eclipse 4.2 は、この投稿の時点での最新リリースですが、Subclipse は将来のすべての Eclipse リリースをサポートすると想定しても問題ありません。
Eclipse の新しいバージョンごとに、Subversive をインストールします。これは、Eclipse が提供する標準であるためです。そして毎回、私の既存のプロジェクトを認識するのに問題があります。
そのため、最終的に Subversive をアンインストールし、代わりに Subclipse をインストールしました。これは驚くほど機能します。また、Eclipse だけでなく、コマンド ラインからも SVN を頻繁に使用しますが、Subclipse はこれで問題ありません。
この投稿を読んだ後、Subclipse に変更しました。
http://eclipsezone.com/eclipse/forums/t77149.rhtml#92035407
Subversion との統合を頻繁に行う場合は、CollabNet Desktop - Eclipse Edition を好むでしょう。ダウンロードするには、CollabNet にアカウントを登録する必要がありますが、無料です。これは基本的に、より優れたマージ UI を備えた Subclipse です。
私は CollabNet と提携していません。
CollabNet は、改良されたマージ クライアントを Subclipse の未登録ユーザーが利用できるようにしました。更新サイトから Subclipse をインストールするときに CollabNet Merge Client 機能を選択することで入手できます。
Subversive を動作させることさえできなかったので、Subclipse と言います ;)
私は実際にそれらの両方が一種の吸うと思います。私の意見では、 TortoiseSVNを使用する方がはるかに優れたソリューションです。それははるかに堅牢で、うまく機能する傾向があり、私は常にSubclipseとSubversiveとの統合の問題を抱えていました。
どちらもかなり凶悪な疣贅を持っていますが、コマンドラインからチェックアウトしたプロジェクトで Subversive を動作させることができませんでした。
私はそれらの両方を試しましたが、Subclipse と Subversive はどちらもひどいものです。どちらも取り付けが大変です。Subversive を使用する場合、外部 SVN クライアントは使用できません。
ただし、変更を追跡し、ローカル リポジトリを破損しないように、Eclipse に SVN クライアントをインストールする必要があります。
Subclipseをインストールしていますが、TortoiseSVN を使用して実際にコミット/タグ付け/分岐/マージを行っています。
少なくとも機能するため、Subclipse。
これまでのところ、Subversive は失敗の連続でした。Subclipse でチェックアウトした古いプロジェクトのすべてではうまくいきません。
確かに両方の IDE プラグインに問題があります。ただし、TortoiseSVN やコマンドラインなどの他のソリューションを並行して使用することはできません。私は仕事で自分のプロジェクトに 3 つすべてを使用しています。
覚えておくべき重要なことは、すべてのクライアント SVN ソフトウェアが同じ SVN ファイル形式を使用する必要があるということです (これは SVN のバージョンによって異なります)。
私たちが発見したもう 1 つの問題は、クライアント ソフトウェアがサーバーとは異なる SVN ファイル形式を使用している場合です。(ファイル形式とは、SVN がプロジェクト ファイルについて知る必要があることを効果的に記録する、一見目に見えない .svn ファイルにすべての情報を表す方法を意味します)。1.5 サーバーと 1.6 クライアントの間に文書化されたバグがありますが、現在リンクが見つかりません。
SVN 1.5.5 サーバーとの非互換性のため、優れた (IMO) Subclipse 1.6 プラグインの実行に問題がありました。そのため、Subversive に戻りました。遅くて多少バグがありますが(ただし改善されています)、正常に動作します。ただし、サーバーが更新されたら、Subclipse に切り替えます。はい、TortoiseSVN でプロジェクトをチェックアウトし、Eclipse にインポートします (より高速です)。
他の投稿者がここで述べているように、1.6.x 形式でファイルを書き込む新しいバージョンの TortoiseSVN を実行すると動作しないことがわかりましたが、TortoiseSVN 1.5.x に戻すと問題なく動作しました。同じことがコマンドライン クライアントにも当てはまりました ( Antタスクで利用します)。
リポジトリにアクセスするためのプロトコルとしてsvn+sshを使用している場合は、Subclipse を選択することを強くお勧めします: Subversive は資格情報を適切に記憶できるほどインテリジェントではなく、作業コピーを更新するたびにユーザー名と秘密鍵の入力を求められます。設定したsvn-externalごとに。
「資格情報を記憶する」オプションは、このコンテキストでは壊れており、Subversive の最初の公開リリース以来存在しています。
それらのいずれかを会社で使用していて、それらを独自の Eclipse ベースの製品にバンドルしたい場合でも、Subclipse を使用すると、ビジネスに適した Eclipse Public License の下で利用できるため、作業がはるかに簡単になります。
一方、Subversive が完全に機能するには、いわゆるコネクタが必要です。そして、それらには個別の異なるライセンスがあります。そのため、Subversive 機能のためだけに 2 つまたは 3 つの異なるライセンスが必要になる可能性がありますが、他のすべてのEclipse プラグインはその 1 つの EPL のすぐ下にあります。これが、これらのコネクターが eclipse.org でホストされていない理由でもあります。
そのため、これらは Subversive のインストール後に動的にダウンロードされます (これは、単に eclipse.org 更新サイトをミラーリングするだけでは、会社のネットワークで使用可能な Subversive オフライン インストールが得られないことも意味します)。
私が Subclipse を選択したのは、Subversion プロジェクトと最も密接に関連しており、コア SVN 機能をより適切に処理できる可能性が高いためです。何らかの機能を実行できない場合は、TortoiseSVN をバックアップとして使用します。
ただの更新。私は最近Eclipseを再インストールしていて、SubclipseとSubversiveの選択に直面しました。私も、Subversive を動作させるのに苦労したので、Subclipse に行きました。
Linux 64 ビット マシンに完全にインストールされ、問題なく動作しています。更新、コミットなどの最も一般的な機能をショートカットにマッピングしましたが、これは素晴らしいことです。マージも良好ですが、より大きなマージの場合は、TortoiseSVN を使用します。3.5 と 3.6 の両方で試してみましたが、どちらも正常に動作します。何らかの理由でキーバインディングが 3.6 で機能しなかったため、3.5 を使用することになりました。
2008年5月頃までSubclipseを使用していましたが、一部のプロジェクトで問題が発生したため、Subversiveに切り替えて問題なく使用しています。ヘッドレスバックミンスタービルドのような派手なことをしているなら、Subversiveは間違いなく一緒に行くものです。
TortoiseSVN を使用して定期的にバージョンを更新すると、Subversive を使用する Eclipse がすべての SVN 情報を失い、いくつかの恐ろしいエラーをスローすることがあります。
その理由は、TortoiseSVN の新しいバージョンでは、Eclipse SVN コネクタも最新の状態に維持しない限り、Eclipse Subversive が理解できない新しいメタ データが追加されるためです。
私は通常 SVNKit コネクタを使用するので、TortoiseSVN 1.5.x は Eclipse SVNKit コネクタ 1.5.x で動作し、TortoiseSVN 1.6.x は Eclipse SVNKit コネクタ 1.6.x で動作します。
Subversive has more advantages than the Subclipse as listed below. But just one feature Subversion does not have is so critical about using branches. So we have to use Subclipse.
Subversive advantages:
- View and icons are more informative
- After commit sync items are refreshed, committed file is closed.
Subclipse advantage
- ability to compare two branches
私にとってはどちらが良くも悪くもありませんが、Subversive は Eclipse Ganymede プラットフォームのデフォルトの SVN プラグインであるため、Eclipse との統合が改善される可能性があります。
私はどちらも Helios で作業しましたが、プロパティのサポートが優れているため、Subclipse を少し好みbugtraq
ます (詳細はこちら)。
履歴ビューには別の列が表示され (タイトルbugtraq:label
は で、s が表示されますBUGID
)、コンテキスト メニューには「バグ URL を開く」専用のアクションがあります (へのリンクbugtraq:url
) -- Subversive でこの情報にアクセスする方法がわかりませんでした。
Brendonsの回答への追加として:
バージョン 1.5.1 から Subversion を使用し、最初に Subclipse を使用しました。しかし、マージ機能に大きく依存しているため、より便利で、マージ ダイアログに別の再統合オプションがある Subversive に切り替えました。
マージを妨げる可能性のあるバグの 1 つは、リビジョンを明示的に選択すると、リストされている最後のリビジョンが取得されないことです。たとえば、"101-100" は r100 をマージせず、"100" は何もマージしません。(バージョン 0.7.5)
また、CVS プラグインと同じインジケーターを使用しています。
Subclipseでプロパティの差分を表示する方法がわからないことに気づきました。Subversiveで、履歴ビューで2つのリビジョンを選択し、右クリックしてポップアップからプロパティの比較を選択します。これは私がSubversiveに固執するのに十分です。
切り替えを試みた理由は、OS XでのSubversiveの奇妙な動作でした。「svncacheupdate」と呼ばれる自動操作は、「svn update」の実行ごとに異常なレベルでCPUを占有し、完了するまでに常に厄介な長い時間がかかりました。
私は実際には使用していませんが、組み込みのCVSサポートと同じように、Subversiveは「CheckOutAs」をサポートしているようです。
同様に、SVNからプロジェクトを取得し、それをWebプロジェクトとして実行できるようにするには、一度に実行できる可能性があります。しかし、Subclipseで同じ結果を得るには、ソースをチェックして実行します。
mvn eclipse:eclipse -Dwtpversion = 2.0
私は両方を使用しましたが、Subclipse は不安定でしたが、Subversive は (少なくとも以前のバージョンでは) 誤って間違った資格情報を入力した同僚のアカウントをロックアウトしました (ネットワーク ログインは、Subversion リポジトリへのアクセスに使用されます)。 )。
Subclipse は、時間の経過とともに混乱する傾向があります。Eclipse が定期的に更新されていない場合、Subclipse はファイル追跡情報を失っているようです。正直なところ、私はEasy Explorer Pluginを持っているので、履歴と変更情報には Subversive を (ときどき) 使用しますが、最近変更したことがわかっているプロジェクトのコミットと更新には TortoiseSVN を簡単に探索して使用します。
Subversive に対する Subclipse の利点... 実際に機能します!
Subclipse に依存する Eclipse 用の共同プラグインを開発するとき、私はずっと前に Subclipse を使用しました。プラグインの Subclipse 部分は決して問題ではありませんでしたが、Antの全体についてはまだ少し混乱しています。
私は今日、PDT (まったく別のブログです) をインストールしてから、Subversive をインストールしようとしています。これは、多くの場合と同様に、「Eclipse SVN プラグイン」として描かれているためです。一度に 4 つのコネクタをインストールすることができなかったので、一度に 1 つずつインストールする必要があり、一度に 1 つずつインストールしてみましたが、一度に 1 つずつ SVN サーバーで認証できませんでした。
プラグインのさまざまな問題に時間を費やすのではなく、時間を節約したいので、PDT と Subversive を試しています。
Subversive をアンインストールし、Subclipse をインストールして、そのまま接続しました。
時間と手間を省き、最初から Subclipse に進みましょう。
Ganymede にアップグレードして以来、Subversive を使用しています。Linux (Ubuntu および Fedora Core)、Windows XP、および Mac OS X.5 の Eclipse で使用しています。Subversion 1.5.1 が Mac OS で適切なセキュリティ ライブラリを使用する際の問題を除けば、私には何の問題もありませんでした。Eclipse テクノロジ プロジェクトとして採用されたことを考えると、長期的な期待という点で、私はそれに賭けたいと思っています。
チームで両方を試しました。
Subclipse (Galileo/Helios のもの) は VAS 経由で SVN サーバーを認証する際に問題があったため、他の場所、つまり TortoiseSVN クライアント、ブラウザー (Internet Explorer 7 を除く) では問題はありませんでした。
そこで、インストールSubversive
して問題を解決しました。
FWIW、私たちは古いバージョンの SVN サーバー (1.4 程度) を使用しています。ある時点で Subclipse の更新が行われ、下位互換性が失われたことを覚えているようです。とにかくSVN」。
古いバージョンを処理できるように見えたのは Subversive だけでした。詳細は覚えていませんが、すみません。
Subversive を動作させることさえできた他の人たちと同じ問題を抱えていたので、Subclipse よりも優れているかどうかはわかりません。
タグとブランチの Eclipse との統合に関しては、Subclipse には本当に欠けています。それらを行うことはできますが、CVS の場合ほどシームレスではありません。
私も両方使ったことがあります。ワークスペースに約 150 個のプロジェクトがあり、すべてのプラグインを選択して「リポジトリを同期する」と言ったときに、Subversive に非常に長い時間がかかるという問題がありました。UI が非常に長い間フリーズしていました。Subclipse の方が安定していると思います。
とにかく、ツールをたくさん組み合わせます。ブランチ全体のチェックアウトなどの一部のタスクでは、コマンド ラインを使用します。他の人にはTortoiseSVNを使用します。私は主に Subclipse を使用して履歴を表示し、ツールで直接比較を実行します。また、ときどき比較することもあります (そのためにはBeyond Compareを使用します)。
Zend の Eclipse 実装である Zend Studio 9 を使用している場合は、Zend Studio にデフォルトで同梱されている Subversive の代わりに Subclipse を使用することをお勧めします。
Subversive と Zend Studio 9 に関する問題と、代わりに Subclipse を使用する解決策を Zend フォーラム に投稿しました。