Software-update: Git 2.49
De ontwikkelaars achter Git hebben versie 2.49.0 van hun software uitgebracht. Met Git kunnen onder andere software- en projectontwikkelaars beheer en versiecontrole over data en broncode uitvoeren. Het programma kan worden gezien als een concurrent voor Subversion of Mercurial. Het heeft onder andere complete branching- en merging-functies en wordt onder de gpl versie 2 uitgegeven. Voor een overzicht van vergelijkingen tussen Git en andere versiebeheersystemen verwijzen we naar deze pagina. Dit is de complete changelog is hier te vinden, dit zijn de belangrijkste veranderingen en verbeteringen:
UI, Workflows & FeaturesCompletion script updates for zsh"git pack-objects" and its wrapper "git repack" learned an option to use an alternative path-hash function to improve delta-base selection to produce a packfile with deeper history than window size."git gc" learned the "--expire-to" option and passes it down to underlying "git repack"."[help] autocorrect = 1" used to be a way to say "please wait for 0.1 second after suggesting a typofix of the command name before running that command"; now it means "yes, if there is a plausible typofix for the command name, please run it immediately"."git clone" learned to make a shallow clone for a single commit that is not necessarily be at the tip of any branch.Lazy-loading missing files in a blobless clone on demand is costly as it tends to be one-blob-at-a-time. "git backfill" is introduced to help bulk-download necessary files beforehand."git push --atomic --porcelain" used to ignore failures from the other side, losing the error status from the child process, which has been corrected."git rev-list --missing=" learned to accept "print-info" that gives known details expected of the missing objects, like path and type.Comes with an updated "gitk".The documentation of "git commit" and "git rebase" now refer to commit titles as such, not "subject".The value of "uname -s" is by default sent over the wire as a part of the "version" capability."git refs migrate" can optionally be told not to migrate the reflog.The netrc support (via the cURL library) for the HTTP transport has been re-enabled.Removal of ".git/branches" and ".git/remotes" support in the BreakingChanges document has been further clarified.What happens to submodules during merge has been documented in a bit more detail.
Completion script updates for zsh"git pack-objects" and its wrapper "git repack" learned an option to use an alternative path-hash function to improve delta-base selection to produce a packfile with deeper history than window size."git gc" learned the "--expire-to" option and passes it down to underlying "git repack"."[help] autocorrect = 1" used to be a way to say "please wait for 0.1 second after suggesting a typofix of the command name before running that command"; now it means "yes, if there is a plausible typofix for the command name, please run it immediately"."git clone" learned to make a shallow clone for a single commit that is not necessarily be at the tip of any branch.Lazy-loading missing files in a blobless clone on demand is costly as it tends to be one-blob-at-a-time. "git backfill" is introduced to help bulk-download necessary files beforehand."git push --atomic --porcelain" used to ignore failures from the other side, losing the error status from the child process, which has been corrected."git rev-list --missing=" learned to accept "print-info" that gives known details expected of the missing objects, like path and type.Comes with an updated "gitk".The documentation of "git commit" and "git rebase" now refer to commit titles as such, not "subject".The value of "uname -s" is by default sent over the wire as a part of the "version" capability."git refs migrate" can optionally be told not to migrate the reflog.The netrc support (via the cURL library) for the HTTP transport has been re-enabled.Removal of ".git/branches" and ".git/remotes" support in the BreakingChanges document has been further clarified.What happens to submodules during merge has been documented in a bit more detail.Performance, Internal Implementation, Development Support etc.More -Wsign-compare fixes.meson-based build now supports the unsafe-sha1 build knob.The meson-based build procedure covers contrib/ and other places as well.The code to check LSan results has been simplified and made more robust. (merge 164a2516eb jk/lsan-race-ignore-false-positive later to maint).More code paths have a repository passed through the callchain, instead of assuming the primary the_repository object.Move a few more unit tests to the clar test framework.Introduce a new API to visit objects in batches based on a common path, or by type.Following the procedure we established to introduce breaking changes for Git 3.0, allow an early opt-in for removing support of $GIT_DIR/branches/ and $GIT_DIR/remotes/ directories to configure remotes.The code paths to interact with zlib has been cleaned up in preparation for building with zlib-ng.Foreign language interface for Rust into our code base has been added.All the documentation .txt files have been renamed to .adoc to help content aware editors."git difftool" code clean-up.Rename processing in the recursive merge backend has seen a micro optimization.The path.[ch] API takes an explicit repository parameter passed throughout the callchain, instead of relying on the_repository singleton instance.Large-object promisor protocol extension has been introduced.The editorconfig file is updated to tell us that bash scripts are similar to general Bourne shell scripts.Meson-based build procedure forgot to build some docs, which has been corrected.
More -Wsign-compare fixes.meson-based build now supports the unsafe-sha1 build knob.The meson-based build procedure covers contrib/ and other places as well.The code to check LSan results has been simplified and made more robust. (merge 164a2516eb jk/lsan-race-ignore-false-positive later to maint).More code paths have a repository passed through the callchain, instead of assuming the primary the_repository object.Move a few more unit tests to the clar test framework.Introduce a new API to visit objects in batches based on a common path, or by type.Following the procedure we established to introduce breaking changes for Git 3.0, allow an early opt-in for removing support of $GIT_DIR/branches/ and $GIT_DIR/remotes/ directories to configure remotes.The code paths to interact with zlib has been cleaned up in preparation for building with zlib-ng.Foreign language interface for Rust into our code base has been added.All the documentation .txt files have been renamed to .adoc to help content aware editors."git difftool" code clean-up.Rename processing in the recursive merge backend has seen a micro optimization.The path.[ch] API takes an explicit repository parameter passed throughout the callchain, instead of relying on the_repository singleton instance.Large-object promisor protocol extension has been introduced.The editorconfig file is updated to tell us that bash scripts are similar to general Bourne shell scripts.Meson-based build procedure forgot to build some docs, which has been corrected.
Source:
Tweakers.net