Git 2.48 introduces new build system and speeds up SHA-1 internally

0
11
Git 2.48 introduces new build system and speeds up SHA-1 internally


In version 2.48, the Git version management system introduces a new build system with Mason, improves security in some cases and introduces some new commands. In the future, developers will be able to use Meson with Make, CMake and Autoconf, which offers several advantages: it makes it easier to find build options, has a simpler syntax than its predecessors, offers modern build functions. And supports various operating systems, compilers as well as IDEs.

Advertisement


For example, a practical tool is the command meson configureWhich allows users to view or change the configuration within the build directory. And meson setup Sets up multiple build directories. More information can be found in file meson.build In the Git repository. The old make system was becoming obsolete: 2000 commits contributed to the current makefile and the build script contains 4000 lines of code.

When it comes to security, the Git team strives to eliminate all memory leaks. Since Git works on the command line, leaks are not a big problem, as the kernel collects unreleased areas in the short term. However, the Git team aims to port parts of version control to libraries where leaks are a more serious problem. All known holes have now been closed, and Git 2.48 has passed the relevant tests without any errors.

The only marginal security issue is the collision-free use of SHA-1. Git uses this hash algorithm internally, for example when packaging, and performs some additional rounds in the calculation to ensure data integrity, which is not possible with SHA-1 in some cases. Users who would like to skip this for performance reasons can do so during build make OPENSSL_SHA1_UNSAFE=1 Force. SHA-256 can only be set at the user repository level git init --object-format=sha256 repoSHA-256 has fewer collision problems.

Further innovations: options --remerge diff can now be used with the command range diff To make merge commits visible after rebase. The relatively new Refutable Subsystem is speeded up by separating the convenience API and reusing iterators when accessing contexts.

More details can be found here official announcement and blogs GitHub as well as gitlab,

read this also


(Who)

LEAVE A REPLY

Please enter your comment!
Please enter your name here