git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* What's cooking in git.git (Mar 2021, #03; Wed, 10)
@ 2021-03-11  3:01 Junio C Hamano
  2021-03-11  4:49 ` Elijah Newren
                   ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Junio C Hamano @ 2021-03-11  3:01 UTC (permalink / raw)
  To: git

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.

The second release candidate Git v2.31.0-rc2, together with
maintenance releases for CVE-2021-21300, have been released.

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/

--------------------------------------------------
[New Topics]

* 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

 Remove variables that hold regexp and glob that match fixed number
 of hexadecimal digits from the test suite.

 Expecting a reroll.
 At least the last one weakens a test; there may be similar breakage
 due to not understanding what they are trying to test.


* jk/filter-branch-sha256 (2021-03-10) 3 commits
 - filter-branch: drop $_x40 glob
 - filter-branch: drop multiple-ancestor warning
 - t7003: test ref rewriting explicitly

 Code clean-up.

 Will merge to 'next'.
 In the longer term, we might want to remove filter-branch and nudge
 folks to more modern tools.


* jn/mergetool-hideresolved-is-optional (2021-03-10) 1 commit
 - mergetool: do not enable hideResolved by default

 Disable the recent mergetool's hideresolved feature by default for
 backward compatibility and safety.

 Expecting a reroll.  
 We may want to give a more meaning log message to explain why it is
 undesirable to turn it on by default.


--------------------------------------------------
[Graduated to 'master']

* jt/transfer-fsck-across-packs-fix (2021-03-05) 1 commit
  (merged to 'next' on 2021-03-07 at c79f295216)
 + fetch-pack: do not mix --pack_header and packfile uri

 The code to fsck objects received across multiple packs during a
 single git fetch session has been broken when the packfile URI
 feature was in use.  A workaround has been added by disabling the
 codepath that avoids keeping a packfile that is too small.

--------------------------------------------------
[Stalled]

* hn/reftable (2021-03-08) 17 commits
 - SQUASH??? calloc(nmemb,size)
 - SQUASH??? allow t0031 to run with any default branch name
 - Add "test-tool dump-reftable" command.
 - git-prompt: prepare for reftable refs backend
 - Reftable support for git-core
 - reftable: rest of library
 - reftable: reftable file level tests
 - reftable: read reftable files
 - reftable: write reftable files
 - reftable: a generic binary tree implementation
 - reftable: reading/writing blocks
 - reftable: (de)serialization for the polymorphic record type.
 - reftable: add blocksource, an abstraction for random access reads
 - reftable: utility functions
 - reftable: add error related functionality
 - reftable: add LICENSE
 - init-db: set the_repository->hash_algo early on

 The "reftable" backend for the refs API.


* mt/parallel-checkout-part-1 (2020-12-16) 9 commits
 - entry: add checkout_entry_ca() taking preloaded conv_attrs
 - entry: move conv_attrs lookup up to checkout_entry()
 - entry: extract update_ce_after_write() from write_entry()
 - entry: make fstat_output() and read_blob_entry() public
 - entry: extract a header file for entry.c functions
 - convert: add classification for conv_attrs struct
 - convert: add get_stream_filter_ca() variant
 - convert: add [async_]convert_to_working_tree_ca() variants
 - convert: make convert_attrs() and convert structs public

 Parallel checkout.

 Looking good.


* es/config-hooks-part-1 (2021-02-16) 17 commits
 - 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: replace find_hook() with hook_exists()
 - hook: add 'run' subcommand
 - parse-options: parse into strvec
 - hook: implement hookcmd.<name>.skip
 - hook: respect 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
 (this branch is used by es/config-hooks.)

 A way to specify hooks in the configuration files is introduced.

 Expecting another reroll??
 cf. <YC7o2rUQOEdiMdqh@google.com>


* dl/stash-show-untracked (2021-03-05) 2 commits
  (merged to 'next' on 2021-03-08 at 510d4cfa5f)
 + stash show: learn stash.showIncludeUntracked
 + stash show: teach --include-untracked and --only-untracked

 "git stash show" learned to optionally show untracked part of the
 stash.

 Will cook in 'next'.


* ab/fsck-api-cleanup (2021-02-18) 10 commits
 - fsck.h: update FSCK_OPTIONS_* for object_name
 - fsck.c: give "FOREACH_MSG_ID" a more specific name
 - fsck.c: undefine temporary STR macro after use
 - fsck.c: call parse_msg_type() early in fsck_set_msg_type()
 - fsck.h: move FSCK_{FATAL,INFO,ERROR,WARN,IGNORE} into an enum
 - fsck.c: rename remaining fsck_msg_id "id" to "msg_id"
 - fsck.c: move definition of msg_id into append_msg_id()
 - fsck.c: rename variables in fsck_set_msg_type() for less confusion
 - fsck.h: use "enum object_type" instead of "int"
 - fsck.h: indent arguments to of fsck_set_msg_type

 Preliminary fsck API clean-up.

 Expecting a reroll.
 cf. <xmqqczwxc8bw.fsf@gitster.g>


* jk/symlinked-dotgitx-files (2020-10-23) 9 commits
 - docs: document symlink restrictions for .git* files
 - fsck: complain when .gitattributes or .gitignore is a symlink
 - verify_path(): disallow symlinks in .gitattributes and .gitignore
 - t0060: test obscured .gitattributes and .gitignore matching
 - t7450: test .gitmodules symlink matching against obscured names
 - t7450: test verify_path() handling of gitmodules
 - t7415: rename to expand scope
 - fsck_tree(): wrap some long lines
 - fsck_tree(): fix shadowed variable

 "git fsck" and the corresponding check done during the transport
 learned to ensure that in-tree files like `.gitignore` and
 `.gitattributes` are not symbolic links.

 It seems that there are real projects with .gitignore recorded as
 symlinks, which may need to loosen the fsck setting.  Do we need to
 introduce a class that is separate from symlinked .gitmodules that
 has potential consequences that is more/less grave, so that these
 projects can opt out of the new checks?


* ag/merge-strategies-in-c (2020-11-24) 13 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-index: don't fork if the requested program is `git-merge-one-file'
 - merge-index: libify merge_one_path() and merge_all()
 - merge-one-file: rewrite in C
 - update-index: move add_cacheinfo() to read-cache.c
 - 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.

 Got enough review comments to get updated.

--------------------------------------------------
[Cooking]

* ab/make-cocci-dedup (2021-03-05) 4 commits
 - Makefile/coccicheck: set SPATCH_BATCH_SIZE to 8
 - Makefile/coccicheck: allow for setting xargs concurrency
 - Makefile/coccicheck: speed up and fix bug with duplicate hunks
 - Makefile/coccicheck: add comment heading for all SPATCH flags

 An attempt to speed up the coccicheck target with incorrect
 results.

 A reroll exists to address correctness issue, but not picked up.


* ab/read-tree (2021-03-08) 6 commits
 - tree.h API: remove "stage" parameter from read_tree_recursive()
 - tree.h API: remove support for starting at prefix != ""
 - ls-files: refactor away read_tree()
 - ls-files: don't needlessly pass around stage variable
 - tree.c API: move read_tree() into builtin/ls-files.c
 - ls-files tests: add meaningful --with-tree tests

 Code simplification by removing support for a caller that is long gone.

 Looked good.


* ab/unexpected-object-type (2021-03-08) 7 commits
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - object.c: add a utility function for "expected type X, got Y"
 - tree.c: fix misindentation in parse_tree_gently()
 - oid_object_info(): return "enum object_type"
 - object.c: make type_from_string() return "enum object_type"
 - object.c: refactor type_from_string_gently()

 Error reporting upon object type mismatch has been improved

 Looked good.


* ah/make-fuzz-all-doc-update (2021-03-08) 1 commit
 - Makefile: update 'make fuzz-all' docs to reflect modern clang

 Update insn in Makefile comments to run fuzz-all target.

 Needs review.
 cf. <pull.889.v3.git.1615223682911.gitgitgadget@gmail.com>
 cf. <defff7a3-2104-4fa1-7750-0b13ca5cdf59@ahunt.org>


* ah/plugleaks (2021-03-08) 7 commits
 - parse-options: don't leak alias help messages
 - init-db: silence template_dir leak when converting to absolute path
 - init: remove git_init_db_config() while fixing leaks
 - worktree: fix leak in dwim_branch()
 - clone: free or UNLEAK further pointers when finished
 - reset: free instead of leaking unneeded ref
 - symbolic-ref: don't leak shortened refname in check_symref()

 Plug or annotate remaining leaks that trigger while running the
 very basic set of tests.


* bc/clone-bare-with-conflicting-config (2021-03-10) 1 commit
 - builtin/init-db: handle bare clones when core.bare set to false

 "git -c core.bare=false clone --bare ..." would have segfaulted,
 which has been corrected.

 Will merge to 'next'.


* dl/cat-file-doc-cleanup (2021-03-03) 2 commits
 - git-cat-file.txt: remove references to "sha1"
 - git-cat-file.txt: monospace args, placeholders and filenames

 Doc cleanup.

 Will merge to 'next'.


* jr/doc-ignore-typofix (2021-03-03) 1 commit
 - doc: .gitignore documentation typofix

 Doc cleanup.

 Will merge to 'next'.


* rr/mailmap-entry-self (2021-03-08) 1 commit
 - Add entry for Ramkumar Ramachandra

 Will merge to 'next'.


* rs/xcalloc-takes-nelem-first (2021-03-08) 1 commit
 - fix xcalloc() argument order

 Code cleanup.

 Will merge to 'next'.


* sv/t9801-test-path-is-file-cleanup (2021-03-03) 1 commit
 - t9801: replace test -f with test_path_is_file

 Test cleanup.

 Will merge to 'next'.


* tb/git-mv-icase-fix (2021-03-03) 1 commit
 - git mv foo FOO ; git mv foo bar gave an assert

 Fix a corner case bug in "git mv" on case insensitive systems,
 which was introduced in 2.29 timeframe.

 Will merge to 'next'.


* tb/push-simple-uses-branch-merge-config (2021-03-08) 1 commit
 - Documentation/git-push.txt: correct configuration typo

 Doc update.

 cf. <YEaM7ruZCvaQQbPI@nand.local>


* ab/remote-write-config-in-camel-case (2021-02-24) 2 commits
  (merged to 'next' on 2021-03-01 at a01bd0d8e4)
 + remote: write camel-cased *.pushRemote on rename
 + remote: add camel-cased *.tagOpt key, like clone

 Update C code that sets a few configuration variables when a remote
 is configured so that it spells configuration variable names in the
 canonical camelCase.

 Will cook in 'next'.


