Friday, January 27, 2012

Git 1.7.9

The latest feature release Git 1.7.9 is now available at the usual places.

The release tarballs are found at:

    http://code.google.com/p/git-core/downloads/list

Also the following public repositories all have a copy of the v1.7.9 tag and the master branch that the tag points at:

  url = git://repo.or.cz/alt-git.git
  url = https://code.google.com/p/git-core/
  url = git://git.sourceforge.jp/gitroot/git-core/git.git
  url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core
  url = https://github.com/gitster/git


As already reported in various places (including lwn.net and Linus Torvalds), the most notable feature in this release is unarguably the improved support for the pull-request based workflow, in which participants can exchange their histories more securely, even over a potentially untrustable hosting service. This is truly an end-to-end support, starting from the inception of a topic branch with its own description, use of the branch description and the message in a signed tag in a pull-request message, use of the message in a signed tag in the resulting merge commit and verification of the signature when reviewing the resulting history (see this for a tutorial).

There also are many other updates that hopefully make working with Git a more delightful experience. Highlights are:
  • "Credential helper" support, that allows integration of HTTP authentication with platform-native key-chain implementations;
  • New progress eye-candy output for a couple of lengthy operations e.g. fsck;
  • I18N framework enabled for both C and scripted Porcelains;
  • Improvement in prompted input from an interactive terminal (most notably, reading the username for HTTP authentication);
  • You can now run "git checkout -B <current branch> <elsewhere>" to correct the tip of the checked out branch;
  • As another step to support large files better, "git add" stores large files directly into a new packfile without having to hold everything in-core at once; and
  • "Signed commit" support, that lets a commit object record a GPG signature on it.
 Have fun.

No comments: