Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Компания Epic Games опубликовала систему управления версиями Lore

17.06.2026 19:50 (MSK)

Компания Epic Games открыла код централизованной системы управления версиями Lore, которая ранее поставлялась в составе инструментария UEFN (Unreal Editor for Fortnite) под именем Unreal Revision Control. Система оптимизирована для использования при разработке проектов, сочетающих исходный код с очень большими нетекстовыми файлами. Например, Lore подходит для разработки компьютерных игр, при создании которых приходится совместно работать над такими ресурсами, как текстуры, 3D-модели и звуковые данные. Так как организация слияния разных версий нетекстовых файлов проблематична, совместная работа над ними организована на уровне выставления эксклюзивной блокировки, не позволяющей одновременно редактировать ресурс нескольким участникам. Код проекта написан на языке Rust и распространяется под лицензией MIT.

Система масштабируется для команд разного размера и может быть запущена как на компьютере разработчика через запуск одного исполняемого файла без внешних зависимостей, так и развёрнута в форме централизованного сервера для координации работы очень больших команд. Lore состоит из двух систем - подсистема хранения данных и подсистема управления версиями, отвечающая за создание ревизий, веток и операции слияния.

Подсистема хранения формируется из двух хранилищ - постоянное (immutable) хранилище контента с адресацией по хэшам и хранилище в формате ключ/значение для меняющихся метаданных, таких как указатели на ветки. Для хранения данных на централизованном сервере и обеспечения отказоустойчивости могут подключаться различные бэкенды, например, для постоянного хранения можно использовать AWS S3, а для метаданных DynamoDB.

Для отражения состояния репозитория и гарантирования неизменности цепочки ревизий задействована структура "дерево Меркла" (Merkle Tree), в которой каждая ветка верифицирует все нижележащие ветки и узлы благодаря древовидному хешированию. Данные в репозитории адресуются по хэшам содержимого, что упрощает операции сравнения и контроль целостности. Хэш каждой ревизии охватывает связанное с ней состояние, хэши родительских ревизий и хэши данных. Большие файлы хранятся разделёнными на фрагменты.

Предоставляются типичные для систем управления версиями возможности, такие как коммиты, staging-черновики, создание веток и оценка изменений. Среди расширенной функциональности: разграничение доступа участников; разрешение конфликтов; дедупликация на уровне фрагментов; возможность работы с неполной копией рабочего дерева (недостающие данные подгружаются по мере появления необходимости в них); кэширование хранимых данных; легковесные операции создания веток и быстрое переключение между ветками (ветки реализованы через ссылки, которые не приводят к дублированию данных).

  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: Выпуск git-совместимой системы управления версиями Got 0.100
  3. OpenNews: Выпуск системы управления версиями Apache Subversion 1.14.0
  4. OpenNews: Эрик Реймонд представил новую систему управления версиями SRC
  5. OpenNews: Canonical прекратит поддержку Bazaar в платформе Launchpad
  6. OpenNews: Открыты исходные тексты системы управления версиями BitKeeper
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65711-lore
Ключевые слова: lore, cvs, git
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (16) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 21:02, 17/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Зумеры переизобрели SVN?
     
     
  • 2.3, Аноним (3), 21:16, 17/06/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Зумеры

    Они с 1992 года существуют.

     
  • 2.5, А ноуним (?), 21:27, 17/06/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Нет, CVS.
     

  • 1.2, Аноним (2), 21:16, 17/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > Среди расширенной функциональности: [...] разрешение конфликтов

    При помощи:

    > выставления эксклюзивной блокировки, не позволяющей одновременно редактировать ресурс нескольким участника

    Хорошая система: нет конфликтов - нет проблем?

     
     
  • 2.4, Аноним (4), 21:22, 17/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Разреши конфликт 2х жипегов, например.
     
     
  • 3.7, Аноним (2), 21:33, 17/06/2026 [^] [^^] [^^^] [ответить]  
  • +4 +/
    У моего жипега всегда приоритет. 😤
     

  • 1.6, Аноним (6), 21:29, 17/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Была же уже для игр система - perforce
     
     
  • 2.8, Аноним (8), 21:39, 17/06/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Там за бабки, а тут фри и еще код открыт
     
  • 2.10, Аноним (10), 21:48, 17/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    эпики её, по-моему, и предлагали использовать как ксв для анрила
     
     
  • 3.15, Аноним (10), 22:19, 17/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    вкс, конечно же
     

  • 1.9, Аноним (10), 21:47, 17/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    не знаток файлов текстур и иже с ними, но вопрос, думаю, логичный

    > Большие файлы хранятся разделёнными на фрагменты.

    то есть при синхронизации он будет использовать одинаковые фрагменты для ускорения сего, аналогично syncthing?

     
     
  • 2.11, Аноним (11), 21:59, 17/06/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тут скорее аллюзия на S3 и нарезку больших файлов на куски (по 2 мегабайта, например).
     
     
  • 3.13, Аноним (10), 22:14, 17/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    спрошу проще, если артист поправит оттенок/треугольник на пятке, а текстура/модель на полгига - теоритически, возможно что лора подтянет там сотню-другую-третью килобайт, или она просто затянет целиком запушенное?
     
     
  • 4.16, Аноним (16), 22:42, 17/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Когда на си такое напишут, тогда будет с чего переписать на раст. А пока ничего такого не обещают.
     

  • 1.14, Аноним (14), 22:16, 17/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А как быть с конфигами? Вот есть 1.jpg, 2.jpg - их редактируют отдельно и с блокировкой. А сборка зависит от конфига где указывается какую именно текстуру натягивать на объект. То есть получается, что коммит должен содержать конкретные изменения в конфиге связанные с конкретными изменениями в файлах.

    В git всё просто, коммит - он общий для всего дерева, содержит изменения во всех связанных файлах разом. А как быть в случае топиксабжа?

     
  • 1.17, Аноним (17), 23:25, 17/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У кого какая карта, если разрабатываете на UE5?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру