5 puan yazan xguru 2020-05-11 | 1 yorum | WhatsApp'ta paylaş
  • Facebook’un kendi sürüm yönetim aracı. Mercurial tabanlı olarak yazıldı ancak kendi ihtiyaçlarına göre genişletildi.

  • 3 bileşenden oluşuyor

→ eden : CLI aracı. Windows/Mac/Linux

→ Mononoke : Dağıtık olmayan bir SCM sunucusu. Devasa repo’ları desteklemek için checkout sırasında tamamını değil yalnızca bir kısmını indiriyor ve gerektiğinde ek indirme yapıyor. Yalnızca Linux. Rust Cargo desteği planlanıyor

→ EdenFS : Checkout’u yönetmek için sanal dosya sistemi. Devasa repo’larda hızlı checkout için kullanılıyor. Sparse Checkout’a benziyor ancak ayrı bir liste yönetimi gerektirmediği için kullanıcı açısından çok daha pratik bir yaklaşım. Watchman ile de entegre. Linux/Mac/Windows

  • Facebook’un devasa monorepo kod tabanını desteklemek için geliştirildiği için Facebook dışı destek hâlâ deneysel durumda.

1 yorum

 
xguru 2020-05-11

Windows/Google/Facebook’un hepsi devasa monorepo kullandığı için, o dönemde (2010’ların başı) Git uygun değildi; bu yüzden kendi yollarına gittiler denebilir.

→ Google’da 2016 itibarıyla 86 TB, 2 milyar satır, 9 milyon kaynak kod dosyası ve 35 milyon commit vardı

→ Facebook’ta 2013 itibarıyla 17 milyon satır ve 44.000 kaynak kod dosyası vardı

Şimdi Git de 2.25 sürümünden itibaren Sparse Checkout’u destekliyor ama bunun hâlâ erken aşamada olduğu söylenebilir.

Git 2.25 sürümü - başlıca değişiklikler: https://tr.news.hada.io/topic?id=1309