-
Facebooks eigenes Versionsverwaltungs-Tool. Basiert auf Mercurial, wurde aber für die eigenen Anforderungen erweitert.
-
Besteht aus 3 Komponenten
→ eden: CLI-Tool. Windows/Mac/Linux
→ Mononoke: kein verteiltes SCM, sondern ein SCM-Server. Um riesige Repos zu unterstützen, wird beim Checkout nicht alles, sondern nur ein Teil heruntergeladen; weiteres wird bei Bedarf nachgeladen. Nur Linux. Rust-Cargo-Unterstützung geplant
→ EdenFS: ein virtuelles Dateisystem zur Verwaltung von Checkouts. Wird verwendet, um in riesigen Repos schnelle Checkouts zu ermöglichen. Ähnlich wie Sparse Checkout, aber deutlich komfortabler für Nutzer, da keine separate Listenverwaltung nötig ist. Integration mit Watchman ebenfalls vorhanden. Linux/Mac/Windows
- Wurde entwickelt, um Facebooks riesige Monorepo-Codebasis zu unterstützen; der Einsatz außerhalb von Facebook befindet sich derzeit noch im experimentellen Stadium.
1 Kommentare
MS erweitert Git mit VFS for Git https://vfsforgit.org/
Google nutzt Piper https://cacm.acm.org/magazines/2016/…
Warum Facebook sich für eine auf Mercurial basierende Lösung entschieden hat: https://engineering.fb.com/core-data/scaling-mercurial-at-facebook/
Windows/Google/Facebook arbeiten alle mit extrem großen Monorepos; man kann also wohl sagen, dass Git damals (Anfang der 2010er) dafür nicht geeignet war und sie deshalb ihren eigenen Weg gegangen sind.
→ Google: Stand 2016 86 TB, 2 Milliarden Zeilen, 9 Millionen Quelldateien und 35 Millionen Commits
→ Facebook: Stand 2013 17 Millionen Zeilen und 44.000 Quelldateien
Inzwischen unterstützt auch Git ab 2.25 Sparse Checkout, aber das kann man wohl noch als frühes Stadium betrachten.
Git 2.25 Release – die wichtigsten Änderungen https://de.news.hada.io/topic?id=1309