* ds/commit-graph-generation-config (2021-02-25) 2 commits
  (merged to 'next' on 2021-03-01 at 926537ea97)
 + commit-graph: use config to specify generation type
 + commit-graph: create local repository pointer

 A new configuration variable has been introduced to allow choosing
 which version of the generation number gets used in the
 commit-graph file.

 Will cook in 'next'.


* mt/cleanly-die-upon-missing-required-filter (2021-02-26) 1 commit
  (merged to 'next' on 2021-03-01 at 357954af7c)
 + convert: fail gracefully upon missing clean cmd on required filter

 We had a code to diagnose and die cleanly when a required
 clean/smudge filter is missing, but an assert before that
 unnecessarily fired, hiding the end-user facing die() message.

 Will cook in 'next'.


* ab/describe-tests-fix (2021-03-01) 10 commits
 - test-lib: return 1 from test_expect_{success,failure}
 - svn tests: refactor away a "set -e" in test body
 - svn tests: remove legacy re-setup from init-clone test
 - describe tests: support -C in "check_describe"
 - describe tests: fix nested "test_expect_success" call
 - describe tests: convert setup to use test_commit
 - test-lib functions: add an --annotated-tag option to "test_commit"
 - describe tests: always assert empty stderr from "describe"
 - describe tests: refactor away from glob matching
 - describe tests: improve test for --work-tree & --dirty

 Various updates to tests around "git describe"


* en/ort-perf-batch-8 (2021-02-26) 10 commits
  (merged to 'next' on 2021-03-07 at f03b2c1acd)
 + diffcore-rename: compute dir_rename_guess from dir_rename_counts
 + diffcore-rename: limit dir_rename_counts computation to relevant dirs
 + diffcore-rename: compute dir_rename_counts in stages
 + diffcore-rename: extend cleanup_dir_rename_info()
 + diffcore-rename: move dir_rename_counts into dir_rename_info struct
 + diffcore-rename: add function for clearing dir_rename_count
 + Move computation of dir_rename_count from merge-ort to diffcore-rename
 + diffcore-rename: add a mapping of destination names to their indices
 + diffcore-rename: provide basic implementation of idx_possible_rename()
 + diffcore-rename: use directory rename guided basename comparisons

 Rename detection rework continues.

 Will cook in 'next'.


* jk/perf-in-worktrees (2021-02-26) 2 commits
  (merged to 'next' on 2021-03-02 at ea298cb298)
 + t/perf: avoid copying worktree files from test repo
 + t/perf: handle worktrees as test repos

 Perf test update to work better in secondary worktrees.

 Will cook in 'next'.


* ps/update-ref-trans-hook-doc (2021-03-01) 2 commits
 - githooks.txt: clarify documentation on reference-transaction hook
 - githooks.txt: replace mentions of SHA-1 specific properties


* tb/pack-revindex-on-disk (2021-02-26) 1 commit
 - pack-revindex.c: don't close unopened file descriptors


* zh/format-patch-fractional-reroll-count (2021-03-01) 1 commit
 - format-patch: allow a non-integral version numbers


* ab/make-cleanup (2021-02-23) 6 commits
 - Makefile: build "$(FUZZ_OBJS)" in CI, not under "all"
 - Makefile: add {program,xdiff,test,git,fuzz}-objs & objects targets
 - Makefile: split OBJECTS into OBJECTS and GIT_OBJS
 - Makefile: sort OBJECTS assignment for subsequent change
 - Makefile: split up long OBJECTS line
 - Makefile: guard against TEST_OBJS in the environment

 Reorganize Makefile to allow building git.o and other essential
 objects without extra stuff needed only for testing.

 The last step is of dubious value, but otherwise looked OK.
 cf. <YDVJZnmTiBYZ4iPM@coredump.intra.peff.net>


* ab/grep-pcre2-allocfix (2021-02-17) 10 commits
  (merged to 'next' on 2021-03-04 at 26d2b726b1)
 + grep/pcre2: move definitions of pcre2_{malloc,free}
 + grep/pcre2: move back to thread-only PCREv2 structures
 + grep/pcre2: actually make pcre2 use custom allocator
 + grep/pcre2: use pcre2_maketables_free() function
 + grep/pcre2: use compile-time PCREv2 version test
 + grep/pcre2: add GREP_PCRE2_DEBUG_MALLOC debug mode
 + grep/pcre2: prepare to add debugging to pcre2_malloc()
 + grep/pcre2: correct reference to grep_init() in comment
 + grep/pcre2: drop needless assignment to NULL
 + grep/pcre2: drop needless assignment + assert() on opt->pcre2

 Updates to memory allocation code around the use of pcre2 library.

 Will cook in 'next'.


* tb/reverse-midx (2021-02-24) 16 commits
 - pack-revindex: write multi-pack reverse indexes
 - pack-write.c: extract 'write_rev_file_order'
 - pack-revindex: read multi-pack reverse indexes
 - Documentation/technical: describe multi-pack reverse indexes
 - midx: make some functions non-static
 - midx: keep track of the checksum
 - midx: don't free midx_name early
 - midx: allow marking a pack as preferred
 - t/helper/test-read-midx.c: add '--show-objects'
 - builtin/multi-pack-index.c: display usage on unrecognized command
 - builtin/multi-pack-index.c: don't enter bogus cmd_mode
 - builtin/multi-pack-index.c: split sub-commands
 - builtin/multi-pack-index.c: define common usage with a macro
 - builtin/multi-pack-index.c: don't handle 'progress' separately
 - builtin/multi-pack-index.c: inline 'flags' with options
 - Merge branch 'ds/chunked-file-api' into tb/reverse-midx

 An on-disk reverse-index to map the in-pack location of an object
 back to its object name across multiple packfiles is introduced.


* ab/pickaxe-pcre2 (2021-02-18) 24 commits
 - pickaxe -G: don't special-case create/delete
 - pickaxe -G: terminate early on matching lines
 - xdiff-interface: support early exit in xdiff_outf()
 - xdiff-interface: allow early return from xdiff_emit_{line,hunk}_fn
 - 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: 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
 - test-lib functions: add --printf option to test_commit
 - test-lib-functions: reword "test_commit --append" docs
 - test-lib-functions: document and test test_commit --no-tag
 - grep/pcre2 tests: reword comments referring to kwset
 - Merge branch 'jk/rev-list-disk-usage' into ab/pickaxe-pcre2
 - Merge branch 'ab/test-lib' into ab/pickaxe-pcre2

 Rewrite the backend for "diff -G/-S" to use pcre2 engine when
 available.

 Needs review.
 cf. <20210216115801.4773-1-avarab@gmail.com>


* cm/rebase-i-fixup-amend-reword (2021-03-10) 6 commits
 - doc/git-commit: add documentation for fixup=[amend|reword] options
 - t3437: use --fixup with options to create amend! commit
 - t7500: add tests for --fixup=[amend|reword] options
 - commit: add a reword suboption to --fixup
 - commit: add amend suboption to --fixup to create amend! commit
 - sequencer: export and rename subject_length()
 (this branch uses cm/rebase-i and cm/rebase-i-updates.)

 "git commit --fixup=<commit>", which was to tweak the changes made
 to the contents while keeping the original log message intact,
 learned "--fixup=(amend|reword):<commit>", that can be used to
 tweak both the message and the contents, and only the message,
 respectively.

 Getting there.


* jk/open-dotgitx-with-nofollow (2021-02-16) 6 commits
  (merged to 'next' on 2021-02-25 at a784bf7be6)
 + mailmap: do not respect symlinks for in-tree .mailmap
 + exclude: do not respect symlinks for in-tree .gitignore
 + attr: do not respect symlinks for in-tree .gitattributes
 + exclude: add flags parameter to add_patterns()
 + attr: convert "macro_ok" into a flags field
 + add open_nofollow() helper

 It does not make sense to make ".gitattributes", ".gitignore" and
 ".mailmap" symlinks, as they are supposed to be usable from the
 object store (think: bare repositories where HEAD:.mailmap etc. are
 used).  When these files are symbolic links, we used to read the
 contents of the files pointed by them by mistake, which has been
 corrected.

 Will cook in 'next'.


* rs/pretty-describe (2021-03-01) 4 commits
  (merged to 'next' on 2021-03-01 at bee9248828)
 + pretty: document multiple %(describe) being inconsistent
 + t4205: assert %(describe) test coverage
  (merged to 'next' on 2021-02-25 at 2347ed8fe6)
 + pretty: add merge and exclude options to %(describe)
 + pretty: add %(describe)

 "git log --format='...'" learned "%(describe)" placeholder.

 Will cook in 'next'.


* cm/rebase-i-updates (2021-02-10) 11 commits
  (merged to 'next' on 2021-02-12 at e29227780b)
 + doc/rebase -i: fix typo in the documentation of 'fixup' command
 + t/t3437: fixup the test 'multiple fixup -c opens editor once'
 + t/t3437: use named commits in the tests
 + t/t3437: simplify and document the test helpers
 + t/t3437: check the author date of fixed up commit
 + t/t3437: remove the dependency of 'expected-message' file from tests
 + t/t3437: fixup here-docs in the 'setup' test
 + t/lib-rebase: update the documentation of FAKE_LINES
 + rebase -i: clarify and fix 'fixup -c' rebase-todo help
 + sequencer: rename a few functions
 + sequencer: fixup the datatype of the 'flag' argument
 (this branch is used by cm/rebase-i-fixup-amend-reword; uses cm/rebase-i.)

 Follow-up fixes to "cm/rebase-i" topic.

 Will cook in 'next', together with "cm/rebase-i".


* jh/simple-ipc (2021-03-09) 12 commits
 - t0052: add simple-ipc tests and t/helper/test-simple-ipc tool
 - simple-ipc: add Unix domain socket implementation
 - unix-stream-server: create unix domain socket under lock
 - unix-socket: disallow chdir() when creating unix domain sockets
 - unix-socket: add backlog size option to unix_stream_listen()
 - unix-socket: eliminate static unix_stream_socket() helper function
 - simple-ipc: add win32 implementation
 - simple-ipc: design documentation for new IPC mechanism
 - pkt-line: add options argument to read_packetized_to_strbuf()
 - pkt-line: add PACKET_READ_GENTLE_ON_READ_ERROR option
 - pkt-line: do not issue flush packets in write_packetized_*()
 - pkt-line: eliminate the need for static buffer in packet_write_gently()

 A simple IPC interface gets introduced to build services like
 fsmonitor on top.

 Replaced with a new iteration.



