What's cooking (2019/04 #01)

Junio C Hamano committed Apr 4, 2019 at 18:52 UTC e9a8faeebdf5de956ca5790d9b6bd3518eeed6ca
1 file changed +851 -337
whats-cooking.txt
+851 -337
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Mar 2019, #04; Wed, 20)
4 -X-master-at: 0e94f7aa730b108f7907cfab1b2a7fba965de442
5 -X-next-at: fef4c6d200cf268f44767029c50f1b592040de2e
3 +Subject: What's cooking in git.git (Apr 2019, #01; Thu, 4)
4 +X-master-at: 041f5ea1cf987a4068ef5f39ba0a09be85952064
5 +X-next-at: f8f6787159eebeb0fe8766e114123185ee1893ea
6
7 -What's cooking in git.git (Mar 2019, #04; Wed, 20)
7 +What's cooking in git.git (Apr 2019, #01; Thu, 4)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -17,26 +17,168 @@ 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 +* ab/makefile-help-devs-more (2019-02-24) 6 commits
24 + (merged to 'next' on 2019-03-11 at 898f5f44bc)
25 + + Makefile: allow for combining DEVELOPER=1 and CFLAGS="..."
26 + + Makefile: move the setting of *FLAGS closer to "include"
27 + + Makefile: Move *_LIBS assignment into its own section
28 + + Makefile: add/remove comments at top and tweak whitespace
29 + + Makefile: move "strip" assignment down from flags
30 + + Makefile: remove an out-of-date comment
31 +
32 + Originally merged to 'next' on 2019-03-07
33 +
34 + CFLAGS now can be tweaked when invoking Make while using
35 + DEVELOPER=YesPlease; this did not work well before.
36 +
37 +
38 +* br/commit-tree-parseopt (2019-03-08) 1 commit
39 + (merged to 'next' on 2019-03-11 at e1228ef04f)
40 + + commit-tree: utilize parse-options api
41 +
42 + Originally merged to 'next' on 2019-03-08
43 +
44 + The command line parser of "git commit-tree" has been rewritten to
45 + use the parse-options API.
46 +
47 +
48 +* jk/bisect-final-output (2019-03-01) 3 commits
49 + (merged to 'next' on 2019-03-11 at dea599eb04)
50 + + bisect: make diff-tree output prettier
51 + + bisect: fix internal diff-tree config loading
52 + + bisect: use string arguments to feed internal diff-tree
53 +
54 + Originally merged to 'next' on 2019-03-07
55 +
56 + The final report from "git bisect" used to show the suspected
57 + culprit using a raw "diff-tree", with which there is no output for
58 + a merge commit. This has been updated to use a more modern and
59 + human readable output that still is concise enough.
60 +
61 +
62 +* jk/config-type-color-ends-with-lf (2019-03-07) 1 commit
63 + (merged to 'next' on 2019-03-11 at 810b269d1a)
64 + + config: document --type=color output is a complete line
65 +
66 + Originally merged to 'next' on 2019-03-07
67 +
68 + "git config --type=color ..." is meant to replace "git config --get-color"
69 + but there is a slight difference that wasn't documented, which is
70 + now fixed.
71 +
72 +
73 +* jk/fsck-doc (2019-03-05) 2 commits
74 + (merged to 'next' on 2019-03-11 at 5cd610f73e)
75 + + fsck: always compute USED flags for unreachable objects
76 + + doc/fsck: clarify --connectivity-only behavior
77 +
78 + Originally merged to 'next' on 2019-03-07
79 +
80 + "git fsck --connectivity-only" omits computation necessary to sift
81 + the objects that are not reachable from any of the refs into
82 + unreachable and dangling. This is now enabled when dangling
83 + objects are requested (which is done by default, but can be
84 + overridden with the "--no-dangling" option).
85 +
86 +
87 +* jk/no-sigpipe-during-network-transport (2019-03-05) 2 commits
88 + (merged to 'next' on 2019-03-11 at 25900acd0d)
89 + + fetch: ignore SIGPIPE during network operation
90 + + fetch: avoid calling write_or_die()
91 +
92 + Originally merged to 'next' on 2019-03-07
93 +
94 + On platforms where "git fetch" is killed with SIGPIPE (e.g. OSX),
95 + the upload-pack that runs on the other end that hangs up after
96 + detecting an error could cause "git fetch" to die with a signal,
97 + which led to a flakey test. "git fetch" now ignores SIGPIPE during
98 + the network portion of its operation (this is not a problem as we
99 + check the return status from our write(2)s).
100 +
101 +
102 +* jk/virtual-objects-do-exist (2019-03-05) 1 commit
103 + (merged to 'next' on 2019-03-11 at 748c79a1f0)
104 + + rev-list: allow cached objects in existence check
105 +
106 + Originally merged to 'next' on 2019-03-07
107 +
108 + A recent update broke "is this object available to us?" check for
109 + well-known objects like an empty tree (which should yield "yes",
110 + even when there is no on-disk object for an empty tree), which has
111 + been corrected.
112 +
113 +
114 +* js/rebase-orig-head-fix (2019-03-04) 4 commits
115 + (merged to 'next' on 2019-03-11 at 4b1b19d391)
116 + + built-in rebase: set ORIG_HEAD just once, before the rebase
117 + + built-in rebase: demonstrate that ORIG_HEAD is not set correctly
118 + + built-in rebase: use the correct reflog when switching branches
119 + + built-in rebase: no need to check out `onto` twice
120 +
121 + Originally merged to 'next' on 2019-03-07
122 +
123 + "git rebase" that was reimplemented in C did not set ORIG_HEAD
124 + correctly, which has been corrected.
125 +
126 +
127 +* js/stress-test-ui-tweak (2019-03-04) 2 commits
128 + (merged to 'next' on 2019-03-11 at 223afded1c)
129 + + tests: introduce --stress-jobs=<N>
130 + + tests: let --stress-limit=<N> imply --stress
131 +
132 + Originally merged to 'next' on 2019-03-07
133 +
134 + Dev support.
135 +
136 +
137 +* ma/clear-repository-format (2019-03-01) 2 commits
138 + (merged to 'next' on 2019-03-11 at f3db1c278f)
139 + + setup: fix memory leaks with `struct repository_format`
140 + + setup: free old value before setting `work_tree`
141 +
142 + Originally merged to 'next' on 2019-03-07
143 +
144 + The setup code has been cleaned up to avoid leaks around the
145 + repository_format structure.
146 +
147 +
148 +* sx/evolve (2019-02-15) 8 commits
149 + . evolve: add the git change list command
150 + . evolve: implement the git change command
151 + . evolve: add support for writing metacommits
152 + . evolve: add the change-table structure
153 + . evolve: add support for parsing metacommits
154 + . ref-filter: add the metas namespace to ref-filter
155 + . sha1-array: implement oid_array_readonly_contains
156 + . technical doc: add a design doc for the evolve command
157 +
158 + The beginning of "hg evolve" mimicry.
159 +
160 --------------------------------------------------
161 [New Topics]
162
163 * ms/worktree-add-atomic-mkdir (2019-03-12) 1 commit
24 - - worktree: fix worktree add race
164 + (merged to 'next' on 2019-03-20 at ded442ed02)
165 + + worktree: fix worktree add race
166
167 "git worktree add" used to do a "find an available name with stat
168 and then mkdir", which is race-prone. This has been fixed by using
169 mkdir and reacting to EEXIST in a loop.
170
30 - Will merge to 'next'.
171 + Will merge to 'master'.
172
173
174 * tb/stash-in-c-unused-param-fix (2019-03-11) 1 commit
34 - - stash: drop unused parameter
175 + (merged to 'next' on 2019-03-20 at 5ccac5f80d)
176 + + stash: drop unused parameter
177 (this branch uses ps/stash-in-c; is tangled with js/stash-in-c-pathspec-fix and tg/stash-in-c-show-default-to-p-fix.)
178
179 Code clean-up.
180
39 - Will merge to 'next'.
181 + Will cook in 'next'.
182
183
184 * dl/subtree-limit-to-one-rev (2019-03-12) 1 commit
@@ -48,11 +190,12 @@ of the repositories listed at
190
191
192 * ar/t4150-remove-cruft (2019-03-13) 1 commit
51 - - t4150: remove unused variable
193 + (merged to 'next' on 2019-03-20 at a0106a8d5c)
194 + + t4150: remove unused variable
195
196 Test cleanup.
197
55 - Will merge to 'next'.
198 + Will merge to 'master'.
199
200
201 * cb/doco-mono (2019-03-13) 2 commits
@@ -64,8 +207,7 @@ of the repositories listed at
207 Will merge to 'next'.
208
209
67 -* cc/multi-promisor (2019-03-14) 12 commits
68 - - promisor-remote.h: fix a 'hdr-check' warning
210 +* cc/multi-promisor (2019-04-02) 11 commits
211 - remote: add promisor and partial clone config to the doc
212 - partial-clone: add multiple remotes in the doc
213 - t0410: test fetching from many promisor remotes
@@ -78,34 +220,39 @@ of the repositories listed at
220 - Add initial support for many promisor remotes
221 - fetch-object: make functions return an error code
222
223 + Breaks 'pu'.
224 +
225
226 * jk/promote-ggg (2019-03-13) 1 commit
83 - - point pull requesters to GitGitGadget
227 + (merged to 'next' on 2019-03-20 at 3db7d2566d)
228 + + point pull requesters to GitGitGadget
229
85 - Swap submitGit with GitGitGadget as a way to submit patches based
86 - on GitHub PR to us.
230 + Suggest GitGitGadget instead of submitGit as a way to submit
231 + patches based on GitHub PR to us.
232
88 - Will merge to 'next'.
233 + Will merge to 'master'.
234
235
236 * jk/sha1dc (2019-03-13) 1 commit
92 - - Makefile: fix unaligned loads in sha1dc with UBSan
237 + (merged to 'next' on 2019-03-20 at 969280e8e5)
238 + + Makefile: fix unaligned loads in sha1dc with UBSan
239
240 Build update for SHA-1 with collision detection.
241
96 - Will merge to 'next'.
242 + Will merge to 'master'.
243
244
245 * jt/submodule-fetch-errmsg (2019-03-14) 1 commit
100 - - submodule: explain first attempt failure clearly
246 + (merged to 'next' on 2019-03-20 at a6b0efa76f)
247 + + submodule: explain first attempt failure clearly
248
249 Error message update.
250
104 - Will merge to 'next'.
251 + Will merge to 'master'.
252 cf. <20190313175738.252961-1-jonathantanmy@google.com> (v2)
253
254
108 -* nd/switch-and-restore (2019-03-18) 38 commits
255 +* nd/switch-and-restore (2019-04-02) 39 commits
256 - doc: promote "git restore"
257 - completion: support restore
258 - SQUASH??? move -p test to 2071 from 2070
@@ -121,7 +268,7 @@ of the repositories listed at
268 - doc: promote "git switch"
269 - completion: support switch
270 - t: add tests for switch
124 - - switch: --orphan defaults to empty tree as HEAD
271 + - switch: make --orphan switch to an empty tree
272 - switch: reject if some operation is in progress
273 - switch: no worktree status unless real branch switch happens
274 - switch: implicit dwim, use --no-guess to disable it
@@ -138,6 +285,7 @@ of the repositories listed at
285 - checkout: make "opts" in cmd_checkout() a pointer
286 - checkout: factor out some code in parse_branchname_arg()
287 - checkout: keep most #include sorted
288 + - checkout: inform the user when removing branch state
289 - checkout: advice how to get out of detached HEAD mode
290 - t: rename t2014-switch.sh to t2014-checkout-switch.sh
291 - git-checkout.txt: fix monospace typeset
@@ -151,7 +299,7 @@ of the repositories listed at
299 advancing the current history" out of the single "git checkout"
300 command.
301
154 - cf. <20190317124926.17137-1-pclouds@gmail.com> (switch v4)
302 + cf. <20190329103919.15642-1-pclouds@gmail.com> (switch v6)
303 cf. <20190308101655.9767-1-pclouds@gmail.com> (restore v1)
304
305
@@ -171,8 +319,7 @@ of the repositories listed at
319 Will merge to 'next'.
320
321
174 -* ab/gc-reflog (2019-03-18) 8 commits
175 - - reflog expire: don't assert the OID when locking refs
322 +* ab/gc-reflog (2019-04-01) 7 commits
323 - gc: handle & check gc.reflogExpire config
324 - reflog tests: assert lack of early exit with expiry="never"
325 - reflog tests: test for the "points nowhere" warning
@@ -183,7 +330,7 @@ of the repositories listed at
330
331 Fix various glitches in "git gc" around reflog handling.
332
186 - cf. <20190315155959.12390-1-avarab@gmail.com> (v3)
333 + cf. <20190328161434.19200-1-avarab@gmail.com> (v4)
334
335
336 * ew/repack-with-bitmaps-by-default (2019-03-18) 3 commits
@@ -206,8 +353,12 @@ of the repositories listed at
353 Will merge to 'next'.
354
355
209 -* js/check-docs-exe (2019-03-14) 1 commit
356 +* js/check-docs-exe (2019-04-01) 5 commits
357 - check-docs: fix for setups where executables have an extension
358 + - check-docs: do not expect guide pages to correspond to commands
359 + - check-docs: really look at the documented commands again
360 + - docs: do not document the `git remote-testgit` command
361 + - docs: move gitremote-helpers into section 7
362
363 Dev support update.
364
@@ -246,111 +397,639 @@ of the repositories listed at
397 results from our documentation.
398
399 Will merge to 'next'.
249 - cf. <20190319031412.GC6173@sigill.intra.peff.net>
400 + cf. <20190319031412.GC6173@sigill.intra.peff.net>
401 +
402 +
403 +* mh/pack-protocol-doc-fix (2019-03-18) 1 commit
404 + - fix pack protocol example client/server communication
405 +
406 + Docfix.
407 +
408 + Will merge to 'next'.
409 +
410 +
411 +* nd/checkout-f-while-conflicted-fix (2019-03-21) 1 commit
412 + - unpack-trees: fix oneway_merge accidentally carry over stage index
413 +
414 + "git checkout -f <branch>" while the index has an unmerged path
415 + incorrectly left some paths in an unmerged state, which has been
416 + corrected.
417 +
418 + Will merge to 'next'.
419 +
420 +
421 +* pw/cherry-pick-continue (2019-03-18) 3 commits
422 + - cherry-pick --continue: remember options
423 + - cherry-pick: demonstrate option amnesia
424 + - sequencer: break some long lines
425 +
426 + "git cherry-pick --options A..B", after giving control back to the
427 + user to ask help resolving a conflicted step, did not honor the
428 + options it originally received, which has been corrected.
429 +
430 + Will merge to 'next'.
431 +
432 +
433 +* pw/rerere-autoupdate (2019-03-18) 2 commits
434 + - merge: tweak --rerere-autoupdate documentation
435 + - am/cherry-pick/rebase/revert: document --rerere-autoupdate
436 +
437 + Doc updates.
438 +
439 + Will merge to 'next'.
440 +
441 +
442 +* sg/test-atexit (2019-03-14) 11 commits
443 + - t9811-git-p4-label-import: fix pipeline negation
444 + - git p4 test: disable '-x' tracing in the p4d watchdog loop
445 + - git p4 test: simplify timeout handling
446 + - git p4 test: clean up the p4d cleanup functions
447 + - git p4 test: use 'test_atexit' to kill p4d and the watchdog process
448 + - t0301-credential-cache: use 'test_atexit' to stop the credentials helper
449 + - tests: use 'test_atexit' to stop httpd
450 + - git-daemon: use 'test_atexit` to stop 'git-daemon'
451 + - test-lib: introduce 'test_atexit'
452 + - t/lib-git-daemon: make sure to kill the 'git-daemon' process
453 + - test-lib: fix interrupt handling with 'dash' and '--verbose-log -x'
454 +
455 + Test framework update to more robustly clean up leftover files and
456 + processes after tests are done.
457 +
458 + Will merge to 'next'.
459 +
460 +
461 +* tb/trace2-va-list-fix (2019-03-20) 1 commit
462 + - trace2: NULL is not allowed for va_list
463 +
464 + Fix some code that passed a NULL when a va_list was expected.
465 +
466 + Will merge to 'next'.
467 +
468 +
469 +* tg/glossary-overlay (2019-03-18) 1 commit
470 + - glossary: add definition for overlay
471 +
472 + Doc update.
473 +
474 + Will merge to 'next'.
475 +
476 +
477 +* tg/stash-in-c-show-default-to-p-fix (2019-03-21) 1 commit
478 + - stash: setup default diff output format if necessary
479 + (this branch uses ps/stash-in-c; is tangled with js/stash-in-c-pathspec-fix and tb/stash-in-c-unused-param-fix.)
480 +
481 + A regression fix.
482 +
483 + Will merge to 'next'.
484 +
485 +
486 +* tz/completion (2019-03-21) 4 commits
487 + - completion: use __git when calling --list-cmds
488 + - completion: fix multiple command removals
489 + - t9902: test multiple removals via completion.commands
490 + - git: read local config in --list-cmds
491 +
492 + The completion helper code now pays attention to repository-local
493 + configuration (when available), which allows --list-cmds to honour
494 + a repository specific setting of completion.commands, for example.
495 +
496 + Will merge to 'next'.
497 + cf. <20190320180329.22280-1-tmz@pobox.com> (v3)
498 +
499 +
500 +* tz/t4038-bash-redirect-target-workaround (2019-03-18) 1 commit
501 + - t4038-diff-combined: quote paths with whitespace
502 +
503 + Work-around extra warning from bash in our tests.
504 +
505 + Will merge to 'next'.
506 +
507 +
508 +* jc/format-patch-noclobber (2019-02-22) 1 commit
509 + - format-patch: --no-clobber refrains from overwriting output files
510 + (this branch uses jc/format-patch-error-check.)
511 +
512 +
513 +
514 +* jk/unused-params-even-more (2019-03-21) 13 commits
515 + - parse_opt_ref_sorting: always use with NONEG flag
516 + - pretty: drop unused strbuf from parse_padding_placeholder()
517 + - pretty: drop unused "type" parameter in needs_rfc2047_encoding()
518 + - parse-options: drop unused ctx parameter from show_gitcomp()
519 + - fetch_pack(): drop unused parameters
520 + - report_path_error(): drop unused prefix parameter
521 + - unpack-trees: drop unused error_type parameters
522 + - unpack-trees: drop name_entry from traverse_by_cache_tree()
523 + - test-date: drop unused "now" parameter from parse_dates()
524 + - update-index: drop unused prefix_length parameter from do_reupdate()
525 + - log: drop unused "len" from show_tagger()
526 + - log: drop unused rev_info from early output
527 + - revision: drop some unused "revs" parameters
528 +
529 + Code cleanup
530 +
531 + Will merge to 'next'.
532 +
533 +
534 +* ab/commit-graph-fixes (2019-04-01) 8 commits
535 + - commit-graph: improve & i18n error messages
536 + - commit-graph write: don't die if the existing graph is corrupt
537 + - commit-graph verify: detect inability to read the graph
538 + - commit-graph: don't pass filename to load_commit_graph_one_fd_st()
539 + - commit-graph: don't early exit(1) on e.g. "git status"
540 + - commit-graph: fix segfault on e.g. "git status"
541 + - commit-graph tests: test a graph that's too small
542 + - commit-graph tests: split up corrupt_graph_and_verify()
543 +
544 + Code cleanup with more careful error checking before using data
545 + read from the commit-graph file.
546 +
547 + Will merge to 'next'.
548 +
549 +
550 +* ab/gc-docs (2019-04-01) 12 commits
551 + - SQAUSH??? fixup! gc docs: include the "gc.*" section from "config" in "gc"
552 + - gc docs: remove incorrect reference to gc.auto=0
553 + - gc docs: clarify that "gc" doesn't throw away referenced objects
554 + - gc docs: note "gc --aggressive" in "fast-import"
555 + - gc docs: downplay the usefulness of --aggressive
556 + - gc docs: note how --aggressive impacts --window & --depth
557 + - gc docs: fix formatting for "gc.writeCommitGraph"
558 + - gc docs: re-flow the "gc.*" section in "config"
559 + - gc docs: include the "gc.*" section from "config" in "gc"
560 + - gc docs: clean grammar for "gc.bigPackThreshold"
561 + - gc docs: stop noting "repack" flags
562 + - gc docs: modernize the advice for manually running "gc"
563 +
564 +
565 +
566 +* ab/test-lib-pass-trace2-env (2019-04-01) 1 commit
567 + - test-lib: whitelist GIT_TR2_* in the environment
568 +
569 + Allow tracing of Git executable while running out tests.
570 +
571 + Will merge to 'next'.
572 +
573 +
574 +* am/p4-branches-excludes (2019-04-02) 8 commits
575 + - git-p4: respect excluded paths when detecting branches
576 + - git-p4: add failing test for "git-p4: respect excluded paths when detecting branches"
577 + - git-p4: don't exclude other files with same prefix
578 + - git-p4: add failing test for "don't exclude other files with same prefix"
579 + - git-p4: don't groom exclude path list on every commit
580 + - git-p4: match branches case insensitively if configured
581 + - git-p4: add failing test for "git-p4: match branches case insensitively if configured"
582 + - git-p4: detect/prevent infinite loop in gitCommitByP4Change()
583 +
584 + "git p4" update.
585 +
586 +
587 +* bb/unicode-12 (2019-03-22) 1 commit
588 + - unicode: update the width tables to Unicode 12
589 +
590 + Unicode update.
591 +
592 + Will merge to 'next'.
593 +
594 +
595 +* bc/hash-transition-16 (2019-04-01) 35 commits
596 + - gitweb: make hash size independent
597 + - Git.pm: make hash size independent
598 + - read-cache: read data in a hash-independent way
599 + - dir: make untracked cache extension hash size independent
600 + - builtin/difftool: use parse_oid_hex
601 + - refspec: make hash size independent
602 + - archive: convert struct archiver_args to object_id
603 + - builtin/get-tar-commit-id: make hash size independent
604 + - get-tar-commit-id: parse comment record
605 + - hash: add a function to lookup hash algorithm by length
606 + - remote-curl: make hash size independent
607 + - http: replace sha1_to_hex
608 + - http: compute hash of downloaded objects using the_hash_algo
609 + - http: replace hard-coded constant with the_hash_algo
610 + - http-walker: replace sha1_to_hex
611 + - http-push: remove remaining uses of sha1_to_hex
612 + - http-backend: allow 64-character hex names
613 + - http-push: convert to use the_hash_algo
614 + - builtin/pull: make hash-size independent
615 + - builtin/am: make hash size independent
616 + - fast-import: replace sha1_to_hex
617 + - fast-import: make hash-size independent
618 + - builtin/name-rev: make hash-size independent
619 + - object-store: rename and expand packed_git's sha1 member
620 + - notes: replace sha1_to_hex
621 + - notes: make hash size independent
622 + - notes-merge: switch to use the_hash_algo
623 + - submodule: avoid hard-coded constants
624 + - pack-bitmap: switch hash tables to use struct object_id
625 + - pack-bitmap: switch hard-coded constants to the_hash_algo
626 + - pack-bitmap: replace sha1_to_hex
627 + - pack-bitmap: convert struct stored_bitmap to object_id
628 + - pack-bitmap: make bitmap header handling hash agnostic
629 + - khash: move oid hash table definition
630 + - t/lib-submodule-update: use appropriate length constant
631 +
632 + Conversion from unsigned char[20] to struct object_id continues.
633 +
634 + Will merge to 'next'.
635 +
636 +
637 +
638 +* cc/replace-graft-peel-tags (2019-04-01) 4 commits
639 + - replace: fix --graft when passing a tag first
640 + - replace: fix --graft when passing a tag as parent
641 + - t6050: redirect expected error output to a file
642 + - t6050: use test_line_count instead of wc -l
643 +
644 + When given a tag that points at a commit-ish, "git replace --graft"
645 + failed to peel the tag before writing a replace ref, which did not
646 + make sense because the old graft mechanism the feature wants to
647 + mimick only allowed to replace one commit object with another.
648 + This has been fixed.
649 +
650 + The title of the top two commits are fairly useless and does not
651 + say how the issue was fixed, but the fix is to peel the given tag
652 + ourselves down to the underlying commit object.
653 +
654 + Will merge to 'next'.
655 +
656 +
657 +* dk/blame-keep-origin-blob (2019-04-03) 1 commit
658 + - blame.c: don't drop origin blobs as eagerly
659 +
660 + Performance fix around "git blame", especially in a linear history
661 + (which is the norm we should optimize for).
662 +
663 + Will merge to 'next'.
664 +
665 +
666 +* dl/forbid-tagging-a-tag (2019-04-03) 3 commits
667 + - SQUASH???
668 + - tag: prevent nested tags
669 + - tag: fix formatting
670 +
671 + "git tag $newtag $obj", when $obj is another tag, now aborts,
672 + requiring a new --allow-nested-tag option, even though an
673 + invocation with $obj that is a blob or a tree is silently allowed,
674 + which does not make much sense.
675 +
676 + Will discard.
677 +
678 +
679 +* dl/rebase-i-keep-base (2019-04-03) 4 commits
680 + - rebase: teach rebase --keep-base
681 + - rebase: fast-forward --onto in more cases
682 + - t3432: test rebase fast-forward behavior
683 + - t3431: add rebase --fork-point tests
684 +
685 + "git rebase --keep-base <upstream>" tries to find the original base
686 + of the topic being rebased and rebase on top of that same base, which
687 + is useful when running the "git rebase -i" (and its limited variant
688 + "git rebase -x").
689 +
690 + Will merge to 'next'.
691 +
692 +
693 +* en/fast-import-parsing-fix (2019-04-01) 5 commits
694 + - fast-import: fix erroneous handling of get-mark with empty orphan commits
695 + - fast-import: only allow cat-blob requests where it makes sense
696 + - fast-import: check most prominent commands first
697 + - git-fast-import.txt: fix wording about where ls command can appear
698 + - t9300: demonstrate bug with get-mark and empty orphan commits
699 +
700 + "git fast-import" update.
701 +
702 + Will merge to 'next'.
703 +
704 +
705 +* jh/midx-verify-too-many-packs (2019-03-22) 4 commits
706 + - midx: during verify group objects by packfile to speed verification
707 + - midx: add progress indicators in multi-pack-index verify
708 + - trace2:data: add trace2 data to midx
709 + - progress: add sparse mode to force 100% complete message
710 +
711 + "git multi-pack-index verify" did not scale well with the number of
712 + packfiles, which is being improved.
713 +
714 + Will merge to 'next'.
715 +
716 +
717 +* jh/trace2-sid-fix (2019-04-01) 7 commits
718 + - trace2: make SIDs more unique
719 + - trace2: clarify UTC datetime formatting
720 + - trace2: report peak memory usage of the process
721 + - trace2: use system config for default trace2 settings
722 + - trace2: find exec-dir before trace2 initialization
723 + - trace2: add absolute elapsed time to start event
724 + - trace2: refactor setting process starting time
725 +
726 + Polishing of the new trace2 facility continues. The system-level
727 + configuration can specify site-wide trace2 settings (which would be
728 + loved by big-brother types ;-).
729 +
730 + Getting closer but still being discussed.
731 + cf. <20190403000032.GA190454@google.com>
732 +
733 +
734 +* jk/http-walker-status-fix (2019-03-24) 3 commits
735 + - http: use normalize_curl_result() instead of manual conversion
736 + - http: normalize curl results for dumb loose and alternates fetches
737 + - http: factor out curl result code normalization
738 +
739 + dumb-http walker has been updated to share more error recovery
740 + strategy with the normal codepath.
741 +
742 + Will merge to 'next'.
743 +
744 +
745 +* jk/refs-double-abort (2019-03-22) 2 commits
746 + - refs/files-backend: don't look at an aborted transaction
747 + - refs/files-backend: handle packed transaction prepare failure
748 +
749 + A corner case bug in the refs API has been corrected.
750 +
751 + Will merge to 'next'.
752 +
753 +
754 +* js/spell-out-options-in-tests (2019-04-02) 8 commits
755 + - tests: disallow the use of abbreviated options (by default)
756 + - tests (pack-objects): use the full, unabbreviated `--revs` option
757 + - tests (status): spell out the `--find-renames` option in full
758 + - tests (push): do not abbreviate the `--follow-tags` option
759 + - t5531: avoid using an abbreviated option
760 + - t7810: do not abbreviate `--no-exclude-standard` nor `--invert-match`
761 + - tests (rebase): spell out the `--force-rebase` option
762 + - tests (rebase): spell out the `--keep-empty` option
763 +
764 + The tests have been updated not to rely on the abbreviated option
765 + names the parse-options API offers, to protect us from an
766 + abbreviated form of an option that used to be unique within the
767 + command getting non-unique when a new option that share the same
768 + prefix is added.
769 +
770 + Will merge to 'next'.
771 +
772 +
773 +* js/trace2-to-directory (2019-03-22) 1 commit
774 + - trace2: write to directory targets
775 +
776 + The trace2 tracing facility learned to auto-generate a filename
777 + when told to log to a directory.
778 +
779 + Will merge to 'next'.
780 +
781 +
782 +* jt/batch-fetch-blobs-in-diff (2019-04-01) 2 commits
783 + - diff: batch fetching of missing blobs
784 + - sha1-file: support OBJECT_INFO_FOR_PREFETCH
785 +
786 + While running "git diff" in a lazy clone, we can upfront know which
787 + missing blobs we will need, instead of waiting for the on-demand
788 + machinery to discover them one by one. Aim to achieve better
789 + performance by batching the request for these promised blobs.
790 +
791 + Will merge to 'next'.
792 +
793 +
794 +* jt/fetch-no-update-shallow-in-proto-v2 (2019-04-01) 3 commits
795 + - fetch-pack: respect --no-update-shallow in v2
796 + - fetch-pack: call prepare_shallow_info only if v0
797 + - Merge branch 'jt/test-protocol-version' into jt/fetch-no-update-shallow-in-proto-v2
798 + (this branch uses jt/test-protocol-version.)
799 +
800 + Fix for protocol v2 support in "git fetch-pack" of shallow clones.
801 +
802 + Will merge to 'next'.
803 +
804 +
805 +* jt/fetch-pack-wanted-refs-optim (2019-04-01) 1 commit
806 + - fetch-pack: binary search when storing wanted-refs
807 +
808 + Performance fix around "git fetch" that grabs many refs.
809 +
810 + Will merge to 'next'.
811 +
812 +
813 +* jt/t5551-protocol-v2-does-not-have-half-auth (2019-03-24) 1 commit
814 + - t5551: mark half-auth no-op fetch test as v0-only
815 +
816 + Test update.
817 +
818 + Will merge to 'next'.
819 +
820 +
821 +
822 +* km/empty-repo-is-still-a-repo (2019-04-03) 4 commits
823 + - dir: do not traverse repositories with no commits
824 + - t3009: test that ls-files -o traverses bogus repo
825 + - t3000: move non-submodule repo test to separate file
826 + - submodule: refuse to add repository with no commits
827 +
828 + Running "git add" on a repository created inside the current
829 + repository is an explicit indication that the user wants to add it
830 + as a submodule, but when the HEAD of the inner repository is on an
831 + unborn branch, it cannot be added as a submodule. Worse, the files
832 + in its working tree can be added as if they are a part of the outer
833 + repository, which is not what the user wants. These problems are
834 + being addressed.
835 +
836 + Getting there.
837 + cf. <87bm1mbua4.fsf@kyleam.com>
838 +
839 +
840 +* nd/checkout-m (2019-03-24) 4 commits
841 + - checkout: prevent losing staged changes with --merge
842 + - read-tree: add --quiet
843 + - unpack-trees: rename "gently" flag to "quiet"
844 + - unpack-trees: keep gently check inside add_rejected_path
845 +
846 + "git checkout -m <other>" was about carrying the differences
847 + between HEAD and the working-tree files forward while checking out
848 + another branch, and ignored the differences between HEAD and the
849 + index. The command has been taught to abort when the index and the
850 + HEAD are different.
851 +
852 + Will merge to 'next'.
853 +
854 +
855 +* nd/checkout-m-doc-update (2019-03-21) 1 commit
856 + - checkout.txt: note about losing staged changes with --merge
857 +
858 + Doc about the above.
859 +
860 + Will merge to 'next'.
861
862
252 -* mh/pack-protocol-doc-fix (2019-03-18) 1 commit
253 - - fix pack protocol example client/server communication
863 +* nd/commit-a-with-paths-msg-update (2019-03-22) 1 commit
864 + - commit: improve error message in "-a <paths>" case
865
255 - Docfix.
866 + The message given when "git commit -a <paths>" errors out has been
867 + updated.
868
869 Will merge to 'next'.
870
871
260 -* nd/checkout-f-while-conflicted-fix (2019-03-19) 1 commit
261 - - unpack-trees: fix oneway_merge accidentally carry over stage index
262 -
263 - "git checkout -f <branch>" while the index has an unmerged path
264 - incorrectly left some paths in an unmerged state, which has been
265 - corrected.
872 +* nd/diff-parseopt-4 (2019-03-24) 20 commits
873 + - am: avoid diff_opt_parse()
874 + - diff --no-index: use parse_options() instead of diff_opt_parse()
875 + - range-diff: use parse_options() instead of diff_opt_parse()
876 + - diff.c: allow --no-color-moved-ws
877 + - diff-parseopt: convert --color-moved-ws
878 + - diff-parseopt: convert --[no-]color-moved
879 + - diff-parseopt: convert --inter-hunk-context
880 + - diff-parseopt: convert --no-prefix
881 + - diff-parseopt: convert --line-prefix
882 + - diff-parseopt: convert --[src|dst]-prefix
883 + - diff-parseopt: convert --[no-]abbrev
884 + - diff-parseopt: convert --diff-filter
885 + - diff-parseopt: convert --find-object
886 + - diff-parseopt: convert -O
887 + - diff-parseopt: convert --pickaxe-all|--pickaxe-regex
888 + - diff-parseopt: convert -S|-G
889 + - diff-parseopt: convert -l
890 + - diff-parseopt: convert -z
891 + - diff-parseopt: convert --ita-[in]visible-in-index
892 + - diff-parseopt: convert --ws-error-highlight
893 + (this branch uses nd/diff-parseopt-3.)
894 +
895 + Fourth batch to teach the diff machinery to use the parse-options
896 + API.
897
898 Will merge to 'next'.
899
900
270 -* pw/cherry-pick-continue (2019-03-18) 3 commits
271 - - cherry-pick --continue: remember options
272 - - cherry-pick: demonstrate option amnesia
273 - - sequencer: break some long lines
901 +* nd/include-if-wildmatch (2019-04-01) 1 commit
902 + - config: correct '**' matching in includeIf patterns
903
275 - "git cherry-pick --options A..B", after giving control back to the
276 - user to ask help resolving a conflicted step, did not honor the
277 - options it originally received, which has been corrected.
904 + A buglet in configuration parser has been fixed.
905
906 Will merge to 'next'.
907
908
282 -* pw/rerere-autoupdate (2019-03-18) 2 commits
283 - - merge: tweak --rerere-autoupdate documentation
284 - - am/cherry-pick/rebase/revert: document --rerere-autoupdate
909 +* nd/interpret-trailers-docfix (2019-04-01) 1 commit
910 + - interpret-trailers.txt: start the desc line with a capital letter
911
286 - Doc updates.
912 + Doc update.
913
914 Will merge to 'next'.
915
916
291 -* sg/test-atexit (2019-03-14) 11 commits
292 - - t9811-git-p4-label-import: fix pipeline negation
293 - - git p4 test: disable '-x' tracing in the p4d watchdog loop
294 - - git p4 test: simplify timeout handling
295 - - git p4 test: clean up the p4d cleanup functions
296 - - git p4 test: use 'test_atexit' to kill p4d and the watchdog process
297 - - t0301-credential-cache: use 'test_atexit' to stop the credentials helper
298 - - tests: use 'test_atexit' to stop httpd
299 - - git-daemon: use 'test_atexit` to stop 'git-daemon'
300 - - test-lib: introduce 'test_atexit'
301 - - t/lib-git-daemon: make sure to kill the 'git-daemon' process
302 - - test-lib: fix interrupt handling with 'dash' and '--verbose-log -x'
917
304 - Test framework update to more robustly clean up leftover files and
305 - processes after tests are done.
918 +* nd/precious (2019-04-01) 1 commit
919 + - Introduce "precious" file concept
920 +
921 + "git clean" learned to pay attention to the 'precious' attributes
922 + and keep untracked paths with the attribute instead of removing.
923
924 Will merge to 'next'.
925
926
310 -* tb/trace2-va-list-fix (2019-03-20) 1 commit
311 - - trace2: NULL is not allowed for va_list
927 +* nd/read-tree-reset-doc (2019-04-02) 1 commit
928 + - read-tree.txt: clarify --reset and worktree changes
929
313 - Fix some code that passed a NULL when a va_list was expected.
930 + The documentation for "git read-tree --reset -u" has been updated.
931
932 Will merge to 'next'.
933
934
318 -* tg/glossary-overlay (2019-03-18) 1 commit
319 - - glossary: add definition for overlay
320 -
321 - Doc update.
935 +* nd/sha1-name-c-wo-the-repository (2019-04-02) 31 commits
936 + - sha1-name.c: remove the_repo from get_oid_mb()
937 + - sha1-name.c: remove the_repo from other get_oid_*
938 + - sha1-name.c: remove the_repo from maybe_die_on_misspelt_object_name
939 + - submodule-config.c: use repo_get_oid for reading .gitmodules
940 + - sha1-name.c: add repo_get_oid()
941 + - sha1-name.c: remove the_repo from get_oid_with_context_1()
942 + - sha1-name.c: remove the_repo from resolve_relative_path()
943 + - sha1-name.c: remove the_repo from diagnose_invalid_index_path()
944 + - sha1-name.c: remove the_repo from handle_one_ref()
945 + - sha1-name.c: remove the_repo from get_oid_1()
946 + - sha1-name.c: remove the_repo from get_oid_basic()
947 + - sha1-name.c: remove the_repo from get_describe_name()
948 + - sha1-name.c: remove the_repo from get_oid_oneline()
949 + - sha1-name.c: add repo_interpret_branch_name()
950 + - sha1-name.c: remove the_repo from interpret_branch_mark()
951 + - sha1-name.c: remove the_repo from interpret_nth_prior_checkout()
952 + - sha1-name.c: remove the_repo from get_short_oid()
953 + - sha1-name.c: add repo_for_each_abbrev()
954 + - sha1-name.c: store and use repo in struct disambiguate_state
955 + - sha1-name.c: add repo_find_unique_abbrev_r()
956 + - sha1-name.c: remove the_repo from find_abbrev_len_packed()
957 + - sha1-name.c: remove the_repo from sort_ambiguous()
958 + - commit.c: add repo_get_commit_tree()
959 + - refs.c: remove the_repo from read_ref_at()
960 + - refs.c: add repo_dwim_log()
961 + - refs.c: add repo_dwim_ref()
962 + - refs.c: remove the_repo from expand_ref()
963 + - refs.c: remove the_repo from substitute_branch_name()
964 + - refs.c: add refs_shorten_unambiguous_ref()
965 + - refs.c: add refs_ref_exists()
966 + - packfile.c: add repo_approximate_object_count()
967 +
968 +
969 +* pw/rebase-i-internal-rfc (2019-03-21) 12 commits
970 + - rebase -i: run without forking rebase--interactive
971 + - rebase: use a common action enum
972 + - rebase -i: use struct rebase_options in do_interactive_rebase()
973 + - rebase -i: use struct rebase_options to parse args
974 + - rebase -i: use struct object_id for squash_onto
975 + - rebase -i: use struct commit when parsing options
976 + - rebase -i: remove duplication
977 + - rebase -i: combine rebase--interactive.c with rebase.c
978 + - rebase: use OPT_RERERE_AUTOUPDATE()
979 + - rebase: rename write_basic_state()
980 + - sequencer: always discard index after checkout
981 + - Merge branch 'ag/sequencer-reduce-rewriting-todo' into pw/rebase-i-internal-rfc
982 + (this branch uses ag/sequencer-reduce-rewriting-todo.)
983 +
984 + The internal implementation of "git rebase -i" has been updated to
985 + avoid forking a separate "rebase--interactive" process.
986 +
987 +
988 +* sg/asciidoctor-in-ci (2019-04-01) 6 commits
989 + - ci: fix AsciiDoc/Asciidoctor stderr check in the documentation build job
990 + - ci: stick with Asciidoctor v1.5.8 for now
991 + - ci: install Asciidoctor in 'ci/install-dependencies.sh'
992 + - Documentation/technical/protocol-v2.txt: fix formatting
993 + - Documentation/technical/api-config.txt: fix formatting
994 + - Documentation/git-diff-tree.txt: fix formatting
995 +
996 + Update our support to format documentation in the CI environment,
997 + either with AsciiDoc ro Asciidoctor.
998
999 Will merge to 'next'.
1000
1001
326 -* tg/stash-in-c-show-default-to-p-fix (2019-03-20) 1 commit
327 - - stash: setup default diff output format if necessary
328 - (this branch uses ps/stash-in-c; is tangled with js/stash-in-c-pathspec-fix and tb/stash-in-c-unused-param-fix.)
1002 +* sg/index-pack-progress (2019-04-01) 1 commit
1003 + - index-pack: show progress while checking objects
1004
330 - A regression fix.
1005 + size_t???
1006 +
1007 +
1008 +* sg/overlong-progress-fix (2019-04-02) 4 commits
1009 + - progress: break too long progress bar lines
1010 + - progress: clear previous progress update dynamically
1011 + - progress: assemble percentage and counters in a strbuf before printing
1012 + - progress: make display_progress() return void
1013 +
1014 + Updating the display with progress message has been cleaned up to
1015 + deal better with overlong messages.
1016
1017 Will merge to 'next'.
1018
1019
335 -* tz/completion (2019-03-18) 4 commits
336 - - completion: use __git when calling --list-cmds
337 - - completion: fix multiple command removals
338 - - t9902: test multiple removals via completion.commands
339 - - git: read local config in --list-cmds
1020 +* sg/t5318-cleanup (2019-03-24) 1 commit
1021 + - t5318-commit-graph: remove unused variable
1022
341 - The completion helper code now pays attention to repository-local
342 - configuration (when available), which allows --list-cmds to honour
343 - a repository specific setting of completion.commands, for example.
1023 + Code cleanup.
1024
345 - Getting there...
346 - cf. <20190317181620.26727-1-tmz@pobox.com> (v2)
347 - cf. <CACsJy8DiQwmAKMruOAO4roPbiRTvt5TESBTd682hTwkZjcoj2Q@mail.gmail.com>
1025 + Will merge to 'next'.
1026
1027
350 -* tz/t4038-bash-redirect-target-workaround (2019-03-18) 1 commit
351 - - t4038-diff-combined: quote paths with whitespace
1028 +* tz/asciidoctor-fixes (2019-04-01) 2 commits
1029 + - Documentation/git-status: fix titles in porcelain v2 section
1030 + - Documentation/rev-list-options: wrap --date=<format> block with "--"
1031
353 - Work-around extra warning from bash in our tests.
1032 + Doc updates.
1033
1034 Will merge to 'next'.
1035
@@ -416,24 +1095,8 @@ of the repositories listed at
1095 Anybody who wants to champion this topic?
1096 I am personally not yet quite convinced if this is worth pursuing.
1097
419 -
420 -* pw/add-p-select (2018-07-26) 4 commits
421 - - add -p: optimize line selection for short hunks
422 - - add -p: allow line selection to be inverted
423 - - add -p: select modified lines correctly
424 - - add -p: select individual hunk lines
425 -
426 - "git add -p" interactive interface learned to let users choose
427 - individual added/removed lines to be used in the operation, instead
428 - of accepting or rejecting a whole hunk.
429 -
430 - Will discard.
431 - No further feedbacks on the topic for quite some time.
432 -
433 - cf. <d622a95b-7302-43d4-4ec9-b2cf3388c653@talktalk.net>
434 - I found the feature to be hard to explain, and may result in more
435 - end-user complaints, but let's see.
436 -
1098 +--------------------------------------------------
1099 +[Cooking]
1100
1101 * nb/branch-show-other-worktrees-head (2019-03-18) 3 commits
1102 - branch: add worktree info on verbose output
@@ -445,24 +1108,24 @@ of the repositories listed at
1108 '+', similar to the way the currently checked out branch is shown
1109 with '*' in front.
1110
448 - The top one probably deserves retitling.
449 - The second one is of dubious value, but if we are keeping it,
450 - it should also be retitled.
1111 + Getting there...
1112 + cf. <20190316013807.38756-1-nbelakovski@gmail.com> (v9)
1113 + cf. <20190318121054.GC24175@szeder.dev>
1114
452 ---------------------------------------------------
453 -[Cooking]
1115
1116 * dl/ignore-docs (2019-03-08) 2 commits
456 - - docs: move core.excludesFile from git-add to gitignore
457 - - git-clean.txt: clarify ignore pattern files
1117 + (merged to 'next' on 2019-03-20 at f1f50c07ef)
1118 + + docs: move core.excludesFile from git-add to gitignore
1119 + + git-clean.txt: clarify ignore pattern files
1120
1121 Doc update.
1122
461 - Will merge to 'next'.
1123 + Will merge to 'master'.
1124
1125
1126 * jh/resize-convert-scratch-buffer (2019-03-08) 1 commit
465 - - convert: avoid malloc of original file size
1127 + (merged to 'next' on 2019-03-20 at 92a24b29ed)
1128 + + convert: avoid malloc of original file size
1129
1130 When the "clean" filter can reduce the size of a huge file in the
1131 working tree down to a small "token" (a la Git LFS), there is no
@@ -471,26 +1134,28 @@ of the repositories listed at
1134 allocates very minimum and reallocates as it receives the output
1135 from the clean filter process.
1136
474 - Will merge to 'next'.
1137 + Will merge to 'master'.
1138
1139
1140 * jk/line-log-with-patch (2019-03-11) 2 commits
478 - - line-log: detect unsupported formats
479 - - line-log: suppress diff output with "-s"
1141 + (merged to 'next' on 2019-03-20 at 21afea908c)
1142 + + line-log: detect unsupported formats
1143 + + line-log: suppress diff output with "-s"
1144
1145 "git log -L<from>,<to>:<path>" with "-s" did not suppress the patch
1146 output as it should. This has been corrected.
1147
484 - Will merge to 'next'.
1148 + Will merge to 'master'.
1149
1150
1151 * js/rebase-deprecate-preserve-merges (2019-03-12) 1 commit
488 - - rebase: deprecate --preserve-merges
1152 + (merged to 'next' on 2019-03-20 at 32baac3acd)
1153 + + rebase: deprecate --preserve-merges
1154
1155 "git rebase --rebase-merges" replaces its old "--preserve-merges"
1156 option; the latter is now marked as deprecated.
1157
493 - Will merge to 'next'.
1158 + Will merge to 'master'.
1159
1160
1161 * js/init-db-update-for-mingw (2019-03-12) 1 commit
@@ -504,50 +1169,27 @@ of the repositories listed at
1169
1170
1171 * js/stash-in-c-pathspec-fix (2019-03-12) 3 commits
507 - - stash: pass pathspec as pointer
508 - - built-in stash: handle :(glob) pathspecs again
509 - - legacy stash: fix "rudimentary backport of -q"
1172 + (merged to 'next' on 2019-03-20 at e81d08af7a)
1173 + + stash: pass pathspec as pointer
1174 + + built-in stash: handle :(glob) pathspecs again
1175 + + legacy stash: fix "rudimentary backport of -q"
1176 (this branch uses ps/stash-in-c; is tangled with tb/stash-in-c-unused-param-fix and tg/stash-in-c-show-default-to-p-fix.)
1177
1178 Further fixes to "git stash" reimplemented in C.
1179
514 - Will merge to 'next'.
1180 + Will cook in 'next'.
1181
1182
1183 * nd/rewritten-ref-is-per-worktree (2019-03-08) 3 commits
518 - - Make sure refs/rewritten/ is per-worktree
519 - - files-backend.c: reduce duplication in add_per_worktree_entries_to_dir()
520 - - files-backend.c: factor out per-worktree code in loose_fill_ref_dir()
1184 + (merged to 'next' on 2019-03-20 at 5369a2e1f6)
1185 + + Make sure refs/rewritten/ is per-worktree
1186 + + files-backend.c: reduce duplication in add_per_worktree_entries_to_dir()
1187 + + files-backend.c: factor out per-worktree code in loose_fill_ref_dir()
1188
1189 "git rebase" uses the refs/rewritten/ hierarchy to store its
1190 intermediate states, which inherently makes the hierarchy per
1191 worktree, but it didn't quite work well.
1192
526 - Will merge to 'next'.
527 -
528 -
529 -* br/commit-tree-parseopt (2019-03-08) 1 commit
530 - (merged to 'next' on 2019-03-11 at e1228ef04f)
531 - + commit-tree: utilize parse-options api
532 -
533 - Originally merged to 'next' on 2019-03-08
534 -
535 - The command line parser of "git commit-tree" has been rewritten to
536 - use the parse-options API.
537 -
538 - Will merge to 'master'.
539 -
540 -
541 -* jk/config-type-color-ends-with-lf (2019-03-07) 1 commit
542 - (merged to 'next' on 2019-03-11 at 810b269d1a)
543 - + config: document --type=color output is a complete line
544 -
545 - Originally merged to 'next' on 2019-03-07
546 -
547 - "git config --type=color ..." is meant to replace "git config --get-color"
548 - but there is a slight difference that wasn't documented, which is
549 - now fixed.
550 -
1193 Will merge to 'master'.
1194
1195
@@ -574,112 +1216,53 @@ of the repositories listed at
1216
1217
1218 * nd/diff-parseopt-3 (2019-03-07) 20 commits
577 - - diff-parseopt: convert --submodule
578 - - diff-parseopt: convert --ignore-submodules
579 - - diff-parseopt: convert --textconv
580 - - diff-parseopt: convert --ext-diff
581 - - diff-parseopt: convert --quiet
582 - - diff-parseopt: convert --exit-code
583 - - diff-parseopt: convert --color-words
584 - - diff-parseopt: convert --word-diff-regex
585 - - diff-parseopt: convert --word-diff
586 - - diff-parseopt: convert --[no-]color
587 - - diff-parseopt: convert --[no-]follow
588 - - diff-parseopt: convert -R
589 - - diff-parseopt: convert -a|--text
590 - - diff-parseopt: convert --full-index
591 - - diff-parseopt: convert --binary
592 - - diff-parseopt: convert --anchored
593 - - diff-parseopt: convert --diff-algorithm
594 - - diff-parseopt: convert --histogram
595 - - diff-parseopt: convert --patience
596 - - diff-parseopt: convert --[no-]indent-heuristic
1219 + (merged to 'next' on 2019-03-20 at ee79d4924b)
1220 + + diff-parseopt: convert --submodule
1221 + + diff-parseopt: convert --ignore-submodules
1222 + + diff-parseopt: convert --textconv
1223 + + diff-parseopt: convert --ext-diff
1224 + + diff-parseopt: convert --quiet
1225 + + diff-parseopt: convert --exit-code
1226 + + diff-parseopt: convert --color-words
1227 + + diff-parseopt: convert --word-diff-regex
1228 + + diff-parseopt: convert --word-diff
1229 + + diff-parseopt: convert --[no-]color
1230 + + diff-parseopt: convert --[no-]follow
1231 + + diff-parseopt: convert -R
1232 + + diff-parseopt: convert -a|--text
1233 + + diff-parseopt: convert --full-index
1234 + + diff-parseopt: convert --binary
1235 + + diff-parseopt: convert --anchored
1236 + + diff-parseopt: convert --diff-algorithm
1237 + + diff-parseopt: convert --histogram
1238 + + diff-parseopt: convert --patience
1239 + + diff-parseopt: convert --[no-]indent-heuristic
1240 + (this branch is used by nd/diff-parseopt-4.)
1241
1242 Third batch to teach the diff machinery to use the parse-options
1243 API.
1244
601 - Will merge to 'next'.
1245 + Will merge to 'master'.
1246 cf. <20190305123026.7266-1-pclouds@gmail.com>
1247
1248
1249 * jt/test-protocol-version (2019-03-07) 8 commits
606 - - t5552: compensate for v2 filtering ref adv.
607 - - tests: fix protocol version for overspecifications
608 - - t5700: only run with protocol version 1
609 - - t5512: compensate for v0 only sending HEAD symrefs
610 - - t5503: fix overspecification of trace expectation
611 - - tests: always test fetch of unreachable with v0
612 - - t5601: check ssh command only with protocol v0
613 - - tests: define GIT_TEST_PROTOCOL_VERSION
1250 + (merged to 'next' on 2019-03-20 at 0c97907bdb)
1251 + + t5552: compensate for v2 filtering ref adv.
1252 + + tests: fix protocol version for overspecifications
1253 + + t5700: only run with protocol version 1
1254 + + t5512: compensate for v0 only sending HEAD symrefs
1255 + + t5503: fix overspecification of trace expectation
1256 + + tests: always test fetch of unreachable with v0
1257 + + t5601: check ssh command only with protocol v0
1258 + + tests: define GIT_TEST_PROTOCOL_VERSION
1259 + (this branch is used by jt/fetch-no-update-shallow-in-proto-v2.)
1260
1261 Help developers by making it easier to run most of the tests under
1262 different versions of over-the-wire protocols.
1263
618 - Will merge to 'next'.
619 - cf. <cover.1551131153.git.jonathantanmy@google.com>
620 -
621 -
622 -* jk/bisect-final-output (2019-03-01) 3 commits
623 - (merged to 'next' on 2019-03-11 at dea599eb04)
624 - + bisect: make diff-tree output prettier
625 - + bisect: fix internal diff-tree config loading
626 - + bisect: use string arguments to feed internal diff-tree
627 -
628 - Originally merged to 'next' on 2019-03-07
629 -
630 - The final report from "git bisect" used to show the suspected
631 - culprit using a raw "diff-tree", with which there is no output for
632 - a merge commit. This has been updated to use a more modern and
633 - human readable output that still is concise enough.
634 -
635 - Will merge to 'master'.
636 -
637 -
638 -* jk/fsck-doc (2019-03-05) 2 commits
639 - (merged to 'next' on 2019-03-11 at 5cd610f73e)
640 - + fsck: always compute USED flags for unreachable objects
641 - + doc/fsck: clarify --connectivity-only behavior
642 -
643 - Originally merged to 'next' on 2019-03-07
644 -
645 - "git fsck --connectivity-only" omits computation necessary to sift
646 - the objects that are not reachable from any of the refs into
647 - unreachable and dangling. This is now enabled when dangling
648 - objects are requested (which is done by default, but can be
649 - overridden with the "--no-dangling" option).
650 -
651 - Will merge to 'master'.
652 -
653 -
654 -* jk/no-sigpipe-during-network-transport (2019-03-05) 2 commits
655 - (merged to 'next' on 2019-03-11 at 25900acd0d)
656 - + fetch: ignore SIGPIPE during network operation
657 - + fetch: avoid calling write_or_die()
658 -
659 - Originally merged to 'next' on 2019-03-07
660 -
661 - On platforms where "git fetch" is killed with SIGPIPE (e.g. OSX),
662 - the upload-pack that runs on the other end that hangs up after
663 - detecting an error could cause "git fetch" to die with a signal,
664 - which led to a flakey test. "git fetch" now ignores SIGPIPE during
665 - the network portion of its operation (this is not a problem as we
666 - check the return status from our write(2)s).
667 -
668 - Will merge to 'master'.
669 -
670 -
671 -* jk/virtual-objects-do-exist (2019-03-05) 1 commit
672 - (merged to 'next' on 2019-03-11 at 748c79a1f0)
673 - + rev-list: allow cached objects in existence check
674 -
675 - Originally merged to 'next' on 2019-03-07
676 -
677 - A recent update broke "is this object available to us?" check for
678 - well-known objects like an empty tree (which should yield "yes",
679 - even when there is no on-disk object for an empty tree), which has
680 - been corrected.
681 -
1264 Will merge to 'master'.
1265 + cf. <cover.1551131153.git.jonathantanmy@google.com>
1266
1267
1268 * js/anonymize-remote-curl-diag (2019-03-05) 1 commit
@@ -692,33 +1275,6 @@ of the repositories listed at
1275 Will merge to 'next'.
1276
1277
695 -* js/rebase-orig-head-fix (2019-03-04) 4 commits
696 - (merged to 'next' on 2019-03-11 at 4b1b19d391)
697 - + built-in rebase: set ORIG_HEAD just once, before the rebase
698 - + built-in rebase: demonstrate that ORIG_HEAD is not set correctly
699 - + built-in rebase: use the correct reflog when switching branches
700 - + built-in rebase: no need to check out `onto` twice
701 -
702 - Originally merged to 'next' on 2019-03-07
703 -
704 - "git rebase" that was reimplemented in C did not set ORIG_HEAD
705 - correctly, which has been corrected.
706 -
707 - Will merge to 'master'.
708 -
709 -
710 -* js/stress-test-ui-tweak (2019-03-04) 2 commits
711 - (merged to 'next' on 2019-03-11 at 223afded1c)
712 - + tests: introduce --stress-jobs=<N>
713 - + tests: let --stress-limit=<N> imply --stress
714 -
715 - Originally merged to 'next' on 2019-03-07
716 -
717 - Dev support.
718 -
719 - Will merge to 'master'.
720 -
721 -
1278 * ma/asciidoctor-fixes (2019-03-11) 3 commits
1279 - asciidoctor-extensions: fix spurious space after linkgit
1280 - Documentation/Makefile: add missing dependency on asciidoctor-extensions
@@ -729,41 +1285,44 @@ of the repositories listed at
1285 Will merge to 'next'.
1286
1287
732 -* nd/worktree-name-sanitization (2019-03-11) 2 commits
1288 +* nd/worktree-name-sanitization (2019-03-20) 2 commits
1289 - SQUASH???
1290 - worktree add: sanitize worktree names
1291
1292 In recent versions of Git, per-worktree refs are exposed in
1293 refs/worktrees/<wtname>/ hierarchy, which means that worktree names
1294 must be a valid refname component. The code now sanitizes the names
739 - given to worktrees, to make sure these refs are not malforked.
1295 + given to worktrees, to make sure these refs are well-formed.
1296
1297
1298 * ra/t3600-test-path-funcs (2019-03-08) 3 commits
743 - - t3600: use helpers to replace test -d/f/e/s <path>
744 - - t3600: modernize style
745 - - test functions: add function `test_file_not_empty`
1299 + (merged to 'next' on 2019-03-20 at 404110d291)
1300 + + t3600: use helpers to replace test -d/f/e/s <path>
1301 + + t3600: modernize style
1302 + + test functions: add function `test_file_not_empty`
1303
1304 A GSoC micro.
1305
749 - Will merge to 'next'.
1306 + Will merge to 'master'.
1307 cf. <20190304120801.28763-1-rohit.ashiwal265@gmail.com> (v3)
1308
1309
1310 * dl/reset-doc-no-wrt-abbrev (2019-03-06) 1 commit
754 - - git-reset.txt: clarify documentation
1311 + (merged to 'next' on 2019-03-20 at 984b4586c7)
1312 + + git-reset.txt: clarify documentation
1313
1314 Doc update.
1315
758 - Will merge to 'next'.
1316 + Will merge to 'master'.
1317
1318
1319 * ja/dir-rename-doc-markup-fix (2019-03-06) 1 commit
762 - - Doc: fix misleading asciidoc formating
1320 + (merged to 'next' on 2019-03-20 at f3238df381)
1321 + + Doc: fix misleading asciidoc formating
1322
1323 Doc update.
1324
766 - Will merge to 'next'.
1325 + Will merge to 'master'.
1326
1327
1328 * bp/post-index-change-hook (2019-02-15) 1 commit
@@ -779,34 +1338,15 @@ of the repositories listed at
1338 Will cook in 'next'.
1339
1340
782 -* jc/format-patch-error-check (2019-02-22) 3 commits
783 - - format-patch: --no-clobber refrains from overwriting output files
1341 +* jc/format-patch-error-check (2019-02-22) 2 commits
1342 - format-patch: notice failure to open cover letter for writing
1343 - builtin/log: downcase the beginning of error messages
1344 + (this branch is used by jc/format-patch-noclobber.)
1345
1346 "git format-patch" used overwrite an existing patch/cover-letter
1347 file. A new "--no-clobber" option stops it.
1348
790 - Will merge to 'next' after dropping the tip commit.
791 - I think the bottom two were indenendently good changes; the top one
792 - was met with "Meh" by reviewer(s), and I tend to agree.
793 -
794 -
795 -* ab/makefile-help-devs-more (2019-02-24) 6 commits
796 - (merged to 'next' on 2019-03-11 at 898f5f44bc)
797 - + Makefile: allow for combining DEVELOPER=1 and CFLAGS="..."
798 - + Makefile: move the setting of *FLAGS closer to "include"
799 - + Makefile: Move *_LIBS assignment into its own section
800 - + Makefile: add/remove comments at top and tweak whitespace
801 - + Makefile: move "strip" assignment down from flags
802 - + Makefile: remove an out-of-date comment
803 -
804 - Originally merged to 'next' on 2019-03-07
805 -
806 - CFLAGS now can be tweaked when invoking Make while using
807 - DEVELOPER=YesPlease; this did not work well before.
808 -
809 - Will merge to 'master'.
1349 + Will merge to 'next'.
1350
1351
1352 * jt/fetch-cdn-offload (2019-03-12) 9 commits
@@ -861,19 +1401,6 @@ of the repositories listed at
1401 Needs update before merging to 'next'.
1402
1403
864 -* sx/evolve (2019-02-15) 8 commits
865 - . evolve: add the git change list command
866 - . evolve: implement the git change command
867 - . evolve: add support for writing metacommits
868 - . evolve: add the change-table structure
869 - . evolve: add support for parsing metacommits
870 - . ref-filter: add the metas namespace to ref-filter
871 - . sha1-array: implement oid_array_readonly_contains
872 - . technical doc: add a design doc for the evolve command
873 -
874 - The beginning of "hg evolve" mimicry.
875 -
876 -
1404 * br/blame-ignore (2019-02-13) 6 commits
1405 - SQUASH???
1406 - blame: add tests for ignoring revisions
@@ -900,20 +1427,7 @@ of the repositories listed at
1427 Needs review.
1428
1429
903 -* ma/clear-repository-format (2019-03-01) 2 commits
904 - (merged to 'next' on 2019-03-11 at f3db1c278f)
905 - + setup: fix memory leaks with `struct repository_format`
906 - + setup: free old value before setting `work_tree`
907 -
908 - Originally merged to 'next' on 2019-03-07
909 -
910 - The setup code has been cleaned up to avoid leaks around the
911 - repository_format structure.
912 -
913 - Will merge to 'master'.
914 -
915 -
916 -* dl/merge-cleanup-scissors-fix (2019-03-18) 11 commits
1430 +* dl/merge-cleanup-scissors-fix (2019-03-21) 11 commits
1431 - cherry-pick/revert: add scissors line on merge conflict
1432 - sequencer.c: define describe_cleanup_mode
1433 - merge: add scissors line on merge conflict
@@ -921,9 +1435,9 @@ of the repositories listed at
1435 - sequencer.c: remove duplicate code
1436 - parse-options.h: extract common --cleanup option
1437 - commit: extract cleanup_mode functions to sequencer
924 - - t7502: clean up test style
925 - - t7604: refactor out Git commands upstream of pipe
926 - - t3507: cleanup space after redirection operators
1438 + - t7502: clean up style
1439 + - t7604: clean up style
1440 + - t3507: clean up style
1441 - t7600: clean up style
1442
1443 The list of conflicted paths shown in the editor while concluding a
@@ -932,9 +1446,8 @@ of the repositories listed at
1446 out just like the list of updated paths and other information to
1447 help the user explain the merge better.
1448
935 - Getting there ;-)
936 - cf. <cover.1552275703.git.liu.denton@gmail.com> (v7)
937 - Expecting v9.
1449 + Needs review.
1450 + cf. <cover.1553150827.git.liu.denton@gmail.com> (v9)
1451
1452
1453 * jn/unknown-index-extensions (2018-11-21) 2 commits
@@ -966,6 +1479,7 @@ of the repositories listed at
1479 - sequencer: remove the 'arg' field from todo_item
1480 - sequencer: make the todo_list structure public
1481 - sequencer: changes in parse_insn_buffer()
1482 + (this branch is used by pw/rebase-i-internal-rfc.)
1483
1484 The scripted version of "git rebase -i" wrote and rewrote the todo
1485 list many times during a single step of its operation, and the