1Git v2.9.3 Release Notes 2======================== 3 4Fixes since v2.9.2 5------------------ 6 7 * A helper function that takes the contents of a commit object and 8 finds its subject line did not ignore leading blank lines, as is 9 commonly done by other codepaths. Make it ignore leading blank 10 lines to match. 11 12 * Git does not know what the contents in the index should be for a 13 path added with "git add -N" yet, so "git grep --cached" should not 14 show hits (or show lack of hits, with -L) in such a path, but that 15 logic does not apply to "git grep", i.e. searching in the working 16 tree files. But we did so by mistake, which has been corrected. 17 18 * "git rebase -i --autostash" did not restore the auto-stashed change 19 when the operation was aborted. 20 21 * "git commit --amend --allow-empty-message -S" for a commit without 22 any message body could have misidentified where the header of the 23 commit object ends. 24 25 * More mark-up updates to typeset strings that are expected to 26 literally typed by the end user in fixed-width font. 27 28 * For a long time, we carried an in-code comment that said our 29 colored output would work only when we use fprintf/fputs on 30 Windows, which no longer is the case for the past few years. 31 32 * "gc.autoPackLimit" when set to 1 should not trigger a repacking 33 when there is only one pack, but the code counted poorly and did 34 so. 35 36 * One part of "git am" had an oddball helper function that called 37 stuff from outside "his" as opposed to calling what we have "ours", 38 which was not gender-neutral and also inconsistent with the rest of 39 the system where outside stuff is usuall called "theirs" in 40 contrast to "ours". 41 42 * The test framework learned a new helper test_match_signal to 43 check an exit code from getting killed by an expected signal. 44 45 * "git blame -M" missed a single line that was moved within the file. 46 47 * Fix recently introduced codepaths that are involved in parallel 48 submodule operations, which gave up on reading too early, and 49 could have wasted CPU while attempting to write under a corner 50 case condition. 51 52 * "git grep -i" has been taught to fold case in non-ascii locales 53 correctly. 54 55 * A test that unconditionally used "mktemp" learned that the command 56 is not necessarily available everywhere. 57 58 * "git blame file" allowed the lineage of lines in the uncommitted, 59 unadded contents of "file" to be inspected, but it refused when 60 "file" did not appear in the current commit. When "file" was 61 created by renaming an existing file (but the change has not been 62 committed), this restriction was unnecessarily tight. 63 64 * "git add -N dir/file && git write-tree" produced an incorrect tree 65 when there are other paths in the same directory that sorts after 66 "file". 67 68 * "git fetch http://user:pass@host/repo..." scrubbed the userinfo 69 part, but "git push" didn't. 70 71 * An age old bug that caused "git diff --ignore-space-at-eol" 72 misbehave has been fixed. 73 74 * "git notes merge" had a code to see if a path exists (and fails if 75 it does) and then open the path for writing (when it doesn't). 76 Replace it with open with O_EXCL. 77 78 * "git pack-objects" and "git index-pack" mostly operate with off_t 79 when talking about the offset of objects in a packfile, but there 80 were a handful of places that used "unsigned long" to hold that 81 value, leading to an unintended truncation. 82 83 * Recent update to "git daemon" tries to enable the socket-level 84 KEEPALIVE, but when it is spawned via inetd, the standard input 85 file descriptor may not necessarily be connected to a socket. 86 Suppress an ENOTSOCK error from setsockopt(). 87 88 * Recent FreeBSD stopped making perl available at /usr/bin/perl; 89 switch the default the built-in path to /usr/local/bin/perl on not 90 too ancient FreeBSD releases. 91 92Also contains minor documentation updates and code clean-ups.