From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 18272C433ED for ; Mon, 19 Apr 2021 23:25:51 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id D76666127C for ; Mon, 19 Apr 2021 23:25:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231434AbhDSX0T (ORCPT ); Mon, 19 Apr 2021 19:26:19 -0400 Received: from pb-smtp1.pobox.com ([64.147.108.70]:55352 "EHLO pb-smtp1.pobox.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230121AbhDSX0S (ORCPT ); Mon, 19 Apr 2021 19:26:18 -0400 Received: from pb-smtp1.pobox.com (unknown [127.0.0.1]) by pb-smtp1.pobox.com (Postfix) with ESMTP id EF731C922C; Mon, 19 Apr 2021 19:25:47 -0400 (EDT) (envelope-from junio@pobox.com) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to :subject:date:message-id:mime-version:content-type; s=sasl; bh=k rDMOJseMVvOTNgkNbQxYZRWWgg=; b=vkyaqrKlts2UsIatWMIpeUFfAy/g6gZ9Q Re1mB23EHFP1WFy5ciUDm8lYQFrcFFfvSkfGPvtOFmQ20Mq9ww21LIA831DkBPvc 67j0uUnchpmA3O8gItZ9q3OL8Im1oNcho1aJ4SA1EVsmy9v4cTAO0HY+nqfdi/HT 4aMsH4RIss= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:subject :date:message-id:mime-version:content-type; q=dns; s=sasl; b=qIP 2LiohJ5lENALRqjtCF3EHldWeXhmLchGzNZmI/Z2uIlwLKD3oGrdDc7wertC/flk drDyZbBm8ECzVPlZ2tk/So0ZU3YPTaZ/IEbzB1p+2ziSKH7lSuMGVqM2z+06dM28 n+fLq8SMDZVftASRgbeJj7uIvwCcd3m8i+U+l4dA= Received: from pb-smtp1.nyi.icgroup.com (unknown [127.0.0.1]) by pb-smtp1.pobox.com (Postfix) with ESMTP id E6360C922B; Mon, 19 Apr 2021 19:25:47 -0400 (EDT) (envelope-from junio@pobox.com) Received: from pobox.com (unknown [34.74.119.39]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pb-smtp1.pobox.com (Postfix) with ESMTPSA id 625F6C922A; Mon, 19 Apr 2021 19:25:47 -0400 (EDT) (envelope-from junio@pobox.com) From: Junio C Hamano To: git@vger.kernel.org Subject: What's cooking in git.git (Apr 2021, #05; Mon, 19) X-master-at: b0c09ab8796fb736efa432b8e817334f3e5ee75a X-next-at: 90b4fd31cda88325bdebf89b7d407491b176f853 Date: Mon, 19 Apr 2021 16:25:46 -0700 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Pobox-Relay-ID: 92103AF6-A166-11EB-BCCE-D152C8D8090B-77302942!pb-smtp1.pobox.com Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Here are the topics that have been cooking. Commits prefixed with '-' are only in 'seen' (formerly 'pu'---proposed updates) while commits prefixed with '+' are in 'next'. The ones marked with '.' do not appear in any of the integration branches, but I am still holding onto them. It will be a bit slower week than usual, since I am planning to go offline for a week or so starting around Apr 21st. 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 repositories have only a subset of branches. With maint, master, next, seen, todo: git://git.kernel.org/pub/scm/git/git.git/ git://repo.or.cz/alt-git.git/ https://kernel.googlesource.com/pub/scm/git/git/ https://github.com/git/git/ https://gitlab.com/git-vcs/git/ With all the integration branches and topics broken out: https://github.com/gitster/git/ Even though the preformatted documentation in HTML and man format are not sources, they are published in these repositories for convenience (replace "htmldocs" with "manpages" for the manual pages): git://git.kernel.org/pub/scm/git/git-htmldocs.git/ https://github.com/gitster/git-htmldocs.git/ Release tarballs are available at: https://www.kernel.org/pub/software/scm/git/ -------------------------------------------------- [Graduated to 'master'] * ah/merge-ort-ubsan-fix (2021-04-12) 1 commit (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. * en/ort-perf-batch-10 (2021-03-18) 8 commits (merged to 'next' on 2021-04-07 at 9826d89311) + diffcore-rename: determine which relevant_sources are no longer relevant + merge-ort: record the reason that we want a rename for a file + diffcore-rename: add computation of number of unknown renames + diffcore-rename: check if we have enough renames for directories early on + diffcore-rename: only compute dir_rename_count for relevant directories + merge-ort: record the reason that we want a rename for a directory + merge-ort, diffcore-rename: tweak dirs_removed and relevant_source type + diffcore-rename: take advantage of "majority rules" to skip more renames (this branch is used by en/ort-perf-batch-11 and en/ort-readiness.) Various rename detection optimization to help "ort" merge strategy backend. * en/ort-readiness (2021-03-20) 13 commits (merged to 'next' on 2021-04-08 at 20283a3f10) + Add testing with merge-ort merge strategy + t6423: mark remaining expected failure under merge-ort as such + Revert "merge-ort: ignore the directory rename split conflict for now" + merge-recursive: add a bunch of FIXME comments documenting known bugs + merge-ort: write $GIT_DIR/AUTO_MERGE whenever we hit a conflict + t: mark several submodule merging tests as fixed under merge-ort + merge-ort: implement CE_SKIP_WORKTREE handling with conflicted entries + t6428: new test for SKIP_WORKTREE handling and conflicts + merge-ort: support subtree shifting + merge-ort: let renormalization change modify/delete into clean delete + merge-ort: have ll_merge() use a special attr_index for renormalization + merge-ort: add a special minimal index just for renormalization + merge-ort: use STABLE_QSORT instead of QSORT where required (this branch is used by en/ort-perf-batch-11; uses en/ort-perf-batch-10.) Plug the ort merge backend throughout the rest of the system, and start testing it as a replacement for the recursive backend. -------------------------------------------------- [New Topics] * ba/object-info (2021-04-15) 2 commits - SQUASH??? - object-info: support for retrieving object info Over-the-wire protocol learns a new request type to ask for object sizes given a list of object names. * js/access-nul-emulation-on-windows (2021-04-16) 1 commit (merged to 'next' on 2021-04-16 at 3017437e51) + msvc: avoid calling `access("NUL", flags)` Portability fix. Will merge to 'master'. * zh/format-ref-array-optim (2021-04-19) 2 commits - ref-filter: reuse output buffer - ref-filter: get rid of show_ref_array_item "git (branch|tag) --format=..." has been micro-optimized. Almost there? * vs/completion-with-set-u (2021-04-16) 1 commit - completion: avoid aliased command lookup error in nounset mode Effort to make the command line completion (in contrib/) safe with "set -u" continues. Will merge to 'next'. * hn/prep-tests-for-reftable (2021-04-19) 18 commits - t1415: set REFFILES for test specific to storage format - t4202: mark bogus head hash test with REFFILES - t7003: check reflog existence only for REFFILES - t7900: mark pack-refs tests as REFFILES - t1404: mark tests that muck with .git directly as REFFILES. - t2017: mark --orphan/logAllRefUpdates=false test as REFFILES - t1414: mark corruption test with REFFILES - t1407: require REFFILES for for_each_reflog test - test-lib: provide test prereq REFFILES - t5304: use "reflog expire --all" to clear the reflog - t7003: use rev-parse rather than FS inspection - t5000: inspect HEAD using git-rev-parse - t1301: fix typo in error message - t1413: use tar to save and restore entire .git directory - t1401-symbolic-ref: avoid direct filesystem access - t5601: read HEAD using rev-parse - t9300: check ref existence using git-rev-parse rather than FS check - t4202: split testcase for invalid HEAD symref and HEAD hash Preliminary clean-up of tests before the main reftable changes hits the codebase. * ps/config-env-option-with-separate-value (2021-04-19) 2 commits - git: support separate arg for `--config-env`'s value - git.txt: fix synopsis of `--config-env` missing the equals sign "git --config-env var=val cmd" weren't accepted (only --config-env=var=val was). -------------------------------------------------- [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" 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. * 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..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] * 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-16) 5 commits (merged to 'next' on 2021-04-17 at 6c1eba8ee3) + 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 (this branch uses sg/bugreport-fixes.) "git log" learned "--diff-merges=