1 Git v1.7.7 Release Notes
 
   2 ========================
 
   7  * The scripting part of the codebase is getting prepared for i18n/l10n.
 
   9  * Interix, Cygwin and Minix ports got updated.
 
  11  * Various updates to git-p4 (in contrib/), fast-import, and git-svn.
 
  13  * Gitweb learned to read from /etc/gitweb-common.conf when it exists,
 
  14    before reading from gitweb_config.perl or from /etc/gitweb.conf
 
  15    (this last one is read only when per-repository gitweb_config.perl
 
  18  * Various codepaths that invoked zlib deflate/inflate assumed that these
 
  19    functions can compress or uncompress more than 4GB data in one call on
 
  20    platforms with 64-bit long, which has been corrected.
 
  22  * Git now recognizes loose objects written by other implementations that
 
  23    use a non-standard window size for zlib deflation (e.g. Agit running on
 
  24    Android with 4kb window). We used to reject anything that was not
 
  25    deflated with 32kb window.
 
  27  * Interaction between the use of pager and coloring of the output has
 
  28    been improved, especially when a command that is not built-in was
 
  31  * "git am" learned to pass the "--exclude=<path>" option through to underlying
 
  34  * You can now feed many empty lines before feeding an mbox file to
 
  37  * "git archive" can be told to pass the output to gzip compression and
 
  38    produce "archive.tar.gz".
 
  40  * "git bisect" can be used in a bare repository (provided that the test
 
  41    you perform per each iteration does not need a working tree, of
 
  44  * The length of abbreviated object names in "git branch -v" output
 
  45    now honors the core.abbrev configuration variable.
 
  47  * "git check-attr" can take relative paths from the command line.
 
  49  * "git check-attr" learned an "--all" option to list the attributes for a
 
  52  * "git checkout" (both the code to update the files upon checking out a
 
  53    different branch and the code to checkout a specific set of files) learned
 
  54    to stream the data from object store when possible, without having to
 
  55    read the entire contents of a file into memory first. An earlier round
 
  56    of this code that is not in any released version had a large leak but
 
  57    now it has been plugged.
 
  59  * "git clone" can now take a "--config key=value" option to set the
 
  60    repository configuration options that affect the initial checkout.
 
  62  * "git commit <paths>..." now lets you feed relative pathspecs that
 
  63    refer to outside your current subdirectory.
 
  65  * "git diff --stat" learned a --stat-count option to limit the output of
 
  68  * "git diff" learned a "--histogram" option to use a different diff
 
  69    generation machinery stolen from jgit, which might give better
 
  72  * "git diff" had a weird worst case behaviour that can be triggered
 
  73    when comparing files with potentially many places that could match.
 
  75  * "git fetch", "git push" and friends no longer show connection
 
  76    errors for addresses that couldn't be connected to when at least one
 
  77    address succeeds (this is arguably a regression but a deliberate
 
  80  * "git grep" learned "--break" and "--heading" options, to let users mimic
 
  81    the output format of "ack".
 
  83  * "git grep" learned a "-W" option that shows wider context using the same
 
  84    logic used by "git diff" to determine the hunk header.
 
  86  * Invoking the low-level "git http-fetch" without "-a" option (which
 
  87    git itself never did---normal users should not have to worry about
 
  88    this) is now deprecated.
 
  90  * The "--decorate" option to "git log" and its family learned to
 
  91    highlight grafted and replaced commits.
 
  93  * "git rebase master topci" no longer spews usage hints after giving
 
  94    the "fatal: no such branch: topci" error message.
 
  96  * The recursive merge strategy implementation got a fairly large
 
  97    fix for many corner cases that may rarely happen in real world
 
  98    projects (it has been verified that none of the 16000+ merges in
 
  99    the Linux kernel history back to v2.6.12 is affected with the
 
 100    corner case bugs this update fixes).
 
 102  * "git stash" learned an "--include-untracked option".
 
 104  * "git submodule update" used to stop at the first error updating a
 
 105    submodule; it now goes on to update other submodules that can be
 
 106    updated, and reports the ones with errors at the end.
 
 108  * "git push" can be told with the "--recurse-submodules=check" option to
 
 109    refuse pushing of the supermodule, if any of its submodules'
 
 110    commits hasn't been pushed out to their remotes.
 
 112  * "git upload-pack" and "git receive-pack" learned to pretend that only a
 
 113    subset of the refs exist in a repository. This may help a site to
 
 114    put many tiny repositories into one repository (this would not be
 
 115    useful for larger repositories as repacking would be problematic).
 
 117  * "git verify-pack" has been rewritten to use the "index-pack" machinery
 
 118    that is more efficient in reading objects in packfiles.
 
 120  * test scripts for gitweb tried to run even when CGI-related perl modules
 
 121    are not installed; they now exit early when the latter are unavailable.
 
 123 Also contains various documentation updates and minor miscellaneous
 
 130 Unless otherwise noted, all fixes in the 1.7.6.X maintenance track are
 
 131 included in this release.
 
 133  * "git branch -m" and "git checkout -b" incorrectly allowed the tip
 
 134    of the branch that is currently checked out updated.