უკან დაბრუნება
Lore: Epic Games-მა ღია კოდით გამოაქვეყნა ვერსიების კონტროლის სისტემა
SiTech AI Team2 წთ. საკითხავი

Lore: Epic Games-მა ღია კოდით გამოაქვეყნა ვერსიების კონტროლის სისტემა

Epic Games-მა გამოაქვეყნა Lore — MIT ლიცენზიით გავრცელებული, content-addressed ვერსიების კონტროლის სისტემა, რომელიც კოდისა და უზარმაზარი ბინარული აქტივების შერეულ რეპოზიტორიებზეა ორიენტირებული.

Epic Games-მა გამოაქვეყნა Lore — ღია კოდის ვერსიების კონტროლის სისტემა, რომელსაც კომპანია „უპრეცედენტო მასშტაბურობად“ აღწერს როგორც მონაცემების, ისე გუნდებისთვის. პროექტი გამიზნულია იმ დატვირთვებზე, რომლებსაც კოდზე ორიენტირებული ხელსაწყოები ძნელად უმკლავდებიან: თამაშები და გასართობი პროდუქტები, სადაც სორსკოდი უზარმაზარ ბინარულ აქტივებს ერწყმის და სადაც ინჟინრებთან ერთად მხატვრები მუშაობენ.

ცენტრალიზებული, content-addressed არქიტექტურა

Lore ცენტრალიზებული, content-addressed სისტემაა: რეპოზიტორიის მდგომარეობა Merkle-ის ხეებითა და უცვლელი რევიზიების ჯაჭვით წარმოიშობა. მონაცემები კონტენტის ჰეშით ინახება და უკავშირდება, რაც, პროექტის მტკიცებით, სწრაფ შედარებას, მთლიანობის შემოწმებას და ისტორიასა თუ შტოებს შორის მონაცემთა ხელახლა გამოყენებას უზრუნველყოფს. დიდი ფაილები მრავალჯერადად გამოყენებად ნაწილებად ინახება ინდექსირებული ძიებით, რაც დუბლირებას ამცირებს, სამუშაო სივრცეები კი მსუბუქი რჩება მოთხოვნით ჩატვირთვისა და sparse checkout-ის წყალობით. შტოები მსუბუქი ცვლადი მითითებებია და არა მონაცემთა ასლები.

სტატუსი: pre-stable 0.x გამოშვება

გამოშვება ღიად არასტაბილურია: API და პროტოკოლები 1.0-მდე შეიძლება შეიცვალოს, თუმცა Epic-ის თქმით, Lore-ში ჩაწერილი მონაცემები ყველა მომავალი ვერსიისთვის წაკითხვადი დარჩება. სისტემა მუშაობს Windows-ზე, macOS-ზე (ARM64) და Linux-ზე (x86-64, ARM64); ბიბლიოთეკის ინტერფეისი პირდაპირ გამოიყენება C/C++-დან და Rust-იდან, ხოლო ბაინდინგები არსებობს JavaScript-ისთვის, C#-ისთვის, Python-ისა და Go-სთვის. სერვერის განთავსებისთვის Docker-ის იმიჯიც მოწოდებულია. ლოკალურად გამოყენებას ინფრასტრუქტურა საერთოდ არ სჭირდება — zero-config რეჟიმი ერთი შესრულებადი ფაილით მუშაობს — გუნდური განთავსება კი შესაცვლელი საცავის backend-ებს იყენებს, სადაც AWS S3 და DynamoDB საცნობარო იმპლემენტაციებია დოკუმენტირებული ინტერფეისების მიღმა.

უკვე მუშაობს Fortnite-ის რედაქტორში

Lore ნულიდან დაწყებული ექსპერიმენტი არ არის. ადრე Unreal Revision Control-ის სახელით ცნობილი სისტემა UEFN-ის — Unreal Editor for Fortnite-ის — ჩაშენებული ვერსიების კონტროლის ხელსაწყოა, სადაც შემქმნელები მას უკვე იყენებენ საკუთარი კუნძულების ვერსიონირებისთვის. Epic-ის თქმით, შიდა გუნდები მას ეტაპობრივად ერგებიან და Lore UEFN-ის cook pipeline-ის საცავადაც ინერგება, სადაც შუამავალი საცავის ფენებს ცვლის და გამოქვეყნებასა და ცვლილების გაშვებას შორის დროს ამცირებს. ფაილების ჩაკეტვა არსებობს, მაგრამ განზრახ შეზღუდულია: ჩაკეტვა კოლეგებს აფრთხილებს და რედაქტირებას არ ბლოკავს. ადრეული დესკტოპ-კლიენტი ბინარად ხელმისაწვდომია, თუმცა ჯერ ღია კოდი არ არის.

MIT ლიცენზია და ღია გზამკვლევი

Lore MIT ლიცენზიით ვრცელდება და Epic აცხადებს, რომ კონტრიბუტორებს ფუნქციებზე ისეთივე წვდომა უნდა ჰქონდეთ, როგორც კომპანიის ინჟინრებს — დამალული თუ ფასიანი ძირითადი ფუნქციონალი არ იქნება; წვლილისთვის CLA-ის ნაცვლად Developer Certificate of Origin გამოიყენება. დაგეგმილ სამუშაოებში შედის ვირტუალური ფაილური სისტემა, Windows-სერვისის მხარდაჭერა, OAuth, მასშტაბირებადი ჩაკეტვა, მრავალსერვერიანი რეპლიკაცია, hooks, VS Code-ის დამატება და ღია კოდის დესკტოპ- და ვებ-კლიენტები.

SSiTech

SiTech — AI-გაძლიერებული ვებ დეველოპმენტი

ვქმნით სწრაფ, თანამედროვე ვებსაიტებს და AI-ს ვაერთიანებთ ქართული ბიზნესებისთვის. გაქვთ პროექტი ან კითხვა? სიამოვნებით დაგეხმარებით.