]>
Commit | Line | Data |
---|---|---|
0aae918d JH |
1 | Git 2.23 Release Notes |
2 | ====================== | |
3 | ||
4 | Updates since v2.22 | |
5 | ------------------- | |
6 | ||
7 | Backward 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 | ||
14 | UI, 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 | ||
a6a95cd1 JH |
33 | * "git clone --recurse-submodules" learned to set up the submodules |
34 | to ignore commit object names recorded in the superproject gitlink | |
35 | and instead use the commits that happen to be at the tip of the | |
36 | remote-tracking branches from the get-go, by passing the new | |
37 | "--remote-submodules" option. | |
38 | ||
39 | * The pattern "git diff/grep" use to extract funcname and words | |
40 | boundary for Matlab has been extend to cover Octave, which is more | |
41 | or less equivalent. | |
42 | ||
43 | * "git help git" was hard to discover (well, at least for some | |
44 | people). | |
45 | ||
8dca754b JH |
46 | * The pattern "git diff/grep" use to extract funcname and words |
47 | boundary for Rust has been added. | |
48 | ||
0aae918d JH |
49 | |
50 | Performance, Internal Implementation, Development Support etc. | |
51 | ||
52 | * Update supporting parts of "git rebase" to remove code that should | |
53 | no longer be used. | |
54 | ||
55 | * Developer support to emulate unsatisfied prerequisites in tests to | |
56 | ensure that the remainer of the tests still succeeds when tests | |
57 | with prerequisites are skipped. | |
58 | ||
59 | * "git update-server-info" learned not to rewrite the file with the | |
60 | same contents. | |
61 | ||
62 | * The way of specifying the path to find dynamic libraries at runtime | |
63 | has been simplified. The old default to pass -R/path/to/dir has been | |
64 | replaced with the new default to pass -Wl,-rpath,/path/to/dir, | |
65 | which is the more recent GCC uses. Those who need to build with an | |
66 | old GCC can still use "CC_LD_DYNPATH=-R" | |
67 | ||
a6a95cd1 JH |
68 | * Prepare use of reachability index in topological walker that works |
69 | on a range (A..B). | |
70 | ||
71 | * A new tutorial targetting specifically aspiring git-core | |
72 | developers has been added. | |
73 | ||
74 | ||
0aae918d JH |
75 | |
76 | Fixes since v2.22 | |
77 | ----------------- | |
78 | ||
79 | * A relative pathname given to "git init --template=<path> <repo>" | |
80 | ought to be relative to the directory "git init" gets invoked in, | |
81 | but it instead was made relative to the repository, which has been | |
82 | corrected. | |
83 | (merge e1df7fe43f nd/init-relative-template-fix later to maint). | |
84 | ||
85 | * "git worktree add" used to fail when another worktree connected to | |
86 | the same repository was corrupt, which has been corrected. | |
87 | (merge 105df73e71 nd/corrupt-worktrees later to maint). | |
88 | ||
89 | * The ownership rule for the file descriptor to fast-import remote | |
90 | backend was mixed up, leading to unrelated file descriptor getting | |
91 | closed, which has been fixed. | |
92 | (merge 3203566a71 mh/import-transport-fd-fix later to maint). | |
93 | ||
94 | * A "merge -c" instruction during "git rebase --rebase-merges" should | |
95 | give the user a chance to edit the log message, even when there is | |
96 | otherwise no need to create a new merge and replace the existing | |
97 | one (i.e. fast-forward instead), but did not. Which has been | |
98 | corrected. | |
99 | ||
a6a95cd1 JH |
100 | * Code cleanup and futureproof. |
101 | (merge 31f5256c82 ds/object-info-for-prefetch-fix later to maint). | |
102 | ||
103 | * More parameter validation. | |
104 | (merge de99eb0c24 es/grep-require-name-when-needed later to maint). | |
105 | ||
106 | * "git update-server-info" used to leave stale packfiles in its | |
107 | output, which has been corrected. | |
108 | (merge e941c48d49 ew/server-info-remove-crufts later to maint). | |
109 | ||
110 | * The server side support for "git fetch" used to show incorrect | |
111 | value for the HEAD symbolic ref when the namespace feature is in | |
112 | use, which has been corrected. | |
113 | (merge 533e088250 jk/HEAD-symref-in-xfer-namespaces later to maint). | |
114 | ||
115 | * "git am -i --resolved" segfaulted after trying to see a commit as | |
116 | if it were a tree, which has been corrected. | |
117 | (merge 7663e438c5 jk/am-i-resolved-fix later to maint). | |
118 | ||
119 | * "git bundle verify" needs to see if prerequisite objects exist in | |
120 | the receiving repository, but the command did not check if we are | |
121 | in a repository upfront, which has been corrected. | |
122 | (merge 3bbbe467f2 js/bundle-verify-require-object-store later to maint). | |
123 | ||
124 | * "git merge --squash" is designed to update the working tree and the | |
125 | index without creating the commit, and this cannot be countermanded | |
126 | by adding the "--commit" option; the command now refuses to work | |
127 | when both options are given. | |
128 | (merge 1d14d0c994 vv/merge-squash-with-explicit-commit later to maint). | |
129 | ||
130 | * The data collected by fsmonitor was not properly written back to | |
131 | the on-disk index file, breaking t7519 tests occasionally, which | |
132 | has been corrected. | |
133 | (merge b5a8169752 js/fsmonitor-unflake later to maint). | |
134 | ||
135 | * Update to Unicode 12.1 width table. | |
136 | (merge 5817f9caa3 bb/unicode-12.1-reiwa later to maint). | |
137 | ||
138 | * The command line to invoke a "git cat-file" command from inside | |
139 | "git p4" was not properly quoted to protect a caret and running a | |
140 | broken command on Windows, which has been corrected. | |
141 | (merge c3f2358de3 mm/p4-unshelve-windows-fix later to maint). | |
142 | ||
143 | * "git request-pull" learned to warn when the ref we ask them to pull | |
144 | from in the local repository and in the published repository are | |
145 | different. | |
146 | (merge 0454220d66 pb/request-pull-verify-remote-ref later to maint). | |
147 | ||
148 | * When creating a partial clone, the object filtering criteria is | |
149 | recorded for the origin of the clone, but this incorrectly used a | |
150 | hardcoded name "origin" to name that remote; it has been corrected | |
151 | to honor the "--origin <name>" option. | |
152 | (merge 1c4a9f9114 xl/record-partial-clone-origin later to maint). | |
153 | ||
8dca754b JH |
154 | * "git fetch" into a lazy clone forgot to fetch base objects that are |
155 | necessary to complete delta in a thin packfile, which has been | |
156 | corrected. | |
157 | (merge 810e19322d jt/partial-clone-missing-ref-delta-base later to maint). | |
158 | ||
159 | * The filter_data used in the list-objects-filter (which manages a | |
160 | lazily sparse clone repository) did not use the dynamic array API | |
161 | correctly---'nr' is supposed to point at one past the last element | |
162 | of the array in use. This has been corrected. | |
163 | (merge 7140600e2e md/list-objects-filter-memfix later to maint). | |
164 | ||
165 | * The description about slashes in gitignore patterns (used to | |
166 | indicate things like "anchored to this level only" and "only | |
167 | matches directories") has been revamped. | |
168 | (merge 1a58bad014 an/ignore-doc-update later to maint). | |
169 | ||
170 | * The URL decoding code has been updated to avoid going past the end | |
171 | of the string while parsing %-<hex>-<hex> sequence. | |
172 | (merge d37dc239a4 md/url-parse-harden later to maint). | |
173 | ||
174 | * The list of for-each like macros used by clang-format has been | |
175 | updated. | |
176 | (merge fc7e03aace mo/clang-format-for-each-update later to maint). | |
177 | ||
0aae918d | 178 | * Other code cleanup, docfix, build fix, etc. |
a6a95cd1 JH |
179 | (merge f547101b26 es/git-debugger-doc later to maint). |
180 | (merge 7877ac3d7b js/bisect-helper-check-get-oid-return-value later to maint). | |
181 | (merge 0108f47eb3 sw/git-p4-unshelve-branched-files later to maint). | |
8dca754b JH |
182 | (merge 9df8f734fd cm/send-email-document-req-modules later to maint). |
183 | (merge afc3bf6eb1 ab/hash-object-doc later to maint). |