Подтвердить что ты не робот

Пластиковые SCM против Mercurial? Необходимость управления версиями для Visual Studio 2005 в Windows 7

1) Кто-нибудь использовал Plastic SCM? Надежность?

2) Как это соотносится с Mercurial? (Похоже, что это хороший кандидат для DVCS в Windows. Я пробовал Git и действительно не понравился.)

3) Мне очень нравится TortoiseSVN. Мне нравится центральная модель из-за кусочка ума, что если он в репозитории "безопасен" и отслеживается. Вот вопрос: стоит ли волнение над распределенным управлением версиями (DVCS)?

Моя среда:

  • Windows 7

  • Разработка Windows (Dev. Studio 2005, SQL Server 2003); интеграция была бы приятной

  • Двое разработчиков используют один и тот же код

  • push-код для рабочих серверов почти ежедневно

4b9b3361

Ответ 1

Мой ответ будет предвзятым по отношению к Plastic SCM, поскольку я один из разработчиков. При этом попробуйте ответить на ваши вопросы:

  • Является ли Plastic SCM надежным? В настоящее время он используется большими, очень большими, средними и малыми командами по всему миру. У нас нет (пока: P) огромной пользовательской базы, такой как Git или Mercurial, но мы рассчитываем на чрезвычайно страстную и талантливую команду. Проверьте, например, наши результаты теста нагрузки (мы действительно ставим пластик под большую нагрузку).

  • Как это сравнить с Mercurial? Хотя я думаю, что мы можем последовательно бить каждую "традиционную" функцию управления версиями по функциям, Git и Hg, вероятно, являются самыми сложными с точки зрения набора основных функций. Позвольте сосредоточиться на Hg, что делает пластик? Я думаю, что я мог бы часами разговаривать, но попробую составить короткий список, в основном:

    • Простые в использовании инструменты: из графического интерфейса пользователя, ShellExtension, Visual Studio Plugin, интегрированного diff/merge (да! попробуйте XDiff/XMerge с поддержка рефакторинга кода!), Исследователь Branch, который в основном позволяет вам делать все ветвление и слияние с графической точки зрения... Хорошо, с помощью Plastic вы не только получаете "движок", вы получаете весь автомобиль со всеми частей вам нужно. Я могу упомянуть другие инструменты для пользователей VS, такие как поддержка истории методов, и список растет и растет...
    • Как Mercurial: полностью разработан для обработки ветвления и слияния. С моей точки зрения (смещенное) ветвление проще в пластике, так как по умолчанию "названные ветки" есть. Мы предлагаем пользователям включить "branch per task" .
    • Настраиваемые бэкэнды базы данных: вы можете хранить свои данные (а затем использовать стандартные SQL-интерфейсы, если вам нужно создавать собственные приложения) в SQL Server, Firebird, Oracle, MySql или даже крошечном SQLite. Мы не изобрели колесо здесь: транзакционный по умолчанию;)
    • Безопасность на основе ACL: возможно, это не ключ для небольшой команды, но она есть.
    • Для расширенных слияний: каждый "набор изменений" в Hg ограничен максимум двумя родителями, у вас нет этого ограничения в пластике, но хорошо, мы можем спорить о деталях в течение нескольких часов... может быть, не стоит;)
    • Также для продвинутых интеграторов: мы обрабатываем отслеживание слияния на уровне элемента, что означает, что мы можем легко "частично слить" (слить только часть ветки). Это немного сложнее с Hg и Git.
  • Стоит ли DVCS? Конечно, это. Итак, шаг за шагом:

    • DVCS хорош не только потому, что он позволяет распределенную разработку, но и потому, что все новые системы DVCS (Hg, Git, базар, пластик...) осуществляют отслеживание слияния справа. Итак, в конце дня для многих людей DVCS - это просто отслеживание слияния, сделанное правильно (менее шокирующее, чем нажатие/вытягивание, но правда).
    • Возможность иметь собственный SCM на вашем ноутбуке просто великолепна. Я работаю с Plastic таким образом (теперь у меня есть сервер на основе SQLite, супер-быстрый и сверхлегкий) в течение многих лет и... ну, это просто лучше: вы никогда не замедляетесь подключением к Интернету, вы можете (помните ветвь на задачу), просмотрите свои собственные изменения... все. И затем, после того, как вы закончите, верните свои изменения на главный сервер. Это просто лучше.
    • Теперь: Пластиковый SCM, в отличие от Git и Hg, способен работать в двух режимах. Вы хотите иметь центральный сервер и напрямую подключаться к нему без промежуточных реплик? Ты можешь это сделать. Вы хотите работать в истинном стиле DVCS? Вы тоже можете это сделать. Вот почему пластик настолько гибкий.

Наконец, если вы используете разработчиков Visual Studio + W7 + 2... пойдите и возьмите БЕСПЛАТНОЕ Пластиковое SCM Community Edition... Hg, как я уже сказал, является хорошим ядром, но пластик по крайней мере так же хорош и приходит в комплекте со всеми инструментами, которые вы использовали в качестве разработчика Win (если вы не любите CLI и не ненавидите мышку... и даже тогда у Пластика тоже есть CLI: P).

Ответ 2

Я немного поиграл с Plastic SCM, и, хотя кажется, что он более мощный, мне было гораздо сложнее использовать Mercurial. В частности, было две вещи, которые мне не нравились:

  • В то время как Subversion и Mercurial сравнивают файлы с их оригинальными версиями, чтобы решить, что нужно проверить, Plastic SCM требует, чтобы вы проверяли файлы явно перед их редактированием, а также помечали файлы как только по-умолчанию. Именно так работает Team Foundation Server, и это, вероятно, одна "особенность" TFS, которая привлекает больше критики, чем любая другая, поэтому было большим разочарованием, увидев, что Plastic имитирует ее. Я понимаю, что вы можете настроить "Пластик", чтобы не отмечать файлы как доступные только для чтения, но я не знаю, насколько хорошо он работает на практике, если вы это сделаете.

  • Я обнаружил, что его инструменты графического интерфейса довольно сложны и неудобны для использования по сравнению с интерфейсом Mercurial GUI, TortoiseHg. Им действительно нужно обуздать своих графических дизайнеров. В конце концов, это инструмент управления версиями, а не фильм.

Ответ 3

Я смотрел в Пластик и Hg какое-то время, и пока я играл немного, я действительно начинаю влюбляться в Пластику. Причина, по которой я попал в это, заключается в том, что на моей нынешней работе мы используем SVN, а слияния кода - очень ручные, и я думал, что должен быть лучший способ. Итак, в свободное время я попал в "Пластик" и полюбил его. Инструменты просто интуитивно понятны; нет лучшего способа описать их. О, конечно, я не сомневаюсь в своих способностях командной строки, но есть что-то, что можно сказать о видении того, что вы делаете. Конечно, у каждого есть командная строка, поэтому я никогда не интересовался этой частью любого VCS.

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

Я все еще учился и копался в вещах, но я бы рекомендовал сделать некоторые исследования самостоятельно, загрузив его и попробовав. Я не читал руководства, и я мог бы начать использовать его. Это просто здорово!