Twelfth batch for 2.14
[gitweb.git] / Documentation / RelNotes / 2.14.0.txt
index 9c252cdc4ff835b58412c259aabf513c8ed6b516..8b80058a8539ff4ddcf18c0669f982fd9b2d026a 100644 (file)
@@ -38,19 +38,16 @@ UI, Workflows & Features
 
  * "git archive --format=zip" learned to use zip64 extension when
    necessary to go beyond the 4GB limit.
-   (merge 867e40ff3a rs/large-zip later to maint).
 
  * "git reset" learned "--recurse-submodules" option.
 
  * "git diff --submodule=diff" now recurses into nested submodules.
-   (merge 5a5221427c jk/diff-submodule-diff-inline later to maint).
 
  * "git repack" learned to accept the --threads=<n> option and pass it
    to pack-objects.
 
  * "git send-email" learned to run sendemail-validate hook to inspect
    and reject a message before sending it out.
-   (merge 177409e589 jt/send-email-validate-hook later to maint).
 
  * There is no good reason why "git fetch $there $sha1" should fail
    when the $sha1 names an object at the tip of an advertised ref,
@@ -81,15 +78,22 @@ UI, Workflows & Features
    required disambiguation more often.  The command line parser
    learned to say "it's a pathspec" a bit more often when the syntax
    looks like so.
-   (merge 2cb47ab695 jk/pathspec-magic-disambiguation later to maint).
 
  * Update "perl-compatible regular expression" support to enable JIT
    and also allow linking with the newer PCRE v2 library.
 
  * "filter-branch" learned a pseudo filter "--setup" that can be used
-   to define a common function/variable that can be used by other
+   to define common functions/variables that can be used by other
    filters.
 
+ * Using "git add d/i/r" when d/i/r is the top of the working tree of
+   a separate repository would create a gitlink in the index, which
+   would appear as a not-quite-initialized submodule to others.  We
+   learned to give warnings when this happens.
+
+ * "git status" learned to optionally give how many stash entries the
+   user has in its output.
+
 
 Performance, Internal Implementation, Development Support etc.
 
@@ -99,7 +103,6 @@ Performance, Internal Implementation, Development Support etc.
 
  * Code to update the cache-tree has been tightened so that we won't
    accidentally write out any 0{40} entry in the tree object.
-   (merge a96d3cc3f6 jk/no-null-sha1-in-cache-tree later to maint).
 
  * Attempt to allow us notice "fishy" situation where we fail to
    remove the temporary directory used during the test.
@@ -122,14 +125,11 @@ Performance, Internal Implementation, Development Support etc.
 
  * Simplify parse_pathspec() codepath and stop it from looking at the
    default in-core index.
-   (merge 08de9151a8 bw/pathspec-sans-the-index later to maint).
 
  * Add perf-test for wildmatch.
-   (merge 62ca75a6b9 ab/perf-wildmatch later to maint).
 
  * Code from "conversion using external process" codepath has been
    extracted to a separate sub-process.[ch] module.
-   (merge 4f2a2e9f0e bp/sub-process-convert-filter later to maint).
 
  * When "git checkout", "git merge", etc. manipulates the in-core
    index, various pieces of information in the index extensions are
@@ -140,7 +140,6 @@ Performance, Internal Implementation, Development Support etc.
    cache is properly invalidated).
 
  * The internal implementation of "git grep" has seen some clean-up.
-   (merge 8df4c2953f ab/grep-preparatory-cleanup later to maint).
 
  * Update the C style recommendation for notes for translators, as
    recent versions of gettext tools can work with our style of
@@ -174,11 +173,23 @@ Performance, Internal Implementation, Development Support etc.
 
  * Three instances of the same helper function have been consolidated
    to one.
-   (merge e0556a928f pc/dir-count-slashes later to maint).
 
  * "fast-import" uses a default pack chain depth that is consistent
    with other parts of the system.
 
+ * A new test to show the interaction between the pattern [^a-z]
+   (which matches '/') and a slash in a path has been added.  The
+   pattern should not match the slash with "pathmatch", but should
+   with "wildmatch".
+
+ * The 'diff-highlight' program (in contrib/) has been restructured
+   for easier reuse by an external project 'diff-so-fancy'.
+   (merge 0c977dbc81 jk/diff-highlight-module later to maint).
+
+ * A common pattern to free a piece of memory and assign NULL to the
+   pointer that used to point at it has been replaced with a new
+   FREE_AND_NULL() macro.
+
 
 Also contains various documentation updates and code clean-ups.
 
