@@ -28,6 +28,34 @@ UI, Workflows & Features
28
28
that they are shown with "remote: " prefix to avoid confusing the
29
29
users.
30
30
31
+ * "git add -i/-p" learned to honor diff.compactionHeuristic
32
+ experimental knob, so that the user can work on the same hunk split
33
+ as "git diff" output.
34
+ (merge 46e3d17 jk/add-i-diff-compact-heuristics later to maint).
35
+
36
+ * "upload-pack" allows a custom "git pack-objects" replacement when
37
+ responding to "fetch/clone" via the uploadpack.packObjectsHook.
38
+ (merge 20b20a2 jk/upload-pack-hook later to maint).
39
+
40
+ * Teach format-patch and mailsplit (hence "am") how a line that
41
+ happens to begin with "From " in the e-mail message is quoted with
42
+ ">", so that these lines can be restored to their original shape.
43
+ (merge d9925d1 ew/mboxrd-format-am later to maint).
44
+
45
+ * "git repack" learned the "--keep-unreachable" option, which sends
46
+ loose unreachable objects to a pack instead of leaving them loose.
47
+ This helps heuristics based on the number of loose objects
48
+ (e.g. "gc --auto").
49
+ (merge e26a8c4 jk/repack-keep-unreachable later to maint).
50
+
51
+ * "log --graph --format=" learned that "%>|(N)" specifies the width
52
+ relative to the terminal's left edge, not relative to the area to
53
+ draw text that is to the right of the ancestry-graph section. It
54
+ also now accepts negative N that means the column limit is relative
55
+ to the right border.
56
+ (merge 066790d nd/graph-width-padded later to maint).
57
+
58
+
31
59
Performance, Internal Implementation, Development Support etc.
32
60
33
61
* "git fast-import" learned the same performance trick to avoid
@@ -48,6 +76,46 @@ Performance, Internal Implementation, Development Support etc.
48
76
be explicitly (re)initialized to make the machinery callable more
49
77
than once.
50
78
79
+ * HTTP transport gained an option to produce more detailed debugging
80
+ trace.
81
+ (merge 73e57aa ep/http-curl-trace later to maint).
82
+
83
+ * Instead of taking advantage of a struct string_list that is
84
+ allocated with all NULs happens to be STRING_LIST_INIT_NODUP kind,
85
+ initialize them explicitly as such, to document their behaviour
86
+ better.
87
+ (merge 2721ce2 jk/string-list-static-init later to maint).
88
+
89
+ * HTTPd tests learned to show the server error log to help diagnosing
90
+ a failing tests.
91
+ (merge 44f243d nd/test-lib-httpd-show-error-log-in-verbose later to maint).
92
+
93
+ * The ownership rule for the piece of memory that hold references to
94
+ be fetched in "git fetch" was screwy, which has been cleaned up.
95
+ (merge b7410f6 km/fetch-do-not-free-remote-name later to maint).
96
+
97
+ * "git bisect" makes an internal call to "git diff-tree" when
98
+ bisection finds the culprit, but this call did not initialize the
99
+ data structure to pass to the diff-tree API correctly.
100
+ (merge 43ec550 jk/bisect-show-tree later to maint).
101
+
102
+ * Further preparatory clean-up for "worktree" feature continues.
103
+ (merge 0409e0b nd/worktree-cleanup-post-head-protection later to maint).
104
+
105
+ * Formats of the various data (and how to validate them) where we use
106
+ GPG signature have been documented.
107
+ (merge cc6ee97 mg/signature-doc later to maint).
108
+
109
+ * A new run-command API function pipe_command() is introduced to
110
+ sanely feed data to the standard input while capturing data from
111
+ the standard output and the standard error of an external process,
112
+ which is cumbersome to hand-roll correctly without deadlocking.
113
+
114
+ The codepath to sign data in a prepared buffer with GPG has been
115
+ updated to use this API to read from the status-fd to check for
116
+ errors (instead of relying on GPG's exit status).
117
+ (merge efee955 jk/gpg-interface-cleanup later to maint).
118
+
51
119
52
120
Also contains various documentation updates and code clean-ups.
53
121
@@ -80,54 +148,81 @@ notes for details).
80
148
* The documentation set has been updated so that literal commands,
81
149
configuration variables and environment variables are consistently
82
150
typeset in fixed-width font and bold in manpages.
83
- (merge ae9f631 tr/doc-tt later to maint).
84
151
85
152
* "git svn propset" subcommand that was added in 2.3 days is
86
153
documented now.
87
- (merge 19a7f24 ap/git-svn-propset-doc later to maint).
88
154
89
155
* The documentation tries to consistently spell "GPG"; when
90
156
referring to the specific program name, "gpg" is used.
91
- (merge bc91316 dn/gpg-doc later to maint).
92
157
93
158
* "git reflog" stopped upon seeing an entry that denotes a branch
94
159
creation event (aka "unborn"), which made it appear as if the
95
160
reflog was truncated.
96
- (merge 71abeb7 sg/reflog-past-root later to maint).
97
161
98
162
* The git-prompt scriptlet (in contrib/) was not friendly with those
99
163
who uses "set -u", which has been fixed.
100
- (merge 34d8f5a vs/prompt-avoid-unset-variable later to maint).
101
164
102
165
* compat/regex code did not cleanly compile.
103
- (merge bd8f005 rj/compat-regex-size-max-fix later to maint).
104
166
105
167
* A codepath that used alloca(3) to place an unbounded amount of data
106
168
on the stack has been updated to avoid doing so.
107
- (merge b8ba412 jk/avoid-unbounded-alloca later to maint).
108
169
109
170
* "git update-index --add --chmod=+x file" may be usable as an escape
110
171
hatch, but not a friendly thing to force for people who do need to
111
172
use it regularly. "git add --chmod=+x file" can be used instead.
112
- (merge 4e55ed3 et/add-chmod-x later to maint).
113
173
114
174
* Build improvements for gnome-keyring (in contrib/)
115
- (merge 3cddb00 nb/gnome-keyring-build later to maint).
116
175
117
176
* "git status" used to say "working directory" when it meant "working
118
177
tree".
119
- (merge 2a0e6cd lv/status-say-working-tree-not-directory later to maint).
120
178
121
179
* Comments about misbehaving FreeBSD shells have been clarified with
122
180
the version number (9.x and before are broken, newer ones are OK).
123
- (merge 9b35cad em/newer-freebsd-shells-are-fine-with-returns later to maint).
124
181
125
182
* "git cherry-pick A" worked on an unborn branch, but "git
126
183
cherry-pick A..B" didn't.
127
- (merge 0f974e2 mg/cherry-pick-multi-on-unborn later to maint).
184
+
185
+ * Fix an unintended regression in v2.9 that breaks "clone --depth"
186
+ that recurses down to submodules by forcing the submodules to also
187
+ be cloned shallowly, which many server instances that host upstream
188
+ of the submodules are not prepared for.
189
+ (merge 18a74a0 sb/clone-shallow-passthru later to maint).
190
+
191
+ * Fix unnecessarily waste in the idiomatic use of ': ${VAR=default}'
192
+ to set the default value, without enclosing it in double quotes.
193
+ (merge 01247e0 lc/shell-default-value-noexpand later to maint).
194
+
195
+ * Some platform-specific code had non-ANSI strict declarations of C
196
+ functions that do not take any parameters, which has been
197
+ corrected.
198
+ (merge 0767172 js/mingw-parameter-less-c-functions later to maint).
199
+
200
+ * The internal code used to show local timezone offset is not
201
+ prepared to handle timestamps beyond year 2100, and gave a
202
+ bogus offset value to the caller. Use a more benign looking
203
+ +0000 instead and let "git log" going in such a case, instead
204
+ of aborting.
205
+ (merge bab7483 jk/tzoffset-fix later to maint).
206
+
207
+ * One among four invocations of readlink(1) in our test suite has
208
+ been rewritten so that the test can run on systems without the
209
+ command (others are in valgrind test framework and t9802).
210
+ (merge d2addc3 ak/t7800-wo-readlink later to maint).
211
+
212
+ * t/perf needs /usr/bin/time with GNU extension; the invocation of it
213
+ is updated to "gtime" on Darwin.
214
+ (merge e3efa94 js/perf-on-apple later to maint).
215
+
216
+ * A bug, which caused "git p4" while running under verbose mode to
217
+ report paths that are omitted due to branch prefix incorrectly, has
218
+ been fixed; the command said "Ignoring file outside of prefix" for
219
+ paths that are _inside_.
220
+ (merge 09667d0 ao/p4-has-branch-prefix-fix later to maint).
128
221
129
222
* Other minor clean-ups and documentation updates
130
- (merge 3a39f61 pc/occurred later to maint).
131
- (merge 9e70233 jk/fetch-prune-doc later to maint).
132
- (merge ed008d7 pb/strbuf-read-file-doc later to maint).
133
- (merge 31da121 jc/deref-tag later to maint).
223
+ (merge e51b0df pb/commit-editmsg-path later to maint).
224
+ (merge b333d0d jk/send-pack-stdio later to maint).
225
+ (merge fcf0fe9 lf/sideband-returns-void later to maint).
226
+ (merge 5819c2e sb/t5614-modernize later to maint).
227
+ (merge fe0537a cb/t7810-test-label-fix later to maint).
228
+ (merge 412b9a1 jc/t2300-setup later to maint).
0 commit comments