Epic Games has released a version control system for Lore.

Epic Games has open-sourced its centralized version control system, Lore, previously included in the Unreal Editor for Fortnite (UEFN) toolkit under the name Unreal Revision Control. The system is optimized for use in developing projects that combine source code with very large non-text files. For example, Lore is suitable for computer game development, which requires collaborative work on assets such as textures, 3D models, and sound data. Since merging different versions of non-text files is problematic, collaboration is organized by setting an exclusive lock, preventing multiple contributors from simultaneously editing the resource. The project's code is written in Rust and is distributed under the MIT license.

The system is scalable for teams of varying sizes and can be run on a developer's computer by running a single executable file without external dependencies, or deployed as a centralized server to coordinate the work of very large teams.
Lore consists of two systems: a data storage subsystem and a version control subsystem responsible for creating revisions, branches, and merging operations.

The storage subsystem consists of two storage engines: an immutable content store with hash addressing and a key/value store for dynamic metadata, such as branch pointers. Various backends can be connected to store data on a centralized server and ensure fault tolerance. For example, AWS S3 can be used for persistent storage, and DynamoDB for metadata.

To represent the repository's state and ensure the immutability of the revision chain, a Merkle Tree structure is used, in which each branch verifies all underlying branches and nodes using tree-like hashing. Repository data is addressed by content hashes, simplifying comparisons and integrity checking. The hash of each revision encompasses its associated state, the hashes of its parent revisions, and the data hashes. Large files are stored in fragments.

Features typical of version control systems are provided, such as commits, staging drafts, branching, and change evaluation. Advanced functionality includes: user access control; conflict resolution; fragment-level deduplication; the ability to work with an incomplete copy of the working tree (missing data is loaded as needed); caching of stored data; lightweight branching operations and fast switching between branches (branches are implemented through links, which do not lead to data duplication).

Source: opennet.ru

Buy reliable hosting for sites with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster