What's cooking (2018/08 #03)

Junio C Hamano committed Aug 15, 2018 at 16:01 UTC a63be2f9bef440655fa710c2d98cccc75108cbfe
1 file changed +1044 -651
whats-cooking.txt
+1044 -651
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Aug 2018, #02; Mon, 6)
4 -X-master-at: 1d89318c48d233d52f1db230cf622935ac3c69fa
5 -X-next-at: 1932418f4676b98c810dd5182aeba50bbd7c02d4
3 +Subject: What's cooking in git.git (Aug 2018, #03; Wed, 15)
4 +X-master-at: 63749b2dea5d1501ff85bab7b8a7f64911d21dea
5 +X-next-at: a543ac7ca4538799a4ba8d9b2640e17e2fdf406f
6
7 -What's cooking in git.git (Aug 2018, #02; Mon, 6)
7 +What's cooking in git.git (Aug 2018, #03; Wed, 15)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -17,109 +17,759 @@ 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 +* bb/make-developer-pedantic (2018-07-25) 1 commit
24 + (merged to 'next' on 2018-08-02 at c738a84b7e)
25 + + Makefile: add a DEVOPTS flag to get pedantic compilation
26 +
27 + "make DEVELOPER=1 DEVOPTS=pedantic" allows developers to compile
28 + with -pedantic option, which may catch more problematic program
29 + constructs and potential bugs.
30 +
31 +
32 +* bb/redecl-enum-fix (2018-07-26) 1 commit
33 + (merged to 'next' on 2018-08-06 at 828dc4b156)
34 + + packfile: ensure that enum object_type is defined
35 +
36 + Compilation fix.
37 +
38 +
39 +* bw/clone-ref-prefixes (2018-07-20) 1 commit
40 + (merged to 'next' on 2018-08-02 at c8ad140ab0)
41 + + clone: send ref-prefixes when using protocol v2
42 +
43 + The wire-protocol v2 relies on the client to send "ref prefixes" to
44 + limit the bandwidth spent on the initial ref advertisement. "git
45 + clone" when learned to speak v2 forgot to do so, which has been
46 + corrected.
47 +
48 +
49 +* bw/fetch-pack-i18n (2018-07-23) 1 commit
50 + (merged to 'next' on 2018-08-02 at df72001755)
51 + + fetch-pack: mark die strings for translation
52 +
53 + i18n updates.
54 +
55 +
56 +* bw/protocol-v2 (2018-07-24) 1 commit
57 + (merged to 'next' on 2018-08-02 at f4076b3e94)
58 + + pack-protocol: mention and point to docs for protocol v2
59 +
60 + Doc update.
61 +
62 +
63 +* cb/p4-pre-submit-hook (2018-08-01) 1 commit
64 + (merged to 'next' on 2018-08-06 at e40ae4af80)
65 + + git-p4: add the `p4-pre-submit` hook
66 +
67 + "git p4 submit" learns to ask its own pre-submit hook if it should
68 + continue with submitting.
69 +
70 +
71 +* en/merge-recursive-skip-fix (2018-07-27) 2 commits
72 + (merged to 'next' on 2018-08-06 at 9ab321a15c)
73 + + merge-recursive: preserve skip_worktree bit when necessary
74 + + t3507: add a testcase showing failure with sparse checkout
75 +
76 + When the sparse checkout feature is in use, "git cherry-pick" and
77 + other mergy operations lost the skip_worktree bit when a path that
78 + is excluded from checkout requires content level merge, which is
79 + resolved as the same as the HEAD version, without materializing the
80 + merge result in the working tree, which made the path appear as
81 + deleted. This has been corrected by preserving the skip_worktree
82 + bit (and not materializing the file in the working tree).
83 +
84 +
85 +* es/diff-color-moved-fix (2018-07-25) 1 commit
86 + (merged to 'next' on 2018-08-02 at 233bccfbfb)
87 + + diff: --color-moved: rename "dimmed_zebra" to "dimmed-zebra"
88 +
89 + One of the "diff --color-moved" mode "dimmed_zebra" that was named
90 + in an unusual way has been deprecated and replaced by
91 + "dimmed-zebra".
92 +
93 +
94 +* es/mw-to-git-chain-fix (2018-07-31) 1 commit
95 + (merged to 'next' on 2018-08-06 at c10246e1c8)
96 + + mw-to-git/t9360: fix broken &&-chain
97 +
98 + Test fix.
99 +
100 +
101 +* hs/gpgsm (2018-07-20) 7 commits
102 + (merged to 'next' on 2018-08-02 at db28bffe4f)
103 + + gpg-interface t: extend the existing GPG tests with GPGSM
104 + + gpg-interface: introduce new signature format "x509" using gpgsm
105 + + gpg-interface: introduce new config to select per gpg format program
106 + + gpg-interface: do not hardcode the key string len anymore
107 + + gpg-interface: introduce an abstraction for multiple gpg formats
108 + + t/t7510: check the validation of the new config gpg.format
109 + + gpg-interface: add new config to select how to sign a commit
110 +
111 + Teach "git tag -s" etc. a few configuration variables (gpg.format
112 + that can be set to "openpgp" or "x509", and gpg.<format>.program
113 + that is used to specify what program to use to deal with the format)
114 + to allow x.509 certs with CMS via "gpgsm" to be used instead of
115 + openpgp via "gnupg".
116 +
117 +
118 +* jh/json-writer (2018-07-16) 1 commit
119 + (merged to 'next' on 2018-08-02 at d841450c7d)
120 + + json_writer: new routines to create JSON data
121 + (this branch is used by jh/structured-logging.)
122 +
123 + Preparatory code to later add json output for telemetry data.
124 +
125 +
126 +* jk/banned-function (2018-07-26) 5 commits
127 + (merged to 'next' on 2018-08-06 at 3dcd1999df)
128 + + banned.h: mark strncpy() as banned
129 + + banned.h: mark sprintf() as banned
130 + + banned.h: mark strcat() as banned
131 + + automatically ban strcpy()
132 + + Merge branch 'sb/blame-color' into jk/banned-function
133 +
134 + It is too easy to misuse system API functions such as strcat();
135 + these selected functions are now forbidden in this codebase and
136 + will cause a compilation failure.
137 +
138 +
139 +* jk/core-use-replace-refs (2018-07-18) 3 commits
140 + (merged to 'next' on 2018-08-02 at 90fb6b1056)
141 + + add core.usereplacerefs config option
142 + + check_replace_refs: rename to read_replace_refs
143 + + check_replace_refs: fix outdated comment
144 +
145 + A new configuration variable core.usereplacerefs has been added,
146 + primarily to help server installations that want to ignore the
147 + replace mechanism altogether.
148 +
149 +
150 +* jk/size-t (2018-07-24) 6 commits
151 + (merged to 'next' on 2018-08-02 at 6f861e05f0)
152 + + strbuf_humanise: use unsigned variables
153 + + pass st.st_size as hint for strbuf_readlink()
154 + + strbuf_readlink: use ssize_t
155 + + strbuf: use size_t for length in intermediate variables
156 + + reencode_string: use size_t for string lengths
157 + + reencode_string: use st_add/st_mult helpers
158 +
159 + Code clean-up to use size_t/ssize_t when they are the right type.
160 +
161 +
162 +* jk/ui-color-always-to-auto (2018-07-18) 1 commit
163 + (merged to 'next' on 2018-08-02 at 1a054baf0e)
164 + + Documentation: fix --color option formatting
165 +
166 + Doc formatting fix.
167 +
168 +
169 +* jn/subtree-test-fixes (2018-07-30) 2 commits
170 + (merged to 'next' on 2018-08-06 at 62f21c328f)
171 + + subtree test: simplify preparation of expected results
172 + + subtree test: add missing && to &&-chain
173 +
174 + Test fix.
175 +
176 +
177 +* js/t7406-recursive-submodule-update-order-fix (2018-07-23) 1 commit
178 + (merged to 'next' on 2018-08-02 at 217ea36a37)
179 + + t7406: avoid failures solely due to timing issues
180 +
181 + Test fix.
182 +
183 +
184 +* js/vscode (2018-07-30) 9 commits
185 + (merged to 'next' on 2018-08-06 at 5c578b63a8)
186 + + vscode: let cSpell work on commit messages, too
187 + + vscode: add a dictionary for cSpell
188 + + vscode: use 8-space tabs, no trailing ws, etc for Git's source code
189 + + vscode: wrap commit messages at column 72 by default
190 + + vscode: only overwrite C/C++ settings
191 + + mingw: define WIN32 explicitly
192 + + cache.h: extract enum declaration from inside a struct declaration
193 + + vscode: hard-code a couple defines
194 + + contrib: add a script to initialize VS Code configuration
195 +
196 + Add a script (in contrib/) to help users of VSCode work better with
197 + our codebase.
198 +
199 +
200 +* jt/connectivity-check-after-unshallow (2018-08-01) 1 commit
201 + (merged to 'next' on 2018-08-06 at 1932418f46)
202 + + fetch-pack: unify ref in and out param
203 +
204 + "git fetch" sometimes failed to update the remote-tracking refs,
205 + which has been corrected.
206 +
207 +
208 +* jt/tag-following-with-proto-v2-fix (2018-07-24) 2 commits
209 + (merged to 'next' on 2018-08-02 at d9eabdea95)
210 + + fetch: send "refs/tags/" prefix upon CLI refspecs
211 + + t5702: test fetch with multiple refspecs at a time
212 +
213 + The wire-protocol v2 relies on the client to send "ref prefixes" to
214 + limit the bandwidth spent on the initial ref advertisement. "git
215 + fetch $remote branch:branch" that asks tags that point into the
216 + history leading to the "branch" automatically followed sent to
217 + narrow prefix and broke the tag following, which has been fixed.
218 +
219 +
220 +* ms/http-proto-doc (2018-07-30) 1 commit
221 + (merged to 'next' on 2018-08-06 at df1cac9945)
222 + + doc: fix want-capability separator
223 +
224 + Doc fix.
225 +
226 +
227 +* nd/i18n (2018-07-23) 23 commits
228 + (merged to 'next' on 2018-08-02 at 904a22a5d1)
229 + + transport-helper.c: mark more strings for translation
230 + + transport.c: mark more strings for translation
231 + + sha1-file.c: mark more strings for translation
232 + + sequencer.c: mark more strings for translation
233 + + replace-object.c: mark more strings for translation
234 + + refspec.c: mark more strings for translation
235 + + refs.c: mark more strings for translation
236 + + pkt-line.c: mark more strings for translation
237 + + object.c: mark more strings for translation
238 + + exec-cmd.c: mark more strings for translation
239 + + environment.c: mark more strings for translation
240 + + dir.c: mark more strings for translation
241 + + convert.c: mark more strings for translation
242 + + connect.c: mark more strings for translation
243 + + config.c: mark more strings for translation
244 + + commit-graph.c: mark more strings for translation
245 + + builtin/replace.c: mark more strings for translation
246 + + builtin/pack-objects.c: mark more strings for translation
247 + + builtin/grep.c: mark strings for translation
248 + + builtin/config.c: mark more strings for translation
249 + + archive-zip.c: mark more strings for translation
250 + + archive-tar.c: mark more strings for translation
251 + + Update messages in preparation for i18n
252 +
253 + Many more strings are prepared for l10n.
254 +
255 +
256 +* nd/pack-objects-threading-doc (2018-07-30) 1 commit
257 + (merged to 'next' on 2018-08-06 at cc8c305191)
258 + + pack-objects: document about thread synchronization
259 +
260 + Doc fix.
261 +
262 +
263 +* rs/remote-mv-leakfix (2018-08-01) 1 commit
264 + (merged to 'next' on 2018-08-06 at 999fe6d3e5)
265 + + remote: clear string_list after use in mv()
266 +
267 + Leakfix.
268 +
269 +
270 +* sb/histogram-less-memory (2018-07-23) 4 commits
271 + (merged to 'next' on 2018-08-02 at cfb02aa3b5)
272 + + xdiff/histogram: remove tail recursion
273 + + xdiff/xhistogram: move index allocation into find_lcs
274 + + xdiff/xhistogram: factor out memory cleanup into free_index()
275 + + xdiff/xhistogram: pass arguments directly to fall_back_to_classic_diff
276 +
277 + "git diff --histogram" had a bad memory usage pattern, which has
278 + been rearranged to reduce the peak usage.
279 +
280 +
281 +* sb/trailers-docfix (2018-07-20) 1 commit
282 + (merged to 'next' on 2018-08-02 at ba348fafcd)
283 + + Documentation/git-interpret-trailers: explain possible values
284 +
285 + Doc update.
286 +
287 +
288 +* sg/coccicheck-updates (2018-07-23) 5 commits
289 + (merged to 'next' on 2018-08-02 at b5548ff3a9)
290 + + coccinelle: extract dedicated make target to clean Coccinelle's results
291 + + coccinelle: put sane filenames into output patches
292 + + coccinelle: exclude sha1dc source files from static analysis
293 + + coccinelle: use $(addsuffix) in 'coccicheck' make target
294 + + coccinelle: mark the 'coccicheck' make target as .PHONY
295 +
296 + Update the way we use Coccinelle to find out-of-style code that
297 + need to be modernised.
298 +
299 +
300 +* sg/fast-import-dump-refs-on-checkpoint-fix (2018-07-20) 1 commit
301 + (merged to 'next' on 2018-08-02 at f5c05b5a2c)
302 + + t9300: wait for background fast-import process to die after killing it
303 +
304 + Test update.
305 +
306 +
307 +* sg/travis-cocci-diagnose-failure (2018-07-23) 2 commits
308 + (merged to 'next' on 2018-08-02 at 54808a8778)
309 + + travis-ci: fail if Coccinelle static analysis found something to transform
310 + + travis-ci: run Coccinelle static analysis with two parallel jobs
311 +
312 + Update the way we run static analysis tool at TravisCI to make it
313 + easier to use its findings.
314 +
315 +
316 +* sg/travis-retrieve-trash-upon-failure (2018-08-01) 1 commit
317 + (merged to 'next' on 2018-08-06 at d67def2a92)
318 + + travis-ci: include the trash directories of failed tests in the trace log
319 +
320 + The Travis CI scripts were taught to ship back the test data from
321 + failed tests.
322 +
323 --------------------------------------------------
324 [New Topics]
325
23 -* js/rebase-merges-exec-fix (2018-08-06) 2 commits
24 - - rebase --exec: make it work with --rebase-merges
25 - - t3430: demonstrate what -r, --autosquash & --exec should do
326 +* en/t7406-fixes (2018-08-08) 5 commits
327 + (merged to 'next' on 2018-08-15 at c6a740d828)
328 + + t7406: avoid using test_must_fail for commands other than git
329 + + t7406: prefer test_* helper functions to test -[feds]
330 + + t7406: avoid having git commands upstream of a pipe
331 + + t7406: simplify by using diff --name-only instead of diff --raw
332 + + t7406: fix call that was failing for the wrong reason
333
27 - The "--exec" option to "git rebase --rebase-merges" placed the exec
28 - commands at wrong places, which has been corrected.
29 -
30 - cf. <pull.13.v2.git.gitgitgadget@gmail.com>
334 + Test fixes.
335
336 + Will merge to 'master'.
337
33 -* nd/no-extern (2018-08-03) 12 commits
34 - - submodule.h: drop extern from function declaration
35 - - revision.h: drop extern from function declaration
36 - - repository.h: drop extern from function declaration
37 - - rerere.h: drop extern from function declaration
38 - - line-range.h: drop extern from function declaration
39 - - diff.h: remove extern from function declaration
40 - - diffcore.h: drop extern from function declaration
41 - - convert.h: drop 'extern' from function declaration
42 - - cache-tree.h: drop extern from function declaration
43 - - blame.h: drop extern on func declaration
44 - - attr.h: drop extern from function declaration
45 - - apply.h: drop extern on func declaration
338
47 - Noiseword "extern" has been removed from function decls in the
48 - header files.
339 +* en/update-index-doc (2018-08-08) 1 commit
340 + (merged to 'next' on 2018-08-15 at 3ee0ae14dc)
341 + + git-update-index.txt: reword possibly confusing example
342
50 - Will merge to 'next'.
343 + Doc update.
344
345 + Will merge to 'master'.
346
53 -* ar/t4150-am-scissors-test-fix (2018-08-06) 1 commit
54 - - t4150: fix broken test for am --scissors
347
56 - Test fix.
348 +* jc/update-index-doc (2018-08-08) 1 commit
349 + (merged to 'next' on 2018-08-15 at 055994ccca)
350 + + update-index: there no longer is `apply --index-info`
351
58 - Will merge to 'next'.
352 + Doc update.
353 +
354 + Will merge to 'master'.
355
356
61 -* en/t3031-title-fix (2018-08-06) 1 commit
62 - - t3031: update test description to mention desired behavior
357 +* js/typofixes (2018-08-08) 2 commits
358 + (merged to 'next' on 2018-08-15 at ce3932254a)
359 + + remote-curl: remove spurious period
360 + + git-compat-util.h: fix typo
361
64 - Test fix.
362 + Comment update.
363
66 - Will merge to 'next'.
364 + Will merge to 'master'.
365
366
69 -* hn/config-in-code-comment (2018-08-06) 1 commit
70 - - config: document git config getter return value
367 +* jt/repack-promisor-packs (2018-08-09) 2 commits
368 + - repack: repack promisor objects if -a or -A is set
369 + - repack: refactor setup of pack-objects cmd
370
72 - Header update.
371 + After a partial clone, repeated fetches from promisor remote would
372 + have accumulated many packfiles marked with .promisor bit without
373 + getting them coalesced into fewer packfiles, hurting performance.
374 + "git repack" now learned to repack them.
375
376 Will merge to 'next'.
377
378
77 -* jk/diff-rendered-docs (2018-08-06) 1 commit
78 - - add a script to diff rendered documentation
379 +* sk/instaweb-rh-update (2018-08-08) 2 commits
380 + (merged to 'next' on 2018-08-15 at ce5f1115e9)
381 + + git-instaweb: fix apache2 config with apache >= 2.4
382 + + git-instaweb: support Fedora/Red Hat apache module path
383
80 - Developer support to allow the end result of documentation update
81 - to be inspected more easily.
384 + "git instaweb" has been adjusted to run better with newer Apache on
385 + RedHat based distros.
386
83 - Will merge to 'next'.
387 + Will merge to 'master'.
388
389
86 -* js/pull-rebase-type-shorthand (2018-08-06) 1 commit
87 - - pull --rebase=<type>: allow single-letter abbreviations for the type
390 +* ab/submodule-relative-url-tests (2018-08-14) 1 commit
391 + - submodule: add more exhaustive up-path testing
392
89 - "git pull --rebase=interactive" learned "i" as a short-hand for
90 - "interactive".
393 + Test updates.
394
395 Will merge to 'next'.
396
397
95 -* nd/complete-config-vars (2018-08-06) 1 commit
96 - - Makefile: add missing dependency for command-list.h
398 +* ao/submodule-wo-gitmodules-checked-out (2018-08-14) 7 commits
399 + - submodule: support reading .gitmodules even when it's not checked out
400 + - t7506: clean up .gitmodules properly before setting up new scenario
401 + - submodule: use the 'submodule--helper config' command
402 + - submodule--helper: add a new 'config' subcommand
403 + - t7411: be nicer to future tests and really clean things up
404 + - submodule: factor out a config_set_in_gitmodules_file_gently function
405 + - submodule: add a print_config_from_gitmodules() helper
406 +
407 + The submodule support has been updated to read from the blob at
408 + HEAD:.gitmodules when the .gitmodules file is missing from the
409 + working tree.
410 +
411 + I find the design a bit iffy in that our usual "missing in the
412 + working tree? let's use the latest blob" fallback is to take it
413 + from the index, not from the HEAD.
414
98 - Build fix.
415 +
416 +* bw/submodule-name-to-dir (2018-08-10) 2 commits
417 + - submodule: munge paths to submodule git directories
418 + - submodule: create helper to build paths to submodule gitdirs
419 +
420 + In modern repository layout, the real body of a cloned submodule
421 + repository is held in .git/modules/ of the superproject, indexed by
422 + the submodule name. URLencode the submodule name before computing
423 + the name of the directory to make sure they form a flat namespace.
424
425 Will merge to 'next'.
426
427
103 -* nd/config-blame-sort (2018-08-06) 1 commit
104 - - config.txt: reorder blame stuff to keep config keys sorted
428 +* cc/delta-islands (2018-08-10) 8 commits
429 + - pack-objects: move 'layer' into 'struct packing_data'
430 + - pack-objects: move tree_depth into 'struct packing_data'
431 + - t5320: delta islands tests
432 + - repack: add delta-islands support
433 + - pack-objects: add delta-islands support
434 + - pack-objects: refactor code into compute_layer_order()
435 + - Add delta-islands.{c,h}
436 + - packfile: make get_delta_base() non static
437 +
438 + Lift code from GitHub to restrict delta computation so that an
439 + object that exists in one fork is not made into a delta against
440 + another object that does not appear in the same forked repository.
441 +
442 + What's the doneness of this topic?
443 +
444 +
445 +* ds/commit-graph-fsck (2018-08-13) 1 commit
446 + (merged to 'next' on 2018-08-15 at a2f82d3cbd)
447 + + t5318: use 'test_cmp_bin' to compare commit-graph files
448 +
449 + Test fix.
450 +
451 + Will merge to 'master'.
452
106 - Doc fix.
453 +
454 +* en/incl-forward-decl (2018-08-15) 6 commits
455 + - Remove forward declaration of an enum
456 + - compat/precompose_utf8.h: use more common include guard style
457 + - urlmatch.h: fix include guard
458 + - Move definition of enum branch_track from cache.h to branch.h
459 + - alloc: make allocate_alloc_state and clear_alloc_state more consistent
460 + - Add missing includes and forward declarations
461 +
462 + Code hygiene improvement for the header files.
463
464 Will merge to 'next'.
465
466
111 -* wc/make-funnynames-shared-lazy-prereq (2018-08-06) 1 commit
112 - - t: factor out FUNNYNAMES as shared lazy prereq
467 +* es/chain-lint-more (2018-08-13) 6 commits
468 + (merged to 'next' on 2018-08-15 at bb5150ee96)
469 + + chainlint: add test of pathological case which triggered false positive
470 + + chainlint: recognize multi-line quoted strings more robustly
471 + + chainlint: let here-doc and multi-line string commence on same line
472 + + chainlint: recognize multi-line $(...) when command cuddled with "$("
473 + + chainlint: match 'quoted' here-doc tags
474 + + chainlint: match arbitrary here-docs tags rather than hard-coded names
475 +
476 + Improve built-in facility to catch broken &&-chain in the tests.
477 +
478 + Will merge to 'master'.
479 +
480 +
481 +* jc/gpg-status (2018-08-09) 1 commit
482 + (merged to 'next' on 2018-08-15 at 824781761a)
483 + + gpg-interface: propagate exit status from gpg back to the callers
484 +
485 + Will merge to 'master'.
486 +
487 +
488 +* jh/partial-clone-doc (2018-08-15) 1 commit
489 + (merged to 'next' on 2018-08-15 at cf09e8be6a)
490 + + partial-clone: render design doc using asciidoc
491 +
492 + Doc updates.
493 +
494 + Will merge to 'master'.
495 +
496 +
497 +* jk/for-each-object-iteration (2018-08-14) 11 commits
498 + (merged to 'next' on 2018-08-15 at e2558810ff)
499 + + for_each_*_object: move declarations to object-store.h
500 + + cat-file: use a single strbuf for all output
501 + + cat-file: split batch "buf" into two variables
502 + + cat-file: use oidset check-and-insert
503 + + cat-file: support "unordered" output for --batch-all-objects
504 + + cat-file: rename batch_{loose,packed}_object callbacks
505 + + t1006: test cat-file --batch-all-objects with duplicates
506 + + for_each_packed_object: support iterating in pack-order
507 + + for_each_*_object: give more comprehensive docstrings
508 + + for_each_*_object: take flag arguments as enum
509 + + for_each_*_object: store flag definitions in a single location
510 +
511 + The API to iterate over all objects learned to optionally list
512 + objects in the order they appear in packfiles, which helps locality
513 + of access if the caller accesses these objects while as objects are
514 + enumerated.
515 +
516 + Will merge to 'master'.
517 +
518 +
519 +* js/chain-lint-attrfix (2018-08-15) 1 commit
520 + (merged to 'next' on 2018-08-15 at e9ad19a848)
521 + + chainlint: fix for core.autocrlf=true
522 +
523 + Test fix.
524 +
525 + Will merge to 'master'.
526 +
527 +
528 +* js/mingw-o-append (2018-08-13) 1 commit
529 + (merged to 'next' on 2018-08-15 at 284527a0fb)
530 + + mingw: enable atomic O_APPEND
531 +
532 + Among the three codepaths we use O_APPEND to open a file for
533 + appending, one used for writing GIT_TRACE output requires O_APPEND
534 + implementation that behaves sensibly when multiple processes are
535 + writing to the same file. POSIX emulation used in the Windows port
536 + has been updated to improve in this area.
537 +
538 + Will merge to 'master'.
539 +
540 +
541 +* jt/commit-graph-per-object-store (2018-08-13) 1 commit
542 + (merged to 'next' on 2018-08-15 at 5d6db738d8)
543 + + t5318: avoid unnecessary command substitutions
544 +
545 + Test update.
546 +
547 + Will merge to 'master'.
548 +
549 +
550 +* jt/fetch-negotiator-skipping (2018-08-10) 1 commit
551 + (merged to 'next' on 2018-08-15 at 3cf8fa32f5)
552 + + t5552: suppress upload-pack trace output
553 +
554 + Test fix.
555 +
556 + Will merge to 'master'.
557 +
558 +
559 +* md/filter-trees (2018-08-15) 6 commits
560 + - list-objects-filter: implement filter tree:0
561 + - revision: mark non-user-given objects instead
562 + - rev-list: handle missing tree objects properly
563 + - list-objects: always parse trees gently
564 + - list-objects: refactor to process_tree_contents
565 + - list-objects: store common func args in struct
566 +
567 + The "rev-list --filter" feature learned to exclude all trees via
568 + "tree:0" filter.
569 +
570 + Expecting a reroll.
571 +
572 +
573 +* nd/no-the-index (2018-08-13) 24 commits
574 + (merged to 'next' on 2018-08-15 at 41e53dc53b)
575 + + blame.c: remove implicit dependency on the_index
576 + + apply.c: remove implicit dependency on the_index
577 + + apply.c: make init_apply_state() take a struct repository
578 + + apply.c: pass struct apply_state to more functions
579 + + resolve-undo.c: use the right index instead of the_index
580 + + archive-*.c: use the right repository
581 + + archive.c: avoid access to the_index
582 + + grep: use the right index instead of the_index
583 + + attr: remove index from git_attr_set_direction()
584 + + entry.c: use the right index instead of the_index
585 + + submodule.c: use the right index instead of the_index
586 + + pathspec.c: use the right index instead of the_index
587 + + unpack-trees: avoid the_index in verify_absent()
588 + + unpack-trees: convert clear_ce_flags* to avoid the_index
589 + + unpack-trees: don't shadow global var the_index
590 + + unpack-trees: add a note about path invalidation
591 + + unpack-trees: remove 'extern' on function declaration
592 + + ls-files: correct index argument to get_convert_attr_ascii()
593 + + preload-index.c: use the right index instead of the_index
594 + + dir.c: remove an implicit dependency on the_index in pathspec code
595 + + convert.c: remove an implicit dependency on the_index
596 + + attr: remove an implicit dependency on the_index
597 + + cache-tree: wrap the_index based wrappers with #ifdef
598 + + diff.c: move read_index() code back to the caller
599 + (this branch uses nd/no-extern.)
600 +
601 + The more library-ish parts of the codebase learned to work on the
602 + in-core index-state instance that is passed in by their callers,
603 + instead of always working on the singleton "the_index" instance.
604 +
605 + Will merge to 'master'.
606 +
607 +
608 +* ng/mergetool-lose-final-prompt (2018-08-13) 1 commit
609 + (merged to 'next' on 2018-08-15 at f8f7ac365b)
610 + + mergetool: don't suggest to continue after last file
611 +
612 + "git mergetool" stopped and gave an extra prompt to continue after
613 + the last path has been handled, which did not make much sense.
614 +
615 + Will merge to 'master'.
616
114 - A test prerequisite defined by various test scripts with slightly
115 - different sematics has been consolidated into a single copy and
116 - made into a lazily defined one.
617
618 +* ng/status-i-short-for-ignored (2018-08-09) 1 commit
619 + - status: -i shorthand for --ignored command line option
620 +
621 +
622 +* pk/rebase-in-c-2-basic (2018-08-10) 11 commits
623 + - builtin rebase: support `git rebase <upstream> <switch-to>`
624 + - builtin rebase: only store fully-qualified refs in `options.head_name`
625 + - builtin rebase: start a new rebase only if none is in progress
626 + - builtin rebase: support --force-rebase
627 + - builtin rebase: try to fast forward when possible
628 + - builtin rebase: require a clean worktree
629 + - builtin rebase: support the `verbose` and `diffstat` options
630 + - builtin rebase: support --quiet
631 + - builtin rebase: handle the pre-rebase hook (and add --no-verify)
632 + - builtin rebase: support `git rebase --onto A...B`
633 + - builtin rebase: support --onto
634 + (this branch is used by pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final; uses pk/rebase-in-c.)
635 +
636 +
637 +* pk/rebase-in-c-3-acts (2018-08-10) 7 commits
638 + - builtin rebase: stop if `git am` is in progress
639 + - builtin rebase: actions require a rebase in progress
640 + - builtin rebase: support --edit-todo and --show-current-patch
641 + - builtin rebase: support --quit
642 + - builtin rebase: support --abort
643 + - builtin rebase: support --skip
644 + - builtin rebase: support --continue
645 + (this branch is used by pk/rebase-in-c-4-opts, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final; uses pk/rebase-in-c and pk/rebase-in-c-2-basic.)
646 +
647 +
648 +* pk/rebase-in-c-4-opts (2018-08-10) 18 commits
649 + - builtin rebase: support --root
650 + - builtin rebase: add support for custom merge strategies
651 + - builtin rebase: support `fork-point` option
652 + - merge-base --fork-point: extract libified function
653 + - builtin rebase: support --rebase-merges[=[no-]rebase-cousins]
654 + - builtin rebase: support `--allow-empty-message` option
655 + - builtin rebase: support `--exec`
656 + - builtin rebase: support `--autostash` option
657 + - builtin rebase: support `-C` and `--whitespace=<type>`
658 + - builtin rebase: support `--gpg-sign` option
659 + - builtin rebase: support `--autosquash`
660 + - builtin rebase: support `keep-empty` option
661 + - builtin rebase: support `ignore-date` option
662 + - builtin rebase: support `ignore-whitespace` option
663 + - builtin rebase: support --committer-date-is-author-date
664 + - builtin rebase: support --rerere-autoupdate
665 + - builtin rebase: support --signoff
666 + - builtin rebase: allow selecting the rebase "backend"
667 + (this branch is used by pk/rebase-in-c-5-test and pk/rebase-in-c-6-final; uses pk/rebase-in-c, pk/rebase-in-c-2-basic and pk/rebase-in-c-3-acts.)
668 +
669 +
670 +* pk/rebase-in-c-5-test (2018-08-10) 6 commits
671 + - builtin rebase: error out on incompatible option/mode combinations
672 + - builtin rebase: use no-op editor when interactive is "implied"
673 + - builtin rebase: show progress when connected to a terminal
674 + - builtin rebase: fast-forward to onto if it is a proper descendant
675 + - builtin rebase: optionally pass custom reflogs to reset_head()
676 + - builtin rebase: optionally auto-detect the upstream
677 + (this branch is used by pk/rebase-in-c-6-final; uses pk/rebase-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts and pk/rebase-in-c-4-opts.)
678 +
679 +
680 +* pk/rebase-in-c-6-final (2018-08-10) 1 commit
681 + - rebase: default to using the builtin rebase
682 + (this branch uses pk/rebase-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts and pk/rebase-in-c-5-test.)
683 +
684 +
685 +* ps/stash-in-c (2018-08-08) 26 commits
686 + - stash: replace all "git apply" child processes with API calls
687 + - stash: replace all `write-tree` child processes with API calls
688 + - stash: optimize `get_untracked_files()` and `check_changes()`
689 + - stash: convert `stash--helper.c` into `stash.c`
690 + - stash: convert save to builtin
691 + - stash: replace spawning `git ls-files` child process
692 + - stash: add tests for `git stash push -q`
693 + - stash: make push to be quiet
694 + - stash: convert push to builtin
695 + - stash: avoid spawning a "diff-index" process
696 + - stash: replace spawning a "read-tree" process
697 + - stash: convert create to builtin
698 + - stash: convert store to builtin
699 + - stash: update `git stash show` documentation
700 + - stash: refactor `show_stash()` to use the diff API
701 + - stash: change `git stash show` usage text and documentation
702 + - stash: convert show to builtin
703 + - stash: implement the "list" command in the builtin
704 + - stash: convert pop to builtin
705 + - stash: convert branch to builtin
706 + - stash: convert drop and clear to builtin
707 + - stash: convert apply to builtin
708 + - stash: renamed test cases to be more descriptive
709 + - stash: update test cases conform to coding guidelines
710 + - stash: improve option parsing test coverage
711 + - sha1-name.c: added 'get_oidf', which acts like 'get_oid'
712 +
713 +
714 +* pw/rebase-i-squash-number-fix (2018-08-15) 2 commits
715 + - squash??? if this is easier to read
716 + - rebase -i: fix numbering in squash message
717 +
718 + When "git rebase -i" is told to squash two or more commits into
719 + one, it labeled the log message for each commit with its number.
720 + It correctly called the first one "1st commit", but the next one
721 + was "commit #1", which was off-by-one. This has been corrected.
722 +
723 + Will merge to 'next' after dropping the clean-up at the tip.
724 +
725 +
726 +* sb/pull-rebase-submodule (2018-08-14) 1 commit
727 + (merged to 'next' on 2018-08-15 at 07c7b55cc9)
728 + + git-submodule.sh: accept verbose flag in cmd_update to be non-quiet
729 +
730 + "git pull --rebase -v" in a repository with a submodule barfed as
731 + an intermediate process did not understand what "-v(erbose)" flag
732 + meant, which has been fixed.
733
734 + Will merge to 'master'.
735 +
736 +
737 +* sg/t5310-empty-input-fix (2018-08-14) 1 commit
738 + (merged to 'next' on 2018-08-15 at c3c03973a0)
739 + + t5310-pack-bitmaps: fix bogus 'pack-objects to file can use bitmap' test
740 +
741 + Test fix.
742 +
743 + Will merge to 'master'.
744
745 --------------------------------------------------
746 [Stalled]
747
748 +* bp/checkout-new-branch-optim (2018-07-31) 1 commit
749 + - checkout: optimize "git checkout -b <new_branch>"
750 +
751 + "git checkout -b newbranch [HEAD]" should not have to do as much as
752 + checking out a commit different from HEAD. An attempt is made to
753 + optimize this special case.
754 +
755 + So... what is the status of this thing? Is the other "optimize
756 + unpack-trees" effort turning out to be a safer and less hacky way
757 + to achieve similar gain and this no longer is needed?
758 +
759 +
760 +* sl/commit-dry-run-with-short-output-fix (2018-07-30) 4 commits
761 + . commit: fix exit code when doing a dry run
762 + . wt-status: teach wt_status_collect about merges in progress
763 + . wt-status: rename commitable to committable
764 + . t7501: add coverage for flags which imply dry runs
765 +
766 + "git commit --dry-run" gave a correct exit status even during a
767 + conflict resolution toward a merge, but it did not with the
768 + "--short" option, which has been corrected.
769 +
770 + Seems to break 7512, 3404 and 7060 in 'pu'.
771 +
772 +
773 * ma/wrapped-info (2018-05-28) 2 commits
774 - usage: prefix all lines in `vreportf()`, not just the first
775 - usage: extract `prefix_suffix_lines()` from `advise()`
@@ -176,42 +826,151 @@ of the repositories listed at
826 in the thread above---we are still waiting for a reroll.
827
828
179 -* jk/drop-ancient-curl (2017-08-09) 5 commits
180 - - http: #error on too-old curl
181 - - curl: remove ifdef'd code never used with curl >=7.19.4
182 - - http: drop support for curl < 7.19.4
183 - - http: drop support for curl < 7.16.0
184 - - http: drop support for curl < 7.11.1
829 +* jk/drop-ancient-curl (2017-08-09) 5 commits
830 + - http: #error on too-old curl
831 + - curl: remove ifdef'd code never used with curl >=7.19.4
832 + - http: drop support for curl < 7.19.4
833 + - http: drop support for curl < 7.16.0
834 + - http: drop support for curl < 7.11.1
835 +
836 + Some code in http.c that has bitrot is being removed.
837 +
838 + Expecting a reroll.
839 +
840 +
841 +* mk/use-size-t-in-zlib (2017-08-10) 1 commit
842 + . zlib.c: use size_t for size
843 +
844 + The wrapper to call into zlib followed our long tradition to use
845 + "unsigned long" for sizes of regions in memory, which have been
846 + updated to use "size_t".
847 +
848 + Needs resurrecting by making sure the fix is good and still applies
849 + (or adjusted to today's codebase).
850 +
851 +--------------------------------------------------
852 +[Cooking]
853 +
854 +* js/rebase-merges-exec-fix (2018-08-09) 2 commits
855 + (merged to 'next' on 2018-08-15 at 9de975d92d)
856 + + rebase --exec: make it work with --rebase-merges
857 + + t3430: demonstrate what -r, --autosquash & --exec should do
858 +
859 + The "--exec" option to "git rebase --rebase-merges" placed the exec
860 + commands at wrong places, which has been corrected.
861 +
862 + Will merge to 'master'.
863 +
864 +
865 +* nd/no-extern (2018-08-03) 12 commits
866 + (merged to 'next' on 2018-08-08 at bcce75766b)
867 + + submodule.h: drop extern from function declaration
868 + + revision.h: drop extern from function declaration
869 + + repository.h: drop extern from function declaration
870 + + rerere.h: drop extern from function declaration
871 + + line-range.h: drop extern from function declaration
872 + + diff.h: remove extern from function declaration
873 + + diffcore.h: drop extern from function declaration
874 + + convert.h: drop 'extern' from function declaration
875 + + cache-tree.h: drop extern from function declaration
876 + + blame.h: drop extern on func declaration
877 + + attr.h: drop extern from function declaration
878 + + apply.h: drop extern on func declaration
879 + (this branch is used by nd/no-the-index.)
880 +
881 + Noiseword "extern" has been removed from function decls in the
882 + header files.
883 +
884 + Will merge to 'master'.
885 +
886 +
887 +* ar/t4150-am-scissors-test-fix (2018-08-06) 1 commit
888 + (merged to 'next' on 2018-08-08 at e639183205)
889 + + t4150: fix broken test for am --scissors
890 +
891 + Test fix.
892 +
893 + Will merge to 'master'.
894 +
895 +
896 +* en/t3031-title-fix (2018-08-06) 1 commit
897 + (merged to 'next' on 2018-08-08 at 3913b03884)
898 + + t3031: update test description to mention desired behavior
899 +
900 + Test fix.
901 +
902 + Will merge to 'master'.
903 +
904 +
905 +* hn/config-in-code-comment (2018-08-06) 1 commit
906 + (merged to 'next' on 2018-08-08 at 1fae946a0f)
907 + + config: document git config getter return value
908 +
909 + Header update.
910 +
911 + Will merge to 'master'.
912 +
913 +
914 +* jk/diff-rendered-docs (2018-08-06) 1 commit
915 + (merged to 'next' on 2018-08-08 at fe6e1b4dbe)
916 + + add a script to diff rendered documentation
917 +
918 + Developer support to allow the end result of documentation update
919 + to be inspected more easily.
920 +
921 + Will merge to 'master'.
922 +
923 +
924 +* js/pull-rebase-type-shorthand (2018-08-06) 1 commit
925 + (merged to 'next' on 2018-08-08 at 9213756b36)
926 + + pull --rebase=<type>: allow single-letter abbreviations for the type
927 +
928 + "git pull --rebase=interactive" learned "i" as a short-hand for
929 + "interactive".
930 +
931 + Will merge to 'master'.
932 +
933 +
934 +* nd/complete-config-vars (2018-08-06) 1 commit
935 + (merged to 'next' on 2018-08-08 at ffc8e1a3cd)
936 + + Makefile: add missing dependency for command-list.h
937 +
938 + Build fix.
939 +
940 + Will merge to 'master'.
941 +
942 +
943 +* nd/config-blame-sort (2018-08-06) 1 commit
944 + (merged to 'next' on 2018-08-08 at 34ebb9888f)
945 + + config.txt: reorder blame stuff to keep config keys sorted
946
186 - Some code in http.c that has bitrot is being removed.
947 + Doc fix.
948
188 - Expecting a reroll.
949 + Will merge to 'master'.
950
951
191 -* mk/use-size-t-in-zlib (2017-08-10) 1 commit
192 - . zlib.c: use size_t for size
952 +* wc/make-funnynames-shared-lazy-prereq (2018-08-06) 1 commit
953 + - t: factor out FUNNYNAMES as shared lazy prereq
954
194 - The wrapper to call into zlib followed our long tradition to use
195 - "unsigned long" for sizes of regions in memory, which have been
196 - updated to use "size_t".
955 + A test prerequisite defined by various test scripts with slightly
956 + different sematics has been consolidated into a single copy and
957 + made into a lazily defined one.
958
198 - Needs resurrecting by making sure the fix is good and still applies
199 - (or adjusted to today's codebase).
959 + Will merge to 'next'.
960
201 ---------------------------------------------------
202 -[Cooking]
961
962 * ab/fsck-transfer-updates (2018-07-27) 10 commits
205 - - fsck: test and document unknown fsck.<msg-id> values
206 - - fsck: add stress tests for fsck.skipList
207 - - fsck: test & document {fetch,receive}.fsck.* config fallback
208 - - fetch: implement fetch.fsck.*
209 - - transfer.fsckObjects tests: untangle confusing setup
210 - - config doc: elaborate on fetch.fsckObjects security
211 - - config doc: elaborate on what transfer.fsckObjects does
212 - - config doc: unify the description of fsck.* and receive.fsck.*
213 - - config doc: don't describe *.fetchObjects twice
214 - - receive.fsck.<msg-id> tests: remove dead code
963 + (merged to 'next' on 2018-08-08 at d92085269f)
964 + + fsck: test and document unknown fsck.<msg-id> values
965 + + fsck: add stress tests for fsck.skipList
966 + + fsck: test & document {fetch,receive}.fsck.* config fallback
967 + + fetch: implement fetch.fsck.*
968 + + transfer.fsckObjects tests: untangle confusing setup
969 + + config doc: elaborate on fetch.fsckObjects security
970 + + config doc: elaborate on what transfer.fsckObjects does
971 + + config doc: unify the description of fsck.* and receive.fsck.*
972 + + config doc: don't describe *.fetchObjects twice
973 + + receive.fsck.<msg-id> tests: remove dead code
974
975 The test performed at the receiving end of "git push" to prevent
976 bad objects from entering repository can be customized via
@@ -219,155 +978,100 @@ of the repositories listed at
978 counterpart to do the same on the "git fetch" side, with
979 fetch.fsck.* configuration variables.
980
222 - Will merge to 'next'.
981 + Will merge to 'master'.
982
983
984 * ab/test-must-be-empty (2018-07-30) 1 commit
226 - - tests: make use of the test_must_be_empty function
985 + (merged to 'next' on 2018-08-08 at 06599ebd1f)
986 + + tests: make use of the test_must_be_empty function
987
988 Test updates.
989
230 - Will merge to 'next'.
990 + Will merge to 'master'.
991
992
993 * ab/test-must-be-empty-for-master (2018-07-30) 1 commit
234 - - tests: make use of the test_must_be_empty function
994 + (merged to 'next' on 2018-08-15 at 17652a77fb)
995 + + tests: make use of the test_must_be_empty function
996
997 Test updates.
998
238 - Did anybody spot incorrect conversion in this yet?
239 -
240 -
241 -* cb/p4-pre-submit-hook (2018-08-01) 1 commit
242 - (merged to 'next' on 2018-08-06 at e40ae4af80)
243 - + git-p4: add the `p4-pre-submit` hook
244 -
245 - "git p4 submit" learns to ask its own pre-submit hook if it should
246 - continue with submitting.
247 -
999 Will merge to 'master'.
1000
1001
1002 * es/rebase-i-author-script-fix (2018-07-31) 4 commits
252 - - sequencer: don't die() on bogus user-edited timestamp
253 - - sequencer: fix "rebase -i --root" corrupting author header timestamp
254 - - sequencer: fix "rebase -i --root" corrupting author header timezone
255 - - sequencer: fix "rebase -i --root" corrupting author header
1003 + (merged to 'next' on 2018-08-08 at 6b34261b72)
1004 + + sequencer: don't die() on bogus user-edited timestamp
1005 + + sequencer: fix "rebase -i --root" corrupting author header timestamp
1006 + + sequencer: fix "rebase -i --root" corrupting author header timezone
1007 + + sequencer: fix "rebase -i --root" corrupting author header
1008 (this branch is used by pw/rebase-i-author-script-fix.)
1009
1010 The "author-script" file "git rebase -i" creates got broken when
1011 we started to move the command away from shell script, which is
1012 getting fixed now.
1013
262 - Will merge to 'next'.
1014 + Will merge to 'master'.
1015
1016
265 -* hn/highlight-sideband-keywords (2018-08-06) 2 commits
266 - - SQUASH???
267 - - sideband: highlight keywords in remote sideband output
1017 +* hn/highlight-sideband-keywords (2018-08-08) 1 commit
1018 + (merged to 'next' on 2018-08-15 at f8945f3be5)
1019 + + sideband: highlight keywords in remote sideband output
1020
1021 The sideband code learned to optionally paint selected keywords at
1022 the beginning of incoming lines on the receiving end.
1023
272 -
273 -* jn/subtree-test-fixes (2018-07-30) 2 commits
274 - (merged to 'next' on 2018-08-06 at 62f21c328f)
275 - + subtree test: simplify preparation of expected results
276 - + subtree test: add missing && to &&-chain
277 -
278 - Test fix.
279 -
280 - Will merge to 'master'.
281 -
282 -
283 -* ms/http-proto-doc (2018-07-30) 1 commit
284 - (merged to 'next' on 2018-08-06 at df1cac9945)
285 - + doc: fix want-capability separator
286 -
287 - Doc fix.
288 -
289 - Will merge to 'master'.
290 -
291 -
292 -* nd/pack-objects-threading-doc (2018-07-30) 1 commit
293 - (merged to 'next' on 2018-08-06 at cc8c305191)
294 - + pack-objects: document about thread synchronization
295 -
296 - Doc fix.
297 -
1024 Will merge to 'master'.
1025
1026
1027 * sb/indent-heuristic-optim (2018-08-01) 1 commit
302 - - xdiff: reduce indent heuristic overhead
1028 + (merged to 'next' on 2018-08-08 at 539dcc967a)
1029 + + xdiff: reduce indent heuristic overhead
1030
1031 "git diff --indent-heuristic" had a bad corner case performance.
1032
306 - Will merge to 'next'.
1033 + Will merge to 'master'.
1034
1035
1036 * ab/fetch-nego (2018-08-01) 3 commits
310 - - fetch doc: cross-link two new negotiation options
311 - - negotiator: unknown fetch.negotiationAlgorithm should error out
312 - - Merge branch 'jt/fetch-nego-tip' into ab/fetch-nego
1037 + (merged to 'next' on 2018-08-08 at 87662bb344)
1038 + + fetch doc: cross-link two new negotiation options
1039 + + negotiator: unknown fetch.negotiationAlgorithm should error out
1040 + + Merge branch 'jt/fetch-nego-tip' into ab/fetch-nego
1041
1042 Update to a few other topics.
1043
316 - Will merge to 'next'.
317 -
318 -
319 -* ab/fetch-tags-noclobber (2018-07-31) 10 commits
320 - - fetch: stop clobbering existing tags without --force
321 - - pull doc: fix a long-standing grammar error
322 - - fetch tests: add a test clobbering tag behavior
323 - - fetch tests: correct a comment "remove it" -> "remove them"
324 - - push doc: correct lies about how push refspecs work
325 - - push tests: assert re-pushing annotated tags
326 - - push tests: add more testing for forced tag pushing
327 - - push tests: fix logic error in "push" test assertion
328 - - push tests: remove redundant 'git push' invocation
329 - - fetch tests: change "Tag" test tag to "testTag"
330 -
331 - "git fetch" used to apply the same "fast-forward" rule and allow
332 - tags to move without "--force" option, which made little sense,
333 - which has been corrected.
334 -
335 - Expecting a reroll.
336 - cf. <xmqq4lgfcn5a.fsf@gitster-ct.c.googlers.com>
337 - cf. <xmqqzhy7b7v9.fsf@gitster-ct.c.googlers.com>
338 -
339 -
340 -* bp/checkout-new-branch-optim (2018-07-31) 1 commit
341 - - checkout: optimize "git checkout -b <new_branch>"
342 -
343 - "git checkout -b newbranch [HEAD]" should not have to do as much as
344 - checking out a commit different from HEAD. An attempt is made to
345 - optimize this special case.
346 -
347 - Waiting for review comments to be responded.
348 - cf. <CACsJy8DMEMsDnKZc65K-0EJcm2udXZ7OKY=xoFmX4COM0dSH=g@mail.gmail.com>
1044 + Will merge to 'master'.
1045
1046
351 -* es/mw-to-git-chain-fix (2018-07-31) 1 commit
352 - (merged to 'next' on 2018-08-06 at c10246e1c8)
353 - + mw-to-git/t9360: fix broken &&-chain
1047 +* ab/fetch-tags-noclobber (2018-08-13) 7 commits
1048 + (merged to 'next' on 2018-08-15 at eca0ac8afa)
1049 + + pull doc: fix a long-standing grammar error
1050 + + fetch tests: correct a comment "remove it" -> "remove them"
1051 + + push tests: assert re-pushing annotated tags
1052 + + push tests: add more testing for forced tag pushing
1053 + + push tests: fix logic error in "push" test assertion
1054 + + push tests: remove redundant 'git push' invocation
1055 + + fetch tests: change "Tag" test tag to "testTag"
1056
355 - Test fix.
1057 + Test and doc clean-ups.
1058
1059 Will merge to 'master'.
1060
1061
1062 * jk/merge-subtree-heuristics (2018-08-02) 1 commit
361 - - score_trees(): fix iteration over trees with missing entries
1063 + (merged to 'next' on 2018-08-08 at 5126c2d717)
1064 + + score_trees(): fix iteration over trees with missing entries
1065
1066 The automatic tree-matching in "git merge -s subtree" was broken 5
1067 years ago and nobody has noticed since then, which is now fixed.
1068
366 - Will merge to 'next'.
1069 + Will merge to 'master'.
1070
1071
1072 * jt/refspec-dwim-precedence-fix (2018-08-02) 1 commit
370 - - remote: make refspec follow the same disambiguation rule as local refs
1073 + (merged to 'next' on 2018-08-08 at 34d0484d3a)
1074 + + remote: make refspec follow the same disambiguation rule as local refs
1075
1076 "git fetch $there refs/heads/s" ought to fetch the tip of the
1077 branch 's', but when "refs/heads/refs/heads/s", i.e. a branch whose
@@ -375,10 +1079,11 @@ of the repositories listed at
1079 instead by mistake. This has been corrected to honor the usual
1080 disambiguation rules for abbreviated refnames.
1081
378 - Will merge to 'next'.
1082 + Will merge to 'master'.
1083
1084
381 -* nd/clone-case-smashing-warning (2018-07-31) 1 commit
1085 +* nd/clone-case-smashing-warning (2018-08-14) 2 commits
1086 + - mark_colliding_entries(): fix incorrect #if...#endif guard
1087 - clone: report duplicate entries on case-insensitive filesystems
1088
1089 Running "git clone" against a project that contain two files with
@@ -387,19 +1092,16 @@ of the repositories listed at
1092 underlying filesystem is incapable of holding both at the same
1093 time. An attempt is made to detect such a case and warn.
1094
390 - Discussion getting petered out.
391 - Doing this portably and extending it to UTF-8 normalization issue
392 - HFS+ has would be costly.
1095 + Expecting a new round of discussion.
1096 + cf. <20180815190816.GA26521@tor.lan>
1097
394 - cf. <20180728095659.GA21450@sigill.intra.peff.net>
395 - cf. <xmqq1sbh7phx.fsf@gitster-ct.c.googlers.com>
1098
397 -
398 -* nd/unpack-trees-with-cache-tree (2018-08-06) 4 commits
399 - - unpack-trees: cheaper index update when walking by cache-tree
1099 +* nd/unpack-trees-with-cache-tree (2018-08-13) 5 commits
1100 + - unpack-trees: reuse (still valid) cache-tree from src_index
1101 - unpack-trees: reduce malloc in cache-tree walk
1102 - unpack-trees: optimize walking same trees with cache-tree
1103 - unpack-trees: add performance tracing
1104 + - trace.h: support nested performance tracing
1105
1106 The unpack_trees() API used in checking out a branch and merging
1107 walks one or more trees along with the index. When the cache-tree
@@ -409,17 +1111,10 @@ of the repositories listed at
1111 open tree objects recursively and listing their entries, the walk
1112 can be optimized, which is done in this topic.
1113
412 -
413 -* rs/remote-mv-leakfix (2018-08-01) 1 commit
414 - (merged to 'next' on 2018-08-06 at 999fe6d3e5)
415 - + remote: clear string_list after use in mv()
416 -
417 - Leakfix.
418 -
419 - Will merge to 'master'.
1114 + Will merge to and cook in 'next'.
1115
1116
422 -* sb/config-write-fix (2018-08-01) 3 commits
1117 +* sb/config-write-fix (2018-08-08) 3 commits
1118 - git-config: document accidental multi-line setting in deprecated syntax
1119 - config: fix case sensitive subsection names on writing
1120 - t1300: document current behavior of setting options
@@ -431,10 +1126,9 @@ of the repositories listed at
1126 cf. <CAGZ79kZ1R8sxmtfgPOQcpoWM7GWV1qiRaqMq_zhGyKBB3ARLjg@mail.gmail.com>
1127
1128
434 -* sb/range-diff-colors (2018-08-01) 9 commits
435 - - fixup! t3206: add color test for range-diff --dual-color
1129 +* sb/range-diff-colors (2018-08-14) 8 commits
1130 - diff.c: rewrite emit_line_0 more understandably
437 - - diff.c: compute reverse locally in emit_line_0
1131 + - diff.c: omit check for line prefix in emit_line_0
1132 - diff: use emit_line_0 once per line
1133 - diff.c: add set_sign to emit_line_0
1134 - diff.c: reorder arguments for emit_line_ws_markup
@@ -443,6 +1137,9 @@ of the repositories listed at
1137 - test_decode_color: understand FAINT and ITALIC
1138 (this branch uses js/range-diff; is tangled with es/format-patch-rangediff.)
1139
1140 + The color output support for recently introduced "range-diff"
1141 + command got tweaked a bit.
1142 +
1143
1144 * sg/t1404-update-ref-test-timeout (2018-08-01) 1 commit
1145 - t1404: increase core.packedRefsTimeout to avoid occasional test failure
@@ -450,45 +1147,27 @@ of the repositories listed at
1147 An attempt to unflake a test a bit.
1148
1149
453 -* sg/travis-retrieve-trash-upon-failure (2018-08-01) 1 commit
454 - (merged to 'next' on 2018-08-06 at d67def2a92)
455 - + travis-ci: include the trash directories of failed tests in the trace log
456 -
457 - The Travis CI scripts were taught to ship back the test data from
458 - failed tests.
459 -
460 - Will merge to 'master'.
461 -
462 -
463 -* jt/connectivity-check-after-unshallow (2018-08-01) 1 commit
464 - (merged to 'next' on 2018-08-06 at 1932418f46)
465 - + fetch-pack: unify ref in and out param
466 -
467 - "git fetch" sometimes failed to update the remote-tracking refs,
468 - which has been corrected.
469 -
470 - Will merge to 'master'.
471 -
472 -
1150 * ab/sha1dc (2018-08-02) 1 commit
474 - - sha1dc: update from upstream
1151 + (merged to 'next' on 2018-08-08 at 920c190941)
1152 + + sha1dc: update from upstream
1153
476 - AIX portability update for SHADC hash, imported from upstream.
1154 + AIX portability update for SHA1DC hash, imported from upstream.
1155
478 - Will merge to 'next'.
1156 + Will merge to 'master'.
1157
1158
1159 * es/want-color-fd-defensive (2018-08-03) 1 commit
482 - - color: protect against out-of-bounds reads and writes
1160 + (merged to 'next' on 2018-08-08 at a11d90d26f)
1161 + + color: protect against out-of-bounds reads and writes
1162
1163 Futureproofing a helper function that can easily misused.
1164
486 - Will merge to 'next'.
1165 + Will merge to 'master'.
1166
1167
489 -* pw/rebase-i-author-script-fix (2018-08-02) 2 commits
1168 +* pw/rebase-i-author-script-fix (2018-08-07) 2 commits
1169 - sequencer: fix quoting in write_author_script
491 - - sequencer: handle errors in read_author_ident()
1170 + - sequencer: handle errors from read_author_ident()
1171 (this branch uses es/rebase-i-author-script-fix.)
1172
1173 Recent "git rebase -i" update started to write bogusly formatted
@@ -501,13 +1180,14 @@ of the repositories listed at
1180
1181
1182 * rs/parse-opt-lithelp (2018-08-03) 7 commits
504 - - parse-options: automatically infer PARSE_OPT_LITERAL_ARGHELP
505 - - shortlog: correct option help for -w
506 - - send-pack: specify --force-with-lease argument help explicitly
507 - - pack-objects: specify --index-version argument help explicitly
508 - - difftool: remove angular brackets from argument help
509 - - add, update-index: fix --chmod argument help
510 - - push: use PARSE_OPT_LITERAL_ARGHELP instead of unbalanced brackets
1183 + (merged to 'next' on 2018-08-08 at 3a4e0142fe)
1184 + + parse-options: automatically infer PARSE_OPT_LITERAL_ARGHELP
1185 + + shortlog: correct option help for -w
1186 + + send-pack: specify --force-with-lease argument help explicitly
1187 + + pack-objects: specify --index-version argument help explicitly
1188 + + difftool: remove angular brackets from argument help
1189 + + add, update-index: fix --chmod argument help
1190 + + push: use PARSE_OPT_LITERAL_ARGHELP instead of unbalanced brackets
1191
1192 The parse-options machinery learned to refrain from enclosing
1193 placeholder string inside a "<bra" and "ket>" pair automatically
@@ -515,17 +1195,6 @@ of the repositories listed at
1195 arguments that are not formatted correctly have been identified and
1196 fixed.
1197
518 - Will merge to 'next'.
519 -
520 -
521 -* es/diff-color-moved-fix (2018-07-25) 1 commit
522 - (merged to 'next' on 2018-08-02 at 233bccfbfb)
523 - + diff: --color-moved: rename "dimmed_zebra" to "dimmed-zebra"
524 -
525 - One of the "diff --color-moved" mode "dimmed_zebra" that was named
526 - in an unusual way has been deprecated and replaced by
527 - "dimmed-zebra".
528 -
1198 Will merge to 'master'.
1199
1200
@@ -535,146 +1204,51 @@ of the repositories listed at
1204 - add -p: select modified lines correctly
1205 - add -p: select individual hunk lines
1206
538 - "git add -p" interactive interface learned to let users choose
539 - individual added/removed lines to be used in the operation, instead
540 - of accepting or rejecting a whole hunk.
541 -
542 - Will hold.
543 - cf. <d622a95b-7302-43d4-4ec9-b2cf3388c653@talktalk.net>
544 - I found the feature to be hard to explain, and may result in more
545 - end-user complaints, but let's see.
546 -
547 -
548 -* mk/http-backend-content-length (2018-07-30) 4 commits
549 - - t5562: avoid non-portable "export FOO=bar" construct
550 - - http-backend: respect CONTENT_LENGTH for receive-pack
551 - - http-backend: respect CONTENT_LENGTH as specified by rfc3875
552 - - http-backend: cleanup writing to child process
553 -
554 - The http-backend (used for smart-http transport) used to slurp the
555 - whole input until EOF, without paying attention to CONTENT_LENGTH
556 - that is supplied in the environment and instead expecting the Web
557 - server to close the input stream. This has been fixed.
558 -
559 - Will merge to 'next'.
560 -
561 -
562 -* ds/commit-graph-with-grafts (2018-07-19) 8 commits
563 - (merged to 'next' on 2018-08-02 at 0ee624e329)
564 - + commit-graph: close_commit_graph before shallow walk
565 - + commit-graph: not compatible with uninitialized repo
566 - + commit-graph: not compatible with grafts
567 - + commit-graph: not compatible with replace objects
568 - + test-repository: properly init repo
569 - + commit-graph: update design document
570 - + refs.c: upgrade for_each_replace_ref to be a each_repo_ref_fn callback
571 - + refs.c: migrate internal ref iteration to pass thru repository argument
572 -
573 - The recently introduced commit-graph auxiliary data is incompatible
574 - with mechanisms such as replace & grafts that "breaks" immutable
575 - nature of the object reference relationship. Disable optimizations
576 - based on its use (and updating existing commit-graph) when these
577 - incompatible features are in use in the repository.
578 -
579 - Will cook in 'next'.
580 -
581 -
582 -* jk/core-use-replace-refs (2018-07-18) 3 commits
583 - (merged to 'next' on 2018-08-02 at 90fb6b1056)
584 - + add core.usereplacerefs config option
585 - + check_replace_refs: rename to read_replace_refs
586 - + check_replace_refs: fix outdated comment
587 -
588 - A new configuration variable core.usereplacerefs has been added,
589 - primarily to help server installations that want to ignore the
590 - replace mechanism altogether.
591 -
592 - Will merge to 'master'.
593 -
594 -
595 -* nd/i18n (2018-07-23) 23 commits
596 - (merged to 'next' on 2018-08-02 at 904a22a5d1)
597 - + transport-helper.c: mark more strings for translation
598 - + transport.c: mark more strings for translation
599 - + sha1-file.c: mark more strings for translation
600 - + sequencer.c: mark more strings for translation
601 - + replace-object.c: mark more strings for translation
602 - + refspec.c: mark more strings for translation
603 - + refs.c: mark more strings for translation
604 - + pkt-line.c: mark more strings for translation
605 - + object.c: mark more strings for translation
606 - + exec-cmd.c: mark more strings for translation
607 - + environment.c: mark more strings for translation
608 - + dir.c: mark more strings for translation
609 - + convert.c: mark more strings for translation
610 - + connect.c: mark more strings for translation
611 - + config.c: mark more strings for translation
612 - + commit-graph.c: mark more strings for translation
613 - + builtin/replace.c: mark more strings for translation
614 - + builtin/pack-objects.c: mark more strings for translation
615 - + builtin/grep.c: mark strings for translation
616 - + builtin/config.c: mark more strings for translation
617 - + archive-zip.c: mark more strings for translation
618 - + archive-tar.c: mark more strings for translation
619 - + Update messages in preparation for i18n
620 -
621 - Many more strings are prepared for l10n.
622 -
623 - Will merge to 'master'.
624 -
625 -
626 -* sb/histogram-less-memory (2018-07-23) 4 commits
627 - (merged to 'next' on 2018-08-02 at cfb02aa3b5)
628 - + xdiff/histogram: remove tail recursion
629 - + xdiff/xhistogram: move index allocation into find_lcs
630 - + xdiff/xhistogram: factor out memory cleanup into free_index()
631 - + xdiff/xhistogram: pass arguments directly to fall_back_to_classic_diff
632 -
633 - "git diff --histogram" had a bad memory usage pattern, which has
634 - been rearranged to reduce the peak usage.
635 -
636 - Will merge to 'master'.
637 -
638 -
639 -* bb/make-developer-pedantic (2018-07-25) 1 commit
640 - (merged to 'next' on 2018-08-02 at c738a84b7e)
641 - + Makefile: add a DEVOPTS flag to get pedantic compilation
642 -
643 - "make DEVELOPER=1 DEVOPTS=pedantic" allows developers to compile
644 - with -pedantic option, which may catch more problematic program
645 - constructs and potential bugs.
646 -
647 - Will merge to 'master'.
648 -
649 -
650 -* bw/clone-ref-prefixes (2018-07-20) 1 commit
651 - (merged to 'next' on 2018-08-02 at c8ad140ab0)
652 - + clone: send ref-prefixes when using protocol v2
653 -
654 - The wire-protocol v2 relies on the client to send "ref prefixes" to
655 - limit the bandwidth spent on the initial ref advertisement. "git
656 - clone" when learned to speak v2 forgot to do so, which has been
657 - corrected.
1207 + "git add -p" interactive interface learned to let users choose
1208 + individual added/removed lines to be used in the operation, instead
1209 + of accepting or rejecting a whole hunk.
1210
659 - Will merge to 'master'.
1211 + Will hold.
1212 + cf. <d622a95b-7302-43d4-4ec9-b2cf3388c653@talktalk.net>
1213 + I found the feature to be hard to explain, and may result in more
1214 + end-user complaints, but let's see.
1215
1216
662 -* bw/fetch-pack-i18n (2018-07-23) 1 commit
663 - (merged to 'next' on 2018-08-02 at df72001755)
664 - + fetch-pack: mark die strings for translation
1217 +* mk/http-backend-content-length (2018-07-30) 4 commits
1218 + (merged to 'next' on 2018-08-08 at 0091062ec4)
1219 + + t5562: avoid non-portable "export FOO=bar" construct
1220 + + http-backend: respect CONTENT_LENGTH for receive-pack
1221 + + http-backend: respect CONTENT_LENGTH as specified by rfc3875
1222 + + http-backend: cleanup writing to child process
1223
666 - i18n updates.
1224 + The http-backend (used for smart-http transport) used to slurp the
1225 + whole input until EOF, without paying attention to CONTENT_LENGTH
1226 + that is supplied in the environment and instead expecting the Web
1227 + server to close the input stream. This has been fixed.
1228
1229 Will merge to 'master'.
1230
1231
671 -* bw/protocol-v2 (2018-07-24) 1 commit
672 - (merged to 'next' on 2018-08-02 at f4076b3e94)
673 - + pack-protocol: mention and point to docs for protocol v2
1232 +* ds/commit-graph-with-grafts (2018-07-19) 8 commits
1233 + (merged to 'next' on 2018-08-02 at 0ee624e329)
1234 + + commit-graph: close_commit_graph before shallow walk
1235 + + commit-graph: not compatible with uninitialized repo
1236 + + commit-graph: not compatible with grafts
1237 + + commit-graph: not compatible with replace objects
1238 + + test-repository: properly init repo
1239 + + commit-graph: update design document
1240 + + refs.c: upgrade for_each_replace_ref to be a each_repo_ref_fn callback
1241 + + refs.c: migrate internal ref iteration to pass thru repository argument
1242
675 - Doc update.
1243 + The recently introduced commit-graph auxiliary data is incompatible
1244 + with mechanisms such as replace & grafts that "breaks" immutable
1245 + nature of the object reference relationship. Disable optimizations
1246 + based on its use (and updating existing commit-graph) when these
1247 + incompatible features are in use in the repository.
1248
677 - Will merge to 'master'.
1249 + Perhaps eject and replace with another reroll when it comes.
1250 + cf. <a3640919-95cf-cca4-d552-4715a031dd7f@gmail.com>
1251 + cf. <86bmap7l7a.fsf@gmail.com>
1252
1253
1254 * ds/reachable (2018-07-20) 18 commits
@@ -704,22 +1278,6 @@ of the repositories listed at
1278 Will merge to and cook in 'next'.
1279
1280
707 -* en/merge-recursive-skip-fix (2018-07-27) 2 commits
708 - (merged to 'next' on 2018-08-06 at 9ab321a15c)
709 - + merge-recursive: preserve skip_worktree bit when necessary
710 - + t3507: add a testcase showing failure with sparse checkout
711 -
712 - When the sparse checkout feature is in use, "git cherry-pick" and
713 - other mergy operations lost the skip_worktree bit when a path that
714 - is excluded from checkout requires content level merge, which is
715 - resolved as the same as the HEAD version, without materializing the
716 - merge result in the working tree, which made the path appear as
717 - deleted. This has been corrected by preserving the skip_worktree
718 - bit (and not materializing the file in the working tree).
719 -
720 - Will merge to 'master'.
721 -
722 -
1281 * es/format-patch-interdiff (2018-07-23) 6 commits
1282 - format-patch: allow --interdiff to apply to a lone-patch
1283 - log-tree: show_log: make commentary block delimiting reusable
@@ -737,7 +1295,7 @@ of the repositories listed at
1295 cf. <CAPig+cSuYUYSPTuKx08wcmQM-G12_-W2T4BS07fA=6grM1b8Gw@mail.gmail.com>
1296
1297
740 -* es/format-patch-rangediff (2018-07-30) 10 commits
1298 +* es/format-patch-rangediff (2018-08-14) 10 commits
1299 - format-patch: allow --range-diff to apply to a lone-patch
1300 - format-patch: add --creation-factor tweak for --range-diff
1301 - format-patch: teach --range-diff to respect -v/--reroll-count
@@ -757,76 +1315,6 @@ of the repositories listed at
1315 Need to wait for the prereq topics to solidify a bit more.
1316
1317
760 -* jk/banned-function (2018-07-26) 5 commits
761 - (merged to 'next' on 2018-08-06 at 3dcd1999df)
762 - + banned.h: mark strncpy() as banned
763 - + banned.h: mark sprintf() as banned
764 - + banned.h: mark strcat() as banned
765 - + automatically ban strcpy()
766 - + Merge branch 'sb/blame-color' into jk/banned-function
767 -
768 - It is too easy to misuse system API functions such as strcat();
769 - these selected functions are now forbidden in this codebase and
770 - will cause a compilation failure.
771 -
772 - Will merge to 'master'.
773 -
774 -
775 -* jk/size-t (2018-07-24) 6 commits
776 - (merged to 'next' on 2018-08-02 at 6f861e05f0)
777 - + strbuf_humanise: use unsigned variables
778 - + pass st.st_size as hint for strbuf_readlink()
779 - + strbuf_readlink: use ssize_t
780 - + strbuf: use size_t for length in intermediate variables
781 - + reencode_string: use size_t for string lengths
782 - + reencode_string: use st_add/st_mult helpers
783 -
784 - Code clean-up to use size_t/ssize_t when they are the right type.
785 -
786 - Will merge to 'master'.
787 -
788 -
789 -* js/t7406-recursive-submodule-update-order-fix (2018-07-23) 1 commit
790 - (merged to 'next' on 2018-08-02 at 217ea36a37)
791 - + t7406: avoid failures solely due to timing issues
792 -
793 - Test fix.
794 -
795 - Will merge to 'master'.
796 -
797 -
798 -* js/vscode (2018-07-30) 9 commits
799 - (merged to 'next' on 2018-08-06 at 5c578b63a8)
800 - + vscode: let cSpell work on commit messages, too
801 - + vscode: add a dictionary for cSpell
802 - + vscode: use 8-space tabs, no trailing ws, etc for Git's source code
803 - + vscode: wrap commit messages at column 72 by default
804 - + vscode: only overwrite C/C++ settings
805 - + mingw: define WIN32 explicitly
806 - + cache.h: extract enum declaration from inside a struct declaration
807 - + vscode: hard-code a couple defines
808 - + contrib: add a script to initialize VS Code configuration
809 -
810 - Add a script (in contrib/) to help users of VSCode work better with
811 - our codebase.
812 -
813 - Will merge to 'master'.
814 -
815 -
816 -* jt/tag-following-with-proto-v2-fix (2018-07-24) 2 commits
817 - (merged to 'next' on 2018-08-02 at d9eabdea95)
818 - + fetch: send "refs/tags/" prefix upon CLI refspecs
819 - + t5702: test fetch with multiple refspecs at a time
820 -
821 - The wire-protocol v2 relies on the client to send "ref prefixes" to
822 - limit the bandwidth spent on the initial ref advertisement. "git
823 - fetch $remote branch:branch" that asks tags that point into the
824 - history leading to the "branch" automatically followed sent to
825 - narrow prefix and broke the tag following, which has been fixed.
826 -
827 - Will merge to 'master'.
828 -
829 -
1318 * nd/pack-deltify-regression-fix (2018-07-23) 1 commit
1319 (merged to 'next' on 2018-08-02 at f3b2bf0fef)
1320 + pack-objects: fix performance issues on packing large deltas
@@ -838,64 +1326,13 @@ of the repositories listed at
1326 Will cook in 'next'.
1327
1328
841 -* sb/trailers-docfix (2018-07-20) 1 commit
842 - (merged to 'next' on 2018-08-02 at ba348fafcd)
843 - + Documentation/git-interpret-trailers: explain possible values
844 -
845 - Doc update.
846 -
847 - Will merge to 'master'.
848 -
849 -
850 -* sg/coccicheck-updates (2018-07-23) 5 commits
851 - (merged to 'next' on 2018-08-02 at b5548ff3a9)
852 - + coccinelle: extract dedicated make target to clean Coccinelle's results
853 - + coccinelle: put sane filenames into output patches
854 - + coccinelle: exclude sha1dc source files from static analysis
855 - + coccinelle: use $(addsuffix) in 'coccicheck' make target
856 - + coccinelle: mark the 'coccicheck' make target as .PHONY
857 -
858 - Update the way we use Coccinelle to find out-of-style code that
859 - need to be modernised.
860 -
861 - Will merge to 'master'.
862 -
863 -
864 -* sg/fast-import-dump-refs-on-checkpoint-fix (2018-07-20) 1 commit
865 - (merged to 'next' on 2018-08-02 at f5c05b5a2c)
866 - + t9300: wait for background fast-import process to die after killing it
867 -
868 - Test update.
869 -
870 - Will merge to 'master'.
871 -
872 -
873 -* sg/travis-cocci-diagnose-failure (2018-07-23) 2 commits
874 - (merged to 'next' on 2018-08-02 at 54808a8778)
875 - + travis-ci: fail if Coccinelle static analysis found something to transform
876 - + travis-ci: run Coccinelle static analysis with two parallel jobs
877 -
878 - Update the way we run static analysis tool at TravisCI to make it
879 - easier to use its findings.
880 -
881 - Will merge to 'master'.
882 -
883 -
884 -* ab/newhash-is-sha256 (2018-08-06) 2 commits
885 - - doc hash-function-transition: pick SHA-256 as NewHash
886 - - doc hash-function-transition: note the lack of a changelog
1329 +* ab/newhash-is-sha256 (2018-08-07) 2 commits
1330 + (merged to 'next' on 2018-08-15 at 2e808d75d3)
1331 + + doc hash-function-transition: pick SHA-256 as NewHash
1332 + + doc hash-function-transition: note the lack of a changelog
1333
1334 Documentation update.
1335
890 - Will Merge to 'next'.
891 -
892 -
893 -* bb/redecl-enum-fix (2018-07-26) 1 commit
894 - (merged to 'next' on 2018-08-06 at 828dc4b156)
895 - + packfile: ensure that enum object_type is defined
896 -
897 - Compilation fix.
898 -
1336 Will merge to 'master'.
1337
1338
@@ -925,38 +1362,19 @@ of the repositories listed at
1362 - structured-logging: add structured logging framework
1363 - structured-logging: add STRUCTURED_LOGGING=1 to Makefile
1364 - structured-logging: design document
928 - (this branch uses jh/json-writer.)
1365
1366 Will merge to 'next'.
1367
1368
1369 * en/abort-df-conflict-fixes (2018-07-31) 2 commits
934 - - read-cache: fix directory/file conflict handling in read_index_unmerged()
935 - - t1015: demonstrate directory/file conflict recovery failures
1370 + (merged to 'next' on 2018-08-08 at a19cad0bb7)
1371 + + read-cache: fix directory/file conflict handling in read_index_unmerged()
1372 + + t1015: demonstrate directory/file conflict recovery failures
1373
1374 "git merge --abort" etc. did not clean things up properly when
1375 there were conflicted entries in certain order that are involved
1376 in D/F conflicts. This has been corrected.
1377
941 - Will merge to 'next'.
942 -
943 -
944 -* hs/gpgsm (2018-07-20) 7 commits
945 - (merged to 'next' on 2018-08-02 at db28bffe4f)
946 - + gpg-interface t: extend the existing GPG tests with GPGSM
947 - + gpg-interface: introduce new signature format "x509" using gpgsm
948 - + gpg-interface: introduce new config to select per gpg format program
949 - + gpg-interface: do not hardcode the key string len anymore
950 - + gpg-interface: introduce an abstraction for multiple gpg formats
951 - + t/t7510: check the validation of the new config gpg.format
952 - + gpg-interface: add new config to select how to sign a commit
953 -
954 - Teach "git tag -s" etc. a few configuration varaibles (gpg.format
955 - that can be set to "openpgp" or "x509", and gpg.<format>.program
956 - that is used to specify what program to use to deal with the format)
957 - to allow x.509 certs with CMS via "gpgsm" to be used instead of
958 - openpgp via "gnupg".
959 -
1378 Will merge to 'master'.
1379
1380
@@ -976,7 +1394,7 @@ of the repositories listed at
1394 cf. <20180717201348.GD26218@sigill.intra.peff.net>
1395
1396
979 -* sb/submodule-update-in-c (2018-08-03) 7 commits
1397 +* sb/submodule-update-in-c (2018-08-14) 7 commits
1398 - submodule--helper: introduce new update-module-mode helper
1399 - submodule--helper: replace connect-gitdir-workingtree by ensure-core-worktree
1400 - builtin/submodule--helper: factor out method to update a single submodule
@@ -990,19 +1408,6 @@ of the repositories listed at
1408 Will merge to and cook in 'next'.
1409
1410
993 -* sl/commit-dry-run-with-short-output-fix (2018-07-30) 4 commits
994 - . commit: fix exit code when doing a dry run
995 - . wt-status: teach wt_status_collect about merges in progress
996 - . wt-status: rename commitable to committable
997 - . t7501: add coverage for flags which imply dry runs
998 -
999 - "git commit --dry-run" gave a correct exit status even during a
1000 - conflict resolution toward a merge, but it did not with the
1001 - "--short" option, which has been corrected.
1002 -
1003 - Seems to break 7512, 3404 and 7060 in 'pu'.
1004 -
1005 -
1411 * tg/rerere (2018-08-06) 11 commits
1412 - rerere: recalculate conflict ID when unresolved conflict is committed
1413 - rerere: teach rerere to handle nested conflicts
@@ -1022,26 +1427,7 @@ of the repositories listed at
1427 Will merge to and cook in 'next'.
1428
1429
1025 -* jk/ui-color-always-to-auto (2018-07-18) 1 commit
1026 - (merged to 'next' on 2018-08-02 at 1a054baf0e)
1027 - + Documentation: fix --color option formatting
1028 -
1029 - Doc formatting fix.
1030 -
1031 - Will merge to 'master'.
1032 -
1033 -
1034 -* jh/json-writer (2018-07-16) 1 commit
1035 - (merged to 'next' on 2018-08-02 at d841450c7d)
1036 - + json_writer: new routines to create JSON data
1037 - (this branch is used by jh/structured-logging.)
1038 -
1039 - Preparatory code to later add json output for telemetry data.
1040 -
1041 - Will merge to 'master'.
1042 -
1043 -
1044 -* ag/rebase-i-in-c (2018-07-31) 20 commits
1430 +* ag/rebase-i-in-c (2018-08-10) 20 commits
1431 - rebase -i: move rebase--helper modes to rebase--interactive
1432 - rebase -i: remove git-rebase--interactive.sh
1433 - rebase--interactive2: rewrite the submodes of interactive rebase in C
@@ -1061,43 +1447,43 @@ of the repositories listed at
1447 - rebase -i: rewrite the edit-todo functionality in C
1448 - editor: add a function to launch the sequence editor
1449 - rebase -i: rewrite append_todo_help() in C
1064 - - sequencer: make two functions and an enum from sequencer.c public
1450 + - sequencer: make three functions and an enum from sequencer.c public
1451
1452 Rewrite of the remaining "rebase -i" machinery in C.
1453
1454 Will merge to 'next'.
1455
1456
1071 -* js/range-diff (2018-07-30) 21 commits
1072 - - range-diff: use dim/bold cues to improve dual color mode
1073 - - range-diff: make --dual-color the default mode
1074 - - range-diff: left-pad patch numbers
1075 - - completion: support `git range-diff`
1076 - - range-diff: populate the man page
1077 - - range-diff --dual-color: fix bogus white-space warning
1078 - - range-diff: offer to dual-color the diffs
1079 - - diff: add an internal option to dual-color diffs of diffs
1080 - - color: add the meta color GIT_COLOR_REVERSE
1081 - - range-diff: use color for the commit pairs
1082 - - range-diff: add tests
1083 - - range-diff: do not show "function names" in hunk headers
1084 - - range-diff: adjust the output of the commit pairs
1085 - - range-diff: suppress the diff headers
1086 - - range-diff: indent the diffs just like tbdiff
1087 - - range-diff: right-trim commit messages
1088 - - range-diff: also show the diff between patches
1089 - - range-diff: improve the order of the shown commits
1090 - - range-diff: first rudimentary implementation
1091 - - Introduce `range-diff` to compare iterations of a topic branch
1092 - - linear-assignment: a function to solve least-cost assignment problems
1457 +* js/range-diff (2018-08-13) 21 commits
1458 + (merged to 'next' on 2018-08-15 at 8d56067806)
1459 + + range-diff: use dim/bold cues to improve dual color mode
1460 + + range-diff: make --dual-color the default mode
1461 + + range-diff: left-pad patch numbers
1462 + + completion: support `git range-diff`
1463 + + range-diff: populate the man page
1464 + + range-diff --dual-color: skip white-space warnings
1465 + + range-diff: offer to dual-color the diffs
1466 + + diff: add an internal option to dual-color diffs of diffs
1467 + + color: add the meta color GIT_COLOR_REVERSE
1468 + + range-diff: use color for the commit pairs
1469 + + range-diff: add tests
1470 + + range-diff: do not show "function names" in hunk headers
1471 + + range-diff: adjust the output of the commit pairs
1472 + + range-diff: suppress the diff headers
1473 + + range-diff: indent the diffs just like tbdiff
1474 + + range-diff: right-trim commit messages
1475 + + range-diff: also show the diff between patches
1476 + + range-diff: improve the order of the shown commits
1477 + + range-diff: first rudimentary implementation
1478 + + Introduce `range-diff` to compare iterations of a topic branch
1479 + + linear-assignment: a function to solve least-cost assignment problems
1480 (this branch is used by es/format-patch-rangediff and sb/range-diff-colors.)
1481
1482 "git tbdiff" that lets us compare individual patches in two
1483 iterations of a topic has been rewritten and made into a built-in
1484 command.
1485
1099 - It seems there will another hopefully the final reroll coming.
1100 - cf. <nycvar.QRO.7.76.6.1808011800570.71@tvgsbejvaqbjf.bet>
1486 + Will merge to 'master'.
1487
1488
1489 * lt/date-human (2018-07-09) 1 commit
@@ -1111,11 +1497,12 @@ of the repositories listed at
1497
1498
1499 * ot/ref-filter-object-info (2018-07-17) 5 commits
1114 - - ref-filter: use oid_object_info() to get object
1115 - - ref-filter: merge get_obj and get_object
1116 - - ref-filter: initialize eaten variable
1117 - - ref-filter: fill empty fields with empty values
1118 - - ref-filter: add info_source to valid_atom
1500 + (merged to 'next' on 2018-08-08 at 9ed619941b)
1501 + + ref-filter: use oid_object_info() to get object
1502 + + ref-filter: merge get_obj and get_object
1503 + + ref-filter: initialize eaten variable
1504 + + ref-filter: fill empty fields with empty values
1505 + + ref-filter: add info_source to valid_atom
1506
1507 A few atoms like %(objecttype) and %(objectsize) in the format
1508 specifier of "for-each-ref --format=<format>" can be filled without
@@ -1123,72 +1510,52 @@ of the repositories listed at
1510 header. These cases have been optimzied by calling
1511 oid_object_info() API.
1512
1126 - Will merge to 'next'.
1513 + Will merge to 'master'.
1514
1515
1516 * pk/rebase-in-c (2018-08-06) 3 commits
1517 - builtin/rebase: support running "git rebase <upstream>"
1518 - rebase: refactor common shell functions into their own file
1519 - rebase: start implementing it as a builtin
1520 + (this branch is used by pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final.)
1521
1522 Rewrite of the "rebase" machinery in C.
1523
1524
1525 * jk/branch-l-1-repurpose (2018-06-22) 1 commit
1138 - - branch: make "-l" a synonym for "--list"
1526 + (merged to 'next' on 2018-08-08 at d2a08dd08e)
1527 + + branch: make "-l" a synonym for "--list"
1528
1529 Updated plan to repurpose the "-l" option to "git branch".
1530
1531 Will merge to and cook in 'next'.
1532
1533
1145 -* cc/remote-odb (2018-08-02) 9 commits
1146 - - Documentation/config: add odb.<name>.promisorRemote
1147 - - t0410: test fetching from many promisor remotes
1148 - - Use odb.origin.partialclonefilter instead of core.partialclonefilter
1149 - - Use remote_odb_get_direct() and has_remote_odb()
1150 - - remote-odb: add remote_odb_reinit()
1151 - - remote-odb: implement remote_odb_get_many_direct()
1152 - - remote-odb: implement remote_odb_get_direct()
1153 - - Add initial remote odb support
1154 - - fetch-object: make functions return an error code
1155 -
1156 - Implement lazy fetches of missing objects to complement the
1157 - experimental partial clone feature.
1158 -
1159 - I haven't seen much interest in this topic on list. What's the
1160 - doneness of this thing?
1161 -
1162 - I do not particularly mind adding code to support a niche feature
1163 - as long as it is cleanly made and it is clear that the feature
1164 - won't negatively affect those who do not use it, so a review from
1165 - that point of view may also be appropriate.
1166 -
1167 -
1534 * ds/multi-pack-index (2018-07-20) 23 commits
1169 - - midx: clear midx on repack
1170 - - packfile: skip loading index if in multi-pack-index
1171 - - midx: prevent duplicate packfile loads
1172 - - midx: use midx in approximate_object_count
1173 - - midx: use existing midx when writing new one
1174 - - midx: use midx in abbreviation calculations
1175 - - midx: read objects from multi-pack-index
1176 - - config: create core.multiPackIndex setting
1177 - - midx: write object offsets
1178 - - midx: write object id fanout chunk
1179 - - midx: write object ids in a chunk
1180 - - midx: sort and deduplicate objects from packfiles
1181 - - midx: read pack names into array
1182 - - multi-pack-index: write pack names in chunk
1183 - - multi-pack-index: read packfile list
1184 - - packfile: generalize pack directory list
1185 - - t5319: expand test data
1186 - - multi-pack-index: load into memory
1187 - - midx: write header information to lockfile
1188 - - multi-pack-index: add 'write' verb
1189 - - multi-pack-index: add builtin
1190 - - multi-pack-index: add format details
1191 - - multi-pack-index: add design document
1535 + (merged to 'next' on 2018-08-08 at 1a56c52967)
1536 + + midx: clear midx on repack
1537 + + packfile: skip loading index if in multi-pack-index
1538 + + midx: prevent duplicate packfile loads
1539 + + midx: use midx in approximate_object_count
1540 + + midx: use existing midx when writing new one
1541 + + midx: use midx in abbreviation calculations
1542 + + midx: read objects from multi-pack-index
1543 + + config: create core.multiPackIndex setting
1544 + + midx: write object offsets
1545 + + midx: write object id fanout chunk
1546 + + midx: write object ids in a chunk
1547 + + midx: sort and deduplicate objects from packfiles
1548 + + midx: read pack names into array
1549 + + multi-pack-index: write pack names in chunk
1550 + + multi-pack-index: read packfile list
1551 + + packfile: generalize pack directory list
1552 + + t5319: expand test data
1553 + + multi-pack-index: load into memory
1554 + + midx: write header information to lockfile
1555 + + multi-pack-index: add 'write' verb
1556 + + multi-pack-index: add builtin
1557 + + multi-pack-index: add format details
1558 + + multi-pack-index: add design document
1559
1560 When there are too many packfiles in a repository (which is not
1561 recommended), looking up an object in these would require
@@ -1216,3 +1583,29 @@ of the repositories listed at
1583 Code clarification.
1584
1585 Superseded by another topic.
1586 +
1587 +
1588 +* cc/remote-odb (2018-08-02) 9 commits
1589 + . Documentation/config: add odb.<name>.promisorRemote
1590 + . t0410: test fetching from many promisor remotes
1591 + . Use odb.origin.partialclonefilter instead of core.partialclonefilter
1592 + . Use remote_odb_get_direct() and has_remote_odb()
1593 + . remote-odb: add remote_odb_reinit()
1594 + . remote-odb: implement remote_odb_get_many_direct()
1595 + . remote-odb: implement remote_odb_get_direct()
1596 + . Add initial remote odb support
1597 + . fetch-object: make functions return an error code
1598 +
1599 + Implement lazy fetches of missing objects to complement the
1600 + experimental partial clone feature.
1601 +
1602 + Ejected; seems to break existing repositories that use partialclone
1603 + repository extension.
1604 +
1605 + I haven't seen much interest in this topic on list. What's the
1606 + doneness of this thing?
1607 +
1608 + I do not particularly mind adding code to support a niche feature
1609 + as long as it is cleanly made and it is clear that the feature
1610 + won't negatively affect those who do not use it, so a review from
1611 + that point of view may also be appropriate.