* cm/rebase-i (2021-01-29) 9 commits
  (merged to 'next' on 2021-02-01 at 4f9aa6cec3)
 + doc/git-rebase: add documentation for fixup [-C|-c] options
 + rebase -i: teach --autosquash to work with amend!
 + t3437: test script for fixup [-C|-c] options in interactive rebase
 + rebase -i: add fixup [-C | -c] command
 + sequencer: use const variable for commit message comments
 + sequencer: pass todo_item to do_pick_commit()
 + rebase -i: comment out squash!/fixup! subjects from squash message
 + sequencer: factor out code to append squash message
 + rebase -i: only write fixup-message when it's needed
 (this branch is used by cm/rebase-i-fixup-amend-reword and cm/rebase-i-updates.)

 "rebase -i" is getting cleaned up and also enhanced.

 Will cook in 'next', together with "cm/rebase-i-updates".


* tb/geometric-repack (2021-03-05) 13 commits
  (merged to 'next' on 2021-03-08 at def1c48d43)
 + builtin/repack.c: reword comment around pack-objects flags
 + builtin/repack.c: be more conservative with unsigned overflows
 + builtin/repack.c: assign pack split later
 + t7703: test --geometric repack with loose objects
 + builtin/repack.c: do not repack single packs with --geometric
  (merged to 'next' on 2021-02-25 at a854fdbaff)
 + builtin/repack.c: add '--geometric' option
 + packfile: add kept-pack cache for find_kept_pack_entry()
 + builtin/pack-objects.c: rewrite honor-pack-keep logic
 + p5303: measure time to repack with keep
 + p5303: add missing &&-chains
 + builtin/pack-objects.c: add '--stdin-packs' option
 + revision: learn '--no-kept-objects'
 + packfile: introduce 'find_kept_pack_entry()'

 "git repack" so far has been only capable of repacking everything
 under the sun into a single pack (or split by size).  A cleverer
 strategy to reduce the cost of repacking a repository has been
 introduced.

 Will cook in 'next'.


* es/config-hooks (2021-02-16) 17 commits
 - run-command: stop thinking about hooks
 - 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
 (this branch uses es/config-hooks-part-1.)

 The "hooks defined in config" topic.

 Expecting doc updates, but otherwise seems to be progressing nicely.

--------------------------------------------------
[Discarded]

* cw/pack-vs-bigfilethreashold (2021-02-09) 2 commits
 . fixup! doc: mention bigFileThreshold for packing
 . doc: mention bigFileThreshold for packing

 Doc update.

 cw/pack-config-doc supersedes this with a bit more coverage on
 related knobs.


* jh/simple-ipc-cleanups (2021-03-04) 9 commits
 - SQUASH???
 - simple-ipc: update design documentation with more details
 - test-simple-ipc: add --token=<token> string option
 - test-simple-ipc: refactor command line option processing in helper
 - unix-stream-server: add st_dev and st_mode to socket stolen checks
 - simple-ipc: move error handling up a level
 - unix-stream-server: create unix-stream-server.c
 - unix-socket: simplify initialization of unix_stream_listen_opts
 - pkt-line: remove buffer arg from write_packetized_from_fd_no_flush()

 After kicking jh/simple-ipc out of 'next' and rewinding
 jh/simple-ipc to contain the incremental clean-up in this follow-up
 topic, it is no longer needed, hence retired.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: What's cooking in git.git (Mar 2021, #03; Wed, 10)
  2021-03-11  3:01 What's cooking in git.git (Mar 2021, #03; Wed, 10) Junio C Hamano
@ 2021-03-11  4:49 ` Elijah Newren
  2021-03-11  6:08   ` Junio C Hamano
  2021-03-11  5:20 ` ZheNing Hu
  2021-03-11 11:44 ` Ævar Arnfjörð Bjarmason
  2 siblings, 1 reply; 14+ messages in thread
From: Elijah Newren @ 2021-03-11  4:49 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Git Mailing List

On Wed, Mar 10, 2021 at 7:05 PM Junio C Hamano <gitster@pobox.com> wrote:
> --------------------------------------------------
> [New Topics]
...

Is there any reason the topics at

https://lore.kernel.org/git/pull.845.git.1614484707.gitgitgadget@gmail.com/T/#t

and

https://lore.kernel.org/git/pull.973.git.git.1614905738.gitgitgadget@gmail.com/T/#t

haven't been picked up yet?

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: What's cooking in git.git (Mar 2021, #03; Wed, 10)
  2021-03-11  3:01 What's cooking in git.git (Mar 2021, #03; Wed, 10) Junio C Hamano
  2021-03-11  4:49 ` Elijah Newren
@ 2021-03-11  5:20 ` ZheNing Hu
  2021-03-11  5:28   ` Junio C Hamano
  2021-03-11 11:44 ` Ævar Arnfjörð Bjarmason
  2 siblings, 1 reply; 14+ messages in thread
From: ZheNing Hu @ 2021-03-11  5:20 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Git List

Hi,Junio,

Junio C Hamano <gitster@pobox.com> 于2021年3月11日周四 上午11:04写道:
>
> 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.
>
> The second release candidate Git v2.31.0-rc2, together with
> maintenance releases for CVE-2021-21300, have been released.
>
> 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/
>
> --------------------------------------------------
> [New Topics]
>
> * 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
>
>  Remove variables that hold regexp and glob that match fixed number
>  of hexadecimal digits from the test suite.
>
>  Expecting a reroll.
>  At least the last one weakens a test; there may be similar breakage
>  due to not understanding what they are trying to test.
>
>
> * jk/filter-branch-sha256 (2021-03-10) 3 commits
>  - filter-branch: drop $_x40 glob
>  - filter-branch: drop multiple-ancestor warning
>  - t7003: test ref rewriting explicitly
>
>  Code clean-up.
>
>  Will merge to 'next'.
>  In the longer term, we might want to remove filter-branch and nudge
>  folks to more modern tools.
>
>
> * jn/mergetool-hideresolved-is-optional (2021-03-10) 1 commit
>  - mergetool: do not enable hideResolved by default
>
>  Disable the recent mergetool's hideresolved feature by default for
>  backward compatibility and safety.
>
>  Expecting a reroll.
>  We may want to give a more meaning log message to explain why it is
>  undesirable to turn it on by default.
>
>
> --------------------------------------------------
> [Graduated to 'master']
>
> * jt/transfer-fsck-across-packs-fix (2021-03-05) 1 commit
>   (merged to 'next' on 2021-03-07 at c79f295216)
>  + fetch-pack: do not mix --pack_header and packfile uri
>
>  The code to fsck objects received across multiple packs during a
>  single git fetch session has been broken when the packfile URI
>  feature was in use.  A workaround has been added by disabling the
>  codepath that avoids keeping a packfile that is too small.
>
> --------------------------------------------------
> [Stalled]
>
> * hn/reftable (2021-03-08) 17 commits
>  - SQUASH??? calloc(nmemb,size)
>  - SQUASH??? allow t0031 to run with any default branch name
>  - Add "test-tool dump-reftable" command.
>  - git-prompt: prepare for reftable refs backend
>  - Reftable support for git-core
>  - reftable: rest of library
>  - reftable: reftable file level tests
>  - reftable: read reftable files
>  - reftable: write reftable files
>  - reftable: a generic binary tree implementation
>  - reftable: reading/writing blocks
>  - reftable: (de)serialization for the polymorphic record type.
>  - reftable: add blocksource, an abstraction for random access reads
>  - reftable: utility functions
>  - reftable: add error related functionality
>  - reftable: add LICENSE
>  - init-db: set the_repository->hash_algo early on
>
>  The "reftable" backend for the refs API.
>
>
> * mt/parallel-checkout-part-1 (2020-12-16) 9 commits
>  - entry: add checkout_entry_ca() taking preloaded conv_attrs
>  - entry: move conv_attrs lookup up to checkout_entry()
>  - entry: extract update_ce_after_write() from write_entry()
>  - entry: make fstat_output() and read_blob_entry() public
>  - entry: extract a header file for entry.c functions
>  - convert: add classification for conv_attrs struct
>  - convert: add get_stream_filter_ca() variant
>  - convert: add [async_]convert_to_working_tree_ca() variants
>  - convert: make convert_attrs() and convert structs public
>
>  Parallel checkout.
>
>  Looking good.
>
>
> * es/config-hooks-part-1 (2021-02-16) 17 commits
>  - 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: replace find_hook() with hook_exists()
>  - hook: add 'run' subcommand
>  - parse-options: parse into strvec
>  - hook: implement hookcmd.<name>.skip
>  - hook: respect 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
>  (this branch is used by es/config-hooks.)
>
>  A way to specify hooks in the configuration files is introduced.
>
>  Expecting another reroll??
>  cf. <YC7o2rUQOEdiMdqh@google.com>
>
>
> * dl/stash-show-untracked (2021-03-05) 2 commits
>   (merged to 'next' on 2021-03-08 at 510d4cfa5f)
>  + stash show: learn stash.showIncludeUntracked
>  + stash show: teach --include-untracked and --only-untracked
>
>  "git stash show" learned to optionally show untracked part of the
>  stash.
>
>  Will cook in 'next'.
>
>
> * ab/fsck-api-cleanup (2021-02-18) 10 commits
>  - fsck.h: update FSCK_OPTIONS_* for object_name
>  - fsck.c: give "FOREACH_MSG_ID" a more specific name
>  - fsck.c: undefine temporary STR macro after use
>  - fsck.c: call parse_msg_type() early in fsck_set_msg_type()
>  - fsck.h: move FSCK_{FATAL,INFO,ERROR,WARN,IGNORE} into an enum
>  - fsck.c: rename remaining fsck_msg_id "id" to "msg_id"
>  - fsck.c: move definition of msg_id into append_msg_id()
>  - fsck.c: rename variables in fsck_set_msg_type() for less confusion
>  - fsck.h: use "enum object_type" instead of "int"
>  - fsck.h: indent arguments to of fsck_set_msg_type
>
>  Preliminary fsck API clean-up.
>
>  Expecting a reroll.
>  cf. <xmqqczwxc8bw.fsf@gitster.g>
>
>
> * jk/symlinked-dotgitx-files (2020-10-23) 9 commits
>  - docs: document symlink restrictions for .git* files
>  - fsck: complain when .gitattributes or .gitignore is a symlink
>  - verify_path(): disallow symlinks in .gitattributes and .gitignore
>  - t0060: test obscured .gitattributes and .gitignore matching
>  - t7450: test .gitmodules symlink matching against obscured names
>  - t7450: test verify_path() handling of gitmodules
>  - t7415: rename to expand scope
>  - fsck_tree(): wrap some long lines
>  - fsck_tree(): fix shadowed variable
>
>  "git fsck" and the corresponding check done during the transport
>  learned to ensure that in-tree files like `.gitignore` and
>  `.gitattributes` are not symbolic links.
>
>  It seems that there are real projects with .gitignore recorded as
>  symlinks, which may need to loosen the fsck setting.  Do we need to
>  introduce a class that is separate from symlinked .gitmodules that
>  has potential consequences that is more/less grave, so that these
>  projects can opt out of the new checks?
>
>
> * ag/merge-strategies-in-c (2020-11-24) 13 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-index: don't fork if the requested program is `git-merge-one-file'
>  - merge-index: libify merge_one_path() and merge_all()
>  - merge-one-file: rewrite in C
>  - update-index: move add_cacheinfo() to read-cache.c
>  - 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.
>
>  Got enough review comments to get updated.
>
> --------------------------------------------------
> [Cooking]
>
> * ab/make-cocci-dedup (2021-03-05) 4 commits
>  - Makefile/coccicheck: set SPATCH_BATCH_SIZE to 8
>  - Makefile/coccicheck: allow for setting xargs concurrency
>  - Makefile/coccicheck: speed up and fix bug with duplicate hunks
>  - Makefile/coccicheck: add comment heading for all SPATCH flags
>
>  An attempt to speed up the coccicheck target with incorrect
>  results.
>
>  A reroll exists to address correctness issue, but not picked up.
>
>
> * ab/read-tree (2021-03-08) 6 commits
>  - tree.h API: remove "stage" parameter from read_tree_recursive()
>  - tree.h API: remove support for starting at prefix != ""
>  - ls-files: refactor away read_tree()
>  - ls-files: don't needlessly pass around stage variable
>  - tree.c API: move read_tree() into builtin/ls-files.c
>  - ls-files tests: add meaningful --with-tree tests
>
>  Code simplification by removing support for a caller that is long gone.
>
>  Looked good.
>
>
> * ab/unexpected-object-type (2021-03-08) 7 commits
>  - tag: don't misreport type of tagged objects in errors
>  - object tests: add test for unexpected objects in tags
>  - object.c: add a utility function for "expected type X, got Y"
>  - tree.c: fix misindentation in parse_tree_gently()
>  - oid_object_info(): return "enum object_type"
>  - object.c: make type_from_string() return "enum object_type"
>  - object.c: refactor type_from_string_gently()
>
>  Error reporting upon object type mismatch has been improved
>
>  Looked good.
>
>
> * ah/make-fuzz-all-doc-update (2021-03-08) 1 commit
>  - Makefile: update 'make fuzz-all' docs to reflect modern clang
>
>  Update insn in Makefile comments to run fuzz-all target.
>
>  Needs review.
>  cf. <pull.889.v3.git.1615223682911.gitgitgadget@gmail.com>
>  cf. <defff7a3-2104-4fa1-7750-0b13ca5cdf59@ahunt.org>
>
>
> * ah/plugleaks (2021-03-08) 7 commits
>  - parse-options: don't leak alias help messages
>  - init-db: silence template_dir leak when converting to absolute path
>  - init: remove git_init_db_config() while fixing leaks
>  - worktree: fix leak in dwim_branch()
>  - clone: free or UNLEAK further pointers when finished
>  - reset: free instead of leaking unneeded ref
>  - symbolic-ref: don't leak shortened refname in check_symref()
>
>  Plug or annotate remaining leaks that trigger while running the
>  very basic set of tests.
>
>
> * bc/clone-bare-with-conflicting-config (2021-03-10) 1 commit
>  - builtin/init-db: handle bare clones when core.bare set to false
>
>  "git -c core.bare=false clone --bare ..." would have segfaulted,
>  which has been corrected.
>
>  Will merge to 'next'.
>
>
> * dl/cat-file-doc-cleanup (2021-03-03) 2 commits
>  - git-cat-file.txt: remove references to "sha1"
>  - git-cat-file.txt: monospace args, placeholders and filenames
>
>  Doc cleanup.
>
>  Will merge to 'next'.
>
>
> * jr/doc-ignore-typofix (2021-03-03) 1 commit
>  - doc: .gitignore documentation typofix
>
>  Doc cleanup.
>
>  Will merge to 'next'.
>
>
> * rr/mailmap-entry-self (2021-03-08) 1 commit
>  - Add entry for Ramkumar Ramachandra
>
>  Will merge to 'next'.
>
>
> * rs/xcalloc-takes-nelem-first (2021-03-08) 1 commit
>  - fix xcalloc() argument order
>
>  Code cleanup.
>
>  Will merge to 'next'.
>
>
> * sv/t9801-test-path-is-file-cleanup (2021-03-03) 1 commit
>  - t9801: replace test -f with test_path_is_file
>
>  Test cleanup.
>
>  Will merge to 'next'.
>
>
> * tb/git-mv-icase-fix (2021-03-03) 1 commit
>  - git mv foo FOO ; git mv foo bar gave an assert
>
>  Fix a corner case bug in "git mv" on case insensitive systems,
>  which was introduced in 2.29 timeframe.
>
>  Will merge to 'next'.
>
>
> * tb/push-simple-uses-branch-merge-config (2021-03-08) 1 commit
>  - Documentation/git-push.txt: correct configuration typo
>
>  Doc update.
>
>  cf. <YEaM7ruZCvaQQbPI@nand.local>
>
>
> * ab/remote-write-config-in-camel-case (2021-02-24) 2 commits
>   (merged to 'next' on 2021-03-01 at a01bd0d8e4)
>  + remote: write camel-cased *.pushRemote on rename
>  + remote: add camel-cased *.tagOpt key, like clone
>
>  Update C code that sets a few configuration variables when a remote
>  is configured so that it spells configuration variable names in the
>  canonical camelCase.
>
>  Will cook in 'next'.
>
>
> * ds/commit-graph-generation-config (2021-02-25) 2 commits
>   (merged to 'next' on 2021-03-01 at 926537ea97)
>  + commit-graph: use config to specify generation type
>  + commit-graph: create local repository pointer
>
>  A new configuration variable has been introduced to allow choosing
>  which version of the generation number gets used in the
>  commit-graph file.
>
>  Will cook in 'next'.
>
>
> * mt/cleanly-die-upon-missing-required-filter (2021-02-26) 1 commit
>   (merged to 'next' on 2021-03-01 at 357954af7c)
>  + convert: fail gracefully upon missing clean cmd on required filter
>
>  We had a code to diagnose and die cleanly when a required
>  clean/smudge filter is missing, but an assert before that
>  unnecessarily fired, hiding the end-user facing die() message.
>
>  Will cook in 'next'.
>
>
> * ab/describe-tests-fix (2021-03-01) 10 commits
>  - test-lib: return 1 from test_expect_{success,failure}
>  - svn tests: refactor away a "set -e" in test body
>  - svn tests: remove legacy re-setup from init-clone test
>  - describe tests: support -C in "check_describe"
>  - describe tests: fix nested "test_expect_success" call
>  - describe tests: convert setup to use test_commit
>  - test-lib functions: add an --annotated-tag option to "test_commit"
>  - describe tests: always assert empty stderr from "describe"
>  - describe tests: refactor away from glob matching
>  - describe tests: improve test for --work-tree & --dirty
>
>  Various updates to tests around "git describe"
>
>
> * en/ort-perf-batch-8 (2021-02-26) 10 commits
>   (merged to 'next' on 2021-03-07 at f03b2c1acd)
>  + diffcore-rename: compute dir_rename_guess from dir_rename_counts
>  + diffcore-rename: limit dir_rename_counts computation to relevant dirs
>  + diffcore-rename: compute dir_rename_counts in stages
>  + diffcore-rename: extend cleanup_dir_rename_info()
>  + diffcore-rename: move dir_rename_counts into dir_rename_info struct
>  + diffcore-rename: add function for clearing dir_rename_count
>  + Move computation of dir_rename_count from merge-ort to diffcore-rename
>  + diffcore-rename: add a mapping of destination names to their indices
>  + diffcore-rename: provide basic implementation of idx_possible_rename()
>  + diffcore-rename: use directory rename guided basename comparisons
>
>  Rename detection rework continues.
>
>  Will cook in 'next'.
>
>
> * jk/perf-in-worktrees (2021-02-26) 2 commits
>   (merged to 'next' on 2021-03-02 at ea298cb298)
>  + t/perf: avoid copying worktree files from test repo
>  + t/perf: handle worktrees as test repos
>
>  Perf test update to work better in secondary worktrees.
>
>  Will cook in 'next'.
>
>
> * ps/update-ref-trans-hook-doc (2021-03-01) 2 commits
>  - githooks.txt: clarify documentation on reference-transaction hook
>  - githooks.txt: replace mentions of SHA-1 specific properties
>
>
> * tb/pack-revindex-on-disk (2021-02-26) 1 commit
>  - pack-revindex.c: don't close unopened file descriptors
>
>
> * zh/format-patch-fractional-reroll-count (2021-03-01) 1 commit
>  - format-patch: allow a non-integral version numbers
>
I noticed that you used the'previous-count' version of
"zh/format-patch-fractional-reroll-count" in seen.
 Do you want me to deal with this version instead of the
 previous version that Denton Liu and Eric Sunshine helped
me complete?What

 If you want me to deal with the `previous-count` version,
 I will roll it back again and deal with some small details:
