mirror of
https://github.com/git/git.git
synced 2024-10-31 06:17:56 +01:00
cd07cc5312
Signed-off-by: Junio C Hamano <gitster@pobox.com>
150 lines
6 KiB
Text
150 lines
6 KiB
Text
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).
|