Каковы плюсы и минусы плагинов SVN для Eclipse, Subclipse и Subversive?

627

SVN в Eclipse распространяется на два лагеря. Люди SVN разработали плагин под названием Subclipse. У людей Eclipse есть плагин под названием Subversive. В общем, они оба делают то же самое. Каковы преимущества и недостатки каждого?

Теги:
svn
subclipse
subversive

32 ответа

181
Лучший ответ

Оба очень похожи, но Subversive - это "поставщик eclipse svn". В основном я использую Subversive из-за нескольких удобных функций:

Группирование истории

Когда я просматриваю историю ветки вместо того, чтобы просто видеть кучу строк для каждой фиксации, она может группировать коммиты на сегодняшний день, неделю и т.д.

Сопоставление строк, ветвей и тегов

Subversive предполагает макет svn по умолчанию: соединительная линия, ветки, теги (которые вы можете изменить), поэтому всякий раз, когда вы хотите пометить или разветкить его, нажмите один раз, и вы укажете имя тега или ветки.

Как я уже сказал, это небольшие отличия, которые я просто считаю удобными. Оба работают отлично с mylyn, но в целом на самом деле не так много различий с этими двумя расширениями.

Слияние с Subversive - это боль, хотя (не пробовал Subclipse), я никогда не мог успешно слиться. Предварительный просмотр слияния велик, но он никогда не завершит слияние, иначе он займет много времени. В большинстве случаев я завершаю слияние через командную строку без каких-либо проблем.

  • 3
    Хороший ответ, всего 2 вещи, которые нужно добавить: 1. Оба имеют похожий дизайн под капотом и были инициированы одной и той же компанией (был запущен подрывной процесс, потому что subclipse застрял). 2. Поддержка subclipse немного лучше.
  • 5
    Что вы думаете об этой теме сегодня? Насколько хороша поддержка слияний в subversive? Я делаю слияния в subclipse довольно часто, и это работает хорошо.
Показать ещё 3 комментария
152

Я отвечу на это. Я возглавляю проект для Subclipse, и я управляю всеми выпусками и т.д. Для проекта. Поэтому мои предубеждения очевидны.

Я не собираюсь слишком много говорить о Subversive. Ясно, что есть пользователи, которые его используют и любят. Функционально продукты очень похожи, так как оба являются зрелыми продуктами.

Одна вещь, о которой я хочу прокомментировать, - это такое понятие, что каким-то Subversive является плагином "официального Eclipse". Это просто неверно, поскольку такого обозначения нет. Eclipse - это фонд с открытым исходным кодом, и любой проект, который хочет следовать своим правилам, процессам и требованиям IP и т.д., Может разместить свой проект с базой. Это не делает вас более или менее официальными, чем любой другой плагин.

Я также отмечу, что Subversive остался на этапе "Инкубации" с момента его создания, и мне не кажется, что он когда-либо будет соответствовать требованиям для окончания. Как вы можете видеть здесь, в проекте был только один коммиттер, а активность активности сократилась до очень низких уровней.

Subversive - поставщик услуг SVN

Итак, почему вы должны использовать Subclipse? Мы активно участвуем в Subversion. Я являюсь членом PMC Subversion и поддерживаю привязки языка Java, чтобы мы (и другие проекты, такие как Subversive) могли использовать API.

Мы работаем напрямую с Subversion, чтобы определить и улучшить API и убедиться, что необходимые функции доступны таким клиентам, как Subclipse. Мы также тесно работаем и сотрудничаем с интеграцией Visual Studio (AnkhSVN) и группами TortoiseSVN, чтобы убедиться, что существует относительно последовательный пользовательский интерфейс для клиентов.

Subclipse по-прежнему активно поддерживается, и мы поддерживаем поддержку версий Eclipse с 3.2 по 4.2. Мы всегда стараемся прислушиваться к отзывам и включать идеи сообщества. Последние выпуски 1.8.x включают внутренние изменения, которые значительно улучшают производительность Eclipse при работе с большими проектами (то есть когда вы действительно видите это).

Subclipse проложил путь в таких областях, как поддержка отслеживания слияния, где мы тесно сотрудничали с командой Subversion, сначала добавив эту функцию в 1.5, а затем развивая ее в последующих выпусках. Мы часто были первоначальными потребителями нового API и предоставляли проекту обратную связь, необходимую для упрощения функции. Мы также представили графическую версию графического представления пару лет назад, став первыми, кто долгое время предлагал пользователям Eclipse функцию.

Если в Subversive есть определенные функции пользовательского интерфейса, которые люди хотели бы видеть в Subclipse, я бы посоветовал вам посетить наше сообщество и участвовать в наших дискуссионных форумах. Возможно, другие пользователи разделяют ваши взгляды, и мы можем улучшить интерфейс пользователя.

Форум [Субклип-пользователи].

Eclipse 4.2 является последней версией на момент публикации, но можно с уверенностью предположить, что Subclipse будет поддерживать все будущие выпуски Eclipse по мере их создания.

  • 0
    хорошо, длинный и информативный пост. Не совсем то, что я искал, но очень проницательное.
  • 1
    Я не согласен с этим аргументом, но вы говорите о Subversive, не давая той же статистики для Subclipse. Можете ли вы отредактировать, чтобы включить ссылки на историю коммитов Subclipse и доказательства того, что над ним работает более 1 человека? :)
Показать ещё 9 комментариев
121

С каждой новой версией Eclipse я устанавливаю Subversive, потому что это стандарт, предоставляемый Eclipse. И каждый раз у него возникают проблемы с распознаванием моих ранее существовавших проектов.

Итак, я в конечном итоге удаляю Subversive и устанавливаю Subclipse, который работает чудесно. Я также часто использую SVN из командной строки, а также в Eclipse, и у Subclipse нет проблем с этим.

  • 16
    Я должен поддержать это. Мы немного используем командную строку в наших репозиториях, и Subversive никогда не играл с ними хорошо. Subclipse, с другой стороны, никогда не давал ни одной проблемы.
  • 3
    Согласовано. В настоящее время у меня установлен OSN командной строки версии 1.7.2. Мне пришлось переключиться на Subclipse, потому что адаптер Subversive устарел.
Показать ещё 3 комментария
50

После прочтения этого сообщения я переключился на Subclipse hands down.
http://eclipsezone.com/eclipse/forums/t77149.rhtml#92035407

  • 5
    +1, но, к сведению, subversion.com теперь перенаправляет на subversion.org, который в настоящее время ссылается на tigris, и я полагаю, что со временем ссылка на apache.
  • 25
    -1 Справедливости ради, многое изменилось с тех пор, как этот пост в июле 2006 года - я действительно не думаю, что это имеет отношение к обсуждению.
Показать ещё 1 комментарий
33

Если вы сильно сходите с Subversion, вы, вероятно, предпочтете CollabNet Desktop - Eclipse Edition. Вы должны зарегистрировать учетную запись в CollabNet, чтобы загрузить ее, но она бесплатна. Это, по сути, Subclipse с лучшим интерфейсом слияния.

Я не являюсь аффилированным лицом CollabNet.

CollabNet сделала свой улучшенный клиент слияния доступным для незарегистрированных пользователей Subclipse. Вы получаете его, выбирая функцию CollabNet Merge Client при установке Subclipse с сайта обновлений.

  • 4
    Со времени моего поста CollabNet сделал свой улучшенный клиент слияния доступным для незарегистрированных пользователей subclipse. :)
  • 0
    У них есть? Единственное место, которое я нашел, чтобы скачать его, требует регистрации. Пожалуйста, оставьте ссылку.
Показать ещё 3 комментария
26

Я бы сказал Subclipse, поскольку я даже не мог заставить Subversive работать;)

  • 2
    Я хотел бы отметить, что упомянутой записи в блоге уже почти два года, технологии меняются гораздо быстрее, чем это. Я уверен, что оба продукта исправили старые ошибки и добавили новые за это время! :)
  • 0
    Какую запись в блоге вы имеете в виду?
Показать ещё 1 комментарий
17

Я на самом деле думаю, что они оба сосут. Использование TortoiseSVN - это гораздо лучшее решение, на мой взгляд. Он гораздо более надежный и имеет тенденцию работать только лучше, и у меня всегда были проблемы с интеграцией с Subclipse и Subversive.

  • 4
    Вам все еще нужен какой-нибудь плагин Eclipse, чтобы скрыть уродливые папки .svn (исключить их из поиска и т. Д.)
  • 11
    Не обязательно; Вы можете исключить их, используя фильтры. Тем не менее, я бы использовал плагин SVN для Eclipse, потому что рефакторинг, перемещение и удаление файлов будут головной болью, если вам придется делать все это вне Eclipse.
Показать ещё 2 комментария
15

У них обоих есть довольно отвратительные бородавки, но я не мог заставить Subversive работать с проектом, который я проверил из командной строки, и это было для меня показательным.

  • 0
    Было ли это легко сделать с помощью Subclipse? Сохраняет ли subversive некоторые метаданные нестандартными способами в файловой системе, делая смешивание их использования с такими вещами, как tortiseSVN, менее надежным? Если это так, я собираюсь с субклипсом.
  • 3
    С Subclipse это было совсем не проблема - я просто сказал Eclipse создать новый проект из существующих источников. Я не знаю никакой внутренней работы Subversive, просто она не сработала, когда я попробовал описанное выше.
Показать ещё 3 комментария
14

I попробовал оба из них, и оба Subclipse и Subversive ужасны. Оба сложны для установки. Если вы используете Subversive, вы не можете использовать внешний SVN-клиент.

Однако вам нужно, чтобы в Eclipse был установлен SVN-клиент, чтобы отслеживать изменения, а также не повредить локальный репозиторий.

У меня установлен Subclipse, но используйте TortoiseSVN на самом деле делать comitting/tagging/branching/merging.

  • 3
    Это явно не соответствует действительности. Я использую Subversive, TortoiseSVN и Subversion бок о бок без каких-либо проблем. Я не припоминаю каких-либо проблем с совместимостью в тот день, когда я использовал Subclipse.
  • 1
    Это было еще в декабре 2009 года. Я надеюсь, что клиенты начали вести себя с тех пор :)
12

Подзаголовок, потому что по крайней мере он работает.

Подрывник был для меня ведром неудачи. Он не будет хорошо играть со всеми моими старыми проектами, которые я проверил с Subclipse.

  • 0
    Ни один из них не может работать с проектами, проверенными другими. Если вы проверяли старые проекты с помощью Subversive, то вы обнаружите, что Subclipse не будет работать с ними. Если вы хотите переключаться между одним и другим, все, что вам нужно, - это создать отдельное рабочее пространство для каждого. Но сказать, что Subclipse лучше, потому что он работает с вами, рабочее пространство Subclipse действительно довольно глупо.
8

Конечно, оба плагина IDE имеют свои проблемы. Но не исключает параллельного использования других решений, таких как TortoiseSVN или командной строки. Я использую все три для моих проектов на работе.

Важно помнить, что все ваши клиентские программы SVN должны использовать тот же формат SVN файла, который отличается от версий SVN, или вы просите о проблемах.

Другая проблема, которую мы обнаружили, - это когда ваше клиентское программное обеспечение использует другой формат файла SVN, чем сервер. (В файловом формате я имею в виду то, как вся информация представлена ​​во всех невидимых .svn файлах, которые эффективно записывают, что SVN должно знать о ваших файлах проекта.) Это может нанести ущерб. Там зарегистрирована ошибка между 1.5 сервером и 1.6 клиентами, но я не могу найти ссылку прямо сейчас.

