To: git@vger.kernel.org
Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Apr 2021, #03; Mon, 12)
-X-master-at: 89b43f80a514aee58b662ad606e6352e03eaeee4
-X-next-at: 7d1e84936f59976b1fce260a447d8781a07cd620
+Subject: What's cooking in git.git (Apr 2021, #04; Thu, 15)
+X-master-at: d1b10fc6d84d49796026e567833b88c7f8886c35
+X-next-at: 2be84b2adec173cb8ec032d604b94d60c1637cb9
-What's cooking in git.git (Apr 2021, #03; Mon, 12)
+What's cooking in git.git (Apr 2021, #04; Thu, 15)
--------------------------------------------------
Here are the topics that have been cooking. Commits prefixed with '-' are
https://www.kernel.org/pub/software/scm/git/
+--------------------------------------------------
+[Graduated to 'master']
+
+* ab/complete-cherry-pick-head (2021-04-07) 1 commit
+ (merged to 'next' on 2021-04-09 at 5810d0e2c2)
+ + bash completion: complete CHERRY_PICK_HEAD
+
+ The command line completion (in contrib/) has learned that
+ CHERRY_PICK_HEAD is a possible pseudo-ref.
+
+
+* ab/detox-config-gettext (2021-04-08) 1 commit
+ (merged to 'next' on 2021-04-08 at 01d6ff5069)
+ + config.c: remove last remnant of GIT_TEST_GETTEXT_POISON
+
+ The last remnant of gettext-poison has been removed.
+
+
+* ab/perl-do-not-abuse-map (2021-04-02) 1 commit
+ (merged to 'next' on 2021-04-03 at 4eaf558557)
+ + git-send-email: replace "map" in void context with "for"
+ (this branch is used by ab/send-email-validate-errors.)
+
+ Perl critique.
+
+
+* ab/send-email-validate-errors (2021-04-06) 3 commits
+ (merged to 'next' on 2021-04-06 at d7fb1dbde0)
+ + git-send-email: improve --validate error output
+ + git-send-email: refactor duplicate $? checks into a function
+ + git-send-email: test full --validate output
+ (this branch uses ab/perl-do-not-abuse-map.)
+
+ Clean-up codepaths that implements "git send-email --validate"
+ option and improves the message from it.
+
+
+* cc/test-helper-bloom-usage-fix (2021-04-05) 1 commit
+ (merged to 'next' on 2021-04-06 at 4895f33fee)
+ + test-bloom: fix missing 'bloom' from usage string
+
+ Usage message fix for a test helper.
+
+
+* fm/user-manual-use-preface (2021-04-03) 1 commit
+ (merged to 'next' on 2021-04-05 at 0ae8f63207)
+ + user-manual.txt: assign preface an id and a title
+
+ Doc update to improve git.info
+
+
+* gk/gitweb-redacted-email (2021-04-08) 1 commit
+ (merged to 'next' on 2021-04-08 at 8a19c3cd6e)
+ + gitweb: add "e-mail privacy" feature to redact e-mail addresses
+
+ "gitweb" learned "e-mail privacy" feature to redact strings that
+ look like e-mail addresses on various pages.
+
+
+* jk/ref-filter-segfault-fix (2021-04-01) 1 commit
+ (merged to 'next' on 2021-04-02 at 03596563b7)
+ + ref-filter: fix NULL check for parse object failure
+
+ A NULL-dereference bug has been corrected in an error codepath in
+ "git for-each-ref", "git branch --list" etc.
+
+
+* jz/apply-3way-cached (2021-04-07) 1 commit
+ (merged to 'next' on 2021-04-09 at 7d1e84936f)
+ + git-apply: allow simultaneous --cached and --3way options
+ (this branch uses jz/apply-run-3way-first.)
+
+ "git apply" now takes "--3way" and "--cached" at the same time, and
+ work and record results only in the index.
+
+
+* jz/apply-run-3way-first (2021-04-06) 1 commit
+ (merged to 'next' on 2021-04-08 at f826bcc6b8)
+ + git-apply: try threeway first when "--3way" is used
+ (this branch is used by jz/apply-3way-cached.)
+
+ "git apply --3way" has always been "to fall back to 3-way merge
+ only when straight application fails". Swap the order of falling
+ back so that 3-way is always attempted first (only when the option
+ is given, of course) and then straight patch application is used as
+ a fallback when it fails.
+
+
+* tb/pack-preferred-tips-to-give-bitmap (2021-03-31) 3 commits
+ (merged to 'next' on 2021-04-03 at cd7024ecd8)
+ + builtin/pack-objects.c: respect 'pack.preferBitmapTips'
+ + t/helper/test-bitmap.c: initial commit
+ + pack-bitmap: add 'test_bitmap_commits()' helper
+ (this branch is used by tb/multi-pack-bitmaps.)
+
+ A configuration variable has been added to force tips of certain
+ refs to be given a reachability bitmap.
+
+
+* tb/precompose-prefix-simplify (2021-04-05) 2 commits
+ (merged to 'next' on 2021-04-05 at 78e8ed11b7)
+ + macOS: precompose startup_info->prefix
+ + precompose_utf8: make precompose_string_if_needed() public
+
+ Streamline the codepath to fix the UTF-8 encoding issues in the
+ argv[] and the prefix on macOS.
+
+
+* vs/completion-with-set-u (2021-04-08) 1 commit
+ (merged to 'next' on 2021-04-08 at b9b8bde89d)
+ + completion: audit and guard $GIT_* against unset use
+
+ The command-line completion script (in contrib/) had a couple of
+ references that would have given a warning under the "-u" (nounset)
+ option.
+
--------------------------------------------------
[New Topics]
+* ab/detox-gettext-tests (2021-04-13) 1 commit
+ (merged to 'next' on 2021-04-15 at db0da2903a)
+ + tests: remove all uses of test_i18cmp
+
+ Test clean-up.
+
+ Will merge to 'master'.
+
+
+* ab/fsck-unexpected-type (2021-04-13) 6 commits
+ - fsck: report invalid object type-path combinations
+ - fsck: report invalid types recorded in objects
+ - object-store.h: move read_loose_object() below 'struct object_info'
+ - fsck: don't hard die on invalid object types
+ - fsck tests: refactor one test to use a sub-repo
+ - cache.h: move object functions to object-store.h
+
+ "git fsck" has been taught to report mismatch between expected and
+ actual types of an object better.
+
+
+* ab/usage-error-docs (2021-04-13) 3 commits
+ (merged to 'next' on 2021-04-15 at dbbbaa5eea)
+ + api docs: document that BUG() emits a trace2 error event
+ + api docs: document BUG() in api-error-handling.txt
+ + usage.c: don't copy/paste the same comment three times
+
+ Documentation updates, with unrelated comment updates, too.
+
+ Will merge to 'master'.
+
+
+* jk/promisor-optim (2021-04-13) 3 commits
+ (merged to 'next' on 2021-04-15 at 41f303ef9b)
+ + revision: avoid parsing with --exclude-promisor-objects
+ + lookup_unknown_object(): take a repository argument
+ + is_promisor_object(): free tree buffer after parsing
+ (this branch is used by rs/repack-without-loosening-promised-objects.)
+
+ Handling of "promisor packs" that allows certain objects to be
+ missing and lazily retrievable has been optimized (a bit).
+
+ Will merge to 'master'.
+
+
+* so/log-diff-merge (2021-04-13) 5 commits
+ - doc/diff-options: document new --diff-merges features
+ - diff-merges: introduce log.diffMerges config variable
+ - diff-merges: adapt -m to enable default diff format
+ - diff-merges: refactor set_diff_merges()
+ - diff-merges: introduce --diff-merges=on
+
+ "git log" learned "--diff-merges=<style>" option, with an
+ associated configuration variable log.diffMerges.
+
+ Seems to break t9902.
+
+
+* rs/repack-without-loosening-promised-objects (2021-04-14) 2 commits
+ - repack: avoid loosening promisor pack objects in partial clones
+ - repack: teach --no-prune-packed to skip `git prune-packed`
+ (this branch uses jk/promisor-optim.)
+
+ "git repack -A -d" in a partial clone unnecessarily loosened
+ objects in promisor pack.
+
+
+* jc/doc-do-not-capitalize-clarification (2021-04-14) 1 commit
+ (merged to 'next' on 2021-04-15 at 873f7a1f84)
+ + doc: clarify "do not capitalize the first word" rule
+
+ Doc update for developers.
+
+ Will merge to 'master'.
+
+
+* mt/pkt-write-errors (2021-04-15) 1 commit
+ - pkt-line: do not report packet write errors twice
+
+ When packet_write() fails, we gave an extra error message
+ unnecessarily, which has been corrected.
+
+ Will merge to 'next'.
+
+
+* ow/push-quiet-set-upstream (2021-04-15) 1 commit
+ - transport: respect verbosity when setting upstream
+
+ "git push --quiet --set-upstream" was not quiet when setting the
+ upstream branch configuration, which has been corrected.
+
+ Will merge to 'next'.
+
+--------------------------------------------------
+[Stalled]
+
+* dl/complete-stash (2021-03-24) 3 commits
+ (merged to 'next' on 2021-03-24 at ce573a99cc)
+ + git-completion.bash: use __gitcomp_builtin() in _git_stash()
+ + git-completion.bash: extract from else in _git_stash()
+ + git-completion.bash: pass $__git_subcommand_idx from __git_main()
+
+ Update "git stash branch<TAB>" command line completion (in contrib/).
+
+ On hold. Probably needs either a reroll or incremental refinements.
+ cf. <20210327183554.GD2271@szeder.dev>
+
+
+* ag/merge-strategies-in-c (2021-03-17) 15 commits
+ - sequencer: use the "octopus" merge strategy without forking
+ - sequencer: use the "resolve" strategy without forking
+ - merge: use the "octopus" strategy without forking
+ - merge: use the "resolve" strategy without forking
+ - merge-octopus: rewrite in C
+ - merge-recursive: move better_branch_name() to merge.c
+ - merge-resolve: rewrite in C
+ - merge-one-file: rewrite in C
+ - update-index: move add_cacheinfo() to read-cache.c
+ - merge-index: add a new way to invoke `git-merge-one-file'
+ - merge-index: drop the index
+ - merge-index: libify merge_one_path() and merge_all()
+ - t6060: add tests for removed files
+ - t6060: modify multiple files to expose a possible issue with merge-index
+ - t6407: modernise tests
+
+ The resolve and octopus merge strategy backends have been rewritten
+ in C.
+
+ Expecting a (hopefully final) reroll.
+ cf. <nycvar.QRO.7.76.6.2103241142220.50@tvgsbejvaqbjf.bet>
+
+
+* ab/unexpected-object-type (2021-04-14) 11 commits
+ - fixup! object.c: stop supporting len == -1 in type_from_string_gently()
+ - tag: don't misreport type of tagged objects in errors
+ - object tests: add test for unexpected objects in tags
+ - object.c: add and use oid_is_type_or_die_msg() function
+ - object.c: add a utility function for "expected type X, got Y"
+ - tree.c: fix misindentation in parse_tree_gently()
+ - object-name.c: make dependency on object_type order more obvious
+ - object-file.c: make oid_object_info() return "enum object_type"
+ - object.c: make type_from_string() return "enum object_type"
+ - object.c: refactor type_from_string_gently()
+ - object.c: stop supporting len == -1 in type_from_string_gently()
+
+ Error reporting upon object type mismatch has been improved
+
+
+* ab/describe-tests-fix (2021-04-12) 5 commits
+ - describe tests: support -C in "check_describe"
+ - describe tests: fix nested "test_expect_success" call
+ - describe tests: don't rely on err.actual from "check_describe"
+ - describe tests: refactor away from glob matching
+ - describe tests: improve test for --work-tree & --dirty
+ (this branch uses ab/test-lib-updates.)
+
+ Various updates to tests around "git describe"
+
+
+* ab/pickaxe-pcre2 (2021-04-12) 22 commits
+ - xdiff-interface: replace discard_hunk_line() with a flag
+ - xdiff users: use designated initializers for out_line
+ - pickaxe -G: don't special-case create/delete
+ - pickaxe -G: terminate early on matching lines
+ - xdiff-interface: allow early return from xdiff_emit_line_fn
+ - xdiff-interface: prepare for allowing early return
+ - pickaxe -S: slightly optimize contains()
+ - pickaxe: rename variables in has_changes() for brevity
+ - pickaxe -S: support content with NULs under --pickaxe-regex
+ - pickaxe: assert that we must have a needle under -G or -S
+ - pickaxe: refactor function selection in diffcore-pickaxe()
+ - perf: add performance test for pickaxe
+ - pickaxe/style: consolidate declarations and assignments
+ - diff.h: move pickaxe fields together again
+ - pickaxe: die when --find-object and --pickaxe-all are combined
+ - pickaxe: die when -G and --pickaxe-regex are combined
+ - pickaxe tests: add missing test for --no-pickaxe-regex being an error
+ - pickaxe tests: test for -G, -S and --find-object incompatibility
+ - pickaxe tests: add test for "log -S" not being a regex
+ - pickaxe tests: add test for diffgrep_consume() internals
+ - pickaxe tests: refactor to use test_commit --append --printf
+ - grep/pcre2 tests: reword comments referring to kwset
+ (this branch uses ab/test-lib-updates.)
+
+ Rewrite the backend for "diff -G/-S" to use pcre2 engine when
+ available.
+
+
+* es/config-hooks (2021-03-10) 36 commits
+ . run-command: stop thinking about hooks
+ . git-send-email: use 'git hook run' for 'sendemail-validate'
+ . bugreport: use hook_exists instead of find_hook
+ . receive-pack: convert receive hooks to hook.h
+ . post-update: use hook.h library
+ . proc-receive: acquire hook list from hook.h
+ . receive-pack: convert 'update' hook to hook.h
+ . reference-transaction: look for hooks in config
+ . transport: convert pre-push hook to use config
+ . hook: convert 'post-rewrite' hook to config
+ . hooks: convert 'post-checkout' hook to hook library
+ . git-p4: use 'git hook' to run hooks
+ . receive-pack: convert push-to-checkout hook to hook.h
+ . read-cache: convert post-index-change hook to use config
+ . rebase: teach pre-rebase to use hook.h
+ . gc: use hook library for pre-auto-gc hook
+ . merge: use config-based hooks for post-merge hook
+ . am: convert applypatch hooks to use config
+ . commit: use config-based hooks
+ . hooks: allow callers to capture output
+ . run-command: allow capturing of collated output
+ . hook: provide stdin by string_list or callback
+ . run-command: add stdin callback for parallelization
+ . hook: allow specifying working directory for hooks
+ . hook: allow parallel hook execution
+ . run-command: allow stdin for run_processes_parallel
+ . hook: support passing stdin to hooks
+ . hook: introduce hook_exists()
+ . hook: add 'run' subcommand
+ . parse-options: parse into strvec
+ . hook: implement hookcmd.<name>.skip
+ . hook: teach hook.runHookDir
+ . hook: include hookdir hook in list
+ . hook: add list command
+ . hook: scaffolding for git-hook subcommand
+ . doc: propose hooks managed by the config
+
+ The "hooks defined in config" topic.
+
+--------------------------------------------------
+[Cooking]
+
* jt/fetch-pack-request-fix (2021-04-08) 1 commit
- - fetch-pack: buffer object-format with other args
+ (merged to 'next' on 2021-04-15 at 25c02ce3c3)
+ + fetch-pack: buffer object-format with other args
(this branch is used by jt/push-negotiation.)
- Will merge to 'next'.
+ Will merge to 'master'.
* jt/push-negotiation (2021-04-08) 6 commits
Waiting for reviews.
+
* ab/doc-lint (2021-04-10) 7 commits
- docs: fix linting issues due to incorrect relative section order
- doc lint: lint relative section order
which can be used to exclude objects of the given kind from the
packfile generated by pack-objects.
- Waiting for reviews to conclude.
- cf. <cover.1618234575.git.ps@pks.im>
+ Seems to break the tests when merged to 'seen'.
* tb/multi-pack-bitmaps (2021-04-10) 23 commits
- pack-bitmap-write.c: gracefully fail to write non-closed bitmaps
- pack-bitmap.c: harden 'test_bitmap_walk()' to check type bitmaps
- Merge branch 'tb/pack-preferred-tips-to-give-bitmap' into tb/multi-pack-bitmaps
- (this branch uses tb/pack-preferred-tips-to-give-bitmap.)
The reachability bitmap file used to be generated only for a single
pack, but now we've learned to generate bitmaps for history that
* ah/merge-ort-ubsan-fix (2021-04-12) 1 commit
- - merge-ort: only do pointer arithmetic for non-empty lists
+ (merged to 'next' on 2021-04-13 at 41713a32bd)
+ + merge-ort: only do pointer arithmetic for non-empty lists
Code clean-up for merge-ort backend.
- Will merge to 'next'?
-
-
-* 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.
-
- Waiting for reviews.
-
-
-* hn/refs-trace-errno (2021-04-12) 1 commit
- - refs: print errno for read_raw_ref if GIT_TRACE_REFS is set
-
- Show errno in the trace output in the error codepath that calls
- read_raw_ref method.
-
- Waiting for reviews to conclude.
- cf. <xmqq4kgbb2ic.fsf@gitster.g>
-
-
-* hn/reftable-tables-doc-update (2021-04-12) 1 commit
- - reftable: document an alternate cleanup method on Windows
-
- Doc updte.
-
- Will merge to 'next'.
-
-
-* jk/pack-objects-bitmap-progress-fix (2021-04-12) 1 commit
- - pack-objects: update "nr_seen" progress based on pack-reused count
-
- When "git pack-objects" makes a literal copy of a part of existing
- packfile using the reachability bitmaps, its update to the progress
- meter was broken.
-
- Will merge to 'next'.
-
-
-* ma/t0091-bugreport-fix (2021-04-12) 1 commit
- - t0091-bugreport.sh: actually verify some content of report
-
- Test fix.
-
- Waiting for an Ack.
-
-
-* ps/config-global-override (2021-04-12) 3 commits
- - config: allow overriding of global and system configuration
- - config: unify code paths to get global config paths
- - config: rename `git_etc_config()`
-
- Replace GIT_CONFIG_NOSYSTEM mechanism to decline from reading the
- system-wide configuration file with GIT_CONFIG_SYSTEM that lets
- users specify from which file to read the system-wide configuration
- (setting it to an empty file would essentially be the same as
- setting NOSYSTEM), and introduce GIT_CONFIG_GLOBAL to override the
- per-user configuration in $HOME/.gitconfig.
-
- Expecting a (hopefully final) reroll.
- cf. <xmqq4kgbfn8o.fsf@gitster.g>
-
---------------------------------------------------
-[Stalled]
-
-* dl/complete-stash (2021-03-24) 3 commits
- (merged to 'next' on 2021-03-24 at ce573a99cc)
- + git-completion.bash: use __gitcomp_builtin() in _git_stash()
- + git-completion.bash: extract from else in _git_stash()
- + git-completion.bash: pass $__git_subcommand_idx from __git_main()
-
- Update "git stash branch<TAB>" command line completion (in contrib/).
-
- On hold. Probably needs either a reroll or incremental refinements.
- cf. <20210327183554.GD2271@szeder.dev>
-
+ Will merge to 'master'.
-* ag/merge-strategies-in-c (2021-03-17) 15 commits
- - sequencer: use the "octopus" merge strategy without forking
- - sequencer: use the "resolve" strategy without forking
- - merge: use the "octopus" strategy without forking
- - merge: use the "resolve" strategy without forking
- - merge-octopus: rewrite in C
- - merge-recursive: move better_branch_name() to merge.c
- - merge-resolve: rewrite in C
- - merge-one-file: rewrite in C
- - update-index: move add_cacheinfo() to read-cache.c
- - merge-index: add a new way to invoke `git-merge-one-file'
- - merge-index: drop the index
- - merge-index: libify merge_one_path() and merge_all()
- - t6060: add tests for removed files
- - t6060: modify multiple files to expose a possible issue with merge-index
- - t6407: modernise tests
- The resolve and octopus merge strategy backends have been rewritten
- in C.
+* 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
- Expecting a (hopefully final) reroll.
- cf. <nycvar.QRO.7.76.6.2103241142220.50@tvgsbejvaqbjf.bet>
+ "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.
+ Waiting for reviews.
-* ab/unexpected-object-type (2021-03-27) 10 commits
- - tag: don't misreport type of tagged objects in errors
- - object tests: add test for unexpected objects in tags
- - object.c: add and use oid_is_type_or_die_msg() function
- - object.c: add a utility function for "expected type X, got Y"
- - tree.c: fix misindentation in parse_tree_gently()
- - object-name.c: make dependency on object_type order more obvious
- - object-file.c: make oid_object_info() return "enum object_type"
- - object.c: make type_from_string() return "enum object_type"
- - object.c: refactor type_from_string_gently()
- - object.c: stop supporting len == -1 in type_from_string_gently()
- Error reporting upon object type mismatch has been improved
+* hn/refs-trace-errno (2021-04-12) 1 commit
+ - refs: print errno for read_raw_ref if GIT_TRACE_REFS is set
- Expecting a reroll.
- cf. <YGBL88lYheyFmwCg@coredump.intra.peff.net>
- ... we would be much better off to say something like "somebody
- expected X to be a commit, but now somebody else expects it to be a
- blob", which is all that we can reliably say.
+ Show errno in the trace output in the error codepath that calls
+ read_raw_ref method.
+ Waiting for reviews to conclude.
+ cf. <xmqq4kgbb2ic.fsf@gitster.g>
-* ab/describe-tests-fix (2021-04-12) 5 commits
- - describe tests: support -C in "check_describe"
- - describe tests: fix nested "test_expect_success" call
- - describe tests: don't rely on err.actual from "check_describe"
- - describe tests: refactor away from glob matching
- - describe tests: improve test for --work-tree & --dirty
- (this branch uses ab/test-lib-updates.)
- Various updates to tests around "git describe"
+* hn/reftable-tables-doc-update (2021-04-12) 1 commit
+ (merged to 'next' on 2021-04-13 at cdadb2c621)
+ + reftable: document an alternate cleanup method on Windows
+ Doc updte.
-* ab/pickaxe-pcre2 (2021-04-12) 22 commits
- - xdiff-interface: replace discard_hunk_line() with a flag
- - xdiff users: use designated initializers for out_line
- - pickaxe -G: don't special-case create/delete
- - pickaxe -G: terminate early on matching lines
- - xdiff-interface: allow early return from xdiff_emit_line_fn
- - xdiff-interface: prepare for allowing early return
- - pickaxe -S: slightly optimize contains()
- - pickaxe: rename variables in has_changes() for brevity
- - pickaxe -S: support content with NULs under --pickaxe-regex
- - pickaxe: assert that we must have a needle under -G or -S
- - pickaxe: refactor function selection in diffcore-pickaxe()
- - perf: add performance test for pickaxe
- - pickaxe/style: consolidate declarations and assignments
- - diff.h: move pickaxe fields together again
- - pickaxe: die when --find-object and --pickaxe-all are combined
- - pickaxe: die when -G and --pickaxe-regex are combined
- - pickaxe tests: add missing test for --no-pickaxe-regex being an error
- - pickaxe tests: test for -G, -S and --find-object incompatibility
- - pickaxe tests: add test for "log -S" not being a regex
- - pickaxe tests: add test for diffgrep_consume() internals
- - pickaxe tests: refactor to use test_commit --append --printf
- - grep/pcre2 tests: reword comments referring to kwset
- (this branch uses ab/test-lib-updates.)
+ Will merge to 'master'.
- Rewrite the backend for "diff -G/-S" to use pcre2 engine when
- available.
+* jk/pack-objects-bitmap-progress-fix (2021-04-12) 1 commit
+ (merged to 'next' on 2021-04-13 at bbe18a7b3a)
+ + pack-objects: update "nr_seen" progress based on pack-reused count
-* es/config-hooks (2021-03-10) 36 commits
- . run-command: stop thinking about hooks
- . git-send-email: use 'git hook run' for 'sendemail-validate'
- . bugreport: use hook_exists instead of find_hook
- . receive-pack: convert receive hooks to hook.h
- . post-update: use hook.h library
- . proc-receive: acquire hook list from hook.h
- . receive-pack: convert 'update' hook to hook.h
- . reference-transaction: look for hooks in config
- . transport: convert pre-push hook to use config
- . hook: convert 'post-rewrite' hook to config
- . hooks: convert 'post-checkout' hook to hook library
- . git-p4: use 'git hook' to run hooks
- . receive-pack: convert push-to-checkout hook to hook.h
- . read-cache: convert post-index-change hook to use config
- . rebase: teach pre-rebase to use hook.h
- . gc: use hook library for pre-auto-gc hook
- . merge: use config-based hooks for post-merge hook
- . am: convert applypatch hooks to use config
- . commit: use config-based hooks
- . hooks: allow callers to capture output
- . run-command: allow capturing of collated output
- . hook: provide stdin by string_list or callback
- . run-command: add stdin callback for parallelization
- . hook: allow specifying working directory for hooks
- . hook: allow parallel hook execution
- . run-command: allow stdin for run_processes_parallel
- . hook: support passing stdin to hooks
- . hook: introduce hook_exists()
- . hook: add 'run' subcommand
- . parse-options: parse into strvec
- . hook: implement hookcmd.<name>.skip
- . hook: teach hook.runHookDir
- . hook: include hookdir hook in list
- . hook: add list command
- . hook: scaffolding for git-hook subcommand
- . doc: propose hooks managed by the config
+ When "git pack-objects" makes a literal copy of a part of existing
+ packfile using the reachability bitmaps, its update to the progress
+ meter was broken.
- The "hooks defined in config" topic.
+ Will merge to 'master'.
---------------------------------------------------
-[Cooking]
-* cc/test-helper-bloom-usage-fix (2021-04-05) 1 commit
- (merged to 'next' on 2021-04-06 at 4895f33fee)
- + test-bloom: fix missing 'bloom' from usage string
+* ma/t0091-bugreport-fix (2021-04-12) 1 commit
+ - t0091-bugreport.sh: actually verify some content of report
- Usage message fix for a test helper.
+ Test fix.
- Will merge to 'master'.
+ Expecting a reroll.
+ cf. <YHYZTLl90rkWWVOr@google.com>, <87a6q22dei.fsf@evledraar.gmail.com>
-* jz/apply-run-3way-first (2021-04-06) 1 commit
- (merged to 'next' on 2021-04-08 at f826bcc6b8)
- + git-apply: try threeway first when "--3way" is used
- (this branch is used by jz/apply-3way-cached.)
+* ps/config-global-override (2021-04-13) 3 commits
+ (merged to 'next' on 2021-04-15 at 60a58d74ab)
+ + config: allow overriding of global and system configuration
+ + config: unify code paths to get global config paths
+ + config: rename `git_etc_config()`
- "git apply --3way" has always been "to fall back to 3-way merge
- only when straight application fails". Swap the order of falling
- back so that 3-way is always attempted first (only when the option
- is given, of course) and then straight patch application is used as
- a fallback when it fails.
+ Replace GIT_CONFIG_NOSYSTEM mechanism to decline from reading the
+ system-wide configuration file with GIT_CONFIG_SYSTEM that lets
+ users specify from which file to read the system-wide configuration
+ (setting it to an empty file would essentially be the same as
+ setting NOSYSTEM), and introduce GIT_CONFIG_GLOBAL to override the
+ per-user configuration in $HOME/.gitconfig.
Will merge to 'master'.
cf. <e7f09182-3b75-f2a3-c9c7-0055cc377a32@gmail.com>
-* ab/complete-cherry-pick-head (2021-04-07) 1 commit
- (merged to 'next' on 2021-04-09 at 5810d0e2c2)
- + bash completion: complete CHERRY_PICK_HEAD
-
- The command line completion (in contrib/) has learned that
- CHERRY_PICK_HEAD is a possible pseudo-ref.
-
- Will merge to 'master'.
-
-
* mr/bisect-in-c-4 (2021-04-11) 4 commits
- bisect--helper: retire `--bisect-next-check` subcommand
- bisect--helper: reimplement `bisect_run` shell function in C
The codepaths involved in running "git bisect visualize" and "git
bisect run" has been rewritten in C.
-
+ Expecting a reroll.
cf. <xmqq35vwh8qk.fsf@gitster.g>, <xmqqy2doftrj.fsf@gitster.g>
-
-
-* ab/detox-config-gettext (2021-04-08) 1 commit
- (merged to 'next' on 2021-04-08 at 01d6ff5069)
- + config.c: remove last remnant of GIT_TEST_GETTEXT_POISON
-
- The last remnant of gettext-poison has been removed.
-
- Will merge to 'master'.
-
-
-* jz/apply-3way-cached (2021-04-07) 1 commit
- (merged to 'next' on 2021-04-09 at 7d1e84936f)
- + git-apply: allow simultaneous --cached and --3way options
- (this branch uses jz/apply-run-3way-first.)
-
- "git apply" now takes "--3way" and "--cached" at the same time, and
- work and record results only in the index.
-
- Will merge to 'master'.
-
-
-* vs/completion-with-set-u (2021-04-08) 1 commit
- (merged to 'next' on 2021-04-08 at b9b8bde89d)
- + completion: audit and guard $GIT_* against unset use
-
- The command-line completion script (in contrib/) had a couple of
- references that would have given a warning under the "-u" (nounset)
- option.
-
- Will merge to 'master'.
+ May want to boost the test coverage.
* sg/bugreport-fixes (2021-04-08) 1 commit
- Merge branch 'jh/simple-ipc' into jh/rfc-builtin-fsmonitor
-* jk/ref-filter-segfault-fix (2021-04-01) 1 commit
- (merged to 'next' on 2021-04-02 at 03596563b7)
- + ref-filter: fix NULL check for parse object failure
-
- A NULL-dereference bug has been corrected in an error codepath in
- "git for-each-ref", "git branch --list" etc.
-
- Will merge to 'master'.
-
-
-* tb/pack-preferred-tips-to-give-bitmap (2021-03-31) 3 commits
- (merged to 'next' on 2021-04-03 at cd7024ecd8)
- + builtin/pack-objects.c: respect 'pack.preferBitmapTips'
- + t/helper/test-bitmap.c: initial commit
- + pack-bitmap: add 'test_bitmap_commits()' helper
- (this branch is used by tb/multi-pack-bitmaps.)
-
- A configuration variable has been added to force tips of certain
- refs to be given a reachability bitmap.
-
- Will merge to 'master'.
-
-
-* ab/perl-do-not-abuse-map (2021-04-02) 1 commit
- (merged to 'next' on 2021-04-03 at 4eaf558557)
- + git-send-email: replace "map" in void context with "for"
- (this branch is used by ab/send-email-validate-errors.)
-
- Perl critique.
-
- Will merge to 'master'.
-
-
* zh/trailer-cmd (2021-04-12) 2 commits
- trailer: add new .cmd config option
- docs: correct descript of trailer.<token>.command
cf. <xmqqwnt7b5fg.fsf@gitster.g>
-* fm/user-manual-use-preface (2021-04-03) 1 commit
- (merged to 'next' on 2021-04-05 at 0ae8f63207)
- + user-manual.txt: assign preface an id and a title
-
- Doc update to improve git.info
-
- Will merge to 'master'.
-
-
-* ab/send-email-validate-errors (2021-04-06) 3 commits
- (merged to 'next' on 2021-04-06 at d7fb1dbde0)
- + git-send-email: improve --validate error output
- + git-send-email: refactor duplicate $? checks into a function
- + git-send-email: test full --validate output
- (this branch uses ab/perl-do-not-abuse-map.)
-
- Clean-up codepaths that implements "git send-email --validate"
- option and improves the message from it.
-
- Will merge to 'master'.
-
-
-* tb/precompose-prefix-simplify (2021-04-05) 2 commits
- (merged to 'next' on 2021-04-05 at 78e8ed11b7)
- + macOS: precompose startup_info->prefix
- + precompose_utf8: make precompose_string_if_needed() public
-
- Streamline the codepath to fix the UTF-8 encoding issues in the
- argv[] and the prefix on macOS.
-
- Will merge to 'master'.
-
-
* ab/userdiff-tests (2021-04-08) 9 commits
- - blame tests: simplify userdiff driver test
- - blame tests: don't rely on t/t4018/ directory
- - userdiff: remove support for "broken" tests
- - userdiff tests: list builtin drivers via test-tool
- - userdiff tests: explicitly test "default" pattern
- - userdiff: add and use for_each_userdiff_driver()
- - userdiff style: normalize pascal regex declaration
- - userdiff style: declare patterns with consistent style
- - userdiff style: re-order drivers in alphabetical order
+ (merged to 'next' on 2021-04-13 at 35fb0e853d)
+ + blame tests: simplify userdiff driver test
+ + blame tests: don't rely on t/t4018/ directory
+ + userdiff: remove support for "broken" tests
+ + userdiff tests: list builtin drivers via test-tool
+ + userdiff tests: explicitly test "default" pattern
+ + userdiff: add and use for_each_userdiff_driver()
+ + userdiff style: normalize pascal regex declaration
+ + userdiff style: declare patterns with consistent style
+ + userdiff style: re-order drivers in alphabetical order
A bit of code clean-up and a lot of test clean-up around userdiff
area.
- Will merge to 'next'?
+ Will merge to 'master'.
* ar/userdiff-scheme (2021-04-08) 1 commit
- - userdiff: add support for Scheme
+ (merged to 'next' on 2021-04-13 at eb80d55a8c)
+ + userdiff: add support for Scheme
Userdiff patterns for "Scheme" has been added.
- Will merge to 'next'?
-
-
-* gk/gitweb-redacted-email (2021-04-08) 1 commit
- (merged to 'next' on 2021-04-08 at 8a19c3cd6e)
- + gitweb: add "e-mail privacy" feature to redact e-mail addresses
-
- "gitweb" learned "e-mail privacy" feature to redact strings that
- look like e-mail addresses on various pages.
-
- Waiting for reviews.
- cf. <xmqq5z19k9wu.fsf@gitster.g>
+ Will merge to 'master'.
* ds/sparse-index (2021-03-30) 21 commits
- unpack-trees: add basic support for parallel checkout
-* ds/sparse-index-protections (2021-04-12) 26 commits
+* ds/sparse-index-protections (2021-04-14) 26 commits
- name-hash: use expand_to_path()
- sparse-index: expand_to_path()
- name-hash: don't add directories to name_hash
Plug the ort merge backend throughout the rest of the system, and
start testing it as a replacement for the recursive backend.
- Will merge to 'next'.
+ Will merge to 'master'.
-* hn/reftable (2021-04-12) 20 commits
+* hn/reftable (2021-04-14) 21 commits
+ - SQUASH??? reftable: prepare for hash-algo recorded in each oid
- Add "test-tool dump-reftable" command.
- git-prompt: prepare for reftable refs backend
- Reftable support for git-core
* ab/tests-cleanup-around-sha1 (2021-03-10) 4 commits
- - tests: get rid of $_x05 from the test suite
- - shortlog tests: rewrite to get rid of --abbrev=35 hardcoding
- - test-lib: remove unused $_x40 and $_z40 variables
- - git-bisect: remove unused SHA-1 $x40 shell variable
+ . tests: get rid of $_x05 from the test suite
+ . shortlog tests: rewrite to get rid of --abbrev=35 hardcoding
+ . test-lib: remove unused $_x40 and $_z40 variables
+ . git-bisect: remove unused SHA-1 $x40 shell variable
Remove variables that hold regexp and glob that match fixed number
of hexadecimal digits from the test suite.