git: Update to version 2.51.0

Message ID 20250826184904.6229-13-adolf.belka@ipfire.org
State New
Headers
Series git: Update to version 2.51.0 |

Commit Message

Adolf Belka 26 Aug 2025, 6:48 p.m. UTC
- Update from version 2.50.1 to 2.51.0
- Update of rootfile not required
- Changelog
    2.51.0
	UI, Workflows & Features
	 * Userdiff patterns for the R language have been added.
	 * Documentation for "git send-email" has been updated with a bit more
	   credential helper and OAuth information.
	 * "git cat-file --batch" learns to understand %(objectmode) atom to
	   allow the caller to tell missing objects (due to repository
	   corruption) and submodules (whose commit objects are OK to be
	   missing) apart.
	 * "git diff --no-index dirA dirB" can limit the comparison with
	   pathspec at the end of the command line, just like normal "git
	   diff".
	 * "git subtree" (in contrib/) learned to grok GPG signing its commits.
	 * "git whatchanged" that is longer to type than "git log --raw"
	   which is its modern rough equivalent has outlived its usefulness
	   more than 10 years ago.  Plan to deprecate and remove it.
	 * An interchange format for stash entries is defined, and subcommand
	   of "git stash" to import/export has been added.
	 * "git merge/pull" has been taught the "--compact-summary" option to
	   use the compact-summary format, intead of diffstat, when showing
	   the summary of the incoming changes.
	 * "git imap-send" has been broken for a long time, which has been
	   resurrected and then taught to talk OAuth2.0 etc.
	 * Some error messages from "git imap-send" has been updated.
	 * When "git daemon" sees a signal while attempting to accept() a new
	   client, instead of retrying, it skipped it by mistake, which has
	   been corrected.
	 * The reftable ref backend has matured enough; Git 3.0 will make it
	   the default format in a newly created repositories by default.
	 * "netrc" credential helper has been improved to understand textual
	   service names (like smtp) in addition to the numeric port numbers
	   (like 25).
	 * Lift the limitation to use changed-path filter in "git log" so that
	   it can be used for a pathspec with multiple literal paths.
	 * Clean up the way how signature on commit objects are exported to
	   and imported from fast-import stream.
	 * Remove unsupported, unused, and unsupportable old option from "git
	   log".
	 * Document recently added "git imap-send --list" with an example.
	 * "git pull" learned to pay attention to pull.autostash configuration
	   variable, which overrides rebase/merge.autostash.
	 * "git for-each-ref" learns "--start-after" option to help
	   applications that want to page its output.
	 * "git switch" and "git restore" are declared to be no longer
	   experimental.
	 * "git -c alias.foo=bar foo -h baz" reported "'foo' is aliased to
	   'bar'" and then went on to run "git foo -h baz", which was
	   unexpected.  Tighten the rule so that alias expansion is reported
	   only when "-h" is the sole option.
	Performance, Internal Implementation, Development Support etc.
	 * "git pack-objects" learned to find delta bases from blobs at the
	   same path, using the --path-walk API.
	 * CodingGuidelines update.
	 * Add settings for Solaris 10 & 11.
	 * Meson-based build/test framework now understands TAP output
	   generated by our tests.
	 * "Do not explicitly initialize to zero" rule has been clarified in
	   the CodingGuidelines document.
	 * A test helper "test_seq" function learned the "-f <fmt>" option,
	   which allowed us to simplify a lot of test scripts.
	 * A lot of stale stuff has been removed from the contrib/ hierarchy.
	 * "git push" and "git fetch" are taught to update refs in batches to
	   gain performance.
	 * Some code paths in "git prune" used to ignore the passed-in
	   repository object and used the `the_repository` singleton instance
	   instead, which has been corrected.
	 * Update ".clang-format" and ".editorconfig" to match our style guide
	   a bit better.
	 * "make coccicheck" succeeds even when spatch made suggestions, which
	   has been updated to fail in such a case.
	 * Code clean-up around object access API.
	 * Define .precision to more canned parse-options type to avoid bugs
	   coming from using a variable with a wrong type to capture the
	   parsed values.
	 * Flipping the default hash function to SHA-256 at Git 3.0 boundary
	   is planned.
	 * Declare weather-balloon we raised for "bool" type 18 months ago a
	   success and officially allow using the type in our codebase.
	 * GIT_TEST_INSTALLED was not honored in the recent topic related to
	   SHA256 hashes, which has been corrected.
	 * The pop_most_recent_commit() function can have quite expensive
	   worst case performance characteristics, which has been optimized by
	   using prio-queue data structure.
	 * Move structure definition from unrelated header file to where it
	   belongs.
	 * To help our developers, document what C99 language features are
	   being considered for adoption, in addition to what past experiments
	   have already decided.
	 * The reftable unit tests are now ported to the "clar" unit testing
	   framework.
	 * Redefine where the multi-pack-index sits in the object subsystem,
	   which recently was restructured to allow multiple backends that
	   support a single object source that belongs to one repository.  A
	   MIDX does span multiple "object sources".
	 * Reduce implicit assumption and dependence on the_repository in the
	   object-file subsystem.
	Bug Fixes
	 * A memory-leak in an error code path has been plugged.
	   (merge 7082da85cb ly/commit-graph-graph-write-leakfix later to maint).
	 * A memory-leak in an error code path has been plugged.
	   (merge aedebdb6b9 ly/fetch-pack-leakfix later to maint).
	 * Some leftover references to documentation source files that no
	   longer exist, due to recent ".txt" -> ".adoc" renaming, have been
	   corrected.
	   (merge 3717a5775a jw/doc-txt-to-adoc-refs later to maint).
	 * "git stash -p <pathspec>" improvements.
	   (merge 468817bab2 pw/stash-p-pathspec-fixes later to maint).
	 * "git send-email" incremented its internal message counter when a
	   message was edited, which made logic that treats the first message
	   specially misbehave, which has been corrected.
	   (merge 2cc27b3501 ag/send-email-edit-threading-fix later to maint).
	 * "git stash" recorded a wrong branch name when submodules are
	   present in the current checkout, which has been corrected.
	   (merge ffb36c64f2 kj/stash-onbranch-submodule-fix later to maint).
	 * When asking to apply mailmap to both author and committer field
	   while showing a commit object, the field that appears later was not
	   correctly parsed and replaced, which has been corrected.
	   (merge abf94a283f sa/multi-mailmap-fix later to maint).
	 * "git maintenance" lacked the care "git gc" had to avoid holding
	   onto the repository lock for too long during packing refs, which
	   has been remedied.
	   (merge 1b5074e614 ps/maintenance-ref-lock later to maint).
	 * Avoid regexp_constraint and instead use comparison_constraint when
	   listing functions to exclude from application of coccinelle rules,
	   as spatch can be built with different regexp engine X-<.
	   (merge f2ad545813 jc/cocci-avoid-regexp-constraint later to maint).
	 * Updating submodules from the upstream did not work well when
	   submodule's HEAD is detached, which has been improved.
	   (merge ca62f524c1 jk/submodule-remote-lookup-cleanup later to maint).
	 * Remove unnecessary check from "git daemon" code.
	   (merge 0c856224d2 cb/daemon-fd-check-fix later to maint).
	 * Use of sysctl() system call to learn the total RAM size used on
	   BSDs has been corrected.
	   (merge 781c1cf571 cb/total-ram-bsd-fix later to maint).
	 * Drop FreeBSD 4 support and declare that we support only FreeBSD 12
	   or later, which has memmem() supported.
	   (merge 0392f976a7 bs/config-mak-freebsd later to maint).
	 * A diff-filter with negative-only specification like "git log
	   --diff-filter=d" did not trigger correctly, which has been fixed.
	   (merge 375ac087c5 jk/all-negative-diff-filter-fix later to maint).
	 * A failure to open the index file for writing due to conflicting
	   access did not state what went wrong, which has been corrected.
	   (merge 9455397a5c hy/read-cache-lock-error-fix later to maint).
	 * Tempfile removal fix in the codepath to sign commits with SSH keys.
	   (merge 4498127b04 re/ssh-sign-buffer-fix later to maint).
	 * Code and test clean-up around string-list API.
	   (merge 6e5b26c3ff sj/string-list later to maint).
	 * "git apply -N" should start from the current index and register
	   only new files, but it instead started from an empty index, which
	   has been corrected.
	   (merge 2b49d97fcb rp/apply-intent-to-add-fix later to maint).
	 * Leakfix with a new and a bit invasive test on pack-bitmap files.
	   (merge bfd5522e98 ly/load-bitmap-leakfix later to maint).
	 * "git fetch --prune" used to be O(n^2) expensive when there are many
	   refs, which has been corrected.
	   (merge 87d8d8c5d0 ph/fetch-prune-optim later to maint).
	 * When a ref creation at refs/heads/foo/bar fails, the files backend
	   now removes refs/heads/foo/ if the directory is otherwise not used.
	   (merge a3a7f20516 ps/refs-files-remove-empty-parent later to maint).
	 * "pack-objects" has been taught to avoid pointing into objects in
	   cruft packs from midx.
	 * "git remote" now detects remote names that overlap with each other
	   (e.g., remote nickname "outer" and "outer/inner" are used at the
	   same time), as it will lead to overlapping remote-tracking
	   branches.
	   (merge a5a727c448 jk/remote-avoid-overlapping-names later to maint).
	 * The gpg.program configuration variable, which names a pathname to
	   the (custom) GPG compatible program, can now be spelled with ~tilde
	   expansion.
	   (merge 7d275cd5c0 jb/gpg-program-variable-is-a-pathname later to maint).
	 * Our <sane-ctype.h> header file relied on that the system-supplied
	   <ctype.h> header is not later included, which would override our
	   macro definitions, but "amazon linux" broke this assumption.  Fix
	   this by preemptively including <ctype.h> near the beginning of
	   <sane-ctype.h> ourselves.
	   (merge 9d3b33125f ps/sane-ctype-workaround later to maint).
	 * Clean-up compat/bswap.h mess.
	   (merge f4ac32c03a ss/compat-bswap-revamp later to maint).
	 * Meson-based build did not handle libexecdir setting correctly,
	   which has been corrected.
	   (merge 056dbe8612 rj/meson-libexecdir-fix later to maint).
	 * Document that we do not require "real" name when signing your
	   patches off.
	   (merge 1f0fed312a bc/contribution-under-non-real-names later to maint).
	 * "git commit" that concludes a conflicted merge failed to notice and remove
	   existing comment added automatically (like "# Conflicts:") when the
	   core.commentstring is set to 'auto'.
	   (merge 92b7c7c9f5 ac/auto-comment-char-fix later to maint).
	 * "git rebase -i" with bogus rebase.instructionFormat configuration
	   failed to produce the todo file after recording the state files,
	   leading to confused "git status"; this has been corrected.
	   (merge ade14bffd7 ow/rebase-verify-insn-fmt-before-initializing-state later to maint).
	 * A few file descriptors left unclosed upon program completion in a
	   few test helper programs are now closed.
	   (merge 0f1b33815b hl/test-helper-fd-close later to maint).
	 * Interactive prompt code did not correctly strip CRLF from the end
	   of line on Windows.
	   (merge 711a20827b js/prompt-crlf-fix later to maint).
	 * The config API had a set of convenience wrapper functions that
	   implicitly use the_repository instance; they have been removed and
	   inlined at the calling sites.
	 * "git add/etc -p" now honor the diff.context configuration variable,
	   and also they learn to honor the -U<n> command-line option.
	   (merge 2b3ae04011 lm/add-p-context later to maint).
	 * The case where a new submodule takes a path where there used to be a
	   completely different subproject is now dealt with a bit better than
	   before.
	   (merge 5ed8c5b465 kj/renamed-submodule later to maint).
	 * The deflate codepath in "git archive --format=zip" had a
	   longstanding bug coming from misuse of zlib API, which has been
	   corrected.
	 * Other code cleanup, docfix, build fix, etc.
	   (merge b257adb571 lo/my-first-ow-doc-update later to maint).
	   (merge 8b34b6a220 ly/sequencer-update-squash-is-fixup-only later to maint).
	   (merge 5dceb8bd05 ly/do-not-localize-bug-messages later to maint).
	   (merge 61372dd613 ly/commit-buffer-reencode-leakfix later to maint).
	   (merge 81cd1eef7d ly/pack-bitmap-root-leakfix later to maint).
	   (merge bfc9f9cc64 ly/submodule-update-failure-leakfix later to maint).
	   (merge 65dff89c6b ma/doc-diff-cc-headers later to maint).
	   (merge efb61591ee jm/bundle-uri-debug-output-to-fp later to maint).
	   (merge a3d278bb64 ly/prepare-show-merge-leakfix later to maint).
	   (merge 1fde1c5daf ac/preload-index-wo-the-repository later to maint).
	   (merge 855cfc65ae rm/t2400-modernize later to maint).
	   (merge 2939494284 ly/run-builtin-use-passed-in-repo later to maint).
	   (merge ff73f375bb jg/mailinfo-leakfix later to maint).
	   (merge 996f14c02b jj/doc-branch-markup-fix later to maint).
	   (merge 1e77de1864 cb/ci-freebsd-update-to-14.3 later to maint).
	   (merge b0e9d25865 jk/fix-leak-send-pack later to maint).
	   (merge f3a9558c8c bs/remote-helpers-doc-markup-fix later to maint).
	   (merge c4e9775c60 kh/doc-config-subcommands later to maint).
	   (merge de404249ab ps/perlless-test-fixes later to maint).
	   (merge 953049eed8 ts/merge-orig-head-doc-fix later to maint).
	   (merge 0c83bbc704 rj/freebsd-sysinfo-build-fix later to maint).
	   (merge ad7780b38f ps/doc-pack-refs-auto-with-files-backend-fix later to maint).
	   (merge f4fa8a3687 rh/doc-glob-pathspec-fix later to maint).
	   (merge b27be108c8 ja/doc-git-log-markup later to maint).
	   (merge 14d7583beb pw/config-kvi-remove-path later to maint).
	   (merge f31abb421d jc/do-not-scan-argv-without-parsing later to maint).
	   (merge 26552cb62a jk/unleak-reflog-expire-entry later to maint).
	   (merge 339d95fda9 jc/ci-print-test-failures-fix later to maint).
	   (merge 8c3add51a8 cb/meson-avoid-broken-macos-pcre2 later to maint).
	   (merge 5247da07b8 ps/meson-clar-decls-fix later to maint).
	   (merge f3ef347bb2 ch/t7450-recursive-clone-test-fix later to maint).
	   (merge 4ac3302a1a jc/doc-release-vs-clear later to maint).
	   (merge 3bdd897413 ms/meson-with-ancient-git-wo-ls-files-dedup later to maint).
	   (merge cca758d324 kh/doc-fast-import-historical later to maint).
	   (merge 9b0781196a jc/test-hashmap-is-still-here later to maint).
	   (merge 1bad05bacc jk/revert-squelch-compiler-warning later to maint).
	   (merge 3a7e783d9c dl/squelch-maybe-uninitialized later to maint).

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 lfs/git | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
  

Patch

diff --git a/lfs/git b/lfs/git
index abdfe1a38..a0d655ec9 100644
--- a/lfs/git
+++ b/lfs/git
@@ -24,7 +24,7 @@ 
 
 include Config
 
-VER        = 2.50.1
+VER        = 2.51.0
 SUMMARY    = Fast, scalable, distributed revision control system
 
 THISAPP    = git-$(VER)
@@ -33,7 +33,7 @@  DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = git
-PAK_VER    = 39
+PAK_VER    = 40
 
 DEPS       = perl-Authen-SASL perl-Net-SMTP-SSL
 
@@ -47,7 +47,7 @@  objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = 4e5e3168d7dd88cc508920dd773df2ec6b568c70e8068a18010f01241ebc9e9140ca13a9820e14f0d4695e966c436aef305a81e61cc66007b756b75f48dd5d16
+$(DL_FILE)_BLAKE2 = b385ee2c7aed601435952c983045055c970cdda607d83ae8ba904ee10e5e76bca097ccbe0f22e4e1467c6d606c9eecb952ffb382f351124325b6fd5d87083596
 
 install : $(TARGET)