From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4bQ9V05kdHz340v for ; Sun, 22 Jun 2025 12:28:08 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) client-signature RSA-PSS (4096 bits)) (Client CN "mail01.haj.ipfire.org", Issuer "R10" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4bQ9Tx24s4z330p for ; Sun, 22 Jun 2025 12:28:05 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4bQ9Tx043dz2Nw; Sun, 22 Jun 2025 12:28:04 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1750595285; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OxcEZLpSmv1ETdpd2TjaWNTVMMCWNFjkoTYNb4H7tPw=; b=RWDWqxhbwiASLlfYMNQ/vGwpyuul2Q+hASpEcQ1QIMxuQgkA9ategQfgsH30cp1CDIY8dz oTbprf7XlxQ4tMDg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1750595285; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OxcEZLpSmv1ETdpd2TjaWNTVMMCWNFjkoTYNb4H7tPw=; b=qsCRg7mFj9VHBOHCQOLk5i14BOSXVeTPU2fs8F53+q45HRM6zXIzK26wuKaAJmI03O56dE ZAimcXlN3T5cMK2PqrQYQoet5f/PxmYa+uys5Oap0Kfz3Tt82k8wJw4DcFcOfCcjFRxUjA vVcd/3q5cL6956wUJC4icSCgEnloGdcsoth39kTp9uaJAGX93DPWGPyXZPR2iFp/jRMKPd D1A6U4xAR67VvgBF8PNX9MXET8U95VHDdnb7NeZDWoEbukaGalmZu+iAk4s7Z2B4RwMESL 7JeCC3rTkyaACWM7KhUTrGaalZxb7wbcF+ETThgyFnt828uD46iCeNqo59LI0g== From: Adolf Belka To: development@lists.ipfire.org Cc: Adolf Belka Subject: [PATCH] git: Update to version 2.50.0 Date: Sun, 22 Jun 2025 14:27:59 +0200 Message-ID: <20250622122801.3375973-2-adolf.belka@ipfire.org> In-Reply-To: <20250622122801.3375973-1-adolf.belka@ipfire.org> References: <20250622122801.3375973-1-adolf.belka@ipfire.org> Precedence: list List-Id: List-Subscribe: , List-Unsubscribe: , List-Post: List-Help: Sender: Mail-Followup-To: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit - Update from version 2.49.0 to 2.50.0 - Update of rootfile - Changelog 2.50.0 UI, Workflows & Features * A post-processing filter for "diff --raw" output has been introduced. * "git repack" learned "--combine-cruft-below-size" option that controls how cruft-packs are combined. * TCP keepalive behaviour on http transports can now be configured by calling cURL library. * Incrementally updating multi-pack index files. * "git reflog" learns "drop" subcommand, that discards the entire reflog data for a ref. * A new userdiff driver for ".ini" format configuration files has been added. * The job to coalesce loose objects into packfiles in "git maintenance" now has configurable batch size. * "git clone" still gave the message about the default branch name; this message has been turned into an advice message that can be turned off. * "git rev-list" learns machine-parsable output format that delimits each field with NUL. * "git maintenance" learns a new task to expire reflog entries. * Auth-related (and unrelated) error handling in send-email has been made more robust. * Updating multiple references have only been possible in an all-or-nothing fashion with transactions, but it can be more efficient to batch multiple updates even when some of them are allowed to fail in a best-effort manner. A new "best effort batches of updates" mode has been introduced. * "git help --build-options" reports SHA-1 and SHA-256 backends used in the build. * "git cat-file --batch" and friends learned to allow "--filter=" to omit certain objects, just like the transport layer does. * "git blame --porcelain" mode now talks about unblamable lines and lines that are blamed to an ignored commit. * The build procedure installs bash (but not zsh) completion script. * send-email has been updated to work better with Outlook's SMTP server. * "git diff --minimal" used to give non-minimal output when its optimization kicked in, which has been disabled. * "git index-pack --fix-thin" used to abort to prevent a cycle in delta chains from forming in a corner case even when there is no such cycle. * Make repository clean-up tasks that "gc" can do available to "git maintenance" front-end. * Bundle-URI feature did not use refs recorded in the bundle other than normal branches as anchoring points to optimize the follow-up fetch during "git clone"; now it is told to utilize all. * The `send-email` documentation has been updated with OAuth2.0 related examples. * Two of the "scalar" subcommands that add a repository that hasn't been under "scalar"'s control are taught an option not to enable the scheduled maintenance on it. * The userdiff pattern for shell scripts has been updated to cope with more bash-isms. * "git merge-tree" learned an option to see if it resolves cleanly without actually creating a result. * The commit title in the "rebase -i" todo file are now prefixed with '#', just like a merge commit being replayed. * "git receive-pack" optionally learns not to care about connectivity check, which can be useful when the repository arranges to ensure connectivity by some other means. * "git notes --help" documentation updates. Performance, Internal Implementation, Development Support etc. * A handful of built-in command implementations have been rewritten to use the repository instance supplied by git.c:run_builtin(), its caller. * "git fsck" becomes more careful when checking the refs. * "git fast-export | git fast-import" learns to deal with commit and tag objects with embedded signatures a bit better. This is highly experimental and the format of the data stream may change in the future without compatibility guarantees. * The code paths to check whether a refname X is available (by seeing if another ref X/Y exists, etc.) have been optimized. * First step of deprecating and removing merge-recursive. * In protocol v2 where the refs advertisement is constrained, we try to tell the server side not to limit the advertisement when there is no specific need to, which has been the source of confusion and recent bugs. Revamp the logic to simplify. * Update meson based build procedure for breaking changes support. * Enable -Wunreachable-code for developer builds. * Ensure what we write in assert() does not have side effects, and introduce ASSERT() macro to mark those that cannot be mechanically checked for lack of side effects. * Give more meaningful error return values from block writer layer of the reftable ref-API backend. * Make the code in reftable library less reliant on the service routines it used to borrow from Git proper, to make it easier to use by external users of the library. * CI update. * The object layer has been updated to take an explicit repository instance as a parameter in more code paths. * Some warnings from "-Wsign-compare" for builtin/rm.c have been squelched. * A few traditional unit tests have been rewritten to use the clar framework. * Some warnings from "-Wsign-compare" for pathspec.c have been squelched. * "make test" used to have a hard dependency on (basic) Perl; tests have been rewritten help environment with NO_PERL test the build as much as possible. * Remove remnants of the recursive merge strategy backend, which was superseded by the ort merge strategy. * Optimize the code to dedup references recorded in a bundle file. * Update parse-options API to catch mistakes to pass address of an integral variable of a wrong type/size. * Since a call to repo_config() can be called with repo set to NULL these days, a command that is marked as RUN_SETUP in the builtin command table does not have to check repo with NULL before making the call. * Overhaul of the reftable API. * Reduce requirement for Perl in our documentation build and a few scripts. * The build procedure based on Meson learned to drive the benchmarking tests. * Code clean-up for meson-based build infrastructure. * Add an equivalent to "make hdr-check" target to meson based builds. * Further code clean-up in the object-store layer. * Build performance fix. * Teach "git send-email" to also consult `hostname -f` for mail domain to compute the identity given to SMTP servers. * The dependency on the_repository variable has been reduced from the code paths in "git replay". * Support to create a loose object file with unknown object type has been dropped. * The code path to access the "packed-refs" file while "fsck" is taught to mmap the file, instead of reading the whole file into memory. * Assorted fixes for issues found with CodeQL. * Remove the leftover hints to the test framework to mark tests that do not pass the leak checker tests, as they should no longer be needed. * When a stale .midx file refers to .pack files that no longer exist, we ended up checking for these non-existent files repeatedly, which has been optimized by memoizing the non-existence. * Build settings have been improved for BSD based systems. * Newer version of libcURL detected curl_easy_setopt() calls we made with platform-natural "int" when we should have used "long", which all have been corrected. * Tests that compare $HOME and $(pwd), which should be the same directory unless the tests chdir's around, would fail when the user enters the test directory via symbolic links, which has been corrected. Bugfixes * The refname exclusion logic in the packed-ref backend has been broken for some time, which confused upload-pack to advertise different set of refs. This has been corrected. (merge 10e8a9352b tb/refs-exclude-fixes later to maint). * The merge-recursive and merge-ort machinery crashed in corner cases when certain renames are involved. (merge 3adba40858 en/merge-process-renames-crash-fix later to maint). * Certain "cruft" objects would have never been refreshed when there are multiple cruft packs in the repository, which has been corrected. (merge 08f612ba70 tb/multi-cruft-pack-refresh-fix later to maint). * The xdiff code on 32-bit platform misbehaved when an insanely large context size is given, which has been corrected. (merge d39e28e68c rs/xdiff-context-length-fix later to maint). * GitHub Actions CI switched on a CI/CD variable that does not exist when choosing what packages to install etc., which has been corrected. (merge ee89f7c79d kn/ci-meson-check-build-docs-fix later to maint). * Using "git name-rev --stdin" as an example, improve the framework to prepare tests to pretend to be in the future where the breaking changes have already happened. (merge de3dec1187 jc/name-rev-stdin later to maint). * An earlier code refactoring of the hash machinery missed a few required calls to init_fn. (merge d39f04b638 jh/hash-init-fixes later to maint). * A documentation page was left out from formatting and installation, which has been corrected. (merge ae85116f18 pw/build-breaking-changes-doc later to maint). * The bash command line completion script (in contrib/) has been updated to cope with remote repository nicknames with slashes in them. (merge 778d2f1760 dm/completion-remote-names-fix later to maint). * "Dubious ownership" checks on Windows has been tightened up. (merge 5bb88e89ef js/mingw-admins-are-special later to maint). * Layout configuration in vimdiff backend didn't work as advertised, which has been corrected. (merge 93bab2d04b fr/vimdiff-layout-fixes later to maint). * Fix our use of zlib corner cases. (merge 1cb2f293f5 jk/zlib-inflate-fixes later to maint). * Fix lockfile contention in reftable code on Windows. (merge 0a3dceabf1 ps/mingw-creat-excl-fix later to maint). * "git-merge-file" documentation source, which has lines that look like conflict markers, lacked custom conflict marker size defined, which has been corrected.. (merge d3b5832381 pw/custom-conflict-marker-size-for-merge-related-docs later to maint). * Squelch false-positive from sparse. (merge da87b58014 dd/sparse-glibc-workaround later to maint). * Adjust to the deprecation of use of Ubuntu 20.04 GitHub Actions CI. (merge 832d9f6d0b js/ci-github-update-ubuntu later to maint). * Work around CI breakage due to fedora base image getting updated. (merge 8a471a663b js/ci-fedora-gawk later to maint). * A ref transaction corner case fix. (merge b9fadeead7 jt/ref-transaction-abort-fix later to maint). * Random build fixes. (merge 85e1d6819f ps/misc-build-fixes later to maint). * "git fetch []" with only the configured fetch refspec should be the only thing to update refs/remotes//HEAD, but the code was overly eager to do so in other cases. * Incorrect sorting of refs with bytes with high-bit set on platforms with signed char led to a BUG, which has been corrected. * "make perf" fixes. (merge 1665f12fa0 pb/perf-test-fixes later to maint). * Doc mark-up updates. (merge 5a5565ec44 ja/doc-reset-mv-rm-markup-updates later to maint). * Work around false positive from CodeQL checker. (merge 0f558141ed js/range-check-codeql-workaround later to maint). * "git log --{left,right}-only A...B", when A and B does not share any common ancestor, now behaves as expected. (merge e7ef4be7c2 mh/left-right-limited later to maint). * Document the convention to disable hooks altogether by setting the hooksPath configuration variable to /dev/null. (merge 1b2eee94f1 ds/doc-disable-hooks later to maint). * Make sure outage of third-party sites that supply P4, Git-LFS, and JGit we use for testing would not prevent our CI jobs from running at all. * Various build tweaks, including CSPRNG selection on some platforms. (merge cdda67de03 rj/build-tweaks later to maint). * Developer support fix.. (merge 32b74b9809 js/git-perf-env-override later to maint). * Fix for scheduled maintenance tasks on platforms using launchctl. (merge eb2d7beb0e jh/gc-launchctl-schedule-fix later to maint). * Update to arm64 Windows port (part of which had been reverted as it broke builds for existing platforms, which may need to be redone in future releases). * hashmap API clean-up to ensure hashmap_clear() leaves a cleared map in a reusable state. (merge 9481877de3 en/hashmap-clear-fix later to maint). * "git mv a a/b dst" would ask to move the directory 'a' itself, as well as its contents, in a single destination directory, which is a contradicting request that is impossible to satisfy. This case is now detected and the command errors out. (merge 974f0d4664 ps/mv-contradiction-fix later to maint). * Further refinement on CI messages when an optional external software is unavailable (e.g. due to third-party service outage). (merge 956acbefbd jc/ci-skip-unavailable-external-software later to maint). * Test result aggregation did not work in Meson based CI jobs. (merge bd38ed5be1 ps/ci-test-aggreg-fix-for-meson later to maint). * Code clean-up around stale CI elements and building with Visual Studio. (merge a7b060f67f js/ci-buildsystems-cleanup later to maint). * "git add 'f?o'" did not add 'foo' if 'f?o', an unusual pathname, also existed on the working tree, which has been corrected. (merge ec727e189c kj/glob-path-with-special-char later to maint). * The fallback implementation of open_nofollow() depended on open("symlink", O_NOFOLLOW) to set errno to ELOOP, but a few BSD derived systems use different errno, which has been worked around. (merge f47bcc3413 cf/wrapper-bsd-eloop later to maint). * Use-after-free fix in the sequencer. (merge 5dbaec628d pw/sequencer-reflog-use-after-free later to maint). * win+Meson CI pipeline, unlike other pipelines for Windows, used to build artifacts in developer mode, which has been changed to build them in release mode for consistency. (merge 184abdcf05 js/ci-build-win-in-release-mode later to maint). * CI settings at GitLab has been updated to run MSVC based Meson job automatically (as opposed to be done only upon manual request). (merge 6389579b2f ps/ci-gitlab-enable-msvc-meson-job later to maint). * "git apply" and "git add -i/-p" code paths no longer unnecessarily expand sparse-index while working. (merge ecf9ba20e3 ds/sparse-apply-add-p later to maint). * Avoid adding directory path to a sparse-index tree entries to the name-hash, since they would bloat the hashtable without anybody querying for them. This was done already for a single threaded part of the code, but now the multi-threaded code also does the same. (merge 2e60aabc75 am/sparse-index-name-hash-fix later to maint). * Recent versions of Perl started warning against "! A =~ /pattern/" which does not negate the result of the matching. As it turns out that the problematic function is not even called, it was removed. (merge 67cae845d2 op/cvsserver-perl-warning later to maint). * "git apply --index/--cached" when applying a deletion patch in reverse failed to give the mode bits of the path "removed" by the patch to the file it creates, which has been corrected. * "git verify-refs" errored out in a repository in which linked worktrees were prepared with Git 2.43 or lower. (merge d5b3c38b8a sj/ref-contents-check-fix later to maint). * Update total_ram() function on BSD variants. * Update online_cpus() function on BSD variants. * Revert a botched bswap.h change that broke ntohll() functions on big-endian systems with __builtin_bswap32/64(). * Fixes for GitHub Actions Coverity job. (merge 3cc4fc1ebd js/github-ci-win-coverity-fix later to maint). * Other code cleanup, docfix, build fix, etc. (merge 227c4f33a0 ja/doc-block-delimiter-markup-fix later to maint). (merge 2bfd3b3685 ab/decorate-code-cleanup later to maint). (merge 5337daddc7 am/dir-dedup-decl-of-repository later to maint). (merge 554051d691 en/diff-rename-follow-fix later to maint). (merge a18c18b470 en/random-cleanups later to maint). (merge 5af21c9acb hj/doc-rev-list-ancestry-fix later to maint). (merge 26d76ca284 aj/doc-restore-p-update later to maint). (merge 2c0dcb9754 cc/lop-remote later to maint). (merge 7b399322a2 ja/doc-branch-markup later to maint). (merge ee434e1807 pw/doc-pack-refs-markup-fix later to maint). (merge c000918eb7 tb/bitamp-typofix later to maint). (merge fa8cd29676 js/imap-send-peer-cert-verify later to maint). (merge 98b423bc1c rs/clear-commit-marks-simplify later to maint). (merge 133d065dd6 ta/bulk-checkin-signed-compare-false-warning-fix later to maint). (merge d2827dc31e es/meson-build-skip-coccinelle later to maint). (merge ee8edb7156 dk/vimdiff-doc-fix later to maint). (merge 107d889303 md/t1403-path-is-file later to maint). (merge abd4192b07 js/comma-semicolon-confusion later to maint). (merge 27b7264206 ab/environment-clean-header later to maint). (merge ff4a749354 as/typofix-in-env-h-header later to maint). (merge 86eef3541e az/tighten-string-array-constness later to maint). (merge 25292c301d lo/remove-log-reencode-from-rev-info later to maint). (merge 1aa50636fd jk/p5332-testfix later to maint). (merge 42cf4ac552 ps/ci-resurrect-p4-on-github later to maint). (merge 104add8368 js/diff-codeql-false-positive-workaround later to maint). (merge f62977b93c en/get-tree-entry-doc later to maint). (merge e5dd0a05ed ly/am-split-stgit-leakfix later to maint). (merge bac220e154 rc/t1001-test-path-is-file later to maint). (merge 91db6c735d ly/reftable-writer-leakfix later to maint). (merge 20e4e9ad0b jc/doc-synopsis-option-markup later to maint). (merge cddcee7f64 es/meson-configure-build-options-fix later to maint). (merge cea9f55f00 wk/sparse-checkout-doc-fix later to maint). Signed-off-by: Adolf Belka --- config/rootfiles/packages/git | 4 ++++ lfs/git | 16 ++++++++-------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/config/rootfiles/packages/git b/config/rootfiles/packages/git index a3a3bf48f..a4e2ebfc8 100644 --- a/config/rootfiles/packages/git +++ b/config/rootfiles/packages/git @@ -52,6 +52,7 @@ usr/libexec/git-core/git-diagnose usr/libexec/git-core/git-diff usr/libexec/git-core/git-diff-files usr/libexec/git-core/git-diff-index +usr/libexec/git-core/git-diff-pairs usr/libexec/git-core/git-diff-tree usr/libexec/git-core/git-difftool usr/libexec/git-core/git-difftool--helper @@ -208,6 +209,7 @@ usr/libexec/git-core/mergetools/vscode usr/libexec/git-core/mergetools/winmerge usr/libexec/git-core/mergetools/xxdiff usr/libexec/git-core/scalar +usr/share/bash-completion/completions/git #usr/share/git-core #usr/share/git-core/templates usr/share/git-core/templates/description @@ -303,6 +305,7 @@ usr/share/git-core/templates/info/exclude #usr/share/gitk/lib/msgs/pt_pt.msg #usr/share/gitk/lib/msgs/ru.msg #usr/share/gitk/lib/msgs/sv.msg +#usr/share/gitk/lib/msgs/ta.msg #usr/share/gitk/lib/msgs/vi.msg #usr/share/gitk/lib/msgs/zh_cn.msg #usr/share/gitweb @@ -318,6 +321,7 @@ usr/share/git-core/templates/info/exclude #usr/share/locale/el/LC_MESSAGES/git.mo #usr/share/locale/es/LC_MESSAGES/git.mo #usr/share/locale/fr/LC_MESSAGES/git.mo +#usr/share/locale/ga/LC_MESSAGES/git.mo #usr/share/locale/id/LC_MESSAGES/git.mo #usr/share/locale/is/LC_MESSAGES/git.mo #usr/share/locale/it/LC_MESSAGES/git.mo diff --git a/lfs/git b/lfs/git index d2eb9da83..d84c92892 100644 --- a/lfs/git +++ b/lfs/git @@ -24,7 +24,7 @@ include Config -VER = 2.49.0 +VER = 2.50.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 = 37 +PAK_VER = 38 DEPS = perl-Authen-SASL perl-Net-SMTP-SSL @@ -47,7 +47,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_BLAKE2 = c9a58cb4bcbc33d3c6ede2ce6e6131af3998669419c8d8e4317c52ee14ae4bfcdd209780c6dda31cd772bdb703096729de17f21579bf7f0bb830bc6c9e1d7ffd +$(DL_FILE)_BLAKE2 = 2ee60be2d0e749e898016f44107473d6e4dc30f70c73a94b3433f5a479a5a8989d000ca4084fabd32a7d0ace0914136c5c023bd72946ef7003affd535a98b5ee install : $(TARGET) @@ -81,11 +81,11 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) cd $(DIR_APP) && ./configure \ - --with-gitconfig=/etc/gitconfig \ - --prefix=/usr \ - --with-libpcre \ - --with-curl \ - --with-expat + --with-gitconfig=/etc/gitconfig \ + --prefix=/usr \ + --with-libpcre \ + --with-curl \ + --with-expat cd $(DIR_APP) && make $(MAKETUNING) cd $(DIR_APP) && make install @rm -rf $(DIR_APP) -- 2.50.0