You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
150 lines
6.0 KiB
150 lines
6.0 KiB
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/ |
|
|
|
* Error messages given when @{u} is used for a branch without its |
|
upstream configured have been clatified. |
|
|
|
* Even with "-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 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 learns to list the primary contributors |
|
involved in the side topic you are merging. |
|
|
|
* "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 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 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) |
|
|
|
* 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. |
|
|
|
* 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. |
|
|
|
* 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 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). |
|
|
|
* The DWIM behaviour for "log --pretty=format:%gd -g" was somewhat |
|
broken and gave undue precedence to configured log.date, causing |
|
"git stash list" to show "stash@{time stamp string}". |
|
(merge 55ccf85 jk/maint-reflog-walk-count-vs-time later to maint). |
|
|
|
* Running "git checkout" on an unborn branch used to corrupt HEAD. |
|
(merge 8338f77 ef/checkout-empty later to maint). |
|
|
|
* When checking out another commit from an already detached state, we |
|
used to report all commits that are not reachable from any of the |
|
refs as lossage, but some of them might be reachable from the new |
|
HEAD, and there is no need to warn about them. |
|
(merge 5d88639 js/checkout-detach-count later to maint). |
|
|
|
* Some time ago, "git clone" lost the progress output for its |
|
"checkout" phase; when run without any "--quiet" option, it should |
|
give progress to the lengthy operation. |
|
(merge 8f63da1 ef/maint-clone-progress-fix later to maint). |
|
|
|
* "git status --porcelain" ignored "--branch" option by mistake. The |
|
output for "git status --branch -z" was also incorrect and did not |
|
terminate the record for the current branch name with NUL as asked. |
|
(merge d4a6bf1 jk/maint-status-porcelain-z-b 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. |
|
|
|
* "log -z --pretty=tformat:..." did not terminate each record with |
|
NUL. The fix is not entirely correct when the output also asks for |
|
--patch and/or --stat, though. |
|
(merge fafd382 jk/maint-tformat-with-z later to maint).
|
|
|