Зачем связывать плагин управления версиями с IDE?

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

Я всегда предпочитал использовать определенную версию управления версиями для командной строки/автономной версии и никогда не мог использовать интеграцию IDE.

Я знаю, что иногда это может быть полезно, например, для автоматического отслеживания переименований, но я несколько раз укусил плагины управления версиями (особенно прозрачный плагин Clear Case Eclipse), которые теперь я нахожу, что он эффективен по сравнению с commanline версии, где я лучше контролирую.

Каково ваше мнение?

Ответ 1

Интеграция IDE с контролем версий и, в частности, управление изменениями программного обеспечения помогает объединить философию IDE и системы управления версиями.

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

Другим может быть отслеживание рабочих элементов и сложных исправлений ошибок.

Также он сохраняет некоторую церемонию и контекст-коммутацию при редактировании файлов.

Расширенные возможности интеграции также могут позволить внедрить концепцию "управления конфигурацией" ( "ветвь", "тег", "просмотр" ) в среду IDE.

Интеграция ClearCase, однако, явно не "продвинута".

Ответ 2

Интегрированное управление источником также помогает хранить только важные файлы под контролем источника. Например, когда я добавляю новый файл в Visual Studio, плагин (visualSVN) позволит мне легко добавить его, не заставляя меня заходить за пределы моей IDE и запускать команду, чтобы добавить его в репозиторий. С другой стороны, он автоматически игнорирует временные файлы, такие как obj/и bin/Folders.

По существу: встроенный контроль версий, который на самом деле работает, - отличный способ сохранить репозиторий в чистоте и завершении.

Ответ 3

Мне нравится, как это реализовано в некоторой среде IDE. Ankh-SVN для Visual Studio не так уж хорош и немного глючит, однако Subeclipse Я нахожу работу очень хорошо, когда я использую Eclipse.

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

Вот почему я так люблю Subversion с Tortoise SVN. Я могу выбрать интеграцию IDE, когда и где это имеет смысл, иначе, как вы сказали, я могу просто использовать командную строку или, в моем случае, клиент на базе Windows Explorer.

Ответ 4

Многие из них - это просто предпочтение и комфорт пользователя. Некоторым людям удобно работать с командной строкой. Некоторые предпочитают графический интерфейс.

Я бы не делал обобщенных предположений о том, что все средства управления версиями внутри IDE плохие или ошибочные, основанные на опыте с определенным плагином, который имел проблемы.

Ответ 5

Почему даже есть IDE? Почему бы просто не сделать все с помощью командной строки?;)

Ответ заключается в том, что интеграция с IDE "лучше".

Моя причина №1: Вы можете визуально увидеть, был ли извлечен файл или нет, и если вам нужно отредактировать файл, вы можете предпринять действие прямо там, где вы работаете.

Есть больше, но это большой.

Ответ 6

Это зависит от вашей среды IDE и того, как вы работаете с VCS.

Я и моя команда, использующие плагины VSS внутри Delphi IDE, при совместной работе дают много гибкой функции. Все наши формы - это регистрация, когда вы начинаете писать письмо или пересылаете компоненты, которые задавали, если вы хотите проверить файл или форму кода.

также, когда кто-то меняет какой-либо код в других формах, он всплывает и говорит вам, что он уже обновляется кем-то другим и просит вас обновлять текущие файлы в вашем H.D.

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

Я нахожу большинство людей, которым нравится работать с командной строкой, работающей в основном в коде без GUI IDE, или я могу ошибаться.

Ответ 7

Почти все мои потребности в subversion могут обрабатываться интерфейсом IDE. Гораздо быстрее сделать 2 быстрых клика, чем вывести командную строку, cd в нужное место, выдать команду и т.д.

Командная строка имеет место, но с текущей средой IDE это место продолжает сокращаться.

Ответ 8

У меня есть шрамы от использования багги реализации интеграции IDE/VCS. Честно говоря, если бы это было не багги, это было бы здорово. Пока есть отличные инструменты, такие как TortoiseSVN, я не вижу необходимости в интеграции IDE/VCS. Я бы предпочел иметь больше инструментов, которые хорошо выполняют свою работу, чем несколько багги.

Ответ 9

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

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

"Контрпродуктивный" - большое слово. Если у вас есть серьезные проблемы с CVS/SVN, возможно, раз в месяц, все равно, что у некоторых есть сложные клиенты, установленные на всех ваших машинах dev.

Ответ 10

У меня есть обе системы, где есть интегрированная среда IDE (Microsoft FrontPage против веб-сайта разработки IIS с безопасностью Visual Source на всем веб-контенте) и там, где нет (разработка командной строки java, выпуски Visual Studio Express), Промежуточный случай, который я использую, - jEdit 4.x с интеграцией VSS через плагин.

Я думаю, что интегрированный случай ценен по той причине, что он всегда есть - вам не нужно оставлять ваше приложение для взаимодействия с функциями контроля источника, и вам не нужно беспокоиться о том, чтобы запомнить новые файлы и проверьте файлы перед их редактированием. Насколько мне известно, способность иметь гладкий рабочий процесс и свести к минимуму риск оплошностей. Даже когда интеграция с интегрированным IDE менее совершенна (случай jEdit 4.x), я по-прежнему предпочитаю, чтобы он не имел его.

Я также согласен с тем, что наличие интеграции с проводником в Windows, случай для Tortoise SVN, также является отличной возможностью даже при интеграции IDE. Это позволяет удобно работать без необходимости запуска IDE, а также возможность запуска из окна проводника в среду IDE (в зависимости от типа файла) или редактора, или сделать что-либо еще при работе в проводнике Windows.

И да, интерфейсы командной строки остаются ценными, особенно для сценариев шаблонов повторяющихся операций.

Я работаю во многих контекстах. Наличие низких барьеров и текучесть операций во всех из них следует ценить.

Ответ 11

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

Если вы ищете более практические причины, то это то, что IDE могут предложить вам понимание по характеру их графического представления. Например, Eclipse представит измененные файлы и каталоги. С дополнительными плагинами или наборами вы сможете получать информацию в режиме реального времени, как только другой пользователь редактирует один и тот же файл, помогая вам предсказать конфликт слияния до его возникновения. Я не знаком с механизмом, основанным на командной строке.

Ответ 12

Я использую intellij, интегрированный с cvs на регулярной основе, и, безусловно, лучшей функцией интеграции управления версиями внутри IDE является линейная индикация того, что добавлено, отредактировано или удалено вместе с легким доступом (мышь наведите указатель/подсказку) на изменения предварительного редактирования.

Все это в исходном коде ненавязчивым способом.

Для гаек и болтов управления версиями (checkin/checkout/update/etc) я иногда использую IDE и иногда использую командную строку.

Ответ 13

Причина № 1 для SCM, интегрированного с IDE, заключается в том, что она упрощает ее использование и устраняет необходимость ПОМНИТЬ, чтобы проверить ситуацию. Благодаря опыту, я видел, что шаги, которые разработчики понимают как посторонние, которые часто охватывают все, кроме написания кода, не выполняются. Сделать их дополнительные шаги увеличивает вероятность того, что разработчики не будут беспокоиться об этом и будут работать вокруг системы управления версиями