blob: a717cd622a9d9a99d6003790f629822c52589e4f [file] [log] [blame]
Git v1.7.7 Release Notes
========================
Updates since v1.7.6
--------------------
* The scripting part of the codebase is getting prepared for i18n/l10n.
* Interix, Cygwin and Minix ports got updated.
* A handful of patches to update git-p4 (in contrib/).
* Gitweb learned to read from /etc/gitweb-common.conf when it exists,
before reading from gitweb_config.perl or from /etc/gitweb.conf
(this last one is read only when per-repository gitweb_config.perl
does not exist).
* Various codepaths that invoked zlib deflate/inflate assumed that these
functions can compress or uncompress more than 4GB data in one call on
platforms with 64-bit long, which has been corrected.
* Git now recognizes loose objects written by other implementations that
uses non-standard window size for zlib deflation (e.g. Agit running on
Android with 4kb window). We used to reject anything that was not
deflated with 32kb window.
* "git am" learned to pass "--exclude=<path>" option through to underlying
"git apply".
* You can now feed many empty lines before feeding a mbox file to
"git am".
* "git archive" can be told to pass the output to gzip compression and
produce "archive.tar.gz".
* "git bisect" can be used in a bare repository (provided if the test
you perform per each iteration does not need a working tree, of
course).
* "git check-attr" can take relative paths from the command line.
* "git check-attr" learned "--all" option to list the attributes for a
given path.
* "git checkout" (both the code to update the files upon checking out a
different branch, the code to checkout specific set of files) learned
to stream the data from object store when possible, without having to
read the entire contents of a file in memory first. An earlier round
of this code that is not in any released version had a large leak but
now it has been plugged.
* "git clone" can now take "--config key=value" option to set the
repository configuration options that affect the initial checkout.
* "git commit <paths>..." now lets you feed relative pathspecs that
refer outside your current subdirectory.
* "git diff --stat" learned --stat-count option to limit the output of
diffstat report.
* "git diff" learned "--histogram" option, to use a different diff
generation machinery stolen from jgit, which might give better
performance.
* "git fetch", "git push" and friends no longer show connection
errors for addresses that couldn't be connected when at least one
address succeeds (this is arguably a regression but a deliberate
one).
* "git grep" learned --break and --heading options, to let users mimic
output format of "ack".
* "git grep" learned "-W" option that shows wider context using the same
logic used by "git diff" to determine the hunk header.
* "git rebase master topci" no longer spews usage hints after giving
"fatal: no such branch: topci" error message.
* "git stash" learned --include-untracked option.
* "git submodule update" used to stop at the first error updating a
submodule; it now goes on to update other submodules that can be
updated, and reports the ones with errors at the end.
* "git upload-pack" and "git receive-pack" learned to pretend only a
subset of the refs exist in a repository. This may help a site to
put many tiny repositories into one repository (this would not be
useful for larger repositories as repacking would be problematic).
* "git verify-pack" has been rewritten to use the "index-pack" machinery
that is more efficient in reading objects in packfiles.
* test scripts for gitweb tried to run even when CGI-related perl modules
are not installed; it now exits early when they are unavailable.
Also contains various documentation updates and minor miscellaneous
changes.
Fixes since v1.7.6
------------------
Unless otherwise noted, all the fixes in 1.7.6.X maintenance track are
included in this release.
* "git branch --set-upstream @{-1} foo" did not expand @{-1} correctly.
(merge e9d4f74 mg/branch-set-upstream-previous later to 'maint').
* "git describe --dirty" did not refresh the index before checking the
state of the working tree files.
(cherry-pick bb57148 ac/describe-dirty-refresh later to 'maint').
* "git ls-files ../$path" that is run from a subdirectory reported errors
incorrectly when there is no such path that matches the given pathspec.
(merge 0f64bfa cb/maint-ls-files-error-report later to 'maint').
--
exec >/var/tmp/1
echo O=$(git describe master)
O=v1.7.6.1-415-g284daf2
git log --first-parent --oneline $O..master
echo
git shortlog --no-merges ^maint ^$O master