use "strtol_i".
>
> * ab/make-cleanup (2021-02-23) 6 commits
>  - Makefile: build "$(FUZZ_OBJS)" in CI, not under "all"
>  - Makefile: add {program,xdiff,test,git,fuzz}-objs & objects targets
>  - Makefile: split OBJECTS into OBJECTS and GIT_OBJS
>  - Makefile: sort OBJECTS assignment for subsequent change
>  - Makefile: split up long OBJECTS line
>  - Makefile: guard against TEST_OBJS in the environment
>
>  Reorganize Makefile to allow building git.o and other essential
>  objects without extra stuff needed only for testing.
>
>  The last step is of dubious value, but otherwise looked OK.
>  cf. <YDVJZnmTiBYZ4iPM@coredump.intra.peff.net>
>
>
> * ab/grep-pcre2-allocfix (2021-02-17) 10 commits
>   (merged to 'next' on 2021-03-04 at 26d2b726b1)
>  + grep/pcre2: move definitions of pcre2_{malloc,free}
>  + grep/pcre2: move back to thread-only PCREv2 structures
>  + grep/pcre2: actually make pcre2 use custom allocator
>  + grep/pcre2: use pcre2_maketables_free() function
>  + grep/pcre2: use compile-time PCREv2 version test
>  + grep/pcre2: add GREP_PCRE2_DEBUG_MALLOC debug mode
>  + grep/pcre2: prepare to add debugging to pcre2_malloc()
>  + grep/pcre2: correct reference to grep_init() in comment
>  + grep/pcre2: drop needless assignment to NULL
>  + grep/pcre2: drop needless assignment + assert() on opt->pcre2
>
>  Updates to memory allocation code around the use of pcre2 library.
>
>  Will cook in 'next'.
>
>
> * tb/reverse-midx (2021-02-24) 16 commits
>  - pack-revindex: write multi-pack reverse indexes
>  - pack-write.c: extract 'write_rev_file_order'
>  - pack-revindex: read multi-pack reverse indexes
>  - Documentation/technical: describe multi-pack reverse indexes
>  - midx: make some functions non-static
>  - midx: keep track of the checksum
>  - midx: don't free midx_name early
>  - midx: allow marking a pack as preferred
>  - t/helper/test-read-midx.c: add '--show-objects'
>  - builtin/multi-pack-index.c: display usage on unrecognized command
>  - builtin/multi-pack-index.c: don't enter bogus cmd_mode
>  - builtin/multi-pack-index.c: split sub-commands
>  - builtin/multi-pack-index.c: define common usage with a macro
>  - builtin/multi-pack-index.c: don't handle 'progress' separately
>  - builtin/multi-pack-index.c: inline 'flags' with options
>  - Merge branch 'ds/chunked-file-api' into tb/reverse-midx
>
>  An on-disk reverse-index to map the in-pack location of an object
>  back to its object name across multiple packfiles is introduced.
>
>
> * ab/pickaxe-pcre2 (2021-02-18) 24 commits
>  - pickaxe -G: don't special-case create/delete
>  - pickaxe -G: terminate early on matching lines
>  - xdiff-interface: support early exit in xdiff_outf()
>  - xdiff-interface: allow early return from xdiff_emit_{line,hunk}_fn
>  - 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: 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
>  - test-lib functions: add --printf option to test_commit
>  - test-lib-functions: reword "test_commit --append" docs
>  - test-lib-functions: document and test test_commit --no-tag
>  - grep/pcre2 tests: reword comments referring to kwset
>  - Merge branch 'jk/rev-list-disk-usage' into ab/pickaxe-pcre2
>  - Merge branch 'ab/test-lib' into ab/pickaxe-pcre2
>
>  Rewrite the backend for "diff -G/-S" to use pcre2 engine when
>  available.
>
>  Needs review.
>  cf. <20210216115801.4773-1-avarab@gmail.com>
>
>
> * cm/rebase-i-fixup-amend-reword (2021-03-10) 6 commits
>  - doc/git-commit: add documentation for fixup=[amend|reword] options
>  - t3437: use --fixup with options to create amend! commit
>  - t7500: add tests for --fixup=[amend|reword] options
>  - commit: add a reword suboption to --fixup
>  - commit: add amend suboption to --fixup to create amend! commit
>  - sequencer: export and rename subject_length()
>  (this branch uses cm/rebase-i and cm/rebase-i-updates.)
>
>  "git commit --fixup=<commit>", which was to tweak the changes made
>  to the contents while keeping the original log message intact,
>  learned "--fixup=(amend|reword):<commit>", that can be used to
>  tweak both the message and the contents, and only the message,
>  respectively.
>
>  Getting there.
>
>
> * jk/open-dotgitx-with-nofollow (2021-02-16) 6 commits
>   (merged to 'next' on 2021-02-25 at a784bf7be6)
>  + mailmap: do not respect symlinks for in-tree .mailmap
>  + exclude: do not respect symlinks for in-tree .gitignore
>  + attr: do not respect symlinks for in-tree .gitattributes
>  + exclude: add flags parameter to add_patterns()
>  + attr: convert "macro_ok" into a flags field
>  + add open_nofollow() helper
>
>  It does not make sense to make ".gitattributes", ".gitignore" and
>  ".mailmap" symlinks, as they are supposed to be usable from the
>  object store (think: bare repositories where HEAD:.mailmap etc. are
>  used).  When these files are symbolic links, we used to read the
>  contents of the files pointed by them by mistake, which has been
>  corrected.
>
>  Will cook in 'next'.
>
>
> * rs/pretty-describe (2021-03-01) 4 commits
>   (merged to 'next' on 2021-03-01 at bee9248828)
>  + pretty: document multiple %(describe) being inconsistent
>  + t4205: assert %(describe) test coverage
>   (merged to 'next' on 2021-02-25 at 2347ed8fe6)
>  + pretty: add merge and exclude options to %(describe)
>  + pretty: add %(describe)
>
>  "git log --format='...'" learned "%(describe)" placeholder.
>
>  Will cook in 'next'.
>
>
> * cm/rebase-i-updates (2021-02-10) 11 commits
>   (merged to 'next' on 2021-02-12 at e29227780b)
>  + doc/rebase -i: fix typo in the documentation of 'fixup' command
>  + t/t3437: fixup the test 'multiple fixup -c opens editor once'
>  + t/t3437: use named commits in the tests
>  + t/t3437: simplify and document the test helpers
>  + t/t3437: check the author date of fixed up commit
>  + t/t3437: remove the dependency of 'expected-message' file from tests
>  + t/t3437: fixup here-docs in the 'setup' test
>  + t/lib-rebase: update the documentation of FAKE_LINES
>  + rebase -i: clarify and fix 'fixup -c' rebase-todo help
>  + sequencer: rename a few functions
>  + sequencer: fixup the datatype of the 'flag' argument
>  (this branch is used by cm/rebase-i-fixup-amend-reword; uses cm/rebase-i.)
>
>  Follow-up fixes to "cm/rebase-i" topic.
>
>  Will cook in 'next', together with "cm/rebase-i".
>
>
> * jh/simple-ipc (2021-03-09) 12 commits
>  - t0052: add simple-ipc tests and t/helper/test-simple-ipc tool
>  - simple-ipc: add Unix domain socket implementation
>  - unix-stream-server: create unix domain socket under lock
>  - unix-socket: disallow chdir() when creating unix domain sockets
>  - unix-socket: add backlog size option to unix_stream_listen()
>  - unix-socket: eliminate static unix_stream_socket() helper function
>  - simple-ipc: add win32 implementation
>  - simple-ipc: design documentation for new IPC mechanism
>  - pkt-line: add options argument to read_packetized_to_strbuf()
>  - pkt-line: add PACKET_READ_GENTLE_ON_READ_ERROR option
>  - pkt-line: do not issue flush packets in write_packetized_*()
>  - pkt-line: eliminate the need for static buffer in packet_write_gently()
>
>  A simple IPC interface gets introduced to build services like
>  fsmonitor on top.
>
>  Replaced with a new iteration.
>
>
>
> * cm/rebase-i (2021-01-29) 9 commits
>   (merged to 'next' on 2021-02-01 at 4f9aa6cec3)
>  + doc/git-rebase: add documentation for fixup [-C|-c] options
>  + rebase -i: teach --autosquash to work with amend!
>  + t3437: test script for fixup [-C|-c] options in interactive rebase
>  + rebase -i: add fixup [-C | -c] command
>  + sequencer: use const variable for commit message comments
>  + sequencer: pass todo_item to do_pick_commit()
>  + rebase -i: comment out squash!/fixup! subjects from squash message
>  + sequencer: factor out code to append squash message
>  + rebase -i: only write fixup-message when it's needed
>  (this branch is used by cm/rebase-i-fixup-amend-reword and cm/rebase-i-updates.)
>
>  "rebase -i" is getting cleaned up and also enhanced.
>
>  Will cook in 'next', together with "cm/rebase-i-updates".
>
>
> * tb/geometric-repack (2021-03-05) 13 commits
>   (merged to 'next' on 2021-03-08 at def1c48d43)
>  + builtin/repack.c: reword comment around pack-objects flags
>  + builtin/repack.c: be more conservative with unsigned overflows
>  + builtin/repack.c: assign pack split later
>  + t7703: test --geometric repack with loose objects
>  + builtin/repack.c: do not repack single packs with --geometric
>   (merged to 'next' on 2021-02-25 at a854fdbaff)
>  + builtin/repack.c: add '--geometric' option
>  + packfile: add kept-pack cache for find_kept_pack_entry()
>  + builtin/pack-objects.c: rewrite honor-pack-keep logic
>  + p5303: measure time to repack with keep
>  + p5303: add missing &&-chains
>  + builtin/pack-objects.c: add '--stdin-packs' option
>  + revision: learn '--no-kept-objects'
>  + packfile: introduce 'find_kept_pack_entry()'
>
>  "git repack" so far has been only capable of repacking everything
>  under the sun into a single pack (or split by size).  A cleverer
>  strategy to reduce the cost of repacking a repository has been
>  introduced.
>
>  Will cook in 'next'.
>
>
> * es/config-hooks (2021-02-16) 17 commits
>  - run-command: stop thinking about hooks
>  - 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
>  (this branch uses es/config-hooks-part-1.)
>
>  The "hooks defined in config" topic.
>
>  Expecting doc updates, but otherwise seems to be progressing nicely.
>
> --------------------------------------------------
> [Discarded]
>
> * cw/pack-vs-bigfilethreashold (2021-02-09) 2 commits
>  . fixup! doc: mention bigFileThreshold for packing
>  . doc: mention bigFileThreshold for packing
>
>  Doc update.
>
>  cw/pack-config-doc supersedes this with a bit more coverage on
>  related knobs.
>
>
> * jh/simple-ipc-cleanups (2021-03-04) 9 commits
>  - SQUASH???
>  - simple-ipc: update design documentation with more details
>  - test-simple-ipc: add --token=<token> string option
>  - test-simple-ipc: refactor command line option processing in helper
>  - unix-stream-server: add st_dev and st_mode to socket stolen checks
>  - simple-ipc: move error handling up a level
>  - unix-stream-server: create unix-stream-server.c
>  - unix-socket: simplify initialization of unix_stream_listen_opts
>  - pkt-line: remove buffer arg from write_packetized_from_fd_no_flush()
>
>  After kicking jh/simple-ipc out of 'next' and rewinding
>  jh/simple-ipc to contain the incremental clean-up in this follow-up
>  topic, it is no longer needed, hence retired.

Thanks.
--
ZheNingHu

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: What's cooking in git.git (Mar 2021, #03; Wed, 10)
  2021-03-11  5:20 ` ZheNing Hu
@ 2021-03-11  5:28   ` Junio C Hamano
  2021-03-11  6:18     ` ZheNing Hu
  0 siblings, 1 reply; 14+ messages in thread
From: Junio C Hamano @ 2021-03-11  5:28 UTC (permalink / raw)
  To: ZheNing Hu; +Cc: Git List

ZheNing Hu <adlternative@gmail.com> writes:

[ many many lines that you did not have to quote omitted; please be
  more considerate and save reader's time next time ] 

>> * zh/format-patch-fractional-reroll-count (2021-03-01) 1 commit
>>  - format-patch: allow a non-integral version numbers
>>
> I noticed that you used the'previous-count' version of
> "zh/format-patch-fractional-reroll-count" in seen.
>  Do you want me to deal with this version instead of the
>  previous version that Denton Liu and Eric Sunshine helped
> me complete?What
>
>  If you want me to deal with the `previous-count` version,
>  I will roll it back again and deal with some small details:
> use "strtol_i".

I do not have any preference.

I didn't even read the newer iteration as we are in pre-release
freeze and I've been busy dealing with issues necessary to resolve
before the upcoming release.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: What's cooking in git.git (Mar 2021, #03; Wed, 10)
  2021-03-11  4:49 ` Elijah Newren
