What's cooking (2017/09 #06)

Junio C Hamano committed Sep 29, 2017 at 13:32 UTC e8715a443396e46aef11193dd408ec2683051490
1 file changed +390 -354
whats-cooking.txt
+390 -354
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Sep 2017, #05; Tue, 26)
4 -X-master-at: 28996cec80690d2322359d3650a57e8de6e01eb6
5 -X-next-at: 2c7b836f3ab9b78a2baeee97e329e4c1a1e4c005
3 +Subject: What's cooking in git.git (Sep 2017, #06; Fri, 29)
4 +X-master-at: ea220ee40cbb03a63ebad2be902057bf742492fd
5 +X-next-at: c088eec7b5eaefc58ab32b335cb69cb3d5e2cd78
6
7 -What's cooking in git.git (Sep 2017, #05; Tue, 26)
7 +What's cooking in git.git (Sep 2017, #06; Fri, 29)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,20 +12,344 @@ Here are the topics that have been cooking. Commits prefixed with
12 '+' are in 'next'. The ones marked with '.' do not appear in any of
13 the integration branches, but I am still holding onto them.
14
15 -We are at week #8 of this cycle. Quite a many topics that have been
16 -in 'master' are now also merged to 'maint', so perhaps I should tag
17 -2.14.2 soonish.
18 -
15 You can find the changes described here in the integration branches
16 of the repositories listed at
17
18 http://git-blame.blogspot.com/p/git-public-repositories.html
19
20 +--------------------------------------------------
21 +[Graduated to "master"]
22 +
23 +* hn/typofix (2017-09-22) 1 commit
24 + (merged to 'next' on 2017-09-25 at 489ad60f5b)
25 + + submodule.h: typofix
26 +
27 +
28 +* ic/fix-filter-branch-to-handle-tag-without-tagger (2017-09-22) 4 commits
29 + (merged to 'next' on 2017-09-25 at c7550033df)
30 + + filter-branch: use hash-object instead of mktag
31 + + filter-branch: stash away ref map in a branch
32 + + filter-branch: preserve and restore $GIT_AUTHOR_* and $GIT_COMMITTER_*
33 + + filter-branch: reset $GIT_* before cleaning up
34 +
35 + "git filter-branch" cannot reproduce a history with a tag without
36 + the tagger field, which only ancient versions of Git allowed to be
37 + created. This has been corrected.
38 +
39 +
40 +* ik/userdiff-html-h-element-fix (2017-09-24) 1 commit
41 + (merged to 'next' on 2017-09-25 at e3cbe89672)
42 + + userdiff: fix HTML hunk header regexp
43 +
44 + The built-in pattern to detect the "function header" for HTML did
45 + not match <H1>..<H6> elements without any attributes, which has
46 + been fixed.
47 +
48 +
49 +* jc/merge-x-theirs-docfix (2017-09-25) 1 commit
50 + (merged to 'next' on 2017-09-26 at 5a7d954982)
51 + + merge-strategies: avoid implying that "-s theirs" exists
52 +
53 + The documentation for '-X<option>' for merges was misleadingly
54 + written to suggest that "-s theirs" exists, which is not the case.
55 +
56 +
57 +* jk/describe-omit-some-refs (2017-09-17) 1 commit
58 + (merged to 'next' on 2017-09-24 at c373c71279)
59 + + describe: fix matching to actually match all patterns
60 + (this branch is used by mk/describe-match-with-all.)
61 +
62 + "git describe --match" learned to take multiple patterns in v2.13
63 + series, but the feature ignored the patterns after the first one
64 + and did not work at all. This has been fixed.
65 +
66 +
67 +* jk/diff-blob (2017-09-22) 1 commit
68 + (merged to 'next' on 2017-09-25 at 38286c8ff5)
69 + + cat-file: handle NULL object_context.path
70 +
71 + "git cat-file --textconv" started segfaulting recently, which
72 + has been corrected.
73 +
74 +
75 +* jk/doc-read-tree-table-asciidoctor-fix (2017-09-24) 1 commit
76 + (merged to 'next' on 2017-09-25 at 070163b964)
77 + + doc: put literal block delimiter around table
78 +
79 + A docfix.
80 +
81 +
82 +* jk/fallthrough (2017-09-22) 3 commits
83 + (merged to 'next' on 2017-09-25 at ad96c37620)
84 + + consistently use "fallthrough" comments in switches
85 + + curl_trace(): eliminate switch fallthrough
86 + + test-line-buffer: simplify command parsing
87 +
88 + Many codepaths have been updated to squelch -Wimplicit-fallthrough
89 + warnings from Gcc 7 (which is a good code hygiene).
90 +
91 +
92 +* jm/status-ignored-directory-optim (2017-09-19) 1 commit
93 + (merged to 'next' on 2017-09-24 at ca50f5ed41)
94 + + Improve performance of git status --ignored
95 +
96 + "git status --ignored", when noticing that a directory without any
97 + tracked path is ignored, still enumerated all the ignored paths in
98 + the directory, which is unnecessary. The codepath has been
99 + optimized to avoid this overhead.
100 +
101 +
102 +* js/win32-lazyload-dll (2017-09-26) 1 commit
103 + (merged to 'next' on 2017-09-26 at 04577bf1c5)
104 + + Win32: simplify loading of DLL functions
105 +
106 + Add a helper in anticipation for its need in a future topic RSN.
107 +
108 +
109 +* jt/fast-export-copy-modify-fix (2017-09-21) 1 commit
110 + (merged to 'next' on 2017-09-24 at c02bfe1902)
111 + + fast-export: do not copy from modified file
112 +
113 + "git fast-export" with -M/-C option issued "copy" instruction on a
114 + path that is simultaneously modified, which was incorrect.
115 +
116 +
117 +* ks/doc-use-camelcase-for-config-name (2017-09-25) 1 commit
118 + (merged to 'next' on 2017-09-26 at 7b4d2115af)
119 + + doc: camelCase the config variables to improve readability
120 +
121 + Doc update.
122 +
123 +
124 +* ma/leakplugs (2017-09-24) 6 commits
125 + (merged to 'next' on 2017-09-25 at 69d381a96a)
126 + + pack-bitmap[-write]: use `object_array_clear()`, don't leak
127 + + object_array: add and use `object_array_pop()`
128 + + object_array: use `object_array_clear()`, not `free()`
129 + + leak_pending: use `object_array_clear()`, not `free()`
130 + + commit: fix memory leak in `reduce_heads()`
131 + + builtin/commit: fix memory leak in `prepare_index()`
132 +
133 + Memory leaks in various codepaths have been plugged.
134 +
135 +
136 +* mk/describe-match-with-all (2017-09-20) 2 commits
137 + (merged to 'next' on 2017-09-24 at f96d58dd83)
138 + + describe: teach --match to handle branches and remotes
139 + + Merge branch 'jk/describe-omit-some-refs' into mk/describe-match-with-all
140 +
141 + "git describe --match <pattern>" has been taught to play well with
142 + the "--all" option.
143 +
144 +
145 +* mk/diff-delta-avoid-large-offset (2017-08-11) 1 commit
146 + (merged to 'next' on 2017-09-26 at b4983ac027)
147 + + diff-delta: do not allow delta offset truncation
148 +
149 + The delta format used in the packfile cannot reference data at
150 + offset larger than what can be expressed in 4-byte, but the
151 + generator for the data failed to make sure the offset does not
152 + overflow. This has been corrected.
153 +
154 +
155 +* mk/diff-delta-uint-may-be-shorter-than-ulong (2017-08-10) 1 commit
156 + (merged to 'next' on 2017-09-26 at 0ccd9346d7)
157 + + diff-delta: fix encoding size that would not fit in "unsigned int"
158 +
159 + The machinery to create xdelta used in pack files received the
160 + sizes of the data in size_t, but lost the higher bits of them by
161 + storing them in "unsigned int" during the computation, which is
162 + fixed.
163 +
164 +
165 +* rj/no-sign-compare (2017-09-22) 4 commits
166 + (merged to 'next' on 2017-09-25 at 71ee264ce6)
167 + + ALLOC_GROW: avoid -Wsign-compare warnings
168 + + cache.h: hex2chr() - avoid -Wsign-compare warnings
169 + + commit-slab.h: avoid -Wsign-compare warnings
170 + + git-compat-util.h: xsize_t() - avoid -Wsign-compare warnings
171 +
172 + Many codepaths have been updated to squelch -Wsign-compare
173 + warnings.
174 +
175 +
176 +* rs/mailinfo-qp-decode-fix (2017-09-24) 1 commit
177 + (merged to 'next' on 2017-09-25 at d48c594041)
178 + + mailinfo: don't decode invalid =XY quoted-printable sequences
179 +
180 + "git mailinfo" was loose in decoding quoted printable and produced
181 + garbage when the two letters after the equal sign are not
182 + hexadecimal. This has been fixed.
183 +
184 +
185 +* rs/resolve-ref-optional-result (2017-09-24) 3 commits
186 + (merged to 'next' on 2017-09-25 at b0f31228bb)
187 + + refs: pass NULL to resolve_ref_unsafe() if hash is not needed
188 + + refs: pass NULL to refs_resolve_ref_unsafe() if hash is not needed
189 + + refs: make sha1 output parameter of refs_resolve_ref_unsafe() optional
190 +
191 + Code clean-up.
192 +
193 +
194 +* sb/doc-config-submodule-update (2017-09-24) 1 commit
195 + (merged to 'next' on 2017-09-25 at 447014b4ce)
196 + + Documentation/config: clarify the meaning of submodule.<name>.update
197 +
198 +
199 +* sb/merge-commit-msg-hook (2017-09-22) 1 commit
200 + (merged to 'next' on 2017-09-25 at 096e0502a8)
201 + + Documentation/githooks: mention merge in commit-msg hook
202 +
203 + As "git commit" to conclude a conflicted "git merge" honors the
204 + commit-msg hook, "git merge" that records a merge commit that
205 + cleanly auto-merges should, but it didn't.
206 + * sb/merge-commit-msg-hook (2017-09-22) 1 commit
207 + (merged to 'next' on 2017-09-25 at 096e0502a8)
208 + + Documentation/githooks: mention merge in commit-msg hook
209 +
210 + Add documentation for a topic that has recently graduated to the
211 + 'master' branch.
212 +
213 --------------------------------------------------
214 [New Topics]
215
27 -* mr/doc-negative-pathspec (2017-09-25) 1 commit
28 - - docs: improve discoverability of exclude pathspec
216 +* er/fast-import-dump-refs-on-checkpoint (2017-09-29) 2 commits
217 + - SQUASH???
218 + - fast-import: checkpoint: dump branches/tags/marks even if object_count==0
219 +
220 + The checkpoint command "git fast-import" did not flush updates to
221 + refs and marks unless at least one object was created since the
222 + last checkpoint, which has been corrected, as these things can
223 + happen without any new object getting created.
224 +
225 +
226 +* hn/path-ownership-comment (2017-09-27) 2 commits
227 + (merged to 'next' on 2017-09-28 at 7cf8481c29)
228 + + read_gitfile_gently: clarify return value ownership.
229 + + real_path: clarify return value ownership
230 +
231 + Add comment to a few functions that use a short-lived buffer the
232 + caller can peek and copy out of.
233 +
234 + Will merge to 'master'.
235 +
236 +
237 +* hn/string-list-doc (2017-09-27) 1 commit
238 + (merged to 'next' on 2017-09-28 at ffc8f65f4a)
239 + + string-list.h: move documentation from Documentation/api/ into header
240 +
241 + Doc reorg.
242 +
243 + Will merge to 'master'.
244 +
245 +
246 +* hn/submodule-comment (2017-09-26) 1 commit
247 + (merged to 'next' on 2017-09-28 at a071ca3fde)
248 + + submodule.c: describe submodule_to_gitdir() in a new comment
249 +
250 + Will merge to 'master'.
251 +
252 +
253 +* jk/no-optional-locks (2017-09-27) 1 commit
254 + (merged to 'next' on 2017-09-28 at eaffe9c638)
255 + + git: add --no-optional-locks option
256 +
257 + Some commands (most notably "git status") makes an opportunistic
258 + update when performing a read-only operation to help optimize later
259 + operations in the same repository. The new "--no-optional-locks"
260 + option can be passed to Git to disable them.
261 +
262 + Will merge to 'master'.
263 +
264 +
265 +* jk/read-in-full (2017-09-27) 7 commits
266 + (merged to 'next' on 2017-09-28 at 9d109b9233)
267 + + worktree: check the result of read_in_full()
268 + + worktree: use xsize_t to access file size
269 + + distinguish error versus short read from read_in_full()
270 + + avoid looking at errno for short read_in_full() returns
271 + + prefer "!=" when checking read_in_full() result
272 + + notes-merge: drop dead zero-write code
273 + + files-backend: prefer "0" for write_in_full() error check
274 +
275 + Code clean-up to prevent future mistakes by copying and pasting
276 + code that checks the result of read_in_full() function.
277 +
278 + Will merge to 'master'.
279 +
280 +
281 +* jk/validate-headref-fix (2017-09-27) 3 commits
282 + (merged to 'next' on 2017-09-28 at dcea9d16f9)
283 + + validate_headref: use get_oid_hex for detached HEADs
284 + + validate_headref: use skip_prefix for symref parsing
285 + + validate_headref: NUL-terminate HEAD buffer
286 +
287 + Code clean-up.
288 +
289 + Will merge to 'master'.
290 +
291 +
292 +* sb/diff-color-move (2017-09-28) 1 commit
293 + (merged to 'next' on 2017-09-28 at cbdbc741be)
294 + + diff: correct newline in summary for renamed files
295 +
296 + The output from "git diff --summary" was broken in a recent topic
297 + that has been merged to 'master' and lost a LF after reporting of
298 + mode change. This has been fixed.
299 +
300 + Will merge to 'master'.
301 +
302 +
303 +* sb/submodule-diff-header-fix (2017-09-28) 1 commit
304 + (merged to 'next' on 2017-09-28 at 10e0f59303)
305 + + submodule: correct error message for missing commits
306 +
307 + Error message tweak.
308 +
309 + Will merge to 'master'.
310 +
311 +
312 +* sb/test-submodule-update-config (2017-09-27) 1 commit
313 + (merged to 'next' on 2017-09-28 at 497214603c)
314 + + t7406: submodule.<name>.update command must not be run from .gitmodules
315 +
316 + Will merge to 'master'.
317 +
318 +
319 +* ad/doc-markup-fix (2017-09-29) 1 commit
320 + - doc: correct command formatting
321 +
322 + Docfix.
323 +
324 + Will merge to 'next'.
325 +
326 +
327 +* jr/hash-migration-plan-doc (2017-09-28) 1 commit
328 + - technical doc: add a design doc for hash function transition
329 +
330 + Lay out plans for weaning us off of SHA-1.
331 +
332 + Will merge to 'next'.
333 +
334 +
335 +* ot/mru-on-list (2017-09-28) 1 commit
336 + - mru: use double-linked list from list.h
337 +
338 + The first step to getting rid of mru API and using the
339 + doubly-linked list API directly instead.
340 +
341 + Needs review.
342 + Outreachy.
343 +
344 +
345 +* rb/compat-poll-fix (2017-09-29) 1 commit
346 + - poll.c: always set revents, even if to zero
347 +
348 + Backports a moral equivalent of 2015 fix to the poll emulation from
349 + the upstream gnulib to fix occasional breakages on HPE NonStop.
350 +
351 + Needs review.
352 +
353
354 --------------------------------------------------
355 [Stalled]
@@ -84,31 +408,11 @@ of the repositories listed at
408 --------------------------------------------------
409 [Cooking]
410
87 -* sb/merge-commit-msg-hook (2017-09-22) 1 commit
88 - (merged to 'next' on 2017-09-25 at 096e0502a8)
89 - + Documentation/githooks: mention merge in commit-msg hook
90 -
91 - As "git commit" to conclude a conflicted "git merge" honors the
92 - commit-msg hook, "git merge" that records a merge commit that
93 - cleanly auto-merges should, but it didn't.
94 - * sb/merge-commit-msg-hook (2017-09-22) 1 commit
95 - (merged to 'next' on 2017-09-25 at 096e0502a8)
96 - + Documentation/githooks: mention merge in commit-msg hook
411 +* mr/doc-negative-pathspec (2017-09-25) 1 commit
412 + (merged to 'next' on 2017-09-29 at 147bb7ef8b)
413 + + docs: improve discoverability of exclude pathspec
414
98 - Add documentation for a topic that has recently graduated to the
99 - 'master' branch.
100 -
101 - Will merge to 'master'.
102 -
103 -
104 -* jk/describe-omit-some-refs (2017-09-17) 1 commit
105 - (merged to 'next' on 2017-09-24 at c373c71279)
106 - + describe: fix matching to actually match all patterns
107 - (this branch is used by mk/describe-match-with-all.)
108 -
109 - "git describe --match" learned to take multiple patterns in v2.13
110 - series, but the feature ignored the patterns after the first one
111 - and did not work at all. This has been fixed.
415 + Doc updates.
416
417 Will merge to 'master'.
418
@@ -148,11 +452,14 @@ of the repositories listed at
452 into the feature, without affecting the current callers that may not
453 be prepared to accept a guess that is not known to be correct.
454
455 + What's the doneness of this one?
456 +
457
458 * bc/rev-parse-parseopt-fix (2017-09-25) 7 commits
153 - - parse-options: only insert newline in help text if needed
154 - - parse-options: write blank line to correct output stream
155 - - t0040,t1502: Demonstrate parse_options bugs
459 + (merged to 'next' on 2017-09-26 at f3e013eaa4)
460 + + parse-options: only insert newline in help text if needed
461 + + parse-options: write blank line to correct output stream
462 + + t0040,t1502: Demonstrate parse_options bugs
463 (merged to 'next' on 2017-09-24 at e479bce0ff)
464 + git-rebase: don't ignore unexpected command line arguments
465 + rev-parse parseopt: interpret any whitespace as start of help text
@@ -163,7 +470,7 @@ of the repositories listed at
470 option specification that does not have the optional flags (*=?!)
471 correctly, which has been corrected.
472
166 - Will merge to 'next'.
473 + Will merge to 'master'.
474
475
476 * ds/find-unique-abbrev-optim (2017-09-19) 4 commits
@@ -173,127 +480,6 @@ of the repositories listed at
480 - sha1_name: create perf test for find_unique_abbrev()
481
482
176 -* ic/fix-filter-branch-to-handle-tag-without-tagger (2017-09-22) 4 commits
177 - (merged to 'next' on 2017-09-25 at c7550033df)
178 - + filter-branch: use hash-object instead of mktag
179 - + filter-branch: stash away ref map in a branch
180 - + filter-branch: preserve and restore $GIT_AUTHOR_* and $GIT_COMMITTER_*
181 - + filter-branch: reset $GIT_* before cleaning up
182 -
183 - "git filter-branch" cannot reproduce a history with a tag without
184 - the tagger field, which only ancient versions of Git allowed to be
185 - created. This has been corrected.
186 -
187 - Will merge to 'master'.
188 -
189 -
190 -* jm/status-ignored-directory-optim (2017-09-19) 1 commit
191 - (merged to 'next' on 2017-09-24 at ca50f5ed41)
192 - + Improve performance of git status --ignored
193 -
194 - "git status --ignored", when noticing that a directory without any
195 - tracked path is ignored, still enumerated all the ignored paths in
196 - the directory, which is unnecessary. The codepath has been
197 - optimized to avoid this overhead.
198 -
199 - Will merge to 'master'.
200 -
201 -
202 -* js/win32-lazyload-dll (2017-09-20) 1 commit
203 - - Win32: simplify loading of DLL functions
204 -
205 - Add a helper in anticipation for its need in a future topic RSN.
206 -
207 - Expecting a reroll.
208 - cf. <xmqqwp4sk21s.fsf@gitster.mtv.corp.google.com>
209 -
210 -
211 -* ks/doc-use-camelcase-for-config-name (2017-09-25) 1 commit
212 - - doc: camelCase the config variables to improve readability
213 -
214 - Doc update.
215 -
216 - Will merge to 'next'.
217 -
218 -
219 -* mk/describe-match-with-all (2017-09-20) 2 commits
220 - (merged to 'next' on 2017-09-24 at f96d58dd83)
221 - + describe: teach --match to handle branches and remotes
222 - + Merge branch 'jk/describe-omit-some-refs' into mk/describe-match-with-all
223 - (this branch uses jk/describe-omit-some-refs.)
224 -
225 - "git describe --match <pattern>" has been taught to play well with
226 - the "--all" option.
227 -
228 - Will merge to 'master'.
229 -
230 -
231 -* jt/fast-export-copy-modify-fix (2017-09-21) 1 commit
232 - (merged to 'next' on 2017-09-24 at c02bfe1902)
233 - + fast-export: do not copy from modified file
234 -
235 - "git fast-export" with -M/-C option issued "copy" instruction on a
236 - path that is simultaneously modified, which was incorrect.
237 -
238 - Will merge to 'master'.
239 -
240 -
241 -* ma/leakplugs (2017-09-24) 6 commits
242 - (merged to 'next' on 2017-09-25 at 69d381a96a)
243 - + pack-bitmap[-write]: use `object_array_clear()`, don't leak
244 - + object_array: add and use `object_array_pop()`
245 - + object_array: use `object_array_clear()`, not `free()`
246 - + leak_pending: use `object_array_clear()`, not `free()`
247 - + commit: fix memory leak in `reduce_heads()`
248 - + builtin/commit: fix memory leak in `prepare_index()`
249 -
250 - Memory leaks in various codepaths have been plugged.
251 -
252 - Will merge to 'master'.
253 -
254 -
255 -* hn/typofix (2017-09-22) 1 commit
256 - (merged to 'next' on 2017-09-25 at 489ad60f5b)
257 - + submodule.h: typofix
258 -
259 - Will merge to 'master'.
260 -
261 -
262 -* jk/diff-blob (2017-09-22) 1 commit
263 - (merged to 'next' on 2017-09-25 at 38286c8ff5)
264 - + cat-file: handle NULL object_context.path
265 -
266 - "git cat-file --textconv" started segfaulting recently, which
267 - has been corrected.
268 -
269 - Will merge to 'master'.
270 -
271 -
272 -* jk/fallthrough (2017-09-22) 3 commits
273 - (merged to 'next' on 2017-09-25 at ad96c37620)
274 - + consistently use "fallthrough" comments in switches
275 - + curl_trace(): eliminate switch fallthrough
276 - + test-line-buffer: simplify command parsing
277 -
278 - Many codepaths have been updated to squelch -Wimplicit-fallthrough
279 - warnings from Gcc 7 (which is a good code hygiene).
280 -
281 - Will merge to 'master'.
282 -
283 -
284 -* rj/no-sign-compare (2017-09-22) 4 commits
285 - (merged to 'next' on 2017-09-25 at 71ee264ce6)
286 - + ALLOC_GROW: avoid -Wsign-compare warnings
287 - + cache.h: hex2chr() - avoid -Wsign-compare warnings
288 - + commit-slab.h: avoid -Wsign-compare warnings
289 - + git-compat-util.h: xsize_t() - avoid -Wsign-compare warnings
290 -
291 - Many codepaths have been updated to squelch -Wsign-compare
292 - warnings.
293 -
294 - Will merge to 'master'.
295 -
296 -
483 * cc/perf-run-config (2017-09-24) 9 commits
484 - perf: store subsection results in "test-results/$GIT_PERF_SUBSECTION/"
485 - perf/run: show name of rev being built
@@ -308,26 +494,6 @@ of the repositories listed at
494 Needs review.
495
496
311 -* ik/userdiff-html-h-element-fix (2017-09-24) 1 commit
312 - (merged to 'next' on 2017-09-25 at e3cbe89672)
313 - + userdiff: fix HTML hunk header regexp
314 -
315 - The built-in pattern to detect the "function header" for HTML did
316 - not match <H1>..<H6> elements without any attributes, which has
317 - been fixed.
318 -
319 - Will merge to 'master'.
320 -
321 -
322 -* jk/doc-read-tree-table-asciidoctor-fix (2017-09-24) 1 commit
323 - (merged to 'next' on 2017-09-25 at 070163b964)
324 - + doc: put literal block delimiter around table
325 -
326 - A docfix.
327 -
328 - Will merge to 'master'.
329 -
330 -
497 * mg/merge-pre-merge-hook (2017-09-24) 4 commits
498 - t7503: add tests for pre-merge-hook
499 - merge: --no-verify to bypass pre-merge hook
@@ -340,82 +506,23 @@ of the repositories listed at
506 Waiting for review to conclude.
507
508
343 -* rs/mailinfo-qp-decode-fix (2017-09-24) 1 commit
344 - (merged to 'next' on 2017-09-25 at d48c594041)
345 - + mailinfo: don't decode invalid =XY quoted-printable sequences
346 -
347 - "git mailinfo" was loose in decoding quoted printable and produced
348 - garbage when the two letters after the equal sign are not
349 - hexadecimal. This has been fixed.
350 -
351 - Will merge to 'master'.
352 -
353 -
354 -* rs/resolve-ref-optional-result (2017-09-24) 3 commits
355 - (merged to 'next' on 2017-09-25 at b0f31228bb)
356 - + refs: pass NULL to resolve_ref_unsafe() if hash is not needed
357 - + refs: pass NULL to refs_resolve_ref_unsafe() if hash is not needed
358 - + refs: make sha1 output parameter of refs_resolve_ref_unsafe() optional
359 -
360 - Code clean-up.
361 -
362 - Will merge to 'master'.
363 -
364 -
365 -* sb/doc-config-submodule-update (2017-09-24) 1 commit
366 - (merged to 'next' on 2017-09-25 at 447014b4ce)
367 - + Documentation/config: clarify the meaning of submodule.<name>.update
368 -
369 - Will merge to 'master'.
370 -
371 -
372 -* jc/merge-x-theirs-docfix (2017-09-25) 1 commit
373 - - merge-strategies: avoid implying that "-s theirs" exists
374 -
375 - The documentation for '-X<option>' for merges was misleadingly
376 - written to suggest that "-s theirs" exists, which is not the case.
377 -
378 - Will merge to 'next'.
379 -
380 -
509 * js/rebase-i-final (2017-07-27) 10 commits
382 - - rebase -i: rearrange fixup/squash lines using the rebase--helper
383 - - t3415: test fixup with wrapped oneline
384 - - rebase -i: skip unnecessary picks using the rebase--helper
385 - - rebase -i: check for missing commits in the rebase--helper
386 - - t3404: relax rebase.missingCommitsCheck tests
387 - - rebase -i: also expand/collapse the SHA-1s via the rebase--helper
388 - - rebase -i: do not invent onelines when expanding/collapsing SHA-1s
389 - - rebase -i: remove useless indentation
390 - - rebase -i: generate the script via rebase--helper
391 - - t3415: verify that an empty instructionFormat is handled as before
510 + (merged to 'next' on 2017-09-26 at ea3f8f5e11)
511 + + rebase -i: rearrange fixup/squash lines using the rebase--helper
512 + + t3415: test fixup with wrapped oneline
513 + + rebase -i: skip unnecessary picks using the rebase--helper
514 + + rebase -i: check for missing commits in the rebase--helper
515 + + t3404: relax rebase.missingCommitsCheck tests
516 + + rebase -i: also expand/collapse the SHA-1s via the rebase--helper
517 + + rebase -i: do not invent onelines when expanding/collapsing SHA-1s
518 + + rebase -i: remove useless indentation
519 + + rebase -i: generate the script via rebase--helper
520 + + t3415: verify that an empty instructionFormat is handled as before
521
522 The final batch to "git rebase -i" updates to move more code from
523 the shell script to C.
524
396 - Will merge to 'next'.
397 -
398 -
399 -* mk/diff-delta-avoid-large-offset (2017-08-11) 1 commit
400 - - diff-delta: do not allow delta offset truncation
401 -
402 - The delta format used in the packfile cannot reference data at
403 - offset larger than what can be expressed in 4-byte, but the
404 - generator for the data failed to make sure the offset does not
405 - overflow. This has been corrected.
406 -
407 - Will merge to 'next'.
408 -
409 -
410 -* mk/diff-delta-uint-may-be-shorter-than-ulong (2017-08-10) 1 commit
411 - - diff-delta: fix encoding size that would not fit in "unsigned int"
412 -
413 - The machinery to create xdelta used in pack files received the
414 - sizes of the data in size_t, but lost the higher bits of them by
415 - storing them in "unsigned int" during the computation, which is
416 - fixed.
417 -
418 - Will merge to 'next'.
525 + Will merge to 'master'.
526
527
528 * bp/fsmonitor (2017-09-24) 12 commits
@@ -438,7 +545,7 @@ of the repositories listed at
545 Looking mostly ready. Further comments?
546
547
441 -* bw/protocol-v1 (2017-09-21) 9 commits
548 +* bw/protocol-v1 (2017-09-27) 9 commits
549 - i5700: add interop test for protocol transition
550 - http: tell server that the client understands v1
551 - connect: tell server that the client understands v1
@@ -446,46 +553,45 @@ of the repositories listed at
553 - upload-pack, receive-pack: introduce protocol version 1
554 - daemon: recognize hidden request arguments
555 - protocol: introduce protocol extention mechanisms
449 - - connect: die when a capability line comes after a ref
556 - pkt-line: add packet_write function
557 + - connect: in ref advertisement, shallows are last
558
559 A new mechanism to upgrade the wire protocol in place is proposed
560 and demonstrated that it works with the older versions of Git
561 without harming them.
562
456 - Expecting a reroll,
457 - together with Jonathan's update to get_remote_heads()
458 - cf. <20170922201551.15012-1-jonathantanmy@google.com>
459 -
563
564 * mh/mmap-packed-refs (2017-09-25) 21 commits
462 - - packed-backend.c: rename a bunch of things and update comments
463 - - mmapped_ref_iterator: inline into `packed_ref_iterator`
464 - - ref_cache: remove support for storing peeled values
465 - - packed_ref_store: get rid of the `ref_cache` entirely
466 - - ref_store: implement `refs_peel_ref()` generically
467 - - packed_read_raw_ref(): read the reference from the mmapped buffer
468 - - packed_ref_iterator_begin(): iterate using `mmapped_ref_iterator`
469 - - read_packed_refs(): ensure that references are ordered when read
470 - - packed_ref_cache: keep the `packed-refs` file mmapped if possible
471 - - packed-backend.c: reorder some definitions
472 - - mmapped_ref_iterator_advance(): no peeled value for broken refs
473 - - mmapped_ref_iterator: add iterator over a packed-refs file
474 - - packed_ref_cache: remember the file-wide peeling state
475 - - read_packed_refs(): read references with minimal copying
476 - - read_packed_refs(): make parsing of the header line more robust
477 - - read_packed_refs(): only check for a header at the top of the file
478 - - read_packed_refs(): use mmap to read the `packed-refs` file
479 - - die_unterminated_line(), die_invalid_line(): new functions
480 - - packed_ref_cache: add a backlink to the associated `packed_ref_store`
481 - - prefix_ref_iterator: break when we leave the prefix
482 - - ref_iterator: keep track of whether the iterator output is ordered
565 + (merged to 'next' on 2017-09-29 at 3639417666)
566 + + packed-backend.c: rename a bunch of things and update comments
567 + + mmapped_ref_iterator: inline into `packed_ref_iterator`
568 + + ref_cache: remove support for storing peeled values
569 + + packed_ref_store: get rid of the `ref_cache` entirely
570 + + ref_store: implement `refs_peel_ref()` generically
571 + + packed_read_raw_ref(): read the reference from the mmapped buffer
572 + + packed_ref_iterator_begin(): iterate using `mmapped_ref_iterator`
573 + + read_packed_refs(): ensure that references are ordered when read
574 + + packed_ref_cache: keep the `packed-refs` file mmapped if possible
575 + + packed-backend.c: reorder some definitions
576 + + mmapped_ref_iterator_advance(): no peeled value for broken refs
577 + + mmapped_ref_iterator: add iterator over a packed-refs file
578 + + packed_ref_cache: remember the file-wide peeling state
579 + + read_packed_refs(): read references with minimal copying
580 + + read_packed_refs(): make parsing of the header line more robust
581 + + read_packed_refs(): only check for a header at the top of the file
582 + + read_packed_refs(): use mmap to read the `packed-refs` file
583 + + die_unterminated_line(), die_invalid_line(): new functions
584 + + packed_ref_cache: add a backlink to the associated `packed_ref_store`
585 + + prefix_ref_iterator: break when we leave the prefix
586 + + ref_iterator: keep track of whether the iterator output is ordered
587
588 Operations that do not touch (majority of) packed refs have been
589 optimized by making accesses to packed-refs file lazy; we no longer
590 pre-parse everything, and an access to a single ref in the
591 packed-refs does not touch majority of irrelevant refs, either.
592
593 + Will merge to 'master'.
594 +
595
596 * pc/submodule-helper (2017-09-25) 4 commits
597 - submodule: port submodule subcommand 'status' from shell to C
@@ -494,8 +600,7 @@ of the repositories listed at
600 - submodule--helper: introduce get_submodule_displaypath()
601
602 GSoC.
497 -
498 - Looking good; it appeared to me that 3/4 is totally superfluous, though.
603 + Looking better; it appeared to me that 3/4 is totally superfluous, though.
604
605
606 * bc/hash-algo (2017-08-20) 5 commits
@@ -589,82 +694,13 @@ of the repositories listed at
694
695
696 * sd/branch-copy (2017-09-24) 4 commits
592 - - branch: fix "copy" to never touch HEAD
593 - - branch: add a --copy (-c) option to go with --move (-m)
594 - - branch: add test for -m renaming multiple config sections
595 - - config: create a function to format section headers
697 + (merged to 'next' on 2017-09-28 at a6eceefa02)
698 + + branch: fix "copy" to never touch HEAD
699 + + branch: add a --copy (-c) option to go with --move (-m)
700 + + branch: add test for -m renaming multiple config sections
701 + + config: create a function to format section headers
702
703 "git branch" learned "-c/-C" to create and switch to a new branch
704 by copying an existing one.
705
600 - Will merge to 'next'.
601 -
602 ---------------------------------------------------
603 -[Discarded]
604 -
605 -* jc/apply-with-crlf (2017-08-16) 5 commits
606 - . apply: clarify read_old_data() is about no-index case
607 - . apply: localize the CRLF business to read_old_data()
608 - . apply: only pay attention to CRLF in the preimage
609 - . apply: remove unused field apply_state.flags
610 - . apply: file commited with CRLF should roundtrip diff and apply
611 -
612 - This served as an input to updated tb/apply-with-crlf.
613 -
614 -
615 -* jn/per-repo-obj-store (2017-09-07) 39 commits
616 - . pack: allow sha1_loose_object_info to handle arbitrary repositories
617 - . pack: allow map_sha1_file to handle arbitrary repositories
618 - . pack: allow map_sha1_file_1 to handle arbitrary repositories
619 - . pack: allow open_sha1_file to handle arbitrary repositories
620 - . pack: allow stat_sha1_file to handle arbitrary repositories
621 - . pack: allow sha1_file_name to handle arbitrary repositories
622 - . pack: allow reprepare_packed_git to handle arbitrary repositories
623 - . pack: allow prepare_packed_git to handle arbitrary repositories
624 - . pack: allow prepare_packed_git_one to handle arbitrary repositories
625 - . pack: allow prepare_packed_git_mru to handle arbitrary repositories
626 - . pack: allow rearrange_packed_git to handle arbitrary repositories
627 - . pack: allow install_packed_git to handle arbitrary repositories
628 - . object-store: allow foreach_alt_odb to handle arbitrary repositories
629 - . object-store: allow prepare_alt_odb to handle arbitrary repositories
630 - . sha1_file: allow alt_odb_usable to handle arbitrary repositories
631 - . pack: add repository argument to map_sha1_file
632 - . pack: add repository argument to sha1_file_name
633 - . pack: add repository argument to reprepare_packed_git
634 - . pack: add repository argument to prepare_packed_git
635 - . pack: add repository argument to prepare_packed_git_mru
636 - . pack: add repository argument to rearrange_packed_git
637 - . pack: add repository argument to prepare_packed_git_one
638 - . pack: add repository argument to install_packed_git
639 - . object-store: add repository argument to foreach_alt_odb
640 - . object-store: add repository argument to prepare_alt_odb
641 - . sha1_file: add repository argument to sha1_loose_object_info
642 - . sha1_file: add repository argument to map_sha1_file_1
643 - . sha1_file: add repository argument to open_sha1_file
644 - . sha1_file: add repository argument to stat_sha1_file
645 - . sha1_file: add repository argument to link_alt_odb_entries
646 - . sha1_file: add repository argument to read_info_alternates
647 - . sha1_file: add repository argument to link_alt_odb_entry
648 - . sha1_file: add repository argument to alt_odb_usable
649 - . pack: move approximate object count to object store
650 - . pack: move prepare_packed_git_run_once to object store
651 - . object-store: move packed_git and packed_git_mru to object store
652 - . object-store: move alt_odb_list and alt_odb_tail to object store
653 - . repository: introduce object store field
654 - . pack: make packed_git_mru global a value instead of a pointer
655 -
656 - We now can have separate instances of in-core object store per
657 - repository we visit.
658 -
659 - Will be rerolled.
660 -
661 -
662 -* sb/parse-options-blank-line-before-option-list (2017-08-25) 1 commit
663 - - usage_with_options: omit double new line on empty option list
664 -
665 - "git worktree" with no option and no subcommand showed too many
666 - blank lines in its help text, which has been reduced.
667 -
668 - Superseded by bc/rev-parse-parseopt-fix.
669 -
670 -
706 + Will merge to 'master'.