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 am" learned to pass "--exclude=" 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 ..." 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. * Error exits from $PAGER were silently ignored. (merge fc1b56f cb/maint-exec-error-report later). * "git diff -c/--cc" mishandled a deletion that resolves a conflict, and looked in the working tree instead. (merge 9969454 jc/maint-combined-diff-work-tree later). * "git fetch" over smart-http transport used to abort when the repository was updated between the initial connection and the subsequent object transfer. (merge 051e400 jc/maint-smart-http-race-upload-pack later). * "git push --quiet" was not really quiet. (merge 0d086b8 cb/maint-quiet-push later). -- exec >/var/tmp/1 echo O=$(git describe master) O=v1.7.6-548-g324b6b1 git log --first-parent --oneline $O..master echo git shortlog --no-merges ^maint ^$O master