The team behind version control tool Git have pushed version 2.32 into the open, upping the ante on usability and continuing their work towards an overall faster project.
Developers who are prone to typos will be thrilled to hear that git commit –fixup=<commit> now offers new options –fixup=(amend|reword):<commit>. Those can be used to fix pesky errors in both the log message and content of the commit or just the message – something that dogged developers previously.
Git 2.32 also comes with a –trailer <key>[=<value>] option for git commit, which the team hopes will facilitate the work with custom trailers. Trailers allow developers to add machine-readable data to commits, these can then be useful to reference people, issues or similar information. Another improvement in this area is the new trailer.<token>.cmd configuration variable which looks to offer a safer way to get user input to the command line.
To ensure users don’t accidentally make their email information available to the wider world, gitweb has been fitted with a so-called e-mail privacy feature to redact strings that look like email addresses. The Git developers also introduced a strategy to pack repo objects in a less costly way and added the –filter=object:type=<type> option to the git rev-list, so that certain types of objects stay out of pack-object generated packfiles.
Starting from this release, popular commands git add and git remove will not touch paths outside a sparse checkout, while a new option in git stash informs about untracked parts of the stash.
In terms of configuration, the GIT_CONFIG_NOSYSTEM mechanism was replaced by GIT_CONFIG_SYSTEM. The latter lets users specify from which file to read the system-wide configuration instead of simply telling the programme to stay away from reading the system-wide definitions. Newly added GIT_CONFIG_GLOBAL can be used to override the per-user configuration in $HOME/.gitconfig.
Under the hood, the team has reworked the checkout machinery to write out files in parallel where possible and improved some testing related bits to enhance coverage. It also continued code cleanup efforts and introduced an on-disk reverse-index which allows developers to map the in-pack location of an object back to its object name across packfiles.
A complete list of changes and bug fixes can be found in the official announcement message.