Git 2.38 kaynak denetimi sürümü

Dağıtılmış kaynak kontrol sistemi Git 2.38'in yayımlandığı duyuruldu. Git, dallanma ve birleştirmeye dayalı esnek, doğrusal olmayan geliştirme araçları sağlayan, en popüler, güvenilir ve yüksek performanslı sürüm kontrol sistemlerinden biridir. Geçmişin bütünlüğünü ve geriye dönük değişikliklere karşı direnci sağlamak için, her bir taahhütte önceki geçmişin tamamının örtülü karması kullanılır; bireysel etiketleri ve taahhütleri geliştiricilerin dijital imzalarıyla sertifikalandırmak da mümkündür.

Yeni sürüm, önceki sürüme göre 699 geliştiricinin katılımıyla hazırlanan 92 değişiklik içeriyordu; bunlardan 24'i ilk kez geliştirmede yer aldı. Ana yenilikler:

  • Ana yapı, Microsoft tarafından büyük depoların yönetimi için geliştirilen "skaler" yardımcı programı içerir. Yardımcı program orijinal olarak C# ile yazılmıştır, ancak git C'de değiştirilmiş bir sürüm içermektedir. Yeni yardımcı program, çok büyük depolarla çalışırken performansı etkileyen ek özellikleri ve ayarları varsayılan olarak etkinleştirerek git komutundan farklıdır. Örneğin, skaler kullanıldığında şu geçerlidir:
    • Deponun tamamlanmamış bir kopyasıyla çalışmak için kısmi klonlama.
    • Dosya sistemindeki (FSMonitor) değişiklikleri izlemek için yerleşik mekanizma, tüm çalışma dizininde arama yapmadan bunu yapmanızı sağlar.
    • Farklı paket dosyalarındaki (çoklu paket) nesneleri kapsayan dizinler.
    • taahhüt bilgilerine erişimi optimize etmek için kullanılan taahhüt grafiği dizinine sahip taahhüt grafiği dosyaları.
    • Etkileşimli oturumu engellemeden, arka planda deponun optimum yapısını korumak için arka planda periyodik çalışma (uzak depodan yeni nesneleri proaktif olarak indirmek ve dosyayı taahhüt grafiğiyle güncellemek ve paketleme süreci için çalışma saatte bir yapılır) depo her gece başlatılır).
    • Kısmi klonlama sırasında izin verilen kalıpları sınırlayan "sparseCheckoutCone" modu.
  • Gerekli işleme geçiş yapmak için her bir bağımlı şubeyi manuel olarak kontrol etmek zorunda kalmak yerine, taşınan dallarla örtüşen bağımlı dalları güncellemek için "git rebase" komutuna --update-refs seçeneği eklendi.
  • "git rm" komutu kısmi indekslerle uyumlu hale getirildi.
  • Bir dosyayı "koni" modunda kısmi dizinlere sahip bir çalışma alanından bu moda sahip olmayan bir dış kapsama taşırken "git mv A B" komutunun davranışı iyileştirildi.
  • Bitmap dosya formatı, büyük depolarla çalışmak üzere optimize edilmiştir - seçilen taahhütlerin ve bunların uzaklıklarının bir listesini içeren isteğe bağlı bir dizin tablosu eklenmiştir.
  • "git merge-tree" komutu, belirtilen iki işleme dayanarak, sanki bu işlemelerin geçmişleri birleştirilmiş gibi, birleştirme sonucunu içeren bir ağacın hesaplandığı yeni bir mod uygular.
  • Çıplak depoları (çalışan bir ağaç içermeyen depolar) diğer git depoları içinde barındırma yeteneğini kontrol etmek için "safe.barerepository" ayarı eklendi. “Açık” olarak ayarlandığında yalnızca üst dizinde bulunan çıplak depolarla çalışmak mümkün olacaktır. Çıplak depoları alt dizinlere yerleştirebilmek için “tümü” değerini kullanın.
  • "git grep" komutu, GNU grep'teki aynı adı taşıyan seçeneğe benzeyen ve görüntülenen eşleşme sayısını sınırlamanıza olanak tanıyan "-m" ("—max-count") seçeneğini ekledi.
  • “ls-files” komutu, çıktı alanlarını yapılandırmak için “--format” seçeneğini uygular (örneğin, nesne adının, modların vb. çıktısını etkinleştirebilirsiniz).
  • Git cat dosyasında nesnelerin içerikleri görüntülenirken mailmap dosyasında belirtilen yazar-e-posta bağlantılarını dikkate almak mümkündür.

Kaynak: opennet.ru

Yorum ekle