Что наиболее раздражает система контроля версий (SCM), которую вы используете?

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

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

Можете ли вы назвать какое-то качество или поведение, которые вы находите раздражающими или контрпродуктивными в SCM, который вы используете или использовали?

Ответ 1

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

  • Без понятия единицы работы. Если я зарегистрирую десять измененных файлов, чтобы исправить ошибку или добавить функцию, нет возможности просматривать эти изменения как группу еще раз. Даже если они имеют одинаковую проверку в комментариях.
  • Динамические представления будут иногда исчезать при перезагрузке. Не вдаваясь в подробности, это означает, что файлы, на которые могут положиться другие приложения, имеют вероятность менее 50% присутствия при перезагрузке вашего компьютера.
  • Если я проверю код на свою ветку, а затем снова солью обратно в main, он не будет автоматически проверять его на основной с тем же комментарием. Это означает, что если я хочу хорошо прокомментировать сеансы на главной ветке, я постоянно повторяю себя.
  • Практически нет интеграции с Visual Studio (по-видимому, это лучше в 7.1, но, конечно же, мы еще не обновились до этого)
  • Быстрая и легкая идея согласованности интерфейса с некоторыми диалогами с кнопками с правой стороны, а некоторые внизу. Также некоторые окна, которые действительно должны быть изменены (содержат длинные имена файлов), не являются.
  • Редко (но достаточно часто, что это произошло хотя бы один раз для всех, с кем я говорил в обеих компаниях). ClearCase решит добавить случайный символ в середину XML файлов.
  • Тот факт, что IBM изменила 4600 долларов за лицензию, и люди платят за нее.

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

Ответ 2

Размеры Серены были очень разрушительными. Мы каждый день перезапускали сервер и также нуждались. В противном случае он становится очень медленным. Я не уверен, что это проблема внедрения или проблема с продуктом. Также вы можете обратиться к блогу Eric Sink за более подробной информацией об управлении версиями.

Ответ 3

Я могу подтвердить большую часть материала упомянутого здесь о VSS.

Я был вынужден использовать его.: - (

Ответ 4

Subversion. Его ветвящая поддержка ужасна - вот почему я предпочитаю Mercurial в эти дни; Я не разрабатываю материал на самолете, но мне нужно разветкиться.

Ответ 5

А назад я застрял с менеджером версий Serena. Это было ужасно. Наш репозиторий был довольно сложным, и количество групп по продвижению, которые у нас были, и те ветки, которые у нас были, и теги, которые у нас были, были настолько неконтролируемыми, что, если вы точно не знали, что вам нужно делать, удачи. Намного сложнее, чем когда-либо было.

Теперь мы используем TFS (и дома использую Subversion), и я счастливый разработчик.

Ответ 6

Subversion: сервер очень надежный, но нет клиента-администратора GUI ( edit: действительно, нужно иметь один вариант поддержки)

Мы перешли из Source Un в безопасное место в Seipine SurroundSCM около года назад; мы решительно рассмотрели Subversion, но наш администратор хранилища, который выполняет очень хорошую работу, не является экспертом в командной строке, и без клиента администратора GUI существует огромная дыра в том, как мы могли бы поддерживать репозитории управления исходными данными нашей компании.

FWIW, я думаю, что все SCM имеют проблемы с терминологией. Это делает его еще более адским для переключения программного обеспечения SCM, когда многие пользователи нашей компании не являются разработчиками программного обеспечения с прекрасными воспоминаниями. VSS называет каталоги "проектами". Seapine SurroundSCM вызывает каталоги "репозиториев". (У Subversion были некоторые раздражающие имена для вещей, но я не могу придумать, что они сейчас делают)

Ответ 7

Subversion имеет два основных недостатка.

  • Рабочая копия составляет 2x фактического размера вашего программного обеспечения. При работе с большими медиафайлами и несколькими ветвями это может стать неудобным.
  • Маркировка и ветвление - это просто копии сундука. Это становится крайне неприятным при сопоставлении структуры каталогов репозитория с рабочими пространствами разработчиков. Я жажду традиционных концепций ветвления и тегов.

В целом, это очень респектабельный VCS по сравнению со многими альтернативами.

Ответ 8

Несмотря на то, что SCM, вероятно, является одной из лучших вещей, которые вы можете использовать в среде разработки, это всегда беспокоит меня (и это может быть nit-picking):

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

Это все, о чем я могу думать сейчас.:)

Ответ 9

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

  • Монотонный: указать ".". для обозначения текущего рабочего каталога (в противном случае любая команда применяется ко всей рабочей копии).
  • CVS: Слишком много списка. Избегайте любой ценой. (возможно, обработка разрешений).
  • Subversion: не распространяется.
    • SVK: добавление распределения в подрывную деятельность кажется неуклюжим.
  • Mercurial: Это монотонный клон - почему, дорогой бог, почему?
  • Bazaar: Действительно странный подход к созданию сетей (хотя это может быть устаревшим).
  • Git: Качество исходного кода, но это изменение.

Ответ 10

Subversion работает довольно медленно, не хватает таких функций, как offline-commit, иногда коммит завершается с ошибкой и требует обновления, и если вам нужно использовать нотацию @, чтобы заглянуть в ваш репо, это невозможно использовать.

Bazaar вполне нормально, но в основном не поддерживается (по крайней мере, по крайней мере, по крайней мере, по версии sourceforge). Кроме того, я предпочитаю подрывную модель ветвления/тегирования.

Ответ 11

Subversion (Ну, Tortoise SVN, я думаю, что это больше проблема с клиентом) изредка запутывается, и мне приходится тратить время на копирование материала в папку с нуля, повторное добавление, очистку и т.д., чтобы я мог заставить его делать чистые обновления/фиксации, не жалуясь на блокирующие файлы.

Ответ 12

В настоящее время я являюсь пользователем Mercurial, и мне это очень нравится. Но это имеет один недостаток: если дерево ревизий действительно разветвлено, оно замедляется. Многие из них сводятся к некоторым вариантам дизайна, которые были сделаны, и, в частности, тот факт, что изменения всегда записываются в отношении последнего совершенного изменения (а не изменения родителя). Но я все равно возьму его на себя.

Теперь для меня система управления версиями имеет две синусоидальные функции: (1) концепция наборов изменений, поэтому атомные изменения остаются атомными; и (2) легкое разделение ветвей без потери информации. По сути, у всех DVCS есть это; большинство других VCS нет. (Perforce приближается, но мне всегда кажется, что слияние ветвей не сохраняет последовательность изменений и комментариев из ветки.)

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

Ответ 13

В моем опыте Serena Dimensions каждый плагин ломается. Даже интеграция оболочки Windows Explorer, которая замедляет доступ к общим ресурсам сети для сканирования. Тогда он не расскажет вам все, что вы хотите знать об изменениях. Изменен файл в нижней части дерева каталогов? Накладки верхнего уровня не скажут вам. По сравнению с Tortoise SVN это пример отсутствия унаследованности.

Но мне действительно не нравится действительно, так это то, что когда я делаю Deliver, он обнаруживает изменения файлов, тогда, когда я делаю сравнение, чтобы посмотреть на diffs, он сообщает мне Ancestor и Производные идентичны. Если я не могу доверять встроенному инструменту diff, сколько раз он решил, что Ancestor and Derivative одинаковы, когда они были фактически разными?

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