| 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. |