Open Source Clearcase Альтернативы - PullRequest
4 голосов
/ 19 июня 2009

Я помогаю настроить SCM для новой программы, и в настоящее время мы находимся в процессе выбора VCS.

Основными претендентами на данный момент являются SVN, ClearCase, SVN + DVCS и просто DVCS.

В данный момент команда склоняется к SVN или SVN + DVCS. Мы хотим избежать затрат и затрат на администрирование ClearCase, но хотим, чтобы рабочий процесс и варианты управления версиями предлагались. Я также предложил вариант использования DVCS, и эта идея рассматривается.

Для DVCS мы рассматриваем Mercurial, Bazaar и Git. Команда чувствует себя комфортно с SVN, но не думаю, что она предложит необходимую универсальность, поэтому мы смотрим на DVCS поверх опции SVN.

Есть ли у кого-нибудь какие-либо советы (например, о существующих инструментах, процессах) для запуска такой установки?

Проблемы включают в себя:

  • Простота настройки
  • Настройка рабочих процессов (разработка <-> обзоров кода -> тест -> ствол, затем ствол -> ветка интеграционного теста -> выпуск с исправлениями ошибок, внесенными в ветви релиза), аудит (обнаружена ошибка, когда она была введена) )
  • Генерация метрик
  • Разумная кривая обучения для разработчиков, привыкших к ClearCase.
  • Разработка Windows
  • Интеграция с трекером ошибок (вероятно, это будет Redmine, хотя он не задуман)

Ответы [ 4 ]

9 голосов
/ 19 июня 2009

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

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

Самой большой ловушкой, когда вы привыкли к ClearCase (особенно не UCM ClearCase), является «композиция» спецификации конфигурации.
Если вы выберете DVCS (Mercurial, Bazaar - или Git, поскольку он действительно хорошо работает в Windows ), вы не сможете получить тот же «эффект наследования» - (когда вы выбираете разные версии с разными последовательными правилами выбора - : как сказано в этом ответе:

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

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

Итак, резюмируем:

  • Простота настройки: все упомянутые DVCS просты в настройке. То, что должно быть принято во внимание, является администрацией с точки зрения доступа пользователя.
  • Настройка рабочих процессов: DVCS поддерживает любой рабочий процесс, даже централизованный, публично-частный или ... Что касается поиска ошибки, все они поддерживают какой-то процесс деления на две части .
  • Генерация метрик: если под этим вы подразумеваете «метрики об управляемом коде», все они поддерживают некоторую полную систему журналов, способную отображать много информации о том, что изменилось.
    Но в терминах «метрик об инструменте» (скорость процесса или места, занимаемого данными) упомянутые инструменты DVCS считаются намного быстрее, чем SVN (см. здесь в качестве примера ).
  • Разумная кривая обучения для разработчиков, использующих ClearCase: графический интерфейс может быть фактором, облегчающим кривую обучения, но DVCS сильно отличается от ClearCase, как показано в ответе " core concept ".
  • Разработка Windows: все они хорошо работают на платформе Windows, с небольшим преимуществом (лучшая интеграция) по сравнению с Mercurial или Bazaar.
  • Ошибка интеграции трекера (вероятно, будет Redmine, хотя он и не задуман): теперь Redmine поддерживает большинство из них (а не только SVN, как это было в начале)
3 голосов
/ 19 июня 2009

В чем проблема с Git? Я использую Git на Windows прямо сейчас. Работает просто отлично. Git Extensions очень полезен, если вам нужна интеграция с проводником, если это ваша проблема.

1 голос
/ 19 июня 2009

У меня нет опыта работы с clearcase, но надеюсь, что следующее поможет некоторым. Ваш вопрос опускает несколько частей информации, которые я бы принял во внимание, прежде чем принять решение. Во-первых, сколько у вас будет исходного кода? В то время как SVN хорош для средних и крупных проектов, для действительно огромных проектов, таких как ядро ​​Linux, Git обеспечит гораздо лучшую производительность. Во-вторых, какую IDE вы используете? В то время как Mercurial, Git и SVN имеют плагины Visual Studio и Eclipse, качество там очень высокое. Согласно статье Википедии о Redmine, любая из систем SCM, на которую вы смотрите, будет интегрирована. Следующий блог может быть полезен для вас, так как он написан на покупку парня, который пишет систему SCM для жизни. http://www.ericsink.com/

0 голосов
/ 25 февраля 2012

Если бы вы могли отменить требование, что он должен работать в Windows, я бы порекомендовал посмотреть Aegis .

...