Пластиковый СКМ - Plastic SCM

Пластиковый СКМ
Разработчики)Программное обеспечение Codice
изначальный выпуск31 октября 2006 г.; 14 лет назад (2006-10-31)
Стабильный выпуск
9.0 / 21 августа 2020 г.; 3 месяца назад (2020-08-21)
Операционная системаМайкрософт Виндоус, Linux, Mac OS
Платформа.СЕТЬ / Мононуклеоз
Размер93 МБ (установщик Windows)
ТипКонтроль версий
ЛицензияПроприетарный
Интернет сайтwww.plasticscm.com

Пластиковый СКМ кроссплатформенный коммерческий распределенный контроль версий инструмент, разработанный Códice Software Inc. Он доступен для Майкрософт Виндоус, Mac OS X, Linux и другие операционные системы. Он включает в себя инструмент командной строки, собственный графический интерфейс, инструмент сравнения и слияния, а также интеграцию с рядом Иды. Это полный стек управления версиями, не основанный на Git (хотя он может взаимодействовать с ним).

особенности

Plastic SCM - это платформа стека управления полной версией. В его состав входят следующие компоненты:

  • Сервер
  • Клиент командной строки
  • GUI
  • Инструменты различения и слияния[1]
  • Веб-интерфейс[2]
  • Веб-интерфейс администратора[3]

Некоторые из его функций включают:

  • Поддержка тяжелых ветвлений и слияний: по словам создателей, Plastic может обрабатывать неограниченное количество ветвлений и сложных сценариев слияния.[4]
  • Visual Branch Explorer: временная шкала для представления ветвей, слияний и изменений в репозиториях, реализованная во всех его графических интерфейсах.[5]
  • Безопасность на основе ACL: каждый объект в системе может быть защищен списками контроля доступа.[6]
  • Встроенное трехстороннее слияние и параллельное сравнение, включая языковую поддержку и историю конкретного метода или функции[7]
  • Управление версиями каталогов и поддержка переименования версий
  • История изменений для разветвленных, переименованных, перемещенных, скопированных и удаленных файлов
  • Автор / аннотировать
  • Централизованное управление (стиль SVN / Perforce)
  • Распределенная операция (стиль Git / Mercurial)
  • Атомарные коммиты - сервер гарантирует, что ревизии полностью зафиксированы в репозитории
  • Стеллажи—Пользователи могут сохранять и восстанавливать незавершенную работу для переключения задач
  • Поддержка ASCII, Unicode, двоичный, символическая ссылка (в Unix), для Mac и UTF-16 файлы
  • Поддержка платформ Mac OS X, Windows и Linux
  • Триггеры событий на стороне сервера и на стороне клиента[8]
  • Поддержка сети с высокой задержкой: сетевой протокол, используемый Plastic, оптимизирован для высокоскоростных сетей / сетей с высокой задержкой.[9]
  • Gluon: графический интерфейс и рабочий процесс для не разработчиков (специально для разработки игр)[10]
  • Блокировка: двоичные файлы и активы, которые нельзя объединить, могут использовать блокировку вместо ветвления / слияния.[11]

дизайн

Пластик - это клиент / сервер система, хотя с точки зрения контроля версий ее также можно определить как распределенная система контроля версий, из-за его способности иметь очень легкие серверы на компьютере разработчика и передавать и извлекать ветви между серверами (аналогично тому, что Git и Mercurial делать). Разработчики работают с файлами в своем клиенте рабочие места и регистрировать измененные файлы вместе в наборах изменений.

Место хранения

Plastic SCM имеет 2 разных семейства хранилищ для всех своих данных и метаданных:

  • Jet: специальное хранилище, предназначенное для высокой производительности, выпущенное с версией 6.0. Теперь это хранилище по умолчанию.
  • Реляционные базы данных: Традиционно Plastic поддерживает хранение всех данных и метаданных в реляционных базах данных: MySQL, SQL Server, SQLite, SQL Server Compact Edition, Firebird, Firebird Embedded, Postgresql и Oracle. Реляционные базы данных по-прежнему поддерживаются, хотя Jet теперь используется по умолчанию.[12]

