Преимущества/недостатки ClearCase

Поскольку я в настоящее время изо всех сил пытаюсь изучить IBM Rational ClearCase, я бы хотел услышать ваше профессиональное мнение.

Меня особенно интересуют преимущества/недостатки по сравнению с другими системами управления версиями, такими как Subversion или Git.

Ответ 1

Вы можете найти хорошее сравнение ClearCase и Git в моем ответе SO:
" Каковы основные концепции ClearCase, которые должен знать каждый разработчик?, иллюстрирующие некоторые существенные различия (и некоторые недостатки ClearCase)


Операции с файлами

Наиболее важным недостатком ClearCase является его старый подход с файловой ориентацией (в отличие от "ориентированного на репозиторий", например, в SVN или Git или Perforce...)
Это означает, что каждый чек или регистрация выполняется в файле. Операция атомарности находится на уровне файлов.
Объедините это с очень подробным протоколом и сетью с потенциально несколькими узлами между рабочей станцией разработчика и сервером VOB, и вы можете получить довольно медленный и неэффективный файловый сервер (который ClearCase находится в его основе).

Операции File-per-file означают: медленные рекурсивные операции (например, рекурсивная проверка или рекурсивный "добавить к исходному контролю" , даже clearfsimport).
быстрая локальная сеть обязательна для смягчения побочных эффектов этого чат-протокола.

Централизованный VCS

Другим аспектом, который следует учитывать, является его централизованный аспект (даже если он может быть "распределен" с его многосайтовой реплицированной функцией VOB)
Если сеть не разрешает доступ к VOB, разработчики могут:

  • по-прежнему работают в представлениях моментальных снимков (но только с захваченными файлами).
  • ожидание восстановления сети, если они используют динамические представления

Вариант дорогостоящего распределенного VCS

У вас может быть какая-то распределенная функция VCS, реплицируя Vob.
Но:

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

Старый, а не удобный графический интерфейс

  • GUI - очень старая школа и непрактичная (взгляд середины 90 МФЦ, полностью синхронный графический интерфейс, что означает, что вам нужно дождаться обновления до щелчка в другом месте): при просмотре базовых линий вы не можете быстро искать его в частности.
  • GUI для Unix не совсем то же самое, что и в Windows (последняя версия 7.1 лучше, но еще нет)
  • процесс установки довольно сложный (хотя последний Installer Manager, представленный CC7.1, теперь представляет собой согласованный графический интерфейс для Windows или Unix и упрощает процедуру)
  • единственное реально богатое приложение было разработано только для CCRC (Remote Client)

Несоответствия UCM и в когерентности

Как упоминалось в разделе " Как использовать функции ClearCases", динамические представления великолепны (способ видеть данные через сеть без чтобы скопировать их на диск), но основная функция остается UCM: она может быть реальным активом, если у вас большой проект со сложным рабочим процессом.

Некоторые недостатки на этом фронте:

Ограниченные политики с Base ClearCase

Использование ClearCase без использования UCM означает определение политики для:

  • создать ветвь (в противном случае любой может создать любую ветку, и в итоге вы получите gazillon из них, с кошмаром слияния)
  • поместите ярлыки (в противном случае вы забываете отмечать некоторые файлы или помещать ярлык, на котором вы не должны были, или вы "перемещаете" (выдыхаете) ярлык из одной версии в другую: на минимальные базовые линии UCM не могут быть перемещены)
  • определить changeet. ChangeSets существуют только с действиями UCM. С Base ClearCase вы сводились к умным запросам "cleartool find"...

Нет прав приложения

Управление правами ClearCase полностью построено на правах системы.
Это означает, что вам необходимо зарегистрировать своего пользователя в правильной системной группе, что не всегда легко сделать, когда вам нужно ввести билет в свою ИТ-службу, чтобы они могли сделать правильную регистрацию.
Добавьте к этому гетерогенную среду (пользователи в Windows и сервер в Unix), и вам необходимо зарегистрировать своего пользователя в Unix, а также в Windows! (с тем же именем логина/группы). Если вы не установили какое-то соответствие LDAP между двумя мирами (например, Centrify)

Отсутствует расширенный API

  • только CLI завершен ( "cleartool" - это интерфейс командной строки ClearCase), что означает, что любой script (на Perl или другом языке) состоит в разборе вывода этих команд cleartool)
  • Библиотека автоматизации ClearCase (CAL) существует, но довольно ограничена.
  • Java API существует, но только для веб-представлений для клиента CCRC.

Просмотр Хранилища не легко централизованные/резервные копии

Хранилища View являются эквивалентом ".svn" SubVersion, за исключением того, что во всех каталогах рабочей области SubVersion имеется только одно "хранилище представлений" для каждого представления вместо многих .svn. Это хорошо.

Плохо то, что каждая операция в представлении (простая "ls", проверка, проверка и т.д.) вызывает запрос network для view_server, который управляет вашим сервером просмотра.
2 варианта:

  • объявите хранилище своих заметок на своей рабочей станции: отлично подходит для масштабируемости, вы можете иметь столько же, сколько хотите, без налогообложения локальной сети: все коммуникации напрямую выполняются на вашей рабочей станции. НО , если эта машина умирает на вас, вы теряете свои представления.
  • объявить хранилище просмотров на централизованном сервере: это означает, что все процесс view_server будет создан там и что все операции над просмотром любым пользователем будут связаны с этим сервером. Это можно сделать, если инфраструктура "правильная" (специальная высокоскоростная локальная сеть, выделенный сервер, постоянный мониторинг), но на практике ваша ЛВС не будет поддерживать этот режим.

