|
| 1 | +Git v2.12.2 Release Notes |
| 2 | +========================= |
| 3 | + |
| 4 | +Fixes since v2.12.1 |
| 5 | +------------------- |
| 6 | + |
| 7 | + * "git status --porcelain" is supposed to give a stable output, but a |
| 8 | + few strings were left as translatable by mistake. |
| 9 | + |
| 10 | + * "Dumb http" transport used to misparse a nonsense http-alternates |
| 11 | + response, which has been fixed. |
| 12 | + |
| 13 | + * "git diff --quiet" relies on the size field in diff_filespec to be |
| 14 | + correctly populated, but diff_populate_filespec() helper function |
| 15 | + made an incorrect short-cut when asked only to populate the size |
| 16 | + field for paths that need to go through convert_to_git() (e.g. CRLF |
| 17 | + conversion). |
| 18 | + |
| 19 | + * There is no need for Python only to give a few messages to the |
| 20 | + standard error stream, but we somehow did. |
| 21 | + |
| 22 | + * A leak in a codepath to read from a packed object in (rare) cases |
| 23 | + has been plugged. |
| 24 | + |
| 25 | + * "git upload-pack", which is a counter-part of "git fetch", did not |
| 26 | + report a request for a ref that was not advertised as invalid. |
| 27 | + This is generally not a problem (because "git fetch" will stop |
| 28 | + before making such a request), but is the right thing to do. |
| 29 | + |
| 30 | + * A "gc.log" file left by a backgrounded "gc --auto" disables further |
| 31 | + automatic gc; it has been taught to run at least once a day (by |
| 32 | + default) by ignoring a stale "gc.log" file that is too old. |
| 33 | + |
| 34 | + * "git remote rm X", when a branch has remote X configured as the |
| 35 | + value of its branch.*.remote, tried to remove branch.*.remote and |
| 36 | + branch.*.merge and failed if either is unset. |
| 37 | + |
| 38 | + * A caller of tempfile API that uses stdio interface to write to |
| 39 | + files may ignore errors while writing, which is detected when |
| 40 | + tempfile is closed (with a call to ferror()). By that time, the |
| 41 | + original errno that may have told us what went wrong is likely to |
| 42 | + be long gone and was overwritten by an irrelevant value. |
| 43 | + close_tempfile() now resets errno to EIO to make errno at least |
| 44 | + predictable. |
| 45 | + |
| 46 | + * "git show-branch" expected there were only very short branch names |
| 47 | + in the repository and used a fixed-length buffer to hold them |
| 48 | + without checking for overflow. |
| 49 | + |
| 50 | + * The code that parses header fields in the commit object has been |
| 51 | + updated for (micro)performance and code hygiene. |
| 52 | + |
| 53 | + * A test that creates a confusing branch whose name is HEAD has been |
| 54 | + corrected not to do so. |
| 55 | + |
| 56 | + * "Cc:" on the trailer part does not have to conform to RFC strictly, |
| 57 | + unlike in the e-mail header. "git send-email" has been updated to |
| 58 | + ignore anything after '>' when picking addresses, to allow non-address |
| 59 | + cruft like " # stable 4.4" after the address. |
| 60 | + |
| 61 | +Also contains various documentation updates and code clean-ups. |
0 commit comments