Git хорош для кода, но пасует на гигабайтах текстур. Epic Games выпустила свою систему контроля версий Lore на Rust

8711
Git хорош для кода, но пасует на гигабайтах текстур. Epic Games выпустила свою систему контроля версий Lore на Rust

Система Lore делает большие файлы полноценной частью репозитория, а не дополнительным модулем.

image

Epic Games решила сделать собственную систему контроля версий, хотя на рынке давно есть Git. Причина не в желании заново изобрести привычный инструмент для программистов, а в проблеме, с которой Git справляется хуже. Современные игры, фильмы и мультимедийные проекты живут среди гигантских бинарных файлов, 3D-моделей, текстур, сцен и ассетов, а не только среди строк кода.

Новая система получила название Lore и уже вышла в открытый доступ. Epic Games распространяет проект под лицензией MIT, а исходный код опубликовала на GitHub. Lore написана на Rust и ориентирована на команды, где с репозиторием работают не только разработчики, но и художники, дизайнеры, технические артисты и другие специалисты, которым нужен понятный способ хранить и менять большие файлы.

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

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

Отдельный упор сделан на разреженные и ленивые рабочие копии. Пользователь может получать только нужную часть проекта, а не вытягивать весь массив данных целиком. Для игровых студий такая возможность особенно важна, потому что полный проект может занимать сотни гигабайт или даже больше, а каждому участнику команды обычно нужна лишь часть файлов.

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

Lore пока выглядит не как замена Git для всех подряд, а как специализированный инструмент для игровой и развлекательной индустрии. Epic Games пытается закрыть разрыв между удобством Git и реальными нуждами больших проектов, где главный вес несут не исходные файлы кода, а массивные ассеты. Подробнее о системе компания рассказывает на сайте Lore.org.