@ 2021-03-11  6:08   ` Junio C Hamano
  0 siblings, 0 replies; 14+ messages in thread
From: Junio C Hamano @ 2021-03-11  6:08 UTC (permalink / raw)
  To: Elijah Newren; +Cc: Git Mailing List

Elijah Newren <newren@gmail.com> writes:

> On Wed, Mar 10, 2021 at 7:05 PM Junio C Hamano <gitster@pobox.com> wrote:
>> --------------------------------------------------
>> [New Topics]
> ...
>
> Is there any reason the topics at
>
> https://lore.kernel.org/git/pull.845.git.1614484707.gitgitgadget@gmail.com/T/#t
>
> and
>
> https://lore.kernel.org/git/pull.973.git.git.1614905738.gitgitgadget@gmail.com/T/#t
>
> haven't been picked up yet?

While we are in pre-release freeze, I'd refrain from picking up a
brand new code with nontrivial complexity that is under discusion on
the list (because I know I cannot spare enough bandwidth to keep up
with the discussion and picking up an early iteration, and risking
to merge it down without refreshing it with a newer iteration by
mistake, is not a good tradeoff), while I am busy dealing with
prerelease issues.  I do use the spare time to follow discussions on
topics that are already in tree and possibly replace them with their
newer rounds, and also new code that are of less importance and
easier to reason about.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: What's cooking in git.git (Mar 2021, #03; Wed, 10)
  2021-03-11  5:28   ` Junio C Hamano
@ 2021-03-11  6:18     ` ZheNing Hu
  0 siblings, 0 replies; 14+ messages in thread
From: ZheNing Hu @ 2021-03-11  6:18 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Git List

Junio C Hamano <gitster@pobox.com> 于2021年3月11日周四 下午1:28写道:
>
> ZheNing Hu <adlternative@gmail.com> writes:
>
> [ many many lines that you did not have to quote omitted; please be
>   more considerate and save reader's time next time ]
>
> >> * zh/format-patch-fractional-reroll-count (2021-03-01) 1 commit
> >>  - format-patch: allow a non-integral version numbers
> >>
> > I noticed that you used the'previous-count' version of
> > "zh/format-patch-fractional-reroll-count" in seen.
> >  Do you want me to deal with this version instead of the
> >  previous version that Denton Liu and Eric Sunshine helped
> > me complete?What
> >
> >  If you want me to deal with the `previous-count` version,
> >  I will roll it back again and deal with some small details:
> > use "strtol_i".
>
> I do not have any preference.
>
> I didn't even read the newer iteration as we are in pre-release
> freeze and I've been busy dealing with issues necessary to resolve
> before the upcoming release.
>
Alright.
Thanks.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: What's cooking in git.git (Mar 2021, #03; Wed, 10)
  2021-03-11  3:01 What's cooking in git.git (Mar 2021, #03; Wed, 10) Junio C Hamano
  2021-03-11  4:49 ` Elijah Newren
  2021-03-11  5:20 ` ZheNing Hu
@ 2021-03-11 11:44 ` Ævar Arnfjörð Bjarmason
  2021-03-11 13:01   ` Han-Wen Nienhuys
                     ` (3 more replies)
  2 siblings, 4 replies; 14+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2021-03-11 11:44 UTC (permalink / raw)
  To: Junio C Hamano
  Cc: git, Elijah Newren, Han-Wen Nienhuys, Jeff King, Taylor Blau,
	René Scharfe


On Thu, Mar 11 2021, Junio C Hamano wrote:

Some notes, mostly on my own topics:

> * 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

FWIW (mostly for other readers) I suggested in
https://lore.kernel.org/git/87tupigf02.fsf@evledraar.gmail.com/ just now
that we drop 4/4.

I thought we had better testing for --abbrev (turns out only I do with
local patches), so unrelated to this we've had some regressions in its
handling due to lack of testing (which this would remove more of...).

>  Will merge to 'next'.
>  In the longer term, we might want to remove filter-branch and nudge
>  folks to more modern tools.

Did we ever have a re-discussion of adding Elijah's
git-filter-replacement-whose-name-I-always-forget to git.git? :)

> [...]
> [Graduated to 'master']
>
> * jt/transfer-fsck-across-packs-fix (2021-03-05) 1 commit
>   (merged to 'next' on 2021-03-07 at c79f295216)
>  + fetch-pack: do not mix --pack_header and packfile uri

LGTM, see below about ab/fsck-api-cleanup though...

>  The code to fsck objects received across multiple packs during a
>  single git fetch session has been broken when the packfile URI
>  feature was in use.  A workaround has been added by disabling the
>  codepath that avoids keeping a packfile that is too small.
>
> [...]
> * hn/reftable (2021-03-08) 17 commits
>  - SQUASH??? calloc(nmemb,size)
>  - SQUASH??? allow t0031 to run with any default branch name
>  - Add "test-tool dump-reftable" command.
>  - git-prompt: prepare for reftable refs backend
>  - Reftable support for git-core
>  - reftable: rest of library
>  - reftable: reftable file level tests
>  - reftable: read reftable files
>  - reftable: write reftable files
>  - reftable: a generic binary tree implementation
>  - reftable: reading/writing blocks
>  - reftable: (de)serialization for the polymorphic record type.
>  - reftable: add blocksource, an abstraction for random access reads
>  - reftable: utility functions
>  - reftable: add error related functionality
>  - reftable: add LICENSE
>  - init-db: set the_repository->hash_algo early on

It would be nice to have a post-release revival of this, Han-Wen, any
plans for that?

> * ab/fsck-api-cleanup (2021-02-18) 10 commits
>  - fsck.h: update FSCK_OPTIONS_* for object_name
>  - fsck.c: give "FOREACH_MSG_ID" a more specific name
>  - fsck.c: undefine temporary STR macro after use
>  - fsck.c: call parse_msg_type() early in fsck_set_msg_type()
>  - fsck.h: move FSCK_{FATAL,INFO,ERROR,WARN,IGNORE} into an enum
>  - fsck.c: rename remaining fsck_msg_id "id" to "msg_id"
>  - fsck.c: move definition of msg_id into append_msg_id()
>  - fsck.c: rename variables in fsck_set_msg_type() for less confusion
>  - fsck.h: use "enum object_type" instead of "int"
>  - fsck.h: indent arguments to of fsck_set_msg_type
>
>  Preliminary fsck API clean-up.
>
>  Expecting a reroll.
>  cf. <xmqqczwxc8bw.fsf@gitster.g>

I think this note at least needs to be updated to say the re-roll exists
at https://lore.kernel.org/git/20210306110439.27694-1-avarab@gmail.com/

You suggested that it needed to consider,
jt/transfer-fsck-across-packs-fix, that's landed now (per your above
note) and the two topics work nicely together.

So RC period and all that, but I'd be keen to have that version picked
up, the cleanup is making any subsequent patching of fsck.[ch] hard...

> * ab/make-cocci-dedup (2021-03-05) 4 commits
>  - Makefile/coccicheck: set SPATCH_BATCH_SIZE to 8
>  - Makefile/coccicheck: allow for setting xargs concurrency
>  - Makefile/coccicheck: speed up and fix bug with duplicate hunks
>  - Makefile/coccicheck: add comment heading for all SPATCH flags
>
>  An attempt to speed up the coccicheck target with incorrect
>  results.
>
>  A reroll exists to address correctness issue, but not picked up.

Any reason for not picked up other than "rc period etc...". I'm
confident the patch at
https://lore.kernel.org/git/20210306192525.15197-1-avarab@gmail.com/
addresses the intra-series bug, and the whole thing solves outstanding
bugs on master.

> * ab/read-tree (2021-03-08) 6 commits
>  - tree.h API: remove "stage" parameter from read_tree_recursive()
>  - tree.h API: remove support for starting at prefix != ""
>  - ls-files: refactor away read_tree()
>  - ls-files: don't needlessly pass around stage variable
>  - tree.c API: move read_tree() into builtin/ls-files.c
>  - ls-files tests: add meaningful --with-tree tests
>
>  Code simplification by removing support for a caller that is long gone.
>
>  Looked good.

Thanks, I'm confident in the correctness of that one (unlike some of my
other outstanding stuf...) :)

> * ab/unexpected-object-type (2021-03-08) 7 commits
>  - tag: don't misreport type of tagged objects in errors
>  - object tests: add test for unexpected objects in tags
>  - object.c: add a utility function for "expected type X, got Y"
>  - tree.c: fix misindentation in parse_tree_gently()
>  - oid_object_info(): return "enum object_type"
>  - object.c: make type_from_string() return "enum object_type"
>  - object.c: refactor type_from_string_gently()
>
>  Error reporting upon object type mismatch has been improved
>
>  Looked good.

It still loks scary to me :)

I also plan at least a minor re-roll, based on current feedback.

But I've had no feedback on 7/7, which is the real meaty chang in the
series:
https://lore.kernel.org/git/20210308200426.21824-8-avarab@gmail.com/

It would be nice to know if that's beacuse others have nothing to add,
or it just hasn't been looked over.

This whole "we have !obj->parsed objects around, and don't really know
what they are, and later have to correct ourselves" logic is existing,
and AFAICT the best way around it in this narrow case is 7/7.

But maybe there's some more ideal way around having the funny-looking
lookup_{commit,blob,tree,tag}_type() API functions. Or maybe not...

> * ab/remote-write-config-in-camel-case (2021-02-24) 2 commits
>   (merged to 'next' on 2021-03-01 at a01bd0d8e4)
>  + remote: write camel-cased *.pushRemote on rename
>  + remote: add camel-cased *.tagOpt key, like clone
>
>  Update C code that sets a few configuration variables when a remote
>  is configured so that it spells configuration variable names in the
>  canonical camelCase.
>
>  Will cook in 'next'.

Just a point of clarification, are all the "Will cook in 'next'" lines
here to be read equivalently to "Unless something comes up, will be in
the first major post-release merge down to master?".

I.e. no pre-release merge of next->master is expected.

I think that's fine b.t.w., I've just been wondering if I could better
understand (and hopefully document) the flow around releases vis-a-vis
topics, I find myself scouring your Git Google Calendar & "git log"
around releases every time, and then forgetting .. :)

