самый быстрый инструмент SCM, доступный для разработки встроенного программного обеспечения - PullRequest
4 голосов
/ 03 июня 2010

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

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

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

GIT, Mercurial, Bazaar, Subversion, CVS, Perforce и Visual SourceSafe.

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

Благодарю вас заранее, Rahamath.

Ответы [ 4 ]

2 голосов
/ 03 июня 2010

Если вы хотите, чтобы что-то «не зависело от доступа к сети или центрального сервера», тогда централизованные SCM из вашего списка (Subversion, CVS, p4) должны быть удалены.

Если вы хотите кроссплатформенность, то я думаю, что Visual Source Safe должен пойти.

Кроме того, вы упомянули Open Source, который выдает p4 и Visual Source Safe.

CVS довольно старый, и если вы планируете использовать его, вам лучше его проигнорировать и использовать вместо него SVN.

Git - это то, что вы можете добавить в список, но его поддержка в windows не так хороша, как в bzr и mercurial.

Я сам использую git, но я разрабатываю исключительно для Gnu / Linux и поэтому не могу комментировать поддержку windows. Кроме того, это немного странно, но как только вы привыкнете, это может быть действительно мощным. Существует проблема кривой обучения, поэтому вам, возможно, придется потратить некоторое время на обучение своей команды этому инструменту.

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

Hg приятен и прекрасно работает на windows и Gnu / Linux, но так как я довольно активно использовал git, я скучаю по некоторым его функциям на hg.

2 голосов
/ 03 июня 2010

Mercurial или Git - самые популярные распределенные системы контроля версий. Я считаю, что Git имеет преимущество в скорости, особенно в фиксации, ветвлении и слиянии. Кроме того, его алгоритм слияния - лучший, который я когда-либо встречал; большинство слияний могут обрабатываться автоматически без ввода пользователя.

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

Subversion, CVS, Perforce и SourceSafe не распределены; Более того, Perforce и SourceSafe не являются ни бесплатными, ни открытыми. CVS практически устарел, а Subversion является его естественным преемником, поэтому я бы не стал его больше рассматривать.

1 голос
/ 03 июня 2010

Мы используем ClearCase (с его преимуществами и болевыми точками ), и мы рассматриваем DVCS .

Прямо сейчас мы представляем Git как на Windows (msysgit), так и на «центральном» сервере Solaris, который удовлетворяет наши потребности с точки зрения слияния и с точки зрения распространения (для оффшоров) -развитие)

Но нам нужно настроить «центральные» репозитории, чтобы разработчики могли использовать их как справочные, и для этого нам пришлось использовать gitolite (ветвь pu) для его мелкозернистой уровень доступа (репо, филиал, доступ к каталогу на пользователя или группу, на основе ldap)

Идет интеграция с Eclipse , и мы уверены в уровне поддержки, поскольку все проекты Eclipse перешли с CVS на Git (поэтому они готовы поддерживать его).

Mercurial был рассмотрен и может предложить тот же уровень функций, но имеет очень сложную модель ветвления .
Git не имеет расширения для установки. Это просто работает (с кривой обучения, которую нам удается поддерживать на разумном уровне через мои службы поддержки пользователей)

1 голос
/ 03 июня 2010

На работе мы на самом деле тоже на ClearCase и не удовлетворены по некоторым причинам ... Очень медленно обновлять большие проекты (особенно если не локальная сеть) ...

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

...