Первый режим означает: вы должны сделать резервную копию своей незавершенной работы (личные файлы или извлеченные файлы)
Второй режим означает: ваша рабочая станция может быть недоступна, вы можете просто войти в систему на другой, чтобы вернуть свои представления (execpt для личных файлов представления моментальных снимков)


Боковое обсуждение динамических представлений :

Чтобы добавить к аспекту "динамический вид", у него есть одно преимущество (это динамическое) и один недостаток (он динамический).
Динамические представления отлично подходят для установки простой среды для быстрого обмена небольшим развитием между небольшой командой: для небольшого усилия по разработке динамическое представление может помочь 2 или 3 разработчикам постоянно оставаться на связи друг с другом, мгновенно видя, когда один совершает перерывы что-то в других взглядах.
Для более сложных усилий по разработке предпочтительна искусственная "изоляция", предоставляемая снимком снимка (вы видите изменения только при обновлении - или "обновлении" - в представлении моментального снимка)
Для реальных расходящихся усилий или курса развития ветка по-прежнему требуется для достижения истинной изоляции кода (в какой-то момент потребуются слияния, которые ClearCase обрабатывает очень хорошо, хотя и медленно, по файл)

Дело в том, что вы можете использовать оба варианта по правильным причинам.

Примечание: небольшая команда Я не имею в виду "небольшой проект". ClearCase лучше всего использовать для проекта большой, но если вы хотите использовать динамические представления, вам нужно настроить " ветки задач, чтобы изолировать небольшие усилия по разработке для каждой ветки: таким образом," небольшая команда" (подмножество вашей большой команды) может эффективно работать, быстро распределяя свою работу между ее членами.
Если вы используете динамические представления в "основной" ветке, где все делают что-либо, тогда любая регистрация будет "убить вас", поскольку она может ввести некоторые "разрывы сборки", не связанные с вашими текущими усилиями по разработке.
Тогда это будет плохое использование динамических представлений, и это забудет другие его применения:

  • дополнительный способ доступа к данным, в дополнение к представлениям моментальных снимков, что означает, что это отличный инструмент для просто "видеть" файлы (например, вы можете использовать динамическое представление для настройки своей спецификации конфигурации до тех пор, пока вы видите, что хотите, а затем скопируйте эти правила выбора в свой обычный снимок)
  • вид сбоку для объединения: вы работаете со своим снимком, но для слияний вы можете использовать свой динамический "сестра-вид" ( "сестра", как в "той же конфигурации конфигурации" ), чтобы избежать неудачного слияние из-за извлеченных файлов (на которых вы в настоящее время работаете на вашем снимке) или из-за неотображения моментального снимка. После завершения слияния вы обновите свой обычный снимок и возобновите работу.

Разработка непосредственно в динамическом представлении не всегда является лучшим вариантом, так как все (незавершённые) файлы считываются через сеть.
Это означает, что DLL или jar или exe, необходимые вашей среде IDE, будут доступны через сеть, что может значительно замедлить процесс компиляции.
Возможные решения:

  • один снимок со всеми в нем
  • представление моментального снимка с dll или jar или exe в нем (файлы, которые не меняются каждые пять минут: одно обновление в день) и динамический просмотр только с видимыми источниками.

Ответ 2

Стоимость - довольно очевидный недостаток. Не только стоимость лицензии, но и стоимость зарплаты гуру ClearCase. Почти каждая компания, о которой я знаю, использует ClearCase, похоже, имеет хотя бы одного человека, единственная цель которого - приручить непослушного зверя.

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

Ответ 3

Абсолютный кошмар системы. Мне было жаль, что мы не вернемся к VSS! (Не обращайте внимания на современную систему управления версиями, например Subversion или Git!)

  • Это slooooow.
  • Если вы используете динамические представления и сеть идет вниз, вы не можете получить доступ к вашей рабочей копии источника. Вы можете сделать ничего, кроме сидеть и ждать, чтобы он исправлялся.
  • Если вы используете представления моментальных снимков, вы все время сталкиваетесь с конфликтами и "захваченными" файлами, поэтому файлы в вашей рабочей копии никогда не такие же, как в исходном репозитории.
  • Когда вы пытаетесь выполнить большое обновление или доставляете, он неизменно НЕИСПРАВНОСТИ по той или иной причине, требуя от гуру ClearCase провести несколько часов/дней, выяснив это. О да, у вас должен быть специальный, полный рабочий день гуру ClearCase!
  • Когда он терпит неудачу, вы часто не можете откатить операцию, так что вы застряли в текущей операции и разработчики заблокированы.
  • Когда вы просматриваете симпатичные (?) значки, графический интерфейс очень низок - вплоть до таких вещей, как невозможность изменить размер окон, чтобы увидеть полные пути к файлам!
  • Сотрудники службы поддержки не хотят ничего исправить. Их первый ответ всегда " это по дизайну" и "можете ли вы обойти его?" Если они в конечном итоге обеспечивают исправление (после долгих споров), это будет самое основное возможное решение самой непосредственной проблемы.