> * ab/pickaxe-pcre2 (2021-02-18) 24 commits
>  - pickaxe -G: don't special-case create/delete
>  - pickaxe -G: terminate early on matching lines
>  - xdiff-interface: support early exit in xdiff_outf()
>  - xdiff-interface: allow early return from xdiff_emit_{line,hunk}_fn
>  - 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: 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
>  - test-lib functions: add --printf option to test_commit
>  - test-lib-functions: reword "test_commit --append" docs
>  - test-lib-functions: document and test test_commit --no-tag
>  - grep/pcre2 tests: reword comments referring to kwset
>  - Merge branch 'jk/rev-list-disk-usage' into ab/pickaxe-pcre2
>  - Merge branch 'ab/test-lib' into ab/pickaxe-pcre2
>
>  Rewrite the backend for "diff -G/-S" to use pcre2 engine when
>  available.
>
>  Needs review.
>  cf. <20210216115801.4773-1-avarab@gmail.com>

If anyone would like faster pickaxe reviews of this would be most
welcome. It's not faster yet with this, but it's the required prep work.

Alternatively, what do you think about picking this up up to 15/22?:
https://lore.kernel.org/git/20210216115801.4773-16-avarab@gmail.com/

Up until that point it's all trivial code changes and testing.

> [...]
> * rs/pretty-describe (2021-03-01) 4 commits
>   (merged to 'next' on 2021-03-01 at bee9248828)
>  + pretty: document multiple %(describe) being inconsistent
>  + t4205: assert %(describe) test coverage
>   (merged to 'next' on 2021-02-25 at 2347ed8fe6)
>  + pretty: add merge and exclude options to %(describe)
>  + pretty: add %(describe)
>
>  "git log --format='...'" learned "%(describe)" placeholder.

As an aside did anyone look into making most of ./builtin/describe.c a
new ./describe.c library? I had a quick aborted attempt at doing that,
but it didn't seem like it would be all that hard...

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: What's cooking in git.git (Mar 2021, #03; Wed, 10)
  2021-03-11 11:44 ` Ævar Arnfjörð Bjarmason
@ 2021-03-11 13:01   ` Han-Wen Nienhuys
  2021-03-11 18:12     ` Junio C Hamano
  2021-03-11 16:17   ` Elijah Newren
                     ` (2 subsequent siblings)
  3 siblings, 1 reply; 14+ messages in thread
From: Han-Wen Nienhuys @ 2021-03-11 13:01 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason
  Cc: Junio C Hamano, git, Elijah Newren, Jeff King, Taylor Blau,
	René Scharfe

On Thu, Mar 11, 2021 at 12:44 PM Ævar Arnfjörð Bjarmason
<avarab@gmail.com> wrote:
>
>
> On Thu, Mar 11 2021, Junio C Hamano wrote:
>
> Some notes, mostly on my own topics:
>
> > * 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
>
> FWIW (mostly for other readers) I suggested in
> https://lore.kernel.org/git/87tupigf02.fsf@evledraar.gmail.com/ just now
> that we drop 4/4.
>
> I thought we had better testing for --abbrev (turns out only I do with
> local patches), so unrelated to this we've had some regressions in its
> handling due to lack of testing (which this would remove more of...).
>
> >  Will merge to 'next'.
> >  In the longer term, we might want to remove filter-branch and nudge
> >  folks to more modern tools.
>
> Did we ever have a re-discussion of adding Elijah's
> git-filter-replacement-whose-name-I-always-forget to git.git? :)
>
> > [...]
> > [Graduated to 'master']
> >
> > * jt/transfer-fsck-across-packs-fix (2021-03-05) 1 commit
> >   (merged to 'next' on 2021-03-07 at c79f295216)
> >  + fetch-pack: do not mix --pack_header and packfile uri
>
> LGTM, see below about ab/fsck-api-cleanup though...
>
> >  The code to fsck objects received across multiple packs during a
> >  single git fetch session has been broken when the packfile URI
> >  feature was in use.  A workaround has been added by disabling the
> >  codepath that avoids keeping a packfile that is too small.
> >
> > [...]
> > * hn/reftable (2021-03-08) 17 commits
> >  - SQUASH??? calloc(nmemb,size)
> >  - SQUASH??? allow t0031 to run with any default branch name
> >  - Add "test-tool dump-reftable" command.
> >  - git-prompt: prepare for reftable refs backend
> >  - Reftable support for git-core
> >  - reftable: rest of library
> >  - reftable: reftable file level tests
> >  - reftable: read reftable files
> >  - reftable: write reftable files
> >  - reftable: a generic binary tree implementation
> >  - reftable: reading/writing blocks
> >  - reftable: (de)serialization for the polymorphic record type.
> >  - reftable: add blocksource, an abstraction for random access reads
> >  - reftable: utility functions
> >  - reftable: add error related functionality
> >  - reftable: add LICENSE
> >  - init-db: set the_repository->hash_algo early on
>
> It would be nice to have a post-release revival of this, Han-Wen, any
> plans for that?

yes, that would certainly be nice :-).  It's currently perf period at
google, so (I'm a manager), I'm somewhat busy.

However, the primary reason nothing has changed is that I posted a
large round of updates early December, in response to reviews from
Google's git team, and I haven't gotten any code review or other type
of feedback since (except your one message about the errno side band)

Is there anything I should do to get this moving again?

-- 
Han-Wen Nienhuys - Google Munich
I work 80%. Don't expect answers from me on Fridays.
--
Google Germany GmbH, Erika-Mann-Strasse 33, 80636 Munich
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Geschäftsführer: Paul Manicle, Halimah DeLaine Prado

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: What's cooking in git.git (Mar 2021, #03; Wed, 10)
  2021-03-11 11:44 ` Ævar Arnfjörð Bjarmason
  2021-03-11 13:01   ` Han-Wen Nienhuys
@ 2021-03-11 16:17   ` Elijah Newren
  2021-03-11 18:27   ` Junio C Hamano
  2021-03-11 19:13   ` René Scharfe.
  3 siblings, 0 replies; 14+ messages in thread
From: Elijah Newren @ 2021-03-11 16:17 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason
  Cc: Junio C Hamano, Git Mailing List, Han-Wen Nienhuys, Jeff King,
	Taylor Blau, René Scharfe

On Thu, Mar 11, 2021 at 3:44 AM Ævar Arnfjörð Bjarmason
<avarab@gmail.com> wrote:
>
> On Thu, Mar 11 2021, Junio C Hamano wrote:
>
> >  Will merge to 'next'.
> >  In the longer term, we might want to remove filter-branch and nudge
> >  folks to more modern tools.
>
> Did we ever have a re-discussion of adding Elijah's
> git-filter-replacement-whose-name-I-always-forget to git.git? :)