@@ -227,11 +238,6 @@ notes for details).
  * "git checkout --recurse-submodules" did not quite work with a
    submodule that itself has submodules.
 
- * Plug some leaks and updates internal API used to implement the
-   split index feature to make it easier to avoid such a leak in the
-   future.
-   (merge de950c5773 nd/split-index-unshare later to maint).
-
  * "pack-objects" can stream a slice of an existing packfile out when
    the pack bitmap can tell that the reachable objects are all needed
    in the output, without inspecting individual objects.  This
@@ -293,7 +299,6 @@ notes for details).
    they were almost never considered.  Instead, give them about the
    same chance to be considered as an annotated tag that is the same
    age as the underlying commit would.
-   (merge ef1e74065c jc/name-rev-lw-tag later to maint).
 
  * The "run-command" API implementation has been made more robust
    against dead-locking in a threaded environment.
@@ -319,7 +324,6 @@ notes for details).
    $commit1:$path $commit2:$path", used to be shown with the full
    object name as given on the command line, but it is more natural to
    use the $path in the output and use it to look up .gitattributes.
-   (merge 30d005c020 jk/diff-blob later to maint).
 
  * The "collision detecting" SHA-1 implementation shipped with 2.13
    was quite broken on some big-endian platforms and/or platforms that
@@ -340,7 +344,6 @@ notes for details).
    fast-forwards to the upstream.
 
  * A flaky test has been corrected.
-   (merge 7c2115aa07 jk/pack-idx-corruption-safety later to maint).
 
  * "git $cmd -h" for builtin commands calls the implementation of the
    command (i.e. cmd_$cmd() function) without doing any repository
@@ -349,11 +352,9 @@ notes for details).
    (merge d691551192 jk/consistent-h later to maint).
 
  * Help contributors that visit us at GitHub.
-   (merge 0b1bb0c032 ls/github later to maint).
 
  * "git stash push <pathspec>" did not work from a subdirectory at all.
    Bugfix for a topic in v2.13
-   (merge 22fc703ec9 ps/stash-push-pathspec-fix later to maint).
 
  * As there is no portable way to pass timezone information to
    strftime, some output format from "git log" and friends are
@@ -361,10 +362,38 @@ notes for details).
    and %Z with caller-supplied values to help working around this.
    (merge 6eced3ec5e rs/strbuf-addftime-zZ later to maint).
 
+ * "git mergetool" learned to work around a wrapper MacOS X adds
+   around underlying meld.
+   (merge 0af85f84bd da/mergetools-meld-output-opt-on-macos later to maint).
+
+ * An example in documentation that does not work in multi worktree
+   configuration has been corrected.
+   (merge 773a88914f ah/doc-gitattributes-empty-index later to maint).
+
+ * The pretty-format specifiers like '%h', '%t', etc. had an
+   optimization that no longer works correctly.  In preparation/hope
+   of getting it correctly implemented, first discard the optimization
+   that is broken.
+   (merge fe9e2aefd4 rs/pretty-add-again later to maint).
+
+ * The code to pick up and execute command alias definition from the
+   configuration used to switch to the top of the working tree and
+   then come back when the expanded alias was executed, which was
+   unnecessarilyl complex.  Attempt to simplify the logic by using the
+   early-config mechanism that does not chdir around.
+   (merge a9bcf6586d js/alias-early-config later to maint).
+
+ * Fix configuration codepath to pay proper attention to commondir
+   that is used in multi-worktree situation, and isolate config API
+   into its own header file.
+   (merge dc8441fdb4 bw/config-h later to maint).
+
+ * "git add -p" were updated in 2.12 timeframe to cope with custom
+   core.commentchar but the implementation was buggy and a
+   metacharacter like $ and * did not work.
+   (merge d85d7ecb80 jk/add-p-commentchar-fix later to maint).
+
  * Other minor doc, test and build updates and code cleanups.
-   (merge 8ba74bfd7c jc/diff-tree-stale-comment later to maint).
-   (merge 68602c01fd sb/submodule-rm-absorb later to maint).
    (merge 68241cb9dd sb/t4005-modernize later to maint).
-   (merge ae52d57f0b km/test-mailinfo-b-failure later to maint).
-   (merge 8b1d9136e1 sg/revision-parser-skip-prefix later to maint).
-   (merge bb8efa1772 sd/t3200-branch-m-test later to maint).
+   (merge 4fced24712 ks/t7508-indent-fix later to maint).
+   (merge 968b1fe263 mb/reword-autocomplete-message later to maint).