[ANNOUNCE] Git v2.46.1
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Sep 14, 2024, 16:52 UTC
- Message-ID
- <xmqqikuytbxd.fsf@gitster.g>
The latest maintenance release Git v2.46.1 is now available at the usual places. Unlike maintenance releases in the recent past, this one is _not_ about security fixes, but primarily about fixes to various commands that can work outside a repository barfing due to lack of initialization of the hash function. IOW, it is not the end of the world if you did not update to this version for a few weeks, or wait for 2.47 ;-).
The tarballs are found at:
https://www.kernel.org/pub/software/scm/git/
The following public repositories all have a copy of the 'v2.46.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.46.1 Release Notes ========================
This release is primarily to merge fixes accumulated on the 'master' front to prepare for 2.47 release that are still relevant to 2.46.x maintenance track.
Fixes since Git 2.46 --------------------
* "git checkout --ours" (no other arguments) complained that the option is incompatible with branch switching, which is technically correct, but found confusing by some users. It now says that the user needs to give pathspec to specify what paths to checkout.
* It has been documented that we avoid "VAR=VAL shell_func" and why.
* "git add -p" by users with diff.suppressBlankEmpty set to true failed to parse the patch that represents an unmodified empty line with an empty line (not a line with a single space on it), which has been corrected.
* "git rebase --help" referred to "offset" (the difference between the location a change was taken from and the change gets replaced) incorrectly and called it "fuzz", which has been corrected.
* "git notes add -m '' --allow-empty" and friends that take prepared data to create notes should not invoke an editor, but it started doing so since Git 2.42, which has been corrected.
* An expensive operation to prepare tracing was done in re-encoding code path even when the tracing was not requested, which has been corrected.
* Perforce tests have been updated.
* The credential helper to talk to OSX keychain sometimes sent garbage bytes after the username, which has been corrected.
* A recent update broke "git ls-remote" used outside a repository, which has been corrected.
* "git config --value=foo --fixed-value section.key newvalue" barfed when the existing value in the configuration file used the valueless true syntax, which has been corrected.
* "git reflog expire" failed to honor annotated tags when computing reachable commits.
* A flakey test and incorrect calls to strtoX() functions have been fixed.
* Follow-up on 2.45.1 regression fix.
* "git rev-list ... | git diff-tree -p --remerge-diff --stdin" should behave more or less like "git log -p --remerge-diff" but instead it crashed, forgetting to prepare a temporary object store needed.
* The patch parser in "git patch-id" has been tightened to avoid getting confused by lines that look like a patch header in the log message.
* "git bundle unbundle" outside a repository triggered a BUG() unnecessarily, which has been corrected.
* The code forgot to discard unnecessary in-core commit buffer data for commits that "git log --skip=<number>" traversed but omitted from the output, which has been corrected.
* "git verify-pack" and "git index-pack" started dying outside a repository, which has been corrected.
* A corner case bug in "git stash" was fixed.
Also contains minor documentation updates and code clean-ups.
----------------------------------------------------------------
Changes since v2.46.0 are as follows:
Celeste Liu (1):
doc: replace 3 dash with correct 2 dash in git-config(1)D Harithamma (1):
convert: return early when not tracingDavid Disseldorp (1):
notes: do not trigger editor when adding an empty noteJayson Rhynas (1):
doc: fix hex code escapes in git-ls-filesJeff King (4):
credential/osxkeychain: respect NUL terminator in username
apply: canonicalize modes read from patches
t4129: fix racy index when calling chmod after git-add
revision: free commit buffers for skipped commitsJohannes Schindelin (2):
ci: bump microsoft/setup-msbuild from v1 to v2
ci(win+VS): download the vcpkg artifacts using a dedicated GitHub ActionJunio C Hamano (30):
checkout: special case error messages during noop switching
doc: note that AT&T ksh does not work with our test suite
Revert "reflog expire: don't use lookup_commit_reference_gently()"
howto-maintain: cover a whole development cycle
howto-maintain: update daily tasks
CodingGuidelines: document a shell that "fails" "VAR=VAL shell_func"
doc: difference in location to apply is "offset", not "fuzz"
mailmap: plug memory leak in read_mailmap_blob()
csum-file: introduce discard_hashfile()
t4204: patch-id supports various input format
patch-id: call flush_current_id() only when needed
patch-id: make get_one_patchid() more extensible
patch-id: rewrite code that detects the beginning of a patch
patch-id: tighten code to detect the patch header
safe.directory: preliminary clean-up
safe.directory: normalize the checked path
safe.directory: normalize the configured path
safe.directory: setting safe.directory="." allows the "current" directory
t0018: remove leftover debugging cruft
tests: drop use of 'tee' that hides exit status
tutorial: grammofix
doc: grammofix in git-diff-tree
howto-maintain: mention preformatted docs
Prepare for 2.46.1
CodingGuidelines: spaces around C operators
A bit more topics for 2.46.x maintenance track
git-config.1: --get-all description update
git-config.1: fix description of --regexp in synopsis
Another batch of topics for 2.46.1
Git 2.46.1Justin Tobler (1):
doc: clarify post-receive hook behaviorKousik Sanagavarapu (1):
unit-tests/test-lib: fix typo in check_pointer_eq() descriptionKyle Lippincott (2):
set errno=0 before strtoX calls
t6421: fix test to work when repo dir contains d0Patrick Steinhardt (8):
t98xx: fix Perforce tests with p4d r23 and newer
ci: update Perforce version to r23.2
t98xx: mark Perforce tests as memory-leak free
builtin/ls-remote: fall back to SHA1 outside of a repo
builtin/bundle: have unbundle check for repo before opening its bundle
bundle: default to SHA1 when reading bundle headers
builtin/stash: fix `--keep-index --include-untracked` with empty HEAD
builtin/index-pack: fix segfaults when running outside of a repoPhillip Wood (2):
add-patch: handle splitting hunks with diff.suppressBlankEmpty
add-patch: use normalize_marker() when recounting edited hunkRamsay Jones (1):
compat/terminal: mark parameter of git_terminal_prompt() UNUSEDRené Scharfe (2):
t-example-decorate: remove test messages
log-tree: use decimal_width()Sven Strickroth (1):
refs/files: prevent memory leak by freeing packed_ref_storeTaylor Blau (1):
config.c: avoid segfault with --fixed-value and valueless configTomas Nordin (1):
doc: remove dangling closing parenthesisXing Xin (1):
diff-tree: fix crash when used with --remerge-diffahmed akef (1):
docs: explain the order of output in the batched mode of git-cat-file(1)