ĂshtĂ« publikuar versioni i sistemit tĂ« menaxhimit tĂ« kodit burimor tĂ« shpĂ«rndarĂ« Git 2.50. Git dallon pĂ«r performancĂ«n e lartĂ« dhe ofron mjete pĂ«r zhvillim jo-lineare, tĂ« bazuara nĂ« degĂ«zim dhe bashkimin e degeve. PĂ«r tĂ« siguruar integritetin e historisĂ« dhe qĂ«ndrueshmĂ«rinĂ« ndaj ndryshimeve "me retrospektivĂ«", pĂ«rdoret hash-i i implicitur i tĂ«rĂ« historisĂ« sĂ« mĂ«parshme nĂ« çdo commit, si dhe vĂ«rtetimi me nĂ«nshkrime digjitale nga zhvilluesit pĂ«r etiketat dhe commit-et e veçantĂ«. Kodi i Git shpĂ«rndahet nĂ«n licencĂ«n GPLv2+.
Në krahasim me versionin e kaluar, në versionin e ri janë pranuar 621 ndryshime, të përgatitura me pjesëmarrjen e 98 zhvilluesve, nga të cilët 35 marrin pjesë për herë të parë në zhvillim. Risi kryesore:
- ĂshtĂ« zgjeruar mundĂ«sia pĂ«r ndarjen nĂ« disa pack-file tĂ« bazĂ«s sĂ« objekteve tĂ« papĂ«rballueshĂ«m («cruft packs»), pĂ«r tĂ« cilat nĂ« depo nuk ka referenca (nuk referohen degĂ«t ose etiketat). PĂ«rdorimi i disa pack-file tĂ« vogla nĂ« vend tĂ« njĂ« tĂ« madhe ndihmon nĂ« mĂ«nyrĂ« tĂ« konsiderueshme pĂ«r tĂ« zvogĂ«luar operacionet e hyrje/ dalje gjatĂ« ripakimit tĂ« depozita me njĂ« numĂ«r tĂ« madh objektesh tĂ« papĂ«rballueshĂ«m, pasi pĂ«r çdo operacion ripakimi nuk Ă«shtĂ« e nevojshme tĂ« rishkruajmĂ« tĂ« dhĂ«nat e gjitha.
NĂ« versionin e ri ofrohet opsioni «âcombine-cruft-below-size», me tĂ« cilin mund tĂ« organizohet bashkimi i pack-fileve ekzistuese, tĂ« cilat nuk e kalojnĂ« vlerĂ«n e caktuar. Ndryshe nga opsioni i mĂ«parshĂ«m «âmax-cruft-size», opsioni i ri «âcombine-cruft-below-size» nuk kufizon madhĂ«sinĂ« maksimale tĂ« pack-fileve rezultuese, çka lejon bashkimin mĂ« efikas tĂ« pack-fileve nĂ« depozita me njĂ« numĂ«r tĂ« madh objektesh tĂ« papĂ«rballueshĂ«m, tĂ« shpĂ«rndara nĂ« disa pack-file.
- ĂshtĂ« shtuar mbĂ«shtetje eksperimentale pĂ«r pĂ«rditĂ«simin inkremental tĂ« indekseve multi-paketĂ« MIDX, ku çdo shtresĂ« e indeksit MIDX me informacionin e disponueshmĂ«risĂ« sĂ« objekteve vendoset nĂ« njĂ« skedar bitmap tĂ« veçantĂ«. NĂ« depo shumĂ« tĂ« mĂ«dha, forma e realizuar e indekseve ofron mundĂ«sinĂ« pĂ«r tĂ« shtuar shpejt dhe nĂ« mĂ«nyrĂ« efikase harta tĂ« reja tĂ« disponueshmĂ«risĂ« sĂ« objekteve ndĂ«rsa mbĂ«rrijnĂ« komitetet.
- Motori i vjetĂ«r i pĂ«rpunimit tĂ« operacioneve tĂ« bashkimit "recursive" Ă«shtĂ« fshirĂ« nga kodi burimor, dhe nĂ« vend tĂ« tij Ă«shtĂ« paraqitur njĂ« motor i ri i ripĂ«rpunuar "ORT" (Ostensibly Recursiveâs Twin), mĂ« produktiv, funksional dhe mĂ« i lehtĂ« pĂ«r t'u mbajtur. ORT lejon pĂ«rcaktimin e mundĂ«sisĂ« pĂ«r tĂ« bashkuar dy objekte pa krijuar objekte tĂ« reja nĂ« depo (me motorin e vjetĂ«r, kĂ«rkohej ekzekutimi i komandĂ«s "git merge-tree âwrite-tree", e cila regjistronte objekte tĂ« reja nĂ« depo). NĂ« Git 2.50, nĂ« komandĂ«n merge-tree Ă«shtĂ« pĂ«rfshirĂ« opsioni "âquiet", ku mundĂ«sia e bashkimit mund tĂ« kontrollohet mbi bazĂ«n e kodit tĂ« rikthimit pa regjistrimin e tĂ« dhĂ«nave nĂ« depo.
- Me «git cat-file âbatch» dhe komandat e ngjashme Ă«shtĂ« shtuar opsioni «âfilter», i cili lejon kalimin e disa objekteve gjatĂ« kryerjes sĂ« operacionit. git cat-file âbatch-check=â%(objectname)â âfilter=âobject:type=treeâ
- Në komandën «git maintenance» janë realizuar tri veprime të reja: worktree-prune, rerere-gc dhe reflog-expire. Veprimi worktree-prune është i destinuar për të fshirë pemët e punës (worktrees) të vjetra ose të dëmtuara në depo. Veprimi rerere-gc fshin rekordet e vjetra, që mbeten pas eliminimit të konflikteve të bashkimit. Veprimi reflog-expire fshin objektet e vjetra, të padisponueshme nga reflog.
- ĂshtĂ« shtuar komanda «git reflog drop», e cila fshin tĂ« gjitha tĂ« dhĂ«nat e reflog pĂ«r degĂ«n e caktuar.
- ĂshtĂ« optimizuar pĂ«rpunimi dhe pĂ«rdorimi i referencave, pĂ«r shembull, Ă«shtĂ« implementuar caching i prefikseve tĂ« referencave, janĂ« eliminuar kontrollet e tepruara gjatĂ« ekzekutimit tĂ« komandĂ«s «git update-ref», duke rritur efikasitetin e kĂ«rkimit tĂ« iteraatorĂ«ve ekzistues tĂ« referencave.
- Për bibliotekën cURL janë shtuar cilësimet KeepAlive: http.keepAliveIdle, http.keepAliveInterval dhe http.keepAliveCount.
- Në komandën «git rev-list» është implementuar mundësia e nxjerrjes në një format të përshtatshëm për përpunimin nga makina, në të cilin çdo fushë ndahet me simbolin NUL.
- Gjuha Perl është përjashtuar nga varësitë e nevojshme për mjetet e punës me dokumentacionin dhe për ekzekutimin e paketave të testimit («make test»). Shumë një-linjëshe Perl në teste janë zëvendësuar me funksione shell ose janë riparë në gjuhën C.
- Shtuar përpunuesi userdiff për formatin e skedarëve të konfigurimit «.ini».
- Në komandën send-email është përmirësuar mbështetja për serverin SMTP të Outlook.
Burimi: opennet.ru
