СКМ внутри или снаружи IDE? - PullRequest
1 голос
/ 24 октября 2008

Я лично всегда использовал какое-то внешнее приложение для своей работы в SCM; в наши дни это означает tortoiseSVN для Windows и versions.app для Mac. Однако я продолжаю сталкиваться с разработчиками (а именно с пользователями затмений), которые утверждают, что SCM лучше выполнять в самой IDE. Мне еще не приходилось слышать какие-либо действительно убедительные аргументы в пользу этого рабочего процесса, и мне лично нравится степень «разделения» между операциями IDE и SCM. Это сгорело во мне благодаря использованию нестабильных плагинов SVN в Visual Studio и некондиционной поддержке SVN в XCode в прошлые годы при работе в автономном режиме.

Какой способ, по вашему мнению, способствует лучшему рабочему процессу?

Ответы [ 7 ]

4 голосов
/ 24 октября 2008

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

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

2 голосов
/ 24 октября 2008

Одним из преимуществ интеграции является рефакторинг. Если бы я переименовал класс в Java (и, следовательно, в имя файла), ваша интеграция SCM автоматически обработала бы операцию переименования (например, удаление, а затем добавление в svn).

Также очень удобно иметь возможность сказать «покажи мне историю этого файла» или что-то еще, пока ты работаешь над ним, без необходимости заходить в Проводник Windows или командную строку или что-то подобное.

Но мне нравится, если честно, и то, и другое.

2 голосов
/ 24 октября 2008

Я определенно предпочитаю снаружи. При этом моей основной IDE является Visual Studio, и я не использовал eclipse или intellij (хотя я использовал cvs-mode в emacs ...), поэтому ваш пробег может отличаться ...

  • Внесение изменений и их фиксация являются отдельными задачами - их легкая доступность в среде IDE означает, что вы не можете четко разграничить выполнение набора изменений и их фиксацию. Довольно часто это тип type type, compile, test, test, commit ... «о, подождите - я тоже забыл заглянуть в панель. Переключение контекста из режима IDE в режим SCM приводит к появлению «о, подождите» перед фиксацией.

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

  • Как и выше, гораздо проще совершать вещи на неправильном уровне / в каталоге в хранилище, когда в IDE. (например, я должен был принять на уровне решения, а не на уровне проекта)

  • Как правило, проще получить полную разность вашего рабочего пространства с хранилищем вне IDE, что часто имеет смысл.

  • Это также, вероятно, делает вашу IDE более быстрой

Я также согласен с предыдущим постером - все нетривиальные задачи SCM, как правило, проще вне интеграции IDE разработки.

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

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

1 голос
/ 24 октября 2008

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

0 голосов
/ 15 декабря 2009

Мне нравится внутренний SCM для.

  • Переименование файлов вместо необходимости переименовывать в IDE и в инструментах SCM
  • Добавление файлов в проект - см. Выше

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

Для любой сложной операции, например слияние, ветвление и т. д. Я обычно использую внешний SCM GUI или командную строку.

0 голосов
/ 24 октября 2008

Строительство должно быть возможно без IDE, поэтому SCM должно быть возможно без IDE.

С другой стороны, поддержка IDE для SCM может быть удобной. Приятно иметь возможность, например, легко проверять историю файлов и, возможно, восстановить ее.

0 голосов
/ 24 октября 2008

Это очень сильно зависит от комбинации IDE / SCM. В настоящее время я использую IntelliJ с SVN и обнаружил, что плагин IntelliJ для SVN, как правило, гораздо приятнее в использовании, чем Tortoise. Не то чтобы у меня были какие-то особые жалобы на черепаху - IntelliJ просто лучше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...