В принципе, это медленный, сложный и ненадежный, как ад. О, и я упомянул это смехотворно дорого? Единственный способ продать его - поговорить с лицами, принимающими решения, которые никогда не использовали продукт и никогда не будут! Я уверен, что ни один разработчик в мире никогда не купит его.

Ответ 4

Атомные коммиты и изменения - мои самые большие проблемы с ClearCase. Скажем, вы проверяете пять файлов как часть исправления ошибок или рефакторинга. Затем выясняется, что что-то перепуталось, и вам нужно вернуться. Удачи, найдя, какие пять файлов они есть и какая версия должна быть включена. Но позвольте сделать шаг назад. Вы только что закончили редактирование этих пяти файлов, и это время для фиксации. Первые четыре проходят отлично. Это последнее требует массивного слияния. Остальные четыре файла уже зарегистрированы. Они не дождались завершения необходимых изменений в последнем файле. Я надеюсь, что никто не обновит или не использует динамический вид. Сервер непрерывной интеграции также сработает.

Иногда мы создаем целый новый каталог с файлами, которые необходимо проверить, но мы не хотим проверять их до тех пор, пока они не будут выполнены. Это рано, и все по-прежнему неустойчиво, поэтому зачем проверять вещи в том, что вы можете удалить очень скоро? Хорошо, хорошо. Теперь пришло время проверить. Вы добавили вновь созданную папку в исходный элемент управления. Ну, ClearCase не рекурсивна, поэтому только одна папка проверяется. С SVN эта папка и все под ней добавляются по вашему выбору. Разработчик должен помнить, что нужно добавить все, в противном случае будет отсутствовать много файлов.

ClearCase владеет файлами и папками, поэтому вы ничего не можете изменить, если только вы не проверили его. Плагин eclipse отнимает много неприятностей здесь. Я не могу сказать, сколько раз я открывал файл в vi, чтобы быстро изменить его, только чтобы узнать, что я забыл сначала его проверить. Checkout также не является рекурсивным.

Обновления могут быть болезненно медленными без изменений. Когда вы обновляете представление моментального снимка, каждый файл обновляется, а не только измененные файлы. Я работал над проектом с 20 000 + файлами. Я бы дистанцировался от своей рабочей машины, запускал обновление, а затем ездил на работу; получить кофе; Идите к моему столу, пока он заканчивает. Это может показаться преувеличением, но, к сожалению, это не так.

Динамические представления ужасны, если вы не находитесь в очень маленькой команде. И если это так, почему у вас даже есть ClearCase? Я видел, как бесчисленное количество людей смотрят на него, потому что кто-то проверял файлы, которые нарушали взгляды всех остальных. Вы всегда должны обновлять и объединять любые конфликты в своем собственном представлении. Таким образом, изменения влияют только на вас. При динамическом представлении вы не можете слиться, прежде чем нажимать резервную копию; вы просто совершаете и надеетесь.

Я знаю, что стоимость, вероятно, не является большой проблемой, но разработчики, которые зарабатывают деньги для компании, получат удовольствие от $50 тыс. $100 тыс. (в зависимости от лицензии ClearQuest, которая является общим дополнением) на любые забавные события или новое оборудование (стулья, мониторы и т.д.). IBM рекомендует, чтобы сотрудники продолжали работу ClearCase. Почему бы не переназначить этих людей для получения дохода для компании, а не для того, чтобы убедиться, что все не сбой и сжигание?


Некоторые из причин, о которых я слышал, не переключились:

  • Обучение потребует времени и денег
    • Обучение SVN или Mercurial должно занимать не более одного дня. Только ClearCase предлагает иметь определенное отношение администраторов к разработчикам.
  • Миграция будет болезненной
    • Вот почему существуют инструменты: cc2svn
    • Это не так просто с Mercurial
  • Безопасность
    • В SVN AFAIK нет известных отверстий в отверстиях, и команда разработчиков посвящена исправлению всего, что можно найти быстро. Министерство обороны кажется ОК с SVN.
  • Никакое реальное повышение производительности после
    • Требуется постоянная попытка отслеживания ошибок без изменений. Мне нравится, когда я могу вернуться назад, пока не увижу ошибку. Вы не можете сделать это в ClearCase.
  • Многоузловое
    • WANdisco решает эту проблему. Это не бесплатно, хотя.

Единственное, что ClearCase делает лучше, чем остальные, - это разветвление отдельных файлов, а остальные - на одну и ту же дорожку, что и другая ветка.

Ответ 5

Все, что я делал в Clearcase, всегда кажется трудным. Принимая во внимание, что у меня никогда не было такого впечатления с другими системами (за исключением, может быть, CVS).

Я использовал SVN, CVS, Clearcase и Mercurial.

Ответ 6

Мой опыт работы с ClearCase был катастрофой, и я сделаю второй вывод о том, что для него нужен резидент-эксперт. К сожалению, у нас было более одного. У меня был опыт работы с CVS и другими системами контроля версий, я был знаком с концепциями, но я нашел документацию ClearCase непонятной и вынужден был несколько раз просить о помощи; разные эксперты дали мне противоречивый совет до того, что мы на самом деле сломали cd. То есть после того, как я выпустил команду ClearCase в оболочке UNIX, команда "cd" завершилась с сообщением об ошибке.

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

Ответ 7

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