git-filter-repo (https://github.com/newren/git-filter-repo)

The original discussion you were probably thinking of was at
https://lore.kernel.org/git/CABPp-BHqdKvsUDx40Tz-A3z32TN_KWcDENWb8zsaidxxf8SNCg@mail.gmail.com/.

Re-discussion was at
https://lore.kernel.org/git/CABPp-BEr8LVM+yWTbi76hAq7Moe1hyp2xqxXfgVV4_teh_9skA@mail.gmail.com/.

Resulted in https://lore.kernel.org/git/20190828002210.8862-1-newren@gmail.com/
instead.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: What's cooking in git.git (Mar 2021, #03; Wed, 10)
  2021-03-11 13:01   ` Han-Wen Nienhuys
@ 2021-03-11 18:12     ` Junio C Hamano
  0 siblings, 0 replies; 14+ messages in thread
From: Junio C Hamano @ 2021-03-11 18:12 UTC (permalink / raw)
  To: Han-Wen Nienhuys
  Cc: Ævar Arnfjörð Bjarmason, git, Elijah Newren,
	Jeff King, Taylor Blau, René Scharfe

Han-Wen Nienhuys <hanwen@google.com> writes:

> However, the primary reason nothing has changed is that I posted a
> large round of updates early December, in response to reviews from
> Google's git team, and I haven't gotten any code review or other type
> of feedback since (except your one message about the errno side band)
>
> Is there anything I should do to get this moving again?

Unfortunately there aren't many effective things the patch authors
can do (other than making sure their series are easily digestible
and by begging X-<) when nobody is looking at their patches and
potential reviewers and those who may show interest in the series
are running around producing their own changes instead of giving
reviews, both positive and negative.

I try to chip in with my own reviewing time but I am only a single
person, so help from others are required.

Thanks.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: What's cooking in git.git (Mar 2021, #03; Wed, 10)
  2021-03-11 11:44 ` Ævar Arnfjörð Bjarmason
  2021-03-11 13:01   ` Han-Wen Nienhuys
  2021-03-11 16:17   ` Elijah Newren
@ 2021-03-11 18:27   ` Junio C Hamano
  2021-03-11 19:17     ` Jeff King
  2021-03-12  7:10     ` Junio C Hamano
  2021-03-11 19:13   ` René Scharfe.
  3 siblings, 2 replies; 14+ messages in thread
From: Junio C Hamano @ 2021-03-11 18:27 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason
  Cc: git, Elijah Newren, Han-Wen Nienhuys, Jeff King, Taylor Blau,
	René Scharfe

Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:

> On Thu, Mar 11 2021, Junio C Hamano wrote:
>
> Some notes, mostly on my own topics:

Thanks.

>> * 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
>
> FWIW (mostly for other readers) I suggested in
> https://lore.kernel.org/git/87tupigf02.fsf@evledraar.gmail.com/ just now
> that we drop 4/4.

I do not trust myself; we need to get 2&3 reviewed independently
before we can move beyond discarding the $_x05 step.


>> * ab/fsck-api-cleanup (2021-02-18) 10 commits
>>  - fsck.h: update FSCK_OPTIONS_* for object_name
>>  - fsck.c: give "FOREACH_MSG_ID" a more specific name
>>  - fsck.c: undefine temporary STR macro after use
>>  - fsck.c: call parse_msg_type() early in fsck_set_msg_type()
>>  - fsck.h: move FSCK_{FATAL,INFO,ERROR,WARN,IGNORE} into an enum
>>  - fsck.c: rename remaining fsck_msg_id "id" to "msg_id"
>>  - fsck.c: move definition of msg_id into append_msg_id()
>>  - fsck.c: rename variables in fsck_set_msg_type() for less confusion
>>  - fsck.h: use "enum object_type" instead of "int"
>>  - fsck.h: indent arguments to of fsck_set_msg_type
>>
>>  Preliminary fsck API clean-up.
>>
>>  Expecting a reroll.
>>  cf. <xmqqczwxc8bw.fsf@gitster.g>
>
> I think this note at least needs to be updated to say the re-roll exists
> at https://lore.kernel.org/git/20210306110439.27694-1-avarab@gmail.com/

Sure.  But consider anything outside 'next' would be the same as
"discarded" to get a fresh start after a release.

>> * ab/make-cocci-dedup (2021-03-05) 4 commits
>>  - Makefile/coccicheck: set SPATCH_BATCH_SIZE to 8
>>  - Makefile/coccicheck: allow for setting xargs concurrency
>>  - Makefile/coccicheck: speed up and fix bug with duplicate hunks
>>  - Makefile/coccicheck: add comment heading for all SPATCH flags
>>
>>  An attempt to speed up the coccicheck target with incorrect
>>  results.
>>
>>  A reroll exists to address correctness issue, but not picked up.
>
> Any reason for not picked up other than "rc period etc...".

As I always say, please don't read anything more than "I happen to
have seen it" in being in 'seen'.  And that does not even mean
everything I saw would be on 'seen'.  Especially during the
pre-release freeze.  I may have time to pick up a replacement for a
topic that is already in 'seen', to make sure there aren't unexpected
new conflicts I'll later have to resolve, and if it is too bad, I may
even drop the old iteration (because it is stale and a new one exists)
and the new iteration (because it may be fresher but does not work
well with others).

> I'm
> confident the patch at
> https://lore.kernel.org/git/20210306192525.15197-1-avarab@gmail.com/
> addresses the intra-series bug, and the whole thing solves outstanding
> bugs on master.

I recall seeing you use a new option to coccinelle that I did not
get any hit on my search engine in the updated series.  Is the world
ready for the thing?

>> * ab/unexpected-object-type (2021-03-08) 7 commits
>>  - tag: don't misreport type of tagged objects in errors
>>  - object tests: add test for unexpected objects in tags
>>  - object.c: add a utility function for "expected type X, got Y"
>>  - tree.c: fix misindentation in parse_tree_gently()
>>  - oid_object_info(): return "enum object_type"
>>  - object.c: make type_from_string() return "enum object_type"
>>  - object.c: refactor type_from_string_gently()
>>
>>  Error reporting upon object type mismatch has been improved
>>
>>  Looked good.
>
> It still loks scary to me :)

Yes, I do think it was a mistake to rewrite <0 with ==BAD in this
series, and I won't be marking it to be merged down anywhere until
that gets fixed.  There may be other issues that may have been
pointed out by others' reviews I am not aware of.

> But I've had no feedback on 7/7, which is the real meaty chang in the
> series:
> https://lore.kernel.org/git/20210308200426.21824-8-avarab@gmail.com/
>
> It would be nice to know if that's beacuse others have nothing to add,
> or it just hasn't been looked over.

Yes.

> Just a point of clarification, are all the "Will cook in 'next'" lines
> here to be read equivalently to "Unless something comes up, will be in
> the first major post-release merge down to master?".

It is equivalent to "Will merge to 'master'" outside the prerelease
freeze period.  Unless something comes up, this is on course to be
eventually in 'master'.

> I.e. no pre-release merge of next->master is expected.

In the pre-release period, the contributors are encouraged to
concentrate on finding and fixing potential regressions and on
perfecting those topics that are already cooking (in this order of
priority) to help prepare for a smooth launch of the upcoming
release and the start of the next cycle after that.  It is not the
time to send out brand new patches with the expectation to be in
'seen'.

>> * ab/pickaxe-pcre2 (2021-02-18) 24 commits
>>  ...
>>  Needs review.
>>  cf. <20210216115801.4773-1-avarab@gmail.com>
>
> If anyone would like faster pickaxe reviews of this would be most
> welcome. It's not faster yet with this, but it's the required prep work.
>
> Alternatively, what do you think about picking this up up to 15/22?:
> https://lore.kernel.org/git/20210216115801.4773-16-avarab@gmail.com/
>
> Up until that point it's all trivial code changes and testing.

I'd welcome replacement submission that has only patches with
reduced scope, but after the release please ;-).

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: What's cooking in git.git (Mar 2021, #03; Wed, 10)
  2021-03-11 11:44 ` Ævar Arnfjörð Bjarmason
                     ` (2 preceding siblings ...)
  2021-03-11 18:27   ` Junio C Hamano
@ 2021-03-11 19:13   ` René Scharfe.
  3 siblings, 0 replies; 14+ messages in thread
From: René Scharfe. @ 2021-03-11 19:13 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason, Junio C Hamano
  Cc: git, Elijah Newren, Han-Wen Nienhuys, Jeff King, Taylor Blau

Am 11.03.21 um 12:44 schrieb Ævar Arnfjörð Bjarmason:
>
> On Thu, Mar 11 2021, Junio C Hamano wrote:
>
>> * rs/pretty-describe (2021-03-01) 4 commits
>>   (merged to 'next' on 2021-03-01 at bee9248828)
>>  + pretty: document multiple %(describe) being inconsistent
>>  + t4205: assert %(describe) test coverage
>>   (merged to 'next' on 2021-02-25 at 2347ed8fe6)
>>  + pretty: add merge and exclude options to %(describe)
>>  + pretty: add %(describe)
>>
>>  "git log --format='...'" learned "%(describe)" placeholder.

This is missing the patch to limit %(describe) expansing to one per
archive [1].  I think we need it to avoid hosters that generate archives
for user-supplied repos becoming vulnerable to a DoS attack via this new
feature.  Demo script in [2].

> As an aside did anyone look into making most of ./builtin/describe.c a
> new ./describe.c library? I had a quick aborted attempt at doing that,
> but it didn't seem like it would be all that hard...

That's what I thought as well, but combined with log --format it
produced bogus results for some commits.  No idea what went wrong
there.

René


[1] http://public-inbox.org/git/b7e1f6c0-6b13-efe4-74b5-ec8249855644@web.de/
[2] http://public-inbox.org/git/a28592c5-4a70-1ea8-fd73-959e28b4278d@web.de/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: What's cooking in git.git (Mar 2021, #03; Wed, 10)
  2021-03-11 18:27   ` Junio C Hamano
@ 2021-03-11 19:17     ` Jeff King
  2021-03-12  7:10     ` Junio C Hamano
  1 sibling, 0 replies; 14+ messages in thread
From: Jeff King @ 2021-03-11 19:17 UTC (permalink / raw)
  To: Junio C Hamano
  Cc: Ævar Arnfjörð Bjarmason, git, Elijah Newren,
	Han-Wen Nienhuys, Taylor Blau, René Scharfe

On Thu, Mar 11, 2021 at 10:27:33AM -0800, Junio C Hamano wrote:

> >> * 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
> >
> > FWIW (mostly for other readers) I suggested in
> > https://lore.kernel.org/git/87tupigf02.fsf@evledraar.gmail.com/ just now
> > that we drop 4/4.
> 
> I do not trust myself; we need to get 2&3 reviewed independently
> before we can move beyond discarding the $_x05 step.

Patch 2 looks obviously correct to me (along with 1).

I responded to patch 3. Mostly with nitpicks, though I tend to agree
that the "1-41" magic at least deserves a comment.

I didn't look at patch 4, since it seemed scary and you suggested
dropping it. ;)

-Peff

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: What's cooking in git.git (Mar 2021, #03; Wed, 10)
  2021-03-11 18:27   ` Junio C Hamano
  2021-03-11 19:17     ` Jeff King
@ 2021-03-12  7:10     ` Junio C Hamano
  1 sibling, 0 replies; 14+ messages in thread
From: Junio C Hamano @ 2021-03-12  7:10 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason
  Cc: git, Elijah Newren, Han-Wen Nienhuys, Jeff King, Taylor Blau,
	René Scharfe

Junio C Hamano <gitster@pobox.com> writes:

>>> * ab/make-cocci-dedup (2021-03-05) 4 commits
>>>  - Makefile/coccicheck: set SPATCH_BATCH_SIZE to 8
>>>  - Makefile/coccicheck: allow for setting xargs concurrency
>>>  - Makefile/coccicheck: speed up and fix bug with duplicate hunks
>>>  - Makefile/coccicheck: add comment heading for all SPATCH flags
>>>
>>>  An attempt to speed up the coccicheck target with incorrect
>>>  results.
>>>
>>>  A reroll exists to address correctness issue, but not picked up.
>>
>> Any reason for not picked up other than "rc period etc...".
>
> As I always say, please don't read anything more than "I happen to
> have seen it" in being in 'seen'.  And that does not even mean
> everything I saw would be on 'seen'.  Especially during the
> pre-release freeze.  I may have time to pick up a replacement for a
> topic that is already in 'seen', to make sure there aren't unexpected
> new conflicts I'll later have to resolve, and if it is too bad, I may
> even drop the old iteration (because it is stale and a new one exists)
> and the new iteration (because it may be fresher but does not work
> well with others).
>
>> I'm
>> confident the patch at
>> https://lore.kernel.org/git/20210306192525.15197-1-avarab@gmail.com/
>> addresses the intra-series bug, and the whole thing solves outstanding
>> bugs on master.
>
> I recall seeing you use a new option to coccinelle that I did not
> get any hit on my search engine in the updated series.  Is the world
> ready for the thing?

So, I had a chance to go back to the list discussion to double check
the details of what I vaguely recalled when I wrote it.

In [v2 5/4] we revert an earlier change to use "--no-includes" in
[v2 2/4] (which got "This part still doesn't make any sense to me."
by Peff) back to use "--all-includes".  If we were fixing an earlier
regression in a hurry, such a messy history may have to be accepted,
but because we are not in a hurry, I'd rather see the series
straightened up.

We start using "--include-headers-for-types" on SPATCH_FLAGS while
doing so, which I didn't find any hits, but a fresh search found
this http://lira.epac.to:8080/doc/coccinelle-doc/manual.pdf and it
seems that at least at release 1.0.4 (Jan 6, 2019) the option is
available.  I couldn't find a reference for the oldest version that
we can safely use, though.

For now, I'll drop the one listed in the "What's cooking" report you
cited above (because it is stale and a new one is coming), and will
wait for a new iteration in a cleaned-up form (because we do not
want to see "ok, let's do no-includes" followed by "ah, that was a
mistake, let's use all-includes like before").

Thanks.

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2021-03-12  7:11 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-11  3:01 What's cooking in git.git (Mar 2021, #03; Wed, 10) Junio C Hamano
2021-03-11  4:49 ` Elijah Newren
2021-03-11  6:08   ` Junio C Hamano
2021-03-11  5:20 ` ZheNing Hu
2021-03-11  5:28   ` Junio C Hamano
2021-03-11  6:18     ` ZheNing Hu
2021-03-11 11:44 ` Ævar Arnfjörð Bjarmason
2021-03-11 13:01   ` Han-Wen Nienhuys
2021-03-11 18:12     ` Junio C Hamano
2021-03-11 16:17   ` Elijah Newren
2021-03-11 18:27   ` Junio C Hamano
2021-03-11 19:17     ` Jeff King
2021-03-12  7:10     ` Junio C Hamano
2021-03-11 19:13   ` René Scharfe.

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).