| 1 | Git v1.7.8 Release Notes |
| 2 | ======================== |
| 3 | |
| 4 | Updates 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 compiler 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 readable 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 | |
| 125 | Also contains other documentation updates and minor code cleanups. |
| 126 | |
| 127 | |
| 128 | Fixes since v1.7.7 |
| 129 | ------------------ |
| 130 | |
| 131 | Unless otherwise noted, all fixes in the 1.7.7.X maintenance track are |
| 132 | included 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). |