Merge branch 'jc/test-must-be-empty'
[gitweb.git] / Documentation / RelNotes / 2.17.0.txt
index 63e52dbc239ca656bf17c0dc89e6655c2828b970..856796f97952f3af371a842352fb60687665cc2a 100644 (file)
@@ -8,7 +8,6 @@ UI, Workflows & Features
 
  * "diff" family of commands learned "--find-object=<object-id>" option
    to limit the findings to changes that involve the named object.
-   (merge 4d8c51aa19 sb/diff-blobfind-pickaxe later to maint).
 
  * "git format-patch" learned to give 72-cols to diffstat, which is
    consistent with other line length limits the subcommand uses for
@@ -20,6 +19,42 @@ UI, Workflows & Features
 
  * "git rebase" learned to take "--allow-empty-message" option.
 
+ * "git am" has learned the "--quit" option, in addition to the
+   existing "--abort" option; having the pair mirrors a few other
+   commands like "rebase" and "cherry-pick".
+
+ * "git worktree add" learned to run the post-checkout hook, just like
+   "git clone" runs it upon the initial checkout.
+
+ * "git tag" learned an explicit "--edit" option that allows the
+   message given via "-m" and "-F" to be further edited.
+
+ * "git fetch --prune-tags" may be used as a handy short-hand for
+   getting rid of stale tags that are locally held.
+
+ * The new "--show-current-patch" option gives an end-user facing way
+   to get the diff being applied when "git rebase" (and "git am")
+   stops with a conflict.
+
+ * "git add -p" used to offer "/" (look for a matching hunk) as a
+   choice, even there was only one hunk, which has been corrected.
+   Also the single-key help is now given only for keys that are
+   enabled (e.g. help for '/' won't be shown when there is only one
+   hunk).
+
+ * Since Git 1.7.9, "git merge" defaulted to --no-ff (i.e. even when
+   the side branch being merged is a descendant of the current commit,
+   create a merge commit instead of fast-forwarding) when merging a
+   tag object.  This was appropriate default for integrators who pull
+   signed tags from their downstream contributors, but caused an
+   unnecessary merges when used by downstream contributors who
+   habitually "catch up" their topic branches with tagged releases
+   from the upstream.  Update "git merge" to default to --no-ff only
+   when merging a tag object that does *not* sit at its usual place in
+   refs/tags/ hierarchy, and allow fast-forwarding otherwise, to
+   mitigate the problem.
+
+
 Performance, Internal Implementation, Development Support etc.
 
  * More perf tests for threaded grep
@@ -82,6 +117,12 @@ Performance, Internal Implementation, Development Support etc.
    how the packfile is indexed with object names) has been refactored
    into a reusable helper.
 
+ * We now avoid using identifiers that clash with C++ keywords.  Even
+   though it is not a goal to compile Git with C++ compilers, changes
+   like this help use of code analysis tools that targets C++ on our
+   codebase.
+
+
 Also contains various documentation updates and code clean-ups.
 
 
@@ -95,7 +136,6 @@ Fixes since v2.16
    it appear "removed") and then adding with the -N option (hence
    making that appear "added") detected it as a rename, but did not
    report the  old and new pathnames correctly.
-   (merge 176ea74793 nd/ita-wt-renames-in-status later to maint).
 
  * "git svn dcommit" did not take into account the fact that a
    svn+ssh:// URL with a username@ (typically used for pushing) refers
@@ -114,11 +154,9 @@ Fixes since v2.16
  * "git commit --fixup" did not allow "-m<message>" option to be used
    at the same time; allow it to annotate resulting commit with more
    text.
-   (merge 30884c9afc ab/commit-m-with-fixup later to maint).
 
  * When resetting the working tree files recursively, the working tree
    of submodules are now also reset to match.
-   (merge 7dcc1f4df8 sb/submodule-update-reset-fix later to maint).
 
  * "git stash -- <pathspec>" incorrectly blew away untracked files in
    the directory that matched the pathspec, which has been corrected.
@@ -211,9 +249,30 @@ Fixes since v2.16
    and produced bogus results instead.
    (merge ddbbf8eb25 jk/sq-dequote-on-bogus-input later to maint).
 
+ * Many places in "git apply" knew that "/dev/null" that signals
+   "there is no such file on this side of the diff" can be followed by
+   whitespace and garbage when parsing a patch, except for one, which
+   made an otherwise valid patch (e.g. ones from subversion) rejected.
+   (merge e454ad4bec tk/apply-dev-null-verify-name-fix later to maint).
+
+ * We no longer create any *.spec file, so "make clean" should not
+   remove it.
+   (merge 4321bdcabb tz/do-not-clean-spec-file later to maint).
+
+ * "git push" over http transport did not unquote the push-options
+   correctly.
+   (merge 90dce21eb0 jk/push-options-via-transport-fix later to maint).
+
+ * "git send-email" learned to complain when the batch-size option is
+   not defined when the relogin-delay option is, since these two are
+   mutually required.
+   (merge 9caa70697b xz/send-email-batch-size later to maint).
+
+ * Y2k20 fix ;-) for our perl scripts.
+   (merge a40e06ee33 bw/perl-timegm-timelocal-fix later to maint).
+
  * Other minor doc, test and build updates and code cleanups.
    (merge e2a5a028c7 bw/oidmap-autoinit later to maint).
-   (merge f0a6068a9f ys/bisect-object-id-missing-conversion-fix later to maint).
    (merge ec3b4b06f8 cl/t9001-cleanup later to maint).
    (merge e1b3f3dd38 ks/submodule-doc-updates later to maint).
    (merge fbac558a9b rs/describe-unique-abbrev later to maint).
@@ -235,3 +294,14 @@ Fixes since v2.16
    (merge 4ccf461f56 bp/fsmonitor later to maint).
    (merge a6119f82b1 jk/test-hashmap-updates later to maint).
    (merge 5aea9fe6cc rd/typofix later to maint).
+   (merge e4e5da2796 sb/status-doc-fix later to maint).
+   (merge 7976e901c8 gs/test-unset-xdg-cache-home later to maint).
+   (merge d023df1ee6 tg/worktree-create-tracking later to maint).
+   (merge 4cbe92fd41 sm/mv-dry-run-update later to maint).
+   (merge 75e5e9c3f7 sb/color-h-cleanup later to maint).
+   (merge 2708ef4af6 sg/t6300-modernize later to maint).
+   (merge d88e92d4e0 bw/doc-submodule-recurse-config-with-clone later to maint).
+   (merge f74bbc8dd2 jk/cached-commit-buffer later to maint).
+   (merge 1316416903 ms/non-ascii-ticks later to maint).
+   (merge 878056005e rs/strbuf-read-file-or-whine later to maint).
+   (merge 79f0ba1547 jk/strbuf-read-file-close-error later to maint).