Git fork

Git 2.43

Signed-off-by: Junio C Hamano <gitster@pobox.com>

+70 -56
+69 -55
Documentation/RelNotes/2.43.0.txt
··· 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 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 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 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 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 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 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. ··· 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 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 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 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 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 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). ··· 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).
+1 -1
GIT-VERSION-GEN
··· 1 1 #!/bin/sh 2 2 3 3 GVF=GIT-VERSION-FILE 4 - DEF_VER=v2.43.0-rc2 4 + DEF_VER=v2.43.0 5 5 6 6 LF=' 7 7 '