| Git v1.7.8 Release Notes | 
 | ======================== | 
 |  | 
 | Updates since v1.7.7 | 
 | -------------------- | 
 |  | 
 |  * Some git-svn, git-gui, git-p4 (in contrib) and msysgit updates. | 
 |  | 
 |  * Updates to bash completion scripts. | 
 |  | 
 |  * The build procedure has been taught to take advantage of computed | 
 |    dependency automatically when the compiler supports it. | 
 |  | 
 |  * The date parser now accepts timezone designators that lack minutes | 
 |    part and also has a colon between "hh:mm". | 
 |  | 
 |  * 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. | 
 |  | 
 |  * "git am" learned how to read from patches generated by Hg. | 
 |  | 
 |  * "git archive" talking with a remote repository can report errors | 
 |    from the remote side in a more informative way. | 
 |  | 
 |  * "git branch" learned an explicit --list option to ask for branches | 
 |    listed, optionally with a glob matching pattern to limit its output. | 
 |  | 
 |  * "git check-attr" learned "--cached" option to look at .gitattributes | 
 |    files from the index, not from the working tree. | 
 |  | 
 |  * Variants of "git cherry-pick" and "git revert" that take multiple | 
 |    commits learned to "--continue" and "--abort". | 
 |  | 
 |  * "git daemon" gives more human readable 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. | 
 |  | 
 |  * "git fetch" makes sure that the set of objects it received from the | 
 |    other end actually completes the history before updating the refs. | 
 |    "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. | 
 |  | 
 |  * "git grep" used to incorrectly pay attention to .gitignore files | 
 |    scattered in the directory it was working in even when "--no-index" | 
 |    option was used. It no longer does this. The "--exclude-standard" | 
 |    option needs to be given to explicitly activate the ignore | 
 |    mechanism. | 
 |  | 
 |  * "git grep" learned "--untracked" option, where given patterns are | 
 |     searched in untracked (but not ignored) files as well as tracked | 
 |     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 | 
 |    with "~/" to refer to the $HOME directory. | 
 |  | 
 |  * "git send-email" forces use of Authen::SASL::Perl to work around | 
 |    issues between Authen::SASL::Cyrus and AUTH PLAIN/LOGIN. | 
 |  | 
 |  * "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. | 
 |  | 
 |  * When populating a new submodule directory with "git submodule init", | 
 |    the $GIT_DIR metainformation directory for submodules is created inside | 
 |    $GIT_DIR/modules/<name>/ directory of the superproject and referenced | 
 |    via the gitfile mechanism. This is to make it possible to switch | 
 |    between commits in the superproject that has and does not have the | 
 |    submodule in the tree without re-cloning. | 
 |  | 
 |  * "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. | 
 |  | 
 |  | 
 | Fixes since v1.7.7 | 
 | ------------------ | 
 |  | 
 | Unless otherwise noted, all fixes in the 1.7.7.X maintenance track are | 
 | included in this release. | 
 |  | 
 |  * 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). | 
 |  | 
 |  * Report from "git commit" on untracked files was confused under | 
 |    core.ignorecase option. | 
 |    (merge 395c7356 jk/name-hash-dirent later to maint). | 
 |  | 
 |  * "git merge" did not understand ":/<pattern>" as a way to name a commit. | 
 |  | 
 |  " "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). | 
 |  | 
 |  * 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). |