···1010 prefix. If you are negatively affected by this change, please use
1111 "--subject-prefix=PATCH --rfc" as a replacement.
12121313- * "git rev-list --stdin" learned to take non-revisions (like "--not")
1414- recently from the standard input, but the way such a "--not" was
1313+ * In Git 2.42, "git rev-list --stdin" learned to take non-revisions
1414+ (like "--not") from the standard input, but the way such a "--not" was
1515 handled was quite confusing, which has been rethought. The updated
1616 rule is that "--not" given from the command line only affects revs
1717 given from the command line that comes but not revs read from the
···2222UI, Workflows & Features
23232424 * A message written in olden time prevented a branch from getting
2525- checked out saying it is already checked out elsewhere, but these
2525+ checked out, saying it is already checked out elsewhere. But these
2626 days, we treat a branch that is being bisected or rebased just like
2727- a branch that is checked out and protect it. Rephrase the message
2828- to say that the branch is in use.
2727+ a branch that is checked out and protect it from getting modified
2828+ with the same codepath. The message has been rephrased to say that
2929+ the branch is "in use" to avoid confusion.
29303031 * Hourly and other schedules of "git maintenance" jobs are randomly
3132 distributed now.
···43444445 * Git GUI updates.
45464646- * "git format-patch" learns a way to feed cover letter description,
4747- that (1) can be used on detached HEAD where there is no branch
4848- description available, and (2) also can override the branch
4949- description if there is one.
4747+ * "git format-patch" learned a new "--description-file" option that
4848+ lets cover letter description to be fed; this can be used on
4949+ detached HEAD where there is no branch description available, and
5050+ also can override the branch description if there is one.
50515151- * Use of --max-pack-size to allow multiple packfiles to be created is
5252- now supported even when we are sending unreachable objects to cruft
5353- packs.
5252+ * Use of the "--max-pack-size" option to allow multiple packfiles to
5353+ be created is now supported even when we are sending unreachable
5454+ objects to cruft packs.
54555556 * "git format-patch --rfc --subject-prefix=<foo>" used to ignore the
5657 "--subject-prefix" option and used "[RFC PATCH]"; now we will add
5758 "RFC" prefix to whatever subject prefix is specified.
58595959- * "git log --format" has been taught the %(decorate) placeholder.
6060+ * "git log --format" has been taught the %(decorate) placeholder for
6161+ further customization over what the "--decorate" option offers.
60626163 * The default log message created by "git revert", when reverting a
6264 commit that records a revert, has been tweaked, to encourage people
···6668 * The command-line completion support (in contrib/) learned to
6769 complete "git commit --trailer=" for possible trailer keys.
68706969- * "git update-index" learns "--show-index-version" to inspect
7070- the index format version used by the on-disk index file.
7171+ * "git update-index" learned the "--show-index-version" option to
7272+ inspect the index format version used by the on-disk index file.
71737272- * "git diff" learned diff.statNameWidth configuration variable, to
7373- give the default width for the name part in the "--stat" output.
7474+ * "git diff" learned the "diff.statNameWidth" configuration variable,
7575+ to give the default width for the name part in the "--stat" output.
74767577 * "git range-diff --notes=foo" compared "log --notes=foo --notes" of
7676- the two ranges, instead of using just the specified notes tree.
7878+ the two ranges, instead of using just the specified notes tree,
7979+ which has been corrected to use only the specified notes tree.
77807881 * The command line completion script (in contrib/) can be told to
7982 complete aliases by including ": git <cmd> ;" in the alias to tell
8080- it that the alias should be completed in a similar way to how "git <cmd>" is
8181- completed. The parsing code for the alias has been loosened to
8282- allow ';' without an extra space before it.
8383+ it that the alias should be completed in a similar way to how "git
8484+ <cmd>" is completed. The parsing code for the alias has been
8585+ loosened to allow ';' without an extra space before it.
83868487 * "git for-each-ref" and friends learned to apply mailmap to
8585- authorname and other fields.
8888+ authorname and other fields in a more flexible way than using
8989+ separate placeholder letters like %a[eElL] every time we want to
9090+ come up with small variants.
86918787- * "git repack" machinery learns to pay attention to the "--filter="
9292+ * "git repack" machinery learned to pay attention to the "--filter="
8893 option.
89949090- * "git repack" learned "--max-cruft-size" to prevent cruft packs from
9191- growing without bounds.
9595+ * "git repack" learned the "--max-cruft-size" option to prevent cruft
9696+ packs from growing without bounds.
92979398 * "git merge-tree" learned to take strategy backend specific options
9499 via the "-X" option, like "git merge" does.
951009696- * "git log" and friends learned "--dd" that is a short-hand for
9797- "--diff-merges=first-parent -p".
101101+ * "git log" and friends learned the "--dd" option that is a
102102+ short-hand for "--diff-merges=first-parent -p".
981039999- * The attribute subsystem learned to honor `attr.tree` configuration
100100- that specifies which tree to read the .gitattributes files from.
104104+ * The attribute subsystem learned to honor the "attr.tree"
105105+ configuration variable that specifies which tree to read the
106106+ .gitattributes files from.
101107102102- * "git merge-file" learns a mode to read three contents to be merged
103103- from blob objects.
108108+ * "git merge-file" learns a mode to read three variants of the
109109+ contents to be merged from blob objects.
104110105111106112Performance, Internal Implementation, Development Support etc.
···110116 * It may be tempting to leave the help text NULL for a command line
111117 option that is either hidden or too obvious, but "git subcmd -h"
112118 and "git subcmd --help-all" would have segfaulted if done so. Now
113113- the help text is optional.
119119+ the help text is truly optional.
114120115121 * Tests that are known to pass with LSan are now marked as such.
116122···122128 filtering the uninteresting output.
123129124130 * Unused parameters to functions are marked as such, and/or removed,
125125- in order to bring us closer to -Wunused-parameter clean.
131131+ in order to bring us closer to "-Wunused-parameter" clean.
126132127133 * The code to keep track of existing packs in the repository while
128134 repacking has been refactored.
···161167 non-zero generation numbers has been updated.
162168163169 * "git diff -w --exit-code" with various options did not work
164164- correctly, which is being addressed.
170170+ correctly, which has been corrected.
165171166166- * transfer.unpackLimit ought to be used as a fallback, but overrode
167167- fetch.unpackLimit and receive.unpackLimit instead.
172172+ * The "transfer.unpackLimit" configuration variable ought to be used
173173+ as a fallback, but overrode the more specific "fetch.unpackLimit"
174174+ and "receive.unpackLimit" configuration variables by mistake, which
175175+ has been corrected.
168176169177 * The use of API between two calls to require_clean_work_tree() from
170178 the sequencer code has been cleaned up for consistency.
···172180 * "git diff --no-such-option" and other corner cases around the exit
173181 status of the "diff" command have been corrected.
174182175175- * "git for-each-ref --sort='contents:size'" sorts the refs according
183183+ * "git for-each-ref --sort='contents:size'" sorted the refs according
176184 to size numerically, giving a ref that points at a blob twelve-byte
177177- (12) long before showing a blob hundred-byte (100) long.
185185+ (12) long before showing a blob hundred-byte (100) long, which has
186186+ been corrected.
178187179188 * We now limit the depth of the tree objects and maximum length of
180189 pathnames recorded in tree objects.
181190 (merge 4d5693ba05 jk/tree-name-and-depth-limit later to maint).
182191183183- * Various fixes to the behavior of "rebase -i" when the command got
184184- interrupted by conflicting changes.
192192+ * Various fixes to the behavior of "rebase -i", when the command got
193193+ interrupted by conflicting changes, have been made.
185194186195 * References from a description of the `--patch` option in various
187196 manual pages have been simplified and improved.
188197189198 * "git grep -e A --no-or -e B" is accepted, even though the negation
190190- of "or" did not mean anything, which has been tightened.
199199+ of the "--or" option did not mean anything, which has been tightened.
191200192201 * The completion script (in contrib/) has been taught to treat the
193202 "-t" option to "git checkout" and "git switch" just like the
···196205 * "git diff --no-index -R <(one) <(two)" did not work correctly,
197206 which has been corrected.
198207199199- * Update "git maintenance" timers' implementation based on systemd
200200- timers to work with WSL.
208208+ * "git maintenance" timers' implementation has been updated, based on
209209+ systemd timers, to work with WSL.
201210202211 * "git diff --cached" codepath did not fill the necessary stat
203212 information for a file when fsmonitor knows it is clean and ended
204204- up behaving as if it is not clean, which has been corrected.
213213+ up behaving as if it were not clean, which has been corrected.
205214206206- * Clarify how "alias.foo = : git cmd ; aliased-command-string" should be
207207- spelled with necessary whitespace around punctuation marks to
208208- work.
215215+ * How "alias.foo = : git cmd ; aliased-command-string" should be
216216+ spelled with necessary whitespace around punctuation marks to work
217217+ has been more clearly documented (but this will be moot with newer
218218+ versions of Git where the parsing rules have been improved).
209219210220 * HTTP Header redaction code has been adjusted for a newer version of
211221 cURL library that shows its traces differently from earlier
212222 versions.
213223214214- * An error message given by "git send-email" when given a malformed
215215- address did not give correct information, which has been corrected.
224224+ * An error message given by "git send-email", when given a malformed
225225+ address, did not show the offending address, which has been corrected.
216226217227 * UBSan options were not propagated through the test framework to git
218228 run via the httpd, unlike ASan options, which has been corrected.
···229239 * Update mailmap entry for Derrick.
230240 (merge 6e5457d8c7 ds/mailmap-entry-update later to maint).
231241232232- * In .gitmodules files, submodules are keyed by their names, and the
233233- path to the submodule whose name is $name is specified by the
234234- submodule.$name.path variable. There were a few codepaths that
242242+ * In the ".gitmodules" files, submodules are keyed by their names,
243243+ and the path to the submodule whose name is $name is specified by
244244+ the submodule.$name.path variable. There were a few codepaths that
235245 mixed the name and path up when consulting the submodule database,
236246 which have been corrected. It took long for these bugs to be found
237247 as the name of a submodule initially is the same as its path, and
···244254 corrected.
245255 (merge 4adceb5a29 ar/diff-index-merge-base-fix later to maint).
246256247247- * Fix "git merge-tree" to stop segfaulting when the --attr-source
248248- option is used.
257257+ * "git merge-tree" used to segfault when the "--attr-source"
258258+ option is used, which has been corrected.
249259 (merge e95bafc52f jc/merge-ort-attr-index-fix later to maint).
250260251261 * Unlike "git log --pretty=%D", "git log --pretty="%(decorate)" did
···276286 the top level of the working tree; it has been corrected to read
277287 "sub/patterns" instead.
278288279279-280289 * "git reflog expire --single-worktree" has been broken for the past
281290 20 months or so, which has been corrected.
282291···300309 non-commit objects, which has been corrected.
301310 (merge 7b3c8e9f38 tb/rev-list-unpacked-fix later to maint).
302311312312+ * "To dereference" and "to peel" were sometimes used in in-code
313313+ comments and documentation but without description in the glossary.
314314+ (merge 893dce2ffb vd/glossary-dereference-peel later to maint).
315315+303316 * Other code cleanup, docfix, build fix, etc.
304317 (merge c2c349a15c xz/commit-title-soft-limit-doc later to maint).
305318 (merge 1bd809938a tb/format-pack-doc-update later to maint).
···307320 (merge 3ca86adc2d la/strvec-header-fix later to maint).
308321 (merge 6789275d37 jc/test-i18ngrep later to maint).
309322 (merge 9972cd6004 ps/leakfixes later to maint).
323323+ (merge 46edab516b tz/send-email-helpfix later to maint).