Кажется, что привлекают менеджеров и инженеров, которые ТОЛЬКО ПОЛУЧАЛИ ВСЕ НЕПРАВИЛЬНО.

Черт, IBM и Rational должны иметь замечательных продавцов, чтобы продать такой дрянной продукт.

Ответ 8

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

Ваши жизненно важные бизнес-данные являются заложниками ClearCase. Вы не можете получить его.

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

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

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

Это будет где-то между неприятностью и проблемой для нас в краткосрочной и среднесрочной перспективе. Через пару лет это уже не важно, но, возможно, в течение 1-3 лет это будет иметь значение.

(Существуют коммерческие инструменты для переноса CC в другой SCM, но они не были удовлетворены нашими потребностями, и я сомневаюсь, что это было бы возможно. Минимальный экспорт, который мы сделали, занял достаточно много времени.)

Выученный урок: никогда не доверять жизненно важным бизнес-данным в проприетарные системы.

Ответ 9

Никаких атомных коммитов

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

Crappy пользовательский интерфейс

Графический интерфейс ClearCase Explorer - просто большая шутка. Ужасно в юзабилити и уродливом взгляде. Предоставляются различные и часто необходимые функции arent (например, рекурсивная проверка работы с артефактами). Инструмент командной строки cleartool, используемый с cygwin, намного лучше, но все же некоторые вещи доступны, как рекурсивно добавляя новые файлы/папки в исходный элемент управления. Мне нужно смеяться, если я прочитаю 50 строк кода длиной script, чтобы обойти это.

Высокие усилия по администрированию

Администрирование зверя ClearCase далека от очевидного или легкого (в отличие от других scm-систем, таких как CVS, subversion или Git). Ожидайте, чтобы положить немало посвященных экспертов ClearCase, чтобы они просто работали.

Ужасная производительность

Ничего не хуже, так как ваши разработчики ожидают, взаимодействуя с SCM-инструментом, это похоже на вождение с ручными тормозами. Это замедляет ваш мозг, а также вашу работу. Получение новых новых файлов на ваш снимок занимает около 30 минут для артефактов 10K. Обновление (никаких артефактов не было изменено) за ту же сумму занимает примерно 5 минут. Когда экспериментировать много и прыгать между разными современными представлениями, это многого ждет. Это становится еще хуже, когда вы работаете над файлами, и вы хотите их зарегистрировать или обновить. Выезд, регистрация и добавление к циклам управления источником занимает около 10-15 секунд, что, очевидно, является кошмаром. Это очень раздражает, когда вы рефакторинг переименования/перемещения типов или методов (многие файлы могут быть затронуты).

Отсутствие поддержки распределенной разработки

Сегодня разработка программного обеспечения часто является распределенной вещью (разработчики распространяются по всему миру, работая над одним и тем же продуктом/проектом). ClearCase определенно не подходит для этого, потому что он плохо подходит для работы в автономном режиме. Выполнение выписки (действие перед редактированием файла/папки) требует подключения к сети. Здесь вы можете использовать опцию hijack, но это скорее обходной путь как функция (вы в основном просто разблокируете файл в файловой системе). Если ваши сайты разработки находятся далеко от вашего сервера ClearCase, задержка регистрации/выписки может даже увеличиться настолько резко, что она вообще не используется. Возможны обходные пути для таких, как использование ClearCase Multisite (технология реплики scm DB), но вам нужно заплатить дополнительно за нее и не является тривиальным для администрирования.

Git как альтернатива

Будучи большим поклонником + сторонником Open Source, я все еще готов заплатить деньги за хорошее программное обеспечение. Но, глядя на IBM-монстра ClearCase, я бы не инвестировал здесь свои деньги, у этого есть все эти обсуждаемые недостатки, и еще больше IBM, похоже, не вкладывает деньги, чтобы значительно улучшить свой продукт. Недавно я посмотрел Git scm, который выглядит очень хорошо, особенно для его ветвящихся + объединяющих функций, где ClearCase имеет свои сильные стороны.

Эта информация взята из http://www.aldana-online.de/2009/03/19/reasons-why-you-should-stay-away-from-clearcase/

Ответ 10

Возможно, самое худшее программное обеспечение, когда-либо сделанное. Я не буду работать ни на одной фирме, которая использует рациональное все. Помимо CC полностью сбой и перезагрузка моей рабочей станции часто в динамических сборках. Что происходит, когда вы подталкиваете что-то к источнику контроля, и CC делает то, что он делает лучше всего, сбой? Ваш код затем помещается в потерянный + найденный, где-то подпертый? Нет, он ушел навсегда. Поэтому, если вы когда-либо находитесь в ужасной ситуации использования этого гигантского куска дорогого программного обеспечения, держите дубликаты всего. Хорошая работа Rational/IBM. Способ захвата наиболее важной части контроля источника, надежности. Умереть медленно.

Ответ 11

