Eclipse、Subclipse、Subversive 用の SVN プラグインの長所と短所は何ですか?[閉まっている]

StackOverflow https://stackoverflow.com/questions/61320

質問

Eclipse の SVN は 2 つの陣営に分かれています。SVN の人々は、と呼ばれるプラグインを開発しました。 サブクリプス. 。Eclipse の人々は、というプラグインを持っています。 破壊的. 。大まかに言えば、どちらも同じことを行います。それぞれの長所と短所は何ですか?

役に立ちましたか?

解決

どちらも非常に似ていますが、Subversive は「eclipse svn プロバイダー」です。私が主に Subversive を使用しているのは、いくつかの便利な機能があるためです。

履歴のグループ化

ブランチの履歴を参照しているときに、各コミットの行を単に表示するのではなく、コミットを今日、週などでグループ化できます。

トランク、ブランチ、タグのマッピング

Subversive はデフォルトの svn レイアウトを想定しています。トランク、ブランチ、タグ (変更可能) なので、タグやブランチを付けたいときはいつでも、ワンクリックでタグまたはブランチの名前を指定できます。

先ほども言いましたが、これらは私が便利だと思う小さな違いです。どちらも mylyn でうまく機能しますが、全体的には、これら 2 つの拡張機能には大きな違いはありません。

ただし、Subversive とのマージは面倒です (Subclipse は試したことはありません)。私はマージに成功したことがありません。マージのプレビューは素晴らしいですが、マージが完了しないか、非常に時間がかかります。ほとんどの場合、コマンド ラインからのマージは問題なく完了します。

他のヒント

私はこれに少し答えてみます。私は Subclipse のプロジェクト リーダーで、リリースなどのすべての管理を行っています。プロジェクトのために。したがって、私の偏見は明らかです。

Subversive についてはあまり話すつもりはありません。明らかに、それを使用し、気に入っているユーザーがいます。どちらも成熟した製品であるため、機能的には非常に似ています。

私がコメントしたいことの 1 つは、どういうわけか Subversive が「公式 Eclipse」プラグインであるという考えです。そのような指定はないので、それは真実ではありません。Eclipse はオープンソース基盤であり、そのルール、プロセス、IP 要件などに従うことを望むあらゆるプロジェクトです。財団と協力してプロジェクトを主催することができます。だからといって、他のプラグインと比べて公式なものになるわけではありません。

また、Subversive は設立以来「育成」段階にあり、卒業の要件を満たすとは思えないことにも注意してください。ここでわかるように、プロジェクトにはコミッターが 1 人しかおらず、コミット活動は非常に低いレベルまで低下しています。

破壊的 - SVN チームプロバイダー

では、なぜ Subclipse を使用する必要があるのでしょうか?私たちは Subversion 自体に積極的に関わっています。私は Subversion PMC メンバーであり、私たち (および Subversive などの他のプロジェクト) が API を使用できるように、Java 言語バインディングの保守を支援しています。

私たちは Subversion と直接協力して API を定義および改善し、必要な機能が Subclipse などのクライアントに公開されていることを確認します。また、Visual Studio との統合 (アンクSVN) と TortoiseSVN チームは、クライアント全体で比較的一貫したユーザー エクスペリエンスを確保します。

Subclipse は現在も積極的に保守されており、Eclipse バージョン 3.2 から 4.2 のサポートを維持しています。私たちは常にフィードバックに耳を傾け、コミュニティからのアイデアを取り入れるよう努めています。最近の 1.8.x リリースには、大規模なプロジェクトを操作するとき (実際にその効果が実感できるとき) に Eclipse のパフォーマンスを大幅に向上させる内部変更が含まれています。

Subclipse は、マージ追跡サポートなどの分野で先導しており、最初に 1.5 でこの機能を追加し、その後のリリースで進化させる際に Subversion チームと緊密に協力しました。私たちは多くの場合、新しい API の最初の利用者となり、機能を強化するために必要なフィードバックをプロジェクトに提供しました。また、数年前にグラフィカル リビジョン グラフ機能を導入し、長年要望されていたこの機能を Eclipse ユーザーに提供する最初の機能となりました。

Subversive の特定の UI 機能で、Subclipse で作られることを望んでいる場合は、私たちのコミュニティにアクセスし、ディスカッション フォーラムに参加することをお勧めします。他のユーザーもあなたの意見を共有して、一緒に UI を改善できるかもしれません。

フォーラム [Subclipse ユーザー].

この投稿の時点では 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 クライアントをインストールする必要があります。

私は持っている サブクリプス インストールされていますが、使用します 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 に戻すと正常に動作しました。同じことがコマンドライン クライアントにも当てはまります (これを私たちは タスク)。

