ĂshtĂ« lancuar versioni i sistemit tĂ« menaxhimit tĂ« versioneve tĂ« kodit burimor Git 2.54. Git ofron performancĂ« tĂ« lartĂ« dhe siguron mjete pĂ«r zhvillim jo-linear, tĂ« bazuar nĂ« degĂ«zim dhe bashkimin e degĂ«ve. PĂ«r tĂ« garantuar integritetin e historisĂ« dhe qĂ«ndrueshmĂ«rinĂ« ndaj ndryshimeve "retroaktive", pĂ«rdoret heshimi implicit i gjithĂ« historisĂ« sĂ« mĂ«parshme nĂ« çdo ndarje, si dhe autentikimi me firma digjitale tĂ« zhvilluesve pĂ«r etiketat dhe ndarjet e veçanta. Kodi i Git shpĂ«rndahet nĂ«n licencĂ«n GPLv2+.
Në krahasim me versionin e kaluar, në këtë version janë pranuar 770 ndryshime, përgatitur me pjesëmarrjen e 137 zhvilluesve (66 prej të cilëve janë pjesëmarrës për herë të parë në zhvillimin e Git). Novitetet kryesore janë:
- ĂshtĂ« realizuar komandĂ« âgit historyâ, e cila ofron mundĂ«si eksperimentale pĂ«r riparimin e historisĂ« sĂ« ndryshimeve, mĂ« tĂ« thjeshta dhe mĂ« tĂ« sigurta pĂ«r t'u pĂ«rdorur se sa rikthimi i ndarjeve me komandĂ«n âgit rebaseâ. Jepen dy operacione:
- âgit history reword â pĂ«r tĂ« rimarrĂ« mesazhin nĂ« ndarjen e caktuar pa ndryshuar punĂ«n e vendeve dhe indeksin (pĂ«rveç shĂ«nimeve, pjesa tjetĂ«r mbetet e palezuar). PĂ«r shembull, pĂ«r tĂ« korrigjuar njĂ« gabim shtypi.
- âgit history split â pĂ«r ndarjen interaktive tĂ« ndarjes sĂ« caktuar nĂ« dy ndarje tĂ« ndryshme, duke zhvendosur pjesĂ«t e zgjedhura nga ndarja origjinale nĂ« njĂ« ndarje shtesĂ«.
NĂ« versionet e ardhshme pritet shtimi i komandave tĂ« tjera: âgit history fixupâ pĂ«r tĂ« korrigjuar njĂ« ndarje, âgit history dropâ pĂ«r tĂ« fshirĂ« njĂ« ndarje, âgit history reorderâ pĂ«r tĂ« ndryshuar rendin e ndarjeve dhe âgit history squashâ pĂ«r tĂ« bashkuar ndarjet.
- NjĂ« metodĂ« e re pĂ«r pĂ«rcaktimin e trajtuesve (hook) nĂ« skedarĂ«t e konfigurimit Ă«shtĂ« realizuar. NĂ« vend qĂ« tĂ« vendosen skriptet me trajtues nĂ« katalogun «.git/hooks» nĂ« çdo depo, komandat pĂ«r thirrjen e trajtuesve tani mund tĂ« caktohen drejtpĂ«rdrejt nĂ« skedarĂ«t e konfigurimit. CilĂ«simet mund tĂ« lidhen me depon ose tĂ« specifikohen nĂ« skedarĂ«t e konfigurimit qĂ« vlejnĂ« pĂ«r tĂ« gjitha depositĂ« ( /etc/gitconfig) ose pĂ«r deposit e pĂ«rdoruesve ( ~/ .gitconfig). ĂshtĂ« e mundur tĂ« lidhni disa trajtues me njĂ« ngjarje. Skriptet nga «.git/hooks» akoma vazhdojnĂ« tĂ« thirren, por fillojnĂ« pas trajtuesve nga skedarĂ«t e konfigurimit. PĂ«r tĂ« parĂ« listĂ«n e trajtuesve, duhet tĂ« pĂ«rdoret komanda «git hook list», dhe pĂ«r tĂ« ndaluar selektivisht thirrjen e trajtuesve - cilĂ«simi «hook.<name>.enabled = false». [hook «linter»] event = pre-commit command = ~/bin/linter âcpp20 [hook «no-leaks»] event = pre-commit command = ~/bin/leak-detector $ git hook list pre-commit global linter ~/bin/linter âcpp20 local no-leaks ~/bin/leak-detector
- Në komandën «git maintenance», strategjia «geometric» është e angazhuar si strategjia e paracaktuar («git config set maintenance.strategy geometric»), e cila lejon të shkurtohet koha e mirëmbajtjes së monorepozitëve të mëdhenj. Krahasuar me strategjinë e mëparshme, e cila përdorte logjikën si në komandën «git gc», strategjia e re shmang ripakimin e të gjitha objekteve dhe përjashton operacionet tepër të ngarkuara për burimet, siç është bashkimi i të gjitha skedarëve të paketave (nëse është e mundur, bashkimi kryhet pjesë-pjesë dhe pa pastrimin e objekteve të fshira).
- Baza e të dhënave të objekteve (ODB) dhe API-të e lidhura janë kaluar në një arkitekturë të re, të bazuar në përdorimin e backend-eve të pluginn-ëve. Ristrukturimi i kryer abstarakton formatin e ruajtjes së objekteve dhe në të ardhmen do të lejojë realizimin e mundësive të tilla si backend-e dhe formate alternative objektesh, për shembull, për ruajtjen më efikase të skedarëve të mëdhenj binarë ose për optimizimin e funksionimit të hosteve të mëdhenj të git.
- Në komandën «git repo structure», e cila ofron informacion mbi strukturën e depozitës, është siguruar shfaqja jo vetëm e madhësisë totale, por edhe e objekteve më të mëdha të çdo lloji, çka lejon të vlerësohet madhësia pa përdorimin e mjeteve të jashtme git-sizer. $ git repo structure ⊠| * Objektet më të mëdha | | | * Komitetet | | | * Madhësia maksimale [1] | 17.23 KiB | | * Prindërit maksimale [2] | 10 | | * Pemët | | | * Madhësia maksimale [3] | 58.85 KiB | | * Hyrjet maksimale [4] | 1.18 k | | * Blobot | | | * Madhësia maksimale [5] | 1019.51 KiB | | * Etiketat | | | * Madhësia maksimale [6] | 7.13 KiB |
- NĂ« komandĂ«n «git replay», e cila pĂ«rdoret nĂ« vend tĂ« «git rebase» pĂ«r tĂ« rikrijuar historinĂ« nĂ« server pa njĂ« pemĂ« pune, Ă«shtĂ« pĂ«rfshirĂ« nĂ« parazgjedhje azhurnimi atomar i lidhjeve (nĂ« vend tĂ« shfaqjes sĂ« listĂ«s sĂ« komandave update-ref pĂ«r ekzekutim manual), Ă«shtĂ« realizuar opsioni «ârevert» pĂ«r anulimin e ndryshimeve nga njĂ« seri komitese, Ă«shtĂ« siguruar heqja e komiteteve tĂ« zbrazĂ«ta rezultuese dhe Ă«shtĂ« dhĂ«nĂ« mundĂ«sia e rikrijimit tĂ« historisĂ« deri nĂ« komitetin rrĂ«njor.
- NĂ« «git rev-list» dhe komandat e ngjashme Ă«shtĂ« shtuar opsioni «âmaximal-only» pĂ«r tĂ« shfaqur vetĂ«m komitetet qĂ« nuk arrihen nga komitete tĂ« tjera.
- NĂ« komandĂ«n «git repo info» Ă«shtĂ« shtuar opsioni «âkeys» pĂ«r tĂ« shfaqur njĂ« listĂ« tĂ« tĂ« gjithĂ« çelĂ«save tĂ« njohur.
- NĂ« komandĂ«n «git add -p», gjatĂ« navigimit midis blloqeve tĂ« kodit me ndihmĂ«n e çelĂ«save «J» dhe «K» Ă«shtĂ« siguruar shĂ«nimi i blloqeve qĂ« janĂ« miratuar dhe tĂ« anashkaluara. ĂshtĂ« shtuar opsioni «âno-auto-advance» pĂ«r tĂ« çaktivizuar kalimin automatik nĂ« skedarin e ardhshĂ«m, pĂ«r t'u mundĂ«suar rikthimin nĂ« skedarĂ«t e kaluara para komitimit.
- ĂshtĂ« optimizuar ndĂ«rfaqja web «gitweb» pĂ«r funksionimin nĂ« pajisje mobile.
- NĂ« komandĂ«n «git apply âdirectory» para pĂ«rdorimit Ă«shtĂ« siguruar normalizimi i rrugĂ«ve tĂ« skedarĂ«ve, siç janĂ« «.\/un\/..\/normalized\/path».
- ĂshtĂ« dokumentuar mundĂ«sia e shtimit tĂ« komandeve nĂ«nkategorike pĂ«rmes vendosjes sĂ« skedarĂ«ve «git-» nĂ« katalogun e skedarĂ«ve ekzekutivĂ«.
- Në komandën «git send-email» është shtyrë mbështetje për certifikatat e klientëve.
- Për komandën «git status» është realizuar konfigurimi «status.compareBranches», nëpërmjet të cilit mund të përcaktohen degët me të cilat do të bëhet krahasimi i degës aktuale. [status] compareBranches = @{upstream} @{push}
- NĂ« «git rebase» Ă«shtĂ« shtuar opsioni «âtrailer» pĂ«r tĂ« lehtĂ«suar shtimin e metadatanave nĂ« tĂ« gjitha komitetet. git rebase âtrailer «Reviewed-by: Test »
- Ekipes "git fast-import" ka marrë mundësinë për të zëvendësuar nënshkrimet për commit-et që janë bërë jo valide pas importimit.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r paketimin (compaction) e indekseve MIDX (multi-pack index), ku bashkohen katet e vogla tĂ« indeksit MIDX me informacionet mbi disponueshmĂ«rinĂ« e objekteve dhe skedarĂ«t bitmap tĂ« lidhura, duke zvogĂ«luar numrin e katĂ«rve tĂ« mbledhura nĂ« repository-t ekzistuese pĂ«r njĂ« kohĂ« tĂ« gjatĂ«.
- NĂ« komandĂ«n "git backfill" Ă«shtĂ« realizuar mundĂ«sia pĂ«r tĂ« specifikuar revizionet (intervalet e commit-eve) dhe maskat e rrugĂ«ve (pathspec) pĂ«r tĂ« kufizuar pjesĂ«t e ngarkuara tĂ« historisĂ« sĂ« ndryshimeve. git backfill main~100..main git backfill â '*.c'
- Shtohen forma alternative tĂ« thirrjes sĂ« komandĂ«s "git config list" â "git config -l" dhe "git config --list".
- Lejohet përdorimi i karaktereve jo-ASCII në emrat e alias-ëve të komandave që janë përcaktuar në skedarin e konfigurimit. [alias "merr"] command = fetch
- ĂshtĂ« ndryshuar shfaqja e nĂ«nshkrimeve, tĂ« cilat kanĂ« skaduar çelĂ«sat GPG, por ishin tĂ« vlefshme nĂ« momentin e nĂ«nshkrimit tĂ« komitetit. TĂ« tilla nĂ«nshkrime tani shfaqen si tĂ« sakta me njĂ« shĂ«nim pĂ«r skadimin e çelĂ«sit (mĂ« parĂ« ato ishin tĂ« theksuara me ngjyrĂ« tĂ« kuqe, çka jepte pĂ«rshtypjen e pavlefshmĂ«risĂ«).
- Kur pĂ«rdoren repository-t pĂ«rmes HTTP, Ă«shtĂ« siguruar trajtimi i gabimit me kodin 429 (Too Many Requests). KĂ«rkesat qĂ« pĂ«rfundojnĂ« me kĂ«tĂ« gabim tani konsiderohen si gabime tĂ« pĂ«rkohshme, pĂ«r tĂ« cilat duhet tĂ« pĂ«rsĂ«ritet operacioni pas njĂ« kohe. Vonesa pĂ«r pĂ«rsĂ«ritjen e kĂ«rkesĂ«s pĂ«rcaktohet pĂ«rmes opsionit "http.retryAfter", numri i pĂ«rsĂ«ritjeve â "http.maxRetries", koha e pritjes â "http.maxRetryTime".
Burimi: opennet.ru
