Git 2.41 çoktan yayınlandı ve bunlar onun haberleri

Git 2.41

Git 2.41, havuz işlemede iyileştirmeler uygular

Üç aylık geliştirme sürecinin ardından, yeni sürüm sürümü dağıtılmış kaynak kontrol sistemi Git 2.41. Önceki versiyona kıyasla, 542 değişiklik kabul edildi 95 geliştiricinin katılımıyla hazırlanan yeni sürümde, 29'u ilk kez geliştirmeye katıldı.

Git hakkında bilgisi olmayanlar için şunu bilmelisiniz en popüler sürüm kontrol sistemlerinden biridirçatallara ve çatal birleşmelerine dayalı esnek doğrusal olmayan geliştirme araçları sağlayan güvenilir ve yüksek performanslı yazılım.

Git 2.41'in öne çıkan özellikleri

Bu yeni sürümde göze çarpıyor "ulaşılamaz" nesnelerin işlenmesi iyileştirildi başvurulmayanlar depoda (dallara veya etiketlere referans yok). Çöp toplayıcı nesneleri kaldırır, ancak yarış koşullarından kaçınmak için kaldırılmadan önce belirli bir süre depoda kalırlar.

Nesnelerin periyodunu takip etmek, etiketlerin onlara eklenmesi gerekir tüm nesnelerin ortak bir değişim zamanına sahip olduğu bir paket dosyasında saklanmasına izin vermeyen benzer nesnelerin değişim zamanı ile.

Önceden, her nesne ayrı bir dosyada saklanıyordu., henüz silinmeye tabi olmayan çok sayıda yeni nesne varsa sorunlara neden oldu. Yeni sürümde, nesneleri paketlemek için varsayılan olarak Cruft Paketleri kullanılıyor «ulaşılamaz", tüm nesneleri bir paket dosyasında saklamaya ve her bir nesnenin değişiklik zamanı hakkındaki verileri ".mtimes" uzantılı bir dosyada saklanan ve ".idx" uzantılı bir dizin dosyasıyla bağlanan ayrı bir tabloya yansıtmaya izin verir. ".

Bu yeni sürümde öne çıkan değişikliklerden bir diğeri de paket dosyaları için disk üzerinde revindex bakımı etkinleştirildi. Torvalds/Linux depolarında test edildiğinde, ters dizin kullanmanın git push işlemlerini hızlandırmasına izin verildi 1,49 kez çok fazla kaynak tüketen ve " kullanarak tek bir nesnenin boyutunu hesaplamak gibi basit işlemlergit cat-file –batch='%(objectsize:disk) 77 kez.

Yeni sürümde yer alan ters indeks nesnenin kimliğini belirleme sürecini kolaylaştırmayı amaçlar paket dosyasındaki nesnenin konumu hakkındaki bilgilerden. Bir dizin oluşturma işlemi, bir "nesne konumu" çiftleri dizisi oluşturmaya ve bunları konuma göre sıralamaya indirgenir; bu, büyük paket dosyaları için zaman alıcı olabilir.

Örneğin, doğrudan dizin kullanan nesnelerin içeriğini görüntüleme işlemi, nesne montaj ilişkisi verilerinin dizine alınmadığı nesnelerin boyutunu görüntüleme işleminden 62 kat daha hızlıydı. Ters indeksi kullandıktan sonra bu işlemler kabaca aynı süreyi almaya başladı. Ters dizinler ayrıca hazırlanan verileri doğrudan diskten aktararak getirme ve gönderme komutlarını çalıştırarak nesne gönderme işlemini hızlandırmanızı sağlar.

Ayrıca vurgulanmıştır ki Git 2.41'de WWW-Authenticate başlıklarını geçmek için destek eklendi kimlik bilgileri işleyicisi ve kimlik doğrulama hizmeti arasında, kısıtlı havuzlara erişirken kimlik bilgilerini iletmek için kullanılan "kimlik bilgisi yardımcısı" protokolüne. Uyumluluk WWW-Authenticate başlığı ile OAuth kapsam parametrelerinin ayrı bir kullanıcı erişimine geçirilmesine izin verir depolara daha ayrıntılı bir şekilde iletin ve istekler için mevcut kapsamları sınırlandırın.

Of the öne çıkan diğer değişiklikler yeni sürümün:

  • Biçim seçeneği eklendi "%(ileri-arka: )» komutada her referans için, bu, başka bir şubeye göre belirli bir şubede mevcut veya eksik taahhüt sayısı hakkında anında bilgi almanızı sağlar.
  • «Seçeneği eklendi-porselen» komutada "git getir", biçiminde çıktı üreten « », daha az okunabilir, ancak betiklerde ayrıştırmak için daha uygun.
  • Yapılandırma eklendi "fetch.hideRefs" işlemleri hızlandırmak içingit getir» sunucunun tüm nesne setini gönderdiği kontrol aşamasında yerel depodaki referansların bir kısmını gizlemek, bu da kontrolü yalnızca verilerin doğrudan alındığı sunucularla sınırlayarak zamandan tasarruf sağlar.
    Komuta "git fsck» erişilebilirlik bit eşlemleri ve ters dizinlerde bozulma, sağlama toplamı eşleştirme ve değer doğrulama kontrolü yapma becerisini uygular.
  • Komuta "git klonu -- yerel" $GIT_DIR içinde sembolik bağlantılar içeren bir havuzdan kopyalamaya çalışırken artık bir hata gösteriyor.

Son olarak, bu konuda daha fazla bilgi edinmek istiyorsanız, ayrıntılara başvurabilirsiniz. Aşağıdaki bağlantıda.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.