@@ -10,8 +10,8 @@ Backward Compatibility Notes
10
10
prefix. If you are negatively affected by this change, please use
11
11
"--subject-prefix=PATCH --rfc" as a replacement.
12
12
13
- * "git rev-list --stdin" learned to take non-revisions (like "--not")
14
- recently from the standard input, but the way such a "--not" was
13
+ * In Git 2.42, "git rev-list --stdin" learned to take non-revisions
14
+ (like "--not") from the standard input, but the way such a "--not" was
15
15
handled was quite confusing, which has been rethought. The updated
16
16
rule is that "--not" given from the command line only affects revs
17
17
given from the command line that comes but not revs read from the
@@ -22,10 +22,11 @@ Backward Compatibility Notes
22
22
UI, Workflows & Features
23
23
24
24
* A message written in olden time prevented a branch from getting
25
- checked out saying it is already checked out elsewhere, but these
25
+ checked out, saying it is already checked out elsewhere. But these
26
26
days, we treat a branch that is being bisected or rebased just like
27
- a branch that is checked out and protect it. Rephrase the message
28
- to say that the branch is in use.
27
+ a branch that is checked out and protect it from getting modified
28
+ with the same codepath. The message has been rephrased to say that
29
+ the branch is "in use" to avoid confusion.
29
30
30
31
* Hourly and other schedules of "git maintenance" jobs are randomly
31
32
distributed now.
@@ -43,20 +44,21 @@ UI, Workflows & Features
43
44
44
45
* Git GUI updates.
45
46
46
- * "git format-patch" learns a way to feed cover letter description,
47
- that (1) can be used on detached HEAD where there is no branch
48
- description available, and (2) also can override the branch
49
- description if there is one.
47
+ * "git format-patch" learned a new "--description-file" option that
48
+ lets cover letter description to be fed; this can be used on
49
+ detached HEAD where there is no branch description available, and
50
+ also can override the branch description if there is one.
50
51
51
- * Use of --max-pack-size to allow multiple packfiles to be created is
52
- now supported even when we are sending unreachable objects to cruft
53
- packs.
52
+ * Use of the " --max-pack-size" option to allow multiple packfiles to
53
+ be created is now supported even when we are sending unreachable
54
+ objects to cruft packs.
54
55
55
56
* "git format-patch --rfc --subject-prefix=<foo>" used to ignore the
56
57
"--subject-prefix" option and used "[RFC PATCH]"; now we will add
57
58
"RFC" prefix to whatever subject prefix is specified.
58
59
59
- * "git log --format" has been taught the %(decorate) placeholder.
60
+ * "git log --format" has been taught the %(decorate) placeholder for
61
+ further customization over what the "--decorate" option offers.
60
62
61
63
* The default log message created by "git revert", when reverting a
62
64
commit that records a revert, has been tweaked, to encourage people
@@ -66,41 +68,45 @@ UI, Workflows & Features
66
68
* The command-line completion support (in contrib/) learned to
67
69
complete "git commit --trailer=" for possible trailer keys.
68
70
69
- * "git update-index" learns "--show-index-version" to inspect
70
- the index format version used by the on-disk index file.
71
+ * "git update-index" learned the "--show-index-version" option to
72
+ inspect the index format version used by the on-disk index file.
71
73
72
- * "git diff" learned diff.statNameWidth configuration variable, to
73
- give the default width for the name part in the "--stat" output.
74
+ * "git diff" learned the " diff.statNameWidth" configuration variable,
75
+ to give the default width for the name part in the "--stat" output.
74
76
75
77
* "git range-diff --notes=foo" compared "log --notes=foo --notes" of
76
- the two ranges, instead of using just the specified notes tree.
78
+ the two ranges, instead of using just the specified notes tree,
79
+ which has been corrected to use only the specified notes tree.
77
80
78
81
* The command line completion script (in contrib/) can be told to
79
82
complete aliases by including ": git <cmd> ;" in the alias to tell
80
- it that the alias should be completed in a similar way to how "git <cmd>" is
81
- completed. The parsing code for the alias has been loosened to
82
- allow ';' without an extra space before it.
83
+ it that the alias should be completed in a similar way to how "git
84
+ <cmd>" is completed. The parsing code for the alias has been
85
+ loosened to allow ';' without an extra space before it.
83
86
84
87
* "git for-each-ref" and friends learned to apply mailmap to
85
- authorname and other fields.
88
+ authorname and other fields in a more flexible way than using
89
+ separate placeholder letters like %a[eElL] every time we want to
90
+ come up with small variants.
86
91
87
- * "git repack" machinery learns to pay attention to the "--filter="
92
+ * "git repack" machinery learned to pay attention to the "--filter="
88
93
option.
89
94
90
- * "git repack" learned "--max-cruft-size" to prevent cruft packs from
91
- growing without bounds.
95
+ * "git repack" learned the "--max-cruft-size" option to prevent cruft
96
+ packs from growing without bounds.
92
97
93
98
* "git merge-tree" learned to take strategy backend specific options
94
99
via the "-X" option, like "git merge" does.
95
100
96
- * "git log" and friends learned "--dd" that is a short-hand for
97
- "--diff-merges=first-parent -p".
101
+ * "git log" and friends learned the "--dd" option that is a
102
+ short-hand for "--diff-merges=first-parent -p".
98
103
99
- * The attribute subsystem learned to honor `attr.tree` configuration
100
- that specifies which tree to read the .gitattributes files from.
104
+ * The attribute subsystem learned to honor the "attr.tree"
105
+ configuration variable that specifies which tree to read the
106
+ .gitattributes files from.
101
107
102
- * "git merge-file" learns a mode to read three contents to be merged
103
- from blob objects.
108
+ * "git merge-file" learns a mode to read three variants of the
109
+ contents to be merged from blob objects.
104
110
105
111
106
112
Performance, Internal Implementation, Development Support etc.
@@ -110,7 +116,7 @@ Performance, Internal Implementation, Development Support etc.
110
116
* It may be tempting to leave the help text NULL for a command line
111
117
option that is either hidden or too obvious, but "git subcmd -h"
112
118
and "git subcmd --help-all" would have segfaulted if done so. Now
113
- the help text is optional.
119
+ the help text is truly optional.
114
120
115
121
* Tests that are known to pass with LSan are now marked as such.
116
122
@@ -122,7 +128,7 @@ Performance, Internal Implementation, Development Support etc.
122
128
filtering the uninteresting output.
123
129
124
130
* Unused parameters to functions are marked as such, and/or removed,
125
- in order to bring us closer to -Wunused-parameter clean.
131
+ in order to bring us closer to " -Wunused-parameter" clean.
126
132
127
133
* The code to keep track of existing packs in the repository while
128
134
repacking has been refactored.
@@ -161,33 +167,36 @@ Fixes since v2.42
161
167
non-zero generation numbers has been updated.
162
168
163
169
* "git diff -w --exit-code" with various options did not work
164
- correctly, which is being addressed .
170
+ correctly, which has been corrected .
165
171
166
- * transfer.unpackLimit ought to be used as a fallback, but overrode
167
- fetch.unpackLimit and receive.unpackLimit instead.
172
+ * The "transfer.unpackLimit" configuration variable ought to be used
173
+ as a fallback, but overrode the more specific "fetch.unpackLimit"
174
+ and "receive.unpackLimit" configuration variables by mistake, which
175
+ has been corrected.
168
176
169
177
* The use of API between two calls to require_clean_work_tree() from
170
178
the sequencer code has been cleaned up for consistency.
171
179
172
180
* "git diff --no-such-option" and other corner cases around the exit
173
181
status of the "diff" command have been corrected.
174
182
175
- * "git for-each-ref --sort='contents:size'" sorts the refs according
183
+ * "git for-each-ref --sort='contents:size'" sorted the refs according
176
184
to size numerically, giving a ref that points at a blob twelve-byte
177
- (12) long before showing a blob hundred-byte (100) long.
185
+ (12) long before showing a blob hundred-byte (100) long, which has
186
+ been corrected.
178
187
179
188
* We now limit the depth of the tree objects and maximum length of
180
189
pathnames recorded in tree objects.
181
190
(merge 4d5693ba05 jk/tree-name-and-depth-limit later to maint).
182
191
183
- * Various fixes to the behavior of "rebase -i" when the command got
184
- interrupted by conflicting changes.
192
+ * Various fixes to the behavior of "rebase -i", when the command got
193
+ interrupted by conflicting changes, have been made .
185
194
186
195
* References from a description of the `--patch` option in various
187
196
manual pages have been simplified and improved.
188
197
189
198
* "git grep -e A --no-or -e B" is accepted, even though the negation
190
- of " or" did not mean anything, which has been tightened.
199
+ of the "-- or" option did not mean anything, which has been tightened.
191
200
192
201
* The completion script (in contrib/) has been taught to treat the
193
202
"-t" option to "git checkout" and "git switch" just like the
@@ -196,23 +205,24 @@ Fixes since v2.42
196
205
* "git diff --no-index -R <(one) <(two)" did not work correctly,
197
206
which has been corrected.
198
207
199
- * Update "git maintenance" timers' implementation based on systemd
200
- timers to work with WSL.
208
+ * "git maintenance" timers' implementation has been updated, based on
209
+ systemd timers, to work with WSL.
201
210
202
211
* "git diff --cached" codepath did not fill the necessary stat
203
212
information for a file when fsmonitor knows it is clean and ended
204
- up behaving as if it is not clean, which has been corrected.
213
+ up behaving as if it were not clean, which has been corrected.
205
214
206
- * Clarify how "alias.foo = : git cmd ; aliased-command-string" should be
207
- spelled with necessary whitespace around punctuation marks to
208
- work.
215
+ * How "alias.foo = : git cmd ; aliased-command-string" should be
216
+ spelled with necessary whitespace around punctuation marks to work
217
+ has been more clearly documented (but this will be moot with newer
218
+ versions of Git where the parsing rules have been improved).
209
219
210
220
* HTTP Header redaction code has been adjusted for a newer version of
211
221
cURL library that shows its traces differently from earlier
212
222
versions.
213
223
214
- * An error message given by "git send-email" when given a malformed
215
- address did not give correct information , which has been corrected.
224
+ * An error message given by "git send-email", when given a malformed
225
+ address, did not show the offending address , which has been corrected.
216
226
217
227
* UBSan options were not propagated through the test framework to git
218
228
run via the httpd, unlike ASan options, which has been corrected.
@@ -229,9 +239,9 @@ Fixes since v2.42
229
239
* Update mailmap entry for Derrick.
230
240
(merge 6e5457d8c7 ds/mailmap-entry-update later to maint).
231
241
232
- * In .gitmodules files, submodules are keyed by their names, and the
233
- path to the submodule whose name is $name is specified by the
234
- submodule.$name.path variable. There were a few codepaths that
242
+ * In the " .gitmodules" files, submodules are keyed by their names,
243
+ and the path to the submodule whose name is $name is specified by
244
+ the submodule.$name.path variable. There were a few codepaths that
235
245
mixed the name and path up when consulting the submodule database,
236
246
which have been corrected. It took long for these bugs to be found
237
247
as the name of a submodule initially is the same as its path, and
@@ -244,8 +254,8 @@ Fixes since v2.42
244
254
corrected.
245
255
(merge 4adceb5a29 ar/diff-index-merge-base-fix later to maint).
246
256
247
- * Fix "git merge-tree" to stop segfaulting when the --attr-source
248
- option is used.
257
+ * "git merge-tree" used to segfault when the " --attr-source"
258
+ option is used, which has been corrected .
249
259
(merge e95bafc52f jc/merge-ort-attr-index-fix later to maint).
250
260
251
261
* Unlike "git log --pretty=%D", "git log --pretty="%(decorate)" did
@@ -276,7 +286,6 @@ Fixes since v2.42
276
286
the top level of the working tree; it has been corrected to read
277
287
"sub/patterns" instead.
278
288
279
-
280
289
* "git reflog expire --single-worktree" has been broken for the past
281
290
20 months or so, which has been corrected.
282
291
@@ -300,10 +309,15 @@ Fixes since v2.42
300
309
non-commit objects, which has been corrected.
301
310
(merge 7b3c8e9f38 tb/rev-list-unpacked-fix later to maint).
302
311
312
+ * "To dereference" and "to peel" were sometimes used in in-code
313
+ comments and documentation but without description in the glossary.
314
+ (merge 893dce2ffb vd/glossary-dereference-peel later to maint).
315
+
303
316
* Other code cleanup, docfix, build fix, etc.
304
317
(merge c2c349a15c xz/commit-title-soft-limit-doc later to maint).
305
318
(merge 1bd809938a tb/format-pack-doc-update later to maint).
306
319
(merge 8f81532599 an/clang-format-typofix later to maint).
307
320
(merge 3ca86adc2d la/strvec-header-fix later to maint).
308
321
(merge 6789275d37 jc/test-i18ngrep later to maint).
309
322
(merge 9972cd6004 ps/leakfixes later to maint).
323
+ (merge 46edab516b tz/send-email-helpfix later to maint).
0 commit comments