Fourth batch for 2.3 cycle
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano committed
Jan 7, 2015 at 13:12 UTC
1e6f5b22ad318446500fbd3b94b733eddd5b6414
1 file changed
+82
Documentation/RelNotes/2.3.0.txt
+82
@@ -26,9 +26,19 @@ UI, Workflows & Features
26
* "git am" learned "--message-id" option to copy the message ID of
27
the incoming e-mail to the log message of resulting commit.
28
29
+ * "git clone --reference=<over there>" learned the "--dissociate"
30
+ option to go with it; it borrows objects from the reference object
31
+ store while cloning only to reduce network traffic and then
32
+ dissociates the resulting clone from the reference by performing
33
+ local copies of borrowed objects.
34
+
35
* "git send-email" learned "--transfer-encoding" option to force a
36
non-fault Content-Transfer-Encoding header (e.g. base64).
37
38
+ * "git send-email" normally identifies itself via X-Mailer: header in
39
+ the message it sends out. A new command line flag --no-xmailer
40
+ allows the user to squelch the header.
41
+
42
* "git push" into a repository with a working tree normally refuses
43
to modify the branch that is checked out. The command learned to
44
optionally do an equivalent of "git reset --hard" only when there
@@ -53,9 +63,22 @@ UI, Workflows & Features
63
* "diff-highlight" filter (in contrib/) allows its color output to be
64
customized via configuration variables.
65
66
+ * "git imap-send" learned to take "-v" (verbose) and "-q" (quiet)
67
+ command line options.
68
+
69
+ * "git imap-send" now can be built to use cURL library to talk to
70
+ IMAP servers (if the library is recent enough, of course).
71
+ This allows you to use authenticate method other than CRAM-MD5,
72
+ among other things.
73
+
74
75
Performance, Internal Implementation, Development Support etc.
76
77
+ * Squelched useless compiler warnings on Mac OS X regarding the
78
+ crypto API.
79
+
80
+ * The procedure to generate unicode table has been simplified.
81
+
82
* Some filesystems assign filemodes in a strange way, fooling then
83
automatic "filemode trustability" check done during a new
84
repository creation. The initialization codepath has been hardened
@@ -64,6 +87,9 @@ Performance, Internal Implementation, Development Support etc.
87
* The codepath in "git remote update --prune" to drop many refs has
88
been optimized.
89
90
+ * The API into get_merge_bases*() family of functions was easy to
91
+ misuse, which has been corrected to make it harder to do so.
92
+
93
* Long overdue departure from the assumption that S_IFMT is shared by
94
everybody made in 2005, which was necessary to port to z/OS.
95
@@ -87,10 +113,41 @@ Unless otherwise noted, all the fixes since v2.2 in the maintenance
113
track are contained in this release (see the maintenance releases'
114
notes for details).
115
116
+ * The report from "git checkout" on a branch that builds on another
117
+ local branch by setting its branch.*.merge to branch name (not a
118
+ full refname) incorrectly said that the upstream is gone.
119
+ (merge 05e7368 jc/checkout-local-track-report later to maint).
120
+
121
+ * With The git-prompt support (in contrib/), using the exit status of
122
+ the last command in the prompt, e.g. PS1='$(__git_ps1) $? ', did
123
+ not work well, because the helper function stomped on the exit
124
+ status.
125
+ (merge eb443e3 tf/prompt-preserve-exit-status later to maint).
126
+
127
+
128
* Recent update to "git commit" broke amending an existing commit
129
with bogus author/committer lines without a valid e-mail address.
130
(merge c83a509 jk/commit-date-approxidate later to maint).
131
132
+ * The lockfile API used to get confused which file to clean up when
133
+ the process moved the $cwd after creating a lockfile.
134
+ (merge fa137f6 nd/lockfile-absolute later to maint).
135
+
136
+ * Traditionally we tried to avoid interpreting date strings given by
137
+ the user as future dates, e.g. GIT_COMMITTER_DATE=2014-12-10 when
138
+ used early November 2014 was taken as "October 12, 2014" because it
139
+ is likely that a date in the future, December 10, is a mistake.
140
+ This heuristics has been loosened to allow people to express future
141
+ dates (most notably, --until=<date> may want to be far in the
142
+ future) and we no longer tiebreak by future-ness of the date when
143
+
144
+ (1) ISO-like format is used, and
145
+ (2) the string can make sense interpreted as both y-m-d and y-d-m.
146
+
147
+ Git may still have to use the heuristics to tiebreak between dd/mm/yy
148
+ and mm/dd/yy, though.
149
+ (merge d372395 jk/approxidate-avoid-y-d-m-over-future-dates later to maint).
150
+
151
* Git did not correctly read an overlong refname from a packed refs
152
file.
153
(merge ea41783 jk/read-packed-refs-without-path-max later to maint).
@@ -99,6 +156,14 @@ notes for details).
156
option, which it does not.
157
(merge 0cef4e7 rw/apply-does-not-take-ignore-date later to maint).
158
159
+ * "git add -i" did not notice when the interactive command input
160
+ stream went away and kept asking the same question.
161
+ (merge a8bec7a jk/add-i-read-error later to maint).
162
+
163
+ * "git send-email" did not handle RFC 2047 encoded headers quite
164
+ right.
165
+ (merge ab47e2a rd/send-email-2047-fix later to maint).
166
+
167
* New tag object format validation added in 2.2 showed garbage after
168
a tagname it reported in its error message.
169
(merge a1e920a js/fsck-tag-validation later to maint).
@@ -108,6 +173,23 @@ notes for details).
173
read them correctly.
174
(merge 69216bf jk/for-each-reflog-ent-reverse later to maint).
175
176
+ * "git diff -B -M" after making a new copy B out of an existing file
177
+ A and then editing A extensively ought to report that B was created
178
+ by copying A and A was modified, which is what "git diff -C"
179
+ reports, but it instead said A was renamed to B and A was edited
180
+ heavily in place. This was not just incoherent but also failed to
181
+ apply with "git apply". The report has been corrected to match what
182
+ "git diff -C" produces for this case.
183
+ (merge 6936b58 jc/diff-b-m later to maint).
184
+
185
+ * In files we pre-populate for the user to edit with commented hints,
186
+ a line of hint that is indented with a tab used to show as '#' (or
187
+ any comment char), ' ' (space), and then the hint text that began
188
+ with the tab, which some editors flag as an indentation error (tab
189
+ following space). We now omit the space after the comment char in
190
+ such a case.
191
+ (merge d55aeb7 jc/strbuf-add-lines-avoid-sp-ht-sequence later to maint).
192
+
193
* "git ls-tree" does not support path selection based on negative
194
pathspecs, but did not error out when negative pathspecs are given.
195
(merge f1f6224 nd/ls-tree-pathspec later to maint).