SVN в Eclipse распространяется на два лагеря. Люди из SVN разработали плагин под названием Subclipse . У людей Eclipse есть плагин под названием Subversive . Вообще говоря, они оба делают одно и то же. Каковы преимущества и недостатки каждого?
SVN в Eclipse распространяется на два лагеря. Люди из SVN разработали плагин под названием Subclipse . У людей Eclipse есть плагин под названием Subversive . Вообще говоря, они оба делают одно и то же. Каковы преимущества и недостатки каждого?
Ответы:
Оба очень похожи, но Subversive является «провайдером eclipse svn». Я в основном использую Subversive из-за нескольких удобных функций:
Группировка истории
Когда я просматриваю историю ветви, а не просто вижу кучу строк для каждого коммита, он может группировать коммиты по сегодняшнему дню, неделе и т. Д.
Отображение ствола, ветвей и тегов
Subversive предполагает расположение SVN по умолчанию: ствол, ветви, теги (которые вы можете изменить), поэтому всякий раз, когда вы хотите пометить или разветвлять, это один клик, и вы предоставляете имя тега или ветви.
Как я уже сказал, это небольшие отличия, которые я нахожу удобными. Оба прекрасно работают с mylyn, но в целом между этими двумя расширениями не так много различий.
Объединение с Subversive - это боль, хотя (я не пробовал Subclipse), мне никогда не удавалось успешно слиться. Предварительный просмотр слияния великолепен, но он никогда не завершит слияние или займет много времени. Большую часть времени я завершаю слияние через командную строку без каких-либо проблем.
1.0.0.I20120601-1700
), и объединение кода не может быть проще.
Я постараюсь ответить на это. Я руководитель проекта для Subclipse, и я управляю всеми выпусками и т. Д. Для проекта. Так что мои предубеждения очевидны.
Я не собираюсь слишком много говорить о Subversive. Понятно, что есть пользователи, которым это нравится и нравится. Функционально продукты очень похожи, поскольку оба являются зрелыми продуктами.
Одна вещь, которую я хочу прокомментировать, это то, что Subversive является каким-то плагином «официального затмения». Это просто неправда, поскольку такого обозначения нет. Eclipse - это фонд с открытым исходным кодом, и любой проект, который хочет следовать своим правилам, требованиям к процессам, IP и т. Д., Может разместить свой проект на базе. Это не делает вас более или менее официальным, чем любой другой плагин.
Я также отмечу, что Subversive остается в фазе «инкубации» с момента своего создания, и мне не кажется, что он когда-либо будет соответствовать требованиям для выпуска. Как вы можете видеть здесь, в проекте был только один коммиттер, и активность коммитов снизилась до очень низкого уровня.
Subversive - SVN Team Provider
Так почему вы должны использовать Subclipse? Мы активно связаны с самой Subversion. Я являюсь членом Subversion PMC и помогаю поддерживать привязки языка 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, я бы посоветовал вам посетить наше сообщество и принять участие в наших дискуссионных форумах. Возможно, другие пользователи разделяют ваши взгляды, и мы вместе можем улучшить пользовательский интерфейс.
Форум [Subclipse-пользователи] .
Eclipse 4.2 является последней версией на момент написания этой статьи, но можно с уверенностью предположить, что Subclipse будет поддерживать все будущие выпуски Eclipse по мере их выпуска.
С каждой новой версией Eclipse я устанавливаю Subversive, потому что это стандарт, предоставляемый Eclipse. И каждый раз возникают проблемы с распознаванием моих уже существующих проектов.
Таким образом, я заканчиваю тем, что удаляю Subversive и устанавливаю Subclipse вместо этого, который работает чудесно. Я также часто использую SVN из командной строки, а также в Eclipse, и у Subclipse нет проблем с этим.
После прочтения этого поста я переключился на Subclipse.
http://eclipsezone.com/eclipse/forums/t77149.rhtml#92035407
Если вы много объединяетесь с Subversion, вы, вероятно, предпочтете CollabNet Desktop - Eclipse Edition. Вы должны зарегистрировать аккаунт в CollabNet, чтобы получить загрузку, но это бесплатно. По сути, это Subclipse с улучшенным интерфейсом слияния.
Я не связан с CollabNet.
CollabNet сделал свой улучшенный клиент слияния доступным для незарегистрированных пользователей Subclipse. Вы получите его, выбрав функцию клиента слияния CollabNet при установке Subclipse с сайта обновления.
Я бы сказал Subclipse, поскольку я даже не мог заставить работать Subversive;)
Я на самом деле думаю, что они оба отстой. Использование TortoiseSVN, на мой взгляд, является гораздо лучшим решением. Он гораздо более надежен и имеет тенденцию работать лучше, и у меня всегда были проблемы интеграции с Subclipse и Subversive.
У них обоих довольно отвратительные бородавки, но я не мог заставить Subversive работать с проектом, который я извлек из командной строки, и это стало для меня препятствием.
Я попробовал оба из них , и Subclipse и Subversive ужасны. Оба сложны в установке. Если вы используете Subversive, вы не можете использовать внешний клиент SVN .
Однако вам нужно установить SVN-клиент в Eclipse, чтобы отслеживать изменения, а также чтобы не повредить ваш локальный репозиторий.
У меня установлен Subclipse , но я использую TortoiseSVN, чтобы сделать коммитирование / тегирование / ветвление / слияние.
Subclipse, потому что, по крайней мере, это работает.
Подрывная деятельность до сих пор была для меня неудачей. Это не будет хорошо смотреться со всеми моими старыми проектами, которые я использовал в Subclipse.
Конечно, оба плагина IDE имеют свои проблемы. Но ни одно из них не исключает параллельного использования других решений, таких как TortoiseSVN или командной строки. Я использую все три для своих проектов на работе.
Важно помнить, что все ваше клиентское программное обеспечение SVN должно использовать один и тот же формат файлов SVN (который отличается в разных версиях SVN), иначе у вас возникнут проблемы.
Еще одна проблема, которую мы обнаружили, - когда ваше клиентское программное обеспечение использует файл формата SVN, отличный от сервера. (Под форматом файла я имею в виду способ представления всей информации во всех этих, казалось бы, невидимых файлах .svn, которые эффективно записывают то, что SVN должно знать о файлах вашего проекта.) Это может привести к хаосу. Существует задокументированная ошибка между 1.5 сервером и 1.6 клиентами, но я не могу сейчас найти ссылку.
У нас были проблемы с запуском улучшенного (IMO) плагина Subclipse 1.6 из-за несовместимости с нашим сервером SVN 1.5.5. Итак, мы вернулись к Subversive. Он работает нормально, хотя и медленно и несколько глючит (но улучшается). Мы переключимся на Subclipse, когда наш сервер будет обновлен. И да, мы проверяем наши проекты с помощью TortoiseSVN и импортируем их в Eclipse (это быстрее).
Мы обнаружили, что, как говорили другие авторы, это НЕ будет работать, если мы запустим более новые версии TortoiseSVN, которые пишут файлы в формате 1.6.x, но когда мы вернулись к TortoiseSVN 1.5.x, все заработало просто отлично. То же самое относится и к клиенту командной строки (который мы используем в наших задачах Ant ).
Просто обновление. Недавно я переустанавливал Eclipse и столкнулся с выбором Subclipse vs Subversive. У меня также были проблемы с попытками заставить Subversive работать, поэтому я пошел на Subclipse.
Он отлично установлен на моей 64-битной машине с Linux и работает нормально. Я сопоставил наиболее распространенные функции, такие как Update, Commit, .., с ярлыками, и это взрыв. Слияние тоже хорошо, хотя для больших слияний я все же обращаюсь к TortoiseSVN. Я попробовал это и с 3.5 и с 3.6, и они оба работают отлично. Я закончил тем, что использовал 3.5, потому что по какой-то причине привязка клавиш не работала с 3.6.
Если вы используете svn + ssh в качестве протокола для доступа к вашему хранилищу, я настоятельно рекомендую вам выбрать Subclipse: Subversive недостаточно интеллектуален, чтобы правильно запоминать ваши учетные данные и запрашивает имя пользователя и закрытый ключ каждый раз, когда вы обновляете свою рабочую копию, а также для каждого svn-external вы можете настроить.
Параметры «запомнить учетные данные» в этом контексте не работают и были выпущены с момента первого публичного выпуска Subversive.
Если вы используете один из них в своей компании и, возможно, даже хотите объединить их в собственные продукты на основе Eclipse, ваша жизнь станет намного проще с Subclipse, поскольку она доступна в рамках Eclipse Public License.
Subversive, с другой стороны, для полноценной работы нужны так называемые коннекторы. И те имеют отдельные и разные лицензии. Таким образом, вы можете получить две или три разные лицензии только для функциональности Subversive, в то время как все остальные плагины Eclipse подпадают под этот EPL. По этой же причине эти разъемы не размещаются на eclipse.org.
И именно поэтому они загружаются динамически после установки Subversive (что также означает, что простое зеркалирование сайта обновлений eclipse.org не позволяет использовать автономную установку Subversive в сети вашей компании).
Примерно до мая 2008 года я использовал Subclipse, но из-за проблем с некоторыми проектами я переключился на Subversive и использую его без проблем. Если вы делаете что-то необычное, например, безголовые сборки Buckminster , тогда Subversive определенно вам подойдет.
Если вы используете TortoiseSVN и регулярно обновляете версию, вы можете обнаружить, что Eclipse с Subversive теряет всю информацию SVN и выдает некоторые страшные ошибки.
Причина в том, что новая версия TortoiseSVN добавляет новые метаданные, которые Eclipse Subversive не может понять, если вы также не будете постоянно обновлять свои коннекторы Eclipse SVN.
Я обычно использую разъем SVNKit, поэтому TortoiseSVN 1.5.x будет работать с разъемом Eclipse SVNKit 1.5.x, а TortoiseSVN 1.6.x будет работать с разъемом Eclipse SVNKit 1.6.x.
Subversive имеет больше преимуществ, чем Subclipse, как указано ниже. Но у Subversion только одна особенность, которая так критична для использования веток. Поэтому мы должны использовать Subclipse .
Подрывные преимущества:
Преимущество Subclipse
+1 Subclipse
-1 Subversive
Subversive запутывается даже после незначительного рефакторинга и имеет проблемы с проверкой, как указано выше.
Окружающая среда: STS 2.7.2 (на основе Galileo)
Для меня ни лучше, ни хуже, но Subversive - это плагин SVN по умолчанию для платформы Eclipse Ganymede, поэтому есть вероятность, что он лучше интегрирован с Eclipse.
Как дополнение к Брендонсу ответ:
Мы используем Subversion начиная с версии 1.5.1 и сначала использовали Subclipse. Но поскольку мы сильно зависим от функции слияния, мы переключились на Subversive, которая более удобна и имеет отдельную опцию Reintegrate в диалоге слияния.
Одна ошибка, которая может помешать слиянию, заключается в том, что если вы явно выбираете ревизии, она не берет последнюю ревизию в списке. Например, «101-100» не объединяет r100, а «100» вообще ничего не объединяет. (версия 0.7.5)
И он использует те же показатели, что и плагин CVS.
Хотя я и работал с Helios, я немного предпочитаю Subclipse из-за его превосходной поддержки bugtraq
свойств ( подробности здесь ).
В представлении « История» отображается отдельный столбец (с названием bugtraq:label
, отображающий BUGID
s), а в контекстном меню есть специальное действие «Открыть URL-адрес ошибки» (ссылка на bugtraq:url
) - я не мог понять, как получить доступ к этой информации с помощью Subversive.
Я использую Subversive с тех пор, как перешел на Ganymede. Я использую его с Eclipse в Linux (Ubuntu и Fedora Core), Windows XP и Mac OS X.5. Помимо некоторых проблем с использованием Subversion 1.5.1 для использования правильных библиотек безопасности под Mac OS, у меня не было никаких проблем. Учитывая, что он был принят как технологический проект Eclipse, я склонен делать ставки на него с точки зрения долгосрочных надежд.
Я на самом деле не использовал его, но, похоже, Subversive поддерживает " Check Out As ", как встроенная поддержка CVS.
Например, чтобы взять проект из SVN и запустить его как веб-проект, можно сделать это за один раз. Но чтобы получить тот же результат в Subclipse, я просто проверяю исходники и запускаю:
mvn eclipse: eclipse -Dwtpversion = 2.0
Я использовал оба, и хотя Subclipse был для меня ненадежным, Subversive (по крайней мере, в предыдущей версии) заблокировал учетную запись моего коллеги, когда он случайно ввел неправильные учетные данные (сетевой доступ используется для доступа к хранилищу Subversion ).
Subclipse имеет тенденцию дезорганизовываться со временем. Если Eclipse не обновляется регулярно, Subclipse, похоже, теряет информацию об отслеживании файлов. Честно говоря, хотя, поскольку у меня есть плагин Easy Explorer , я использую Subversive (иногда) для истории и информации об изменениях, но я легко исследую и использую TortoiseSVN для коммитов и обновлений в проектах, которые я знаю, что я недавно изменил.
Я только что обнаружил, что не могу понять, как просмотреть свойства diff с Subclipse. В Subversive вы выбираете две ревизии в истории просмотра, щелкните правой кнопкой мыши и выберите сравнение свойств из всплывающего окна. Этого достаточно для меня, чтобы придерживаться Subversive.
Причиной попытки переключения было странное поведение Subversive на OS X: некоторые автоматические операции, называемые 'svn cache update', загружали процессор на ненормальные уровни после каждого запуска 'svn update', всегда занимая раздражающе много времени для завершения.
FWIW, мы используем древнюю версию сервера SVN (1.4 что-то), и я, кажется, помню, что в какой-то момент было обновление для Subclipse, которое нарушило обратную совместимость, и суть была в том, что «никто не должен быть на такой старой версии SVN в любом случае ".
Subversive был единственным, кто мог справиться со старой версией. Я не могу вспомнить детали, извините.
Мы пробовали оба в нашей команде.
Так как Subclipse (тот, что от Galileo / Helios) имел некоторые проблемы с аутентификацией нашего SVN-сервера через VAS, у нас не было проблем в другом месте, например, клиент TortoiseSVN, браузеры (кроме Internet Explorer 7).
Итак, мы установили Subversive
и проблема была решена.
Преимущество Subclipse перед Subversive ... ЭТО НА САМОМ ДЕЛЕ РАБОТАЕТ!
Я использовал Subclipse очень давно, когда разрабатывал плагин для совместной работы для Eclipse, который зависел от Subclipse. Часть Subclipse в плагине никогда не была проблемой, хотя вся эта вещь в Ant все еще немного смущает меня, но хорошая часть в том, что вам не нужно понимать, как работает эта часть Ant, чтобы знать, как ее использовать.
Я пытаюсь установить PDT сегодня (это целый другой блог), а затем Subversive, потому что, как и многие, он изображается как «Eclipse SVN Plugin». Мне не удалось установить четыре разъема одновременно, поэтому мне пришлось устанавливать их по одному и по одному, когда я их пробовал, и по одному не мог пройти проверку подлинности на сервере SVN.
Я пробую PDT и Subversive, потому что я хочу сэкономить время, не тратя больше времени на различные проблемы с плагином.
Я удалил Subversive, установил Subclipse и подключил вот так.
Сэкономьте время и нервы, зайдите в Subclipse с самого начала.
Я также использовал оба. У меня была проблема с тем, что у меня в рабочей области около 150 проектов, и Subversive потребовал бы очень много времени, когда я выбрал все плагины и сказал «синхронизировать репозиторий». Пользовательский интерфейс будет зависать в течение очень долгого времени. Я считаю Subclipse более стабильным.
Во всяком случае, я много комбинирую инструменты. Для некоторых задач, таких как проверка целых веток, я предпочитаю командную строку. Для других я использую TortoiseSVN . Я использую Subclipse в основном для просмотра истории и проведения сравнений непосредственно на инструменте, а иногда и для сравнения ( хотя для этого я предпочитаю Beyond Compare ).