Merge branch 'maint'
[gitweb.git] / Documentation / RelNotes / 2.8.0.txt
index 166e06ccd47fdee71f8dadf7a717e61212393950..dd540d032738eb372ef4c774b4e767f2c09da6ad 100644 (file)
@@ -1,11 +1,21 @@
 Git 2.8 Release Notes
 =====================
 
+Backward compatibility note
+---------------------------
+
+The rsync:// transport has been removed.
+
+
 Updates since v2.7
 ------------------
 
 UI, Workflows & Features
 
+ * It turns out "git clone" over rsync transport has been broken when
+   the source repository has packed references for a long time, and
+   nobody noticed nor complained about it.
+
  * "branch --delete" has "branch -d" but "push --delete" does not.
 
  * "git blame" learned to produce the progress eye-candy when it takes
@@ -67,6 +77,27 @@ UI, Workflows & Features
    has been taught to use credential API to store the authentication
    material in user's keyrings.
 
+ * Update the untracked cache subsystem and change its primary UI from
+   "git update-index" to "git config".
+
+ * There were a few "now I am doing this thing" progress messages in
+   the TCP connection code that can be triggered by setting a verbose
+   option internally in the code, but "git fetch -v" and friends never
+   passed the verbose option down to that codepath.
+
+ * Clean/smudge filters defined in a configuration file of lower
+   precedence can now be overridden to be a pass-through no-op by
+   setting the variable to an empty string.
+
+ * A new "<branch>^{/!-<pattern>}" notation can be used to name a
+   commit that is reachable from <branch> that does not match the
+   given <pattern>.
+
+ * The "user.useConfigOnly" configuration variable can be used to
+   force the user to always set user.email & user.name configuration
+   variables, serving as a reminder for those who work on multiple
+   projects and do not want to put these in their $HOME/.gitconfig.
+
 
 Performance, Internal Implementation, Development Support etc.
 
@@ -110,6 +141,21 @@ Performance, Internal Implementation, Development Support etc.
    tests that take longer before other ones; this reduces the total
    wallclock time.
 
+ * Test scripts have been updated to remove assumptions that are not
+   portable between Git for POSIX and Git for Windows, or to skip ones
+   with expectations that are not satisfiable on Git for Windows.
+
+ * Some calls to strcpy(3) triggers a false warning from static
+   analysers that are less intelligent than humans, and reducing the
+   number of these false hits helps us notice real issues.  A few
+   calls to strcpy(3) in test-path-utils that are already safe has
+   been rewritten to avoid false wanings.
+
+ * Some calls to strcpy(3) triggers a false warning from static
+   analysers that are less intelligent than humans, and reducing the
+   number of these false hits helps us notice real issues.  A few
+   calls to strcpy(3) in "git rerere" that are already safe has been
+   rewritten to avoid false wanings.
 
 Also contains various documentation updates and code clean-ups.
 
@@ -227,9 +273,46 @@ notes for details).
    CPU cycles.
    (merge a2d5156 jk/ref-cache-non-repository-optim later to maint).
 
+ * "git worktree" had a broken code that attempted to auto-fix
+   possible inconsistency that results from end-users moving a
+   worktree to different places without telling Git (the original
+   repository needs to maintain backpointers to its worktrees, but
+   "mv" run by end-users who are not familiar with that fact will
+   obviously not adjust them), which actually made things worse
+   when triggered.
+   (merge 618244e nd/do-not-move-worktree-manually later to maint).
+
+ * The low-level merge machinery has been taught to use CRLF line
+   termination when inserting conflict markers to merged contents that
+   are themselves CRLF line-terminated.
+   (merge 15980de js/xmerge-marker-eol later to maint).
+
+ * "git push --force-with-lease" has been taught to report if the push
+   needed to force (or fast-forwarded).
+   (merge b2e93f8 aw/push-force-with-lease-reporting later to maint).
+
+ * The emulated "yes" command used in our test scripts has been
+   tweaked not to spend too much time generating unnecessary output
+   that is not used, to help those who test on Windows where it would
+   not stop until it fills the pipe buffer due to lack of SIGPIPE.
+   (merge 6129c93 js/test-lib-windows-emulated-yes later to maint).
+
+ * The documentation for "git clean" has been corrected; it mentioned
+   that .git/modules/* are removed by giving two "-f", which has never
+   been the case.
+   (merge 31e3c2d mm/clean-doc-fix later to maint).
+
+ * The vimdiff backend for "git mergetool" has been tweaked to arrange
+   and number buffers in the order that would match the expectation of
+   majority of people who read left to right, then top down and assign
+   buffers 1 2 3 4 "mentally" to local base remote merge windows based
+   on that order.
+   (merge 2300328 dw/mergetool-vim-window-shuffle later to maint).
+
  * Other minor clean-ups and documentation updates
    (merge 99487cf ss/user-manual later to maint).
    (merge e914ef0 ew/for-each-ref-doc later to maint).
    (merge 36fc7d8 sg/t6050-failing-editor-test-fix later to maint).
    (merge 60253a6 ss/clone-depth-single-doc later to maint).
    (merge bd02e97 lv/add-doc-working-tree later to maint).
+   (merge f562d7d ah/stripspace-optstring later to maint).