1 Git v1.7.2 Release Notes (draft)
2 ================================
7 * core.eol configuration and eol attribute are the new way to control
8 the end of line conventions for files in the working tree;
9 core.autocrlf overrides it, keeping the traditional behaviour by
12 * The whitespace rules used in "git apply --whitespace" and "git diff"
13 gained a new member in the family (tab-in-indent) to help projects with
14 policy to indent only with spaces.
16 * When working from a subdirectory, by default, git does not look for its
17 metadirectory ".git" across filesystems, primarily to help people who
18 have invocations of git in their custom PS1 prompts, as being outside
19 of a git repository would look for ".git" all the way up to the root
20 directory, and NFS mounts are often slow. DISCOVERY_ACROSS_FILESYSTEM
21 environment variable can be used to tell git not to stop at a
24 * Usage help messages generated by parse-options library (i.e. most
25 of the Porcelain commands) are sent to the standard output now.
27 * ':/<string>' notation to look for a commit now takes regular expression
28 and it is not anchored at the beginning of the commit log message
29 anymore (this is a backward incompatible change).
31 * "git" wrapper learned "-c name=value" option to override configuration
32 variable from the command line.
34 * Improved portability for various platforms including older SunOS,
35 HP-UX 10/11, AIX, Tru64, etc. and platforms with Python 2.4.
37 * The message from "git am -3" has been improved when conflict
38 resolution ended up making the patch a no-op.
40 * "git blame" applies the textconv filter to the contents it works
43 * "git checkout --orphan newbranch" is similar to "-b newbranch" but
44 prepares to create a root commit that is not connected to any existing
47 * "git cherry-pick" learned to pick a range of commits (e.g. "cherry-pick
48 A..B"); this does not have nicer sequencing control "rebase [-i]" has,
51 * "git cvsserver" can be told to use pserver; its password file can be
52 stored outside the repository.
54 * The output from the textconv filter used by "git diff" can be cached to
57 * "git diff --word-diff=<mode>" extends the existing "--color-words"
58 option, making it more useful in color-challenged environments.
60 * The regexp to detect function headers used by "git diff" for PHP has
61 been enhanced for visibility modifiers (public, protected, etc.) to
64 * "diff.noprefix" configuration variable can be used to implicitly
65 ask for "diff --no-prefix" behaviour.
67 * "git for-each-ref" learned "%(objectname:short)" that gives the object
70 * "git format-patch" learned --signature option and format.signature
71 configuration variable to customize the e-mail signature used in the
74 * Various options to "git grep" (e.g. --count, --name-only) work better
77 * "git help -w" learned "chrome" and "chromium" browsers.
79 * "git log --follow <path>" follows across copies (it used to only follow
80 renames). This may make the processing more expensive.
82 * "git log --pretty=format:<template>" specifier learned "% <something>"
83 magic that inserts a space only when %<something> expands to a
84 non-empty string; this is similar to "%+<something>" magic, but is
85 useful in a context to generate a single line output.
87 * "git notes prune" learned "-n" (dry-run) and "-v" options, similar to
90 * "git patch-id" can be fed a mbox without getting confused by the
91 signature line in the format-patch output.
93 * "git remote" learned "set-branches" subcommand.
95 * "git revert" learned --strategy option to specify the merge strategy.
97 * "git rev-list A..B" learned --ancestry-path option to further limit
98 the result to the commits that are on the ancestry chain between A and
99 B (i.e. commits that are not descendants of A are excluded).
101 * "git show -5" is equivalent to "git show --do-walk 5"; this is similar
102 to the update to make "git show master..next" walk the history,
105 * "git status [-s] --ignored" can be used to list ignored paths.
107 * "git status -s -b" shows the current branch in the output.
109 * Various "gitweb" enhancements and clean-ups, including syntax
110 highlighting, "plackup" support for instaweb, .fcgi suffix to run
111 it as FastCGI script, etc.
117 All of the fixes in v1.7.1.X maintenance series are included in this
118 release, unless otherwise noted.
120 * We didn't URL decode "file:///path/to/repo" correctly when path/to/repo
121 had percent-encoded characters (638794c, 9d2e942).
123 * "git commit" did not honor GIT_REFLOG_ACTION environment variable, resulting
124 reflog messages for cherry-pick and revert actions to be recorded as "commit".
126 * "git clone/fetch/pull" issued an incorrect error message when a ref and
127 a symref that points to the ref were updated at the same time. This
128 obviously would update them to the same value, and should not result in
129 an error condition (0e71bc3).
131 * "git clone" did not configure remote.origin.url correctly for bare
134 * "git diff" inside a tree with many pathnames that have certain
135 characters has become very slow in 1.7.0 by mistake (will merge
136 e53e6b443 to 'maint').
138 * "git diff --graph" works better with "--color-words" and other options
141 * "git diff" could show ambiguous abbreviation of blob object names on
142 its "index" line (3e5a188).
144 * "git rebase" did not faithfully reproduce a malformed author ident, that
145 is often seen in a repository converted from foreign SCMs (43c23251).
147 * "git reset --hard" started from a wrong directory and a working tree in
148 a nonstandard location is in use got confused (560fb6a1).
152 O=v1.7.1-592-gcf4403a
153 echo O=$(git describe HEAD)
154 git shortlog --no-merges HEAD ^maint ^$O