Недостатки ClearCase - дополнение к самому углубленному сообщению здесь.

  • Инструмент слияния не стоит. Он едва помогает вам, не помнит никаких решений, которые вы сделали, это просто прославленный diff.

  • Инструмент слияния должен проверять каталоги даже на ПРОВЕРКУ, если им требуется слияние. Это немного безумие.

  • Я использую BitKeeper на работе (допустим Git), и объединение двух репозиториев, даже если конфликты настолько тривиальны и удобны для пользователя, даже с командной строкой, в то время как ClearCase с множеством инструментов GUI - это длинный и кропотливый процесс, который также чрезвычайно подвержен ошибкам.

  • Для всех инструментов GUI требуется тонна задержки. Даже просмотр того, что можно сделать в файле, требует высокоскоростного соединения. Таким образом, щелчок правой кнопкой мыши в инструменте ClearCase на файле, работающем дома, может занять минуту или две, имея высокоскоростной интернет из-за экстремального количества сетевых требований.

  • Кто-то может полностью испортить репозиторий или чек-листы, если они делают их спецификацию вида отличной от команды. Что совершенно ненормально, что никто не может просто проверить какую-нибудь ветку; им нужна соответствующая спецификация вида, которая, кстати, даст им правильные вещи. Вся концепция может быть приятной и гибкой, но в 99% случаев она вызывает много боли. Не упоминал ли я, что вы не можете отправлять свои спецификации через Microsoft Outlook, так как средства CC не принимают UTF-8, поэтому вы не можете скопировать его?

  • У меня абсолютно ничего приятно сказать о CC. Я использовал его 2 года в 2 компаниях и бросил его в сердце, чувствуя себя счастливым все время. Также невозможно просто экспериментировать дома с вашими собственными проектами, поэтому вы все равно будете изучать SVN или Git дома и быть вынуждены проходить через действия ClearCase на работе. Никто, я знаю, никогда не использовал CC добровольно. Они используют его только потому, что какой-то управляющий на работе решил, что CC - это путь к спасению и заставил всех перейти на него. Фактически моя последняя компания перешла из CVS в ClearCase и через год из ClearCase в SVN. Это было ненавистно.

  • ClearCase - это не одна вещь, которая заставляет вас сказать "нет". Это как жить в доме, зараженном муравьями. Каждый ant является лишь небольшим неудобством в лучшем случае, но заражение приведет вас в бешенство.

Ответ 12

Я пытаюсь объединить несколько комментариев в фактический пост здесь. Я не здесь, чтобы убедить вас в том, что один лучше другого, за исключением того, чтобы сделать несколько моментов:

  • Если вы сравниваете git и ClearCase, я с уважением представляю, что вам нужно лучше определить ваши потребности - если вы рассматриваете ClearCase по "хорошей" причине, git, вероятно, даже не в уравнении - это слишком ново для доверия для контроля исходного уровня на уровне предприятия, imo.
  • ClearCase вводит множество концепций в пространство управления версиями, которое не имеет других систем, поэтому оно может быть довольно сложным и запутанным. Особенно, если только у вас есть опыт чтения документации, как это бывает для нескольких человек здесь.
  • ClearCase определенно не подходит для огромных баз кода, поддерживаемых разработчиками, которые не подключены к локальной сети с сервером VOB. У вас может быть много реплицированных (многосайтовых) VOB-серверов, чтобы они были близки к удаленным разработчикам, но это не обязательно практично, если эти удаленные сайты являются всего лишь одним разработчиком.
  • Вы хотите управлять версиями файлов или версией репозитория? Это довольно важный вопрос и тот, который обязательно отфильтрует весь набор инструментов, облегчая вашу работу. У версии репозитория много преимуществ (и это не "новое", как утверждают некоторые плакаты - коммерческие инструменты, такие как Perforce, существуют уже более десятка лет, и, возможно, были инструменты, которые делали репозитарий даже до Perforce), но это не панацея.
  • При достаточно большой установке любой системы управления версиями вам понадобится помощь. Рассматривая инструменты, вам нужно подумать о том, как легко найти людей, которые могут вам помочь (либо соискатели, у которых есть опыт, либо консультанты, которые будут на месте в любой момент для решения любых проблем). Нет такой вещи, как система SCM, не требующая обслуживания, и если у вас ее есть, вы получите больше проблем, чем выбор того, что требует "слишком много" администрирования.
  • Не обращайте слишком много внимания на людей, которые говорят о том, насколько плохие "динамические представления" - плохие политики SCM плохи, независимо от используемого вами инструмента. Политики и методы управления конфигурацией должны быть отделены от вашего выбора инструмента - ни один инструмент не остановит людей от разгрома всей вашей кодовой базы, если вы не определяете разумные политики ветвления и объединения. Если кто-то подсказывает, что если разработчики напрямую передают /main, это разумная идея, вы можете уйти от этого разговора.

ClearCase - прекрасный инструмент, но это сложный инструмент. Об этом не обойтись - у него нет режима "простой установки".:-) С технической точки зрения, ничего, что git или SVN не может сделать, что ClearCase не может (хотя часто терминология отличается, поскольку проекты с открытым исходным кодом имеют тенденцию просто изобретать новую таксономию там, где она уже существует), но некоторые вещи определенно легче/сложнее для данной системы, в зависимости от их дизайна. Представления ClearCase "моментальные снимки" в основном таковы, что у вас было бы, если бы вы проверили репозиторий из SVN или CVS - это локальная копия исходного кода на вашем компьютере с указателями на центральный сервер для инструментов для запроса истории версий, и т.д. Вы можете работать с этими представлениями без какого-либо сетевого подключения к серверу ClearCase вообще, как только они были созданы, и вы можете "переработать" их, чтобы не загружать весь репозиторий снова, когда вы хотите перейти на работу в другой ветке, для пример. "Динамические представления" - это в основном изобретение ClearCase и стандартный режим работы для локальной сети. Они выглядят так же, как проверка SVN-репозитория, но они фактически не копируют файлы до тех пор, пока вы не внесете изменения. Таким образом, представление доступно сразу, но с ним, очевидно, не сработает, если главный очищающий сервер недоступен и ему неприятно работать с использованием соединения с высокой задержкой. У них также есть возможность быть смонтированным в качестве сетевого диска на любом компьютере с доступом к серверу, на котором они были созданы, поэтому, если ваша рабочая станция Windows умирает, вы можете просто войти в другой, установить свое представление и получить назад, чтобы работать, поскольку все файлы хранятся либо на сервере VOB (для файлов, которые вы не изменяли в этой ветке), либо в view_server (для файлов, которые вы создали или изменили только в этом представлении).

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

