Eleventh batch for 2.14

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Junio C Hamano committed Jun 24, 2017 at 14:34 UTC a2ba37c57b7e1f72900b0c1183ef38e52c3f9d27
1 file changed +46 -15
Documentation/RelNotes/2.14.0.txt
+46 -15
@@ -38,19 +38,16 @@ UI, Workflows & Features
38
39 * "git archive --format=zip" learned to use zip64 extension when
40 necessary to go beyond the 4GB limit.
41 - (merge 867e40ff3a rs/large-zip later to maint).
41
42 * "git reset" learned "--recurse-submodules" option.
43
44 * "git diff --submodule=diff" now recurses into nested submodules.
46 - (merge 5a5221427c jk/diff-submodule-diff-inline later to maint).
45
46 * "git repack" learned to accept the --threads=<n> option and pass it
47 to pack-objects.
48
49 * "git send-email" learned to run sendemail-validate hook to inspect
50 and reject a message before sending it out.
53 - (merge 177409e589 jt/send-email-validate-hook later to maint).
51
52 * There is no good reason why "git fetch $there $sha1" should fail
53 when the $sha1 names an object at the tip of an advertised ref,
@@ -81,7 +78,6 @@ UI, Workflows & Features
78 required disambiguation more often. The command line parser
79 learned to say "it's a pathspec" a bit more often when the syntax
80 looks like so.
84 - (merge 2cb47ab695 jk/pathspec-magic-disambiguation later to maint).
81
82 * Update "perl-compatible regular expression" support to enable JIT
83 and also allow linking with the newer PCRE v2 library.
@@ -90,6 +86,11 @@ UI, Workflows & Features
86 to define a common function/variable that can be used by other
87 filters.
88
89 + * Using "git add d/i/r" when d/i/r is the top of the working tree of
90 + a separate repository would create a gitlink in the index, which
91 + would appear as a not-quite-initialized submodule to others. We
92 + learned to give warnings when this happens.
93 +
94
95 Performance, Internal Implementation, Development Support etc.
96
@@ -99,7 +100,6 @@ Performance, Internal Implementation, Development Support etc.
100
101 * Code to update the cache-tree has been tightened so that we won't
102 accidentally write out any 0{40} entry in the tree object.
102 - (merge a96d3cc3f6 jk/no-null-sha1-in-cache-tree later to maint).
103
104 * Attempt to allow us notice "fishy" situation where we fail to
105 remove the temporary directory used during the test.
@@ -122,14 +122,11 @@ Performance, Internal Implementation, Development Support etc.
122
123 * Simplify parse_pathspec() codepath and stop it from looking at the
124 default in-core index.
125 - (merge 08de9151a8 bw/pathspec-sans-the-index later to maint).
125
126 * Add perf-test for wildmatch.
128 - (merge 62ca75a6b9 ab/perf-wildmatch later to maint).
127
128 * Code from "conversion using external process" codepath has been
129 extracted to a separate sub-process.[ch] module.
132 - (merge 4f2a2e9f0e bp/sub-process-convert-filter later to maint).
130
131 * When "git checkout", "git merge", etc. manipulates the in-core
132 index, various pieces of information in the index extensions are
@@ -140,7 +137,6 @@ Performance, Internal Implementation, Development Support etc.
137 cache is properly invalidated).
138
139 * The internal implementation of "git grep" has seen some clean-up.
143 - (merge 8df4c2953f ab/grep-preparatory-cleanup later to maint).
140
141 * Update the C style recommendation for notes for translators, as
142 recent versions of gettext tools can work with our style of
@@ -174,11 +170,23 @@ Performance, Internal Implementation, Development Support etc.
170
171 * Three instances of the same helper function have been consolidated
172 to one.
177 - (merge e0556a928f pc/dir-count-slashes later to maint).
173
174 * "fast-import" uses a default pack chain depth that is consistent
175 with other parts of the system.
176
177 + * A new test to show the interaction between the pattern [^a-z]
178 + (which matches '/') and a slash in a path has been added. The
179 + pattern should not match the slash with "pathmatch", but should
180 + with "wildmatch".
181 +
182 + * The 'diff-highlight' program (in contrib/) has been restructured
183 + for easier reuse by an external project 'diff-so-fancy'.
184 + (merge 0c977dbc81 jk/diff-highlight-module later to maint).
185 +
186 + * A common pattern to free a piece of memory and assign NULL to the
187 + pointer that used to point at it has been replaced with a new
188 + FREE_AND_NULL() macro.
189 +
190
191 Also contains various documentation updates and code clean-ups.
192
@@ -227,11 +235,6 @@ notes for details).
235 * "git checkout --recurse-submodules" did not quite work with a
236 submodule that itself has submodules.
237
230 - * Plug some leaks and updates internal API used to implement the
231 - split index feature to make it easier to avoid such a leak in the
232 - future.
233 - (merge de950c5773 nd/split-index-unshare later to maint).
234 -
238 * "pack-objects" can stream a slice of an existing packfile out when
239 the pack bitmap can tell that the reachable objects are all needed
240 in the output, without inspecting individual objects. This
@@ -361,6 +364,32 @@ notes for details).
364 and %Z with caller-supplied values to help working around this.
365 (merge 6eced3ec5e rs/strbuf-addftime-zZ later to maint).
366
367 + * "git mergetool" learned to work around a wrapper MacOS X adds
368 + around underlying meld.
369 + (merge 0af85f84bd da/mergetools-meld-output-opt-on-macos later to maint).
370 +
371 + * An example in documentation that does not work in multi worktree
372 + configuration has been corrected.
373 + (merge 773a88914f ah/doc-gitattributes-empty-index later to maint).
374 +
375 + * The pretty-format specifiers like '%h', '%t', etc. had an
376 + optimization that no longer works correctly. In preparation/hope
377 + of getting it correctly implemented, first discard the optimization
378 + that is broken.
379 + (merge fe9e2aefd4 rs/pretty-add-again later to maint).
380 +
381 + * The code to pick up and execute command alias definition from the
382 + configuration used to switch to the top of the working tree and
383 + then come back when the expanded alias was executed, which was
384 + unnecessarilyl complex. Attempt to simplify the logic by using the
385 + early-config mechanism that does not chdir around.
386 + (merge a9bcf6586d js/alias-early-config later to maint).
387 +
388 + * Fix configuration codepath to pay proper attention to commondir
389 + that is used in multi-worktree situation, and isolate config API
390 + into its own header file.
391 + (merge dc8441fdb4 bw/config-h later to maint).
392 +
393 * Other minor doc, test and build updates and code cleanups.
394 (merge 8ba74bfd7c jc/diff-tree-stale-comment later to maint).
395 (merge 68602c01fd sb/submodule-rm-absorb later to maint).
@@ -368,3 +397,5 @@ notes for details).
397 (merge ae52d57f0b km/test-mailinfo-b-failure later to maint).
398 (merge 8b1d9136e1 sg/revision-parser-skip-prefix later to maint).
399 (merge bb8efa1772 sd/t3200-branch-m-test later to maint).
400 + (merge 8abc09c0e3 sg/doc-pretty-formats later to maint).
401 + (merge 680b469e83 sn/reset-doc-typofix later to maint).