1Git 1.7.12.1 Release Notes 2========================== 3 4Fixes since v1.7.12 5------------------- 6 7 * "git apply -p0" did not parse pathnames on "diff --git" line 8 correctly. This caused patches that had pathnames in no other 9 places to be mistakenly rejected (most notably, binary patch that 10 does not rename nor change mode). Textual patches, renames or mode 11 changes have preimage and postimage pathnames in different places 12 in a form that can be parsed unambiguously and did not suffer from 13 this problem. 14 15 * "git cherry-pick A C B" used to replay changes in A and then B and 16 then C if these three commits had committer timestamps in that 17 order, which is not what the user who said "A C B" naturally 18 expects. 19 20 * "git commit --amend" let the user edit the log message and then 21 died when the human-readable committer name was given 22 insufficiently by getpwent(3). 23 24 * Some capabilities were asked by fetch-pack even when upload-pack 25 did not advertise that they are available. fetch-pack has been 26 fixed not to do so. 27 28 * "git diff" had a confusion between taking data from a path in the 29 working tree and taking data from an object that happens to have 30 name 0{40} recorded in a tree. 31 32 * "git for-each-ref" did not correctly support more than one --sort 33 option. 34 35 * "git log .." errored out saying it is both rev range and a path 36 when there is no disambiguating "--" is on the command line. 37 Update the command line parser to interpret ".." as a path in such 38 a case. 39 40 * The "--topo-order", "--date-order" (and the lack of either means 41 the default order) options to "rev-list" and "log" family of 42 commands were poorly described in the documentation. 43 44 * "git prune" without "-v" used to warn about leftover temporary 45 files (which is an indication of an earlier aborted operation). 46 47 * Pushing to smart HTTP server with recent Git fails without having 48 the username in the URL to force authentication, if the server is 49 configured to allow GET anonymously, while requiring authentication 50 for POST. 51 52 * The reflog entries left by "git rebase" and "git rebase -i" were 53 inconsistent (the interactive one gave an abbreviated object name). 54 55 * When "git push" triggered the automatic gc on the receiving end, a 56 message from "git prune" that said it was removing cruft leaked to 57 the standard output, breaking the communication protocol. 58 59 * "git show --quiet" ought to be a synonym for "git show -s", but 60 wasn't. 61 62 * "git show --format='%ci'" did not give timestamp correctly for 63 commits created without human readable name on "committer" line. 64 65 * "git send-email" did not unquote encoded words that appear on the 66 header correctly, and lost "_" from strings. 67 68 * The interactive prompt "git send-email" gives was error prone. It 69 asked "What e-mail address do you want to use?" with the address it 70 guessed (correctly) the user would want to use in its prompt, 71 tempting the user to say "y". But the response was taken as "No, 72 please use 'y' as the e-mail address instead", which is most 73 certainly not what the user meant. 74 75 * "gitweb" when used with PATH_INFO failed to notice directories with 76 SP (and other characters that need URL-style quoting) in them. 77 78 * When the user gives an argument that can be taken as both a 79 revision name and a pathname without disambiguating with "--", we 80 used to give a help message "Use '--' to separate". The message 81 has been clarified to show where that '--' goes on the command 82 line. 83 84 * When the user exports a non-default IFS without HT, scripts that 85 rely on being able to parse "ls-files -s | while read a b c..." 86 started to fail. Protect them from such a misconfiguration. 87 88 * After "gitk" showed the contents of a tag, neither "Reread 89 references" nor "Reload" did not update what is shown as the 90 contents of it, when the user overwrote the tag with "git tag -f". 91 92 * "ciabot" script (in contrib/) has been updated with extensive 93 documentation. 94 95 * Older parts of the documentation described as if having a regular 96 file in .git/refs/ hierarchy were the only way to have branches and 97 tags, which is not true for quite some time. 98 99 * A utility shell function test_seq has been added as a replacement 100 for the 'seq' utility found on some platforms. 101 102 * Compatibility wrapper to learn the maximum number of file 103 descriptors we can open around sysconf(_SC_OPEN_MAX) and 104 getrlimit(RLIMIT_NO_FILE) has been introduced for portability. 105 106 * We used curl_easy_strerror() without checking version of cURL, 107 breaking the build for versions before curl 7.12.0. 108 109 * Code to work around MacOS X UTF-8 gotcha has been cleaned up. 110 111 * Fallback 'getpass' implementation made unportable use of stdio API. 112 113 * The "--rebase" option to "git pull" can be abbreviated to "-r", 114 but we didn't document it. 115 116 * It was generally understood that "--long-option"s to many of our 117 subcommands can be abbreviated to the unique prefix, but it was not 118 easy to find it described for new readers of the documentation set. 119 120 * The synopsis said "checkout [-B branch]" to make it clear the 121 branch name is a parameter to the option, but the heading for the 122 option description was "-B::", not "-B branch::", making the 123 documentation misleading.