Post 2.3 cyce (batch #10)

Also declare that the next one will be called v2.4 ;-) Signed-off-by: Junio C Hamano <gitster@pobox.com>

Junio C Hamano committed Mar 17, 2015 at 16:05 UTC 9ab698f4000a736864c41f57fbae1e021ac27799
4 files changed +321 -300
Documentation/RelNotes/2.4.0.txt new
+319
@@ -0,0 +1,319 @@
1 +Git 2.4 Release Notes
2 +=====================
3 +
4 +Updates since v2.3
5 +------------------
6 +
7 +Ports
8 +
9 + * Our default I/O size (8 MiB) for large files was too large for some
10 + platforms with smaller SSIZE_MAX, leading to read(2)/write(2)
11 + failures.
12 +
13 + * We did not check the curl library version before using
14 + CURLOPT_PROXYAUTH feature that may not exist.
15 +
16 +
17 +UI, Workflows & Features
18 +
19 + * The command usage info strings given by "git cmd -h" and in
20 + documentation have been tweaked for consistency.
21 +
22 + * The "sync" subcommand of "git p4" now allows users to exclude
23 + subdirectories like its "clone" subcommand does.
24 +
25 + * "git log --invert-grep --grep=WIP" will show only commits that do
26 + not have the string "WIP" in their messages.
27 +
28 + * "git push" has been taught a "--atomic" option that makes push to
29 + update more than one ref an "all-or-none" affair.
30 +
31 + * Extending the "push to deploy" added in 2.3, the behaviour of "git
32 + push" when updating the branch that is checked out can now be
33 + tweaked by push-to-checkout hook.
34 +
35 + * Using environment variable LANGUAGE and friends on the client side,
36 + HTTP-based transports now send Accept-Language when making requests.
37 +
38 + * "git send-email" used to accept a mistaken "y" (or "yes") as an
39 + answer to "What encoding do you want to use [UTF-8]? " without
40 + questioning. Now it asks for confirmation when the answer looks
41 + too short to be a valid encoding name.
42 +
43 + * When "git apply --whitespace=fix" fixed whitespace errors in the
44 + common context lines, the command reports that it did so.
45 +
46 + * "git status" now allows the "-v" to be given twice to show the
47 + differences that are left in the working tree not to be committed.
48 +
49 + * "git cherry-pick" used to clean-up the log message even when it is
50 + merely replaying an existing commit. It now replays the message
51 + verbatim unless you are editing the message of resulting commits.
52 +
53 + * "git archive" can now be told to set the 'text' attribute in the
54 + resulting zip archive.
55 +
56 +
57 +Performance, Internal Implementation, Development Support etc.
58 +
59 + * Implementation of N_() macro has been updated slightly to help us
60 + detect mistakes.
61 +
62 + * Implementation of "reflog expire" has been restructured to fit the
63 + reflogs better with the recently updated ref API.
64 +
65 + * The transport-helper did not give transport options such as
66 + verbosity, progress, cloning, etc. to import and export based
67 + helpers, like it did for fetch and push based helpers, robbing them
68 + the chance to honor the wish of the end-users better.
69 +
70 + * The tests that wanted to see that file becomes unreadable after
71 + running "chmod a-r file", and the tests that wanted to make sure it
72 + is not run as root, we used "can we write into the / directory?" as
73 + a cheap substitute, but on some platforms that is not a good
74 + heuristics. The tests and their prerequisites have been updated to
75 + check what they really require.
76 + (merge f400e51 jk/sanity later to maint).
77 +
78 + * Various issues around "reflog expire", e.g. using --updateref when
79 + expiring a reflog for a symbolic reference, have been corrected
80 + and/or made saner.
81 +
82 + * The strbuf API was explained between the API documentation and in
83 + the header file. Move missing bits to strbuf.h so that programmers
84 + can check only one place for all necessary information.
85 +
86 + * The error handling functions and conventions are now documented in
87 + the API manual.
88 +
89 + * Optimize attribute look-up, mostly useful in "git grep" on a
90 + project that does not use many attributes, by avoiding it when we
91 + (should) know that the attributes are not defined in the first
92 + place.
93 +
94 + * Typofix in comments.
95 + (merge ef2956a ak/git-pm-typofix later to maint).
96 +
97 + * Code clean-up.
98 + (merge 0b868f0 sb/hex-object-name-is-at-most-41-bytes-long later to maint).
99 + (merge 5d30851 dp/remove-duplicated-header-inclusion later to maint).
100 +
101 + * Simplify the ref transaction API around how "the ref should be
102 + pointing at this object" is specified.
103 +
104 +
105 +Also contains various documentation updates and code clean-ups.
106 +
107 +
108 +Fixes since v2.3
109 +----------------
110 +
111 +Unless otherwise noted, all the fixes since v2.3 in the maintenance
112 +track are contained in this release (see the maintenance releases'
113 +notes for details).
114 +
115 + * "git blame HEAD -- missing" failed to correctly say "HEAD" when it
116 + tried to say "No such path 'missing' in HEAD".
117 + (merge a46442f jk/blame-commit-label later to maint).
118 +
119 + * "git rerere" (invoked internally from many mergy operations) did
120 + not correctly signal errors when told to update the working tree
121 + files and failed to do so for whatever reason.
122 + (merge 89ea903 jn/rerere-fail-on-auto-update-failure later to maint).
123 +
124 + * Setting diff.submodule to 'log' made "git format-patch" produce
125 + broken patches.
126 + (merge 339de50 dk/format-patch-ignore-diff-submodule later to maint).
127 +
128 + * After attempting and failing a password-less authentication
129 + (e.g. kerberos), libcURL refuses to fall back to password based
130 + Basic authentication without a bit of help/encouragement.
131 + (merge 4dbe664 bc/http-fallback-to-password-after-krb-fails later to maint).
132 +
133 + * The "git push" documentation made the "--repo=<there>" option
134 + easily misunderstood.
135 + (merge 57b92a7 mg/push-repo-option-doc later to maint).
136 +
137 + * Code to read branch name from various files in .git/ directory
138 + would have misbehaved if the code to write them left an empty file.
139 + (merge 66ec904 jk/status-read-branch-name-fix later to maint).
140 +
141 + * A misspelled conditional that is always true has been fixed.
142 + (merge 94ee8e2 jk/remote-curl-an-array-in-struct-cannot-be-null later to maint).
143 +
144 + * The documentation incorrectly said that C(opy) and R(ename) are the
145 + only ones that can be followed by the score number in the output in
146 + the --raw format.
147 + (merge ac1c2d9 jc/diff-format-doc later to maint).
148 +
149 + * A broken pack .idx file in the receiving repository prevented the
150 + dumb http transport from fetching a good copy of it from the other
151 + side.
152 + (merge 8b9c2dd jk/dumb-http-idx-fetch-fix later to maint).
153 +
154 + * The error message from "git commit", when a non-existing author
155 + name was given as value to the "--author=" parameter, has been
156 + reworded to avoid misunderstanding.
157 + (merge 1044b1f mg/commit-author-no-match-malformed-message later to maint).
158 +
159 + * "git log --help" used to show rev-list options that are irrelevant
160 + to the "log" command.
161 + (merge 3cab02d jc/doc-log-rev-list-options later to maint).
162 +
163 + * "git apply --whitespace=fix" used to under-allocate the memory when
164 + the fix resulted in a longer text than the original patch.
165 + (merge 407a792 jc/apply-ws-fix-expands later to maint).
166 +
167 + * The interactive "show a list and let the user choose from it"
168 + interface "add -i" used showed and prompted to the user even when
169 + the candidate list was empty, against which the only "choice" the
170 + user could have made was to choose nothing.
171 + (merge a9c4641 ak/add-i-empty-candidates later to maint).
172 +
173 + * The insn sheet "git rebase -i" creates did not fully honor
174 + core.abbrev settings.
175 + (merge edb72d5 ks/rebase-i-abbrev later to maint).
176 +
177 + * "git fetch" over a remote-helper that cannot respond to "list"
178 + command could not fetch from a symbolic reference e.g. HEAD.
179 + (merge 33cae54 mh/deref-symref-over-helper-transport later to maint).
180 +
181 + * "git push --signed" gave an incorrectly worded error message when
182 + the other side did not support the capability.
183 + (merge 45917f0 jc/push-cert later to maint).
184 +
185 + * We didn't format an integer that wouldn't fit in "int" but in
186 + "uintmax_t" correctly.
187 + (merge d306f3d jk/decimal-width-for-uintmax later to maint).
188 +
189 + * Reading configuration from a blob object, when it ends with a lone
190 + CR, use to confuse the configuration parser.
191 + (merge 1d0655c jk/config-no-ungetc-eof later to maint).
192 +
193 + * The pack bitmap support did not build with older versions of GCC.
194 + (merge bd4e882 jk/pack-bitmap later to maint).
195 +
196 + * The documentation wasn't clear that "remote.<nick>.pushURL" and
197 + "remote.<nick>.URL" are there to name the same repository accessed
198 + via different transports, not two separate repositories.
199 + (merge 697f652 jc/remote-set-url-doc later to maint).
200 +
201 + * Older GnuPG implementations may not correctly import the keyring
202 + material we prepare for the tests to use.
203 + (merge 1f985d6 ch/new-gpg-drops-rfc-1991 later to maint).
204 +
205 + * The credential helper for Windows (in contrib/) used to mishandle
206 + a user name with an at-sign in it.
207 + (merge 13d261e av/wincred-with-at-in-username-fix later to maint).
208 +
209 + * Longstanding configuration variable naming rules has been added to
210 + the documentation.
211 + (merge 35840a3 jc/conf-var-doc later to maint).
212 +
213 + * An earlier workaround to squelch unhelpful deprecation warnings
214 + from the complier on Mac OSX unnecessarily set minimum required
215 + version of the OS, which the user might want to raise (or lower)
216 + for other reasons.
217 + (merge 88c03eb es/squelch-openssl-warnings-on-macosx later to maint).
218 +
219 + * Certain older vintages of cURL give irregular output from
220 + "curl-config --vernum", which confused our build system.
221 + (merge 3af6792 tc/curl-vernum-output-broken-in-7.11 later to maint).
222 +
223 + * In v2.2.0, we broke "git prune" that runs in a repository that
224 + borrows from an alternate object store.
225 + (merge b0a4264 jk/prune-mtime later to maint).
226 +
227 + * "git submodule add" failed to squash "path/to/././submodule" to
228 + "path/to/submodule".
229 + (merge 8196e72 ps/submodule-sanitize-path-upon-add later to maint).
230 +
231 + * "git merge-file" did not work correctly in a subdirectory.
232 + (merge 204a8ff ab/merge-file-prefix later to maint).
233 +
234 + * "git blame" died, trying to free an uninitialized piece of memory.
235 + (merge e600592 es/blame-commit-info-fix later to maint).
236 +
237 + * "git fast-import" used to crash when it could not close and
238 + conclude the resulting packfile cleanly.
239 + (merge 5e915f3 jk/fast-import-die-nicely-fix later to maint).
240 +
241 + * "update-index --refresh" used to leak when an entry cannot be
242 + refreshed for whatever reason.
243 + (merge bc1c2ca sb/plug-leak-in-make-cache-entry later to maint).
244 +
245 + * The "interpolated-path" option of "git daemon" inserted any string
246 + client declared on the "host=" capability request without checking.
247 + Sanitize and limit %H and %CH to a saner and a valid DNS name.
248 + (merge b485373 jk/daemon-interpolate later to maint).
249 +
250 + * "git daemon" looked up the hostname even when "%CH" and "%IP"
251 + interpolations are not requested, which was unnecessary.
252 + (merge dc8edc8 rs/daemon-interpolate later to maint).
253 +
254 + * Even though we officially haven't dropped Perl 5.8 support, the
255 + Getopt::Long package that came with it does not support "--no-"
256 + prefix to negate a boolean option; manually add support to help
257 + people with older Getopt::Long package.
258 + (merge f471494 km/send-email-getopt-long-workarounds later to maint).
259 +
260 + * "git apply" was not very careful about reading from, removing,
261 + updating and creating paths outside the working tree (under
262 + --index/--cached) or the current directory (when used as a
263 + replacement for GNU patch).
264 + (merge e0d201b jc/apply-beyond-symlink later to maint).
265 +
266 + * A breakage to git-svn around v2.2 era that triggers premature
267 + closing of FileHandle has been corrected.
268 + (merge e426311 ew/svn-maint-fixes later to maint).
269 +
270 + * We did not parse username followed by literal IPv6 address in SSH
271 + transport URLs, e.g. ssh://user@[2001:db8::1]:22/repo.git
272 + correctly.
273 + (merge 3f55cca tb/connect-ipv6-parse-fix later to maint).
274 +
275 + * The configuration variable 'mailinfo.scissors' was hard to
276 + discover in the documentation.
277 + (merge afb5de7 mm/am-c-doc later to maint).
278 +
279 + * The interaction between "git submodule update" and the
280 + submodule.*.update configuration was not clearly documented.
281 + (merge 5c31acf ms/submodule-update-config-doc later to maint).
282 +
283 + * "git diff --shortstat --dirstat=changes" showed a dirstat based on
284 + lines that was never asked by the end user in addition to the
285 + dirstat that the user asked for.
286 + (merge ab27389 mk/diff-shortstat-dirstat-fix later to maint).
287 +
288 + * "git remote add" mentioned "--tags" and "--no-tags" and was not
289 + clear that fetch from the remote in the future will use the default
290 + behaviour when neither is given to override it.
291 + (merge aaba0ab mg/doc-remote-tags-or-not later to maint).
292 +
293 + * Description given by "grep -h" for its --exclude-standard option
294 + was phrased poorly.
295 + (merge 77fdb8a nd/grep-exclude-standard-help-fix later to maint).
296 +
297 + * "git rebase -i" recently started to include the number of
298 + commits in the insn sheet to be processed, but on a platform
299 + that prepends leading whitespaces to "wc -l" output, the numbers
300 + are shown with extra whitespaces that aren't necessary.
301 + (merge 2185d3b es/rebase-i-count-todo later to maint).
302 +
303 + * The borrowed code in kwset API did not follow our usual convention
304 + to use "unsigned char" to store values that range from 0-255.
305 + (merge 189c860 bw/kwset-use-unsigned later to maint).
306 +
307 + * A corrupt input to "git diff -M" used to cause it to segfault.
308 + (merge 4d6be03 jk/diffcore-rename-duplicate later to maint).
309 +
310 + * Code cleanups and documentaiton updates.
311 + (merge 2ce63e9 rs/simple-cleanups later to maint).
312 + (merge 33baa69 rj/no-xopen-source-for-cygwin later to maint).
313 + (merge 817d03e jc/diff-test-updates later to maint).
314 + (merge eb32c66 ak/t5516-typofix later to maint).
315 + (merge bcd57cb mr/doc-clean-f-f later to maint).
316 + (merge 0d6accc mg/doc-status-color-slot later to maint).
317 + (merge 53e53c7 sg/completion-remote later to maint).
318 + (merge 8fa7975 ak/git-done-help-cleanup later to maint).
319 + (merge 9a6f128 rs/deflate-init-cleanup later to maint).
GIT-VERSION-GEN
+1 -1
@@ -1,7 +1,7 @@
1 #!/bin/sh
2
3 GVF=GIT-VERSION-FILE
4 -DEF_VER=v2.3.3
4 +DEF_VER=v2.3.3.GIT
5
6 LF='
7 '
RelNotes deleted
-299
@@ -1,299 +0,0 @@
1 -Git ???? Release Notes
2 -======================
3 -
4 -Updates since v2.3
5 -------------------
6 -
7 -Ports
8 -
9 - * Our default I/O size (8 MiB) for large files was too large for some
10 - platforms with smaller SSIZE_MAX, leading to read(2)/write(2)
11 - failures.
12 -
13 - * We did not check the curl library version before using
14 - CURLOPT_PROXYAUTH feature that may not exist.
15 -
16 -
17 -UI, Workflows & Features
18 -
19 - * The command usage info strings given by "git cmd -h" and in
20 - documentation have been tweaked for consistency.
21 -
22 - * The "sync" subcommand of "git p4" now allows users to exclude
23 - subdirectories like its "clone" subcommand does.
24 -
25 - * "git log --invert-grep --grep=WIP" will show only commits that do
26 - not have the string "WIP" in their messages.
27 -
28 - * "git push" has been taught a "--atomic" option that makes push to
29 - update more than one ref an "all-or-none" affair.
30 -
31 - * Extending the "push to deploy" added in 2.3, the behaviour of "git
32 - push" when updating the branch that is checked out can now be
33 - tweaked by push-to-checkout hook.
34 -
35 - * Using environment variable LANGUAGE and friends on the client side,
36 - HTTP-based transports now send Accept-Language when making requests.
37 -
38 - * "git send-email" used to accept a mistaken "y" (or "yes") as an
39 - answer to "What encoding do you want to use [UTF-8]? " without
40 - questioning. Now it asks for confirmation when the answer looks
41 - too short to be a valid encoding name.
42 -
43 - * When "git apply --whitespace=fix" fixed whitespace errors in the
44 - common context lines, the command reports that it did so.
45 -
46 -
47 -Performance, Internal Implementation, Development Support etc.
48 -
49 - * Implementation of N_() macro has been updated slightly to help us
50 - detect mistakes.
51 -
52 - * Implementation of "reflog expire" has been restructured to fit the
53 - reflogs better with the recently updated ref API.
54 -
55 - * The transport-helper did not give transport options such as
56 - verbosity, progress, cloning, etc. to import and export based
57 - helpers, like it did for fetch and push based helpers, robbing them
58 - the chance to honor the wish of the end-users better.
59 -
60 - * The tests that wanted to see that file becomes unreadable after
61 - running "chmod a-r file", and the tests that wanted to make sure it
62 - is not run as root, we used "can we write into the / directory?" as
63 - a cheap substitute, but on some platforms that is not a good
64 - heuristics. The tests and their prerequisites have been updated to
65 - check what they really require.
66 - (merge f400e51 jk/sanity later to maint).
67 -
68 - * Various issues around "reflog expire", e.g. using --updateref when
69 - expiring a reflog for a symbolic reference, have been corrected
70 - and/or made saner.
71 -
72 - * The strbuf API was explained between the API documentation and in
73 - the header file. Move missing bits to strbuf.h so that programmers
74 - can check only one place for all necessary information.
75 -
76 - * The error handling functions and conventions are now documented in
77 - the API manual.
78 -
79 - * Optimize attribute look-up, mostly useful in "git grep" on a
80 - project that does not use many attributes, by avoiding it when we
81 - (should) know that the attributes are not defined in the first
82 - place.
83 -
84 - * Typofix in comments.
85 - (merge ef2956a ak/git-pm-typofix later to maint).
86 -
87 - * Code clean-up.
88 - (merge 0b868f0 sb/hex-object-name-is-at-most-41-bytes-long later to maint).
89 - (merge 5d30851 dp/remove-duplicated-header-inclusion later to maint).
90 -
91 - * Simplify the ref transaction API around how "the ref should be
92 - pointing at this object" is specified.
93 -
94 -
95 -Also contains various documentation updates and code clean-ups.
96 -
97 -
98 -Fixes since v2.3
99 -----------------
100 -
101 -Unless otherwise noted, all the fixes since v2.3 in the maintenance
102 -track are contained in this release (see the maintenance releases'
103 -notes for details).
104 -
105 - * "git blame HEAD -- missing" failed to correctly say "HEAD" when it
106 - tried to say "No such path 'missing' in HEAD".
107 - (merge a46442f jk/blame-commit-label later to maint).
108 -
109 - * "git rerere" (invoked internally from many mergy operations) did
110 - not correctly signal errors when told to update the working tree
111 - files and failed to do so for whatever reason.
112 - (merge 89ea903 jn/rerere-fail-on-auto-update-failure later to maint).
113 -
114 - * Setting diff.submodule to 'log' made "git format-patch" produce
115 - broken patches.
116 - (merge 339de50 dk/format-patch-ignore-diff-submodule later to maint).
117 -
118 - * After attempting and failing a password-less authentication
119 - (e.g. kerberos), libcURL refuses to fall back to password based
120 - Basic authentication without a bit of help/encouragement.
121 - (merge 4dbe664 bc/http-fallback-to-password-after-krb-fails later to maint).
122 -
123 - * The "git push" documentation made the "--repo=<there>" option
124 - easily misunderstood.
125 - (merge 57b92a7 mg/push-repo-option-doc later to maint).
126 -
127 - * Code to read branch name from various files in .git/ directory
128 - would have misbehaved if the code to write them left an empty file.
129 - (merge 66ec904 jk/status-read-branch-name-fix later to maint).
130 -
131 - * A misspelled conditional that is always true has been fixed.
132 - (merge 94ee8e2 jk/remote-curl-an-array-in-struct-cannot-be-null later to maint).
133 -
134 - * The documentation incorrectly said that C(opy) and R(ename) are the
135 - only ones that can be followed by the score number in the output in
136 - the --raw format.
137 - (merge ac1c2d9 jc/diff-format-doc later to maint).
138 -
139 - * A broken pack .idx file in the receiving repository prevented the
140 - dumb http transport from fetching a good copy of it from the other
141 - side.
142 - (merge 8b9c2dd jk/dumb-http-idx-fetch-fix later to maint).
143 -
144 - * The error message from "git commit", when a non-existing author
145 - name was given as value to the "--author=" parameter, has been
146 - reworded to avoid misunderstanding.
147 - (merge 1044b1f mg/commit-author-no-match-malformed-message later to maint).
148 -
149 - * "git log --help" used to show rev-list options that are irrelevant
150 - to the "log" command.
151 - (merge 3cab02d jc/doc-log-rev-list-options later to maint).
152 -
153 - * "git apply --whitespace=fix" used to under-allocate the memory when
154 - the fix resulted in a longer text than the original patch.
155 - (merge 407a792 jc/apply-ws-fix-expands later to maint).
156 -
157 - * The interactive "show a list and let the user choose from it"
158 - interface "add -i" used showed and prompted to the user even when
159 - the candidate list was empty, against which the only "choice" the
160 - user could have made was to choose nothing.
161 - (merge a9c4641 ak/add-i-empty-candidates later to maint).
162 -
163 - * The insn sheet "git rebase -i" creates did not fully honor
164 - core.abbrev settings.
165 - (merge edb72d5 ks/rebase-i-abbrev later to maint).
166 -
167 - * "git fetch" over a remote-helper that cannot respond to "list"
168 - command could not fetch from a symbolic reference e.g. HEAD.
169 - (merge 33cae54 mh/deref-symref-over-helper-transport later to maint).
170 -
171 - * "git push --signed" gave an incorrectly worded error message when
172 - the other side did not support the capability.
173 - (merge 45917f0 jc/push-cert later to maint).
174 -
175 - * We didn't format an integer that wouldn't fit in "int" but in
176 - "uintmax_t" correctly.
177 - (merge d306f3d jk/decimal-width-for-uintmax later to maint).
178 -
179 - * Reading configuration from a blob object, when it ends with a lone
180 - CR, use to confuse the configuration parser.
181 - (merge 1d0655c jk/config-no-ungetc-eof later to maint).
182 -
183 - * The pack bitmap support did not build with older versions of GCC.
184 - (merge bd4e882 jk/pack-bitmap later to maint).
185 -
186 - * The documentation wasn't clear that "remote.<nick>.pushURL" and
187 - "remote.<nick>.URL" are there to name the same repository accessed
188 - via different transports, not two separate repositories.
189 - (merge 697f652 jc/remote-set-url-doc later to maint).
190 -
191 - * Older GnuPG implementations may not correctly import the keyring
192 - material we prepare for the tests to use.
193 - (merge 1f985d6 ch/new-gpg-drops-rfc-1991 later to maint).
194 -
195 - * The credential helper for Windows (in contrib/) used to mishandle
196 - a user name with an at-sign in it.
197 - (merge 13d261e av/wincred-with-at-in-username-fix later to maint).
198 -
199 - * Longstanding configuration variable naming rules has been added to
200 - the documentation.
201 - (merge 35840a3 jc/conf-var-doc later to maint).
202 -
203 - * An earlier workaround to squelch unhelpful deprecation warnings
204 - from the complier on Mac OSX unnecessarily set minimum required
205 - version of the OS, which the user might want to raise (or lower)
206 - for other reasons.
207 - (merge 88c03eb es/squelch-openssl-warnings-on-macosx later to maint).
208 -
209 - * Certain older vintages of cURL give irregular output from
210 - "curl-config --vernum", which confused our build system.
211 - (merge 3af6792 tc/curl-vernum-output-broken-in-7.11 later to maint).
212 -
213 - * In v2.2.0, we broke "git prune" that runs in a repository that
214 - borrows from an alternate object store.
215 - (merge b0a4264 jk/prune-mtime later to maint).
216 -
217 - * "git submodule add" failed to squash "path/to/././submodule" to
218 - "path/to/submodule".
219 - (merge 8196e72 ps/submodule-sanitize-path-upon-add later to maint).
220 -
221 - * "git merge-file" did not work correctly in a subdirectory.
222 - (merge 204a8ff ab/merge-file-prefix later to maint).
223 -
224 - * "git blame" died, trying to free an uninitialized piece of memory.
225 - (merge e600592 es/blame-commit-info-fix later to maint).
226 -
227 - * "git fast-import" used to crash when it could not close and
228 - conclude the resulting packfile cleanly.
229 - (merge 5e915f3 jk/fast-import-die-nicely-fix later to maint).
230 -
231 - * "update-index --refresh" used to leak when an entry cannot be
232 - refreshed for whatever reason.
233 - (merge bc1c2ca sb/plug-leak-in-make-cache-entry later to maint).
234 -
235 - * The "interpolated-path" option of "git daemon" inserted any string
236 - client declared on the "host=" capability request without checking.
237 - Sanitize and limit %H and %CH to a saner and a valid DNS name.
238 - (merge b485373 jk/daemon-interpolate later to maint).
239 -
240 - * "git daemon" looked up the hostname even when "%CH" and "%IP"
241 - interpolations are not requested, which was unnecessary.
242 - (merge dc8edc8 rs/daemon-interpolate later to maint).
243 -
244 - * Even though we officially haven't dropped Perl 5.8 support, the
245 - Getopt::Long package that came with it does not support "--no-"
246 - prefix to negate a boolean option; manually add support to help
247 - people with older Getopt::Long package.
248 - (merge f471494 km/send-email-getopt-long-workarounds later to maint).
249 -
250 - * "git apply" was not very careful about reading from, removing,
251 - updating and creating paths outside the working tree (under
252 - --index/--cached) or the current directory (when used as a
253 - replacement for GNU patch).
254 - (merge e0d201b jc/apply-beyond-symlink later to maint).
255 -
256 - * A breakage to git-svn around v2.2 era that triggers premature
257 - closing of FileHandle has been corrected.
258 - (merge e426311 ew/svn-maint-fixes later to maint).
259 -
260 - * We did not parse username followed by literal IPv6 address in SSH
261 - transport URLs, e.g. ssh://user@[2001:db8::1]:22/repo.git
262 - correctly.
263 - (merge 3f55cca tb/connect-ipv6-parse-fix later to maint).
264 -
265 - * The configuration variable 'mailinfo.scissors' was hard to
266 - discover in the documentation.
267 - (merge afb5de7 mm/am-c-doc later to maint).
268 -
269 - * The interaction between "git submodule update" and the
270 - submodule.*.update configuration was not clearly documented.
271 - (merge 5c31acf ms/submodule-update-config-doc later to maint).
272 -
273 - * "git diff --shortstat --dirstat=changes" showed a dirstat based on
274 - lines that was never asked by the end user in addition to the
275 - dirstat that the user asked for.
276 - (merge ab27389 mk/diff-shortstat-dirstat-fix later to maint).
277 -
278 - * "git remote add" mentioned "--tags" and "--no-tags" and was not
279 - clear that fetch from the remote in the future will use the default
280 - behaviour when neither is given to override it.
281 - (merge aaba0ab mg/doc-remote-tags-or-not later to maint).
282 -
283 - * Description given by "grep -h" for its --exclude-standard option
284 - was phrased poorly.
285 - (merge 77fdb8a nd/grep-exclude-standard-help-fix later to maint).
286 -
287 - * The borrowed code in kwset API did not follow our usual convention
288 - to use "unsigned char" to store values that range from 0-255.
289 - (merge 189c860 bw/kwset-use-unsigned later to maint).
290 -
291 - * A corrupt input to "git diff -M" used to cause it to segfault.
292 - (merge 4d6be03 jk/diffcore-rename-duplicate later to maint).
293 -
294 - * Code cleanups and documentaiton updates.
295 - (merge 2ce63e9 rs/simple-cleanups later to maint).
296 - (merge 33baa69 rj/no-xopen-source-for-cygwin later to maint).
297 - (merge 817d03e jc/diff-test-updates later to maint).
298 - (merge eb32c66 ak/t5516-typofix later to maint).
299 - (merge bcd57cb mr/doc-clean-f-f later to maint).
RelNotes new
+1
@@ -0,0 +1 @@
1 +Documentation/RelNotes/2.4.0.txt
\ No newline at end of file