У нас были проблемы с запуском верхнего (IMO) Subclipse 1.6 плагина из-за несовместимости с нашим сервером SVN 1.5.5. Итак, мы вернулись к Подрывнику. Он работает нормально, хотя и медленный и несколько глючный (но улучшающийся). Однако мы переключимся на Subclipse, когда обновляется наш сервер. И да, мы проверяем наши проекты с помощью TortoiseSVN и импортируем их в Eclipse (это быстрее).

Мы обнаружили, что, как говорили другие плакаты здесь, это не сработает, если мы запустим более новые версии TortoiseSVN, которые пишут файлы в формате 1.6.x, но когда мы вернулись к TortoiseSVN 1.5.x, это сработало просто отлично. То же самое относится к клиенту командной строки (который мы используем с нашими Ant задачами.)

6

Если вы используете один из них в своей компании и, возможно, даже хотите связать их с собственными продуктами на основе Eclipse, ваша жизнь намного проще с Subclipse, потому что она доступна в рамках общедоступной лицензии Eclipse Public.

Subversive, с другой стороны, нуждается в так называемых соединителях, чтобы полностью работать. И у них есть отдельные и разные лицензии. Таким образом, вы можете получить две или три разные лицензии только для функций Subversive, в то время как все другие плагины Eclipse находятся под одной EPL. Это также причина, по которой эти соединители не размещаются на eclipse.org.

И поэтому они динамически загружаются после установки Subversive (что также означает, что просто зеркалирование сайта обновления eclipse.org не дает вам удобной автономной установки Subversive в сети вашей компании).

6

Если вы используете svn + ssh в качестве протокола для доступа к вашему репозиторию, я настоятельно рекомендую вам выбрать Subclipse: Subversive недостаточно интеллектуальна, чтобы правильно запомнить ваши учетные данные и запрашивает имя пользователя и закрытый ключ каждый раз, когда вы обновляете свою рабочую копию, а также для каждого svn-external, который вы, возможно, настроили.

Параметры "запомнить учетные данные" в этом контексте нарушены и были с первого публичного выпуска Subversive.

  • 0
    Это то, что заставило меня выбрать Subclipse тоже. Subversive просто не может справиться со схемой "svn + ssh".
6

Просто обновление. Недавно я переустанавливал Eclipse и сталкивался с выбором Subclipse vs Subversive. У меня также была моя доля проблем, пытающихся заставить Subversive работать, поэтому я пошел в Subclipse.

Он отлично установлен на моей 64-битной машине Linux и работает отлично. Я применил наиболее распространенные функции, такие как "Обновить", "Зафиксировать", ".." и "Ярлыки", и это взрыв. Слияние тоже хорошо, хотя для больших слияний я все равно обращаюсь к TortoiseSVN. Я попробовал его с 3.5 и 3.6, и оба они отлично работают. В итоге я использовал 3.5, потому что по какой-то причине привязка ключей не работала с 3.6.

6

Я решил пойти с Subclipse, поскольку он наиболее тесно связан с проектом Subversion и поэтому более вероятно, что он лучше справится с основной функциональностью SVN. Если вообще не выполняется какая-либо функция, у меня есть TortoiseSVN в качестве резервной копии.

5

Если вы используете TortoiseSVN и регулярно обновляете версию, вы можете найти Eclipse с Subversive, теряя всю информацию SVN и бросая некоторые страшные ошибки.

Причина, по которой новая версия TortoiseSVN добавляет новые метаданные, которые Eclipse Subversive не понимает, если вы также не обновляете свои соединители SVN Eclipse.

Обычно я использую разъем SVNKit, поэтому TortoiseSVN 1.5.x будет работать с разъемом Eclipse SVNKit 1.5.x, а TortoiseSVN 1.6.x будет работать с разъемом Eclipse SVNKit 1.6.x.

