1Git 2.23 Release Notes 2====================== 3 4Updates since v2.22 5------------------- 6 7Backward compatibility note 8 9 * The "--base" option of "format-patch" computed the patch-ids for 10 prerequisite patches in an unstable way, which has been updated to 11 compute in a way that is compatible with "git patch-id --stable". 12 13 14UI, Workflows & Features 15 16 * The "git fast-export/import" pair has been taught to handle commits 17 with log messages in encoding other than UTF-8 better. 18 19 * In recent versions of Git, per-worktree refs are exposed in 20 refs/worktrees/<wtname>/ hierarchy, which means that worktree names 21 must be a valid refname component. The code now sanitizes the names 22 given to worktrees, to make sure these refs are well-formed. 23 24 * "git merge" learned "--quit" option that cleans up the in-progress 25 merge while leaving the working tree and the index still in a mess. 26 27 * "git format-patch" learns a configuration to set the default for 28 its --notes=<ref> option. 29 30 * The code to show args with potential typo that cannot be 31 interpreted as a commit-ish has been improved. 32 33 34Performance, Internal Implementation, Development Support etc. 35 36 * Update supporting parts of "git rebase" to remove code that should 37 no longer be used. 38 39 * Developer support to emulate unsatisfied prerequisites in tests to 40 ensure that the remainer of the tests still succeeds when tests 41 with prerequisites are skipped. 42 43 * "git update-server-info" learned not to rewrite the file with the 44 same contents. 45 46 * The way of specifying the path to find dynamic libraries at runtime 47 has been simplified. The old default to pass -R/path/to/dir has been 48 replaced with the new default to pass -Wl,-rpath,/path/to/dir, 49 which is the more recent GCC uses. Those who need to build with an 50 old GCC can still use "CC_LD_DYNPATH=-R" 51 52 53Fixes since v2.22 54----------------- 55 56 * A relative pathname given to "git init --template=<path> <repo>" 57 ought to be relative to the directory "git init" gets invoked in, 58 but it instead was made relative to the repository, which has been 59 corrected. 60 (merge e1df7fe43f nd/init-relative-template-fix later to maint). 61 62 * "git worktree add" used to fail when another worktree connected to 63 the same repository was corrupt, which has been corrected. 64 (merge 105df73e71 nd/corrupt-worktrees later to maint). 65 66 * The ownership rule for the file descriptor to fast-import remote 67 backend was mixed up, leading to unrelated file descriptor getting 68 closed, which has been fixed. 69 (merge 3203566a71 mh/import-transport-fd-fix later to maint). 70 71 * A "merge -c" instruction during "git rebase --rebase-merges" should 72 give the user a chance to edit the log message, even when there is 73 otherwise no need to create a new merge and replace the existing 74 one (i.e. fast-forward instead), but did not. Which has been 75 corrected. 76 77 * Other code cleanup, docfix, build fix, etc.