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

Я следую двум правилам о конструкторах, чтобы свести к минимуму проблемы, поэтому я не буду использовать метод мутатора:

Конструкторы (не конечных классов) должны вызывать только конечные или частные методы . Если вы решите игнорировать это правило и позвольте конструктору вызывать нефинальные / не частные методы, то:

  • эти методы и любые методы, которые они могут вызывать, должны быть осторожны, чтобы не предположить, что экземпляр полностью инициализированы и
  • подклассы, которые переопределяют эти методы (подклассы, которые могут даже не знать, что конструктор суперкласса вызывает эти методы) не должны предполагать, что конструкторы подкласса и конструкторы суперклассов полностью выполнены. Эта проблема становится более глубокой по сравнению с иерархией наследования суперкласса с конструктором «злой».

Стоит ли это для этого дополнительного когнитивного багажа? Вы могли бы позволить исключение для простых мутаторов, которые присваивают значение переменной экземпляра только потому, что мало пользы, даже если это не стоит.

[[@Jon Skeet упоминает это в своем ответе: «.. В частности, вызов переопределенного метода из конструктора - это рецепт для трудно понятного кода и труднодоступных ошибок ». Но я не думаю, что последствия этой проблемы достаточно подчеркнуты. ]]

Конструкторы должны быть осторожны при утечке this до того, как экземпляр будет полностью инициализирован. Хотя предыдущее правило касалось методов внутри класса и подклассов, обращающихся к ivars, вы также должны будьте осторожны (даже окончательные / частные) методы, передающие this другим классам и служебным функциям до того, как this будет полностью инициализирована. Чем больше не закрытых, переопределяемых методов, вызываемых конструктором, тем выше риск утечки this.


Некоторые ссылки на конструкторы, вызывающие нефинансовые, не частные методы:

https://www.securecoding.cert.org/confluence/display/ java / MET05-J. + Обеспечить +, что + конструкторы + do + not + call + overridable + methods

http://www.javaworld.com/article/2074669/ core-java / java-netbeans - overridable-method-call-in-constructor.html

http://www.javaspecialists.eu/archive/Issue210.html

633
задан 5 revs, 5 users 35% 19 December 2016 в 01:57
поделиться

20 ответов

Оба очень похожи, но Подрывной "затмение svn поставщик". Я, прежде всего, использую Подрывной из-за нескольких удобных функций:

Группировка истории

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

Отображение соединительной линии, ответвления, и теги

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

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

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

176
ответ дан 2 revs, 2 users 69% 19 December 2016 в 01:57
поделиться

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

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

1
ответ дан 2 revs, 2 users 67% 19 December 2016 в 01:57
поделиться

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

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

1
ответ дан 2 revs, 2 users 60% 19 December 2016 в 01:57
поделиться

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

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

2
ответ дан 2 revs, 2 users 67% 19 December 2016 в 01:57
поделиться

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

2
ответ дан rjray 19 December 2016 в 01:57
поделиться

Как дополнение к Brendons ответьте:

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

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

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

3
ответ дан masi 19 December 2016 в 01:57
поделиться

Для меня ни один не лучше или хуже, но Подрывной плагин SVN по умолчанию в Eclipse платформа Ganymede, таким образом, существует шанс, что это лучше интегрируется с Eclipse.

3
ответ дан macbirdie 19 December 2016 в 01:57
поделиться

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

18
ответ дан 2 revs, 2 users 75% 19 December 2016 в 01:57
поделиться

Subclipse, потому что, по крайней мере, это работает.

Подрывной был блок сбоя для меня до сих пор. Это не играло бы по правилам со всеми моими старыми проектами, которые я проверил с Subclipse.

12
ответ дан 2 revs, 2 users 67% 19 December 2016 в 01:57
поделиться

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

15
ответ дан Hank Gay 19 December 2016 в 01:57
поделиться

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

5
ответ дан Oisin Hurley 19 December 2016 в 01:57
поделиться

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

24
ответ дан 3 revs, 2 users 88% 19 December 2016 в 01:57
поделиться

If you do much merging with Subversion then you will probably prefer CollabNet Desktop - Eclipse Edition. You have to register an account with CollabNet to get the download, but it is free. It is essentially Subclipse with a better merge UI.

I am not affiliated with CollabNet.

CollabNet has made their improved merge client available to non-registered users of Subclipse. You get it by selecting the CollabNet Merge Client feature when installing Subclipse from the update site.

34
ответ дан 22 November 2019 в 21:51
поделиться

Прочитав этот пост, я перешел на Subclipse без проблем.
http://eclipsezone.com/eclipse/forums/t77149.rhtml#92035407

51
ответ дан 22 November 2019 в 21:51
поделиться

Если вы используете 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 connector 1.6.x.

5
ответ дан 22 November 2019 в 21:51
поделиться

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

6
ответ дан 22 November 2019 в 21:51
поделиться

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

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

У меня установлен Subclipse , но я использую TortoiseSVN для совершения / тегирования / ветвления / слияния.

14
ответ дан 22 November 2019 в 21:51
поделиться

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

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

117
ответ дан 22 November 2019 в 21:51
поделиться

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

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

mvn eclipse:eclipse -Dwtpversion=2.0
2
ответ дан 22 November 2019 в 21:51
поделиться

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

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

6
ответ дан 22 November 2019 в 21:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: