From: Junio C Hamano Date: Sun, 16 Oct 2011 03:56:50 +0000 (-0700) Subject: Sync with maint X-Git-Tag: v1.7.8-rc0~70 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=288396994f077eec7e7db0017838a5afbfbf81e3;p=git.git Sync with maint Signed-off-by: Junio C Hamano --- 288396994f077eec7e7db0017838a5afbfbf81e3 diff --cc Documentation/RelNotes/1.7.8.txt index c07bbf5ee,000000000..5500db2b7 mode 100644,000000..100644 --- a/Documentation/RelNotes/1.7.8.txt +++ b/Documentation/RelNotes/1.7.8.txt @@@ -1,195 -1,0 +1,154 @@@ +Git v1.7.8 Release Notes (draft) +================================ + +Updates since v1.7.7 +-------------------- + + * 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..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// 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). + + * 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). + + * "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 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 $tree $path" used to apply the pathspec at the output stage, - reading the whole tree, wasting resources. - (merge 2f88c1970 jc/diff-index-unpack 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). + - * The code to check for updated submodules during a "git fetch" of the - superproject had an unnecessary quadratic loop. - (merge 6859de45 jk/maint-fetch-submodule-check-fix later to maint). - - * "git fetch" from a large bundle did not enable the progress output. - (merge be042aff jc/maint-bundle-too-quiet later to maint). - - * When "git fsck --lost-and-found" found that an empty blob object in the - object store is unreachable, it incorrectly reported an error after - writing the lost blob out successfully. - (merge eb726f2d jc/maint-fsck-fwrite-size-check later to maint). - - * "git filter-branch" did not refresh the index before checking that the - working tree was clean. - (merge 5347a50f jk/filter-branch-require-clean-work-tree later to maint). - - * "git grep $tree" when run with multiple threads had an unsafe access to - the object database that should have been protected with mutex. - (merge 8cb5775b2 nm/grep-object-sha1-lock later to maint). - - * The "--ancestry-path" option to "git log" and friends misbehaved in a - history with complex criss-cross merges and showed an uninteresting - side history as well. - (merge c05b988a6 bk/ancestry-path later to maint). - + * "git merge" did not understand ":/" 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). + - * Tests with --valgrind failed to find "mergetool" scriptlets. - (merge ee0d7bf92 tr/mergetool-valgrind later to maint). - - * "git patch-id" miscomputed the patch-id in a patch that has a line longer - than 1kB. - (merge b9ab810b ms/patch-id-with-overlong-line later to maint). - - * When an "exec" insn failed after modifying the index and/or the working - tree during "rebase -i", we now check and warn that the changes need to - be cleaned up. - (merge 1686519a mm/rebase-i-exec-edit 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-289-gb73c683 +echo O=$(git describe --always master) +git log --first-parent --oneline --reverse ^$O master +echo +git shortlog --no-merges ^$O master