The latest maintenance release Git v2.42.1 is now available at the usual places. There is nothing exciting to see here. Relative to Git 2.42, this release contains the fixes that have already been merged to the 'master' branch of the development towards Git 2.43 that has been tagged as Git 2.43.0-rc0. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/ The following public repositories all have a copy of the 'v2.42.1' tag and the 'maint' branch that the tag points at: url = https://git.kernel.org/pub/scm/git/git url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = https://github.com/gitster/git ---------------------------------------------------------------- Git 2.42.1 Release Notes ======================== There is nothing exciting to see here. Relative to Git 2.42, this release contains the fixes that have already been merged to the 'master' branch of the development towards Git 2.43 that has been tagged as Git 2.43.0-rc0. Fixes since Git 2.42.0 ---------------------- * Tests that are known to pass with LSan are now marked as such. * Flaky "git p4" tests, as well as "git svn" tests, are now skipped in the (rather expensive) sanitizer CI job. * Tests with LSan from time to time seem to emit harmless message that makes our tests unnecessarily flaky; we work it around by filtering the uninteresting output. * GitHub CI workflow has learned to trigger Coverity check. * Overly long label names used in the sequencer machinery are now chopped to fit under filesystem limitation. * Scalar updates. * Tweak GitHub Actions CI so that pushing the same commit to multiple branch tips at the same time will not waste building and testing the same thing twice. * The commit-graph verification code that detects mixture of zero and non-zero generation numbers has been updated. * "git diff -w --exit-code" with various options did not work correctly, which is being addressed. * transfer.unpackLimit ought to be used as a fallback, but overrode fetch.unpackLimit and receive.unpackLimit instead. * The use of API between two calls to require_clean_work_tree() from the sequencer code has been cleaned up for consistency. * "git diff --no-such-option" and other corner cases around the exit status of the "diff" command has been corrected. * "git for-each-ref --sort='contents:size'" sorts the refs according to size numerically, giving a ref that points at a blob twelve-byte (12) long before showing a blob hundred-byte (100) long. * Various fixes to the behavior of "rebase -i" when the command got interrupted by conflicting changes. * References from description of the `--patch` option in various manual pages have been simplified and improved. * "git grep -e A --no-or -e B" is accepted, even though the negation of "or" did not mean anything, which has been tightened. * The completion script (in contrib/) has been taught to treat the "-t" option to "git checkout" and "git switch" just like the "--track" option, to complete remote-tracking branches. * "git diff --no-index -R <(one) <(two)" did not work correctly, which has been corrected. * Update "git maintenance" timers' implementation based on systemd timers to work with WSL. * "git diff --cached" codepath did not fill the necessary stat information for a file when fsmonitor knows it is clean and ended up behaving as if it is not clean, which has been corrected. * Clarify how "alias.foo = : git cmd ; aliased-command-string" should be spelled with necessary whitespaces around punctuation marks to work. * HTTP Header redaction code has been adjusted for a newer version of cURL library that shows its traces differently from earlier versions. * An error message given by "git send-email" when given a malformed address did not give correct information, which has been corrected. * UBSan options were not propagated through the test framework to git run via the httpd, unlike ASan options, which has been corrected. Also contains various documentation updates, code clean-ups and minor fixups. ---------------------------------------------------------------- Changes since v2.42.0 are as follows: Caleb Hill (1): git-clean doc: fix "without do cleaning" typo Christian Hesse (2): t/lib-gpg: forcibly run a trustdb update t/t6300: drop magic filtering Derrick Stolee (4): upload-pack: fix race condition in error messages scalar: add --[no-]src option setup: add discover_git_directory_reason() scalar reconfigure: help users remove buggy repos Evan Gates (1): git-config: fix misworded --type=path explanation Han Young (1): show doc: redirect user to git log manual instead of git diff-tree Jacob Abel (1): builtin/worktree.c: fix typo in "forgot fetch" msg Jeff King (17): hashmap: use expected signatures for comparison functions diff-files: avoid negative exit value diff: show usage for unknown builtin_diff_files() options diff: die when failing to read index in git-diff builtin diff: drop useless return from run_diff_{files,index} functions diff: drop useless return values in git-diff helpers diff: drop useless "status" parameter from diff_result_code() commit-graph: verify swapped zero/non-zero generation cases test-lib: ignore uninteresting LSan output ci: allow branch selection through "vars" ci: deprecate ci/config/allow-ref script http: factor out matching of curl http/2 trace lines http: update curl http/2 info matching for curl 8.3.0 test-lib: set UBSAN_OPTIONS to match ASan decorate: add clear_decoration() function revision: clear decoration structs during release_revisions() daemon: free listen_addr before returning Johannes Schindelin (12): rebase: allow overriding the maximal length of the generated labels ci: avoid building from the same commit in parallel ci(linux-asan-ubsan): let's save some time var: avoid a segmentation fault when `HOME` is unset completion(switch/checkout): treat --track and -t the same maintenance(systemd): support the Windows Subsystem for Linux ci: add a GitHub workflow to submit Coverity scans coverity: cache the Coverity Build Tool coverity: allow overriding the Coverity project coverity: support building on Windows coverity: allow running on macOS coverity: detect and report when the token or project is incorrect Josip Sokcevic (1): diff-lib: fix check_removed when fsmonitor is on Junio C Hamano (12): mv: fix error for moving directory to another diff: move the fallback "--exit-code" code down diff: mode-only change should be noticed by "--patch -w --exit-code" diff: teach "--stat -w --exit-code" to notice differences t4040: remove test that succeeded for a wrong reason diff: spell DIFF_INDEX_CACHED out when calling run_diff_index() diff: the -w option breaks --exit-code for --raw and other output modes transfer.unpackLimit: fetch/receive.unpackLimit takes precedence doc: update list archive reference to use lore.kernel.org commit: do not use cryptic "new_index" in end-user facing messages am: align placeholder for --whitespace option with apply Git 2.42.1 Kousik Sanagavarapu (1): ref-filter: sort numerically when ":size" is used Mark Ruvald Pedersen (1): sequencer: truncate labels to accommodate loose refs Michal Suchanek (1): git-push doc: more visibility for -q option Naomi Ibe (1): builtin/add.c: clean up die() messages Oswald Buddenhagen (6): t9001: fix indentation in test_no_confirm() sequencer: rectify empty hint in call of require_clean_work_tree() sequencer: fix error message on failure to copy SQUASH_MSG t3404-rebase-interactive.sh: fix typos in title of a rewording test sequencer: remove unreachable exit condition in pick_commits() am: fix error message in parse_opt_show_current_patch() Patrick Steinhardt (4): upload-pack: fix exit code when denying fetch of unreachable object ID doc/git-worktree: mention "refs/rewritten" as per-worktree refs doc/git-repack: fix syntax for `-g` shorthand option doc/git-repack: don't mention nonexistent "--unpacked" option Philippe Blain (1): completion: improve doc for complex aliases Phillip Wood (7): rebase -i: move unlink() calls rebase -i: remove patch file after conflict resolution sequencer: use rebase_path_message() sequencer: factor out part of pick_commits() rebase: fix rewritten list for failed pick rebase --continue: refuse to commit after failed command rebase -i: fix adding failed command to the todo list René Scharfe (5): name-rev: use OPT_HIDDEN_BOOL for --peel-tag grep: use OPT_INTEGER_F for --max-depth grep: reject --no-or diff --no-index: fix -R with stdin parse-options: drop unused parse_opt_ctx_t member Sergey Organov (1): doc/diff-options: fix link to generating patch section Taylor Blau (7): commit-graph: introduce `commit_graph_generation_from_graph()` t/t5318-commit-graph.sh: test generation zero transitions during fsck commit-graph: avoid repeated mixed generation number warnings leak tests: mark a handful of tests as leak-free leak tests: mark t3321-notes-stripspace.sh as leak-free leak tests: mark t5583-push-branches.sh as leak-free git-send-email.perl: avoid printing undef when validating addresses Wesley Schwengle (2): git-push.txt: fix grammar git-svn: drop FakeTerm hack Štěpán Němec (1): doc/cat-file: make synopsis and description less confusing 王常新 (1): merge-ort.c: fix typo 'neeed' to 'needed'