Режимы работы

Пластик может работать в 2-х режимах:

  • Централизованный: с рабочими областями (рабочими копиями), подключенными непосредственно к серверу. Пользователи выполняют операции регистрации без необходимости дополнительного нажатия.
  • Распределенный: пользователи размещают свои собственные репозитории на своих компьютерах и отправляют / отправляют на центральный сервер.[13]

Отличия от Git

Plastic SCM не основан на Git, хотя он может действовать как Git-сервер и Git-клиент. Различия можно резюмировать следующим образом: улучшения в слиянии, встроенная поддержка больших файлов и проектов, дополнительная блокировка файлов, может работать распределенно и централизованно. Различия есть и в структуре ветвления: если в Git ветки - это просто указатели, то в Plastic ветки - это контейнеры. Каталоги пластиковых версий и файлы, идентифицирующие их с помощью «идентификаторов элементов», что хорошо для отслеживания перемещения / переименования, в то время как Git полагается на различия для восстановления переименований / перемещений и не поддерживает каталоги версий.[14]

Совместимость с другими системами контроля версий

Git

Plastic может взаимодействовать с Git следующими способами:

  • GitSync: каждый клиент Plastic может загружать и извлекать данные из репозитория Git.[15]
  • GitServer: сервер Plastic может действовать как сервер Git, поэтому любой клиент git может отправлять / извлекать на сервер Plastic.
  • Поддержка быстрого импорта / экспорта: доступны команды быстрого экспорта и быстрого импорта для экспорта пластиковых репозиториев в промежуточный формат Git и импорта из промежуточного формата Git.[16]

Волей случая

Пластик может выполнять двунаправленную синхронизацию с хранилищами Perforce для облегчения миграции[17]

Другие элементы управления версиями

Импорт / экспорт из других систем достигается с помощью формата быстрого импорта / экспорта Git.

Доступность, цикл выпуска и поддерживаемые платформы

Plastic SCM доступен для загрузки с веб-сайта plasticscm.com. Основные выпуски публикуются ежегодно как готовые исполняемые файлы для Майкрософт Виндоус, Mac OS X, и Linux.[18]

Незначительные выпуски доступны еженедельно.

Лицензирование и условия использования

Plastic SCM бесплатен для физических лиц (Personal Edition), некоммерческих организаций и Открытый исходный код проекты (Community Edition).

Cloud Edition - это коммерческая версия для команд, которым не нужен локальный сервер. Клиенты платят за активного ежемесячного пользователя и за облачное хранилище. Подписка включает все программное обеспечение Plastic SCM.

Team Edition - это коммерческая версия для групп до 15 пользователей, которым требуется локальный сервер. Подписки ежемесячные или годовые и включают все программное обеспечение Plastic SCM.

Enterprise Edition - это коммерческая версия для групп более 15 пользователей, обычно используемая корпорациями. Его можно приобрести в режиме бессрочного выпуска или с ежемесячной или годовой подпиской.[19]

История

Codice Software была запущена в августе 2005 г. при поддержке ангела-инвестора и учредителей.[20] Цель заключалась в том, чтобы создать более эффективный контроль версий, чем SVN, в плане ветвления и слияния и более доступный для малого и среднего бизнеса, чем коммерческие альтернативы, доступные в то время. В октябре 2006 года они выпустили первую версию Plastic SCM и официально представили ее на конференции Tech Ed 2006 в Барселоне.[21][22]

В 2007 году Codice стал первым испанским малым и средним бизнесом, получившим CMMI L2 с использованием SCRUM.[23]

Пластиковый SCM был отмечен Novell как одна из компаний, использующих Mono в коммерческих целях.[24]

Пластиковый СКМ 2.0 запущен в марте 2008 года.[25]

В 2009 году Codice обеспечивает свой первый раунд венчурного капитала при поддержке Bullnet Capital, испанской фирмы, специализирующейся на технологических компаниях.[26]

Компания Plastic SCM стала финалистом премии Jolt Award в категории «Управление изменениями и конфигурациями», объявленной в декабре 2008 года.[27]

