| 1 | Git v2.5.2 Release Notes |
| 2 | ======================== |
| 3 | |
| 4 | Fixes since v2.5.1 |
| 5 | ------------------ |
| 6 | |
| 7 | * "git init empty && git -C empty log" said "bad default revision 'HEAD'", |
| 8 | which was found to be a bit confusing to new users. |
| 9 | |
| 10 | * The "interpret-trailers" helper mistook a multi-paragraph title of |
| 11 | a commit log message with a colon in it as the end of the trailer |
| 12 | block. |
| 13 | |
| 14 | * When re-priming the cache-tree opportunistically while committing |
| 15 | the in-core index as-is, we mistakenly invalidated the in-core |
| 16 | index too aggressively, causing the experimental split-index code |
| 17 | to unnecessarily rewrite the on-disk index file(s). |
| 18 | |
| 19 | * "git archive" did not use zip64 extension when creating an archive |
| 20 | with more than 64k entries, which nobody should need, right ;-)? |
| 21 | |
| 22 | * The code in "multiple-worktree" support that attempted to recover |
| 23 | from an inconsistent state updated an incorrect file. |
| 24 | |
| 25 | * "git rev-list" does not take "--notes" option, but did not complain |
| 26 | when one is given. |
| 27 | |
| 28 | * Because the configuration system does not allow "alias.0foo" and |
| 29 | "pager.0foo" as the configuration key, the user cannot use '0foo' |
| 30 | as a custom command name anyway, but "git 0foo" tried to look these |
| 31 | keys up and emitted useless warnings before saying '0foo is not a |
| 32 | git command'. These warning messages have been squelched. |
| 33 | |
| 34 | * We recently rewrote one of the build scripts in Perl, which made it |
| 35 | necessary to have Perl to build Git. Reduced Perl dependency by |
| 36 | rewriting it again using sed. |
| 37 | |
| 38 | * t1509 test that requires a dedicated VM environment had some |
| 39 | bitrot, which has been corrected. |
| 40 | |
| 41 | * strbuf_read() used to have one extra iteration (and an unnecessary |
| 42 | strbuf_grow() of 8kB), which was eliminated. |
| 43 | |
| 44 | * The codepath to produce error messages had a hard-coded limit to |
| 45 | the size of the message, primarily to avoid memory allocation while |
| 46 | calling die(). |
| 47 | |
| 48 | * When trying to see that an object does not exist, a state errno |
| 49 | leaked from our "first try to open a packfile with O_NOATIME and |
| 50 | then if it fails retry without it" logic on a system that refuses |
| 51 | O_NOATIME. This confused us and caused us to die, saying that the |
| 52 | packfile is unreadable, when we should have just reported that the |
| 53 | object does not exist in that packfile to the caller. |
| 54 | |
| 55 | * An off-by-one error made "git remote" to mishandle a remote with a |
| 56 | single letter nickname. |
| 57 | |
| 58 | * A handful of codepaths that used to use fixed-sized arrays to hold |
| 59 | pathnames have been corrected to use strbuf and other mechanisms to |
| 60 | allow longer pathnames without fearing overflows. |
| 61 | |
| 62 | Also contains typofixes, documentation updates and trivial code |
| 63 | clean-ups. |