Хорошо, все, что было сказано, если вы ищете причины не использовать ClearCase, их нетрудно найти, хотя я думаю, что это неправильный путь. Действительно, вам нужно придумать веские причины использовать ClearCase, а не причины НЕ использовать ClearCase. Вы должны войти в любую ситуацию SCM, полагая, что ClearCase - слишком большой инструмент или слишком сложный инструмент для работы, а затем посмотрите, есть ли у вас какая-то ситуация, которая побуждает вас использовать ее в любом случае. Наличие логотипов IBM или Rational не является веской причиной.: -)

Я бы даже не рассмотрел ClearCase, если бы вы не могли сказать "да" всем следующим операторам:

  • Теперь у вас есть или, в конечном итоге, более 50 разработчиков, работающих на одной и той же базе кода.
  • Большинство этих разработчиков расположены в центре или имеют высокопроизводительные подключения с низкой задержкой к центральному местоположению.
  • У вас есть набор политик SCM и вы можете определить, как использовать ClearCase для принудительного применения этих политик (действительно, вы должны рассмотреть это для любого инструмента)
  • Деньги действительно не являются объектами.

Ответ 13

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

Помимо технически способного VCS, CC имеет несколько отличительных преимуществ:

  • Динамические представления
  • Хорошее дерево версий
  • Триггеры
  • Хорошее слияние версий, включая переименования

По моему мнению, их использование ограничено, за исключением последнего; и они не компенсируют недостатки. Динамический вид хорош в теории, но не всегда доступен на практике. Дерево версий имеет гораздо меньшее использование в других VCS, в то же время необходимое в CC из-за распространения ветвей (см. 6). Триггеры, как я знаю, очень подробные и способные, но я думаю, что для большинства практических задач крючки SVN достаточно хороши. И теперь о недостатках, которые в основном касаются удобства использования:

  • CC полностью терпит неудачу в смысле удобства использования для основной группы пользователей: для разработчиков. И это главная причина, почему я считаю, что ее никогда нельзя использовать ни в какой среде, будь то предприятие или нет. Даже если бы это было бесплатно, это все равно сосало бы ваши деньги компании, потратив время на ваших разработчиков и разочаровав их. Этот момент состоит из:
    • "Check-Check-in" со строгим подходом к блокировке - он контрпродуктивен, рефакторинг недружелюбен и опасен в организациях репозитория с единой ветвью развития для нескольких разработчиков. Между тем, преимущества строгой блокировки незначительны.
    • Плохая производительность и высокая загрузка.
    • Он эффективно не может использоваться удаленно без многосайтового (из-за 2). Мультисайт тоже дорог. Клиент ClearCase Remote очень ограничен. Он даже не имеет cleartool (до версии 7.1), оставляя только динамические представления.
    • Его вряд ли можно использовать в автономном режиме. Динамические представления просто не работают. Представления моментальных снимков эффективно читаются, потому что вы не можете проверить доступ к репозиторию (см. 1). Hijack - это плохой вариант, который на самом деле означает, что CC отказывается от какой-либо ответственности за захваченный файл. И CC не может показать вашу разницу с предыдущей версией, когда она отключена. SVN может показать разницу с предыдущей версией, даже находясь в автономном режиме.
    • Слишком сложная модель, особенно с UCM: VOB, PVOB, Проекты, потоки, ветки, представления, доставка, обновление, загрузка, восстановление, переустановка, слияние, базовая линия, регистрация, проверка. Я думаю, что половина этих понятий просто лишняя и не добавляет ценности, одновременно увеличивая техническую и концептуальную сложность. Немногие разработчики понимают даже основные вещи о CC.
    • Распространение ветвей. Например, репозиторий часто организовывается потоком на разработчика (из-за 1). Это просто не имеет смысла в SVN или большинстве других VCS.
    • Нет изменений в репозитории. Ну, есть такие пересмотры, как понимать, они называются базовыми. Но когда я вижу некоторую ревизию файла и хочу получить моментальный снимок репозитория в момент пересмотра файла, у меня появятся некоторые проблемы. Мне нужно будет сделать черную магию с помощью спецификации конфигурации, чтобы создать представление моментального снимка или найти какой-либо динамический вид, если он доступен.
    • Crappy GUI пользователя. Дерево версий, даже будучи красивым, имеет посредственную удобство использования. Инструмент слияния просто жаль. Другие "функции": не изменяемые по размеру окна, отсутствие инкрементного поиска в некоторых местах, ориентированный на мышь интерфейс, внешний вид в стиле 1995 года, странный рабочий поток, распределенный между клиентом и Project Explorer и т.д.
    • CC провоцирует редкие и обширные проверки. Вы все знаете, что проверки должны быть небольшими и частыми. Но разработчики обычно воздерживаются от дополнительных взаимодействий с CC, hijack файлами и работают в локальных VCS или даже без VCS вообще (что чаще всего, к сожалению). И затем, после двух недель разработки, они начинают совершать функцию comlex, которая добавляет 20 файлов и затрагивает еще 20 файлов. Он длится день или два, потому что они захватывают файлы и теперь необходимо выполнить ручное слияние со всеми новыми изменениями из репо и разрешить все конфликты и несоответствия. Во время этого процесса код не компилируется, потому что несколько файлов успешно прошли проверку, а другие нет. И после этого он все еще не компилируется, потому что они забыли добавить еще 2 файла в CC.
  • Это очень дорого
  • Он очень сложный с точки зрения инфраструктуры и требует выделенных администраторов.

