···11+Git 2.33.1 Release Notes
22+========================
33+44+This primarily is to backport various fixes accumulated during the
55+development towards Git 2.34, the next feature release.
66+77+88+Fixes since v2.33
99+-----------------
1010+1111+ * The unicode character width table (used for output alignment) has
1212+ been updated.
1313+1414+ * Input validation of "git pack-objects --stdin-packs" has been
1515+ corrected.
1616+1717+ * Bugfix for common ancestor negotiation recently introduced in "git
1818+ push" codepath.
1919+2020+ * "git pull" had various corner cases that were not well thought out
2121+ around its --rebase backend, e.g. "git pull --ff-only" did not stop
2222+ but went ahead and rebased when the history on other side is not a
2323+ descendant of our history. The series tries to fix them up.
2424+2525+ * "git apply" miscounted the bytes and failed to read to the end of
2626+ binary hunks.
2727+2828+ * "git range-diff" code clean-up.
2929+3030+ * "git commit --fixup" now works with "--edit" again, after it was
3131+ broken in v2.32.
3232+3333+ * Use upload-artifacts v1 (instead of v2) for 32-bit linux, as the
3434+ new version has a blocker bug for that architecture.
3535+3636+ * Checking out all the paths from HEAD during the last conflicted
3737+ step in "git rebase" and continuing would cause the step to be
3838+ skipped (which is expected), but leaves MERGE_MSG file behind in
3939+ $GIT_DIR and confuses the next "git commit", which has been
4040+ corrected.
4141+4242+ * Various bugs in "git rebase -r" have been fixed.
4343+4444+ * mmap() imitation used to call xmalloc() that dies upon malloc()
4545+ failure, which has been corrected to just return an error to the
4646+ caller to be handled.
4747+4848+ * "git diff --relative" segfaulted and/or produced incorrect result
4949+ when there are unmerged paths.
5050+5151+ * The delayed checkout code path in "git checkout" etc. were chatty
5252+ even when --quiet and/or --no-progress options were given.
5353+5454+ * "git branch -D <branch>" used to refuse to remove a broken branch
5555+ ref that points at a missing commit, which has been corrected.
5656+5757+ * Build update for Apple clang.
5858+5959+ * The parser for the "--nl" option of "git column" has been
6060+ corrected.
6161+6262+ * "git upload-pack" which runs on the other side of "git fetch"
6363+ forgot to take the ref namespaces into account when handling
6464+ want-ref requests.
6565+6666+ * The sparse-index support can corrupt the index structure by storing
6767+ a stale and/or uninitialized data, which has been corrected.
6868+6969+ * Buggy tests could damage repositories outside the throw-away test
7070+ area we created. We now by default export GIT_CEILING_DIRECTORIES
7171+ to limit the damage from such a stray test.
7272+7373+ * Even when running "git send-email" without its own threaded
7474+ discussion support, a threading related header in one message is
7575+ carried over to the subsequent message to result in an unwanted
7676+ threading, which has been corrected.
7777+7878+ * The output from "git fast-export", when its anonymization feature
7979+ is in use, showed an annotated tag incorrectly.
8080+8181+ * Recent "diff -m" changes broke "gitk", which has been corrected.
8282+8383+ * "git maintenance" scheduler fix for macOS.
8484+8585+ * A pathname in an advice message has been made cut-and-paste ready.
8686+8787+ * The "git apply -3" code path learned not to bother the lower level
8888+ merge machinery when the three-way merge can be trivially resolved
8989+ without the content level merge.
9090+9191+ * The code that optionally creates the *.rev reverse index file has
9292+ been optimized to avoid needless computation when it is not writing
9393+ the file out.
9494+9595+ * "git range-diff -I... <range> <range>" segfaulted, which has been
9696+ corrected.
9797+9898+ * The order in which various files that make up a single (conceptual)
9999+ packfile has been reevaluated and straightened up. This matters in
100100+ correctness, as an incomplete set of files must not be shown to a
101101+ running Git.
102102+103103+ * The "mode" word is useless in a call to open(2) that does not
104104+ create a new file. Such a call in the files backend of the ref
105105+ subsystem has been cleaned up.
106106+107107+ * "git update-ref --stdin" failed to flush its output as needed,
108108+ which potentially led the conversation to a deadlock.
109109+110110+ * When "git am --abort" fails to abort correctly, it still exited
111111+ with exit status of 0, which has been corrected.
112112+113113+ * Correct nr and alloc members of strvec struct to be of type size_t.
114114+115115+ * "git stash", where the tentative change involves changing a
116116+ directory to a file (or vice versa), was confused, which has been
117117+ corrected.
118118+119119+ * "git clone" from a repository whose HEAD is unborn into a bare
120120+ repository didn't follow the branch name the other side used, which
121121+ is corrected.
122122+123123+ * "git cvsserver" had a long-standing bug in its authentication code,
124124+ which has finally been corrected (it is unclear and is a separate
125125+ question if anybody is seriously using it, though).
126126+127127+ * "git difftool --dir-diff" mishandled symbolic links.
128128+129129+ * Sensitive data in the HTTP trace were supposed to be redacted, but
130130+ we failed to do so in HTTP/2 requests.
131131+132132+ * "make clean" has been updated to remove leftover .depend/
133133+ directories, even when it is not told to use them to compute header
134134+ dependencies.
135135+136136+ * Protocol v0 clients can get stuck parsing a malformed feature line.
137137+138138+Also contains various documentation updates and code clean-ups.