私が Subclipse を使用することにしたのは、Subclipse が Subversion プロジェクトと最も密接に関連しており、コアの SVN 機能をより適切に処理できる可能性が高いためです。まったく機能が実行できない場合は、TortoiseSVN をバックアップとして使用します。

ただのアップデートです。最近 Eclipse を再インストールしていたところ、Subclipse か Subversive の選択を迫られました。私も、Subversive を動作させるのに苦労したので、Subclipse を使用しました。

私の Linux 64 ビット マシンに完全にインストールされ、問題なく動作しています。Update、Commit などの最も一般的な関数をマップしました。ショートカットもできてとても楽しいです。マージも良好ですが、大規模なマージの場合は依然として TortoiseSVN を使用します。3.5 と 3.6 の両方で試してみましたが、どちらも正常に動作しました。何らかの理由でキーバインドが 3.6 では機能しなかったため、最終的に 3.5 を使用することになりました。

使用している場合 svn+ssh リポジトリにアクセスするプロトコルとして、Subclipse を選択することを強くお勧めします。Subversive は資格情報を適切に記憶できるほどインテリジェントではないため、作業コピーを更新するたびに、また設定した svn-external ごとにユーザー名と秘密キーの入力を求められます。

「資格情報を記憶する」オプションは、このコンテキストでは機能しません。これは、Subversive の最初の公開リリース以来使用されています。

社内でそれらのいずれかを使用していて、それらを独自の Eclipse ベースの製品にバンドルしたい場合でも、Subclipse を使用すると作業がはるかに簡単になります。これは、ビジネスに適した Eclipse パブリック ライセンスの下で利用できるためです。

一方、Subversive が完全に機能するには、いわゆるコネクタが必要です。そして、それらは個別の異なるライセンスを持っています。したがって、Subversive 機能のためだけに 2 つまたは 3 つの異なるライセンスを取得することになる可能性があります。 他のすべて Eclipse プラグインは、その 1 つの EPL のすぐ下にあります。これが、これらのコネクタが eclipse.org でホストされない理由でもあります。

これが、これらが Subversive のインストール後に動的にダウンロードされる理由です (これは、単に eclipse.org 更新サイトをミラーリングするだけでは、企業ネットワーク内で使用可能な Subversive オフライン インストールが提供されないことも意味します)。

2008 年 5 月頃までは Subclipse を使用していましたが、一部のプロジェクトで問題が発生したため、Subversive に切り替えて問題なく使用しています。headless のような派手なことをしている場合 バックミンスター ビルドする場合は、間違いなく 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 で動作します。

破壊的 よりも多くの利点があります サブクリプス 以下にリストされているように。しかし、Subversion にはない機能が 1 つだけあり、それはブランチの使用に関して非常に重要です。したがって、使用する必要があります サブクリプス.

破壊的 利点:

  • ビューとアイコンの情報がさらに豊富になりました
  • コミット同期アイテムが更新された後、コミットされたファイルは閉じられます。

サブクリプス アドバンテージ

  • 2 つのブランチを比較する機能

+1 サブクリップス
-1 破壊的

Subversive は、わずかなリファクタリングでも混乱し、上記のような検証の問題が発生します。

環境: STS 2.7.2 (Galileo に基づく)

私にとってどちらが良いか悪いということはありませんが、Subversive は Eclipse Ganymede プラットフォームのデフォルトの SVN プラグインであるため、Eclipse との統合がより適切になる可能性があります。

ブレンドンの答えへの追加として、次のようになります。

私たちはバージョン 1.5.1 から Subversion を使用しており、最初は Subclipse を使用しました。しかし、マージ機能に大きく依存しているため、より便利でマージ ダイアログに個別の [再統合] オプションがある Subversive に切り替えました。

マージ時に障害となる可能性のあるバグの 1 つは、リビジョンを明示的に選択すると、リストされている最後のリビジョンが取得されないことです。例えば。「101-100」は r100 をマージせず、「100」は何もマージしません。(バージョン0.7.5)

また、CVS プラグインと同じインジケーターを使用します。

私は両方とも Helios で動作しましたが、Subclipse の方が優れたサポートを備えているため、少し好みます。 bugtraq プロパティ (詳細はこちら).

歴史 ビューには別の列(というタイトル)が表示されます bugtraq:label, 、表示中 BUGIDs)、コンテキスト メニューには「バグ URL を開く」(へのリンク) という専用のアクションがあります。 bugtraq:url) -- Subversive でこの情報にアクセスする方法がわかりませんでした。

