Documentation / RelNotes / 2.10.2.txton commit Merge gitk to pick up emergency build fix (8a3a681)
   1Git v2.10.2 Release Notes
   2=========================
   3
   4Fixes since v2.10.1
   5-------------------
   6
   7 * The code that parses the format parameter of for-each-ref command
   8   has seen a micro-optimization.
   9
  10 * The "graph" API used in "git log --graph" miscounted the number of
  11   output columns consumed so far when drawing a padding line, which
  12   has been fixed; this did not affect any existing code as nobody
  13   tried to write anything after the padding on such a line, though.
  14
  15 * Almost everybody uses DEFAULT_ABBREV to refer to the default
  16   setting for the abbreviation, but "git blame" peeked into
  17   underlying variable bypassing the macro for no good reason.
  18
  19 * Doc update to clarify what "log -3 --reverse" does.
  20
  21 * An author name, that spelled a backslash-quoted double quote in the
  22   human readable part "My \"double quoted\" name", was not unquoted
  23   correctly while applying a patch from a piece of e-mail.
  24
  25 * The original command line syntax for "git merge", which was "git
  26   merge <msg> HEAD <parent>...", has been deprecated for quite some
  27   time, and "git gui" was the last in-tree user of the syntax.  This
  28   is finally fixed, so that we can move forward with the deprecation.
  29
  30 * Codepaths that read from an on-disk loose object were too loose in
  31   validating what they are reading is a proper object file and
  32   sometimes read past the data they read from the disk, which has
  33   been corrected.  H/t to Gustavo Grieco for reporting.
  34
  35 * "git worktree", even though it used the default_abbrev setting that
  36   ought to be affected by core.abbrev configuration variable, ignored
  37   the variable setting.  The command has been taught to read the
  38   default set of configuration variables to correct this.
  39
  40 * A low-level function verify_packfile() was meant to show errors
  41   that were detected without dying itself, but under some conditions
  42   it didn't and died instead, which has been fixed.
  43
  44 * When "git fetch" tries to find where the history of the repository
  45   it runs in has diverged from what the other side has, it has a
  46   mechanism to avoid digging too deep into irrelevant side branches.
  47   This however did not work well over the "smart-http" transport due
  48   to a design bug, which has been fixed.
  49
  50 * When we started cURL to talk to imap server when a new enough
  51   version of cURL library is available, we forgot to explicitly add
  52   imap(s):// before the destination.  To some folks, that didn't work
  53   and the library tried to make HTTP(s) requests instead.
  54
  55 * The ./configure script generated from configure.ac was taught how
  56   to detect support of SSL by libcurl better.
  57
  58 * http.emptyauth configuration is a way to allow an empty username to
  59   pass when attempting to authenticate using mechanisms like
  60   Kerberos.  We took an unspecified (NULL) username and sent ":"
  61   (i.e. no username, no password) to CURLOPT_USERPWD, but did not do
  62   the same when the username is explicitly set to an empty string.
  63
  64 * "git clone" of a local repository can be done at the filesystem
  65   level, but the codepath did not check errors while copying and
  66   adjusting the file that lists alternate object stores.
  67
  68 * Documentation for "git commit" was updated to clarify that "commit
  69   -p <paths>" adds to the current contents of the index to come up
  70   with what to commit.
  71
  72 * A stray symbolic link in $GIT_DIR/refs/ directory could make name
  73   resolution loop forever, which has been corrected.
  74
  75 * The "submodule.<name>.path" stored in .gitmodules is never copied
  76   to .git/config and such a key in .git/config has no meaning, but
  77   the documentation described it and submodule.<name>.url next to
  78   each other as if both belong to .git/config.  This has been fixed.
  79
  80 * Recent git allows submodule.<name>.branch to use a special token
  81   "." instead of the branch name; the documentation has been updated
  82   to describe it.
  83
  84 * In a worktree connected to a repository elsewhere, created via "git
  85   worktree", "git checkout" attempts to protect users from confusion
  86   by refusing to check out a branch that is already checked out in
  87   another worktree.  However, this also prevented checking out a
  88   branch, which is designated as the primary branch of a bare
  89   reopsitory, in a worktree that is connected to the bare
  90   repository.  The check has been corrected to allow it.
  91
  92 * "git rebase" immediately after "git clone" failed to find the fork
  93   point from the upstream.
  94
  95 * When fetching from a remote that has many tags that are irrelevant
  96   to branches we are following, we used to waste way too many cycles
  97   when checking if the object pointed at by a tag (that we are not
  98   going to fetch!) exists in our repository too carefully.
  99
 100 * The Travis CI configuration we ship ran the tests with --verbose
 101   option but this risks non-TAP output that happens to be "ok" to be
 102   misinterpreted as TAP signalling a test that passed.  This resulted
 103   in unnecessary failure.  This has been corrected by introducing a
 104   new mode to run our tests in the test harness to send the verbose
 105   output separately to the log file.
 106
 107 * Some AsciiDoc formatter mishandles a displayed illustration with
 108   tabs in it.  Adjust a few of them in merge-base documentation to
 109   work around them.
 110
 111Also contains minor documentation updates and code clean-ups.