Sourcegraph Repo'su gizliye alındı
(eric-fritz.com)- 2019 ortasında iş ararken Google Goteam ile Sourcegraph arasında seçim yapması gerekmişti
- Sourcegraph'ı seçmesinin nedeni, her şeyi açık şekilde inşa edebilen bir kültüre sahip olmasıydı
- Tüm belgeler varsayılan olarak açıktı; teknik ve ürün RFC'leri, PR/FAQ belgeleri vb. herkese açık Google Drive klasörlerinde tutuluyordu
- Tüm ürün geliştirmeleri herkese açık GitHub depolarında yapılıyordu
- Şu anda
sourcegraph/sourcegraphdeposu gizliye alınmış durumda - Bu, Sourcegraph'ın çekici kültürünü yıkan bir karardı
- Sourcegraph,
sourcegraph/sourcegraph-public-snapshotadlı herkese açık bir anlık görüntü bırakmış durumda
Referansları korumak
- Sourcegraph'ta çalıştığı süre boyunca mühendislik bloguna çok sayıda yazı yazmıştı
- Bu yazıların çoğu, ilgili açık koda giden bağlantıları referans olarak kullanıyordu
- Artık bu bağlantıların hepsi kırılmış durumda
- "Havalı URI'ler değişmez" diye bir söz vardır
- Bağlantılar bir anda kırılmasın diye olabildiğince fazla bilgiyi korumaya çalışıyor
sourcegraph/sourcegraphdeposunuefritz/sourcegrapholarak fork'ladı- Fork'lar pull request'leri devralmaz ve doğrudan branch'lerde referans verilmeyen commit'ler görünmez
- GitHub belgelerine göre, herkese açık bir depo gizliye alınsa bile fork'lar varlığını sürdürür
- Ancak asıl depo gizliye alındığında,
mainbranch'i dışındaki commit'ler kaybolabilir
İlgili commit'leri kazıma
- Tüm commit'leri bulmak için bir Go programı çalıştırdı
- Bu program 2.645 adet pull request metadata dosyası üretti
jqkullanarak JSON payload'unu okuyup verileri çıkardıpr_ids.txt,commits.txt,replace_pairs.txtdosyalarını oluşturdu- Ardından her pull request için merge edilmemiş commit'leri listeleyen ikinci bir program çalıştırdı
- Bu program
commits.txtdosyasına commit'ler ekledi
Commit'leri yeni depo ağına taşıma
- Her ilgili SHA'yı içeren branch'ler oluşturarak bunları fork'a taşıdı
- Git işlemlerini sırayla yürütmek için bir Bash betiği kullandı
Referansları yeniden yazma
- Artık her referansı fork içindeki hedefe bağlayabiliyor
xargskullanarak otomatik bir süreç kurdu- Doğrudan commit referanslarını fork'a, pull request referanslarını ise merge commit'lerine yeniden yazdı
GN⁺ Özeti
- Sourcegraph'ın gizliye alınması açık kaynak kültürü üzerinde büyük etki yarattı
- Mühendislik blogundaki çok sayıda referans bağlantısı kırıldı ve bunları korumak için ciddi çaba gerekti
- GitHub fork'ları ve betikler kullanılarak referanslar yeniden yazıldı ve commit'ler korundu
- Bu yazı, açık kaynak projelerinin sürdürülebilirliğini ve referans bağlantılarının önemini vurguluyor
1 yorum
Hacker News görüşleri
Sourcegraph CEO’sunun görüşü:
Başka bir kullanıcının görüşü:
Bir başka kullanıcının görüşü:
Başka bir kullanıcının görüşü:
Bir başka kullanıcının görüşü:
Bir başka kullanıcının görüşü:
Başka bir kullanıcının görüşü:
Başka bir kullanıcının görüşü:
Bir başka kullanıcının görüşü:
Başka bir kullanıcının görüşü: