| Git v2.52 Release Notes | |
| ======================= | |
| UI, Workflows & Features | |
| ------------------------ | |
| * The "list" subcommand of "git refs" acts as a front-end for | |
| "git for-each-ref". | |
| * "git cmd --help-all" now works outside repositories. | |
| * "git diff-tree" learned "--max-depth" option. | |
| * A new subcommand "git repo" gives users a way to grab various | |
| repository characteristics. | |
| Performance, Internal Implementation, Development Support etc. | |
| -------------------------------------------------------------- | |
| * string_list_split*() family of functions have been extended to | |
| simplify common use cases. | |
| * Arrays of strbuf is often a wrong data structure to use, and | |
| strbuf_split*() family of functions that create them often have | |
| better alternatives. Update several code paths and replace | |
| strbuf_split*(). | |
| * Revision traversal limited with pathspec, like "git log dir/*", | |
| used to ignore changed-paths Bloom filter when the pathspec | |
| contained wildcards; now they take advantage of the filter when | |
| they can. | |
| * Doc lint updates to encourage the newer and easier-to-use | |
| `synopsis` format, with fixes to a handful of existing uses. | |
| * Remove dependency on the_repository and other globals from the | |
| commit-graph code, and other changes unrelated to de-globaling. | |
| * Discord has been added to the first contribution documentation as | |
| another way to ask for help. | |
| Fixes since v2.51 | |
| ----------------- | |
| Unless otherwise noted, all the changes in 2.51.X maintenance track, | |
| including security updates, are included in this release. | |
| * During interactive rebase, using 'drop' on a merge commit lead to | |
| an error, which was incorrect. | |
| (merge 4d491ade8f js/rebase-i-allow-drop-on-a-merge later to maint). | |
| * "git refs migrate" to migrate the reflog entries from a refs | |
| backend to another had a handful of bugs squashed. | |
| (merge 465eff81de ps/reflog-migrate-fixes later to maint). | |
| * "git remote rename origin upstream" failed to move origin/HEAD to | |
| upstream/HEAD when origin/HEAD is unborn and performed other | |
| renames extremely inefficiently, which has been corrected. | |
| (merge 16c4fa26b9 ps/remote-rename-fix later to maint). | |
| * "git describe" has been optimized by using better data structure. | |
| (merge 08bb69d70f rs/describe-with-prio-queue later to maint). | |
| * "git push" had a code path that led to BUG() but it should have | |
| been a die(), as it is a response to a usual but invalid end-user | |
| action to attempt pushing an object that does not exist. | |
| (merge dfbfc2221b dl/push-missing-object-error later to maint). | |
| * Various bugs about rename handling in "ort" merge strategy have | |
| been fixed. | |
| (merge f6ecb603ff en/ort-rename-fixes later to maint). | |
| * "git jump" (in contrib/) fails to parse the diff header correctly | |
| when a file has a space in its name, which has been corrected. | |
| (merge 621ce9c1c6 gh/git-jump-pathname-with-sp later to maint). | |
| * "git diff --no-index" run inside a subdirectory under control of a | |
| Git repository operated at the top of the working tree and stripped | |
| the prefix from the output, and oddballs like "-" (stdin) did not | |
| work correctly because of it. Correct the set-up by undoing what | |
| the set-up sequence did to cwd and prefix. | |
| (merge e1d3d61a45 jc/diff-no-index-in-subdir later to maint). | |
| * Various options to "git diff" that makes comparison ignore certain | |
| aspects of the differences (like "space changes are ignored", | |
| "differences in lines that match these regular expressions are | |
| ignored") did not work well with "--name-only" and friends. | |
| (merge b55e6d36eb ly/diff-name-only-with-diff-from-content later to maint). | |
| * Documentation for "git rebase" has been updated. | |
| (merge 3f7f2b0359 je/doc-rebase later to maint). | |
| * The start_delayed_progress() function in the progress eye-candy API | |
| did not clear its internal state, making an initial delay value | |
| larger than 1 second ineffective, which has been corrected. | |
| (merge 457534d041 js/progress-delay-fix later to maint). | |
| * The compatObjectFormat extension is used to hide an incomplete | |
| feature that is not yet usable for any purpose other than | |
| developing the feature further. Document it as such to discourage | |
| its use by mere mortals. | |
| (merge 716d905792 bc/doc-compat-object-format-not-working later to maint). | |
| * "git log -L..." compared trees of multiple parents with the tree of the | |
| merge result in an unnecessarily inefficient way. | |
| (merge 0a15bb634c sg/line-log-merge-optim later to maint). | |
| * Under a race against another process that is repacking the | |
| repository, especially a partially cloned one, "git fetch" may | |
| mistakenly think some objects we do have are missing, which has | |
| been corrected. | |
| (merge 8f32a5a6c0 jk/fetch-check-graph-objects-fix later to maint). | |
| * "git fetch" can clobber a symref that is dangling when the | |
| remote-tracking HEAD is set to auto update, which has been | |
| corrected. | |
| * "git describe <blob>" misbehaves and/or crashes in some corner | |
| cases, which has been taught to exit with failure gracefully. | |
| (merge 7c10e48e81 jk/describe-blob later to maint). | |
| * Manual page for "gitk" is updated with the current maintainer's | |
| name. | |
| (merge bcb20dda83 js/doc-gitk-history later to maint). | |
| * Update the instruction to use of GGG in the MyFirstContribution | |
| document to say that a GitHub PR could be made against `git/git` | |
| instead of `gitgitgadget/git`. | |
| (merge 37001cdbc4 ds/doc-ggg-pr-fork-clarify later to maint). | |
| * Other code cleanup, docfix, build fix, etc. | |
| (merge 823d537fa7 kh/doc-git-log-markup-fix later to maint). | |
| (merge cf7efa4f33 rj/t6137-cygwin-fix later to maint). | |
| (merge 529a60a885 ua/t1517-short-help-tests later to maint). | |
| (merge 22d421fed9 ac/deglobal-fmt-merge-log-config later to maint). | |
| (merge 741f36c7d9 kr/clone-synopsis-fix later to maint). | |
| (merge a60203a015 dk/t7005-editor-updates later to maint). | |
| (merge 7d4a5fef7d ds/doc-count-objects-fix later to maint). | |
| (merge 16684b6fae ps/reftable-libgit2-cleanup later to maint). | |
| (merge f38786baa7 ja/asciidoc-doctor-verbatim-fixes later to maint). | |
| (merge 374579c6d4 kh/doc-interpret-trailers-markup-fix later to maint). | |
| (merge 44dce6541c kh/doc-config-typofix later to maint). | |
| (merge 785628b173 js/doc-sending-patch-via-thunderbird later to maint). |