Efter tre måneders udvikling er udgivelsen af det distribuerede versionskontrolsystem Git 2.40 offentliggjort. Git er et af de mest populære, pålidelige og højtydende versionskontrolsystemer, der tilbyder fleksible værktøjer til ikke-lineær udvikling, baseret på grene og sammensmeltninger. For at sikre integriteten af historien og modstandsdygtighed over for "tilbageholdte ændringer" anvendes implicit hashing af hele den tidligere historie i hver commit, og der er også mulighed for digital signering af udviklernes enkelte tags og commits.
Sammenlignet med den tidligere version er der i den nye version accepteret 472 ændringer, forberedt med deltagelse af 88 udviklere, hvoraf 30 deltager i udviklingen for første gang. Hovednyhederne:
- I scriptet git-jump er der tilføjet support til editoren Emacs, ud over den tidligere understøttede editor Vim. Git-jump anvendes til at overføre oplysninger om positioner i filen til teksteditoren for hurtig navigation og redigering af kode på et bestemt sted. For eksempel kan git-jump anvendes til at skifte mellem linjer i editoren, der er genereret ved analyse af sammensmeltning Konflikter, vurdering af forskelle og udførelse af søgninger (man kan udføre "git jump grep foo" og derefter hurtigt skifte mellem de positioner, hvor masken "foo" vises).
- I "git cat-file" er der tilføjet mulighed for at anvende indstillingerne "-s" og "—batch-check" sammen med "—use-mailmap" for korrekt at bestemme objektets størrelse i betragtning af identifikatorsubstitution, udført baseret på bindinger til e-mail, angivet i mailmap-filen (tidligere påvirkede indstillingen "—use-mailmap" kun output af indholdet, men tog ikke hensyn til, at gamle og erstattede par navn/e-mail kan have forskellig størrelse).
- Til kommandoen "git check-attr" er der tilføjet indstillingen "—source" for at vælge træet med den nødvendige fil ".gitattributes", som vil blive brugt til at bestemme de aktuelle attributter i tilfælde af, at der findes flere filer ".gitattributes" i databasen.
- Implementeringen af kommandoen "git bisect" er genudviklet i C og indarbejdet i den primære eksekverbare fil git (tidligere blev kommandoen implementeret i form af et Shell-script).
- Den gamle implementering af kommandoen «git add —interactive», skrevet i Shell, er blevet fjernet (i git 2.26 blev der foreslået en indbygget version i C, men den gamle implementering i Shell forblev tilgængelig og blev reguleret af indstillingen add.interactive.useBuiltin).
- Der er tilføjet en ‘—merge-base’ mulighed til kommandoen «git merge-tree».
- Der er tilføjet en «—abbrev=» mulighed til kommandoen «git range-diff».
- Muligheden for at omdefinere listen over redaktører til den interaktive rebase-kommando er blevet tilføjet, ved at sætte variablen GIT_SEQUENCE_EDITOR via kommandoen «git var», svarende til «git var GIT_EDITOR».
- Underkontrolleren for konti har fået tilføjet understøttelse af adgangskoder med begrænset varighed.
- I Bash auto-completion scripts er der implementeret en tilstand for case-sensitive indtastning.
Kilde: opennet.ru