5

До мая 2008 года я использовал Subclipse, но из-за проблем с некоторыми проектами я переключился на Subversive и использую это без проблем. Если вы делаете что-то необычное, как headless Buckminster, то Subversive определенно тот, с которым нужно идти.

4

Subversive имеет больше преимуществ, чем Subclipse, как указано ниже. Но только одна функция Subversion не имеет такого критического значения в использовании ветвей. Поэтому мы должны использовать Subclipse.

Преимущества Subversive:

  • Вид и значки более информативны.
  • После фиксации элементов синхронизации обновляется, заблокированный файл закрывается.

Преимущества Subclipse

  • способность сравнивать две ветки
4

+1 Подзаголовок
-1 Подрывная

Subversive запутывается после даже незначительного рефакторинга и имеет проблемы с проверкой, как указано выше.

Среда: STS 2.7.2 (на основе Galileo)

3

Пока я работал с Helios, у меня есть небольшое предпочтение Subclipse из-за его превосходной поддержки свойств bugtraq (подробнее здесь).

В представлении "История" отображается отдельный столбец (под заголовком bugtraq:label, отображающий BUGID s)), а в контекстном меню выделено действие "Открыть URL-адрес ошибки" (ссылка на bugtraq:url) - я не мог выяснить, как получить доступ к любой из этой информации с помощью Subversive.

3

В дополнение к ответу Брендонов:

Мы используем Subversion с версии 1.5.1 и сначала используем Subclipse. Но поскольку мы сильно зависим от функции слияния, мы переключились на Subversive, что более удобно и имеет отдельный параметр Reintegrate в диалоговом окне объединения.

Одна ошибка, которая может помешать слиянию, заключается в том, что если вы явно выбираете ревизии, она не берет последнюю ревизию. Например. "101-100" не сливает r100, а "100", таким образом, вообще не сливает ничего. (версия 0.7.5)

И он использует те же индикаторы, что и плагин CVS.

3

Для меня ни лучше, ни хуже, но Subversive - это плагин по умолчанию SVN в платформе Eclipse Ganymede, поэтому есть шанс, что он лучше интегрируется с Eclipse.

  • 0
    Что означает «плагин SVN по умолчанию на платформе Eclipse Ganymede»? Ганимед означает выпуск Eclipse 3.4. Subclipse работает только на 3.3 и ранее?
  • 0
    Нет, Subclipse продолжает работать в более поздних версиях. Для более ранних версий это ваш единственный выбор.
Показать ещё 1 комментарий
2

Преимущество Subclipse над Subversive... IT ACTUALLY WORKS!

Я использовал Subclipse давным-давно, когда разрабатывал совлокальный плагин для Eclipse, который зависел от Subclipse. Subclipse часть плагина никогда не была проблемой, хотя все Ant вещь по-прежнему немного смущает меня, но хорошая часть - это вы не должны понимать, как часть Ant работает, чтобы знать, как ее использовать.

Я пытаюсь установить PDT сегодня (это целый блог), а затем Subversive, потому что, как и многие, он изображается как "The Eclipse SVN Plugin". Мне не удалось сразу установить четыре разъема, поэтому мне пришлось устанавливать их по одному за раз и один за раз, когда я их пробовал, и по одному он не мог аутентифицироваться с сервером SVN.

Я пытаюсь использовать PDT и Subversive, потому что я хочу СОХРАНИТЬ время, а не тратить больше на разные проблемы с плагином.

Я удалил Subversive, установил Subclipse и подключился точно так же.

Сэкономьте время и хлопоты, идите в Subclipse с самого начала.

2

Мы пробовали как в нашей команде.

Так как Subclipse (один из Galileo/Helios) столкнулся с проблемой аутентификации нашего SVN-сервера через VAS, у нас не было проблем в другом месте, то есть клиент TortoiseSVN, браузеры (кроме Internet Explorer 7).

Итак, мы установили Subversive, и проблема была решена.

2

FWIW, мы используем древнюю версию SVN-сервера (что-то 1.4), и я, кажется, помню, что в какой-то момент появилось обновление Subclipse, которое нарушило обратную совместимость, и суть была "никто не должен быть таким старой версии SVN в любом случае".

Subversive был единственным, кто, казалось, мог справиться с более старой версией. Я не могу вспомнить детали, хотя, извините.

2

Я только что обнаружил, что не могу понять, как просматривать свойства diff с Subclipse. В Subversive вы выбираете две ревизии в окне истории, щелкните правой кнопкой мыши и выберите сравнение свойств из всплывающего окна. Этого достаточно для того, чтобы я придерживался Subversive.

Причиной попытки переключения было подрывное странное поведение в ОС. X: некоторая автоматическая операция, называемая "обновление кэша svn", запустила процессор на аномальных уровнях после каждого запуска "svn update", всегда выполняя досадливо долгое время.

2

Я действительно не использовал его, но кажется, что Subversive поддерживает " Check Out As", как и встроенная поддержка CVS.

Как, чтобы взять проект из SVN и иметь возможность запускать его как веб-проект, можно было бы сделать это за один раз. Но чтобы получить тот же результат в Subclipse, я просто проверяю источники и запускаю:

mvn eclipse:eclipse -Dwtpversion=2.0
2

Я использую Subversive, так как я обновился до Ганимеда. Я использую его с Eclipse в Linux (Ubuntu и Fedora Core), Windows XP и Mac OS X.5. Помимо некоторых проблем, получающих Subversion 1.5.1 для использования правильных библиотек безопасности в Mac OS, у меня не было никаких проблем. Учитывая, что он был принят в качестве технологического проекта Eclipse, я склонен делать ставки на него с точки зрения долгосрочных надежд.

2

Я использовал оба варианта, и, хотя Subclipse был для меня сломанным, Subversive (по крайней мере, с предыдущей версией) заблокировал учетную запись моего коллеги, когда он случайно ввел неправильные учетные данные (сетевой вход используется для доступа репозиторий подрывной деятельности).

Подзаголовок имеет тенденцию дезорганизоваться с течением времени. Если Eclipse не обновляется регулярно, Subclipse, похоже, теряет информацию о отслеживании файлов. Честно говоря, хотя у меня есть Easy Explorer Plugin, я использую Subversive (иногда) для истории и изменения информации, но я просто разбираюсь и использую TortoiseSVN для фиксации и обновления проектов, которые, как я знаю, я недавно изменил.

1

У меня была та же проблема, что и некоторые другие, даже получающие Subversive для работы, поэтому я не могу сказать, лучше ли это, чем Subclipse.

Subclipse действительно не хватает, когда дело доходит до интеграции с Eclipse для тегов и веток. Вы можете сделать это, но это не так просто, как с CVS.

1

Я также использовал оба. У меня была проблема, что у меня около 150 проектов в моей рабочей области, а Subversive займет очень много времени, когда я выбрал все плагины и сказал "синхронизировать репозиторий". Пользовательский интерфейс замерзнет в течение очень долгого времени. Я считаю Subclipse более стабильным.

В любом случае, я объединять инструменты много. Для некоторых задач, таких как проверка целых ветвей, я предпочитаю командную строку. Для других я использую TortoiseSVN. Я использую Subclipse в основном для просмотра истории и сравнения результатов непосредственно с инструментом, а иногда и для сравнения (я предпочитаю Beyond Compare для этого).

-3

Если вы используете Zend Studio 9, Zend-реализацию Eclipse, я рекомендую использовать Subclipse вместо Subversive, который поставляется с Zend Studio по умолчанию.

Я опубликовал проблему с Subversive и Zend Studio 9 и мое решение использовать Subclipse вместо этого на форумах Zend.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню