]>
Commit | Line | Data |
---|---|---|
6e0cc677 JH |
1 | Git 2.22 Release Notes |
2 | ====================== | |
3 | ||
4 | Updates since v2.21 | |
5 | ------------------- | |
6 | ||
7 | UI, Workflows & Features | |
8 | ||
9 | * "git checkout --no-overlay" can be used to trigger a new mode of | |
10 | checking out paths out of the tree-ish, that allows paths that | |
11 | match the pathspec that are in the current index and working tree | |
12 | and are not in the tree-ish. | |
13 | ||
14 | * The %(trailers) formatter in "git log --format=..." now allows to | |
15 | optionally pick trailers selectively by keyword, show only values, | |
16 | etc. | |
17 | ||
18 | * Four new configuration variables {author,committer}.{name,email} | |
19 | have been introduced to override user.{name,email} in more specific | |
20 | cases. | |
21 | ||
22 | * Command-line completion (in contrib/) learned to tab-complete the | |
23 | "git submodule absorbgitdirs" subcommand. | |
24 | ||
25 | * "git branch" learned a new subcommand "--show-current". | |
26 | ||
27 | * Output from "diff --cc" did not show the original paths when the | |
28 | merge involved renames. A new option adds the paths in the | |
29 | original trees to the output. | |
30 | ||
31 | * The command line completion (in contrib/) has been taught to | |
32 | complete more subcommand parameters. | |
33 | ||
041f5ea1 JH |
34 | * The final report from "git bisect" used to show the suspected |
35 | culprit using a raw "diff-tree", with which there is no output for | |
36 | a merge commit. This has been updated to use a more modern and | |
37 | human readable output that still is concise enough. | |
38 | ||
e35b8cb8 JH |
39 | * "git rebase --rebase-merges" replaces its old "--preserve-merges" |
40 | option; the latter is now marked as deprecated. | |
41 | ||
42 | * Error message given while cloning with --recurse-submodules has | |
43 | been updated. | |
44 | ||
ffac537e JH |
45 | * The completion helper code now pays attention to repository-local |
46 | configuration (when available), which allows --list-cmds to honour | |
47 | a repository specific setting of completion.commands, for example. | |
48 | ||
14c0f8d3 JH |
49 | * "git mergetool" learned to offer Sublime Merge (smerge) as one of |
50 | its backends. | |
51 | ||
83232e38 JH |
52 | * A new hook "post-index-change" is called when the on-disk index |
53 | file changes, which can help e.g. a virtualized working tree | |
54 | implementation. | |
55 | ||
56 | * "git difftool" can now run outside a repository. | |
57 | ||
58 | * "git checkout -m <other>" was about carrying the differences | |
59 | between HEAD and the working-tree files forward while checking out | |
60 | another branch, and ignored the differences between HEAD and the | |
61 | index. The command has been taught to abort when the index and the | |
62 | HEAD are different. | |
63 | ||
64 | * A progress indicator has been added to the "index-pack" step, which | |
65 | often makes users wait for completion during "git clone". | |
66 | ||
67 | * "git submodule" learns "set-branch" subcommand that allows the | |
68 | submodule.*.branch settings to be modified. | |
69 | ||
6a6c0f10 JH |
70 | * "git merge-recursive" backend recently learned a new heuristics to |
71 | infer file movement based on how other files in the same directory | |
72 | moved. As this is inherently less robust heuristics than the one | |
73 | based on the content similarity of the file itself (rather than | |
74 | based on what its neighbours are doing), it sometimes gives an | |
75 | outcome unexpected by the end users. This has been toned down to | |
76 | leave the renamed paths in higher/conflicted stages in the index so | |
77 | that the user can examine and confirm the result. | |
78 | ||
79 | * "git tag" learned to give an advice suggesting it might be a | |
80 | mistake when creating an annotated or signed tag that points at | |
81 | another tag. | |
82 | ||
83 | * The "git pack-objects" command learned to report the number of | |
84 | objects it packed via the trace2 mechanism. | |
85 | ||
86 | * The list of conflicted paths shown in the editor while concluding a | |
87 | conflicted merge was shown above the scissors line when the | |
88 | clean-up mode is set to "scissors", even though it was commented | |
89 | out just like the list of updated paths and other information to | |
90 | help the user explain the merge better. | |
91 | ||
92 | * The trace2 tracing facility learned to auto-generate a filename | |
93 | when told to log to a directory. | |
94 | ||
95 | * "git clone" learned a new --server-option option when talking over | |
96 | the protocol version 2. | |
97 | ||
ab15ad1a JH |
98 | * The connectivity bitmaps are created by default in bare |
99 | repositories now; also the pathname hash-cache is created by | |
100 | default to avoid making crappy deltas when repacking. | |
101 | ||
aa25c824 JH |
102 | * "git branch new A...B" and "git checkout -b new A...B" have been |
103 | taught that in their contexts, the notation A...B means "the merge | |
104 | base between these two commits", just like "git checkout A...B" | |
105 | detaches HEAD at that commit. | |
106 | ||
107 | * Update "git difftool" and "git mergetool" so that the combinations | |
108 | of {diff,merge}.{tool,guitool} configuration variables serve as | |
109 | fallback settings of each other in a sensible order. | |
110 | ||
111 | * The "--dir-diff" mode of "git difftool" is not useful in "--no-index" | |
112 | mode; they are now explicitly marked as mutually incompatible. | |
113 | ||
6e0cc677 JH |
114 | |
115 | Performance, Internal Implementation, Development Support etc. | |
116 | ||
117 | * The diff machinery, one of the oldest parts of the system, which | |
118 | long predates the parse-options API, uses fairly long and complex | |
119 | handcrafted option parser. This is being rewritten to use the | |
120 | parse-options API. | |
121 | ||
122 | * The implementation of pack-redundant has been updated for | |
123 | performance in a repository with many packfiles. | |
124 | ||
125 | * A more structured way to obtain execution trace has been added. | |
126 | ||
127 | * "git prune" has been taught to take advantage of reachability | |
128 | bitmap when able. | |
129 | ||
041f5ea1 JH |
130 | * The command line parser of "git commit-tree" has been rewritten to |
131 | use the parse-options API. | |
132 | ||
e35b8cb8 JH |
133 | * Suggest GitGitGadget instead of submitGit as a way to submit |
134 | patches based on GitHub PR to us. | |
135 | ||
ffac537e JH |
136 | * The test framework has been updated to help developers by making it |
137 | easier to run most of the tests under different versions of | |
138 | over-the-wire protocols. | |
139 | ||
140 | * Dev support update to make it easier to compare two formatted | |
141 | results from our documentation. | |
142 | ||
143 | * The scripted "git rebase" implementation has been retired. | |
144 | ||
145 | * "git multi-pack-index verify" did not scale well with the number of | |
146 | packfiles, which is being improved. | |
147 | ||
14c0f8d3 JH |
148 | * "git stash" has been rewritten in C. |
149 | ||
150 | * The "check-docs" Makefile target to support developers has been | |
151 | updated. | |
152 | ||
153 | * The tests have been updated not to rely on the abbreviated option | |
154 | names the parse-options API offers, to protect us from an | |
155 | abbreviated form of an option that used to be unique within the | |
156 | command getting non-unique when a new option that share the same | |
157 | prefix is added. | |
158 | ||
83232e38 JH |
159 | * The scripted version of "git rebase -i" wrote and rewrote the todo |
160 | list many times during a single step of its operation, and the | |
161 | recent C-rewrite made a faithful conversion of the logic to C. The | |
162 | implementation has been updated to carry necessary information | |
163 | around in-core to avoid rewriting the same file over and over | |
164 | unnecessarily. | |
165 | ||
166 | * Test framework update to more robustly clean up leftover files and | |
167 | processes after tests are done. | |
168 | ||
169 | * Conversion from unsigned char[20] to struct object_id continues. | |
170 | ||
171 | * While running "git diff" in a lazy clone, we can upfront know which | |
172 | missing blobs we will need, instead of waiting for the on-demand | |
173 | machinery to discover them one by one. The code learned to aim to | |
174 | achieve better performance by batching the request for these | |
175 | promised blobs. | |
176 | ||
ab15ad1a JH |
177 | * During an initial "git clone --depth=..." partial clone, it is |
178 | pointless to spend cycles for a large portion of the connectivity | |
179 | check that enumerates and skips promisor objects (which by | |
180 | definition is all objects fetched from the other side). This has | |
181 | been optimized out. | |
182 | ||
183 | * Mechanically and systematically drop "extern" from function | |
184 | declarlation. | |
185 | ||
186 | * The script to aggregate perf result unconditionally depended on | |
187 | libjson-perl even though it did not have to, which has been | |
188 | corrected. | |
189 | ||
190 | * The internal implementation of "git rebase -i" has been updated to | |
191 | avoid forking a separate "rebase--interactive" process. | |
192 | ||
aa25c824 JH |
193 | * Allow DEP and ASLR for Windows build to for security hardening. |
194 | ||
195 | * Performance test framework has been broken and measured the version | |
196 | of Git that happens to be on $PATH, not the specified one to | |
197 | measure, for a while, which has been corrected. | |
198 | ||
199 | * Optionally "make coccicheck" can feed multiple source files to | |
200 | spatch, gaining performance while spending more memory. | |
201 | ||
202 | * Attempt to use an abbreviated option in "git clone --recurs" is | |
203 | responded by a request to disambiguate between --recursive and | |
204 | --recurse-submodules, which is bad because these two are synonyms. | |
205 | The parse-options API has been extended to define such synonyms | |
206 | more easily and not produce an unnecessary failure. | |
207 | ||
208 | * A pair of private functions in http.c that had names similar to | |
209 | fread/fwrite did not return the number of elements, which was found | |
210 | to be confusing. | |
211 | ||
212 | * Update collision-detecting SHA-1 code to build properly on HP-UX. | |
213 | ||
6e0cc677 JH |
214 | |
215 | Fixes since v2.21 | |
216 | ----------------- | |
217 | ||
218 | * "git prune-packed" did not notice and complain against excess | |
219 | arguments given from the command line, which now it does. | |
220 | (merge 9b0bd87ed2 rj/prune-packed-excess-args later to maint). | |
221 | ||
222 | * Split-index fix. | |
223 | (merge 6e37c8ed3c nd/split-index-null-base-fix later to maint). | |
224 | ||
225 | * "git diff --no-index" may still want to access Git goodies like | |
226 | --ext-diff and --textconv, but so far these have been ignored, | |
227 | which has been corrected. | |
228 | (merge 287ab28bfa jk/diff-no-index-initialize later to maint). | |
229 | ||
230 | * Unify RPC code for smart http in protocol v0/v1 and v2, which fixes | |
231 | a bug in the latter (lack of authentication retry) and generally | |
232 | improves the code base. | |
233 | (merge a97d00799a jt/http-auth-proto-v2-fix later to maint). | |
234 | ||
e902e9bc JH |
235 | * The include file compat/bswap.h has been updated so that it is safe |
236 | to (accidentally) include it more than once. | |
237 | (merge 33aa579a55 jk/guard-bswap-header later to maint). | |
238 | ||
239 | * The set of header files used by "make hdr-check" unconditionally | |
240 | included sha256/gcrypt.h, even when it is not used, causing the | |
241 | make target to fail. We now skip it when GCRYPT_SHA256 is not in | |
242 | use. | |
243 | (merge f23aa18e7f rj/hdr-check-gcrypt-fix later to maint). | |
244 | ||
245 | * The Makefile uses 'find' utility to enumerate all the *.h header | |
246 | files, which is expensive on platforms with slow filesystems; it | |
247 | now optionally uses "ls-files" if working within a repository, | |
248 | which is a trick similar to how all sources are enumerated to run | |
249 | ETAGS on. | |
250 | (merge 92b88eba9f js/find-lib-h-with-ls-files-when-possible later to maint). | |
251 | ||
041f5ea1 JH |
252 | * "git rebase" that was reimplemented in C did not set ORIG_HEAD |
253 | correctly, which has been corrected. | |
254 | (merge cbd29ead92 js/rebase-orig-head-fix later to maint). | |
255 | ||
256 | * Dev support. | |
257 | (merge f545737144 js/stress-test-ui-tweak later to maint). | |
258 | ||
259 | * CFLAGS now can be tweaked when invoking Make while using | |
260 | DEVELOPER=YesPlease; this did not work well before. | |
261 | (merge 6d5d4b4e93 ab/makefile-help-devs-more later to maint). | |
262 | ||
263 | * "git fsck --connectivity-only" omits computation necessary to sift | |
264 | the objects that are not reachable from any of the refs into | |
265 | unreachable and dangling. This is now enabled when dangling | |
266 | objects are requested (which is done by default, but can be | |
267 | overridden with the "--no-dangling" option). | |
268 | (merge 8d8c2a5aef jk/fsck-doc later to maint). | |
269 | ||
270 | * On platforms where "git fetch" is killed with SIGPIPE (e.g. OSX), | |
271 | the upload-pack that runs on the other end that hangs up after | |
272 | detecting an error could cause "git fetch" to die with a signal, | |
273 | which led to a flakey test. "git fetch" now ignores SIGPIPE during | |
274 | the network portion of its operation (this is not a problem as we | |
275 | check the return status from our write(2)s). | |
276 | (merge 143588949c jk/no-sigpipe-during-network-transport later to maint). | |
277 | ||
278 | * A recent update broke "is this object available to us?" check for | |
279 | well-known objects like an empty tree (which should yield "yes", | |
280 | even when there is no on-disk object for an empty tree), which has | |
281 | been corrected. | |
282 | (merge f06ab027ef jk/virtual-objects-do-exist later to maint). | |
283 | ||
284 | * The setup code has been cleaned up to avoid leaks around the | |
285 | repository_format structure. | |
286 | (merge e8805af1c3 ma/clear-repository-format later to maint). | |
287 | ||
288 | * "git config --type=color ..." is meant to replace "git config --get-color" | |
289 | but there is a slight difference that wasn't documented, which is | |
290 | now fixed. | |
291 | (merge cd8e7593b9 jk/config-type-color-ends-with-lf later to maint). | |
292 | ||
e35b8cb8 JH |
293 | * When the "clean" filter can reduce the size of a huge file in the |
294 | working tree down to a small "token" (a la Git LFS), there is no | |
295 | point in allocating a huge scratch area upfront, but the buffer is | |
296 | sized based on the original file size. The convert mechanism now | |
297 | allocates very minimum and reallocates as it receives the output | |
298 | from the clean filter process. | |
299 | (merge 02156ab031 jh/resize-convert-scratch-buffer later to maint). | |
300 | ||
301 | * "git rebase" uses the refs/rewritten/ hierarchy to store its | |
302 | intermediate states, which inherently makes the hierarchy per | |
303 | worktree, but it didn't quite work well. | |
304 | (merge b9317d55a3 nd/rewritten-ref-is-per-worktree later to maint). | |
305 | ||
306 | * "git log -L<from>,<to>:<path>" with "-s" did not suppress the patch | |
307 | output as it should. This has been corrected. | |
308 | (merge 05314efaea jk/line-log-with-patch later to maint). | |
309 | ||
310 | * "git worktree add" used to do a "find an available name with stat | |
311 | and then mkdir", which is race-prone. This has been fixed by using | |
312 | mkdir and reacting to EEXIST in a loop. | |
313 | (merge 7af01f2367 ms/worktree-add-atomic-mkdir later to maint). | |
314 | ||
315 | * Build update for SHA-1 with collision detection. | |
316 | (merge 07a20f569b jk/sha1dc later to maint). | |
317 | ||
ffac537e JH |
318 | * Build procedure has been fixed around use of asciidoctor instead of |
319 | asciidoc. | |
320 | (merge 185f9a0ea0 ma/asciidoctor-fixes later to maint). | |
321 | ||
322 | * remote-http transport did not anonymize URLs reported in its error | |
323 | messages at places. | |
324 | (merge c1284b21f2 js/anonymize-remote-curl-diag later to maint). | |
325 | ||
326 | * Error messages given from the http transport have been updated so | |
327 | that they can be localized. | |
328 | (merge ed8b4132c8 js/remote-curl-i18n later to maint). | |
329 | ||
330 | * "git init" forgot to read platform-specific repository | |
331 | configuration, which made Windows port to ignore settings of | |
332 | core.hidedotfiles, for example. | |
333 | ||
334 | * A corner-case object name ambiguity while the sequencer machinery | |
335 | is working (e.g. "rebase -i -x") has been fixed. | |
336 | ||
14c0f8d3 JH |
337 | * "git format-patch" did not diagnose an error while opening the |
338 | output file for the cover-letter, which has been corrected. | |
ffac537e JH |
339 | (merge 2fe95f494c jc/format-patch-error-check later to maint). |
340 | ||
341 | * "git checkout -f <branch>" while the index has an unmerged path | |
342 | incorrectly left some paths in an unmerged state, which has been | |
343 | corrected. | |
344 | ||
345 | * A corner case bug in the refs API has been corrected. | |
346 | (merge d3322eb28b jk/refs-double-abort later to maint). | |
347 | ||
348 | * Unicode update. | |
349 | (merge 584b62c37b bb/unicode-12 later to maint). | |
350 | ||
351 | * dumb-http walker has been updated to share more error recovery | |
352 | strategy with the normal codepath. | |
353 | ||
14c0f8d3 JH |
354 | * A buglet in configuration parser has been fixed. |
355 | (merge 19e7fdaa58 nd/include-if-wildmatch later to maint). | |
356 | ||
357 | * The documentation for "git read-tree --reset -u" has been updated. | |
358 | (merge b5a0bd694c nd/read-tree-reset-doc later to maint). | |
359 | ||
83232e38 JH |
360 | * Code clean-up around a much-less-important-than-it-used-to-be |
361 | update_server_info() funtion. | |
362 | (merge b3223761c8 jk/server-info-rabbit-hole later to maint). | |
363 | ||
364 | * The message given when "git commit -a <paths>" errors out has been | |
365 | updated. | |
366 | (merge 5a1dbd48bc nd/commit-a-with-paths-msg-update later to maint). | |
367 | ||
368 | * "git cherry-pick --options A..B", after giving control back to the | |
369 | user to ask help resolving a conflicted step, did not honor the | |
370 | options it originally received, which has been corrected. | |
371 | ||
372 | * Various glitches in "git gc" around reflog handling have been fixed. | |
373 | ||
374 | * The code to read from commit-graph file has been cleanup with more | |
375 | careful error checking before using data read from it. | |
376 | ||
377 | * Performance fix around "git fetch" that grabs many refs. | |
378 | (merge b764300912 jt/fetch-pack-wanted-refs-optim later to maint). | |
379 | ||
380 | * Protocol v2 support in "git fetch-pack" of shallow clones has been | |
381 | corrected. | |
382 | ||
383 | * Performance fix around "git blame", especially in a linear history | |
384 | (which is the norm we should optimize for). | |
385 | (merge f892014943 dk/blame-keep-origin-blob later to maint). | |
386 | ||
387 | * Performance fix for "rev-list --parents -- pathspec". | |
388 | (merge 8320b1dbe7 jk/revision-rewritten-parents-in-prio-queue later to maint). | |
389 | ||
390 | * Updating the display with progress message has been cleaned up to | |
391 | deal better with overlong messages. | |
392 | (merge 545dc345eb sg/overlong-progress-fix later to maint). | |
393 | ||
394 | * "git blame -- path" in a non-bare repository starts blaming from | |
395 | the working tree, and the same command in a bare repository errors | |
396 | out because there is no working tree by definition. The command | |
397 | has been taught to instead start blaming from the commit at HEAD, | |
398 | which is more useful. | |
399 | (merge a544fb08f8 sg/blame-in-bare-start-at-head later to maint). | |
400 | ||
401 | * An underallocation in the code to read the untracked cache | |
402 | extension has been corrected. | |
403 | (merge 3a7b45a623 js/untracked-cache-allocfix later to maint). | |
404 | ||
405 | * The code is updated to check the result of memory allocation before | |
406 | it is used in more places, by using xmalloc and/or xcalloc calls. | |
407 | (merge 999b951b28 jk/xmalloc later to maint). | |
408 | ||
409 | * The GETTEXT_POISON test option has been quite broken ever since it | |
410 | was made runtime-tunable, which has been fixed. | |
411 | (merge f88b9cb603 jc/gettext-test-fix later to maint). | |
412 | ||
413 | * Test fix on APFS that is incapable of store paths in Latin-1. | |
414 | (merge 3889149619 js/iso8895-test-on-apfs later to maint). | |
415 | ||
416 | * "git submodule foreach <command> --quiet" did not pass the option | |
417 | down correctly, which has been corrected. | |
418 | (merge a282f5a906 nd/submodule-foreach-quiet later to maint). | |
419 | ||
420 | * "git send-email" has been taught to use quoted-printable when the | |
421 | payload contains carriage-return. The use of the mechanism is in | |
422 | line with the design originally added the codepath that chooses QP | |
423 | when the payload has overly long lines. | |
424 | (merge 74d76a1701 bc/send-email-qp-cr later to maint). | |
425 | ||
426 | * The recently added feature to add addresses that are on | |
427 | anything-by: trailers in 'git send-email' was found to be way too | |
428 | eager and considered nonsense strings as if they can be legitimate | |
429 | beginning of *-by: trailer. This has been tightened. | |
430 | ||
6a6c0f10 JH |
431 | * Builds with gettext broke on recent macOS w/ Homebrew, which |
432 | seems to have stopped including from /usr/local/include; this | |
433 | has been corrected. | |
83232e38 JH |
434 | (merge 92a1377a2a js/macos-gettext-build later to maint). |
435 | ||
6a6c0f10 JH |
436 | * Running "git add" on a repository created inside the current |
437 | repository is an explicit indication that the user wants to add it | |
438 | as a submodule, but when the HEAD of the inner repository is on an | |
439 | unborn branch, it cannot be added as a submodule. Worse, the files | |
440 | in its working tree can be added as if they are a part of the outer | |
441 | repository, which is not what the user wants. These problems are | |
442 | being addressed. | |
443 | (merge f937bc2f86 km/empty-repo-is-still-a-repo later to maint). | |
444 | ||
445 | * "git cherry-pick" run with the "-x" or the "--signoff" option used | |
446 | to (and more importantly, ought to) clean up the commit log message | |
447 | with the --cleanup=space option by default, but this has been | |
448 | broken since late 2017. This has been fixed. | |
449 | ||
450 | * When given a tag that points at a commit-ish, "git replace --graft" | |
451 | failed to peel the tag before writing a replace ref, which did not | |
452 | make sense because the old graft mechanism the feature wants to | |
453 | mimick only allowed to replace one commit object with another. | |
454 | This has been fixed. | |
455 | (merge ee521ec4cb cc/replace-graft-peel-tags later to maint). | |
456 | ||
457 | * Code tightening against a "wrong" object appearing where an object | |
458 | of a different type is expected, instead of blindly assuming that | |
459 | the connection between objects are correctly made. | |
460 | (merge 97dd512af7 tb/unexpected later to maint). | |
461 | ||
462 | * An earlier update for MinGW and Cygwin accidentally broke MSVC build, | |
463 | which has been fixed. | |
464 | (merge 22c3634c0f ss/msvc-path-utils-fix later to maint). | |
465 | ||
466 | * %(push:track) token used in the --format option to "git | |
467 | for-each-ref" and friends was not showing the right branch, which | |
468 | has been fixed. | |
469 | (merge c646d0934e dr/ref-filter-push-track-fix later to maint). | |
470 | ||
471 | * "make check-docs", "git help -a", etc. did not account for cases | |
472 | where a particular build may deliberately omit some subcommands, | |
473 | which has been corrected. | |
474 | ||
475 | * The logic to tell if a Git repository has a working tree protects | |
476 | "git branch -D" from removing the branch that is currently checked | |
477 | out by mistake. The implementation of this logic was broken for | |
478 | repositories with unusual name, which unfortunately is the norm for | |
479 | submodules these days. This has been fixed. | |
480 | (merge f3534c98e4 jt/submodule-repo-is-with-worktree later to maint). | |
481 | ||
482 | * AIX shared the same build issues with other BSDs around fileno(fp), | |
483 | which has been corrected. | |
484 | (merge ee662bf5c6 cc/aix-has-fileno-as-a-macro later to maint). | |
485 | ||
486 | * The autoconf generated configure script failed to use the right | |
487 | gettext() implementations from -libintl by ignoring useless stub | |
488 | implementations shipped in some C library, which has been | |
489 | corrected. | |
490 | (merge b71e56a683 vk/autoconf-gettext later to maint). | |
491 | ||
ab15ad1a JH |
492 | * Fix index-pack perf test so that the repeated invocations always |
493 | run in an empty repository, which emulates the initial clone | |
494 | situation better. | |
495 | (merge 775c71e16d jk/p5302-avoid-collision-check-cost later to maint). | |
496 | ||
497 | * A "ls-files" that emulates "find" to enumerate files in the working | |
498 | tree resulted in duplicated Makefile rules that caused the build to | |
499 | issue an unnecessary warning during a trial build after merge | |
500 | conflicts are resolved in working tree *.h files but before the | |
501 | resolved results are added to the index. This has been corrected. | |
502 | ||
503 | * "git chery-pick" (and "revert" that shares the same runtime engine) | |
504 | that deals with multiple commits got confused when the final step | |
505 | gets stopped with a conflict and the user concluded the sequence | |
506 | with "git commit". Attempt to fix it by cleaning up the state | |
507 | files used by these commands in such a situation. | |
508 | (merge 4a72486de9 pw/clean-sequencer-state-upon-final-commit later to maint). | |
509 | ||
aa25c824 JH |
510 | * On a filesystem like HFS+, the names of the refs stored as filesystem |
511 | entities may become different from what the end-user expects, just | |
512 | like files in the working tree get "renamed". Work around the | |
513 | mismatch by paying attention to the core.precomposeUnicode | |
514 | configuration. | |
515 | (merge 8e712ef6fc en/unicode-in-refnames later to maint). | |
516 | ||
517 | * The code to generate the multi-pack idx file was not prepared to | |
518 | see too many packfiles and ran out of open file descriptor, which | |
519 | has been corrected. | |
520 | ||
521 | * To run tests for Git SVN, our scripts for CI used to install the | |
522 | git-svn package (in the hope that it would bring in the right | |
523 | dependencies). This has been updated to install the more direct | |
524 | dependency, namely, libsvn-perl. | |
525 | (merge db864306cf sg/ci-libsvn-perl later to maint). | |
526 | ||
527 | * "git cvsexportcommit" running on msys did not expect cvsnt showed | |
528 | "cvs status" output with CRLF line endings. | |
529 | ||
530 | * The fsmonitor interface got out of sync after the in-core index | |
531 | file gets discarded, which has been corrected. | |
532 | (merge 398a3b0899 js/fsmonitor-refresh-after-discarding-index later to maint). | |
533 | ||
534 | * "git status" did not know that the "label" instruction in the | |
535 | todo-list "rebase -i -r" uses should not be shown as a hex object | |
536 | name. | |
537 | ||
538 | * A prerequiste check in the test suite to see if a working jgit is | |
539 | available was made more robust. | |
540 | (merge abd0f28983 tz/test-lib-check-working-jgit later to maint). | |
541 | ||
542 | * The codepath to parse :<path> that obtains the object name for an | |
543 | indexed object has been made more robust. | |
544 | ||
6e0cc677 JH |
545 | * Code cleanup, docfix, build fix, etc. |
546 | (merge 11f470aee7 jc/test-yes-doc later to maint). | |
547 | (merge 90503a240b js/doc-symref-in-proto-v1 later to maint). | |
548 | (merge 5c326d1252 jk/unused-params later to maint). | |
549 | (merge 68cabbfda3 dl/doc-submodule-wo-subcommand later to maint). | |
550 | (merge 9903623761 ab/receive-pack-use-after-free-fix later to maint). | |
551 | (merge 1ede45e44b en/merge-options-doc later to maint). | |
552 | (merge 3e14dd2c8e rd/doc-hook-used-in-sample later to maint). | |
553 | (merge c271dc28fd nd/no-more-check-racy later to maint). | |
e902e9bc JH |
554 | (merge e6e15194a8 yb/utf-16le-bom-spellfix later to maint). |
555 | (merge bb101aaf0c rd/attr.c-comment-typofix later to maint). | |
556 | (merge 716a5af812 rd/gc-prune-doc-fix later to maint). | |
557 | (merge 50b206371d js/untravis-windows later to maint). | |
558 | (merge dbf47215e3 js/rebase-recreate-merge later to maint). | |
e35b8cb8 JH |
559 | (merge 56cb2d30f8 dl/reset-doc-no-wrt-abbrev later to maint). |
560 | (merge 64eca306a2 ja/dir-rename-doc-markup-fix later to maint). | |
561 | (merge af91b0230c dl/ignore-docs later to maint). | |
562 | (merge 59a06e947b ra/t3600-test-path-funcs later to maint). | |
563 | (merge e041d0781b ar/t4150-remove-cruft later to maint). | |
ffac537e JH |
564 | (merge 8d75a1d183 ma/asciidoctor-fixes-more later to maint). |
565 | (merge 74cc547b0f mh/pack-protocol-doc-fix later to maint). | |
566 | (merge ed31851fa6 ab/doc-misc-typofixes later to maint). | |
567 | (merge a7256debd4 nd/checkout-m-doc-update later to maint). | |
568 | (merge 3a9e1ad78d jt/t5551-protocol-v2-does-not-have-half-auth later to maint). | |
569 | (merge 0b918b75af sg/t5318-cleanup later to maint). | |
14c0f8d3 JH |
570 | (merge 68ed71b53c cb/doco-mono later to maint). |
571 | (merge a34dca2451 nd/interpret-trailers-docfix later to maint). | |
83232e38 JH |
572 | (merge cf7b857a77 en/fast-import-parsing-fix later to maint). |
573 | (merge fe61ccbc35 po/rerere-doc-fmt later to maint). | |
574 | (merge ffea0248bf po/describe-not-necessarily-7 later to maint). | |
575 | (merge 7cb7283adb tg/ls-files-debug-format-fix later to maint). | |
576 | (merge f64a21bd82 tz/doc-apostrophe-no-longer-needed later to maint). | |
577 | (merge dbe7b41019 js/t3301-unbreak-notes-test later to maint). | |
578 | (merge d8083e4180 km/t3000-retitle later to maint). | |
6a6c0f10 | 579 | (merge 9e4cbccbd7 tz/git-svn-doc-markup-fix later to maint). |
ab15ad1a | 580 | (merge da9ca955a7 jk/ls-files-doc-markup-fix later to maint). |
aa25c824 JH |
581 | (merge 6804ba3a58 cw/diff-highlight later to maint). |
582 | (merge 1a8787144d nd/submodule-helper-incomplete-line-fix later to maint). | |
583 | (merge d9ef573837 jk/apache-lsan later to maint). | |
584 | (merge c871fbee2b js/t6500-use-windows-pid-on-mingw later to maint). | |
585 | (merge ce4c7bfc90 bl/t4253-exit-code-from-format-patch later to maint). | |
586 | (merge 397a46db78 js/t5580-unc-alternate-test later to maint). | |
587 | (merge d4907720a2 cm/notes-comment-fix later to maint). | |
588 | (merge 9dde06de13 cb/http-push-null-in-message-fix later to maint). |