Rilis kontrol sumber Git 2.39

Sawise rong sasi pembangunan, sistem kontrol sumber sing disebarake Git 2.39 wis dirilis. Git minangka salah sawijining sistem kontrol versi sing paling populer, dipercaya lan kinerja dhuwur, nyedhiyakake alat pangembangan non-linear sing fleksibel adhedhasar cabang lan gabung. Kanggo mesthekake integritas sejarah lan resistensi marang owah-owahan retroaktif, hashing implisit saka kabeh riwayat sadurunge digunakake ing saben komitmen; uga bisa kanggo nandhani tag individu lan komitmen karo teken digital saka pangembang.

Dibandhingake karo release sadurungΓ©, versi anyar kalebu 483 owah-owahan, disiapake karo partisipasi 86 pangembang, kang 31 njupuk bagΓ©yan ing pembangunan kanggo pisanan. Inovasi utama:

  • Printah "git shortlog", sing dirancang kanggo nampilake ringkesan kanthi statistik saka riwayat owah-owahan, wis nambahake opsi "-group" kanggo panglompokan sewenang-wenang miturut kolom sing ora diwatesi karo penulis utawa committer. Contone, kanggo nampilake dhaptar pangembang kanthi informasi babagan jumlah owah-owahan, njupuk menyang akun helpers kasebut ing kolom "Co-authored-by", sampeyan bisa nggunakake printah: git shortlog -ns --group=author - -group=trailer:co-authored-by

    Output shortlog bisa dikumpulake nggunakake penentu format, lan pilihan "--group" bisa nyederhanakake nggawe laporan sing rumit lan ngilangi prentah ngurutake tambahan. Contone, kanggo nggawe laporan kanthi informasi babagan jumlah komitmen kanggo rilis tartamtu sing ditampa saben wulan, sampeyan bisa nemtokake: git shortlog v2.38.0.. β€”date='format:%Y-%m' β€”group=' %cd' -s 2 2022-08 47 2022-09 405 2022-10 194 2022-11 5 2022-12 Sadurunge, kanggo nindakake operasi sing padha mesthine kudu nggunakake utilitas urut lan uniq: git log v2.38.0 .. β€”date='format:%Y -%m' β€”format='%cd' | urut | unik -c

  • Kapabilitas mekanisme "cruft packs", dirancang kanggo ngemas obyek sing ora bisa digayuh sing ora dirujuk ing repositori (ora dirujuk dening cabang utawa tag), wis ditambahi. Obyek sing ora bisa digayuh bakal dibusak dening tukang sampah, nanging tetep ana ing gudang kanggo wektu tartamtu sadurunge dibusak kanggo ngindhari kahanan balapan. Mekanisme "cruft packs" ngidini sampeyan nyimpen kabeh obyek sing ora bisa digayuh ing siji file paket, lan nampilake data babagan wektu modifikasi saben obyek ing tabel sing kapisah, disimpen ing file sing kapisah kanthi ekstensi ".mtimes", supaya bisa ditindakake. ora tumpang tindih karo total wektu modifikasi.

    Suwene wektu obyek sing ora bisa digayuh tetep ana ing repositori sadurunge bener-bener dibusak ditemtokake dening opsi "-prune=". " Nanging, nalika tundha sadurunge mbusak minangka cara sing cukup efektif lan praktis kanggo nyegah korupsi gudang amarga kahanan balapan, iku ora 100% dipercaya. Kanggo luwih gampang mulihake repositori sing rusak, rilis anyar nyedhiyakake kemampuan kanggo nyimpen obyek sing ilang kanthi nambahake opsi "--expire-to" menyang perintah "git repack", sing ngidini sampeyan nemtokake file kanggo nggawe eksternal. salinan kabeh obyek sing wis dibusak. Contone, kanggo nyimpen obyek sing ora bisa digayuh sing ora diganti sajrone 5 menit pungkasan ing file backup.git, sampeyan bisa nggunakake printah: git repack --cruft --cruft-expiration=5.minutes.ago -d --expire -kanggo=../backup.git

  • Tambah kanthi signifikan (nganti 70%) kacepetan operasi "git grep -cached" nalika nggoleki ing wilayah sing nggunakake kloning parsial (sparse-checkout) lan ana indeks parsial (indeks jarang). Sadurunge, nalika nemtokake pilihan "-cached", telusuran ditindakake dhisik ing indeks biasa, lan banjur ing sebagean, sing nyebabake telat sing katon nalika nggoleki ing repositori gedhe.
  • Verifikasi server babagan koherensi obyek anyar sadurunge diselehake ing repositori sajrone operasi "git push" wis digawe cepet. Kanthi ngalih menyang akun mung pranala sing diumumake nalika mriksa, ing gudang tes kanthi 7 yuta pranala, sing mung 3% sing dilindhungi dening operasi push, optimasi sing digawe ngidini ngurangi wektu mriksa kanthi 4.5 kaping.
  • Kanggo nglindhungi saka potensial overflows integer ing kode, printah "git apply" mbatesi ukuran maksimum patch sing bisa diproses. Yen ukuran tembelan ngluwihi 1 GB, kesalahan saiki bakal ditampilake.
  • Kanggo nglindhungi saka kerentanan potensial, owah-owahan wis digawe kanggo ngresiki informasi sing ora perlu saka header sing disetel nalika nggunakake modul h2h3 kanthi opsi GIT_TRACE_CURL = 1 utawa GIT_CURL_VERBOSE = 1 bebarengan karo HTTP / 2.
  • Nalika nindakake mriksa ing cabang sing minangka pranala simbolis menyang cabang liyane, printah "git symbolic-ref HEAD" saiki nampilake jeneng cabang target tinimbang jeneng symlink.
  • Nambahake dhukungan kanggo argumen @{-1} menyang opsi "--edit-description" ("cabang git β€”edit-description @{-1}") kanggo nyunting deskripsi cabang sadurunge.
  • Added "git merge-tree --stdin" printah kanggo pass dhaptar pilihan liwat input standar.
  • Ing sistem file jaringan, panangan fsmonitor, sing ngawasi owah-owahan ing sistem file, dipateni kanthi standar.

Source: opennet.ru

Add a comment