1Git v2.2 Release Notes 2====================== 3 4Updates since v2.1 5------------------ 6 7UI, Workflows & Features 8 9 * "git config --edit --global" starts from a skeletal per-user 10 configuration file contents, instead of a total blank, when the 11 user does not already have any. This immediately reduces the 12 need for a later "Have you forgotten setting core.user?" and we 13 can add more to the template as we gain more experience. 14 15 16Performance, Internal Implementation, etc. 17 18 * Looking up remotes configuration in a repository with very many 19 remotes defined has been optimized. 20 21 * There are cases where you lock and open to write a file, close it 22 to show the updated contents to external processes, and then have 23 to update the file again while still holding the lock, but the 24 lockfile API lacked support for such an access pattern. 25 26 * An in-core caching layer to let us avoid reading the same 27 configuration files number of times has been added. 28 29 * Various code paths have been cleaned up and simplified by using 30 "strbuf", "starts_with()", and "skip_prefix()" APIs more. 31 32 33Also contains various documentation updates and code clean-ups. 34 35 36Fixes since v2.1 37---------------- 38 39 * "git log --pretty/format=" with an empty format string did not 40 mean the more obvious "No output whatsoever" but "Use default 41 format", which was counterintuitive. 42 (merge b9c7d6e jk/pretty-empty-format later to maint). 43 44 * Implementations of "tar" that do not understand an extended pax 45 header would extract the contents of it in a regular file; make 46 sure the permission bits of this file follows the same tar.umask 47 configuration setting. 48 49 50Unless otherwise noted, all the fixes since v2.1 in the maintenance 51track are contained in this release (see the maintenance releases' 52notes for details).