Git fork
1Git 2.33.1 Release Notes
2========================
3
4This primarily is to backport various fixes accumulated during the
5development towards Git 2.34, the next feature release.
6
7
8Fixes since v2.33
9-----------------
10
11 * The unicode character width table (used for output alignment) has
12 been updated.
13
14 * Input validation of "git pack-objects --stdin-packs" has been
15 corrected.
16
17 * Bugfix for common ancestor negotiation recently introduced in "git
18 push" codepath.
19
20 * "git pull" had various corner cases that were not well thought out
21 around its --rebase backend, e.g. "git pull --ff-only" did not stop
22 but went ahead and rebased when the history on other side is not a
23 descendant of our history. The series tries to fix them up.
24
25 * "git apply" miscounted the bytes and failed to read to the end of
26 binary hunks.
27
28 * "git range-diff" code clean-up.
29
30 * "git commit --fixup" now works with "--edit" again, after it was
31 broken in v2.32.
32
33 * Use upload-artifacts v1 (instead of v2) for 32-bit linux, as the
34 new version has a blocker bug for that architecture.
35
36 * Checking out all the paths from HEAD during the last conflicted
37 step in "git rebase" and continuing would cause the step to be
38 skipped (which is expected), but leaves MERGE_MSG file behind in
39 $GIT_DIR and confuses the next "git commit", which has been
40 corrected.
41
42 * Various bugs in "git rebase -r" have been fixed.
43
44 * mmap() imitation used to call xmalloc() that dies upon malloc()
45 failure, which has been corrected to just return an error to the
46 caller to be handled.
47
48 * "git diff --relative" segfaulted and/or produced incorrect result
49 when there are unmerged paths.
50
51 * The delayed checkout code path in "git checkout" etc. were chatty
52 even when --quiet and/or --no-progress options were given.
53
54 * "git branch -D <branch>" used to refuse to remove a broken branch
55 ref that points at a missing commit, which has been corrected.
56
57 * Build update for Apple clang.
58
59 * The parser for the "--nl" option of "git column" has been
60 corrected.
61
62 * "git upload-pack" which runs on the other side of "git fetch"
63 forgot to take the ref namespaces into account when handling
64 want-ref requests.
65
66 * The sparse-index support can corrupt the index structure by storing
67 a stale and/or uninitialized data, which has been corrected.
68
69 * Buggy tests could damage repositories outside the throw-away test
70 area we created. We now by default export GIT_CEILING_DIRECTORIES
71 to limit the damage from such a stray test.
72
73 * Even when running "git send-email" without its own threaded
74 discussion support, a threading related header in one message is
75 carried over to the subsequent message to result in an unwanted
76 threading, which has been corrected.
77
78 * The output from "git fast-export", when its anonymization feature
79 is in use, showed an annotated tag incorrectly.
80
81 * Recent "diff -m" changes broke "gitk", which has been corrected.
82
83 * "git maintenance" scheduler fix for macOS.
84
85 * A pathname in an advice message has been made cut-and-paste ready.
86
87 * The "git apply -3" code path learned not to bother the lower level
88 merge machinery when the three-way merge can be trivially resolved
89 without the content level merge.
90
91 * The code that optionally creates the *.rev reverse index file has
92 been optimized to avoid needless computation when it is not writing
93 the file out.
94
95 * "git range-diff -I... <range> <range>" segfaulted, which has been
96 corrected.
97
98 * The order in which various files that make up a single (conceptual)
99 packfile has been reevaluated and straightened up. This matters in
100 correctness, as an incomplete set of files must not be shown to a
101 running Git.
102
103 * The "mode" word is useless in a call to open(2) that does not
104 create a new file. Such a call in the files backend of the ref
105 subsystem has been cleaned up.
106
107 * "git update-ref --stdin" failed to flush its output as needed,
108 which potentially led the conversation to a deadlock.
109
110 * When "git am --abort" fails to abort correctly, it still exited
111 with exit status of 0, which has been corrected.
112
113 * Correct nr and alloc members of strvec struct to be of type size_t.
114
115 * "git stash", where the tentative change involves changing a
116 directory to a file (or vice versa), was confused, which has been
117 corrected.
118
119 * "git clone" from a repository whose HEAD is unborn into a bare
120 repository didn't follow the branch name the other side used, which
121 is corrected.
122
123 * "git cvsserver" had a long-standing bug in its authentication code,
124 which has finally been corrected (it is unclear and is a separate
125 question if anybody is seriously using it, though).
126
127 * "git difftool --dir-diff" mishandled symbolic links.
128
129 * Sensitive data in the HTTP trace were supposed to be redacted, but
130 we failed to do so in HTTP/2 requests.
131
132 * "make clean" has been updated to remove leftover .depend/
133 directories, even when it is not told to use them to compute header
134 dependencies.
135
136 * Protocol v0 clients can get stuck parsing a malformed feature line.
137
138Also contains various documentation updates and code clean-ups.