Epic Games презентує відкритий проект Lore для керування версіями

Epic Games презентує відкритий проект Lore для керування версіями

Epic Games відкрила вихідний код Lore — нової системи керування версіями, призначеної для великих проектів з поєднанням вихідного коду та великих бінарних активів. Це особливо важливо для розробки ігор та виробництв розваг.

Проблеми традиційних систем керування версіями

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

Ці файли відрізняються від звичайного текстового виходу, який поширений у традиційних Git репозиторіях. Це ускладнює ефективне зберігання, синхронізацію та розгалуження при масштабуванні команд і репозиторіїв.

Централізована система Lore

Рішення Epic полягає в централізованій системі керування версіями з адресацією вмісту. Lore зберігає дані репозиторію за хешем вмісту та використовує дерева Меркла для представлення стану репозиторію. Це дозволяє повторно використовувати дані по всій історії та гілках, забезпечуючи цілісність та перевіряючи джерело інформації.

Система використовує розбиття великих файлів на шматки, що дозволяє економити простір, якщо файли не дублюються при кожній зміні. Це покращує ефективність передачі при роботі з великими бінарними активами.

Гнучкість використання Lore

Ще одна важлива функція Lore — це гідратація на вимогу та розріджені робочі простори. Це означає, що користувачам не потрібно завантажувати всі файли з репозиторію відразу. Lore отримує дані файлів тільки за потреби.

Lore підтримує легкі гілки та швидку перемикання між ними, реалізуючи гілки як змінні посилання замість повних копій даних. Система надає повну функціональність через командний інтерфейс і API для інтеграції з C/C++, C#, Rust, Go, Python і JavaScript.

Інтеграція Lore з Unreal Editor

Lore вже інтегрована як вбудована система керування версіями для UEFN, Unreal Editor для Fortnite. Проте відкриті інструменти поки що не можуть взаємодіяти з версією UEFN через комерційний формат стиснення від Epic, який не включено у відкритий реліз.

Epic працює над переходом UEFN на той самий відкритий формат стиснення, який використовується у Lore. Це дозволить усунути існуючий розрив. До того часу публічний реліз Lore і реалізація UEFN залишаються окремими.

Отримайте доступ до Lore

Налаштування для Linux використовує оболонковий інсталятор для запуску Lore в демонстраційному режимі. Це дозволяє користувачам створити локальний сервер та протестувати систему без повного впровадження.

Не забувайте, що Lore залишається проектом на ранніх етапах, орієнтованим на команди, що керують великими репозиторіями та активами. Для стандартних проектів з вихідного коду Git залишиться кращим вибором.

Проект доступний на GitHub під ліцензією MIT. Написаний в основному на Rust, Lore наразі доступний у версії 0.8.3, що свідчить про те, що це рання версія, не готова до використання в продуктивному середовищі.