Пластиковый СКМ 3.0 запущен в июле 2010 года.[28] и он показал Xdiff / Xmerge: их первый подход к отслеживанию перемещенного кода в различиях и слияниях.

В декабре 2010 года Plastic SCM объявляет о «истории метода», функции, которая позволяет пользователю вычислять историю данного метода / функции вместо истории всего файла.[29]

В 2011 году Франсиско Монтеверде присоединился к компании в качестве генерального директора, а Пабло Сантос, основатель, был назначен техническим директором и президентом совета директоров.[30]

Пластиковый СКМ 4.0 запущен 23 ноября 2011 г.[31][32] и внесло серьезное изменение во внутреннюю структуру: отслеживание версий и слияния было перенесено с подхода для каждого файла на подход для каждого набора изменений, что помогло улучшить более позднее взаимодействие с Git.[33]

Начиная с 4.0, Plastic стал больше ориентироваться на разработку игр, особенно учитывая слабые стороны Git с точки зрения больших репозиториев и файлов.[34]

Версия 4.1 была запущена в апреле 2012 года.[35]

В 2013 году Codice запускает SemanticMerge, инструмент, который позволяет различать и объединять на основе структуры кода, а не текста.[36] Позже эта технология была интегрирована в Plastic. Семантика строится на основе предыдущей работы, проделанной с инструментом Xdiff / Xmerge. Позже в том же году Semantic добавила поддержку Java в дополнение к первоначальному предложению .NET.[37] Пабло Сантос представил межфайловые различия и обнаружение слияния на QCon 2013 в Сан-Франциско.[38]

В 2013 году Plastic SCM начал изначально поддерживать сетевой протокол Git, который фактически преобразует любую установку Plastic в клиент Git.[39]

Пластиковый СКМ 5.0 запущен в сентябре 2013 года.[40] Имеет встроенный семантический дифференциал, обнаружение рефакторинга[41] и история метода.[42] Другие функции - это безопасность на основе пути, списки изменений клиентов и улучшенные скрытые правила.

Версия 5.4 позже расширяет некоторые из этих функций и добавляет еще несколько: зашифрованные серверы, JavaCLI (клиент Java для поддержки сценариев HP-UX и Solaris), многоядерная загрузка и загрузка файлов, Plastic Gluon (разработан в сотрудничестве с Telltale [43]), графический интерфейс для художников, занимающихся разработкой игр, оптимизированная для WAN передача данных, субмодули, трансформируемые рабочие пространства. Plastic 5.4 развивается как основная версия Plastic, а в декабре 2014 года запускается новый собственный графический интерфейс для Linux, заменяющий предыдущий кроссплатформенный.[44] 5.4 также включает новый собственный графический интерфейс MacOS.

В январе 2016 года Plastic Cloud была запущена как система облачного репо-хостинга.[45]

В марте 2016 года была запущена Plastic Cloud Edition - новая версия, предназначенная для команд, которым не нужен локальный сервер.[46]

Версия 6.0 была наконец выпущена в январе 2017 года.[47] Он оснащен новой системой хранения данных под названием Jet, полной обратной совместимостью до 5.0 и поддержкой плавающих лицензий. 6.0 продолжает развиваться в течение 2017 года.

Пластиковый СКМ 7.0 запущен в марте 2018 г.[48] включая новый дизайн Branch Explorer, новый веб-интерфейс администрирования и улучшения графических интерфейсов MacOS и Linux.

Функция mergebots была запущена в сентябре 2018 года. Mergebots - это способ реализации DevOps с агентами на стороне сервера, которые обнаруживают, когда ветви должны быть объединены после их тестирования в системе CI.[49]Пластиковый SCM 8.0 был выпущен в январе 2019 года.

17 августа выяснилось, что Unity Technologies, создатели игрового движка Единство приобрела Codice Software.[50][51]

Смотрите также

