Git 2.53 source control release

Git 2.53, a distributed source code management system, is released. Git boasts high performance and provides non-linear development capabilities based on branching and merging. To ensure historical integrity and resilience to retroactive changes, it uses implicit hashing of the entire previous history in each commit, as well as digital signatures of individual tags and commits. Git is licensed under the GPLv2+ license.

Compared to the previous release, the new version includes 466 changes, contributed by 70 developers (21 of whom were new to Git development). Key new features include:

  • The ability to apply the "geometric" repository packing strategy ("git repack --geometric") to partially cloned external repositories running in "promisor" mode (missing objects are downloaded as needed) has been added. When repacking with the "--geometric" option, packfiles with the ".promisor" extension are processed and packed separately. The "geometric" strategy reduces the maintenance time of large monorepositories by selectively repackaging objects and eliminating unnecessary resource-intensive operations, such as merging all packfiles (the geometric progression of packfile sizes is preserved, requiring each subsequent packfile to be at least twice the size of the previous one).
  • The "git fast-import" command now has the "--signed-commits=strip-if-invalid" option for removing digital signatures from imported objects that have become invalid after overwriting part of the repository history. Previously, it was possible to either import or remove all signatures, without distinguishing between valid and invalid ones. The "strip-if-invalid" option allows for the implementation of tools for preserving valid signatures and re-signing objects with expired signatures.
  • The output of the 'git repo structure' command now shows the size of all reachable objects in the repository, broken down by type. The information is now displayed in a human-readable form with units of measurement and shown separately for the actual size and the size occupied on disk, which allows you to estimate the total size of the repository on disk. $ git repo structure | Repository structure | Value | | ——————— | ———- | | * References | | | * Count | 1.78 k | | * Branches | 5 | | * Tags | 1.03 k | | * Remotes | 749 | | * Others | 0 | | | | | * Reachable objects | | | * Count | 421.37 k | | * Commits | 88.03 k | | * Trees | 169.95 k | | * Blobs | 162.40 k | | * Tags | 994 | | * Inflated size | 7.61 GiB | | * Commits | 60.95 MiB | | * Trees | 2.44 GiB | | * Blobs | 5.11 GiB | | * Tags | 731.73 KiB | | * Disk size | 301.50 MiB | | * Commits | 33.57 MiB | | * Trees | 77.92 MiB | | * Blobs | 189.44 MiB | | * Tags | 578.13 KiB |
  • The 'git maintenance' command now has an 'is-needed' subcommand to perform repository maintenance operations only when necessary.
  • The experimental "git replay" command now updates references in a transaction by default, instead of showing where the references should point without updating.
  • The "git blame" command now allows you to choose the difference evaluation algorithm using the "--diff-algorithm=" option. ".
  • The "--all" option has been added to the "git repo info" command.
  • From Git-for-Windows Support for symbolic links has been moved to the platform Windows.

The previous release included a warning about enabling Rust component building by default in Git 2.53. However, Git 2.53 only added some improvements to Rust support (such as the ability to build without GNU sed). However, Rust building is still disabled by default when using Makefiles (requiring the WITH_RUST flag), and is automatically enabled when using Meson if the rustc compiler is present. Git 3.0 intends to include Rust tooling as a mandatory build dependency.

Source: opennet.ru

Buy reliable hosting for sites with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster