Git fork

Sync with Git 2.51.2

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

+45 -54
+45
Documentation/RelNotes/2.51.2.adoc
··· 1 + Git 2.51.2 Release Notes 2 + ======================== 3 + 4 + In addition to fixes for an unfortunate regression introduced in Git 5 + 2.51.1 that caused "git diff --quiet -w" to be not so quiet when there 6 + are additions, deletions and conflicts, this maintenance release merges 7 + more fixes/improvements that have landed on the master front, primarily 8 + to make the CI part of the system a bit more robust. 9 + 10 + 11 + Fixes since Git 2.51.1 12 + ---------------------- 13 + 14 + * Recently we attempted to improve "git diff -w --quiet" and friends 15 + to handle cases where patch output would be suppressed, but it 16 + introduced a bug that emits unnecessary output, which has been 17 + corrected. 18 + 19 + * The code to squelch output from "git diff -w --name-status" 20 + etc. for paths that "git diff -w -p" would have stayed silent 21 + leaked output from dry-run patch generation, which has been 22 + corrected. 23 + 24 + * Windows "real-time monitoring" interferes with the execution of 25 + tests and affects negatively in both correctness and performance, 26 + which has been disabled in Gitlab CI. 27 + 28 + * An earlier addition to "git diff --no-index A B" to limit the 29 + output with pathspec after the two directories misbehaved when 30 + these directories were given with a trailing slash, which has been 31 + corrected. 32 + 33 + * The "--short" option of "git status" that meant output for humans 34 + and "-z" option to show NUL delimited output format did not mix 35 + well, and colored some but not all things. The command has been 36 + updated to color all elements consistently in such a case. 37 + 38 + * Unicode width table update. 39 + 40 + * Recent OpenSSH creates the Unix domain socket to communicate with 41 + ssh-agent under $HOME instead of /tmp, which causes our test to 42 + fail doe to overly long pathname in our test environment, which has 43 + been worked around by using "ssh-agent -T". 44 + 45 + Also contains various documentation updates, code cleanups and minor fixups.
-54
Documentation/RelNotes/2.52.0.adoc
··· 104 104 105 105 * Adjust to the way newer versions of cURL selectively enable tracing 106 106 options, so that our tests can continue to work. 107 - (merge 1b5a6bfff3 jk/curl-global-trace-components later to maint). 108 107 109 108 * The clear_alloc_state() API function was not fully clearing the 110 109 structure for reuse, but since nobody reuses it, replace it with a ··· 147 146 148 147 * During interactive rebase, using 'drop' on a merge commit lead to 149 148 an error, which was incorrect. 150 - (merge 4d491ade8f js/rebase-i-allow-drop-on-a-merge later to maint). 151 149 152 150 * "git refs migrate" to migrate the reflog entries from a refs 153 151 backend to another had a handful of bugs squashed. 154 - (merge 465eff81de ps/reflog-migrate-fixes later to maint). 155 152 156 153 * "git remote rename origin upstream" failed to move origin/HEAD to 157 154 upstream/HEAD when origin/HEAD is unborn and performed other ··· 164 161 * "git push" had a code path that led to BUG() but it should have 165 162 been a die(), as it is a response to a usual but invalid end-user 166 163 action to attempt pushing an object that does not exist. 167 - (merge dfbfc2221b dl/push-missing-object-error later to maint). 168 164 169 165 * Various bugs about rename handling in "ort" merge strategy have 170 166 been fixed. 171 - (merge f6ecb603ff en/ort-rename-fixes later to maint). 172 167 173 168 * "git jump" (in contrib/) fails to parse the diff header correctly 174 169 when a file has a space in its name, which has been corrected. ··· 179 174 the prefix from the output, and oddballs like "-" (stdin) did not 180 175 work correctly because of it. Correct the set-up by undoing what 181 176 the set-up sequence did to cwd and prefix. 182 - (merge e1d3d61a45 jc/diff-no-index-in-subdir later to maint). 183 177 184 178 * Various options to "git diff" that makes comparison ignore certain 185 179 aspects of the differences (like "space changes are ignored", ··· 188 182 (merge b55e6d36eb ly/diff-name-only-with-diff-from-content later to maint). 189 183 190 184 * The above caused regressions, which has been corrected. 191 - (merge 623f7af2 jk/diff-from-contents-fix later to maint). 192 - (merge 3da4413d jc/diff-from-contents-fix later to maint). 193 185 194 186 * Documentation for "git rebase" has been updated. 195 187 (merge 3f7f2b0359 je/doc-rebase later to maint). ··· 197 189 * The start_delayed_progress() function in the progress eye-candy API 198 190 did not clear its internal state, making an initial delay value 199 191 larger than 1 second ineffective, which has been corrected. 200 - (merge 457534d041 js/progress-delay-fix later to maint). 201 192 202 193 * The compatObjectFormat extension is used to hide an incomplete 203 194 feature that is not yet usable for any purpose other than 204 195 developing the feature further. Document it as such to discourage 205 196 its use by mere mortals. 206 - (merge 716d905792 bc/doc-compat-object-format-not-working later to maint). 207 197 208 198 * "git log -L..." compared trees of multiple parents with the tree of the 209 199 merge result in an unnecessarily inefficient way. ··· 213 203 repository, especially a partially cloned one, "git fetch" may 214 204 mistakenly think some objects we do have are missing, which has 215 205 been corrected. 216 - (merge 8f32a5a6c0 jk/fetch-check-graph-objects-fix later to maint). 217 206 218 207 * "git fetch" can clobber a symref that is dangling when the 219 208 remote-tracking HEAD is set to auto update, which has been ··· 225 214 226 215 * Manual page for "gitk" is updated with the current maintainer's 227 216 name. 228 - (merge bcb20dda83 js/doc-gitk-history later to maint). 229 217 230 218 * Update the instructions for using GGG in the MyFirstContribution 231 219 document to say that a GitHub PR could be made against `git/git` 232 220 instead of `gitgitgadget/git`. 233 - (merge 37001cdbc4 ds/doc-ggg-pr-fork-clarify later to maint). 234 221 235 222 * Makefile tried to run multiple "cargo build" which would not work 236 223 very well; serialize their execution to work around this problem. 237 - (merge 0eeacde50e da/cargo-serialize later to maint). 238 224 239 225 * "git repack --path-walk" lost objects in some corner cases, which 240 226 has been corrected. 241 - (merge 93afe9b060 ds/path-walk-repack-fix later to maint). 242 227 243 228 * "git ls-files <pathspec>..." should not necessarily have to expand 244 229 the index fully if a sparsified directory is excluded by the ··· 249 234 * Windows "real-time monitoring" interferes with the execution of 250 235 tests and affects negatively in both correctness and performance, 251 236 which has been disabled in Gitlab CI. 252 - (merge 608cf5b793 ps/gitlab-ci-disable-windows-monitoring later to maint). 253 237 254 238 * A broken or malicious "git fetch" can say that it has the same 255 239 object for many many times, and the upload-pack serving it can 256 240 exhaust memory storing them redundantly, which has been corrected. 257 - (merge 88a2dc68c8 ps/upload-pack-oom-protection later to maint). 258 241 259 242 * A corner case bug in "git log -L..." has been corrected. 260 - (merge e3106998ff sg/line-log-boundary-fixes later to maint). 261 243 262 244 * "git rev-parse --short" and friends failed to disambiguate two 263 245 objects with object names that share common prefix longer than 32 ··· 267 249 * Some among "git add -p" and friends ignored color.diff and/or 268 250 color.ui configuration variables, which is an old regression, which 269 251 has been corrected. 270 - (merge 1092cd6435 jk/add-i-color later to maint). 271 252 272 253 * "git subtree" (in contrib/) did not work correctly when splitting 273 254 squashed subtrees, which has been improved. ··· 283 264 * "git rebase -i" failed to clean-up the commit log message when the 284 265 command commits the final one in a chain of "fixup" commands, which 285 266 has been corrected. 286 - (merge 82a0a73e15 pw/rebase-i-cleanup-fix later to maint). 287 267 288 268 * There are double frees and leaks around setup_revisions() API used 289 269 in "git stash show", which has been fixed, and setup_revisions() ··· 294 274 * Deal more gracefully with directory / file conflicts when the files 295 275 backend is used for ref storage, by failing only the ones that are 296 276 involved in the conflict while allowing others. 297 - (merge 948b2ab0d8 kn/refs-files-case-insensitive later to maint). 298 277 299 278 * "git last-modified" operating in non-recursive mode used to trigger 300 279 a BUG(), which has been corrected. ··· 307 286 * The "do you still use it?" message given by a command that is 308 287 deeply deprecated and allow us to suggest alternatives has been 309 288 updated. 310 - (merge 54a60e5b38 kh/you-still-use-whatchanged-fix later to maint). 311 289 312 290 * Clang-format update to let our control macros be formatted the way we 313 291 had them traditionally, e.g., "for_each_string_list_item()" without 314 292 space before the parentheses. 315 - (merge 3721541d35 jt/clang-format-foreach-wo-space-before-parenthesis later to maint). 316 293 317 294 * A few places where a size_t value was cast to curl_off_t without 318 295 checking has been updated to use the existing helper function. 319 - (merge ecc5749578 js/curl-off-t-fixes later to maint). 320 296 321 297 * "git reflog write" did not honor the configured user.name/email 322 298 which has been corrected. ··· 328 304 environment, but Ubuntu replaced with "sudo" with an implementation 329 305 that lacks the feature. Work this around by reinstalling the 330 306 original version. 331 - (merge fddb484255 ps/ci-avoid-broken-sudo-on-ubuntu later to maint). 332 307 333 308 * The reftable backend learned to sanity check its on-disk data more 334 309 carefully. ··· 355 330 output with pathspec after the two directories misbehaved when 356 331 these directories were given with a trailing slash, which has been 357 332 corrected. 358 - (merge c0bec06cfe jk/diff-no-index-with-pathspec-fix later to maint). 359 333 360 334 * The "--short" option of "git status" that meant output for humans 361 335 and "-z" option to show NUL delimited output format did not mix 362 336 well, and colored some but not all things. The command has been 363 337 updated to color all elements consistently in such a case. 364 - (merge 50927f4f68 jk/status-z-short-fix later to maint). 365 338 366 339 * Unicode width table update. 367 - (merge 330a54099e tb/unicode-width-table-17 later to maint). 368 340 369 341 * GPG signing test set-up has been broken for a year, which has been 370 342 corrected. ··· 374 346 ssh-agent under $HOME instead of /tmp, which causes our test to 375 347 fail doe to overly long pathname in our test environment, which has 376 348 been worked around by using "ssh-agent -T". 377 - (merge b7fb2194b9 ps/t7528-ssh-agent-uds-workaround later to maint). 378 349 379 350 * Other code cleanup, docfix, build fix, etc. 380 - (merge 823d537fa7 kh/doc-git-log-markup-fix later to maint). 381 - (merge cf7efa4f33 rj/t6137-cygwin-fix later to maint). 382 351 (merge 529a60a885 ua/t1517-short-help-tests later to maint). 383 352 (merge 22d421fed9 ac/deglobal-fmt-merge-log-config later to maint). 384 - (merge 741f36c7d9 kr/clone-synopsis-fix later to maint). 385 353 (merge a60203a015 dk/t7005-editor-updates later to maint). 386 - (merge 7d4a5fef7d ds/doc-count-objects-fix later to maint). 387 354 (merge 16684b6fae ps/reftable-libgit2-cleanup later to maint). 388 - (merge f38786baa7 ja/asciidoc-doctor-verbatim-fixes later to maint). 389 - (merge 374579c6d4 kh/doc-interpret-trailers-markup-fix later to maint). 390 - (merge 44dce6541c kh/doc-config-typofix later to maint). 391 - (merge 785628b173 js/doc-sending-patch-via-thunderbird later to maint). 392 355 (merge e5c27bd3d8 je/doc-add later to maint). 393 356 (merge 13296ac909 ps/object-store-midx-dedup-info later to maint). 394 - (merge 2f4bf83ffc km/alias-doc-markup-fix later to maint). 395 - (merge b0d97aac19 kh/doc-markup-fixes later to maint). 396 357 (merge f9a6705d9a tc/t0450-harden later to maint). 397 - (merge c25651aefd ds/midx-write-fixes later to maint). 398 - (merge 069c15d256 rs/object-name-extend-abbrev-len-update later to maint). 399 - (merge bf5c224537 mm/worktree-doc-typofix later to maint). 400 - (merge 31397bc4f7 kh/doc-fast-import-markup-fix later to maint). 401 - (merge ac7096723b jc/doc-includeif-hasconfig-remote-url-fix later to maint). 402 - (merge fafc9b08b8 ag/doc-sendmail-gmail-example-update later to maint). 403 358 (merge a66fc22bf9 rs/get-oid-with-flags-cleanup later to maint). 404 - (merge e1d062e8ba ps/odb-clean-stale-wrappers later to maint). 405 - (merge fdd21ba116 mh/doc-credential-url-prefix later to maint). 406 - (merge 1c573a3451 en/doc-merge-tree-describe-merge-base later to maint). 407 - (merge 84a6bf7965 ja/doc-markup-attached-paragraph-fix later to maint). 408 - (merge 399694384b kh/doc-patch-id-markup-fix later to maint). 409 359 (merge 15b8abde07 js/mingw-includes-cleanup later to maint). 410 - (merge 3860985105 js/unreachable-workaround-for-no-symlink-head later to maint). 411 - (merge b3ac6e737d kh/doc-continued-paragraph-fix later to maint). 412 360 (merge 2cebca0582 tb/cat-file-objectmode-update later to maint). 413 - (merge 96978d7545 js/ci-github-actions-update later to maint). 414 - (merge 0c4f1346ca so/t2401-use-test-path-helpers later to maint).