]> git.ipfire.org Git - thirdparty/git.git/commitdiff
What's cooking (2021/10 #03)
authorJunio C Hamano <gitster@pobox.com>
Mon, 11 Oct 2021 19:55:01 +0000 (12:55 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 11 Oct 2021 19:55:01 +0000 (12:55 -0700)
whats-cooking.txt

index 5e948b4db59d0230abc5e7f7791eb6be758ed5e4..152ed6e35b02a6546156fff7ccb25e7b5cd89195 100644 (file)
@@ -1,10 +1,10 @@
 To: git@vger.kernel.org
 Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Oct 2021, #02; Wed, 6)
-X-master-at: 106298f7f9cca4158a980de149ef217751e1f943
-X-next-at: 6e70778dc91e2139466c15ff15a02a22a2ada2d1
+Subject: What's cooking in git.git (Oct 2021, #03; Mon, 11)
+X-master-at: 2a97289ad8b103625d3a1a12f66c27f50df822ce
+X-next-at: b88fcb3f61432d526395a9937acaea0c67ee1aaf
 
-What's cooking in git.git (Oct 2021, #02; Wed, 6)
+What's cooking in git.git (Oct 2021, #03; Mon, 11)
 --------------------------------------------------
 
 Here are the topics that have been cooking in my tree.  Commits
@@ -18,7 +18,8 @@ useful").  Do not read too much into a topic being in (or not in)
 'seen'.  The ones marked with '.' do not appear in any of the
 integration branches, but I am still holding onto them.
 
-The eleventh batch is in.
+The eleventh and twelfth batches of topics are in the 'master'
+branch, and quite a many topics started cooking in 'next'.
 
 Copies of the source code to Git live in many repositories, and the
 following is a list of the ones I push into or their mirrors.  Some
@@ -51,161 +52,294 @@ Release tarballs are available at:
 --------------------------------------------------
 [Graduated to 'master']
 
-* ab/repo-settings-cleanup (2021-09-22) 5 commits
-  (merged to 'next' on 2021-09-28 at 43d70c31e1)
- + repository.h: don't use a mix of int and bitfields
- + repo-settings.c: simplify the setup
- + read-cache & fetch-negotiator: check "enum" values in switch()
- + environment.c: remove test-specific "ignore_untracked..." variable
- + wrapper.c: add x{un,}setenv(), and use xsetenv() in environment.c
+* ab/designated-initializers (2021-09-27) 5 commits
+  (merged to 'next' on 2021-10-03 at 179f652de6)
+ + cbtree.h: define cb_init() in terms of CBTREE_INIT
+ + *.h: move some *_INIT to designated initializers
+ + *.h _INIT macros: don't specify fields equal to 0
+ + *.[ch] *_INIT macros: use { 0 } for a "zero out" idiom
+ + submodule-config.h: remove unused SUBMODULE_INIT macro
+ (this branch is used by ab/designated-initializers-more.)
 
- Code cleanup.
+ Code clean-up.
 
 
-* ab/retire-decl-of-missing-unused-funcs (2021-10-01) 4 commits
-  (merged to 'next' on 2021-10-03 at a49287eaa9)
- + config.h: remove unused git_config_get_untracked_cache() declaration
- + log-tree.h: remove unused function declarations
- + grep.h: remove unused grep_threads_ok() declaration
- + builtin.h: remove cmd_tar_tree() declaration
+* ab/http-pinned-public-key-mismatch (2021-09-27) 1 commit
+  (merged to 'next' on 2021-10-03 at cd67328eed)
+ + http: check CURLE_SSL_PINNEDPUBKEYNOTMATCH when emitting errors
 
Remove external declaration of functions that no longer exist.
HTTPS error handling updates.
 
 
-* ab/retire-refs-unused-funcs (2021-09-28) 5 commits
-  (merged to 'next' on 2021-10-03 at f91e74fa7d)
- + refs/ref-cache.[ch]: remove "incomplete" from create_dir_entry()
- + refs/ref-cache.c: remove "mkdir" parameter from find_containing_dir()
- + refs/ref-cache.[ch]: remove unused add_ref_entry()
- + refs/ref-cache.[ch]: remove unused remove_entry_from_dir()
- + refs.[ch]: remove unused ref_storage_backend_exists()
+* ab/retire-git-config-key-is-valid (2021-09-28) 1 commit
+  (merged to 'next' on 2021-10-03 at fc7a0a55d1)
+ + config.c: remove unused git_config_key_is_valid()
 
  Code cleanup.
 
 
-* ab/retire-string-list-init (2021-09-28) 1 commit
-  (merged to 'next' on 2021-10-03 at 4834949cc3)
- + string-list.[ch]: remove string_list_init() compatibility function
+* ab/sanitize-leak-ci (2021-09-23) 2 commits
+  (merged to 'next' on 2021-10-03 at dcd62a3fc6)
+ + tests: add a test mode for SANITIZE=leak, run it in CI
+ + Makefile: add SANITIZE=leak flag to GIT-BUILD-OPTIONS
+ (this branch is used by ab/mark-leak-free-tests, ab/mark-leak-free-tests-more and ab/unpack-trees-leakfix.)
 
- Code cleanup.
+ CI learns to run the leak sanitizer builds.
 
 
-* ew/midx-doc-update (2021-09-24) 1 commit
-  (merged to 'next' on 2021-09-28 at f2cbe598eb)
- + doc/technical: update note about core.multiPackIndex
+* da/difftool (2021-09-30) 6 commits
+  (merged to 'next' on 2021-10-03 at 3ba0335e4e)
+ + difftool: add a missing space to the run_dir_diff() comments
+ + difftool: remove an unnecessary call to strbuf_release()
+ + difftool: refactor dir-diff to write files using helper functions
+ + difftool: create a tmpdir path without repeated slashes
+ + Merge branch 'da/difftool-dir-diff-symlink-fix' into da/difftool
+ + Merge branch 'ab/retire-option-argument' into da/difftool
 
Doc tweak.
Code clean-up in "git difftool".
 
 
-* gc/doc-first-contribution-reroll (2021-09-22) 1 commit
-  (merged to 'next' on 2021-09-29 at b7dea55eae)
- + MyFirstContribution: Document --range-diff option when writing v2
+* jk/ref-paranoia (2021-09-27) 16 commits
+  (merged to 'next' on 2021-10-03 at 8c2cb6a3a6)
+ + refs: drop "broken" flag from for_each_fullref_in()
+ + ref-filter: drop broken-ref code entirely
+ + ref-filter: stop setting FILTER_REFS_INCLUDE_BROKEN
+ + repack, prune: drop GIT_REF_PARANOIA settings
+ + refs: turn on GIT_REF_PARANOIA by default
+ + refs: omit dangling symrefs when using GIT_REF_PARANOIA
+ + refs: add DO_FOR_EACH_OMIT_DANGLING_SYMREFS flag
+ + refs-internal.h: reorganize DO_FOR_EACH_* flag documentation
+ + refs-internal.h: move DO_FOR_EACH_* flags next to each other
+ + t5312: be more assertive about command failure
+ + t5312: test non-destructive repack
+ + t5312: create bogus ref as necessary
+ + t5312: drop "verbose" helper
+ + t5600: provide detached HEAD for corruption failures
+ + t5516: don't use HEAD ref for invalid ref-deletion tests
+ + t7900: clean up some more broken refs
+ (this branch is used by jt/no-abuse-alternate-odb-for-submodules.)
 
- Doc update.
+ The ref iteration code used to optionally allow dangling refs to be
+ shown, which has been tightened up.
 
 
-* jk/grep-haystack-is-read-only (2021-09-22) 5 commits
-  (merged to 'next' on 2021-09-28 at 1660a6be89)
- + grep: store grep_source buffer as const
- + grep: mark "haystack" buffers as const
- + grep: stop modifying buffer in grep_source_1()
- + grep: stop modifying buffer in show_line()
- + grep: stop modifying buffer in strip_timestamp
- (this branch is used by hm/paint-hits-in-log-grep.)
+* js/win-lazyload-buildfix (2021-09-28) 3 commits
+  (merged to 'next' on 2021-10-03 at 26802e5d73)
+ + Makefile: restrict -Wpedantic and -Wno-pedantic-ms-format better
+ + lazyload.h: use an even more generic function pointer than FARPROC
+ + lazyload.h: fix warnings about mismatching function pointer types
 
- Code clean-up in the "grep" machinery.
+ Compilation fix.
 
 
-* jt/add-submodule-odb-clean-up (2021-09-09) 3 commits
-  (merged to 'next' on 2021-09-28 at 4d843448be)
- + revision: remove "submodule" from opt struct
- + repository: support unabsorbed in repo_submodule_init
- + submodule: remove unnecessary unabsorbed fallback
- (this branch is used by jt/no-abuse-alternate-odb-for-submodules.)
+* mr/bisect-in-c-4 (2021-10-01) 1 commit
+  (merged to 'next' on 2021-10-06 at c13c14238d)
+ + bisect--helper: add space between colon and following sentence
 
- More code paths that use the hack to add submodule's object
- database to the set of alternate object store have been cleaned up.
+ Message fix.
 
 
-* lh/systemd-timers (2021-09-27) 1 commit
-  (merged to 'next' on 2021-10-03 at 81834609ea)
- + maintenance: fix test t7900-maintenance.sh
+* rs/p3400-lose-tac (2021-10-03) 1 commit
+  (merged to 'next' on 2021-10-06 at 688dc7137c)
+ + p3400: stop using tac(1)
 
- Testfix.
+ Test portability update.
 
 
-* os/status-docfix (2021-09-28) 1 commit
-  (merged to 'next' on 2021-10-03 at a13019916a)
- + doc: fix capitalization in "git status --porcelain=v2" description
+* sg/test-split-index-fix (2021-09-07) 7 commits
+  (merged to 'next' on 2021-09-29 at 661ae75778)
+ + read-cache: fix GIT_TEST_SPLIT_INDEX
+ + tests: disable GIT_TEST_SPLIT_INDEX for sparse index tests
+ + read-cache: look for shared index files next to the index, too
+ + t1600-index: disable GIT_TEST_SPLIT_INDEX
+ + t1600-index: don't run git commands upstream of a pipe
+ + t1600-index: remove unnecessary redirection
+ + Merge branch 'ds/sparse-index-ignored-files' into sg/test-split-index-fix
+
+ Test updates.
 
- Docfix.
 
+* tb/aggregate-ignore-leading-whitespaces (2021-10-04) 1 commit
+  (merged to 'next' on 2021-10-06 at 619a7db2d4)
+ + t/perf/aggregate.perl: tolerate leading spaces
+
+ Test portability update.
 
-* pw/rebase-of-a-tag-fix (2021-09-22) 10 commits
-  (merged to 'next' on 2021-09-28 at 980add2a67)
- + rebase: dereference tags
- + rebase: use lookup_commit_reference_by_name()
- + rebase: use our standard error return value
- + t3407: rework rebase --quit tests
- + t3407: strengthen rebase --abort tests
- + t3407: use test_path_is_missing
- + t3407: rename a variable
- + t3407: use test_cmp_rev
- + t3407: use test_commit
- + t3407: run tests in $TEST_DIRECTORY
- (this branch is used by pw/fix-some-issues-in-reset-head.)
 
- "git rebase <upstream> <tag>" failed when aborted in the middle, as
- it mistakenly tried to write the tag object instead of peeling it
- to HEAD.
+* tb/midx-write-propagate-namehash (2021-09-17) 7 commits
+  (merged to 'next' on 2021-09-29 at 24732fcfc8)
+ + t5326: test propagating hashcache values
+ + p5326: generate pack bitmaps before writing the MIDX bitmap
+ + p5326: don't set core.multiPackIndex unnecessarily
+ + p5326: create missing 'perf-tag' tag
+ + midx.c: respect 'pack.writeBitmapHashcache' when writing bitmaps
+ + pack-bitmap.c: propagate namehash values from existing bitmaps
+ + t/helper/test-bitmap.c: add 'dump-hashes' mode
 
+ "git multi-pack-index write --bitmap" learns to propagate the
+ hashcache from original bitmap to resulting bitmap.
 
-* pw/rebase-reread-todo-after-editing (2021-09-24) 2 commits
-  (merged to 'next' on 2021-09-28 at c67d5e383e)
- + rebase: fix todo-list rereading
- + sequencer.c: factor out a function
+--------------------------------------------------
+[New Topics]
 
- The code to re-read the edited todo list in "git rebase -i" was
- made more robust.
+* ab/mark-leak-free-tests (2021-10-07) 11 commits
+ - leak tests: mark some misc tests as passing with SANITIZE=leak
+ - leak tests: mark various "generic" tests as passing with SANITIZE=leak
+ - leak tests: mark some read-tree tests as passing with SANITIZE=leak
+ - leak tests: mark some ls-files tests as passing with SANITIZE=leak
+ - leak tests: mark all checkout-index tests as passing with SANITIZE=leak
+ - leak tests: mark all trace2 tests as passing with SANITIZE=leak
+ - leak tests: mark all ls-tree tests as passing with SANITIZE=leak
+ - leak tests: mark t0000-init.sh as passing with SANITIZE=leak
+ - leak tests: run various "test-tool" tests in t00*.sh SANITIZE=leak
+ - leak tests: run various built-in tests in t00*.sh SANITIZE=leak
+ - Merge branch 'ab/sanitize-leak-ci' into ab/mark-leak-free-tests
+
+ Bunch of tests are marked as "passing leak check".
 
+ Expecting a reroll.
+ cf. <xmqqmtnko3zn.fsf@gitster.g>
 
-* tb/commit-graph-usage-fix (2021-09-22) 2 commits
-  (merged to 'next' on 2021-09-28 at f021339c39)
- + builtin/multi-pack-index.c: disable top-level --[no-]progress
- + builtin/commit-graph.c: don't accept common --[no-]progress
 
- Regression in "git commit-graph" command line parsing has been
- corrected.
+* ab/mark-leak-free-tests-more (2021-10-07) 8 commits
+ - merge: add missing strbuf_release()
+ - ls-files: add missing string_list_clear()
+ - ls-files: fix a trivial dir_clear() leak
+ - tests: fix test-oid-array leak, test in SANITIZE=leak
+ - tests: fix a memory leak in test-oidtree.c
+ - tests: fix a memory leak in test-parse-options.c
+ - tests: fix a memory leak in test-prio-queue.c
+ - Merge branch 'ab/sanitize-leak-ci' into ab/mark-leak-free-tests-more
 
+ Bunch of tests are marked as "passing leak check".
 
-* ws/refer-to-forkpoint-config-in-rebase-doc (2021-09-20) 1 commit
-  (merged to 'next' on 2021-09-29 at 49181eaafb)
- + Document `rebase.forkpoint` in rebase man page
+ Will merge to 'next'?
 
- Doc update.
 
---------------------------------------------------
-[New Topics]
+* ab/unpack-trees-leakfix (2021-10-07) 2 commits
+ - unpack-trees: don't leak memory in verify_clean_subdirectory()
+ - Merge branch 'ab/sanitize-leak-ci' into ab/unpack-trees-leakfix
 
-* gc/use-repo-settings (2021-10-04) 3 commits
- - gc: perform incremental repack when implictly enabled
- - fsck: verify multi-pack-index when implictly enabled
- - fsck: verify commit graph when implicitly enabled
+ Leakfix.
 
- It is wrong to read some settings directly from the config
- subsystem, as things like feature.experimental can affect their
- default values.
+ Will merge to 'next'?
+
+
+* jk/cat-file-batch-all-wo-replace (2021-10-08) 5 commits
+  (merged to 'next' on 2021-10-11 at 9415f7c43a)
+ + cat-file: use packed_object_info() for --batch-all-objects
+ + cat-file: split ordered/unordered batch-all-objects callbacks
+ + cat-file: disable refs/replace with --batch-all-objects
+ + cat-file: mention --unordered along with --batch-all-objects
+ + t1006: clean up broken objects
+
+ "git cat-file --batch" with the "--batch-all-objects" option is
+ supposed to iterate over all the objects found in a repository, but
+ it used to translate these object names using the replace mechanism,
+ which defeats the point of enumerating all objects in the repository.
+ This has been corrected.
+
+ Will merge to 'master'.
+
+
+* js/userdiff-cpp (2021-10-10) 6 commits
+ - userdiff-cpp: learn the C++ spaceship operator
+ - userdiff-cpp: permit the digit-separating single-quote in numbers
+ - userdiff-cpp: prepare test cases with yet unsupported features
+ - userdiff-cpp: tighten word regex
+ - t4034: add tests showing problematic cpp tokenizations
+ - t4034/cpp: actually test that operator tokens are not split
+
+ Userdiff patterns for the C++ language has been updated.
+
+ Will merge to 'next'?
+
+
+* mp/absorb-submodule-git-dir-upon-deinit (2021-10-07) 1 commit
+ - submodule: absorb git dir instead of dying on deinit
+
+ "git submodule deinit" for a submodule whose .git metadata
+ directory is embedded in its working tree refused to work, until
+ the submodule gets converted to use the "absorbed" form where the
+ metadata directory is stored in superproject, and a gitfile at the
+ top-level of the working tree of the submodule points at it.  The
+ command is taught to convert such submodules to the absorbed form
+ as needed.
 
  Under review.
- cf. <70aca052-716f-40ed-47c4-1882fdbd221e@gmail.com>
+ cf. <xmqqwnmopqqk.fsf@gitster.g>
 
 
-* jh/perf-remove-test-times (2021-10-04) 1 commit
- - t/perf/perf-lib.sh: remove test_times.* at the end test_perf_()
+* ns/remerge-diff (2021-10-08) 8 commits
+ - doc/diff-options: explain the new --remerge-diff option
+ - show, log: adapt Elijah Newren's changes to common tmp-objdir API
+ - show, log: provide a --remerge-diff capability
+ - merge-ort: capture and print ll-merge warnings in our preferred fashion
+ - ll-merge: add API for capturing warnings in a strbuf instead of stderr
+ - merge-ort: add ability to record conflict messages in a file
+ - merge-ort: mark a few more conflict messages as omittable
+ - Merge branch 'ns/tmp-objdir' into ns/remerge-diff
+ (this branch uses ns/tmp-objdir.)
 
- Perf test fix.
+ A new presentation for two-parent merge "--remerge-diff" can be
+ used to show the difference between mechanical (and possibly
+ conflicted) merge results and the recorded resolution.
+
+ On hold.
+ This is Elijah's remerge-diff rebased on ns/tmp-objdir to share the
+ "create objects temporarily, only to discard without committing
+ them to longer-term storage" infrastructure with another topic.
 
- Will merge to 'next'.
+
+* ns/tmp-objdir (2021-10-04) 2 commits
+ - tmp-objdir: disable ref updates when replacing the primary odb
+ - tmp-objdir: new API for creating temporary writable databases
+ (this branch is used by ns/batched-fsync and ns/remerge-diff.)
+
+ New interface into the tmp-objdir API to help in-core use of the
+ quarantine feature.
+
+ Will merge to 'next'?
+
+
+* pw/sparse-cache-tree-verify-fix (2021-10-07) 1 commit
+  (merged to 'next' on 2021-10-11 at 2f90c87850)
+ + sparse index: fix use-after-free bug in cache_tree_verify()
+
+ Recent sparse-index addition, namely any use of index_name_pos(),
+ can expand sparse index entries and breaks any code that walks
+ cache-tree or existing index entries.  One such instance of such a
+ breakage has been corrected.
+
+ Will merge to 'master'.
+
+
+* rs/make-verify-path-really-verify-again (2021-10-07) 3 commits
+  (merged to 'next' on 2021-10-11 at 6b4358876f)
+ + read-cache: let verify_path() reject trailing dir separators again
+ + read-cache: add verify_path_internal()
+ + t3905: show failure to ignore sub-repo
+
+ Recent sparse-index work broke safety against attempts to add paths
+ with trailing slashes to the index, which has been corrected.
+
+ Will merge to 'master'.
+
+
+* vd/sparse-reset (2021-10-07) 8 commits
+ - unpack-trees: improve performance of next_cache_entry
+ - reset: make --mixed sparse-aware
+ - reset: make sparse-aware (except --mixed)
+ - reset: integrate with sparse index
+ - reset: expand test coverage for sparse checkouts
+ - update-index: add --force-full-index option for expand/collapse test
+ - reset: preserve skip-worktree bit in mixed reset
+ - reset: rename is_missing to !is_in_reset_tree
+
+ Various operating modes of "git reset" have been made to work
+ better with the sparse index.
+
+ Needs review.
 
 --------------------------------------------------
 [Stalled]
@@ -225,11 +359,65 @@ Release tarballs are available at:
  Kicked out of 'seen' to make room for es/superproject-aware-submodules
  which is among the topics this topic stomps on.
 
+
+* pw/diff-color-moved-fix (2021-08-05) 13 commits
+ - diff: drop unused options parameter from cmp_in_block_with_wsd()
+ - diff --color-moved: intern strings
+ - diff: use designated initializers for emitted_diff_symbol
+ - diff --color-moved-ws=allow-indentation-change: improve hash lookups
+ - diff --color-moved: stop clearing potential moved blocks
+ - diff --color-moved: shrink potential moved blocks as we go
+ - diff --color-moved: unify moved block growth functions
+ - diff --color-moved: call comparison function directly
+ - diff --color-moved-ws=allow-indentation-change: simplify and optimize
+ - diff: simplify allow-indentation-change delta calculation
+ - diff --color-moved: avoid false short line matches and bad zerba coloring
+ - diff --color-moved=zebra: fix alternate coloring
+ - diff --color-moved: add perf tests
+
+ Originally merged to 'next' on 2021-08-05
+
+ Long-overdue correctness and performance update to "diff
+ --color-moved" feature.
+
+ Expecting a reroll.
+ cf. <8bec1a6d-5052-50c3-4100-e6348289d581@gmail.com>
+
+
+* cf/fetch-set-upstream-while-detached (2021-07-06) 1 commit
+ - fetch: fix segfault on --set-upstream while on a detached HEAD
+
+ "git fetch --set-upstream" while on detached HEAD segfaulted
+ instead of noticing that such an operation did not make sense.
+
+ Expecting a reroll.
+ cf. <xmqqsg0ri5mq.fsf@gitster.g>
+
 --------------------------------------------------
 [Cooking]
 
-* pw/fix-some-issues-in-reset-head (2021-10-06) 13 commits
- - sparse index: fix use-after-free bug in cache_tree_verify()
+* gc/use-repo-settings (2021-10-04) 3 commits
+ - gc: perform incremental repack when implictly enabled
+ - fsck: verify multi-pack-index when implictly enabled
+ - fsck: verify commit graph when implicitly enabled
+
+ It is wrong to read some settings directly from the config
+ subsystem, as things like feature.experimental can affect their
+ default values.
+
+ Under review.
+ cf. <70aca052-716f-40ed-47c4-1882fdbd221e@gmail.com>
+
+
+* jh/perf-remove-test-times (2021-10-04) 1 commit
+ - t/perf/perf-lib.sh: remove test_times.* at the end test_perf_()
+
+ Perf test fix.
+
+ Will merge to 'next'.
+
+
+* pw/fix-some-issues-in-reset-head (2021-10-01) 12 commits
  - rebase -m: don't fork git checkout
  - rebase --apply: set ORIG_HEAD correctly
  - rebase --apply: fix reflog
@@ -251,7 +439,9 @@ Release tarballs are available at:
  protect the fixes.
 
 
-* rs/mergesort (2021-10-01) 9 commits
+* rs/mergesort (2021-10-08) 10 commits
+  (merged to 'next' on 2021-10-08 at 2e83706316)
+ + test-mergesort: use repeatable random numbers
   (merged to 'next' on 2021-10-03 at 29a672574f)
  + mergesort: use ranks stack
  + p0071: test performance of llist_mergesort()
@@ -269,44 +459,27 @@ Release tarballs are available at:
  Will merge to 'master'.
 
 
-* bs/doc-blame-color-lines (2021-10-01) 2 commits
- - blame: document --color-* options
- - blame: describe default output format
+* bs/doc-blame-color-lines (2021-10-08) 2 commits
+  (merged to 'next' on 2021-10-11 at a2cb7768b6)
+ + blame: document --color-* options
+ + blame: describe default output format
 
  The "--color-lines" and "--color-by-age" options of "git blame"
  have been missing, which are now documented.
 
- Expecting a reroll.
- cf. <CAPig+cSWutBRQK+Qy=nkaDZRvy4trVNPuo+cF-quC2rBwNe2fw@mail.gmail.com>
-
-
-* mr/bisect-in-c-4 (2021-10-01) 1 commit
-  (merged to 'next' on 2021-10-06 at c13c14238d)
- + bisect--helper: add space between colon and following sentence
-
- Message fix.
-
  Will merge to 'master'.
 
 
 * cm/save-restore-terminal (2021-10-06) 2 commits
- - editor: save and reset terminal after calling EDITOR
- - terminal: teach git how to save/restore its terminal settings
+  (merged to 'next' on 2021-10-11 at 962bb3e75b)
+ + editor: save and reset terminal after calling EDITOR
+ + terminal: teach git how to save/restore its terminal settings
 
  An editor session launched during a Git operation (e.g. during 'git
  commit') can leave the terminal in a funny state.  The code path
  has updated to save the terminal state before, and restore it
  after, it spawns an editor.
 
- Will merge to 'next'.
-
-
-* rs/p3400-lose-tac (2021-10-03) 1 commit
-  (merged to 'next' on 2021-10-06 at 688dc7137c)
- + p3400: stop using tac(1)
-
- Test portability update.
-
  Will merge to 'master'.
 
 
@@ -322,51 +495,27 @@ Release tarballs are available at:
  Will merge to 'master'.
 
 
-* tb/aggregate-ignore-leading-whitespaces (2021-10-04) 1 commit
-  (merged to 'next' on 2021-10-06 at 619a7db2d4)
- + t/perf/aggregate.perl: tolerate leading spaces
-
- Test portability update.
-
- Will merge to 'master'.
-
-
-* ab/designated-initializers (2021-09-27) 5 commits
-  (merged to 'next' on 2021-10-03 at 179f652de6)
- + cbtree.h: define cb_init() in terms of CBTREE_INIT
- + *.h: move some *_INIT to designated initializers
- + *.h _INIT macros: don't specify fields equal to 0
- + *.[ch] *_INIT macros: use { 0 } for a "zero out" idiom
- + submodule-config.h: remove unused SUBMODULE_INIT macro
- (this branch is used by ab/designated-initializers-more.)
-
- Code clean-up.
-
- Will merge to 'master'.
-
-
 * ab/designated-initializers-more (2021-10-01) 6 commits
- - builtin/remote.c: add and use SHOW_INFO_INIT
- builtin/remote.c: add and use a REF_STATES_INIT
- urlmatch.[ch]: add and use URLMATCH_CONFIG_INIT
- - builtin/blame.c: refactor commit_info_init() to COMMIT_INFO_INIT macro
- daemon.c: refactor hostinfo_init() to HOSTINFO_INIT macro
- - Merge branch 'ab/designated-initializers' into ab/designated-initializers-more
- (this branch uses ab/designated-initializers.)
+  (merged to 'next' on 2021-10-11 at 9b9836c3df)
+ builtin/remote.c: add and use SHOW_INFO_INIT
+ builtin/remote.c: add and use a REF_STATES_INIT
+ + urlmatch.[ch]: add and use URLMATCH_CONFIG_INIT
+ builtin/blame.c: refactor commit_info_init() to COMMIT_INFO_INIT macro
+ + daemon.c: refactor hostinfo_init() to HOSTINFO_INIT macro
+ + Merge branch 'ab/designated-initializers' into ab/designated-initializers-more
 
  Code clean-up.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
-* ab/parse-options-cleanup (2021-10-01) 11 commits
+* ab/parse-options-cleanup (2021-10-08) 10 commits
  - parse-options: change OPT_{SHORT,UNSET} to an enum
  - parse-options tests: test optname() output
  - parse-options.[ch]: make opt{bug,name}() "static"
  - commit-graph: stop using optname()
  - parse-options.c: move optname() earlier in the file
  - parse-options.h: make the "flags" in "struct option" an enum
- - parse-options.c: use exhaustive "case" arms for "enum parse_opt_type"
  - parse-options.c: use exhaustive "case" arms for "enum parse_opt_result"
  - parse-options.[ch]: consistently use "enum parse_opt_result"
  - parse-options.[ch]: consistently use "enum parse_opt_flags"
@@ -377,15 +526,6 @@ Release tarballs are available at:
  Will merge to 'next'?
 
 
-* ab/retire-git-config-key-is-valid (2021-09-28) 1 commit
-  (merged to 'next' on 2021-10-03 at fc7a0a55d1)
- + config.c: remove unused git_config_key_is_valid()
-
- Code cleanup.
-
- Will merge to 'master'.
-
-
 * mt/grep-submodule-textconv (2021-09-29) 1 commit
   (merged to 'next' on 2021-10-06 at 1950944b8c)
  + grep: demonstrate bug with textconv attributes and submodules
@@ -454,52 +594,6 @@ Release tarballs are available at:
  Will merge to 'master'.
 
 
-* ab/http-pinned-public-key-mismatch (2021-09-27) 1 commit
-  (merged to 'next' on 2021-10-03 at cd67328eed)
- + http: check CURLE_SSL_PINNEDPUBKEYNOTMATCH when emitting errors
-
- HTTPS error handling updates.
-
- Will merge to 'master'.
-
-
-* jk/ref-paranoia (2021-09-27) 16 commits
-  (merged to 'next' on 2021-10-03 at 8c2cb6a3a6)
- + refs: drop "broken" flag from for_each_fullref_in()
- + ref-filter: drop broken-ref code entirely
- + ref-filter: stop setting FILTER_REFS_INCLUDE_BROKEN
- + repack, prune: drop GIT_REF_PARANOIA settings
- + refs: turn on GIT_REF_PARANOIA by default
- + refs: omit dangling symrefs when using GIT_REF_PARANOIA
- + refs: add DO_FOR_EACH_OMIT_DANGLING_SYMREFS flag
- + refs-internal.h: reorganize DO_FOR_EACH_* flag documentation
- + refs-internal.h: move DO_FOR_EACH_* flags next to each other
- + t5312: be more assertive about command failure
- + t5312: test non-destructive repack
- + t5312: create bogus ref as necessary
- + t5312: drop "verbose" helper
- + t5600: provide detached HEAD for corruption failures
- + t5516: don't use HEAD ref for invalid ref-deletion tests
- + t7900: clean up some more broken refs
- (this branch is used by jt/no-abuse-alternate-odb-for-submodules.)
-
- The ref iteration code used to optionally allow dangling refs to be
- shown, which has been tightened up.
-
- Will merge to 'master'.
-
-
-* js/win-lazyload-buildfix (2021-09-28) 3 commits
-  (merged to 'next' on 2021-10-03 at 26802e5d73)
- + Makefile: restrict -Wpedantic and -Wno-pedantic-ms-format better
- + lazyload.h: use an even more generic function pointer than FARPROC
- + lazyload.h: fix warnings about mismatching function pointer types
-
- Compilation fix.
-
- Will merge to 'master'.
-
-
 * ab/make-sparse-for-real (2021-09-22) 1 commit
   (merged to 'next' on 2021-10-06 at 10e3c31d6a)
  + Makefile: make the "sparse" target non-.PHONY
@@ -510,8 +604,7 @@ Release tarballs are available at:
  Will merge to 'master'.
 
 
-* jt/no-abuse-alternate-odb-for-submodules (2021-10-01) 10 commits
- - fixup! refs: plumb repo into ref stores
+* jt/no-abuse-alternate-odb-for-submodules (2021-10-08) 9 commits
  - submodule: trace adding submodule ODB as alternate
  - submodule: pass repo to check_has_commit()
  - object-file: only register submodule ODB if needed
@@ -521,28 +614,29 @@ Release tarballs are available at:
  - refs: plumb repo into ref stores
  - Merge branch 'jk/ref-paranoia' into jt/no-abuse-alternate-odb-for-submodules
  - Merge branch 'jt/add-submodule-odb-clean-up' into jt/no-abuse-alternate-odb-for-submodules
- (this branch uses jk/ref-paranoia.)
 
  Follow through the work to use the repo interface to access
  submodule objects in-process, instead of abusing the alternate
  object database interface.
 
- Expecting a reroll.
+ Will merge to 'next'?
 
 
-* tp/send-email-completion (2021-09-22) 3 commits
+* tp/send-email-completion (2021-10-07) 3 commits
  - send-email docs: add format-patch options
- - send-email: move bash completions to core script
+ - send-email: programmatically generate bash completions
  - send-email: terminate --git-completion-helper with LF
 
  The command line complation for "git send-email" options have been
  tweaked to make it easier to keep it in sync with the command itself.
 
Stalled.
- cf. <YU6+BWC+xvGJP3b0@carlos-mbp.lan>
Expecting a reroll.
+ cf. <87fst7lkjx.fsf@evledraar.gmail.com>
 
 
-* hm/paint-hits-in-log-grep (2021-09-29) 3 commits
+* hm/paint-hits-in-log-grep (2021-10-08) 5 commits
+ - SQUASH???
+ - grep: fix an edge case concerning ascii patterns and UTF-8 data
  - pretty: colorize pattern matches in commit messages
  - grep: refactor next_match() and match_one_pattern() for external use
  - Merge branch 'jk/grep-haystack-is-read-only' into hm/paint-hits-in-log-grep
@@ -551,21 +645,7 @@ Release tarballs are available at:
  like "git grep string" does.
 
  Expecting a reroll.
- cf. <87v92bju64.fsf@evledraar.gmail.com>
-
-
-* da/difftool (2021-09-30) 6 commits
-  (merged to 'next' on 2021-10-03 at 3ba0335e4e)
- + difftool: add a missing space to the run_dir_diff() comments
- + difftool: remove an unnecessary call to strbuf_release()
- + difftool: refactor dir-diff to write files using helper functions
- + difftool: create a tmpdir path without repeated slashes
- + Merge branch 'da/difftool-dir-diff-symlink-fix' into da/difftool
- + Merge branch 'ab/retire-option-argument' into da/difftool
-
- Code clean-up in "git difftool".
-
- Will merge to 'master'.
+ cf. <xmqq1r4vjji3.fsf@gitster.g>
 
 
 * en/removing-untracked-fixes (2021-09-27) 12 commits
@@ -597,24 +677,21 @@ Release tarballs are available at:
  cf. <m27df9lvm1.fsf@gmail.com>
 
 
-* ns/batched-fsync (2021-10-04) 9 commits
. core.fsyncobjectfiles: performance tests for add and stash
. core.fsyncobjectfiles: tests for batch mode
. unpack-objects: use the bulk-checkin infrastructure
. update-index: use the bulk-checkin infrastructure
. core.fsyncobjectfiles: add windows support for batch mode
. core.fsyncobjectfiles: batched disk flushes
. bulk-checkin: rename 'state' variable and separate 'plugged' boolean
- . tmp-objdir: disable ref updates when replacing the primary odb
- . tmp-objdir: new API for creating temporary writable databases
+* ns/batched-fsync (2021-10-08) 8 commits
- core.fsyncobjectfiles: performance tests for add and stash
- core.fsyncobjectfiles: tests for batch mode
- unpack-objects: use the bulk-checkin infrastructure
- update-index: use the bulk-checkin infrastructure
- core.fsyncobjectfiles: add windows support for batch mode
- core.fsyncobjectfiles: batched disk flushes
- bulk-checkin: rename 'state' variable and separate 'plugged' boolean
+ - Merge branch 'ns/tmp-objdir' into ns/batched-fsync
+ (this branch uses ns/tmp-objdir.)
 
  The "core.fsyncobjectfiles" configuration variable can now be set
  to "batch" for improved performance.
 
- Under discussion.
-
- Handling of temporary object directory is worked out with the
- en/remerge-diff topic.
+ Will merge to 'next'?
 
 
 * jh/builtin-fsmonitor-part1 (2021-09-20) 7 commits
@@ -664,7 +741,9 @@ Release tarballs are available at:
  Will merge to 'master'.
 
 
-* tb/repack-write-midx (2021-10-01) 9 commits
+* tb/repack-write-midx (2021-10-07) 10 commits
+  (merged to 'next' on 2021-10-08 at ff8fec247e)
+ + test-read-midx: fix leak of bitmap_index struct
   (merged to 'next' on 2021-10-06 at ccdd5aaf2a)
  + builtin/repack.c: pass `--refs-snapshot` when writing bitmaps
  + builtin/repack.c: make largest pack preferred
@@ -705,22 +784,6 @@ Release tarballs are available at:
  Will merge to 'master'.
 
 
-* tb/midx-write-propagate-namehash (2021-09-17) 7 commits
-  (merged to 'next' on 2021-09-29 at 24732fcfc8)
- + t5326: test propagating hashcache values
- + p5326: generate pack bitmaps before writing the MIDX bitmap
- + p5326: don't set core.multiPackIndex unnecessarily
- + p5326: create missing 'perf-tag' tag
- + midx.c: respect 'pack.writeBitmapHashcache' when writing bitmaps
- + pack-bitmap.c: propagate namehash values from existing bitmaps
- + t/helper/test-bitmap.c: add 'dump-hashes' mode
-
- "git multi-pack-index write --bitmap" learns to propagate the
- hashcache from original bitmap to resulting bitmap.
-
- Will merge to 'master'.
-
-
 * en/zdiff3 (2021-09-20) 2 commits
  - update documentation for new zdiff3 conflictStyle
  - xdiff: implement a zealous diff3, or "zdiff3"
@@ -728,7 +791,7 @@ Release tarballs are available at:
  "Zealous diff3" style of merge conflict presentation has been added.
 
 
-* js/scalar (2021-09-14) 15 commits
+* js/scalar (2021-10-07) 15 commits
  - scalar: accept -C and -c options before the subcommand
  - scalar: implement the `version` command
  - scalar: implement the `delete` command
@@ -747,19 +810,6 @@ Release tarballs are available at:
 
  Add pieces from "scalar" to contrib/.
 
- Waiting for a response.
- cf. <pull.1005.v4.git.1631630356.gitgitgadget@gmail.com>
-
-
-* ab/sanitize-leak-ci (2021-09-23) 2 commits
-  (merged to 'next' on 2021-10-03 at dcd62a3fc6)
- + tests: add a test mode for SANITIZE=leak, run it in CI
- + Makefile: add SANITIZE=leak flag to GIT-BUILD-OPTIONS
-
- CI learns to run the leak sanitizer builds.
-
- Will merge to 'master'.
-
 
 * ms/customizable-ident-expansion (2021-09-01) 1 commit
  - keyword expansion: make "$Id$" string configurable
@@ -767,6 +817,8 @@ Release tarballs are available at:
  Instead of "$Id$", user-specified string (like $FreeBSD$) can be
  used as an in-blob placeholder for keyword expansion.
 
+ What's the status of this one?  Meh?
+
 
 * js/retire-preserve-merges (2021-09-07) 11 commits
   (merged to 'next' on 2021-09-10 at f645ffd7a3)
@@ -787,40 +839,6 @@ Release tarballs are available at:
  Will cook in 'next'.
 
 
-* en/remerge-diff (2021-08-31) 7 commits
- - doc/diff-options: explain the new --remerge-diff option
- - show, log: provide a --remerge-diff capability
- - tmp-objdir: new API for creating and removing primary object dirs
- - merge-ort: capture and print ll-merge warnings in our preferred fashion
- - ll-merge: add API for capturing warnings in a strbuf instead of stderr
- - merge-ort: add ability to record conflict messages in a file
- - merge-ort: mark a few more conflict messages as omittable
-
- A new presentation for two-parent merge "--remerge-diff" can be
- used to show the difference between mechanical (and possibly
- conflicted) merge results and the recorded resolution.
-
- Expecting a reroll.
-
- Handling of temporary object directory is worked out with the
- ns/batched-fsync topic.
-
-
-* sg/test-split-index-fix (2021-09-07) 7 commits
-  (merged to 'next' on 2021-09-29 at 661ae75778)
- + read-cache: fix GIT_TEST_SPLIT_INDEX
- + tests: disable GIT_TEST_SPLIT_INDEX for sparse index tests
- + read-cache: look for shared index files next to the index, too
- + t1600-index: disable GIT_TEST_SPLIT_INDEX
- + t1600-index: don't run git commands upstream of a pipe
- + t1600-index: remove unnecessary redirection
- + Merge branch 'ds/sparse-index-ignored-files' into sg/test-split-index-fix
-
- Test updates.
-
- Will merge to 'master'.
-
-
 * ab/refs-errno-cleanup (2021-08-25) 4 commits
  - refs: make errno output explicit for refs_resolve_ref_unsafe
  - refs: explicitly return failure_errno from parse_loose_ref_contents
@@ -829,8 +847,6 @@ Release tarballs are available at:
 
  The "remainder" of hn/refs-errno-cleanup topic.
 
- What's the status of this one?  Meh?
-
 
 * ab/lib-subtest (2021-09-22) 9 commits
   (merged to 'next' on 2021-10-06 at e8fa261811)
@@ -861,63 +877,28 @@ Release tarballs are available at:
 
  Further tweaks on progress API.
 
+ Under review.
+ cf. <20211010212949.GC571180@szeder.dev>
+
 
 * fs/ssh-signing (2021-09-10) 9 commits
- - ssh signing: test that gpg fails for unknown keys
- - ssh signing: tests for logs, tags & push certs
- - ssh signing: duplicate t7510 tests for commits
- - ssh signing: verify signatures using ssh-keygen
- - ssh signing: provide a textual signing_key_id
- - ssh signing: retrieve a default key from ssh-agent
- - ssh signing: add ssh key format and signing code
- - ssh signing: add test prereqs
- - ssh signing: preliminary refactoring and clean-up
+  (merged to 'next' on 2021-10-11 at b456b95672)
+ + ssh signing: test that gpg fails for unknown keys
+ + ssh signing: tests for logs, tags & push certs
+ + ssh signing: duplicate t7510 tests for commits
+ + ssh signing: verify signatures using ssh-keygen
+ + ssh signing: provide a textual signing_key_id
+ + ssh signing: retrieve a default key from ssh-agent
+ + ssh signing: add ssh key format and signing code
+ + ssh signing: add test prereqs
+ + ssh signing: preliminary refactoring and clean-up
 
  Use ssh public crypto for object and push-cert signing.
 
- Will merge to 'next'.
-
-
-* cf/fetch-set-upstream-while-detached (2021-07-06) 1 commit
- - fetch: fix segfault on --set-upstream while on a detached HEAD
-
- "git fetch --set-upstream" while on detached HEAD segfaulted
- instead of noticing that such an operation did not make sense.
-
- Expecting a reroll.
- cf. <xmqqsg0ri5mq.fsf@gitster.g>
-
-
-* pw/diff-color-moved-fix (2021-08-05) 13 commits
- - diff: drop unused options parameter from cmp_in_block_with_wsd()
- - diff --color-moved: intern strings
- - diff: use designated initializers for emitted_diff_symbol
- - diff --color-moved-ws=allow-indentation-change: improve hash lookups
- - diff --color-moved: stop clearing potential moved blocks
- - diff --color-moved: shrink potential moved blocks as we go
- - diff --color-moved: unify moved block growth functions
- - diff --color-moved: call comparison function directly
- - diff --color-moved-ws=allow-indentation-change: simplify and optimize
- - diff: simplify allow-indentation-change delta calculation
- - diff --color-moved: avoid false short line matches and bad zerba coloring
- - diff --color-moved=zebra: fix alternate coloring
- - diff --color-moved: add perf tests
-
- Originally merged to 'next' on 2021-08-05
-
- Long-overdue correctness and performance update to "diff
- --color-moved" feature.
-
- Expecting a reroll.
- cf. <8bec1a6d-5052-50c3-4100-e6348289d581@gmail.com>
+ Will merge to 'master'.
 
 
-* hn/reftable (2021-10-01) 24 commits
- - reftable: avoid non portable compile time pointer to function
- - config.mak.uname: last release and snapshots of Minix still use zlib 1.2.3
- - fixup! reftable: implement stack, a mutable database of reftable files.
- - fixup! reftable: add a heap-based priority queue for reftable records
- - squash! reftable: reading/writing blocks
+* hn/reftable (2021-10-08) 19 commits
  - Add "test-tool dump-reftable" command.
  - reftable: add dump utility
  - reftable: implement stack, a mutable database of reftable files.
@@ -935,178 +916,24 @@ Release tarballs are available at:
  - reftable: add blocksource, an abstraction for random access reads
  - reftable: utility functions
  - reftable: add error related functionality
- - reftable: RFC: add LICENSE
+ - reftable: add LICENSE
  - hash.h: provide constants for the hash IDs
 
  The "reftable" backend for the refs API, without integrating into
  the refs subsystem.
 
- Expecting a reroll.
-
 --------------------------------------------------
 [Discarded]
 
-* ao/p4-avoid-decoding (2021-04-12) 2 commits
- . git-p4: do not decode data from perforce by default
- . git-p4: avoid decoding more data from perforce
-
- "git p4" in Python-2 days used to accept a lot more kinds of data
- from Perforce server as uninterrupted byte sequence, but after
- switching to Python-3, too many things are expected to be in UTF-8,
- which broke traditional use cases.
-
- Have been stalled for too long.
- cf. <20210504220153.1d9f0cb2@ado-tr>
-
-
-* tv/p4-fallback-encoding (2021-04-30) 1 commit
- . git-p4: git-p4.fallbackEncoding to specify non UTF-8 charset
-
- "git p4" learns the fallbackEncoding configuration variable to
- safely accept changeset descriptions that aren't written in UTF-8.
-
- Have been stalled for too long.
- cf. <CAKu1iLUaLuAZWqjNK4tfhhR=YaSt4MdQ+90ZY-JcEh_SeHyYCw@mail.gmail.com>
-
-
-* jh/builtin-fsmonitor (2021-09-03) 37 commits
- . fixup! fsmonitor--daemon: implement handle_client callback
- . SQUASH??? https://github.com/git/git/runs/3438543601?check_suite_focus=true#step:5:136
- . BANDAID: sparse fixes
- . t7527: test FS event reporing on MacOS WRT case and Unicode
- . fsmonitor: handle shortname for .git
- . t7527: test status with untracked-cache and fsmonitor--daemon
- . fsmonitor: force update index after large responses
- . fsmonitor: enhance existing comments
- . fsmonitor--daemon: use a cookie file to sync with file system
- . fsmonitor--daemon: periodically truncate list of modified files
- . t7527: create test for fsmonitor--daemon
- . t/perf/p7519: add fsmonitor--daemon test cases
- . t/perf: avoid copying builtin fsmonitor files into test repo
- . t/perf/p7519: speed up test using "test-tool touch"
- . t/helper/test-touch: add helper to touch a series of files
- . fsmonitor--daemon: implement handle_client callback
- . fsmonitor-fs-listen-macos: implement FSEvent listener on MacOS
- . fsmonitor-fs-listen-macos: add macos header files for FSEvent
- . fsmonitor-fs-listen-win32: implement FSMonitor backend on Windows
- . fsmonitor--daemon: create token-based changed path cache
- . fsmonitor--daemon: define token-ids
- . fsmonitor--daemon: add pathname classification
- . fsmonitor: do not try to operate on bare repos
- . fsmonitor--daemon: implement 'start' command
- . fsmonitor--daemon: implement 'run' command
- . fsmonitor-fs-listen-macos: stub in backend for MacOS
- . fsmonitor-fs-listen-win32: stub in backend for Windows
- . t/helper/fsmonitor-client: create IPC client to talk to FSMonitor Daemon
- . fsmonitor--daemon: implement 'stop' and 'status' commands
- . fsmonitor--daemon: add a built-in fsmonitor daemon
- . fsmonitor: use IPC to query the builtin FSMonitor daemon
- . fsmonitor: config settings are repository-specific
- . help: include fsmonitor--daemon feature flag in version info
- . fsmonitor-ipc: create client routines for git-fsmonitor--daemon
- . fsmonitor--daemon: update fsmonitor documentation
- . fsmonitor--daemon: man page
- . simple-ipc: preparations for supporting binary messages.
-
- An attempt to write and ship with a watchman equivalent tailored
- for our use.
-
- Will be rerolled in pieces.
-
-
-* ab/config-based-hooks-base (2021-09-09) 36 commits
- . hooks: fix a TOCTOU in "did we run a hook?" heuristic
- . receive-pack: convert receive hooks to hook.h
- . post-update: use hook.h library
- . receive-pack: convert 'update' hook to hook.h
- . hooks: allow callers to capture output
- . run-command: allow capturing of collated output
- . reference-transaction: use hook.h to run hooks
- . hook tests: use a modern style for "pre-push" tests
- . hook tests: test for exact "pre-push" hook input
- . transport: convert pre-push hook to hook.h
- . hook: convert 'post-rewrite' hook in sequencer.c to hook.h
- . hook: provide stdin by string_list or callback
- . run-command: add stdin callback for parallelization
- . am: convert 'post-rewrite' hook to hook.h
- . hook: support passing stdin to hooks
- . run-command: allow stdin for run_processes_parallel
- . run-command: remove old run_hook_{le,ve}() hook API
- . receive-pack: convert push-to-checkout hook to hook.h
- . read-cache: convert post-index-change to use hook.h
- . commit: convert {pre-commit,prepare-commit-msg} hook to hook.h
- . git-p4: use 'git hook' to run hooks
- . send-email: use 'git hook run' for 'sendemail-validate'
- . git hook run: add an --ignore-missing flag
- . merge: convert post-merge to use hook.h
- . hooks: convert 'post-checkout' hook to hook library
- . am: convert applypatch to use hook.h
- . rebase: convert pre-rebase to use hook.h
- . gc: use hook library for pre-auto-gc hook
- . hook: add 'run' subcommand
- . hook-list.h: add a generated list of hooks, like config-list.h
- . hook.c users: use "hook_exists()" instead of "find_hook()"
- . hook.c: add a hook_exists() wrapper and use it in bugreport.c
- . hook.[ch]: move find_hook() from run-command.c to hook.c
- . Makefile: remove an out-of-date comment
- . Makefile: stop hardcoding {command,config}-list.h
- . Makefile: mark "check" target as .PHONY
- (this branch is used by es/config-based-hooks.)
-
- Restructuring of (a subset of) Emily's config-based-hooks series,
- to demonstrate that a series can be presented as a more logical and
- focused progression.
-
- Will be rerolled in pieces.
-
-
-* es/config-based-hooks (2021-09-09) 6 commits
- . hook: allow out-of-repo 'git hook' invocations
- . hook: include hooks from the config
- . hook: introduce "git hook list"
- . hook: allow parallel hook execution
- . fixup! hook: run a list of hooks instead
- . hook: run a list of hooks instead
- (this branch uses ab/config-based-hooks-base.)
-
- Revamp the hooks subsystem to allow multiple of them to trigger
- upon the same event and control via the configuration variables.
-
-
-* cb/make-compdb-fix (2021-09-22) 1 commit
- . Makefile: avoid breaking compilation database generation with DEVELOPER
-
- Adjust to recent change to use -pedantic for developer builds.
-
- Replaced by the ab/make-compdb-fix topic that uses the same
- approach as the ab/auto-depend-with-pedantic topic.
-
-
-* ab/pack-objects-stdin (2021-07-09) 5 commits
- . pack-objects.c: make use of REV_INFO_STDIN_LINE_PROCESS
- . pack-objects.c: do stdin parsing via revision.c's API
- . revision.[ch]: add a "handle_stdin_line" API
- . revision.h: refactor "disable_stdin" and "read_from_stdin"
- . upload-pack: run is_repository_shallow() before setup_revisions()
-
- Introduce handle_stdin_line callback to revision API and uses it.
-
- Retracted for now.
-
-
-* ah/unleak-revisions (2021-09-20) 2 commits
- . log: UNLEAK original pending objects
- . log: UNLEAK rev to silence a large number of leaks
-
- Mark a few structures with UNLEAK() to help leak detection CI jobs.
-
- Retracted.
- cf. <05754f9c-cd58-30f5-e2d3-58b9221d2770@ahunt.org>
-
-
-* rs/p5311-use-test-file-size (2021-10-03) 1 commit
- . p5311: handle spaces in wc(1) output
-
- Test portability update.
+* en/remerge-diff (2021-08-31) 7 commits
+ . doc/diff-options: explain the new --remerge-diff option
+ . show, log: provide a --remerge-diff capability
+ . tmp-objdir: new API for creating and removing primary object dirs
+ . merge-ort: capture and print ll-merge warnings in our preferred fashion
+ . ll-merge: add API for capturing warnings in a strbuf instead of stderr
+ . merge-ort: add ability to record conflict messages in a file
+ . merge-ort: mark a few more conflict messages as omittable
 
- The tb/aggregate-ignore-leading-whitespaces supersedes this topic.
+ A new presentation for two-parent merge "--remerge-diff" can be
+ used to show the difference between mechanical (and possibly
+ conflicted) merge results and the recorded resolution.