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
* "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
* "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
* "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
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)
git log --first-parent --oneline $O..master
git shortlog --no-merges ^maint ^$O master