| Git 2.34 Release Notes |
| ====================== |
| |
| Updates since Git 2.33 |
| ---------------------- |
| |
| UI, Workflows & Features |
| |
| * Pathname expansion (like "~username/") learned a way to specify a |
| location relative to Git installation (e.g. its $sharedir which is |
| $(prefix)/share), with "%(prefix)". |
| |
| * Use `ort` instead of `recursive` as the default merge strategy. |
| |
| * The userdiff pattern for "java" language has been updated. |
| |
| |
| Performance, Internal Implementation, Development Support etc. |
| |
| * "git bisect" spawned "git show-branch" only to pretty-print the |
| title of the commit after checking out the next version to be |
| tested; this has been rewritten in C. |
| |
| * "git add" can work better with the sparse index. |
| |
| * Support for ancient versions of cURL library (pre 7.19.4) has been |
| dropped. |
| |
| * A handful of tests that assumed implementation details of files |
| backend for refs have been cleaned up. |
| |
| * trace2 logs learned to show parent process name to see in what |
| context Git was invoked. |
| |
| * Loading of ref tips to prepare for common ancestry negotiation in |
| "git fetch-pack" has been optimized by taking advantage of the |
| commit graph when available. |
| |
| * Remind developers that the userdiff patterns should be kept simple |
| and permissive, assuming that the contents they apply are always |
| syntactically correct. |
| |
| * The current implementation of GIT_TEST_FAIL_PREREQS is broken in |
| that checking for the lack of a prerequisite would not work. Avoid |
| the use of "if ! test_have_prereq X" in a test script. |
| |
| * The revision traversal API has been optimized by taking advantage |
| of the commit-graph, when available, to determine if a commit is |
| reachable from any of the existing refs. |
| |
| |
| Fixes since v2.33 |
| ----------------- |
| |
| * Input validation of "git pack-objects --stdin-packs" has been |
| corrected. |
| (merge 561fa03529 ab/pack-stdin-packs-fix later to maint). |
| |
| * Bugfix for common ancestor negotiation recently introduced in "git |
| push" code path. |
| (merge 82823118b9 jt/push-negotiation-fixes later to maint). |
| |
| * "git pull" had various corner cases that were not well thought out |
| around its --rebase backend, e.g. "git pull --ff-only" did not stop |
| but went ahead and rebased when the history on other side is not a |
| descendant of our history. The series tries to fix them up. |
| (merge 6f843a3355 en/pull-conflicting-options later to maint). |
| |
| * "git apply" miscounted the bytes and failed to read to the end of |
| binary hunks. |
| (merge 46d723ce57 jk/apply-binary-hunk-parsing-fix later to maint). |
| |
| * "git range-diff" code clean-up. |
| (merge c4d5907324 jk/range-diff-fixes later to maint). |
| |
| * "git commit --fixup" now works with "--edit" again, after it was |
| broken in v2.32. |
| (merge 8ef6aad664 jk/commit-edit-fixup-fix later to maint). |
| |
| * Use upload-artifacts v1 (instead of v2) for 32-bit linux, as the |
| new version has a blocker bug for that architecture. |
| (merge 3cf9bb36bf cb/ci-use-upload-artifacts-v1 later to maint). |
| |
| * Checking out all the paths from HEAD during the last conflicted |
| step in "git rebase" and continuing would cause the step to be |
| skipped (which is expected), but leaves MERGE_MSG file behind in |
| $GIT_DIR and confuses the next "git commit", which has been |
| corrected. |
| (merge e5ee33e855 pw/rebase-skip-final-fix later to maint). |
| |
| * Various bugs in "git rebase -r" have been fixed. |
| (merge f2563c9ef3 pw/rebase-r-fixes later to maint). |
| |
| * mmap() imitation used to call xmalloc() that dies upon malloc() |
| failure, which has been corrected to just return an error to the |
| caller to be handled. |
| (merge 95b4ff3931 rs/git-mmap-uses-malloc later to maint). |
| |
| * "git diff --relative" segfaulted and/or produced incorrect result |
| when there are unmerged paths. |
| (merge 8174627b3d dd/diff-files-unmerged-fix later to maint). |
| |
| * The delayed checkout code path in "git checkout" etc. were chatty |
| even when --quiet and/or --no-progress options were given. |
| (merge 7a132c628e mt/quiet-with-delayed-checkout later to maint). |
| |
| * "git branch -D <branch>" used to refuse to remove a broken branch |
| ref that points at a missing commit, which has been corrected. |
| (merge 597a977489 rs/branch-allow-deleting-dangling later to maint). |
| |
| * Build update for Apple clang. |
| (merge f32c5d3716 cb/makefile-apple-clang later to maint). |
| |
| * The parser for the "--nl" option of "git column" has been |
| corrected. |
| (merge c93ca46cf5 sg/column-nl later to maint). |
| |
| * Other code cleanup, docfix, build fix, etc. |
| (merge 1d9c8daef8 ab/bundle-doc later to maint). |
| (merge 81483fe613 en/merge-strategy-docs later to maint). |
| (merge 626beebdf8 js/log-protocol-version later to maint). |
| (merge 00e302da76 cb/builtin-merge-format-string-fix later to maint). |
| (merge ad51ae4dc0 cb/ci-freebsd-update later to maint). |
| (merge be6444d1ca fc/completion-updates later to maint). |
| (merge ff7b83f562 ti/tcsh-completion-regression-fix later to maint). |
| (merge 325b06deda sg/make-fix-ar-invocation later to maint). |
| (merge bd72824c60 me/t5582-cleanup later to maint). |
| (merge f6a5af0f62 ga/send-email-sendmail-cmd later to maint). |
| (merge f58c7468cd ab/ls-remote-packet-trace later to maint). |
| (merge 0160f7e725 ab/rebase-fatal-fatal-fix later to maint). |
| (merge a16eb6b1ff js/maintenance-launchctl-fix later to maint). |
| (merge c21b2511c2 jk/t5323-no-pack-test-fix later to maint). |
| (merge 5146c2f148 mh/credential-leakfix later to maint). |
| (merge 1549577338 dd/t6300-wo-gpg-fix later to maint). |
| (merge 66e905b7dd rs/xopen-reports-open-failures later to maint). |