The latest feature release Git 1.7.2 is available at the usual
places:
http://www.kernel.org/pub/software/scm/git/
git-1.7.2.tar.{gz,bz2} (source tarball)
git-htmldocs-1.7.2.tar.{gz,bz2} (preformatted docs)
git-manpages-1.7.2.tar.{gz,bz2} (preformatted docs)
The RPM binary packages for a few architectures are found in:
RPMS/$arch/git-*-1.7.2-1.fc11.$arch.rpm (RPM)
We have 500+ non-merge commits from 93 contributors, among which 28 are
new contributors, since the last release (1.7.1). Thanks everybody for
working hard to make git a better system
.
Git v1.7.2 Release Notes
Updates since v1.7.1
-
core.eol configuration and text/eol attributes are the new way to control
the end of line conventions for files in the working tree. -
core.autocrlf has been made safer – it will now only handle line
endings for new files and files that are LF-only in the
repository. To normalize content that has been checked in with
CRLF, use the new eol/text attributes. -
The whitespace rules used in “git apply –whitespace” and “git diff”
gained a new member in the family (tab-in-indent) to help projects with
policy to indent only with spaces. -
When working from a subdirectory, by default, git does not look for its
metadirectory “.git” across filesystems, primarily to help people who
have invocations of git in their custom PS1 prompts, as being outside
of a git repository would look for “.git” all the way up to the root
directory, and NFS mounts are often slow. DISCOVERY_ACROSS_FILESYSTEM
environment variable can be used to tell git not to stop at a
filesystem boundary. -
Usage help messages generated by parse-options library (i.e. most
of the Porcelain commands) are sent to the standard output now. -
:/<string> notation to look for a commit now takes regular expression
and it is not anchored at the beginning of the commit log message
anymore (this is a backward incompatible change). -
“git” wrapper learned “-c name=value” option to override configuration
variable from the command line. -
Improved portability for various platforms including older SunOS,
HP-UX 10/11, AIX, Tru64, etc. and platforms with Python 2.4. -
The message from “git am -3″ has been improved when conflict
resolution ended up making the patch a no-op. -
“git blame” applies the textconv filter to the contents it works
on, when available. -
“git checkout –orphan newbranch” is similar to “-b newbranch” but
prepares to create a root commit that is not connected to any existing
commit. -
“git cherry-pick” learned to pick a range of commits
(e.g. “cherry-pick A..B” and “cherry-pick –stdin”), so did “git
revert”; these do not support the nicer sequencing control “rebase
[-i]” has, though. -
“git cherry-pick” and “git revert” learned –strategy option to specify
the merge strategy to be used when performing three-way merges. -
“git cvsserver” can be told to use pserver; its password file can be
stored outside the repository. -
The output from the textconv filter used by “git diff” can be cached to
speed up their reuse. -
“git diff –word-diff=<mode>” extends the existing “–color-words”
option, making it more useful in color-challenged environments. -
The regexp to detect function headers used by “git diff” for PHP has
been enhanced for visibility modifiers (public, protected, etc.) to
better support PHP5. -
“diff.noprefix” configuration variable can be used to implicitly
ask for “diff –no-prefix” behaviour. -
“git for-each-ref” learned “%(objectname:short)” that gives the object
name abbreviated. -
“git format-patch” learned –signature option and format.signature
configuration variable to customize the e-mail signature used in the
output. -
Various options to “git grep” (e.g. –count, –name-only) work better
with binary files. -
“git grep” learned “-Ovi” to open the files with hits in your editor.
-
“git help -w” learned “chrome” and “chromium” browsers.
-
“git log –decorate” shows commit decorations in various colours.
-
“git log –follow <path>” follows across copies (it used to only follow
renames). This may make the processing more expensive. -
“git log –pretty=format:<template>” specifier learned “% <something>”
magic that inserts a space only when %<something> expands to a
non-empty string; this is similar to “%+<something>” magic, but is
useful in a context to generate a single line output. -
“git notes prune” learned “-n” (dry-run) and “-v” options, similar to
what “git prune” has. -
“git patch-id” can be fed a mbox without getting confused by the
signature line in the format-patch output. -
“git remote” learned “set-branches” subcommand.
-
“git rev-list A..B” learned –ancestry-path option to further limit
the result to the commits that are on the ancestry chain between A and
B (i.e. commits that are not descendants of A are excluded). -
“git show -5″ is equivalent to “git show –do-walk 5″; this is similar
to the update to make “git show master..next” walk the history,
introduced in 1.6.4. -
“git status [-s] –ignored” can be used to list ignored paths.
-
“git status -s -b” shows the current branch in the output.
-
“git status” learned “–ignore-submodules” option.
-
Various “gitweb” enhancements and clean-ups, including syntax
highlighting, “plackup” support for instaweb, .fcgi suffix to run
it as FastCGI script, etc. -
The test harness has been updated to produce TAP-friendly output.
-
Many documentation improvement patches are also included.
Fixes since v1.7.1
All of the fixes in v1.7.1.X maintenance series are included in this
release, unless otherwise noted.
-
We didn’t URL decode “file:///path/to/repo” correctly when path/to/repo
had percent-encoded characters (638794c, 9d2e942, ce83eda, 3c73a1d). -
“git clone” did not configure remote.origin.url correctly for bare
clones (df61c889). -
“git diff –graph” works better with “–color-words” and other options
(81fa024..4297c0a). -
“git diff” could show ambiguous abbreviation of blob object names on
its “index” line (3e5a188). -
“git reset –hard” started from a wrong directory and a working tree in
a nonstandard location is in use got confused (560fb6a1). -
“git read-tree -m A B” used to switch to branch B while retaining
local changes added an incorrect cache-tree information (b1f47514).