Epic Games объявила о создании новой системы контроля версий, которая теперь доступна в открытом доступе под названием Lore. На фоне повсеместного распространения и отлаженной работы Git возникает резонный вопрос: зачем понадобился ещё один инструмент. Ответ кроется в специализации — Lore спроектирована специально для нужд игровой индустрии и развлекательных проектов, где типичны очень большие файлы.

Хотя для Git существует расширение Git LFS, позволяющее хранить крупные объекты, Epic Games пошла дальше и создала систему, изначально заточенную под реалии современной разработки игр и мультимедиа. Lore рассчитана на быструю и эффективную работу с объёмными бинарными данными и ориентирована на удобство использования, в том числе 3D-художниками и другими не-программистами.

Lore logo
Lore logo

Документация Lore подробнее объясняет отличия и мотивацию по сравнению с Git:

“Ни одна из существующих систем не проектировалась под сочетание ограничений, характерных для крупных игровых и развлекательных проектов: произвольные типы контента, многомерное масштабирование, безопасная многопользовательская работа и полностью открытые спецификация и лицензия. Контентно-адресуемый граф ревизий в Git превосходен, но бинарные файлы для него второсортны: большие файлы требуют надстройки в виде LFS, а не встроенного фрагментированного хранения; разреженные checkout’ы имеют острые углы при офлайн-работе; отсутствует родная изоляция арендаторов. Централизованные системы, заточенные под крупный бинарный контент, хорошо справляются с активами, но обычно требуют обращений к серверу для повседневных операций, используют закрытые протоколы, исключающие сторонние реализации, и предлагают ограниченную дедупликацию на бинарном уровне. Lore призвана объединить сильные стороны обоих подходов: централизованный сервер-источник для надёжности, контроля доступа и разрешения конфликтов; контентно-адресуемое хранилище с дедупликацией на уровне фрагментов, одинаково эффективное для многогигабайтного бинарника и килобайта текста; разреженные, ленивые рабочие копии, материализующие только то, что действительно нужно; свободное ветвление; а также полностью открытую, публично версионируемую спецификацию и лицензию MIT. Обычные операции редактирования (индексация, фиксация, ветвление, сравнение) не требуют обращений к серверу.”

Исходный код Lore открыт под лицензией MIT и доступен на GitHub. Система написана на языке Rust.

Узнать больше о системе контроля версий Lore от Epic Games можно на официальном сайте Lore.org.