|  | Git v1.7.11 Release Notes | 
|  | ========================= | 
|  |  | 
|  | Updates since v1.7.10 | 
|  | --------------------- | 
|  |  | 
|  | UI, Workflows & Features | 
|  |  | 
|  | * A new mode for push, "simple", which is a cross between "current" | 
|  | and "upstream", has been introduced. "git push" without any refspec | 
|  | will push the current branch out to the same name at the remote | 
|  | repository only when it is set to track the branch with the same | 
|  | name over there.  The plan is to make this mode the new default | 
|  | value when push.default is not configured. | 
|  |  | 
|  | * A couple of commands learned the "--column" option to produce | 
|  | columnar output. | 
|  |  | 
|  | * A third-party tool "git subtree" is distributed in contrib/ | 
|  |  | 
|  | * A remote helper that acts as a proxy and caches ssl session for the | 
|  | https:// transport is added to the contrib/ area. | 
|  |  | 
|  | * Error messages given when @{u} is used for a branch without its | 
|  | upstream configured have been clarified. | 
|  |  | 
|  | * Even with the "-q"uiet option, "checkout" used to report setting up | 
|  | tracking.  Also "branch" learned the "-q"uiet option to squelch | 
|  | informational message. | 
|  |  | 
|  | * Your build platform may support hardlinks but you may prefer not to | 
|  | use them, e.g. when installing to DESTDIR to make a tarball and | 
|  | untarring on a filesystem that has poor support for hardlinks. | 
|  | There is a Makefile option NO_INSTALL_HARDLINKS for you. | 
|  |  | 
|  | * The smart-http backend used to always override GIT_COMMITTER_* | 
|  | variables with REMOTE_USER and REMOTE_ADDR, but these variables are | 
|  | now preserved when set. | 
|  |  | 
|  | * "git am" learned the "--include" option, which is an opposite of | 
|  | existing the "--exclude" option. | 
|  |  | 
|  | * When "git am -3" needs to fall back to an application of the patch | 
|  | to a synthesized preimage followed by a 3-way merge, the paths that | 
|  | needed such treatment are now reported to the end user, so that the | 
|  | result in them can be eyeballed with extra care. | 
|  |  | 
|  | * The output from "diff/log --stat" used to always allocate 4 columns | 
|  | to show the number of modified lines, but not anymore. | 
|  |  | 
|  | * "git difftool" learned the "--dir-diff" option to spawn external | 
|  | diff tools that can compare two directory hierarchies at a time | 
|  | after populating two temporary directories, instead of running an | 
|  | instance of the external tool once per a file pair. | 
|  |  | 
|  | * The "fmt-merge-msg" command learned to list the primary contributors | 
|  | involved in the side topic you are merging in a comment in the merge | 
|  | commit template. | 
|  |  | 
|  | * "git rebase" learned to optionally keep commits that do not | 
|  | introduce any change in the original history. | 
|  |  | 
|  | * "git push --recurse-submodules" learned to optionally look into the | 
|  | histories of submodules bound to the superproject and push them | 
|  | out. | 
|  |  | 
|  | * A 'snapshot' request to "gitweb" honors If-Modified-Since: header, | 
|  | based on the commit date. | 
|  |  | 
|  | * "gitweb" learned to highlight the patch it outputs even more. | 
|  |  | 
|  | Foreign Interface | 
|  |  | 
|  | * "git svn" used to die with unwanted SIGPIPE when talking with an HTTP | 
|  | server that uses keep-alive. | 
|  |  | 
|  | * "git svn" learned to use platform specific authentication | 
|  | providers, e.g. gnome-keyring, kwallet, etc. | 
|  |  | 
|  | * "git p4" has been moved out of the contrib/ area and has seen more | 
|  | work on importing labels as tags from (and exporting tags as labels | 
|  | to) p4. | 
|  |  | 
|  | Performance and Internal Implementation (please report possible regressions) | 
|  |  | 
|  | * Bash completion script (in contrib/) have been cleaned up to make | 
|  | future work on it simpler. | 
|  |  | 
|  | * An experimental "version 4" format of the index file has been | 
|  | introduced to reduce on-disk footprint and I/O overhead. | 
|  |  | 
|  | * "git archive" learned to produce its output without reading the | 
|  | blob object it writes out in memory in its entirety. | 
|  |  | 
|  | * "git index-pack" that runs when fetching or pushing objects to | 
|  | complete the packfile on the receiving end learned to use multiple | 
|  | threads to do its job when available. | 
|  |  | 
|  | * The code to compute hash values for lines used by the internal diff | 
|  | engine was optimized on little-endian machines, using the same | 
|  | trick the kernel folks came up with. | 
|  |  | 
|  | * "git apply" had some memory leaks plugged. | 
|  |  | 
|  | * Setting up a revision traversal with many starting points was | 
|  | inefficient as these were placed in a date-order priority queue | 
|  | one-by-one.  Now they are collected in the queue unordered first, | 
|  | and sorted immediately before getting used. | 
|  |  | 
|  | * More lower-level commands learned to use the streaming API to read | 
|  | from the object store without keeping everything in core. | 
|  |  | 
|  | * The weighting parameters to suggestion command name typo have been | 
|  | tweaked, so that "git tags" will suggest "tag?" and not "stage?". | 
|  |  | 
|  | * Because "sh" on the user's PATH may be utterly broken on some | 
|  | systems, run-command API now uses SHELL_PATH, not /bin/sh, when | 
|  | spawning an external command (not applicable to Windows port). | 
|  |  | 
|  | * The API to iterate over the refs/ hierarchy has been tweaked to | 
|  | allow walking only a subset of it more efficiently. | 
|  |  | 
|  | Also contains minor documentation updates and code clean-ups. | 
|  |  | 
|  |  | 
|  | Fixes since v1.7.10 | 
|  | ------------------- | 
|  |  | 
|  | Unless otherwise noted, all the fixes since v1.7.10 in the maintenance | 
|  | releases are contained in this release (see release notes to them for | 
|  | details). | 
|  |  | 
|  | * "git submodule init" used to report "registered for path ..." | 
|  | even for submodules that were registered earlier. | 
|  | (cherry-pick c1c259e jl/submodule-report-new-path-once later to maint). | 
|  |  | 
|  | * "git diff --stat" used to fully count a binary file with modified | 
|  | execution bits whose contents is unmodified, which was not quite | 
|  | right. |