Uitgave van het broncodebeheersysteem Git 2.45

Na twee maanden ontwikkeling is versie 2.45 van het gedistribueerde versiebeheersysteem Git gepubliceerd. Git is een van de populairste, meest betrouwbare en hoogpresterende versiebeheersystemen, die flexibele hulpmiddelen voor niet-lineaire ontwikkeling biedt, gebaseerd op vertakkingen en het samenvoegen van takken. Om de integriteit van de geschiedenis te waarborgen en bescherming tegen 'retroactieve' wijzigingen te bieden, wordt impliciete hashing van de hele vorige geschiedenis in elke commit toegepast. Daarnaast is het mogelijk om digitale handtekeningen van ontwikkelaars voor afzonderlijke tags en commits te verifiëren. De code van Git wordt verspreid onder de GPLv2+ licentie.

Vergeleken met de vorige uitgave zijn er 540 wijzigingen in deze nieuwe versie aangenomen, voorbereid door 96 ontwikkelaars, van wie 35 voor het eerst deelnamen aan de ontwikkeling. De belangrijkste vernieuwingen zijn:

  • Voorlopige ondersteuning voor de 'reftable' backend is toegevoegd voor efficiënte opslag van verwijzingen naar takken en tags in de repository. De nieuwe backend maakt gebruik van een blokopslag die wordt toegepast door het JGit-project en is geoptimaliseerd voor het opslaan van een zeer groot aantal verwijzingen (traditionele opslagformaten leiden in repositories met veel verwijzingen tot significante overhead door het plaatsen van een zeer groot aantal bestanden in één map bij opslag van verwijzingen in de $GIT_DIR/refs map, of de noodzaak om één groot bestand telkens opnieuw te schrijven bij elke update als verwijzingen in het $GIT_DIR/packed_refs bestand worden opgeslagen). Deze nieuwe backend wordt geactiveerd door de optie '--ref-format=reftable' op te geven bij het initialiseren van de repository ('git init --ref-format=reftable /path/to/repo') en maakt snellere zoek-, lees- en schrijfoperaties mogelijk in repositories met een groot aantal verwijzingen.
  • Er zijn middelen verstrekt voor de waarborging van draagbaarheid tussen objectidentificatoren op basis van SHA-1 en SHA-256 hashes. Om met SHA-1 en SHA-256 hashes in één repository te werken tijdens de geleidelijke migratie naar SHA-256 hashes, is een nieuw objectformaat 'compatibility' geïntroduceerd, dat het mogelijk maakt om naar objecten te verwijzen op basis van niet alleen de primaire hash, ingesteld bij het initialiseren van de repository, maar ook een secundaire hash. Bijvoorbeeld, bij het initialiseren van een repository kan de SHA-256 indeling worden gekozen, terwijl als secundair een SHA-1 hash kan worden ingesteld: git init --object-format=sha256 /path/to/repo cd /path/to/repo git config extensions.compatObjectFormat sha1
  • De opdracht „git rev-list” heeft nu de mogelijkheid om objectidentificatoren weer te geven die ontbreken in de lokale repository, zelfs als ze niet bereikbaar zijn in een tak of tag. Dit kan worden gebruikt om repository-schade te diagnosticeren: git rev-list —missing=print —all | grep ‘^?’ ?70678e7afeacdcba1242793c3d3d28916a2fd152
  • Een nieuwe opdracht „git reflog list” is toegevoegd om bekende reflogs en de bijbehorende links naar tags en takken te tonen.
  • Er is een mogelijkheid toegevoegd om alternatieve prefixen voor de uitvoer van „git diff” te definiëren, die worden weergegeven vóór het bestands pad en de staat vóór en na een bepaalde versie van het bestand aangeeft (standaard worden de prefixen „a/” en „b/” gebruikt). Nieuwe parameters diff.srcPrefix en diff.dstPrefix zijn toegevoegd aan de configuratie om eigen prefixen in te stellen.
  • Een parameter core.commentString is toegevoegd om de scheidingstekst te definiëren die wordt gebruikt in plaats van het teken „#” voor het negeren van opmerkingen in commitberichten. De eerder beschikbare instelling core.commentChar is aangepast om ondersteuning te bieden voor meerbyte-tekens als scheidingsteken voor opmerkingen (vroeger werden alleen ASCII-tekens ondersteund).
  • Aan de opdracht „git config” is de optie „—comment” toegevoegd, waarmee opmerkingen in het bestand .gitconfig kunnen worden opgeslagen voor verduidelijking van bepaalde instellingen. git config —comment ‘to show the merge base’ merge.conflictStyle diff3 tail -n 2 .git/config [merge] conflictStyle = diff3 # to show the merge base
  • Aan de opdracht „git cherry-pick” is de optie „—empty” toegevoegd voor het automatisch verwijderen van overbodige commits, vergelijkbaar met de optie „—empty” in git-rebase en git-am.
  • In de opdracht „git checkout -p” is het toegestaan om het teken „@” te gebruiken als synoniem voor de naam „HEAD”.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster