Git 2.43 has already been released and these are its news

Go to 2.43

Git 2.43 Banner

After three months of development, the Git project unveiled recently launched the new Git version 2.43, which comes with new features and bug fixes from more than 80 contributors, 17 of them new.

In Git 2.43 “–filter” and “–filter-to” options have been introduced in the “git repack” command. These options allow you to repackage the repository considering the specified object filter.

Additionally, if necessary, objects that do not meet the filter can be moved to a separate location. These options are useful for partitioning the repository based on certain criteria, such as removing unnecessary or oversized objects. Despite these modifications, the ability to access all parts of the repository through partial cloning is preserved.

Another change What stands out from this new version, in git repack, is that working with multiple cruft packages is now supported, as well as dividing the content of the repositories using an object filter.

In addition to that, highlights the ability to work with multiple package files that contain information on unreachable objects, commonly referred to as "cruft packages." These files are not referenced in the repository, that is, they are not linked through branches or tags. With the introduction of the new “git repack –max-cruft-size” option, It is now possible to specify the maximum size of a single package file and segment the unreachable object database into multiple smaller package files.

Using several small package files instead of one large one can result in a noticeable reduction in I/O operations when repackaging repositories with a large number of unreachable objects. This is because each operation will not require overwriting all of the data, thus improving the efficiency of the process.

It is also noted that the command for-each-ref updated with new formatting related features, since users can now tell git for-each-ref to apply any .mailmap rules specified in their repository to custom format specifiers, including %(authorname) , %(committeremail) , and others.

On the other hand, it is highlighted that the default log message created by "git revert", when reverting a commit that logs a rollback, has been modified, to encourage people to better describe complex situations of "reversal" in his own words.

Of the other changes that stand out from this new version:

  • Significant changes have been made to Git's CI system, allowing ongoing CI runs to be aborted when new pushes occur to branches with CI checks in progress.
  • Git can now also use and report results to Coverity, a static analysis tool from Synopsys.
  • «git merge-file» now has a way to read three variants of content to be merged from blob objects.
  • Added the ability to apply .mailmap rules to specify the format specified using the option –Formatas the "%(authorname)" and "%(committeremail)" to "git for-each-ref» and similar commands.
  • Now the options –rfc and –subject-prefix they work together
  • A message written in ancient times prevented a branch from being removed, saying that it was already recorded elsewhere. But now it is proposed that a branch that is being split in two or rebased as a branch that is checked out and be protected from being modified with the same code path. The message has been rephrased to say that the branch is "in use" to avoid confusion.
  • «git update-index»now you have the option»–show-index-version» to inspect the version of the index format used by the index file on disk.
  • New features to custom git log formats, allowing users to add decorations using the new placeholder %(decorate) , which comes with optional modifiers like prefix, suffix, separators, and more.

Finally, if you are interested in being able to know more about it, you can consult the details in the following link


Add as preferred source in Google