Merge branch 'jc/maint-test-portability' into 'jc/test-portability'
[gitweb.git] / Documentation / RelNotes / 1.7.8.txt
index 0576c36f8a3e0dd30944285d8c4c68040b999bf0..b4d90bba0f6c761e61321bb9df8b7a8b3f725272 100644 (file)
@@ -1,10 +1,10 @@
-Git v1.7.8 Release Notes (draft)
-================================
+Git v1.7.8 Release Notes
+========================
 
 Updates since v1.7.7
 --------------------
 
- * Some git-svn and git-gui updates.
+ * Some git-svn, git-gui, git-p4 (in contrib) and msysgit updates.
 
  * Updates to bash completion scripts.
 
@@ -14,10 +14,6 @@ Updates since v1.7.7
  * The date parser now accepts timezone designators that lack minutes
    part and also has a colon between "hh:mm".
 
- * On some BSD systems, adding +s bit on directories is detrimental
-   (it is not necessary on BSD to begin with). The installation
-   procedure has been updated to take this into account.
-
  * The contents of the /etc/mailname file, if exists, is used as the
    default value of the hostname part of the committer/author e-mail.
 
@@ -33,13 +29,22 @@ Updates since v1.7.7
    files from the index, not from the working tree.
 
  * Variants of "git cherry-pick" and "git revert" that take multiple
-   commits learned to "--continue".
+   commits learned to "--continue" and "--abort".
+
+ * "git daemon" gives more human readble error messages to clients
+   using ERR packets when appropriate.
 
  * Errors at the network layer is logged by "git daemon".
 
  * "git diff" learned "--minimal" option to spend extra cycles to come
    up with a minimal patch output.
 
+ * "git diff" learned "--function-context" option to show the whole
+   function as context that was affected by a change.
+
+ * "git difftool" can be told to skip launching the tool for a path by
+   answering 'n' to its prompt.
+
  * "git fetch" learned to honor transfer.fsckobjects configuration to
    validate the objects that were received from the other end, just like
    "git receive-pack" (the receiving end of "git push") does.
@@ -49,6 +54,10 @@ Updates since v1.7.7
    "git receive-pack" (the receiving end of "git push") learned to do the
    same.
 
+ * "git fetch" learned that fetching/cloning from a regular file on the
+   filesystem is not necessarily a request to unpack a bundle file; the
+   file could be ".git" with "gitdir: <path>" in it.
+
  * "git for-each-ref" learned "%(contents:subject)", "%(contents:body)"
    and "%(contents:signature)". The last one is useful for signed tags.
 
@@ -63,8 +72,22 @@ Updates since v1.7.7
     files in the working tree, so that matches in new but not yet
     added files do not get missed.
 
+ * The recursive merge backend no longer looks for meaningless
+   existing merges in submodules unless in the outermost merge.
+
+ * "git log" and friends learned "--children" option.
+
  * "git ls-remote" learned to respond to "-h"(elp) requests.
 
+ * "mediawiki" remote helper can interact with (surprise!) MediaWiki
+   with "git fetch" & "git push".
+
+ * "git merge" learned the "--edit" option to allow users to edit the
+   merge commit log message.
+
+ * "git rebase -i" can be told to use special purpose editor suitable
+   only for its insn sheet via sequence.editor configuration variable.
+
  * "git send-email" learned to respond to "-h"(elp) requests.
 
  * "git send-email" allows the value given to sendemail.aliasfile to begin
@@ -76,6 +99,9 @@ Updates since v1.7.7
  * "git stash" learned "--include-untracked" option to stash away
    untracked/ignored cruft from the working tree.
 
+ * "git submodule clone" does not leak an error message to the UI
+   level unnecessarily anymore.
+
  * "git submodule update" learned to honor "none" as the value for
    submodule.<name>.update to specify that the named submodule should
    not be checked out by default.
@@ -87,12 +113,14 @@ Updates since v1.7.7
    between commits in the superproject that has and does not have the
    submodule in the tree without re-cloning.
 
- * "mediawiki" remote helper can interact with (surprise!) MediaWiki
-   with "git fetch" & "git push".
-
  * "gitweb" leaked unescaped control characters from syntax hiliter
    outputs.
 
+ * "gitweb" can be told to give custom string at the end of the HTML
+   HEAD element.
+
+ * "gitweb" now has its own manual pages.
+
 
 Also contains other documentation updates and minor code cleanups.
 
@@ -103,90 +131,31 @@ Fixes since v1.7.7
 Unless otherwise noted, all fixes in the 1.7.7.X maintenance track are
 included in this release.
 
