summaryrefslogtreecommitdiff
path: root/Documentation/RelNotes/1.7.2.txt
blob: 15cf01178c1f653230c8f718ef7024b147ecacf9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
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).