Git 2.41 telah dirilis dan ini adalah beritanya

Git 2.41

Git 2.41 mengimplementasikan peningkatan dalam penanganan repositori

Setelah tiga bulan pengembangan, the rilis versi baru sistem kontrol sumber terdistribusi Git 2.41. Dibandingkan dengan versi sebelumnya, 542 perubahan diterima dalam versi baru, disiapkan dengan partisipasi 95 developer, dimana 29 di antaranya berpartisipasi dalam pengembangan untuk pertama kalinya.

Bagi mereka yang tidak tahu tentang Git, Anda harus tahu itu adalah salah satu sistem kontrol versi yang paling populer, perangkat lunak yang andal, dan berkinerja tinggi yang menyediakan alat pengembangan nonlinier fleksibel berdasarkan fork dan penggabungan fork.

Fitur Utama Git 2.41

Dalam versi baru ini menonjol itu penanganan objek "tidak terjangkau" telah ditingkatkan menjadi yang tidak dirujuk di repositori (tidak ada referensi ke cabang atau tag). Pengumpul sampah menghapus objek, tetapi mereka tetap berada di repositori untuk waktu tertentu sebelum dihapus untuk menghindari kondisi balapan.

Untuk melacak periode objek, tag harus dilampirkan padanya dengan waktu perubahan objek serupa, yang tidak memungkinkan untuk menyimpannya dalam file paket, di mana semua objek memiliki waktu perubahan yang sama.

Sebelumnya, setiap objek disimpan dalam file terpisah, yang menyebabkan masalah jika ada sejumlah besar objek baru yang belum dihapus. Di versi baru, Paket Cruft digunakan secara default untuk mengemas objek «tidak bisa dijangkau", yang memungkinkan untuk menyimpan semua objek dalam file paket dan mencerminkan data tentang waktu modifikasi setiap objek dalam tabel terpisah yang disimpan dalam file dengan ekstensi ".mtimes" dan ditautkan oleh file indeks dengan ekstensi ".idx ".

Perubahan lain yang menonjol dalam versi baru ini adalah pemeliharaan revindex on-disk diaktifkan untuk file paket. Ketika diuji pada repositori Torvalds/Linux, disebutkan menggunakan indeks terbalik diizinkan untuk mempercepat operasi git push yang menghabiskan banyak sumber daya dalam 1,49 kali, dan operasi sederhana, seperti menghitung ukuran satu objek menggunakan "git cat-file –batch='%(objectsize:disk) '" 77 kali.

Indeks terbalik termasuk dalam versi baru bertujuan untuk mengefektifkan proses penentuan identifikasi objek dari informasi tentang lokasi objek dalam file paket. Operasi membangun indeks bermuara pada membangun array pasangan "posisi objek" dan mengurutkannya berdasarkan posisi, yang dapat memakan waktu lama untuk file paket besar.

Misalnya, operasi untuk menampilkan konten objek, yang menggunakan indeks langsung, 62 kali lebih cepat daripada operasi untuk menampilkan ukuran objek, yang data pasangan objeknya tidak diindeks. Setelah menggunakan indeks terbalik, operasi ini mulai memakan waktu yang kira-kira sama. Indeks terbalik juga memungkinkan Anda untuk mempercepat operasi pengiriman objek dengan menjalankan perintah pengambilan dan pengiriman dengan langsung mentransfer data yang disiapkan dari disk.

Itu juga disorot itu di Git 2.41 menambahkan dukungan untuk meneruskan header WWW-Authenticate antara penangan kredensial dan layanan autentikasi ke protokol "pembantu kredensial" yang digunakan untuk meneruskan kredensial saat mengakses repositori terbatas. Kesesuaian dengan tajuk WWW-Autentikasi memungkinkan parameter cakupan OAuth diteruskan ke login pengguna terpisah dengan cara yang lebih terperinci ke repositori dan membatasi cakupan yang tersedia untuk permintaan.

dari perubahan lain yang menonjol dari versi baru:

  • Menambahkan opsi format “%(di depan-belakang: )» atas perintah untuk setiap referensi, yang memungkinkan Anda mendapatkan informasi langsung tentang jumlah komit yang ada atau tidak ada di cabang tertentu, relatif terhadap cabang lain.
  • Opsi tambahan «-porselen» atas perintah "git ambil", yang menghasilkan output dalam format « », kurang dapat dibaca, tetapi lebih nyaman untuk diuraikan dalam skrip.
  • Konfigurasi ditambahkan "ambil.hideRefs" untuk mempercepat operasigit ambil» menyembunyikan sebagian referensi di repositori lokal pada tahap pemeriksaan bahwa server mengirimkan set lengkap objek, yang menghemat waktu dengan membatasi pemeriksaan hanya ke server tempat data diambil secara langsung.
    Perintah "git fsck» mengimplementasikan kemampuan untuk memeriksa kerusakan, pencocokan checksum, dan validasi nilai pada bitmap aksesibilitas dan indeks balik.
  • Perintah "git clone --lokal" sekarang menunjukkan kesalahan saat mencoba menyalin dari repositori yang berisi symlink di dalam $GIT_DIR.

Akhirnya, jika Anda tertarik untuk mengetahui lebih banyak tentangnya, Anda dapat berkonsultasi dengan detailnya Di tautan berikut.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.