Documentation / RelNotes / 2.19.2.txton commit builtin_diff(): read $GIT_DIFF_OPTS closer to use (0da0e92)
   1Git v2.19.2 Release Notes
   2=========================
   3
   4Fixes since v2.19.1
   5-------------------
   6
   7 * "git interpret-trailers" and its underlying machinery had a buggy
   8   code that attempted to ignore patch text after commit log message,
   9   which triggered in various codepaths that will always get the log
  10   message alone and never get such an input.
  11
  12 * "git rebase -i" did not clear the state files correctly when a run
  13   of "squash/fixup" is aborted and then the user manually amended the
  14   commit instead, which has been corrected.
  15
  16 * When fsmonitor is in use, after operation on submodules updates
  17   .gitmodules, we lost track of the fact that we did so and relied on
  18   stale fsmonitor data.
  19
  20 * Fix for a long-standing bug that leaves the index file corrupt when
  21   it shrinks during a partial commit.
  22
  23 * Further fix for O_APPEND emulation on Windows
  24
  25 * A corner case bugfix in "git rerere" code.
  26
  27 * "git add ':(attr:foo)'" is not supported and is supposed to be
  28   rejected while the command line arguments are parsed, but we fail
  29   to reject such a command line upfront.
  30
  31 * "git rebase" etc. in Git 2.19 fails to abort when given an empty
  32   commit log message as result of editing, which has been corrected.
  33
  34 * The code to backfill objects in lazily cloned repository did not
  35   work correctly, which has been corrected.
  36
  37 * Update error messages given by "git remote" and make them consistent.
  38
  39 * "git update-ref" learned to make both "--no-deref" and "--stdin"
  40   work at the same time.
  41
  42 * Recently added "range-diff" had a corner-case bug to cause it
  43   segfault, which has been corrected.
  44
  45 * The recently introduced commit-graph auxiliary data is incompatible
  46   with mechanisms such as replace & grafts that "breaks" immutable
  47   nature of the object reference relationship.  Disable optimizations
  48   based on its use (and updating existing commit-graph) when these
  49   incompatible features are in use in the repository.
  50
  51 * The mailmap file update.
  52
  53 * The code in "git status" sometimes hit an assertion failure.  This
  54   was caused by a structure that was reused without cleaning the data
  55   used for the first run, which has been corrected.
  56
  57 * A corner-case bugfix.
  58
  59 * A partial clone that is configured to lazily fetch missing objects
  60   will on-demand issue a "git fetch" request to the originating
  61   repository to fill not-yet-obtained objects.  The request has been
  62   optimized for requesting a tree object (and not the leaf blob
  63   objects contained in it) by telling the originating repository that
  64   no blobs are needed.
  65
  66 * The codepath to support the experimental split-index mode had
  67   remaining "racily clean" issues fixed.
  68
  69 * "git log --graph" showing an octopus merge sometimes miscounted the
  70   number of display columns it is consuming to show the merge and its
  71   parent commits, which has been corrected.
  72
  73 * The implementation of run_command() API on the UNIX platforms had a
  74   bug that caused a command not on $PATH to be found in the current
  75   directory.
  76
  77 * A mutex used in "git pack-objects" were not correctly initialized
  78   and this caused "git repack" to dump core on Windows.
  79
  80 * Under certain circumstances, "git diff D:/a/b/c D:/a/b/d" on
  81   Windows would strip initial parts from the paths because they
  82   were not recognized as absolute, which has been corrected.
  83
  84 * The receive.denyCurrentBranch=updateInstead codepath kicked in even
  85   when the push should have been rejected due to other reasons, such
  86   as it does not fast-forward or the update-hook rejects it, which
  87   has been corrected.
  88
  89 * "git repack" in a shallow clone did not correctly update the
  90   shallow points in the repository, leading to a repository that
  91   does not pass fsck.
  92
  93 * Operations on promisor objects make sense in the context of only a
  94   small subset of the commands that internally use the revisions
  95   machinery, but the "--exclude-promisor-objects" option were taken
  96   and led to nonsense results by commands like "log", to which it
  97   didn't make much sense.  This has been corrected.
  98
  99 * The "container" mode of TravisCI is going away.  Our .travis.yml
 100   file is getting prepared for the transition.
 101
 102 * Our test scripts can now take the '-V' option as a synonym for the
 103   '--verbose-log' option.
 104
 105 * A regression in Git 2.12 era made "git fsck" fall into an infinite
 106   loop while processing truncated loose objects.
 107
 108Also contains various documentation updates and code clean-ups.