Заметки

  1. ^ XDIFF И XMERGE
  2. ^ WebUI: переработанный веб-интерфейс для Plastic
  3. ^ webadmin - представляем новый инструмент администрирования сервера
  4. ^ mergeMachine
  5. ^ Branch Explorer
  6. ^ БЕЗОПАСНОСТЬ
  7. ^ Семантический контроль версий
  8. ^ РУКОВОДСТВО ПО ТРИГГЕРАМ
  9. ^ Оптимизированный сетевой канал для высокой задержки
  10. ^ Gluon: Контроль версий для художников
  11. ^ РУКОВОДСТВО АДМИНИСТРАТОРА PLASTIC SCM: Глава 7: Настройка эксклюзивной проверки (блокировка)
  12. ^ История Jet: сверхбыстрое хранилище репо от Plastic
  13. ^ Пластиковый SCM - DVCS на уровне предприятия
  14. ^ Plastic SCM vs Git - выпуск 2018 г.
  15. ^ GitSync для Plastic SCM с собственными протоколами Git и поддержкой Visual Studio 2012
  16. ^ ОСОБЕННОСТИ PLASTIC SCM ДЛЯ ПОЛЬЗОВАТЕЛЕЙ GIT
  17. ^ [Справка: https://www.plasticscm.com/perforce Plastic SCM для команд Perforce]
  18. ^ Мигель де Икаса о Plastic SCM UI в Linux и Mac OS X
  19. ^ Основные обновления PlasticSCM
  20. ^ LinkedIn: Пабло Сантос
  21. ^ SIMO 2006
  22. ^ Пластиковый SCM - DVCS на уровне предприятия Пластиковый SCM - DVCS на уровне предприятия
  23. ^ Codice Software представляет новый инструмент SCM
  24. ^ Компании, использующие Mono
  25. ^ Комплект пластиковых СКМ 2.0 для параллельных разработок
  26. ^ Innova.- La entidad de capital riesgo Bullnet Capital Entra en el accionariado de la vallisoletana Códice Software
  27. ^ Продукция Embarcadero - финалисты премии Jolt Award в нескольких номинациях.
  28. ^ Codice включает XMerge / XDiff 2.0 в выпуск Plastic SCM
  29. ^ Объявление истории метода
  30. ^ Франсиско Монтеверде se convierte en el nuevo Генеральный директор компании Códice Software
  31. ^ Запуск Plastic SCM 4.0: новые функции в Plastic SCM 4.0 от Пабло Сантоса
  32. ^ Codice Software запускает Plastic SCM 4.0; Проблемы Git и Perforce в DVCS
  33. ^ Пластиковые внутренние детали: de 3.0 a 4.0
  34. ^ Codice Software представляет Plastic SCM 4.0 для разработки игр и успешного сотрудничества с Digital Legends Entertainment
  35. ^ Plastic SCM уделяет внимание деталям в управлении исходным кодом
  36. ^ Инструмент слияния, который понимает функции
  37. ^ Codice добавляет поддержку Java в свой инструмент слияния с учетом кода
  38. ^ InfoQ - QCon San Francisco 2013 - Рефакторинг в эпоху DVCS - Начало семантического слияния
  39. ^ GitSync для Plastic SCM с собственными протоколами Git и поддержкой Visual Studio 2012
  40. ^ Сегодня вышли две новые версии Plastic SCM
  41. ^ Семантический контроль версий
  42. ^ Пластиковые особенности СКМ
  43. ^ Как Telltale Games обрабатывает контроль версий
  44. ^ Встроенный графический интерфейс Linux - gtkplastic
  45. ^ Plastic Cloud уже вышел!
  46. ^ Пластиковый SCM Cloud Edition
  47. ^ Релиз 6.0.16.804
  48. ^ Релиз 7.0.16.2047
  49. ^ Добавьте mergebot в свое репо!
  50. ^ «Unity приобретает Codice Software для управления рабочими процессами в 3D». VentureBeat. 2020-08-17. Получено 2020-08-17.
  51. ^ Бартон, Сет (2020-08-17). «Unity приобретает Codice Software, разработчика Plastic SCM | Новости разработки». MCV / РАЗРАБОТКА. Получено 2020-08-17.

использованная литература