diff options
Diffstat (limited to 'Documentation/RelNotes/1.8.4.txt')
-rw-r--r-- | Documentation/RelNotes/1.8.4.txt | 97 |
1 files changed, 94 insertions, 3 deletions
diff --git a/Documentation/RelNotes/1.8.4.txt b/Documentation/RelNotes/1.8.4.txt index 63c04823c9..b85f16b378 100644 --- a/Documentation/RelNotes/1.8.4.txt +++ b/Documentation/RelNotes/1.8.4.txt @@ -4,7 +4,9 @@ Git v1.8.4 Release Notes Updates since v1.8.3 -------------------- -Foreign interfaces and ports. +Foreign interfaces, subsystems and ports. + + * Git-gui has been updated to its 0.18.0 version. * MediaWiki remote helper (in contrib/) has been updated to use the credential helper interface from Git.pm. @@ -33,6 +35,38 @@ Foreign interfaces and ports. UI, Workflows & Features + * Having multiple "fixup!" on a line in the rebase instruction sheet + did not work very well with "git rebase -i --autosquash". + + * "git log" learned the "--author-date-order" option, with which the + output is topologically sorted and commits in parallel histories + are shown intermixed together based on the author timestamp. + + * Various subcommands of "git submodule" refused to run from anywhere + other than the top of the working tree of the superproject, but + they have been taught to let you run from a subdirectory. + + * "git diff" learned a mode that ignores hunks whose change consists + only of additions and removals of blank lines, which is the same as + "diff -B" (ignore blank lines) of GNU diff. + + * "git rm" gives a single message followed by list of paths to report + multiple paths that cannot be removed. + + * "git rebase" can be told with ":/look for this string" syntax commits + to replay the changes onto and where the work to be replayed begins. + + * Many tutorials teach users to set "color.ui" to "auto" as the first + thing after you set "user.name/email" to introduce yourselves to + Git. Now the variable defaults to "auto". + + * On Cygwin, "cygstart" is now recognised as a possible way to start + a web browser (used in "help -w" and "instaweb" among others). + +### * "git status" learned status.branch and status.short configuration +### variables to use --branch and --short options by default (override +### with --no-branch and --no-short options from the command line). + * "git cmd <name>", when <name> happens to be a 40-hex string, directly uses the 40-hex string as an object name, even if a ref "refs/<some hierarchy>/<name>" exists. This disambiguation order @@ -42,7 +76,8 @@ UI, Workflows & Features * "git rebase" learned "--[no-]autostash" option to save local changes instead of refusing to run (to which people's normal - response was to stash them and re-run). + response was to stash them and re-run). This introduced a corner + case breakage to "git am --abort" but it has been fixed. * Instead of typing four capital letters "HEAD", you can say "@" now, e.g. "git log @". @@ -88,6 +123,27 @@ UI, Workflows & Features Performance, Internal Implementation, etc. + * The original way to specify remote repository using .git/branches/ + used to have a nifty feature. The code to support the feature was + still in a function but the caller was changed not to call it 5 + years ago, breaking that feature and leaving the supporting code + unreachable. The dead code has been removed. + + * "git pack-refs" that races with new ref creation or deletion have + been susceptible to lossage of refs under right conditions, which + has been tightened up. + + * We read loose and packed rerferences in two steps, but after + deciding to read a loose ref but before actually opening it to read + it, another process racing with us can unlink it, which would cause + us to barf. The codepath has been updated to retry when such a + race is detected, instead of outright failing. + + * Uses of the platform fnmatch(3) function (many places in the code, + matching pathspec, .gitignore and .gitattributes to name a few) + have been replaced with wildmatch, allowing "foo/**/bar" that would + match foo/bar, foo/a/bar, foo/a/b/bar, etc. + * Memory ownership and lifetime rules for what for-each-ref feeds to its callbacks have been clarified (in short, "you do not own it, so make a copy if you want to keep it"). @@ -132,13 +188,48 @@ Unless otherwise noted, all the fixes since v1.8.3 in the maintenance track are contained in this release (see release notes to them for details). + * The configuration variable column.ui was poorly documented. + (merge 5e62cc1 rr/column-doc later to maint). + + * "git name-rev --refs=tags/v*" were forbidden, which was a bit + inconvenient (you had to give a pattern to match refs fully, like + --refs=refs/tags/v*). + (merge 98c5c4a nk/name-rev-abbreviated-refs later to maint). + + * "git apply" parsed patches that add new files, generated by + programs other than Git, incorrectly. This is an old breakage in + v1.7.11 and will need to be merged down to the maintanance tracks. + (merge 212eb96 tr/maint-apply-non-git-patch-parsefix later to maint). + + * Older cURL wanted piece of memory we call it with to be stable, but + we updated the auth material after handing it to a call. + (merge a94cf2c bc/http-keep-memory-given-to-curl later to maint). + + * "git pull" into nothing trashed "local changes" that were in the + index, and this avoids it. + (merge b4dc085 jk/pull-into-dirty-unborn later to maint). + + * Many "git submodule" operations do not work on a submodule at a + path whose name is not in ASCII. + (merge bed9470 fg/submodule-non-ascii-path later to maint). + + * "cherry-pick" had a small leak in an error codepath. + (merge 706728a fc/sequencer-plug-leak later to maint). + * Logic used by git-send-email to suppress cc mishandled names like "A U. Thor" <author@example.xz>, where the human readable part needs to be quoted (the user input may not have the double quotes around the name, and comparison was done between quoted and - unquoted strings). + unquoted strings). It also mishandled names that need RFC2047 + quoting. (merge 1495266 mt/send-email-cc-match-fix later to maint). + * Call to discard_cache/discard_index (used when we use different + contents of the index in-core, in many operations like commit, + apply, and merge) used to leak memory that held the array of index + entries, which has been plugged. + (merge a0fc4db rs/discard-index-discard-array later to maint). + * "gitweb" forgot to clear a global variable $search_regexp upon each request, mistakenly carrying over the previous search to a new one when used as a persistent CGI. |