Efter tre mÄnaders utveckling har den distribuerade systemet för hantering av kÀllkod Git 2.32 publicerats. Git Àr ett av de mest populÀra, pÄlitliga och högpresterande versionshanteringssystemen som erbjuder flexibla verktyg för icke-linjÀr utveckling, baserat pÄ förgrening och sammanslagning av grenar. För att sÀkerstÀlla integriteten i historiken och motstÄndskraften mot 'bakÄt-vÀnd Àndringar' anvÀnds implicit hashing av hela tidigare historik i varje commit, och det Àr ocksÄ möjligt att verifiera digitala signaturer av utvecklare för enskilda taggar och commits.
JÀmfört med den tidigare versionen har den nya versionen accepterat 617 Àndringar, som förbereddes med deltagande av 100 utvecklare, varav 35 deltog i utvecklingen för första gÄngen. Huvudnyheterna Àr:
- Till kommandot 'git commit' har ett alternativ 'âtrailer [=]' lagts till, vilket förenklar bifogandet av egen strukturerad information (trailer) i nyckel/vĂ€rde-format till commit, vilket sedan kan bearbetas med kommandot 'interpret-trailers'.
- IstÀllet för mekanismen GIT_CONFIG_NOSYSTEM, som anvÀnds för att förhindra lÀsning frÄn den gemensamma systemkonfigurationsfilen, föreslÄs att anvÀnda mekanismen GIT_CONFIG_SYSTEM, som lÄter oss specificera vilken fil som ska laddas för systeminstÀllningar, samt parametern GIT_CONFIG_GLOBAL för att ÄsidosÀtta anvÀndarspecifika instÀllningar i $HOME/.gitconfig. Att tilldela variabeln GIT_CONFIG_SYSTEM ett tomt vÀrde Àndrar beteendet till motsvarande GIT_CONFIG_NOSYSTEM.
- Vid anvÀndning av den andra versionen av Git kommunikationsprotokollet har möjligheten att identifiera den gemensamma förfadern pÄ mottagarsidan vid 'git push' implementerats, vilket har ökat effektiviteten hos 'git push' till nivÄn av 'git fetch' och eliminerat nedladdning av objekt som inte behövs.
- Ett enkelt IPC-grÀnssnitt har lagts till som gör det möjligt att skapa tjÀnster som fsmonitor.
- Behandlingen av filerna '.gitattributes', '.gitignore' och '.mailmap' har avbrutits om de Àr symboliska lÀnkar.
- För HTTP-transport har stöd för cache av det lösenord som framgÄngsrikt anvÀnts för att lÄsa upp certifikatet lagts till.
- I kommandot 'git stash show' har möjligheten att visa den oövervakade delen av lagret av tillfÀlligt borttagna filer implementerats.
- En mer avancerad strategi för ompackning av repository har föreslagits av teamet "git repack", vilket minskar resursförbrukningen vid ompackning.
- I kommandot "git commit" har en utökad variant av alternativet "âfixup" (skapa commit för "rebase âautosquash") implementerats â "âfixup=(reword|amend):", vilket ger valet att endast Ă€ndra loggmeddelandet eller bĂ„de meddelandet och innehĂ„llet.
- I kommandot "git send-email" har instÀllningen core.hooksPath inkluderats.
- I "git format-patch -v" Àr anvÀndning av rÀknare som inte Àr heltal nu tillÄten.
- I "git clone" har alternativet "âreject-shallow" lagts till, vilket förhindrar kloning frĂ„n repository i shallow-lĂ€ge (utan fullstĂ€ndig historik).
- I programmet "gitweb" har ett lÀge för att dölja e-post lagts till, vilket ersÀtter text som liknar e-post vid utskrift.
- Logiken för att bearbeta kommandot "git apply â3way" har Ă€ndrats, sĂ„ att det nu först försöker anvĂ€nda trevĂ€gssammanslagningsalgoritmen och endast vid misslyckande eller konflikt backar till vanlig patchtillĂ€mpning (tidigare var det omvĂ€nt).
- I kommandot "git apply" har samtidig angivelse av alternativen "â3way" och "âcached" tillĂ„tits.
- I Userdiff har mallar för sprÄket "Scheme" lagts till.
- I kommandot "git log" har alternativet "âdiff-merges=" och instĂ€llningen log.diffMerges lagts till för att vĂ€lja standardlĂ€ge.
- I kommandona "git add" och "git rm" har ytterligare skydd mot datainmatning i vÀgar utanför omrÄdet för partiell kloning (sparse checkout) lagts till.
- I kommandot "git rev-list" har alternativet "âfilter=object:type=" lagts till för att utesluta viss typ av objekt frĂ„n pack-filen som genereras av kommandot pack-objects.
- I "git pack-objects" Ă€r det nu förbjudet att ange negativa vĂ€rden i alternativ som tar numeriska vĂ€rden, sĂ„som "âwindow" och "âdepth".
KĂ€lla: opennet.ru