Ganymede にアップグレードして以来、Subversive を使用しています。Linux (Ubuntu および Fedora Core)、Windows XP、Mac OS X.5 の Eclipse で使用しています。Mac OS 上で Subversion 1.5.1 で適切なセキュリティ ライブラリを使用する際にいくつかの問題が発生したことを除けば、何も問題はありませんでした。それが Eclipse テクノロジー プロジェクトとして採用されたことを考えると、長期的な期待という点で、私はそれに賭けたいと思っています。

実際に使ったことはありませんが、Subversive は「」をサポートしているようです。チェックアウト名" 組み込みの CVS サポートと同様です。

たとえば、SVN からプロジェクトを取得して Web プロジェクトとして実行できるようにするには、一度に実行できる可能性があります。ただし、Subclipse で同じ結果を得るには、ソースをチェックアウトして実行するだけです。

mvn eclipse:eclipse -Dwtpversion=2.0

私は両方を使用したことがありますが、Subclipse は私にとって不安定でしたが、Subversive は (少なくとも以前のバージョンでは) 同僚が誤って間違った資格情報を入力したときにそのアカウントをロックアウトしました (ネットワーク ログインは Subversion リポジトリにアクセスするために使用されます) )。

Subclipse は時間の経過とともに混乱する傾向があります。Eclipse が定期的に更新されていない場合、Subclipse はファイル追跡情報を失うようです。正直なところ、私はそれを持っているので、 イージーエクスプローラープラグイン, 私は履歴や変更情報には Subversive を (時折) 使用しますが、最近変更したことがわかっているプロジェクトのコミットや更新には TortoiseSVN を簡単に探索して使用します。

Subclipse でプロパティの差分を表示する方法がわからないことに気づきました。Subversive では、履歴ビューで 2 つのリビジョンを選択し、右クリックしてポップアップからプロパティの比較を選択します。私が Subversive を使い続けるにはこれで十分です。

切り替えようとした理由は、OS X 上での Subversive の奇妙な動作でした。「svn キャッシュ更新」と呼ばれる一部の自動操作は、「svn 更新」を実行するたびに異常なレベルで CPU を占有し、完了までに常に煩わしいほど長い時間がかかりました。

FWIW、私たちは SVN サーバーの古いバージョン (1.4 とか) を使用していますが、ある時点で下位互換性を壊す Subclipse のアップデートがあったことを覚えているようです。その要点は、「誰もそのような古いバージョンを使用すべきではない」というものでした。とにかくSVN。」

古いバージョンを処理できると思われるのは Subversive だけでした。細かいことは覚えてないんですけど、ごめんなさい。

私たちのチームでは両方を試しました。

Subclipse (Galileo/Helios のもの) では VAS 経由で SVN サーバーを認証する際に問題が発生しましたが、他の場所では問題はありませんでした。TortoiseSVN クライアント、ブラウザ (Internet Explorer 7 を除く)。

そこでインストールしました Subversive そして問題は解決されました。

Subversive に対する Subclipse の利点...それは実際に機能します!

私は昔、Subclipse に依存する Eclipse 用の共同プラグインを開発するときに、Subclipse を使用しました。プラグインの Subclipse 部分は決して問題ではありませんでしたが、全体的には まだ少し混乱していますが、良い点は、Ant 部分の使い方を知るために Ant 部分がどのように機能するかを理解する必要がないことです。

今日は PDT (まったく別のブログです) をインストールし、次に Subversive をインストールしようとしています。これは、多くの場合と同様、これが「Eclipse SVN プラグイン」として描かれているためです。4 つのコネクタを一度にインストールできなかったので、一度に 1 つずつインストールする必要があり、試してみましたが、一度に 1 つずつ SVN サーバーで認証できませんでした。

プラグインに関するさまざまな問題に時間を費やすのではなく、時間を節約したいため、PDT と Subversive を試しています。

Subversiveをアンインストールし、Subclipseをインストールして、そのまま接続しました。

最初から Subclipse を使用して、時間と手間を節約してください。

私も両方使ったことがあります。ワークスペースに約 150 のプロジェクトがあり、すべてのプラグインを選択して「リポジトリを同期する」と言うと、Subversive に非常に長い時間がかかるという問題がありました。UI が非常に長い間フリーズします。Subclipse の方が安定していると思います。

とにかくツールをたくさん組み合わせます。ブランチ全体をチェックアウトするような一部のタスクでは、コマンド ラインを好みます。私が使用している他の人のために TortoiseSVN. 。私は主に履歴を表示し、ツール上で直接比較を実行するために Subclipse を使用していますが、場合によっては比較することもあります (私は 比較を超えて そのためですが)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top