pack-refs: remove newly empty directories
[git/jnareb-git.git] / Documentation / RelNotes-1.7.2.txt
blobb463fd2ae2504d031b913a077e5d017ca4680bc3
1 Git v1.7.2 Release Notes (draft)
2 ================================
4 Updates since v1.7.1
5 --------------------
7  * core.eol configuration and text/eol attributes are the new way to control
8    the end of line conventions for files in the working tree.
10  * core.autocrlf has been made safer - it will now only handle line
11    endings for new files and files that are LF-only in the
12    repository. To normalize content that has been checked in with
13    CRLF, use the new eol/text attributes.
15  * The whitespace rules used in "git apply --whitespace" and "git diff"
16    gained a new member in the family (tab-in-indent) to help projects with
17    policy to indent only with spaces.
19  * When working from a subdirectory, by default, git does not look for its
20    metadirectory ".git" across filesystems, primarily to help people who
21    have invocations of git in their custom PS1 prompts, as being outside
22    of a git repository would look for ".git" all the way up to the root
23    directory, and NFS mounts are often slow.  DISCOVERY_ACROSS_FILESYSTEM
24    environment variable can be used to tell git not to stop at a
25    filesystem boundary.
27  * Usage help messages generated by parse-options library (i.e. most
28    of the Porcelain commands) are sent to the standard output now.
30  * ':/<string>' notation to look for a commit now takes regular expression
31    and it is not anchored at the beginning of the commit log message
32    anymore (this is a backward incompatible change).
34  * "git" wrapper learned "-c name=value" option to override configuration
35    variable from the command line.
37  * Improved portability for various platforms including older SunOS,
38    HP-UX 10/11, AIX, Tru64, etc. and platforms with Python 2.4.
40  * The message from "git am -3" has been improved when conflict
41    resolution ended up making the patch a no-op.
43  * "git blame" applies the textconv filter to the contents it works
44    on, when available.
46  * "git checkout --orphan newbranch" is similar to "-b newbranch" but
47    prepares to create a root commit that is not connected to any existing
48    commit.
50  * "git cherry-pick" learned to pick a range of commits
51    (e.g. "cherry-pick A..B" and "cherry-pick --stdin"), so did "git
52    revert"; these do not support the nicer sequencing control "rebase
53    [-i]" has, though.
55  * "git cherry-pick" and "git revert" learned --strategy option to specify
56    the merge strategy to be used when performing three-way merges.
58  * "git cvsserver" can be told to use pserver; its password file can be
59    stored outside the repository.
61  * The output from the textconv filter used by "git diff" can be cached to
62    speed up their reuse.
64  * "git diff --word-diff=<mode>" extends the existing "--color-words"
65    option, making it more useful in color-challenged environments.
67  * The regexp to detect function headers used by "git diff" for PHP has
68    been enhanced for visibility modifiers (public, protected, etc.) to
69    better support PHP5.
71  * "diff.noprefix" configuration variable can be used to implicitly
72    ask for "diff --no-prefix" behaviour.
74  * "git for-each-ref" learned "%(objectname:short)" that gives the object
75    name abbreviated.
77  * "git format-patch" learned --signature option and format.signature
78    configuration variable to customize the e-mail signature used in the
79    output.
81  * Various options to "git grep" (e.g. --count, --name-only) work better
82    with binary files.
84  * "git grep" learned "-Ovi" to open the files with hits in your editor.
86  * "git help -w" learned "chrome" and "chromium" browsers.
88  * "git log --decorate" shows commit decorations in various colours.
90  * "git log --follow <path>" follows across copies (it used to only follow
91    renames).  This may make the processing more expensive.
93  * "git log --pretty=format:<template>" specifier learned "% <something>"
94    magic that inserts a space only when %<something> expands to a
95    non-empty string; this is similar to "%+<something>" magic, but is
96    useful in a context to generate a single line output.
98  * "git notes prune" learned "-n" (dry-run) and "-v" options, similar to
99    what "git prune" has.
101  * "git patch-id" can be fed a mbox without getting confused by the
102    signature line in the format-patch output.
104  * "git remote" learned "set-branches" subcommand.
106  * "git rev-list A..B" learned --ancestry-path option to further limit
107    the result to the commits that are on the ancestry chain between A and
108    B (i.e. commits that are not descendants of A are excluded).
110  * "git show -5" is equivalent to "git show --do-walk 5"; this is similar
111    to the update to make "git show master..next" walk the history,
112    introduced in 1.6.4.
114  * "git status [-s] --ignored" can be used to list ignored paths.
116  * "git status -s -b" shows the current branch in the output.
118  * "git status" learned "--ignore-submodules" option.
120  * Various "gitweb" enhancements and clean-ups, including syntax
121    highlighting, "plackup" support for instaweb, .fcgi suffix to run
122    it as FastCGI script, etc.
125 Fixes since v1.7.1
126 ------------------
128 All of the fixes in v1.7.1.X maintenance series are included in this
129 release, unless otherwise noted.
131  * We didn't URL decode "file:///path/to/repo" correctly when path/to/repo
132    had percent-encoded characters (638794c, 9d2e942).
134  * "git commit" did not honor GIT_REFLOG_ACTION environment variable, resulting
135    reflog messages for cherry-pick and revert actions to be recorded as "commit".
137  * "git clone/fetch/pull" issued an incorrect error message when a ref and
138    a symref that points to the ref were updated at the same time.  This
139    obviously would update them to the same value, and should not result in
140    an error condition (0e71bc3).
142  * "git clone" did not configure remote.origin.url correctly for bare
143    clones (df61c889).
145  * "git diff" inside a tree with many pathnames that have certain
146    characters has become very slow in 1.7.0 by mistake (will merge
147    e53e6b443 to 'maint').
149  * "git diff --graph" works better with "--color-words" and other options
150    (81fa024..4297c0a).
152  * "git diff" could show ambiguous abbreviation of blob object names on
153    its "index" line (3e5a188).
155  * "git reset --hard" started from a wrong directory and a working tree in
156    a nonstandard location is in use got confused (560fb6a1).
159 exec >/var/tmp/1
160 O=v1.7.2-rc0-60-g2927a50
161 echo O=$(git describe HEAD)
162 git shortlog --no-merges HEAD ^maint ^$O