-
Facebook का अपना version management टूल। Mercurial पर आधारित, लेकिन अपनी ज़रूरतों के हिसाब से विस्तारित किया गया।
-
3 components से मिलकर बना है
→ eden : CLI टूल। Windows/Mac/Linux
→ Mononoke : distributed नहीं, बल्कि SCM server। बहुत बड़े repo को support करने के लिए checkout के समय पूरा नहीं बल्कि केवल कुछ हिस्सा डाउनलोड करता है, और ज़रूरत पड़ने पर अतिरिक्त डाउनलोड करता है। केवल Linux। Rust Cargo support planned
→ EdenFS : checkout को manage करने के लिए virtual file system। बड़े repo में तेज़ checkout के लिए उपयोग किया जाता है। Sparse Checkout जैसा, लेकिन अलग list manage करने की ज़रूरत नहीं, इसलिए उपयोगकर्ता के लिए कहीं अधिक सुविधाजनक तरीका। Watchman के साथ भी integration। Linux/Mac/Windows
- Facebook के विशाल monorepo codebase को support करने के लिए बनाया गया है, इसलिए Facebook के बाहर support अभी experimental है।
1 टिप्पणियां
MS ने Git को extend करने वाला VFS for Git बनाया: https://vfsforgit.org/
Google ने Piper का इस्तेमाल किया: https://cacm.acm.org/magazines/2016/…
Facebook ने Mercurial-आधारित विकल्प क्यों चुना: https://engineering.fb.com/core-data/scaling-mercurial-at-facebook/
Windows/Google/Facebook तीनों के पास बेहद बड़े monorepo थे, इसलिए उस दौर (2010 के शुरुआती सालों) का Git उनके लिए उपयुक्त नहीं था, और उन्होंने अपना अलग रास्ता चुना—ऐसा समझा जा सकता है।
→ 2016 के आधार पर Google: 86TB, 2 अरब lines, 90 लाख source code files, और 3.5 करोड़ commits
→ 2013 के आधार पर Facebook: 1.7 करोड़ lines, 44000 source code files
अब Git भी 2.25 से Sparse Checkout को support करता है, लेकिन इसे अभी भी शुरुआती चरण में माना जा सकता है।
Git 2.25 release - मुख्य बदलाव: https://hi.news.hada.io/topic?id=1309