1Git v1.7.8 Release Notes (draft) 2================================ 3 4Updates since v1.7.7 5-------------------- 6 7 * Some git-svn, git-gui, git-p4 (in contrib) and msysgit updates. 8 9 * Updates to bash completion scripts. 10 11 * The build procedure has been taught to take advantage of computed 12 dependency automatically when the complier supports it. 13 14 * The date parser now accepts timezone designators that lack minutes 15 part and also has a colon between "hh:mm". 16 17 * The contents of the /etc/mailname file, if exists, is used as the 18 default value of the hostname part of the committer/author e-mail. 19 20 * "git am" learned how to read from patches generated by Hg. 21 22 * "git archive" talking with a remote repository can report errors 23 from the remote side in a more informative way. 24 25 * "git branch" learned an explicit --list option to ask for branches 26 listed, optionally with a glob matching pattern to limit its output. 27 28 * "git check-attr" learned "--cached" option to look at .gitattributes 29 files from the index, not from the working tree. 30 31 * Variants of "git cherry-pick" and "git revert" that take multiple 32 commits learned to "--continue" and "--abort". 33 34 * "git daemon" gives more human readble error messages to clients 35 using ERR packets when appropriate. 36 37 * Errors at the network layer is logged by "git daemon". 38 39 * "git diff" learned "--minimal" option to spend extra cycles to come 40 up with a minimal patch output. 41 42 * "git diff" learned "--function-context" option to show the whole 43 function as context that was affected by a change. 44 45 * "git difftool" can be told to skip launching the tool for a path by 46 answering 'n' to its prompt. 47 48 * "git fetch" learned to honor transfer.fsckobjects configuration to 49 validate the objects that were received from the other end, just like 50 "git receive-pack" (the receiving end of "git push") does. 51 52 * "git fetch" makes sure that the set of objects it received from the 53 other end actually completes the history before updating the refs. 54 "git receive-pack" (the receiving end of "git push") learned to do the 55 same. 56 57 * "git fetch" learned that fetching/cloning from a regular file on the 58 filesystem is not necessarily a request to unpack a bundle file; the 59 file could be ".git" with "gitdir: <path>" in it. 60 61 * "git for-each-ref" learned "%(contents:subject)", "%(contents:body)" 62 and "%(contents:signature)". The last one is useful for signed tags. 63 64 * "git grep" used to incorrectly pay attention to .gitignore files 65 scattered in the directory it was working in even when "--no-index" 66 option was used. It no longer does this. The "--exclude-standard" 67 option needs to be given to explicitly activate the ignore 68 mechanism. 69 70 * "git grep" learned "--untracked" option, where given patterns are 71 searched in untracked (but not ignored) files as well as tracked 72 files in the working tree, so that matches in new but not yet 73 added files do not get missed. 74 75 * The recursive merge backend no longer looks for meaningless 76 existing merges in submodules unless in the outermost merge. 77 78 * "git log" and friends learned "--children" option. 79 80 * "git ls-remote" learned to respond to "-h"(elp) requests. 81 82 * "mediawiki" remote helper can interact with (surprise!) MediaWiki 83 with "git fetch" & "git push". 84 85 * "git merge" learned the "--edit" option to allow users to edit the 86 merge commit log message. 87 88 * "git rebase -i" can be told to use special purpose editor suitable 89 only for its insn sheet via sequence.editor configuration variable. 90 91 * "git send-email" learned to respond to "-h"(elp) requests. 92 93 * "git send-email" allows the value given to sendemail.aliasfile to begin 94 with "~/" to refer to the $HOME directory. 95 96 * "git send-email" forces use of Authen::SASL::Perl to work around 97 issues between Authen::SASL::Cyrus and AUTH PLAIN/LOGIN. 98 99 * "git stash" learned "--include-untracked" option to stash away 100 untracked/ignored cruft from the working tree. 101 102 * "git submodule clone" does not leak an error message to the UI 103 level unnecessarily anymore. 104 105 * "git submodule update" learned to honor "none" as the value for 106 submodule.<name>.update to specify that the named submodule should 107 not be checked out by default. 108 109 * When populating a new submodule directory with "git submodule init", 110 the $GIT_DIR metainformation directory for submodules is created inside 111 $GIT_DIR/modules/<name>/ directory of the superproject and referenced 112 via the gitfile mechanism. This is to make it possible to switch 113 between commits in the superproject that has and does not have the 114 submodule in the tree without re-cloning. 115 116 * "gitweb" leaked unescaped control characters from syntax hiliter 117 outputs. 118 119 * "gitweb" can be told to give custom string at the end of the HTML 120 HEAD element. 121 122 * "gitweb" now has its own manual pages. 123 124 125Also contains other documentation updates and minor code cleanups. 126 127 128Fixes since v1.7.7 129------------------ 130 131Unless otherwise noted, all fixes in the 1.7.7.X maintenance track are 132included in this release. 133 134 * HTTP transport did not use pushurl correctly, and also did not tell 135 what host it is trying to authenticate with when asking for 136 credentials. 137 (merge deba493 jk/http-auth later to maint). 138 139 * "git blame" was aborted if started from an uncommitted content and 140 the path had the textconv filter in effect. 141 (merge 8518088 ss/blame-textconv-fake-working-tree later to maint). 142 143 * Adding many refs to the local repository in one go (e.g. "git fetch" 144 that fetches many tags) and looking up a ref by name in a repository 145 with too many refs were unnecessarily slow. 146 (merge 17d68a54d jp/get-ref-dir-unsorted later to maint). 147 148 * Report from "git commit" on untracked files was confused under 149 core.ignorecase option. 150 (merge 395c7356 jk/name-hash-dirent later to maint). 151 152 * "git merge" did not understand ":/<pattern>" as a way to name a commit. 153 154 " "git push" on the receiving end used to call post-receive and post-update 155 hooks for attempted removal of non-existing refs. 156 (merge 160b81ed ph/push-to-delete-nothing later to maint). 157 158 * Help text for "git remote set-url" and "git remote set-branches" 159 were misspelled. 160 (merge c49904e fc/remote-seturl-usage-fix later to maint). 161 (merge 656cdf0 jc/remote-setbranches-usage-fix later to maint). 162 163--- 164exec >/var/tmp/1 165O=v1.7.8-rc3-16-g9e9ab40 166echo O=$(git describe --always master) 167git log --first-parent --oneline --reverse ^$O master 168echo 169git shortlog --no-merges ^$O master