Release of the Git source control system 2.32

After three months of development, the release of the distributed version control system Git 2.32 has been published. Git is one of the most popular, reliable, and high-performance version control systems, providing flexible means for nonlinear development based on branching and merging. To ensure the integrity of the history and resistance to 'backdating' changes, implicit hashing of the entire previous history is used in each commit; it's also possible to authenticate individual tags and commits with developers' digital signatures.

Compared to the previous release, the new version includes 617 changes made with the participation of 100 developers, 35 of whom contributed for the first time. Key innovations include:

  • The command 'git commit' has added the option '--trailer [=]', which simplifies attaching structured information (trailer) in key/value format to the commit, which can then be processed by the 'interpret-trailers' command.
  • Instead of the GIT_CONFIG_NOSYSTEM mechanism used to prevent reading from the system-wide configuration file, the GIT_CONFIG_SYSTEM mechanism has been proposed, allowing explicit specification of which file to load global settings from, along with the GIT_CONFIG_GLOBAL parameter for overriding user-specific settings in $HOME/.gitconfig. Assigning an empty value to the GIT_CONFIG_SYSTEM variable changes the behavior to be equivalent to GIT_CONFIG_NOSYSTEM.
  • When using the second version of the Git communication protocol, during 'git push', the determination of the common ancestor on the receiving side has been implemented, allowing the efficiency of 'git push' to match that of 'git fetch' and eliminating the download of unnecessary objects.
  • A simple IPC interface has been added, allowing the creation of services such as fsmonitor.
  • The handling of '.gitattributes', '.gitignore', and '.mailmap' files has been stopped if they are symbolic links.
  • Support for caching the password successfully used to unlock the certificate has been added for HTTP transport.
  • The 'git stash show' command now allows displaying the untracked part of the stash of temporarily removed files.
  • A more advanced repository repacking strategy has been proposed by the team using "git repack", which reduces resource consumption during repacking.
  • An extended version of the "--fixup" option (creating commits for "rebase --autosquash") has been implemented in the "git commit" command — "--fixup=(reword|amend):", providing the choice to modify either just the log message or both the message and content.
  • The setting core.hooksPath has been accounted for in the "git send-email" command.
  • In "git format-patch -v", non-integer counters are now allowed.
  • The "git clone" command has added the "--reject-shallow" option, which prohibits cloning from shallow repositories (without full history).
  • The "gitweb" program has introduced an email hiding mode that replaces email-like strings in the output.
  • The logic for handling the "git apply --3way" command has been changed; it now first attempts the three-way merge algorithm, and only in case of failure or conflict does it revert to regular patch application (previously it was the other way around).
  • The "git apply" command now allows simultaneous specification of the "--3way" and "--cached" options.
  • Templates for the language "Scheme" have been added in Userdiff.
  • An option "--diff-merges=" and a setting log.diffMerges for selecting the default mode have been added to the "git log" command.
  • The "git add" and "git rm" commands have added additional protection against data modification in paths that are outside the scope of sparse checkout operations.
  • An option "--filter=object:type=" has been added to the "git rev-list" command to exclude a certain type of objects from the pack file generated by the pack-objects command.
  • In "git pack-objects", negative values are now prohibited in options that accept numeric values, such as "--window" and "--depth".

Source: opennet.ru

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