- * We used to drop error messages from libcurl on certain kinds of
-   errors.
-   (merge be22d92eac8 jn/maint-http-error-message later to maint).
-
- * Error report from smart HTTP transport, when the connection was
-   broken in the middle of a transfer, showed a useless message on
-   a corrupt packet.
-   (merge 6cdf022 sp/smart-http-failure later to maint).
-
  * HTTP transport did not use pushurl correctly, and also did not tell
    what host it is trying to authenticate with when asking for
    credentials.
    (merge deba493 jk/http-auth later to maint).
 
+ * "git blame" was aborted if started from an uncommitted content and
+   the path had the textconv filter in effect.
+   (merge 8518088 ss/blame-textconv-fake-working-tree later to maint).
+
  * Adding many refs to the local repository in one go (e.g. "git fetch"
    that fetches many tags) and looking up a ref by name in a repository
    with too many refs were unnecessarily slow.
    (merge 17d68a54d jp/get-ref-dir-unsorted later to maint).
 
- * After incorrectly written third-party tools store a tag object in
-   HEAD, git diagnosed it as a repository corruption and refused to
-   proceed in order to avoid spreading the damage. We now gracefully
-   recover from such a situation by pretending as if the commit that
-   is pointed at by the tag were in HEAD.
-   (merge baf18fc nd/maint-autofix-tag-in-head later to maint).
-
  * Report from "git commit" on untracked files was confused under
    core.ignorecase option.
-   (merge 2548183b jk/name-hash-dirent later to maint).
-
- * The attribute mechanism did not use case insensitive match when
-   core.ignorecase was set.
-   (merge 6eba621 bc/attr-ignore-case later to maint).
-
- * "git apply --whitespace=error" did not bother to report the exact
-   line number in the patch that introduced new blank lines at the end
-   of the file.
-   (merge 8557263 jc/apply-blank-at-eof-fix later to maint).
-
- * "git bisect" did not notice when it failed to update the working tree
-   to the next commit to be tested.
-   (merge 1acf11717 js/bisect-no-checkout later to maint).
-
- * "git checkout $tree $directory/" resurrected paths locally removed or
-   modified only in the working tree in $directory/ that did not appear
-   in $directory of the given $tree. They should have been kept intact.
-   (merge 0a1283b jc/checkout-from-tree-keep-local-changes later to maint).
-
- * "git config --bool --get-regexp" failed to separate the variable name
-   and its value "true" when the variable is defined without "= true".
-   (merge 880e3cc mm/maint-config-explicit-bool-display later to maint).
-
- * "git remote rename $a $b" were not careful to match the remote name
-   against $a (i.e. source side of the remote nickname).
-   (merge b52d00aed mz/remote-rename later to maint).
-
- * "git diff --[num]stat" used to use the number of lines of context
-   different from the default, potentially giving different results from
-   "git diff | diffstat" and confusing the users.
-   (merge f01cae918 jc/maint-diffstat-numstat-context later to maint).
+   (merge 395c7356 jk/name-hash-dirent later to maint).
 
  * "git merge" did not understand ":/<pattern>" as a way to name a commit.
 
- * "git mergetool" learned to use its arguments as pathspec, not a path to
-   the file that may not even have any conflict.
-   (merge 6d9990a jm/mergetool-pathspec later to maint).
-
- * "git pull" and "git rebase" did not work well even when GIT_WORK_TREE is
-   set correctly with GIT_DIR if the current directory is outside the working
-   tree.
-   (merge 035b5bf jk/pull-rebase-with-work-tree later to maint).
-
  " "git push" on the receiving end used to call post-receive and post-update
    hooks for attempted removal of non-existing refs.
    (merge 160b81ed ph/push-to-delete-nothing later to maint).
 
- * "gitweb" used to produce a non-working link while showing the contents
-   of a blob, when JavaScript actions are enabled.
-   (merge 2b07ff3ff ps/gitweb-js-with-lineno later to maint).
-
----
-exec >/var/tmp/1
-O=v1.7.7-368-g9638384
-echo O=$(git describe --always master)
-git log --first-parent --oneline --reverse ^$O master
-echo
-git shortlog --no-merges ^$O master
+ * Help text for "git remote set-url" and "git remote set-branches"
+   were misspelled.
+   (merge c49904e fc/remote-seturl-usage-fix later to maint).
+   (merge 656cdf0 jc/remote-setbranches-usage-fix later to maint).