Dağıtılmış bir kaynak kod yönetim sistemi olan Git 2.53 yayınlandı. Git, yüksek performans sunar ve dallanma ve birleştirmeye dayalı doğrusal olmayan geliştirme yetenekleri sağlar. Geçmişe dönük bütünlüğü ve geriye dönük değişikliklere karşı dayanıklılığı sağlamak için, her commit'te önceki tüm geçmişin örtük hash'ini ve ayrıca bireysel etiketlerin ve commit'lerin dijital imzalarını kullanır. Git, GPLv2+ lisansı altında lisanslanmıştır.
Önceki sürüme kıyasla, yeni sürüm 70 geliştirici (bunlardan 21'i Git geliştirme konusunda yeni) tarafından katkıda bulunulan 466 değişiklik içermektedir. Başlıca yeni özellikler şunlardır:
- Kısmen klonlanmış ve "promisor" modunda çalışan harici depolara ("--geometric" seçeneğiyle) "geometrik" depo paketleme stratejisini ("git repack --geometric") uygulama özelliği eklendi (eksik nesneler gerektiğinde indirilir). "--geometric" seçeneğiyle yeniden paketleme yapıldığında, ".promisor" uzantılı paket dosyaları ayrı olarak işlenir ve paketlenir. "Geometrik" strateji, nesneleri seçici olarak yeniden paketleyerek ve tüm paket dosyalarını birleştirme gibi gereksiz kaynak yoğun işlemleri ortadan kaldırarak büyük monorepository'lerin bakım süresini azaltır (paket dosyası boyutlarının geometrik ilerlemesi korunur ve her bir sonraki paket dosyasının bir öncekinin en az iki katı büyüklüğünde olması gerekir).
- "git fast-import" komutu artık, depo geçmişinin bir kısmının üzerine yazıldıktan sonra geçersiz hale gelen içe aktarılan nesnelerden dijital imzaları kaldırmak için "--signed-commits=strip-if-invalid" seçeneğine sahip. Daha önce, geçerli ve geçersiz imzalar arasında ayrım yapmadan tüm imzaları içe aktarmak veya kaldırmak mümkündü. "strip-if-invalid" seçeneği, geçerli imzaları korumak ve süresi dolmuş imzalara sahip nesneleri yeniden imzalamak için araçların uygulanmasına olanak tanır.
- 'git repo structure' komutunun çıktısı artık depodaki tüm erişilebilir nesnelerin boyutunu, türe göre ayrı ayrı gösteriyor. Bilgiler artık ölçü birimleriyle insan tarafından okunabilir bir biçimde görüntüleniyor ve gerçek boyut ile diskte kapladığı boyut ayrı ayrı gösteriliyor; bu da deponun disk üzerindeki toplam boyutunu tahmin etmenizi sağlıyor. $ git repo structure | Depo yapısı | Değer | | ——————— | ———- | | * Referanslar | | | * Sayı | 1.78 k | | * Dallar | 5 | | * Etiketler | 1.03 k | | * Uzak Depolar | 749 | | * Diğerleri | 0 | | | | | * Erişilebilir nesneler | | | * Sayı | 421.37 k | | * Taahhütler | 88.03 k | | * Ağaçlar | 169.95 k | | * Bloblar | 162.40 k | | * Etiketler | 994 | | * Şişirilmiş boyut | 7.61 GiB | | * Taahhütler | 60.95 MiB | | * Ağaçlar | 2.44 GiB | | * Bloblar | 5.11 GiB | | * Etiketler | 731.73 KiB | | * Disk boyutu | 301.50 MiB | | * Taahhütler | 33.57 MiB | | * Ağaçlar | 77.92 MiB | | * Bloblar | 189.44 MiB | | * Etiketler | 578.13 KiB |
- 'Git maintenance' komutuna artık yalnızca gerektiğinde depo bakım işlemlerini gerçekleştirmek için 'is-needed' alt komutu eklendi.
- Deneysel "git replay" komutu artık, referansların nereye işaret etmesi gerektiğini göstermeden güncelleme yapmak yerine, varsayılan olarak bir işlemdeki referansları güncelliyor.
- "Git blame" komutu artık "--diff-algorithm=" seçeneğini kullanarak fark değerlendirme algoritmasını seçmenize olanak tanıyor. ".
- "git repo info" komutuna "--all" seçeneği eklendi.
- Из Git-for-Windows перенесена поддержка символических ссылок для платформы Windows.
Önceki sürümde, Git 2.53'te Rust bileşen derlemesinin varsayılan olarak etkinleştirilmesiyle ilgili bir uyarı yer alıyordu. Ancak Git 2.53, Rust desteğine yalnızca bazı iyileştirmeler ekledi (örneğin GNU sed olmadan derleme yapabilme özelliği). Bununla birlikte, Makefile'lar kullanılırken Rust derlemesi varsayılan olarak devre dışı bırakılıyor (WITH_RUST bayrağı gerektiriyor) ve rustc derleyicisi mevcutsa Meson kullanılırken otomatik olarak etkinleştiriliyor. Git 3.0, Rust araçlarını zorunlu bir derleme bağımlılığı olarak dahil etmeyi amaçlıyor.
Kaynak: opennet.ru
