]>
Commit | Line | Data |
---|---|---|
7c0304af JH |
1 | Git v2.10.1 Release Notes |
2 | ========================= | |
3 | ||
4 | Fixes since v2.10 | |
5 | ----------------- | |
6 | ||
7 | * Clarify various ways to specify the "revision ranges" in the | |
8 | documentation. | |
9 | ||
10 | * "diff-highlight" script (in contrib/) learned to work better with | |
11 | "git log -p --graph" output. | |
12 | ||
13 | * The test framework left the number of tests and success/failure | |
14 | count in the t/test-results directory, keyed by the name of the | |
15 | test script plus the process ID. The latter however turned out not | |
16 | to serve any useful purpose. The process ID part of the filename | |
17 | has been removed. | |
18 | ||
19 | * Having a submodule whose ".git" repository is somehow corrupt | |
20 | caused a few commands that recurse into submodules loop forever. | |
21 | ||
22 | * "git symbolic-ref -d HEAD" happily removes the symbolic ref, but | |
23 | the resulting repository becomes an invalid one. Teach the command | |
24 | to forbid removal of HEAD. | |
25 | ||
26 | * A test spawned a short-lived background process, which sometimes | |
27 | prevented the test directory from getting removed at the end of the | |
28 | script on some platforms. | |
29 | ||
30 | * Update a few tests that used to use GIT_CURL_VERBOSE to use the | |
31 | newer GIT_TRACE_CURL. | |
32 | ||
92d42666 JH |
33 | * Update Japanese translation for "git-gui". |
34 | ||
35 | * "git fetch http::/site/path" did not die correctly and segfaulted | |
36 | instead. | |
37 | ||
38 | * "git commit-tree" stopped reading commit.gpgsign configuration | |
39 | variable that was meant for Porcelain "git commit" in Git 2.9; we | |
40 | forgot to update "git gui" to look at the configuration to match | |
41 | this change. | |
42 | ||
43 | * "git log --cherry-pick" used to include merge commits as candidates | |
44 | to be matched up with other commits, resulting a lot of wasted time. | |
45 | The patch-id generation logic has been updated to ignore merges to | |
46 | avoid the wastage. | |
47 | ||
48 | * The http transport (with curl-multi option, which is the default | |
49 | these days) failed to remove curl-easy handle from a curlm session, | |
50 | which led to unnecessary API failures. | |
51 | ||
52 | * "git diff -W" output needs to extend the context backward to | |
53 | include the header line of the current function and also forward to | |
54 | include the body of the entire current function up to the header | |
55 | line of the next one. This process may have to merge to adjacent | |
56 | hunks, but the code forgot to do so in some cases. | |
57 | ||
58 | * Performance tests done via "t/perf" did not use the same set of | |
59 | build configuration if the user relied on autoconf generated | |
60 | configuration. | |
61 | ||
62 | * "git format-patch --base=..." feature that was recently added | |
63 | showed the base commit information after "-- " e-mail signature | |
64 | line, which turned out to be inconvenient. The base information | |
65 | has been moved above the signature line. | |
66 | ||
67 | * Even when "git pull --rebase=preserve" (and the underlying "git | |
68 | rebase --preserve") can complete without creating any new commit | |
69 | (i.e. fast-forwards), it still insisted on having a usable ident | |
70 | information (read: user.email is set correctly), which was less | |
71 | than nice. As the underlying commands used inside "git rebase" | |
72 | would fail with a more meaningful error message and advice text | |
73 | when the bogus ident matters, this extra check was removed. | |
74 | ||
75 | * "git gc --aggressive" used to limit the delta-chain length to 250, | |
76 | which is way too deep for gaining additional space savings and is | |
77 | detrimental for runtime performance. The limit has been reduced to | |
78 | 50. | |
79 | ||
80 | * Documentation for individual configuration variables to control use | |
81 | of color (like `color.grep`) said that their default value is | |
82 | 'false', instead of saying their default is taken from `color.ui`. | |
83 | When we updated the default value for color.ui from 'false' to | |
84 | 'auto' quite a while ago, all of them broke. This has been | |
85 | corrected. | |
86 | ||
87 | * A shell script example in check-ref-format documentation has been | |
88 | fixed. | |
89 | ||
90 | * "git checkout <word>" does not follow the usual disambiguation | |
91 | rules when the <word> can be both a rev and a path, to allow | |
92 | checking out a branch 'foo' in a project that happens to have a | |
93 | file 'foo' in the working tree without having to disambiguate. | |
94 | This was poorly documented and the check was incorrect when the | |
95 | command was run from a subdirectory. | |
96 | ||
97 | * Some codepaths in "git diff" used regexec(3) on a buffer that was | |
98 | mmap(2)ed, which may not have a terminating NUL, leading to a read | |
99 | beyond the end of the mapped region. This was fixed by introducing | |
100 | a regexec_buf() helper that takes a <ptr,len> pair with REG_STARTEND | |
101 | extension. | |
102 | ||
103 | * The procedure to build Git on Mac OS X for Travis CI hardcoded the | |
104 | internal directory structure we assumed HomeBrew uses, which was a | |
105 | no-no. The procedure has been updated to ask HomeBrew things we | |
106 | need to know to fix this. | |
107 | ||
108 | * When "git rebase -i" is given a broken instruction, it told the | |
109 | user to fix it with "--edit-todo", but didn't say what the step | |
110 | after that was (i.e. "--continue"). | |
111 | ||
112 | * "git add --chmod=+x" added recently lacked documentation, which has | |
113 | been corrected. | |
114 | ||
115 | * "git add --chmod=+x <pathspec>" added recently only toggled the | |
116 | executable bit for paths that are either new or modified. This has | |
117 | been corrected to flip the executable bit for all paths that match | |
118 | the given pathspec. | |
119 | ||
6406bdc0 JH |
120 | * "git pack-objects --include-tag" was taught that when we know that |
121 | we are sending an object C, we want a tag B that directly points at | |
122 | C but also a tag A that points at the tag B. We used to miss the | |
123 | intermediate tag B in some cases. | |
124 | ||
125 | * Documentation around tools to import from CVS was fairly outdated. | |
126 | ||
127 | * In the codepath that comes up with the hostname to be used in an | |
128 | e-mail when the user didn't tell us, we looked at ai_canonname | |
129 | field in struct addrinfo without making sure it is not NULL first. | |
130 | ||
7c0304af | 131 | Also contains minor documentation updates and code clean-ups. |