Epic Games on julkaissut Lorelle versionhallintajärjestelmän.

Epic Games on julkaissut avoimen lähdekoodin keskitetyn versionhallintajärjestelmänsä Loren, joka aiemmin sisältyi Unreal Editor for Fortnite (UEFN) -työkalupakkiin nimellä Unreal Revision Control. Järjestelmä on optimoitu käytettäväksi projektien kehittämisessä, jotka yhdistävät lähdekoodia erittäin suuriin ei-tekstitiedostoihin. Esimerkiksi Lore sopii tietokonepelien kehittämiseen, joka vaatii yhteistyötä esimerkiksi tekstuurien, 3D-mallien ja äänidatan parissa. Koska ei-tekstitiedostojen eri versioiden yhdistäminen on ongelmallista, yhteistyö järjestetään asettamalla eksklusiivinen lukitus, joka estää useita osallistujia muokkaamasta resurssia samanaikaisesti. Projektin koodi on kirjoitettu Rust-kielellä ja jaettu MIT-lisenssillä.

Järjestelmä on skaalautuva erikokoisille tiimeille ja sitä voidaan käyttää kehittäjän tietokoneella suorittamalla yksi suoritettava tiedosto ilman ulkoisia riippuvuuksia tai se voidaan ottaa käyttöön keskitetysti palvelimena erittäin suurten tiimien työn koordinoimiseksi.
Lore koostuu kahdesta järjestelmästä: tiedontallennusjärjestelmästä ja versionhallintajärjestelmästä, joka vastaa revisioiden luomisesta, haarojen luomisesta ja yhdistämistoiminnoista.

Tallennusjärjestelmä koostuu kahdesta tallennusmoottorista: muuttumattomasta sisältövarastosta, jossa on tiivisteosoitteita, ja avain-/arvovarastosta dynaamisille metatiedoille, kuten haaraosoittimille. Useita taustajärjestelmiä voidaan liittää tietojen tallentamiseksi keskitetylle palvelimelle ja vikasietoisuuden varmistamiseksi. Esimerkiksi AWS S3:a voidaan käyttää pysyvään tallennukseen ja DynamoDB:tä metatiedoille.

Revisioketjun tilan esittämiseksi ja muuttumattomuuden varmistamiseksi käytetään Merkle Tree -rakennetta, jossa jokainen haara tarkistaa kaikki alla olevat haarat ja solmut puumaisen hajautuksen avulla. Revisiotietoja käsitellään sisällön hajautuksilla, mikä yksinkertaistaa vertailuja ja eheystarkistusta. Kunkin version hajautus kattaa siihen liittyvän tilan, sen yläversioiden hajautukset ja datan hajautukset. Suuret tiedostot tallennetaan fragmentteina.

Versiohallintajärjestelmille tyypillisiä ominaisuuksia, kuten commit, luonnosten valmistelu, haarautuminen ja muutosten arviointi, on saatavilla. Edistyneisiin toimintoihin kuuluvat: käyttäjien pääsynhallinta, konfliktien ratkaisu, fragmenttitason deduplikaatio, mahdollisuus työskennellä epätäydellisen työpuun kopion kanssa (puuttuvat tiedot ladataan tarvittaessa), tallennettujen tietojen välimuistiin tallennus, kevyet haarautumistoiminnot ja nopea vaihtaminen haarojen välillä (haarat toteutetaan linkkien kautta, jotka eivät johda tietojen päällekkäisyyteen).

Lähde: opennet.ru

Osta luotettava isännöinti sivustoille, joissa on DDoS-suojaus, VPS VDS -palvelimet 🔥 Osta luotettavaa verkkosivustojen hostingia DDoS-suojauksella, VPS VDS -palvelimilla | ProHoster