@@ -73,4 +73,75 @@ Fixes since v2.22
73
73
* The list of for-each like macros used by clang-format has been
74
74
updated.
75
75
76
- Also contains various documentation updates and code clean-ups.
76
+ * "git push --atomic" that goes over the transport-helper (namely,
77
+ the smart http transport) failed to prevent refs to be pushed when
78
+ it can locally tell that one of the ref update will fail without
79
+ having to consult the other end, which has been corrected.
80
+
81
+ * "git clean" silently skipped a path when it cannot lstat() it; now
82
+ it gives a warning.
83
+
84
+ * A codepath that reads from GPG for signed object verification read
85
+ past the end of allocated buffer, which has been fixed.
86
+
87
+ * "git rm" to resolve a conflicted path leaked an internal message
88
+ "needs merge" before actually removing the path, which was
89
+ confusing. This has been corrected.
90
+
91
+ * The "git clone" documentation refers to command line options in its
92
+ description in the short form; they have been replaced with long
93
+ forms to make them more recognisable.
94
+
95
+ * The configuration variable rebase.rescheduleFailedExec should be
96
+ effective only while running an interactive rebase and should not
97
+ affect anything when running an non-interactive one, which was not
98
+ the case. This has been corrected.
99
+
100
+ * "git submodule foreach" did not protect command line options passed
101
+ to the command to be run in each submodule correctly, when the
102
+ "--recursive" option was in use.
103
+
104
+ * Use "Erase in Line" CSI sequence that is already used in the editor
105
+ support to clear cruft in the progress output.
106
+
107
+ * The codepath to compute delta islands used to spew progress output
108
+ without giving the callers any way to squelch it, which has been
109
+ fixed.
110
+
111
+ * The code to parse scaled numbers out of configuration files has
112
+ been made more robust and also easier to follow.
113
+
114
+ * An incorrect list of options was cached after command line
115
+ completion failed (e.g. trying to complete a command that requires
116
+ a repository outside one), which has been corrected.
117
+
118
+ * "git rebase --abort" used to leave refs/rewritten/ when concluding
119
+ "git rebase -r", which has been corrected.
120
+
121
+ * "git stash show 23" used to work, but no more after getting
122
+ rewritten in C; this regression has been corrected.
123
+
124
+ * "git interpret-trailers" always treated '#' as the comment
125
+ character, regardless of core.commentChar setting, which has been
126
+ corrected.
127
+
128
+ * Code clean-up to avoid signed integer overlaps during binary search.
129
+
130
+ * "git checkout -p" needs to selectively apply a patch in reverse,
131
+ which did not work well.
132
+
133
+ * The commit-graph file is now part of the "files that the runtime
134
+ may keep open file descriptors on, all of which would need to be
135
+ closed when done with the object store", and the file descriptor to
136
+ an existing commit-graph file now is closed before "gc" finalizes a
137
+ new instance to replace it.
138
+
139
+ * Code restructuring during 2.20 period broke fetching tags via
140
+ "import" based transports.
141
+
142
+ * We have been trying out a few language features outside c89; the
143
+ coding guidelines document did not talk about them and instead had
144
+ a blanket ban against them.
145
+
146
+
147
+ Also contains various documentation updates, code clean-ups and minor fixups.
0 commit comments