After two months of development, the release of the distributed system of management of the source texts git 2.45 was published. GIT is one of the most popular, reliable, and high-performance version management systems that provide flexible means of nonlinear development, based on branch and fusion of branches. To ensure the integrity of history and resistance to “retroactively” changes, implicit hashing of the entire previous story in each commit is used. It is also possible to certify the digital signatures of the developers of individual tags and commits. GIT code is distributed under the license gplv2+.
In comparison with the past issue, 540 changes were adopted, prepared with the participation of 96 developers, of which 35 first took part in development. The main innovations :
- Added preliminary support for the “Reftable” backend for effective storage in the repository of links to branches and tags. The new backend uses the block storage used by the project jgit and a very large number of links for storage. The new backend is turned on through an indication of the option “–ref-phormat = refTable” when initializing the repository and allows you to accelerate the search, reading, and recording in repositories with a large number of links.
- Provided means to ensure tolerance between objects identifiers based on Hashey SHA-1 and SHA-256. A new format of “Compatibolyity” objects is proposed to handle both SHA-1 and SHA-256 hashes in the same repository.
- The Git Rev-List command adds the ability to determine objects that are absent in a local repository, which can be used to diagnose damage to the repository.
- Added a new team “Git Reflog List” to show the famous reflogs and their corresponding links to tags and branches.