@@ -39,6 +39,13 @@ UI, Workflows & Features
3939 * The logic and data used to compute the display width needed for
4040 UTF-8 strings have been updated to match Unicode 6.3 better.
4141
42+ * HTTP-based transports learned to propagate the error messages from
43+ the webserver better to the client coming over the HTTP transport.
44+
45+ * The "core.preloadindex" configuration variable is by default
46+ enabled, allowing modern platforms to take advantage of the
47+ multiple cores they have.
48+
4249 * "git commit --date=<date>" option learned to read from more
4350 timestamp formats, including "--date=now".
4451
@@ -49,13 +56,20 @@ UI, Workflows & Features
4956 already starts a line in the message being edited for cases like
5057 "git commit --amend".
5158
59+ * "git format-patch" learned --signature-file=<file> to take the mail
60+ signature from.
61+
5262 * "git grep" learned grep.fullname configuration variable to force
5363 "--full-name" to be default. This may cause regressions on
5464 scripted users that do not expect this new behaviour.
5565
5666 * "git imap-send" learned to ask the credential helper for auth
5767 material.
5868
69+ * "git log" and friends now understand the value "auto" set to the
70+ "log.decorate" configuration variable to enable the "--decorate"
71+ option automatically when the output is sent to tty.
72+
5973 * "git merge" without argument, even when there is an upstream
6074 defined for the current branch, refused to run until
6175 merge.defaultToUpstream is set to true. Flip the default of that
@@ -76,6 +90,8 @@ UI, Workflows & Features
7690 users need to explicitly set the variable to 'true' if they want
7791 to resurrect the now-ignored use case.
7892
93+ * "git replace" learned the "--edit" subcommand.
94+
7995 * "git svn" learned to cope with malformed timestamps with only one
8096 digit in the hour part, e.g. 2014-01-07T5:01:02.048176Z, emitted
8197 by some broken subversion server implementations.
@@ -102,6 +118,10 @@ Performance, Internal Implementation, etc.
102118 example, "update-ref --stdin [-z]" has been updated to use this
103119 API.
104120
121+ * Parts of the test scripts can be skipped by using a range notation,
122+ e.g. "sh t1234-test.sh --run='1-4 6 8-'" to omit test piece 5 and 7
123+ and run everything else.
124+
105125
106126Also contains various documentation updates and code clean-ups.
107127
@@ -129,6 +149,27 @@ notes for details).
129149 corrected.
130150 (merge e61a6c1 pb/trim-trailing-spaces later to maint).
131151
152+ * Reworded the error message given upon a failure to open an existing
153+ loose object file due to e.g. permission issues; it was reported as
154+ the object being corrupt, but that is not quite true.
155+ (merge d6c8a05 jk/report-fail-to-read-objects-better later to maint).
156+
157+ * The "%<(10,trunc)%s" pretty format specifier in the log family of
158+ commands is used to truncate the string to a given length (e.g. 10
159+ in the example) with padding to column-align the output, but did
160+ not take into account that number of bytes and number of display
161+ columns are different.
162+ (merge 7d50987 as/pretty-truncate later to maint).
163+
164+ * The "mailmap.file" configuration option did not support the tilde
165+ expansion (i.e. ~user/path and ~/path).
166+ (merge 9352fd5 ow/config-mailmap-pathname later to maint).
167+
168+ * The completion scripts (in contrib/) did not know about quite a few
169+ options that are common between "git merge" and "git pull", and a
170+ couple of options unique to "git merge".
171+ (merge 8fee872 jk/complete-merge-pull later to maint).
172+
132173 * "--ignore-space-change" option of "git apply" ignored the spaces
133174 at the beginning of line too aggressively, which is inconsistent
134175 with the option of the same name "diff" and "git diff" have.
@@ -148,6 +189,22 @@ notes for details).
148189 commit did not have any log message.
149190 (merge 076cbd6 jk/commit-C-pick-empty later to maint).
150191
192+ * "git diff --find-copies-harder" sometimes pretended as if the mode
193+ bits have changed for paths that are marked with assume-unchanged
194+ bit.
195+ (merge 5304810 jk/diff-files-assume-unchanged later to maint).
196+
197+ * "git format-patch" did not enforce the rule that the "--follow"
198+ option from the log/diff family of commands must be used with
199+ exactly one pathspec.
200+ (merge dd63f16 jk/diff-follow-must-take-one-pathspec later to maint).
201+
202+ * "git gc --auto" was recently changed to run in the background to
203+ give control back early to the end-user sitting in front of the
204+ terminal, but it forgot that housekeeping involving reflogs should
205+ be done without other processes competing for accesses to the refs.
206+ (merge 62aad18 nd/daemonize-gc later to maint).
207+
151208 * "git grep -O" to show the lines that hit in the pager did not work
152209 well with case insensitive search. We now spawn "less" with its
153210 "-I" option when it is used as the pager (which is the default).
@@ -171,16 +228,31 @@ notes for details).
171228 except for case differences.
172229 (merge baa37bf dt/merge-recursive-case-insensitive later to maint).
173230
231+ * "git pack-objects" unnecessarily copied the previous contents when
232+ extending the hashtable, even though it will populate the table
233+ from scratch anyway.
234+ (merge fb79947 rs/pack-objects-no-unnecessary-realloc later to maint).
235+
174236 * "git rerere forget" did not work well when merge.conflictstyle
175237 was set to a non-default value.
176238 (merge de3d8bb fc/rerere-conflict-style later to maint).
177239
240+ * "git remote rm" and "git remote prune" can involve removing many
241+ refs at once, which is not a very efficient thing to do when very
242+ many refs exist in the packed-refs file.
243+ (merge e6bea66 jl/remote-rm-prune later to maint).
244+
178245 * "git log --exclude=<glob> --all | git shortlog" worked as expected,
179246 but "git shortlog --exclude=<glob> --all", which is supposed to be
180247 identical to the above pipeline, was not accepted at the command
181248 line argument parser level.
182249 (merge eb07774 jc/shortlog-ref-exclude later to maint).
183250
251+ * The autostash mode of "git rebase -i" did not restore the dirty
252+ working tree state if the user aborted the interactive rebase by
253+ emptying the insn sheet.
254+ (merge ddb5432 rr/rebase-autostash-fix later to maint).
255+
184256 * "git show -s" (i.e. show log message only) used to incorrectly emit
185257 an extra blank line after a merge commit.
186258 (merge ad2f725 mk/show-s-no-extra-blank-line-for-merges later to maint).
@@ -192,6 +264,14 @@ notes for details).
192264 is running. Detect such a race and avoid overwriting the index.
193265 (merge 426ddee ym/fix-opportunistic-index-update-race later to maint).
194266
267+ * "git status" (and "git commit") behaved as if changes in a modified
268+ submodule are not there if submodule.*.ignore configuration is set,
269+ which was misleading. The configuration is only to unclutter diff
270+ output during the course of development, and should not to hide
271+ changes in the "status" output to cause the users forget to commit
272+ them.
273+ (merge c215d3d jl/status-added-submodule-is-never-ignored later to maint).
274+
195275 * "git update-index --cacheinfo" in 2.0 release crashed on a
196276 malformed command line.
197277 (merge c8e1ee4 jc/rev-parse-argh-dashed-multi-words later to maint).
0 commit comments