{"thread":{"id":"28540","subject":"[ANNOUNCE] Git 1.7.7","startedAt":"2011-09-30T22:33:59Z","lastAt":"2011-09-30T22:33:59Z","messageCount":1,"participants":["Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"176605","messageId":"7vbou1oe20.fsf@alter.siamese.dyndns.org","threadId":"28540","inReplyTo":null,"subject":"[ANNOUNCE] Git 1.7.7","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-09-30T22:33:59Z","receivedAt":"2011-09-30T22:33:59Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"The latest feature release Git 1.7.7 is available.\n\nThe release tarballs are found at:\n\n    http://code.google.com/p/git-core/downloads/list\n\nand their SHA-1 checksums are:\n\nbbf85bd767ca6b7e9caa1489bb4ba7ec64e0ab35  git-1.7.7.tar.gz\n33183db94fd25e001bd8a9fd6696b992f61e28d8  git-htmldocs-1.7.7.tar.gz\n75d3cceb46f7a46eeb825033dff76af5eb5ea3d9  git-manpages-1.7.7.tar.gz\n\nAlso the following public repositories all have a copy of the v1.7.7\ntag and the master branch that the tag points at:\n\n  url = git://repo.or.cz/alt-git.git\n  url = https://code.google.com/p/git-core/\n  url = git://git.sourceforge.jp/gitroot/git-core/git.git\n  url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core\n  url = https://github.com/gitster/git\n\n\nThe release tag and the tarballs can be verified with my GPG key if\nanybody is so inclined. To get my public key:\n\n  $ git fetch git://repo.or.cz/alt-git.git refs/tags/junio-gpg-pub\n  $ git rev-parse FETCH_HEAD\n  680865b90b18efbc9402ea979adf0302c6dfe72e\n  $ git cat-file blob FETCH_HEAD | gpg --import\n  \nand then make sure that you got my key by checking the output from\n\"gpg --fingerprint\", which should contain these lines:\n\n  pub   1024D/F3119B9A 2004-01-28\n        Key fingerprint = 3565 2A26 2040 E066 C9A7  4A7D C0C6 D9A4 F311 9B9A\n  uid                  Junio C Hamano <gitster@pobox.com>\n\n\nGit v1.7.7 Release Notes\n========================\n\nUpdates since v1.7.6\n--------------------\n\n * The scripting part of the codebase is getting prepared for i18n/l10n.\n\n * Interix, Cygwin and Minix ports got updated.\n\n * Various updates to git-p4 (in contrib/), fast-import, and git-svn.\n\n * Gitweb learned to read from /etc/gitweb-common.conf when it exists,\n   before reading from gitweb_config.perl or from /etc/gitweb.conf\n   (this last one is read only when per-repository gitweb_config.perl\n   does not exist).\n\n * Various codepaths that invoked zlib deflate/inflate assumed that these\n   functions can compress or uncompress more than 4GB data in one call on\n   platforms with 64-bit long, which has been corrected.\n\n * Git now recognizes loose objects written by other implementations that\n   use a non-standard window size for zlib deflation (e.g. Agit running on\n   Android with 4kb window). We used to reject anything that was not\n   deflated with 32kb window.\n\n * Interaction between the use of pager and coloring of the output has\n   been improved, especially when a command that is not built-in was\n   involved.\n\n * \"git am\" learned to pass the \"--exclude=<path>\" option through to underlying\n   \"git apply\".\n\n * You can now feed many empty lines before feeding an mbox file to\n   \"git am\".\n\n * \"git archive\" can be told to pass the output to gzip compression and\n   produce \"archive.tar.gz\".\n\n * \"git bisect\" can be used in a bare repository (provided that the test\n   you perform per each iteration does not need a working tree, of\n   course).\n\n * The length of abbreviated object names in \"git branch -v\" output\n   now honors the core.abbrev configuration variable.\n\n * \"git check-attr\" can take relative paths from the command line.\n\n * \"git check-attr\" learned an \"--all\" option to list the attributes for a\n   given path.\n\n * \"git checkout\" (both the code to update the files upon checking out a\n   different branch and the code to checkout a specific set of files) learned\n   to stream the data from object store when possible, without having to\n   read the entire contents of a file into memory first. An earlier round\n   of this code that is not in any released version had a large leak but\n   now it has been plugged.\n\n * \"git clone\" can now take a \"--config key=value\" option to set the\n   repository configuration options that affect the initial checkout.\n\n * \"git commit <paths>...\" now lets you feed relative pathspecs that\n   refer to outside your current subdirectory.\n\n * \"git diff --stat\" learned a --stat-count option to limit the output of\n   a diffstat report.\n\n * \"git diff\" learned a \"--histogram\" option to use a different diff\n   generation machinery stolen from jgit, which might give better\n   performance.\n\n * \"git diff\" had a weird worst case behaviour that can be triggered\n   when comparing files with potentially many places that could match.\n\n * \"git fetch\", \"git push\" and friends no longer show connection\n   errors for addresses that couldn't be connected to when at least one\n   address succeeds (this is arguably a regression but a deliberate\n   one).\n\n * \"git grep\" learned \"--break\" and \"--heading\" options, to let users mimic\n   the output format of \"ack\".\n\n * \"git grep\" learned a \"-W\" option that shows wider context using the same\n   logic used by \"git diff\" to determine the hunk header.\n\n * Invoking the low-level \"git http-fetch\" without \"-a\" option (which\n   git itself never did---normal users should not have to worry about\n   this) is now deprecated.\n\n * The \"--decorate\" option to \"git log\" and its family learned to\n   highlight grafted and replaced commits.\n\n * \"git rebase master topci\" no longer spews usage hints after giving\n   the \"fatal: no such branch: topci\" error message.\n\n * The recursive merge strategy implementation got a fairly large\n   fix for many corner cases that may rarely happen in real world\n   projects (it has been verified that none of the 16000+ merges in\n   the Linux kernel history back to v2.6.12 is affected with the\n   corner case bugs this update fixes).\n\n * \"git stash\" learned an \"--include-untracked option\".\n\n * \"git submodule update\" used to stop at the first error updating a\n   submodule; it now goes on to update other submodules that can be\n   updated, and reports the ones with errors at the end.\n\n * \"git push\" can be told with the \"--recurse-submodules=check\" option to\n   refuse pushing of the supermodule, if any of its submodules'\n   commits hasn't been pushed out to their remotes.\n\n * \"git upload-pack\" and \"git receive-pack\" learned to pretend that only a\n   subset of the refs exist in a repository. This may help a site to\n   put many tiny repositories into one repository (this would not be\n   useful for larger repositories as repacking would be problematic).\n\n * \"git verify-pack\" has been rewritten to use the \"index-pack\" machinery\n   that is more efficient in reading objects in packfiles.\n\n * test scripts for gitweb tried to run even when CGI-related perl modules\n   are not installed; they now exit early when the latter are unavailable.\n\nAlso contains various documentation updates and minor miscellaneous\nchanges.\n\n\nFixes since v1.7.6\n------------------\n\nUnless otherwise noted, all fixes in the 1.7.6.X maintenance track are\nincluded in this release.\n\n * \"git branch -m\" and \"git checkout -b\" incorrectly allowed the tip\n   of the branch that is currently checked out updated.\n"}]}