Контроль версий Unity

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

Unity Version Control (ранее известный как Plastic SCM ) [1] — кроссплатформенный коммерческий распределенный инструмент управления версиями, разработанный Códice Software для Microsoft Windows , Mac OS X , Linux и других операционных систем. Он включает в себя инструмент командной строки , собственные графические интерфейсы , инструмент сравнения и слияния и интеграцию с рядом IDE . Это полный стек управления версиями, не основанный на Git (хотя он может взаимодействовать с ним).

Функции

Unity Version Control — это полноценная стековая платформа управления версиями. Она включает в себя следующие компоненты:

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

Некоторые из его особенностей включают в себя:

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

Дизайн

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

Хранилище

Unity Version Control имеет 2 различных семейства хранилищ для всех своих данных и метаданных:

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

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

Система контроля версий Unity может работать в двух режимах:

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

Отличия от Git

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

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

Гит

Система контроля версий Unity может взаимодействовать с Git следующими способами:

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

Волей-неволей

Unity Version Control может выполнять двунаправленную синхронизацию с хранилищами Perforce для упрощения миграции [18]

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

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

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

Unity Version Control доступен для загрузки с панели инструментов Unity Cloud [19] или plasticscm.com. [20] Основные выпуски публикуются ежегодно в виде готовых исполняемых файлов для Microsoft Windows , Mac OS X и Linux . [21]

Небольшие релизы доступны еженедельно.

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

Unity Version Control бесплатен для частных лиц (Personal Edition), некоммерческих организаций и проектов с открытым исходным кодом (Community Edition). [ необходима ссылка ]

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

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

История

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

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

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

Пластиковый SCM 2.0 был запущен в марте 2008 года. [28]

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

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

Plastic SCM 3.0 был выпущен в июле 2010 года [31] и включал Xdiff/Xmerge: их первый подход к отслеживанию перемещенного кода в сравнениях и слияниях.

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

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

Plastic SCM 4.0 был запущен 23 ноября 2011 года [34] [35] и внес существенные изменения во внутреннюю структуру: управление версиями и отслеживание слияний были перенесены с подхода на уровне файлов на подход на уровне наборов изменений, что помогло улучшить последующее взаимодействие с Git. [36]

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

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

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

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

Plastic SCM 5.0 выпущен в сентябре 2013 года. [43] Он включает встроенные семантические различия, обнаружение рефакторинга [44] и историю методов. [45] Другие функции включают безопасность на основе путей, клиентские списки изменений и улучшенные скрытые правила.

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

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

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

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

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

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

17 августа 2020 года стало известно, что компания Unity Technologies , создатели игрового движка Unity , приобрели Codice Software. [53] [54]

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

Примечания

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

Ссылки

  • Крилл, Пол (24.03.2008), "Plastic SCM 2.0 set for parallel development projects", InfoWorld , получено 14.03.2012
  • Фейнман, Джефф (01.12.2009), «Codice расширяется с новой версией инструмента SCM», SD Times , получено 14.03.2012
  • Норфолк, Дэвид (30.07.2007), "Codice Software демонстрирует новый инструмент SCM", The Register , получено 14.03.2012
  • Serignese, Katie (2010-07-15), "Codice включает XMerge/XDiff 2.0 в выпуске Plastic SCM", SD Times , получено 2012-03-14
  • Макконнел, Тони (27.04.2010), «ESC — Embed-X включает первую гибкую среду разработки для критически важных процессов разработки ПО», EE Times , дата обращения 14.03.2012
  • Сантос, Пабло (2 августа 2007 г.), «SCRUM встречает CMMi» , журнал доктора Добба , получено 14 марта 2012 г.
Взято с "https://en.wikipedia.org/w/index.php?title=Unity_Version_Control&oldid=1250342470"