| Git v1.7.8 Release Notes (draft) |
| ================================ |
| |
| Updates since v1.7.7 |
| -------------------- |
| |
| * Some git-svn and git-gui updates. |
| |
| * Updates to bash completion scripts. |
| |
| * The build procedure has been taught to take advantage of computed |
| dependency automatically when the complier supports it. |
| |
| * 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. |
| |
| * "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". |
| |
| * 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 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 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. |
| |
| * "git ls-remote" learned to respond to "-h"(elp) requests. |
| |
| * "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 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. |
| |
| * "mediawiki" remote helper can interact with (surprise!) MediaWiki |
| with "git fetch" & "git push". |
| |
| * "gitweb" leaked unescaped control characters from syntax hiliter |
| outputs. |
| |
| |
| 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. |
| |
| * 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). |
| |
| * 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). |
| |
| * "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 |