Mozilla Firefox kod deposunu Mercurial'dan GitHub'a taşıdı
(github.com/mozilla-firefox)- Firefox kısa süre önce ana deposunu Mercurial'dan GitHub'a taşıdı
- Hata takibi için Bugzilla, kod inceleme için Phabricator ve CI için Taskcluster kullanılmaya devam ediyor
- Şu anda GitHub merkezi depo olsa da Mercurial sunucusu GitHub'dan senkronize edilerek korunuyor ve mevcut otomasyon sistemlerinin de kademeli olarak Git'e geçirilmesi planlanıyor
- CI testleri için kullanılan 'try' deposu hâlâ Mercurial tabanlı, ancak giderek bir soyutlama katmanının arkasına gizleniyor ve ileride Git'e taşınması bekleniyor
- Git'in varsayılan olarak kullanılabilmesi sayesinde yeni katkı sağlayanların Mercurial'ı ayrıca öğrenmesine gerek kalmadan yalnızca Git bilmesi yeterli olacak
- Önceden
git cinnabaradlı bir eklentinin kurulması gerekiyordu, ancak artık yalnızca temel Git kullanmak yeterli
- Önceden
- Mercurial'daki
mozilla-central, Git'te main dalı olarak değiştirildi veautolanddalı Git'te de aynı şekildeautolandolarak kaldı - GitHub'ın PR tabanlı iş akışı şu anda devreye alınmadı ve bu değişikliğe dahil değil. Gelecekte ihtimal dışı değil, ancak resmî bir plan bulunmuyor
- Mozilla, GitHub'a geçişle birlikte kendi VCS altyapısını işletme yükünü azaltabilecek
- Ana hedef, büyük ölçekli projelerin gerektirdiği performans, kararlılık ve erişilebilirliği şirket içinde sağlamanın maliyetini ve karmaşıklığını azaltmak
git-cinnabarın yazarı Glandium'dan ayrıntılı geçmiş ve açıklama: How I (kind of) killed Mercurial at Mozilla
Mozilla, Firefox kod deposunu GitHub'a geçirerek Mercurial dönemini kapatıyor
- Mozilla, Firefox geliştirmesindeki merkezi VCS'yi Mercurial'dan Git'e geçirip GitHub'ı resmî depo olarak benimsemeye karar verdi
- Bu kararın temelinde, git-cinnabar adlı genişletme aracının uzun süreli geliştirilmesi ve yaygınlaşması vardı; bu sayede Git kullanıcıları da Mercurial depolarına sorunsuz biçimde erişebildi
- Mercurial'ın dal yapısıyla ilgili sorunlar, deponun büyümesi ve kendi sunucularını işletme yükü gibi etkenler birleşerek kurum içi altyapıyı sürdürmenin zorluklarını biriktirdi
- GitHub seçimi tartışma yaratsa da, Mozilla içinde binlerce deponun zaten GitHub'da bulunması gibi nedenlerle katkı sağlayanlar açısından kolaylık ve pratiklik bakımından kaçınılmaz bir seçimdi
git-cinnabar, Mozilla içindeki ihtiyaçlardan doğan kişisel bir yan projeydi, ancak geçiş döneminde de önemli bir araç olarak varlığını sürdürmesi muhtemel görünüyor
“Ateşi ben başlatmadım ama o ateşe benzin döktüğüm doğru.”
1 yorum
Hacker News görüşleri
hg.mozilla.orgüzerindeki Mercurial'dan GitHub'a taşındı. Bu yalnızca kodu etkiliyor; issue takibi hâlâ Bugzilla'da, kod inceleme ve land etme Phabricator'da, CI ise Taskcluster sisteminde kullanılmaya devam ediyor. Kısa vadede Mercurial sunucusu GitHub'dan senkronize ediliyor; böylece otomasyon sistemleri yavaş yavaş git arka ucuna geçebiliyor. Mercurial hâlâ “try” deposu için kullanılıyor (WIP yamalarda CI çalıştırılan yer), ancak giderek bir soyutlama katmanının arkasına gizleniyor ve bunun da daha sonra taşınması planlanıyor. Eski depoya alışkın olanlar için “mozilla-central”, git'in standart dal adı olan “main”e; “autoland” ise “autoland” dalına eşleniyor. Aslında daha önce de yalnızca git ile Firefox'a katkı vermek mümkündü, ancakgit cinnabaradlı bir eklenti kurmak gerekiyordu. hg öğrenmekle git+eklenti kullanmak arasında seçim yapmak, yeni katkı verenler için bir giriş engeliydi; çoğu kişi git biliyor ama Mercurial bilmiyordu. Artık bunu düşünmeye gerek yok.git cinnabarın yazarı glandium, geçiş duyurusu sırasında ayrıntılı bağlamı ve gerekçeyi blogunda yazdı. Kısa vadede katkı verenler açısından neredeyse hiçbir şey değişmiyor. Normal git kullanımı varsayılan iş akışı hâline geldi; bunun dışında değişen bir şey yok. İleride GitHub PR tabanlı iş akışı desteği gelebilir, ancak bu değişikliğe dahil değil. Arka planda ise geçiş tamamlandığında Mozilla'nın kendi VCS altyapısını işletmek için harcadığı zaman ve emek azalabilir; böyle büyük bir projenin ihtiyaç duyduğu performans ve erişilebilirliği sağlamak ciddi bir zorlukghve Phabricator kombinasyonunu anlayamadığım için Firefox'a yama gönderme fikrinden tamamen vazgeçtim. İkisinin nasıl entegre olduğunu anlayamadım; branch/PR nasıl güncellenir onu da çözemedim ve sonunda denemeyi bıraktımmozillaorg'u yerinemozilla-firefoxorg'unun seçildiğini merak ediyorummozilla-centraldeposuna taşınmıştı; şimdi ise hem masaüstü hem mobil sürüm GitHub'da ve issue'lar Bugzilla'da kalıyor. Böylece GitHub'ın iyi arama, kaynak tarama ve git'e aşinalık avantajlarından yararlanılabiliyor. Eski bir Firefox ve Thunderbird katkıcısı olarak,mozilla-centralsitesinde aramaktan çok daha fazla yerelde arama yapıyordum. Geliştirme sırasında IDE içinde arıyorsunuz ama sitede kolay arama olması yeni katkıcılar için memnuniyet verici bir şeyuBlock Originkullanınca PR araması yapılamıyorgithub.com/mozillaorg'u yerine yeni bir org oluşturulduğunu merak ediyorummozilla-centralidi. Şimdi “main” ve “autoland” var; bunların ne olduğunu ve eskimozilla-centralile eşdeğer branch'in hangisi olduğunu merak ediyorummozilla-centralile aynı; “autoland” ise eskiden de yanında duran, commit'lerin önce düştüğü branch