mirror of
https://github.com/git/git
synced 2024-08-25 02:35:46 +00:00
139 lines
5 KiB
Plaintext
139 lines
5 KiB
Plaintext
![]() |
Git 2.33.1 Release Notes
|
||
|
========================
|
||
|
|
||
|
This primarily is to backport various fixes accumulated during the
|
||
|
development towards Git 2.34, the next feature release.
|
||
|
|
||
|
|
||
|
Fixes since v2.33
|
||
|
-----------------
|
||
|
|
||
|
* The unicode character width table (used for output alignment) has
|
||
|
been updated.
|
||
|
|
||
|
* Input validation of "git pack-objects --stdin-packs" has been
|
||
|
corrected.
|
||
|
|
||
|
* Bugfix for common ancestor negotiation recently introduced in "git
|
||
|
push" codepath.
|
||
|
|
||
|
* "git pull" had various corner cases that were not well thought out
|
||
|
around its --rebase backend, e.g. "git pull --ff-only" did not stop
|
||
|
but went ahead and rebased when the history on other side is not a
|
||
|
descendant of our history. The series tries to fix them up.
|
||
|
|
||
|
* "git apply" miscounted the bytes and failed to read to the end of
|
||
|
binary hunks.
|
||
|
|
||
|
* "git range-diff" code clean-up.
|
||
|
|
||
|
* "git commit --fixup" now works with "--edit" again, after it was
|
||
|
broken in v2.32.
|
||
|
|
||
|
* Use upload-artifacts v1 (instead of v2) for 32-bit linux, as the
|
||
|
new version has a blocker bug for that architecture.
|
||
|
|
||
|
* Checking out all the paths from HEAD during the last conflicted
|
||
|
step in "git rebase" and continuing would cause the step to be
|
||
|
skipped (which is expected), but leaves MERGE_MSG file behind in
|
||
|
$GIT_DIR and confuses the next "git commit", which has been
|
||
|
corrected.
|
||
|
|
||
|
* Various bugs in "git rebase -r" have been fixed.
|
||
|
|
||
|
* mmap() imitation used to call xmalloc() that dies upon malloc()
|
||
|
failure, which has been corrected to just return an error to the
|
||
|
caller to be handled.
|
||
|
|
||
|
* "git diff --relative" segfaulted and/or produced incorrect result
|
||
|
when there are unmerged paths.
|
||
|
|
||
|
* The delayed checkout code path in "git checkout" etc. were chatty
|
||
|
even when --quiet and/or --no-progress options were given.
|
||
|
|
||
|
* "git branch -D <branch>" used to refuse to remove a broken branch
|
||
|
ref that points at a missing commit, which has been corrected.
|
||
|
|
||
|
* Build update for Apple clang.
|
||
|
|
||
|
* The parser for the "--nl" option of "git column" has been
|
||
|
corrected.
|
||
|
|
||
|
* "git upload-pack" which runs on the other side of "git fetch"
|
||
|
forgot to take the ref namespaces into account when handling
|
||
|
want-ref requests.
|
||
|
|
||
|
* The sparse-index support can corrupt the index structure by storing
|
||
|
a stale and/or uninitialized data, which has been corrected.
|
||
|
|
||
|
* Buggy tests could damage repositories outside the throw-away test
|
||
|
area we created. We now by default export GIT_CEILING_DIRECTORIES
|
||
|
to limit the damage from such a stray test.
|
||
|
|
||
|
* Even when running "git send-email" without its own threaded
|
||
|
discussion support, a threading related header in one message is
|
||
|
carried over to the subsequent message to result in an unwanted
|
||
|
threading, which has been corrected.
|
||
|
|
||
|
* The output from "git fast-export", when its anonymization feature
|
||
|
is in use, showed an annotated tag incorrectly.
|
||
|
|
||
|
* Recent "diff -m" changes broke "gitk", which has been corrected.
|
||
|
|
||
|
* "git maintenance" scheduler fix for macOS.
|
||
|
|
||
|
* A pathname in an advice message has been made cut-and-paste ready.
|
||
|
|
||
|
* The "git apply -3" code path learned not to bother the lower level
|
||
|
merge machinery when the three-way merge can be trivially resolved
|
||
|
without the content level merge.
|
||
|
|
||
|
* The code that optionally creates the *.rev reverse index file has
|
||
|
been optimized to avoid needless computation when it is not writing
|
||
|
the file out.
|
||
|
|
||
|
* "git range-diff -I... <range> <range>" segfaulted, which has been
|
||
|
corrected.
|
||
|
|
||
|
* The order in which various files that make up a single (conceptual)
|
||
|
packfile has been reevaluated and straightened up. This matters in
|
||
|
correctness, as an incomplete set of files must not be shown to a
|
||
|
running Git.
|
||
|
|
||
|
* The "mode" word is useless in a call to open(2) that does not
|
||
|
create a new file. Such a call in the files backend of the ref
|
||
|
subsystem has been cleaned up.
|
||
|
|
||
|
* "git update-ref --stdin" failed to flush its output as needed,
|
||
|
which potentially led the conversation to a deadlock.
|
||
|
|
||
|
* When "git am --abort" fails to abort correctly, it still exited
|
||
|
with exit status of 0, which has been corrected.
|
||
|
|
||
|
* Correct nr and alloc members of strvec struct to be of type size_t.
|
||
|
|
||
|
* "git stash", where the tentative change involves changing a
|
||
|
directory to a file (or vice versa), was confused, which has been
|
||
|
corrected.
|
||
|
|
||
|
* "git clone" from a repository whose HEAD is unborn into a bare
|
||
|
repository didn't follow the branch name the other side used, which
|
||
|
is corrected.
|
||
|
|
||
|
* "git cvsserver" had a long-standing bug in its authentication code,
|
||
|
which has finally been corrected (it is unclear and is a separate
|
||
|
question if anybody is seriously using it, though).
|
||
|
|
||
|
* "git difftool --dir-diff" mishandled symbolic links.
|
||
|
|
||
|
* Sensitive data in the HTTP trace were supposed to be redacted, but
|
||
|
we failed to do so in HTTP/2 requests.
|
||
|
|
||
|
* "make clean" has been updated to remove leftover .depend/
|
||
|
directories, even when it is not told to use them to compute header
|
||
|
dependencies.
|
||
|
|
||
|
* Protocol v0 clients can get stuck parsing a malformed feature line.
|
||
|
|
||
|
Also contains various documentation updates and code clean-ups.
|