-Git v1.7.8 Release Notes (draft)
-================================
+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 complier 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.
files from the index, not from the working tree.
* Variants of "git cherry-pick" and "git revert" that take multiple
- commits learned to "--continue".
+ commits learned to "--continue" and "--abort".
+
+ * "git daemon" gives more human readble 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") 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.
- * "mediawiki" remote helper can interact with (surprise!) MediaWiki
- with "git fetch" & "git push".
+ * "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.
- * "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).
+ * 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).
- * 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 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).
- * "git fetch" from a large bundle did not enable the progress output.
- (merge be042aff jc/maint-bundle-too-quiet 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).
- * 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).
+ * 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.
- * 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).
-
----
-it=master
-exec >/var/tmp/1
-O=v1.7.7
-O=v1.7.7-137-g2e49dab
-echo O=$(git describe --always $it)
-git log --first-parent --oneline --reverse ^$O $it
-echo
-git shortlog --no-merges ^$O $it
+ " "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).