Ответ 14

ClearCase кажется чрезвычайно мощным, извне. Но на самом деле, просто то, что количество команд и параметров, которые вам нужно использовать для базового рабочего процесса, настолько велико, что они скрываются за несколькими псевдонимами или скриптами, и вы получаете что-то менее мощное, чем CVS, с удобством использования Visual Source Безопасно. И в любое время, когда вы хотите сделать что-то немного сложнее, чем позволяют ваши сценарии, вы получаете больное чувство в своем желудке.

Сравните это с Git, который кажется сложным извне, но после недели работы с ним вы чувствуете себя полностью контролируемым. Модель репозитория проста для понимания и невероятно мощна. Поскольку легко достать гайки и болты, на самом деле приятно вырываться под поверхностью вашего ежедневного рабочего процесса.

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

Но в Git, выясняя, казалось бы, сложную задачу, например, как интерактивно совершать только некоторые изменения (и оставлять остальное на потом) было очень весело, и все время у меня такое ощущение, что VCS позволяет мне организовать код и историю таким образом, который мне подходит, а не история, являющаяся случайностью того, как мы использовали VCS. "Git означает, что вам не нужно говорить" вы должны иметь".

В моей работе я использую Git для всех видов облегченных задач, даже в ClearCase. Например, я делаю TDD, и я передаю Git всякий раз, когда проходит куча тестов, и я собираюсь реорганизовать. Когда задача в конечном итоге завершена, я регистрируюсь в ClearCase, а Git помогает мне точно посмотреть, что я меняю. Просто попробуйте получить ClearCase для создания diff через пару файлов - это невозможно! Используйте Google, чтобы узнать, какие хаки люди пытались обойти это. Это то, что контроль версий должен делать из коробки, и это должно быть легко! CVS имеет это в течение десятилетий!

Ответ 15

  • Кошмар для администрирования в защищенных средах
  • Устаревшая технология
  • Неинтуитивный графический интерфейс
  • Дорогой
  • Ресурсный монстр
  • Продажа в Microsoft

По-моему? Только причина иметь его? Если вы религиозно следуете RUP.

Ответ 16

Поддержка ужасна. У нас были билеты на несколько лет. Наш гуру eclipse на самом деле исправил ошибку в своем плагине eclipse локально примерно через 30 минут, разобрав java файл. Но билет до сих пор не получил поддержки первого уровня. Каждый так часто они либо пытаются скрытно закрыть его, либо откликнуться на него "попробовать последнюю версию" (даже если мы отправили им рецепт репродукции, который они могли бы попробовать сами).

Не прикасайтесь к полюсу баржи.

Ответ 17

Производительность.

ClearCase является мощным, стабильным (IF надлежащим образом поддерживается и контролируется), но он медленный. Иногда геологически.

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

Ответ 19

  • Разработчики потратят половину времени на то, чтобы выяснить, что делать, прежде чем выполнять какую-либо работу, и как только они это выяснят, они установят git локально и будут только нажимать на clearcase-репо по мере необходимости.

  • Вам придется использовать специальный администратор Clearcase.

Ответ 20

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

Ответ 21

Недавно мне пришлось спорить с подобной ситуацией. Может быть, вы можете узнать из моей истории.

Команда, которую я недавно назначил, использовал инструмент тяжелого веса в запутанном, подверженном ошибкам манере. Сначала я попытался продать их по моим инструментам и процессам выбора. Эта попытка потерпела неудачу. Я был ошеломлен тем, что они выбрали бы такую ​​обременительную среду над тем, что было бы проще и эффективнее. Оказывается, они хотели быть дисциплинированными, и с помощью болезненного процесса чувствовали себя дисциплинированными. Это звучит странно, но это правда. У них было много других заблуждений. После того, как я выяснил, чем они занимаются, мы фактически застряли в одном наборе инструментов (Serena), но значительно изменили его настройку.

Мой совет для вас - выяснить, что важно для вашей команды. Ripping на ClearCase не приведет вас нигде, если вы не поговорите с их интересами. Также выясните, почему они не хотят использовать альтернативы. В основном делайте небольшие требования к сбору и подгоните свои варианты инструментов к вашим потребностям. В зависимости от ваших опций, кто знает, Clear Case может оказаться лучшим вариантом в конце концов.

