Git 2.46 arriveert met verbeteringen, reparaties en een nieuw type bitmaps

git 2.46

De nieuwe versie van Git 2.46 arriveert na drie maanden ontwikkeling en in deze nieuwe release zijn verschillende verbeteringen en belangrijke nieuwe functies opgenomen, zoals experimentele ondersteuning voor een nieuw type bitmaps, verbeteringen aan de experimentele “reftable” backend, nieuwe opdrachtregelinterface voor onder andere het commando “git config”.

Deze nieuwe versie van Git 2.46 bevat bugfixes van meer dan 96 bijdragers, 31 daarvan nieuw en als zodanig de nieuwe versie bevat 746 wijzigingen.

Belangrijkste nieuwe functies in Git 2.46

De experimentele ondersteuning voor “pseudofusion toegankelijkheid bitmap” is een van de belangrijkste ontwikkelingen van deze release, en dit nieuwe type bitmapsen anders dan de traditionele structuur "toegankelijkheidsbitmap" door gegevens op te slaan over sets van commit-gerelateerde objecten, niet voor elke individuele commit, maar voor meerdere commits tegelijk.

Als zodanig is deze pseudomerge toegankelijkheidsbitmap maakt het gebruik van een enkele bitmap mogelijk om objecten in commits van verschillende vertakkingen te definiëren, wat resulteert in een aanzienlijke prestatieverbetering, vooral op grote opslagplaatsen. Dit versnelt bewerkingen zoals git fetch, git rev-list en git clone door de noodzaak om meerdere afzonderlijke bitmaps te genereren te verminderen.

Git 2.46 introduceert ook verschillende belangrijke verbeteringen aan de opdrachtregelinterface en bij het beheer van inloggegevens en gegevensopslag. De opdrachtregelinterface voor het git config commando is opnieuw ontworpen, het vervangen van ongelijksoortige opties zoals –get, –get-all, –unset, en –remove-section met een reeks meer intuïtieve subopdrachten. Om bijvoorbeeld alle repositoryconfiguraties weer te geven, kunt u nu het commando “git configuratielijst«, en om de inhoud van een specifieke parameter te bekijken, kunt u nu het commando « gebruikengit config ophalen ». Om de resultaten verder te filteren, kunt u de optie “–regexp” gebruiken om een ​​filter op te geven op basis van een reguliere expressie.

Daarnaast staat in het protocol «credential helper" heeft ondersteuning toegevoegd voor de nieuwe velden "authtype" en "credential"., waardoor u handlers kunt maken voor HTTP-authenticatiesystemen die meer doen dan alleen de gebruikersnaam en het wachtwoord verifiëren, bijvoorbeeld bij gebruik van Bearer Token in OAuth 2.0. En eerder, Om met dergelijke authenticatiesystemen te kunnen werken, was het noodzakelijk om vertrouwelijke gegevens in leesbare tekst vast te leggen in de parameter http.extraHeader. Daarnaast, protocol voegt de mogelijkheid toe om de status van elke controller te behouden van referenties ter ondersteuning van multi-factor authenticatiemethoden die worden gebruikt in protocollen zoals NTLM en Kerberos.

Bovendien, is de ontwikkeling van de experimentele “reftable” backend verbeterd voor efficiënte opslag van links naar filialen en tags in de repository. De nieuwe versie voegt het commando “git refs migreren –ref-format=reftable” toe om bestaande repository’s naar de “reftable” backend te migreren (voorheen was de backend alleen ingeschakeld toen de repository werd geïnitialiseerd).

Ook, In Git 2.46 is het proces gestart om enkele tests uit de testsuite te converteren, aan het gebruik van unit-tests. Dit is bedoeld om het testen van componenten op laag niveau te vereenvoudigen en de efficiëntie van het testproces op het Windows-platform te vergroten, wat grote overheadkosten genereert bij het uitvoeren van een aantal processen op een groot platform tijdens het uitvoeren van tests die zijn geïmplementeerd in een van de shell-scripts .

Van de andere opvallende veranderingen van deze nieuwe versie:

  • Er is een “–no-advice” optie toegevoegd aan het git commando, die alle advies- en hintberichten uitschakelt, wat handig kan zijn om te voorkomen dat het log verstopt raakt met onnodige informatie tijdens een geautomatiseerde git-oproep.
  • De mogelijkheid toegevoegd om de “#RGB”-weergave te gebruiken naast de “#RRGGBB”-weergave in code om kleurinstellingen te parseren.
  • Wanneer git merge ziet dat de index niet kan worden bijgewerkt (bijvoorbeeld vanwege
    naar een ander proces dat hetzelfde op de achtergrond doet)
  • Er wordt een CPP-macro USE_THE_REPOSITORY_VARIABLE geïntroduceerd om de codebase zo over te zetten dat deze minder afhankelijk is van de beschikbaarheid van de singleton-instantie the_repository.
  • “git versie –build-options” rapporteert de versie-informatie van
  • OpenSSL en andere bibliotheken (indien gebruikt) in de build.
  • Geheugenlekken in "git mv" opgelost
  • Bijgewerkte ondersteuning voor het voltooien van de opdrachtregel voor zsh (in contrib/)
    om te stoppen met het blootstellen van de interne toestand aan de shell-interactie van de eindgebruiker

Eindelijk als u er meer over wilt wetenkunt u de details in het volgende link.