Third batch for 2.3 cycle

Signed-off-by: Junio C Hamano <gitster@pobox.com>

Junio C Hamano committed Dec 22, 2014 at 12:43 UTC 2c380e7a8da9bd9a4e40221e36cb68f756d49829
1 file changed +93 -2
Documentation/RelNotes/2.3.0.txt
+93 -2
@@ -6,7 +6,9 @@ Updates since v2.2
6
7 Ports
8
9 - *
9 + * Recent gcc toolchain on Cygwin started throwing compilation warning,
10 + which has been squelched.
11 +
12
13 UI, Workflows & Features
14
@@ -18,10 +20,61 @@ UI, Workflows & Features
20 note from the object but with --allow-empty we will store a
21 (surprise!) note that is empty.
22
23 + * "git interpret-trailers" learned to properly handle the
24 + "Conflicts:" block at the end.
25 +
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 send-email" learned "--transfer-encoding" option to force a
30 + non-fault Content-Transfer-Encoding header (e.g. base64).
31 +
32 + * "git push" into a repository with a working tree normally refuses
33 + to modify the branch that is checked out. The command learned to
34 + optionally do an equivalent of "git reset --hard" only when there
35 + is no change to the working tree and the index instead, which would
36 + be useful to "deploy" by pushing into a repository.
37 +
38 + * "git new-workdir" (in contrib/) can be used to populate an empty
39 + and existing directory now.
40 +
41 + * Credential helpers are asked in turn until one of them give
42 + positive response, which is cumbersome to turn off when you need to
43 + run Git in an automated setting. The credential helper interface
44 + learned to allow a helper to say "stop, don't ask other helpers."
45 + Also GIT_TERMINAL_PROMPT environment can be set to false to disable
46 + our built-in prompt mechanism for passwords.
47 +
48 + * "git branch -d" (delete) and "git branch -m" (move) learned to
49 + honor "-f" (force) flag; unlike many other subcommands, the way to
50 + force these have been with separate "-D/-M" options, which was
51 + inconsistent.
52 +
53 + * "diff-highlight" filter (in contrib/) allows its color output to be
54 + customized via configuration variables.
55 +
56
57 Performance, Internal Implementation, Development Support etc.
58
24 - *
59 + * Some filesystems assign filemodes in a strange way, fooling then
60 + automatic "filemode trustability" check done during a new
61 + repository creation. The initialization codepath has been hardened
62 + against this issue.
63 +
64 + * The codepath in "git remote update --prune" to drop many refs has
65 + been optimized.
66 +
67 + * Long overdue departure from the assumption that S_IFMT is shared by
68 + everybody made in 2005, which was necessary to port to z/OS.
69 +
70 + * "git push" and "git fetch" did not communicate an overlong refname
71 + correctly. Now it uses 64kB sideband to accommodate longer ones.
72 +
73 + * Recent GPG changes the keyring format and drops support for RFC1991
74 + formatted signatures, breaking our existing tests.
75 +
76 + * "git-prompt" (in contrib/) used a variable from the global scope,
77 + possibly contaminating end-user's namespace.
78
79
80 Also contains various documentation updates and code clean-ups.
@@ -34,6 +87,44 @@ Unless otherwise noted, all the fixes since v2.2 in the maintenance
87 track are contained in this release (see the maintenance releases'
88 notes for details).
89
90 + * Recent update to "git commit" broke amending an existing commit
91 + with bogus author/committer lines without a valid e-mail address.
92 + (merge c83a509 jk/commit-date-approxidate later to maint).
93 +
94 + * Git did not correctly read an overlong refname from a packed refs
95 + file.
96 + (merge ea41783 jk/read-packed-refs-without-path-max later to maint).
97 +
98 + * "git apply" was described in the documentation to take --ignore-date
99 + option, which it does not.
100 + (merge 0cef4e7 rw/apply-does-not-take-ignore-date later to maint).
101 +
102 + * New tag object format validation added in 2.2 showed garbage after
103 + a tagname it reported in its error message.
104 + (merge a1e920a js/fsck-tag-validation later to maint).
105 +
106 + * The code that reads the reflog from the newer to the older entries
107 + did not handle an entry that crosses a boundary of block it uses to
108 + read them correctly.
109 + (merge 69216bf jk/for-each-reflog-ent-reverse later to maint).
110 +
111 + * "git ls-tree" does not support path selection based on negative
112 + pathspecs, but did not error out when negative pathspecs are given.
113 + (merge f1f6224 nd/ls-tree-pathspec later to maint).
114 +
115 + * The function sometimes returned a non-freeable memory and some
116 + other times returned a piece of memory that must be freed, leading
117 + to inevitable leaks.
118 + (merge 59362e5 jc/exec-cmd-system-path-leak-fix later to maint).
119 +
120 + * The code to abbreviate an object name to its short unique prefix
121 + has been optimized when no abbreviation was requested.
122 + (merge 61e704e mh/find-uniq-abbrev later to maint).
123 +
124 + * "git add --ignore-errors ..." did not ignore an error to
125 + give a file that did not exist.
126 + (merge 1d31e5a mg/add-ignore-errors later to maint).
127 +
128 * "git checkout $treeish $path", when $path in the index and the
129 working tree already matched what is in $treeish at the $path,
130 still overwrote the $path unnecessarily.