Ответ 22

Я не полностью против ClearCase (он имеет свои преимущества), но перечисляет недостатки:

  • Ограничения лицензии - я не могу легко работать из дома, потому что у меня нет доступа к серверу лицензий. Даже с моментальным снимком на моем ноутбуке мне приходится играть в трюки, потому что я не могу получить лицензию. Существует специальный удаленный клиент, но он добавляет тонны своих ограничений в микс.
  • Лицензионные ограничения снова - Только так много мест, чтобы обойти, и тогда никто не сможет его использовать.
  • Утилиты Unix устарели - ClearCase, похоже, работает лучше всего в Unix-системах, но инструменты GUI сосут там. Интеграция Windows/Unix в ClearCase вводит всевозможные собственные усилия.

Ответ 23

Самое большое падение для меня - это производительность (особенно если ваш VOB является многопользовательской или вне компании) и потенциально длительный период простоя.

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

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

Ответ 24

ClearCase отлично подходит для использования, если вы хотите использовать другую систему управления версиями поверх нее! лично я нахожу, что использование ртутного потока CC для работы достаточно хорошо.

Ответ 25

  • отсутствие атомных проверок

Начиная с новой версии версии 7.1 CC обеспечивает атомную проверку как функциональность, если вам это нравится. Лично я бы этого не хотел, но, видимо, некоторые люди считают это "важной особенностью". Я НИКОГДА не хотел бы, чтобы один большой объем за один раз стал своего рода массивной версией. Затем снова... если вы хотите, просто включите его.

поэтому... больше не аргумент.

Ответ 26

Мы использовали UCM ClearCase, интегрированную с ClearQuest (система отслеживания/изменения запросов DR) за последние 4 года с более чем 50 разработчиками. У нас более 50 проектов UCM более тысячи потоков, которые обрабатывают более 35 тыс. DR и меняют запросы. За этот период мы официально осуществили более 600 интеграционных поставок и одновременно имеем до 6 одновременных усилий по разработке и выпуску.

Я главный парень CM/ClearCase с резервной копией, который может выполнять регулярные сборки доставки/слияния и интеграции. ИТ-команда поддерживается сетью и серверами. Все, что я могу сказать, у нас практически не было проблем, возникающих со стороны CM этого огромного усилия в области развития и никогда не было прекрасным шоу. Наши разработчики, обучающиеся только с базовым материалом и простые шаги, были предоставлены им всякий раз, когда новый проект (ветвь) был создан по запросу от управления проектом.

Слишком много разработчиков жаловались на ClearCase, потому что им не хватает надлежащей поддержки CM/IT/ClearCase/Process/Management. Разработчики должны сосредоточиться на разработке не SCM или быть специалистом по инструментам. Для большой разработки программного обеспечения не менее 5-7% бюджета должно быть потрачено на CM и поддержку инструмента.

Ответ 27

Запуск JDK из VOB в Linux.

Попробуйте, вам нужно сыграть с переменной LD_PRELOAD (я знаю!)

Ответ 28

точка "ему нужен преданный человек" и "это сложно" и т.д.

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

ClearCase - это решение, которое создается для использования в среде управления конфигурацией ERGO: есть менеджер конфигурации (например, "есть менеджер проекта" ).

Итак... если в вашем восприятии, что преданный человек есть, чтобы управлять инструментом, я думаю, что есть что-то очень неправильное. В моем восприятии есть преданный человек, который управляет конфигурацией, который из перспективы конечного пользователя появляется только тогда, когда есть проблема с инструментом, но это касается всего лишь 1% его работы.

Итак, что вам нужно сделать (например, в любом другом программном проекте), вернитесь к своим требованиям и вместе со списком требований о том, что хочет ваша организация, с управлением конфигурацией. И ДА, как и в любом другом программном проекте, у вас будут пользователи (например, разработчики), которые полностью не согласны с другими пользователями (например, управление) по определенным требованиям. Там лежит ключ imho на некоторые реакции, которые я читаю здесь.

И ИМХО, если у вас есть список требований к организации и менеджер конфигурации в миксе... выбор довольно ясный (см. также форум на www.cmcrossroads.com)

ClearCase не является инструментом только для конечных пользователей, которые вводят свои источники под управлением версиями, такими как subversion или git. Это всего лишь 1% от того, почему менеджеру конфигурации действительно нужен зрелый инструмент управления конфигурацией.

И... Я думаю, что выбор системы CM никогда не должен закладываться с разработчиками, равными выбору правильного инструмента управления проектами или правильной CRM-системы. Разработчики являются конечными пользователями определенной части функциональности инструмента.

Ответ 29

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

К сожалению, он поставляется с ценой, большой ценой. Это дорогостоящий процесс, и правильная работа должна быть надлежащим образом настроена и поддерживается специализированной ИТ-командой. Это делает его действительно хорошим для BigCo, но не настолько мудрым выбором для SmallFirm.

Я большой поклонник DVCS и git, но могу понять, почему BigCo выбирает ClearCase по SVN и Git. Что я не могу понять, почему кто-то выбирает SVN над Git; >

Ответ 30

Динамические представления. Должен восхищаться полнофункциональной прозрачной файловой системой.

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

Другим является мгновенный доступ к исходному коду и измененным файлам, ни разу не тратится время на загрузку.

Он хорошо служит для этой цели.