git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download mbox.gz: |
* What's cooking in git.git (May 2024, #07; Fri, 17)
@ 2024-05-17 23:49 21% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-05-17 23:49 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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-scm/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']

* ds/scalar-reconfigure-all-fix (2024-05-07) 1 commit
  (merged to 'next' on 2024-05-08 at eca398f4a5)
 + scalar: avoid segfault in reconfigure --all

 Scalar fix.
 source: <pull.1724.v3.git.1715126749391.gitgitgadget@gmail.com>


* jl/git-no-advice (2024-05-07) 4 commits
  (merged to 'next' on 2024-05-08 at c9e7e0866e)
 + t0018: two small fixes
  (merged to 'next' on 2024-05-06 at 95cc03ef96)
 + advice: add --no-advice global option
 + doc: add spacing around paginate options
 + doc: clean up usage documentation for --no-* opts

 A new global "--no-advice" option can be used to disable all advice
 messages, which is meant to be used only in scripts.
 source: <20240503071706.78109-1-james@jamesliu.io>


* jp/tag-trailer (2024-05-07) 3 commits
  (merged to 'next' on 2024-05-07 at 646013793d)
 + builtin/tag: add --trailer option
 + builtin/commit: refactor --trailer logic
 + builtin/commit: use ARGV macro to collect trailers

 "git tag" learned the "--trailer" option to futz with the trailers
 in the same way as "git commit" does.
 source: <pull.1723.v5.git.1714934950.gitgitgadget@gmail.com>


* js/unit-test-suite-runner (2024-05-06) 9 commits
  (merged to 'next' on 2024-05-07 at 3b376223e3)
 + cmake: let `test-tool` run the unit tests, too
 + ci: use test-tool as unit test runner on Windows
 + t/Makefile: run unit tests alongside shell tests
 + unit tests: add rule for running with test-tool
 + test-tool run-command testsuite: support unit tests
 + test-tool run-command testsuite: remove hardcoded filter
 + test-tool run-command testsuite: get shell from env
 + t0080: turn t-basic unit test into a helper
 + Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.
 source: <cover.1715024899.git.steadmon@google.com>
 source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>


* jt/port-ci-whitespace-check-to-gitlab (2024-05-03) 5 commits
  (merged to 'next' on 2024-05-08 at 774a29dde4)
 + gitlab-ci: add whitespace error check
 + ci: make the whitespace report optional
 + ci: separate whitespace check script
 + github-ci: fix link to whitespace error
 + ci: pre-collapse GitLab CI sections

 The "whitespace check" task that was enabled for GitHub Actions CI
 has been ported to GitLab CI.
 source: <20240503172110.181326-1-jltobler@gmail.com>


* ow/refspec-glossary-update (2024-05-06) 1 commit
  (merged to 'next' on 2024-05-07 at 7d55ebb0c8)
 + Documentation: Mention that refspecs are explained elsewhere

 Doc update.
 source: <20240506182317.13477-1-oystwa@gmail.com>


* ps/config-subcommands (2024-05-06) 14 commits
  (merged to 'next' on 2024-05-07 at f10c689a30)
 + builtin/config: display subcommand help
 + builtin/config: introduce "edit" subcommand
 + builtin/config: introduce "remove-section" subcommand
 + builtin/config: introduce "rename-section" subcommand
 + builtin/config: introduce "unset" subcommand
 + builtin/config: introduce "set" subcommand
 + builtin/config: introduce "get" subcommand
 + builtin/config: introduce "list" subcommand
 + builtin/config: pull out function to handle `--null`
 + builtin/config: pull out function to handle config location
 + builtin/config: use `OPT_CMDMODE()` to specify modes
 + builtin/config: move "fixed-value" option to correct group
 + builtin/config: move option array around
 + config: clarify memory ownership when preparing comment strings
 (this branch is used by ps/builtin-config-cleanup.)

 The operation mode options (like "--get") the "git config" command
 uses have been deprecated and replaced with subcommands (like "git
 config get").
 source: <cover.1714982328.git.ps@pks.im>


* ps/refs-without-the-repository (2024-05-07) 5 commits
  (merged to 'next' on 2024-05-08 at 2479b9de46)
 + refs: remove functions without ref store
 + cocci: apply rules to rewrite callers of "refs" interfaces
 + cocci: introduce rules to transform "refs" to pass ref store
 + refs: add `exclude_patterns` parameter to `for_each_fullref_in()`
 + refs: introduce missing functions that accept a `struct ref_store`
 (this branch is used by ps/refs-without-the-repository-updates.)

 The refs API lost functions that implicitly assumes to work on the
 primary ref_store by forcing the callers to pass a ref_store as an
 argument.
 source: <cover.1715065736.git.ps@pks.im>


* rs/external-diff-with-exit-code (2024-05-06) 1 commit
  (merged to 'next' on 2024-05-08 at ad5fee3cbf)
 + diff: report unmerged paths as changes in run_diff_cmd()

 The "--exit-code" option of "git diff" command learned to report
 unmerged paths as changes.

 [jc: the tip one was reverted out]
 source: <82561c70-ec33-41bf-b036-52310ffc1926@web.de>


* vd/doc-merge-tree-x-option (2024-05-07) 1 commit
  (merged to 'next' on 2024-05-08 at 42637b8bdf)
 + Documentation/git-merge-tree.txt: document -X

 Doc update.
 source: <pull.1728.git.1715117789985.gitgitgadget@gmail.com>

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

* tb/pack-bitmap-write-cleanups (2024-05-15) 6 commits
 - pack-bitmap: introduce `bitmap_writer_free()`
 - pack-bitmap-write.c: avoid uninitialized 'write_as' field
 - pack-bitmap: drop unused `max_bitmaps` parameter
 - pack-bitmap: avoid use of static `bitmap_writer`
 - pack-bitmap-write.c: move commit_positions into commit_pos fields
 - object.h: add flags allocated by pack-bitmap.h

 The pack bitmap code saw some clean-up to prepare for a follow-up topic.

 Will merge to 'next'?
 source: <cover.1715716605.git.me@ttaylorr.com>


* jc/t0017-clarify-bogus-expectation (2024-05-16) 1 commit
 - t0017: clarify dubious test set-up

 Test clean-up.

 Will merge to 'next'?
 source: <xmqqcypmx44l.fsf@gitster.g>


* kn/osxkeychain-skip-idempotent-store (2024-05-15) 2 commits
 - osxkeychain: state to skip unnecessary store operations
 - osxkeychain: exclusive lock to serialize execution of operations

 The credential helper that talks with osx keychain learned to avoid
 storing back the authentication material it just got received from
 the keychain.

 Comments?
 source: <pull.1729.v3.git.1715800868.gitgitgadget@gmail.com>


* kn/update-ref-symref (2024-05-15) 7 commits
 - update-ref: add support for 'symref-update' command
 - reftable: pick either 'oid' or 'target' for new updates
 - update-ref: add support for 'symref-create' command
 - update-ref: add support for 'symref-delete' command
 - update-ref: add support for 'symref-verify' command
 - refs: create and use `ref_update_ref_must_exist()`
 - Merge branch 'kn/ref-transaction-symref' into kn/update-ref-symref
 (this branch uses kn/ref-transaction-symref.)

 "git update-ref --stdin" learned to handle transactional updates of
 symbolic-refs.

 Expecting a reroll.
 cf. <ZkXpcvF6dxGr6qmj@tanuki>
 source: <20240514124411.1037019-1-knayak@gitlab.com>


* mt/t0211-typofix (2024-05-16) 1 commit
 - t/t0211-trace2-perf.sh: fix typo patern -> pattern

 Test fix.

 Will merge to 'next'.
 source: <ZkW5ggOVlglfi64u@telcontar>


* ps/complete-config-w-subcommands (2024-05-17) 1 commit
 - completion: adapt git-config(1) to complete subcommands

 Update the command line completion script (in contrib/) to adjust
 to the recent update to "git config" that adopted subcommand based
 UI.

 Will merge to 'next'.
 source: <8d43dee33289969a5afbbf7635ac40b7312d8e19.1715926344.git.ps@pks.im>


* ps/refs-without-the-repository-updates (2024-05-17) 17 commits
 - refs/packed: remove references to `the_hash_algo`
 - refs/files: remove references to `the_hash_algo`
 - refs/files: use correct repository
 - refs: remove `dwim_log()`
 - refs: drop `git_default_branch_name()`
 - refs: pass repo when peeling objects
 - refs: move object peeling into "object.c"
 - refs: pass ref store when detecting dangling symrefs
 - refs: convert iteration over replace refs to accept ref store
 - refs: retrieve worktree ref stores via associated repository
 - refs: refactor `resolve_gitlink_ref()` to accept a repository
 - refs: pass repo when retrieving submodule ref store
 - refs: track ref stores via strmap
 - refs: implement releasing ref storages
 - refs: rename `init_db` callback to avoid confusion
 - refs: adjust names for `init` and `init_db` callbacks
 - Merge branch 'ps/refs-without-the-repository' into ps/refs-without-the-repository-updates

 Further clean-up the refs subsystem to stop relying on
 the_repository, and instead use the repository associated to the
 ref_store object.

 Will merge to 'next'?
 source: <cover.1715929858.git.ps@pks.im>


* jc/doc-diff-name-only (2024-05-17) 1 commit
 - diff: document what --name-only shows

 The documentation for "git diff --name-only" has been clarified
 that it is about showing the names in the post-image tree.

 Will merge to 'next'.
 source: <xmqqeda0jr7d.fsf@gitster.g>


* kn/patch-iteration-doc (2024-05-17) 2 commits
 - SubmittingPatches: add section for iterating patches
 - Merge branch 'jc/patch-flow-updates' into kn/patch-iteration-doc
 (this branch uses jc/patch-flow-updates.)

 Doc updates.

 Will merge to 'next'.
 source: <20240517122724.270706-1-knayak@gitlab.com>


* mt/openindiana-portability (2024-05-17) 7 commits
  (merged to 'next' on 2024-05-17 at de53f37879)
 + t/t9001-send-email.sh: sed - remove the i flag for s
 + t/t9118-git-svn-funky-branch-names.sh: sed needs semicolon
 + t/t1700-split-index.sh: mv -v is not portable
 + t/t4202-log.sh: fix misspelled variable
 + t/t0600-reffiles-backend.sh: rm -v is not portable
 + t/t9902-completion.sh: backslashes in echo
 + Switch grep from non-portable BRE to portable ERE

 Portability updates to various uses of grep and sed.

 Will merge to 'master'.
 source: <ZkeMiifGHkIsehz3@telcontar>


* mt/openindiana-scalar (2024-05-17) 1 commit
 - scalar: make enlistment delete to work on all POSIX platforms

 Avoid removing the $(cwd) for portability.

 Needs review.
 source: <Zkds81OB7C5bTCl_@telcontar>


* ts/archive-prefix-with-add-virtual-file (2024-05-17) 1 commit
 - archive: make --add-virtual-file honor --prefix

 source: <pull.1719.v2.git.git.1715967267420.gitgitgadget@gmail.com>


* js/doc-decisions (2024-05-17) 1 commit
 - doc: describe the project's decision-making process

 The project decision making policy has been documented.
 source: <10f217915600eda3ebec886e4f020f87c22e318a.1715978031.git.steadmon@google.com>

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

* jc/compat-regex-calloc-fix (2024-05-13) 1 commit
  (merged to 'next' on 2024-05-13 at 077c4e1dcc)
 + compat/regex: fix argument order to calloc(3)

 Windows CI running in GitHub Actions started complaining about the
 order of arguments given to calloc(); the imported regex code uses
 the wrong order almost consistently, which has been corrected.

 Will merge to 'master'.
 source: <xmqqbk5bim2n.fsf@gitster.g>


* jc/undecided-is-not-necessarily-sha1-fix (2024-05-16) 6 commits
 - apply: fix uninitialized hash function
 - builtin/hash-object: fix uninitialized hash function
 - builtin/patch-id: fix uninitialized hash function
 - t1517: test commands that are designed to be run outside repository
 - setup: add an escape hatch for "no more default hash algorithm" change
 - Merge branch 'ps/undecided-is-not-necessarily-sha1' into jc/undecided-is-not-necessarily-sha1-fix
 (this branch uses ps/undecided-is-not-necessarily-sha1.)

 The base topic started to make it an error for a command to leave
 the hash algorithm unspecified, which revealed a few commands that
 were not ready for the change.  Give users a knob to revert back to
 the "default is sha-1" behaviour as an escape hatch, and start
 fixing these breakages.

 Comments?
 source: <20240513224127.2042052-1-gitster@pobox.com>


* dg/fetch-pack-code-cleanup (2024-05-13) 1 commit
  (merged to 'next' on 2024-05-17 at c8f8136d2e)
 + fetch-pack: remove unused 'struct loose_object_iter'

 Code clean-up to remove an unused struct definition.

 Will merge to 'master'.
 source: <20240512005913.342287-1-dave@treblig.org>


* dm/update-index-doc-fix (2024-05-13) 1 commit
  (merged to 'next' on 2024-05-17 at 2f6cd0d1cc)
 + documentation: git-update-index: add --show-index-version to synopsis

 Doc fix.

 Will merge to 'master'.
 source: <20240512031400.28416-1-dov.murik@linux.dev>


* ps/builtin-config-cleanup (2024-05-15) 22 commits
 - builtin/config: pass data between callbacks via local variables
 - builtin/config: convert flags to a local variable
 - builtin/config: track "fixed value" option via flags only
 - builtin/config: convert `key` to a local variable
 - builtin/config: convert `key_regexp` to a local variable
 - builtin/config: convert `regexp` to a local variable
 - builtin/config: convert `value_pattern` to a local variable
 - builtin/config: convert `do_not_match` to a local variable
 - builtin/config: move `respect_includes_opt` into location options
 - builtin/config: move default value into display options
 - builtin/config: move type options into display options
 - builtin/config: move display options into local variables
 - builtin/config: move location options into local variables
 - builtin/config: refactor functions to have common exit paths
 - config: make the config source const
 - builtin/config: check for writeability after source is set up
 - builtin/config: move actions into `cmd_config_actions()`
 - builtin/config: move legacy options into `cmd_config()`
 - builtin/config: move subcommand options into `cmd_config()`
 - builtin/config: move legacy mode into its own function
 - builtin/config: stop printing full usage on misuse
 - Merge branch 'ps/config-subcommands' into ps/builtin-config-cleanup

 Code clean-up to reduce inter-function communication inside
 builtin/config.c done via the use of global variables.

 Will merge to 'next'?
 source: <cover.1715755055.git.ps@pks.im>


* jc/doc-manpages-l10n (2024-05-17) 1 commit
 - SubmittingPatches: advertise git-manpages-l10n project a bit

 The SubmittingPatches document now refers folks to manpages
 translation project.

 Will merge to 'next'.
 source: <xmqqv83muc12.fsf@gitster.g>


* ps/reftable-reusable-iterator (2024-05-13) 13 commits
 - reftable/merged: adapt interface to allow reuse of iterators
 - reftable/stack: provide convenience functions to create iterators
 - reftable/reader: adapt interface to allow reuse of iterators
 - reftable/generic: adapt interface to allow reuse of iterators
 - reftable/generic: move seeking of records into the iterator
 - reftable/merged: simplify indices for subiterators
 - reftable/merged: split up initialization and seeking of records
 - reftable/reader: set up the reader when initializing table iterator
 - reftable/reader: inline `reader_seek_internal()`
 - reftable/reader: separate concerns of table iter and reftable reader
 - reftable/reader: unify indexed and linear seeking
 - reftable/reader: avoid copying index iterator
 - reftable/block: use `size_t` to track restart point index

 Code clean-up to make the reftable iterator closer to be reusable.

 Comments?
 source: <cover.1715589670.git.ps@pks.im>


* tb/precompose-getcwd (2024-05-09) 1 commit
  (merged to 'next' on 2024-05-11 at d1b507b01a)
 + macOS: ls-files path fails if path of workdir is NFD

 We forgot to normalize the result of getcwd() to NFC on macOS where
 all other paths are normalized, which has been corrected.

 Will merge to 'master'.
 source: <20240509161110.12121-1-tboegi@web.de>


* jc/patch-flow-updates (2024-05-10) 2 commits
  (merged to 'next' on 2024-05-16 at d7a885574b)
 + SubmittingPatches: extend the "flow" section
 + SubmittingPatches: move the patch-flow section earlier
 (this branch is used by kn/patch-iteration-doc.)

 Doc updates.

 Will merge to 'master'.
 source: <20240510165526.1412338-1-gitster@pobox.com>


* it/refs-name-conflict (2024-05-06) 1 commit
  (merged to 'next' on 2024-05-15 at 39ef3ecc88)
 + refs: return conflict error when checking packed refs

 Expose "name conflict" error when a ref creation fails due to D/F
 conflict in the ref namespace, to improve an error message given by
 "git fetch".

 Will merge to 'master'.
 source: <pull.1716.v3.git.git.1714791848557.gitgitgadget@gmail.com>


* jc/format-patch-more-aggressive-range-diff (2024-05-06) 1 commit
 - format-patch: run range-diff with larger creation-factor

 The default "creation-factor" used by "git format-patch" has been
 raised to make it more aggressively find matching commits.

 Comments?
 source: <xmqqbk5i3ncw.fsf_-_@gitster.g>


* kn/ref-transaction-symref (2024-05-07) 8 commits
  (merged to 'next' on 2024-05-11 at 0a7119f2a3)
 + refs: remove `create_symref` and associated dead code
 + refs: rename `refs_create_symref()` to `refs_update_symref()`
 + refs: use transaction in `refs_create_symref()`
 + refs: add support for transactional symref updates
 + refs: move `original_update_refname` to 'refs.c'
 + refs: support symrefs in 'reference-transaction' hook
 + files-backend: extract out `create_symref_lock()`
 + refs: accept symref values in `ref_transaction_update()`
 (this branch is used by kn/update-ref-symref.)

 Updates to symbolic refs can now be made as a part of ref
 transaction.

 Will merge to 'master'.
 source: <20240507125859.132116-1-knayak@gitlab.com>


* ps/reftable-write-options (2024-05-13) 11 commits
 - refs/reftable: allow configuring geometric factor
 - reftable: make the compaction factor configurable
 - refs/reftable: allow disabling writing the object index
 - refs/reftable: allow configuring restart interval
 - reftable: use `uint16_t` to track restart interval
 - refs/reftable: allow configuring block size
 - reftable/dump: support dumping a table's block structure
 - reftable/writer: improve error when passed an invalid block size
 - reftable/writer: drop static variable used to initialize strbuf
 - reftable: pass opts as constant pointer
 - reftable: consistently refer to `reftable_write_options` as `opts`

 The knobs to tweak how reftable files are written have been made
 available as configuration variables.

 Comments?
 source: <cover.1715587849.git.ps@pks.im>


* ps/pseudo-ref-terminology (2024-05-15) 10 commits
 - refs: refuse to write pseudorefs
 - ref-filter: properly distinuish pseudo and root refs
 - refs: pseudorefs are no refs
 - refs: classify HEAD as a root ref
 - refs: do not check ref existence in `is_root_ref()`
 - refs: rename `is_special_ref()` to `is_pseudo_ref()`
 - refs: rename `is_pseudoref()` to `is_root_ref()`
 - Documentation/glossary: define root refs as refs
 - Documentation/glossary: clarify limitations of pseudorefs
 - Documentation/glossary: redefine pseudorefs as special refs

 Terminology to call various ref-like things are getting
 straightened out.

 Will merge to 'next'?
 cf. <vgzwb5xnlvz2gfiqamzrfcjs2xya3zhhoootyzopfpdrjapayq@wfsomyal4cf6>
 source: <cover.1715755591.git.ps@pks.im>


* jc/rev-parse-fatal-doc (2024-05-01) 1 commit
 - rev-parse: document how --is-* options work outside a repository

 Doc update.

 Comments?
 source: <xmqqplu54fbg.fsf@gitster.g>


* ps/undecided-is-not-necessarily-sha1 (2024-05-06) 15 commits
  (merged to 'next' on 2024-05-08 at 9f8e894685)
 + repository: stop setting SHA1 as the default object hash
 + oss-fuzz/commit-graph: set up hash algorithm
 + builtin/shortlog: don't set up revisions without repo
 + builtin/diff: explicitly set hash algo when there is no repo
 + builtin/bundle: abort "verify" early when there is no repository
 + builtin/blame: don't access potentially unitialized `the_hash_algo`
 + builtin/rev-parse: allow shortening to more than 40 hex characters
 + remote-curl: fix parsing of detached SHA256 heads
 + attr: fix BUG() when parsing attrs outside of repo
 + attr: don't recompute default attribute source
 + parse-options-cb: only abbreviate hashes when hash algo is known
 + path: move `validate_headref()` to its only user
 + path: harden validation of HEAD with non-standard hashes
 + Merge branch 'ps/the-index-is-no-more' into ps/undecided-is-not-necessarily-sha1
 + Merge branch 'jc/no-default-attr-tree-in-bare' into ps/undecided-is-not-necessarily-sha1
 (this branch is used by jc/undecided-is-not-necessarily-sha1-fix.)

 Before discovering the repository details, We used to assume SHA-1
 as the "default" hash function, which has been corrected. Hopefully
 this will smoke out codepaths that rely on such an unwarranted
 assumptions.

 Will cook in 'next'.
 source: <cover.1715057362.git.ps@pks.im>


* pw/rebase-i-error-message (2024-04-08) 2 commits
 - rebase -i: improve error message when picking merge
 - rebase -i: pass struct replay_opts to parse_insn_line()

 When the user adds to "git rebase -i" instruction to "pick" a merge
 commit, the error experience is not pleasant.  Such an error is now
 caught earlier in the process that parses the todo list.

 Expecting a reroll.
 cf. <88bc0787-e7ae-49e5-99e8-97f6c55ea8c6@gmail.com>
 source: <pull.1672.v2.git.1712585787.gitgitgadget@gmail.com>


* ds/send-email-per-message-block (2024-04-10) 1 commit
 - send-email: move newline characters out of a few translatable strings

 Preliminary code clean-up for "git send-email".

 Will merge to 'next'.
 The topmost commit in the original series was dropped per author's request.
 cf. <a07d3807a24f6d68cb48ee48366ae25e@manjaro.org>
 source: <29ea3a9b07bf1aa17b5d6a1e41325379c494bcb2.1712732383.git.dsimic@manjaro.org>


* ew/khash-to-khashl (2024-03-28) 3 commits
 - khashl: fix ensemble lookups on empty table
 - treewide: switch to khashl for memory savings
 - list-objects-filter: use kh_size API

 The hashtable library "khash.h" has been replaced with "khashl.h"
 that has better memory usage characteristics.

 Needs review.
 cf. <xmqqy1a4ao3t.fsf@gitster.g>
 source: <20240328101356.300374-1-e@80x24.org>


* la/hide-trailer-info (2024-05-02) 11 commits
  (merged to 'next' on 2024-05-15 at 955ffe4f37)
 + trailer unit tests: inspect iterator contents
 + trailer: document parse_trailers() usage
 + trailer: retire trailer_info_get() from API
 + trailer: make trailer_info struct private
 + trailer: make parse_trailers() return trailer_info pointer
 + interpret-trailers: access trailer_info with new helpers
 + sequencer: use the trailer iterator
 + trailer: teach iterator about non-trailer lines
 + trailer: add unit tests for trailer iterator
 + Makefile: sort UNIT_TEST_PROGRAMS
 + Merge branch 'la/format-trailer-info' into la/hide-trailer-info

 The trailer API has been reshuffled a bit.

 Will merge to 'master'.
 source: <pull.1696.v4.git.1714625667.gitgitgadget@gmail.com>


* ds/doc-config-reflow (2024-03-14) 1 commit
 - config.txt: perform some minor reformatting

 Reflow a paragraph in the documentation source without any effect
 to the formatted text.

 Will discard.
 source: <97bdaf075bf5a68554cca1731eca78aff2662907.1710444774.git.dsimic@manjaro.org>


* ie/config-includeif-hostname (2024-03-19) 2 commits
 - config: learn the "hostname:" includeIf condition
 - t: add a test helper for getting hostname

 The conditional inclusion mechanism for configuration files learned
 to switch on the hostname.

 Expecting a reroll.
 cf. <20240319210428.GC1159535@coredump.intra.peff.net>
 cf. <20240320001934.GA903718@coredump.intra.peff.net>
 source: <20240319183722.211300-1-ignacio@iencinas.com>


* cw/git-std-lib (2024-02-28) 4 commits
 . SQUASH??? get rid of apparent debugging crufts
 . test-stdlib: show that git-std-lib is independent
 . git-std-lib: introduce Git Standard Library
 . pager: include stdint.h because uintmax_t is used

 Split libgit.a out to a separate git-std-lib tor easier reuse.

 Expecting a reroll.
 source: <cover.1696021277.git.jonathantanmy@google.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 cf. <6683f24e-7e56-489d-be2d-8afe1fc38d2b@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Expecting a reroll.
 cf. <CAC4O8c88Z3ZqxH2VVaNPpEGB3moL5dJcg3cOWuLWwQ_hLrJMtA@mail.gmail.com>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>

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

* tb/pseudo-merge-reachability-bitmap (2024-04-30) 23 commits
 . t/perf: implement performace tests for pseudo-merge bitmaps
 . pseudo-merge: implement support for finding existing merges
 . ewah: `bitmap_equals_ewah()`
 . pack-bitmap: extra trace2 information
 . pack-bitmap.c: use pseudo-merges during traversal
 . t/test-lib-functions.sh: support `--date` in `test_commit_bulk()`
 . pack-bitmap: implement test helpers for pseudo-merge
 . ewah: implement `ewah_bitmap_popcount()`
 . pseudo-merge: implement support for reading pseudo-merge commits
 . pack-bitmap.c: read pseudo-merge extension
 . pseudo-merge: scaffolding for reads
 . pack-bitmap: extract `read_bitmap()` function
 . pack-bitmap-write.c: write pseudo-merge table
 . pack-bitmap-write.c: select pseudo-merge commits
 . pseudo-merge: implement support for selecting pseudo-merge commits
 . pack-bitmap: make `bitmap_writer_push_bitmapped_commit()` public
 . pack-bitmap: implement `bitmap_writer_has_bitmapped_object_id()`
 . pack-bitmap-write: support storing pseudo-merge commits
 . pseudo-merge.ch: initial commit
 . pack-bitmap: move some initialization to `bitmap_writer_init()`
 . pack-bitmap: drop unused `max_bitmaps` parameter
 . ewah: implement `ewah_bitmap_is_subset()`
 . Documentation/technical: describe pseudo-merge bitmaps format

 The pack-bitmap machinery learned to write pseudo-merge bitmaps,
 which act as imaginary octopus merges covering un-bitmapped
 reference tips. This enhances bitmap coverage, and thus,
 performance, for repositories with many references using bitmaps.

 Retracted to be rebuilt on top of tb/pack-bitmap-write-cleanups topic
 source: <cover.1714422410.git.me@ttaylorr.com>


^ permalink raw reply	[relevance 21%]

* Re: What's cooking in git.git (May 2024, #06; Tue, 14)
  @ 2024-05-15 14:16 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-05-15 14:16 UTC (permalink / raw)
  To: Christian Couder; +Cc: git

Christian Couder <christian.couder@gmail.com> writes:

> Phillip then agreed with Linus that the improvements he suggested
> could be done later.
>
> I took a look at Linus' v4 and I am also fine with it. Thanks.

Let's merge it down to 'next', then.  Thanks.


^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (May 2024, #06; Tue, 14)
@ 2024-05-14 17:36 22% Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2024-05-14 17:36 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

Git 2.45.1 and friends have been released, and the integration
branches for developers have all been updated to include them.

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-scm/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']

* fa/p4-error (2024-05-08) 1 commit
  (merged to 'next' on 2024-05-11 at 58fd3fbf2f)
 + git-p4: show Perforce error to the user

 P4 update.
 source: <pull.1668.v3.git.git.1715206266214.gitgitgadget@gmail.com>


* jc/git-gui-maintainer-update (2024-05-11) 1 commit
  (merged to 'next' on 2024-05-11 at 78c648537b)
 + SubmittingPatches: welcome the new maintainer of git-gui part

 Will merge to 'master'.


* jc/no-default-attr-tree-in-bare (2024-05-03) 1 commit
  (merged to 'next' on 2024-05-08 at a34819b16d)
 + stop using HEAD for attributes in bare repository by default
 (this branch is used by ps/undecided-is-not-necessarily-sha1.)

 Git 2.43 started using the tree of HEAD as the source of attributes
 in a bare repository, which has severe performance implications.
 For now, revert the change, without ripping out a more explicit
 support for the attr.tree configuration variable.
 source: <xmqqzft6aozg.fsf_-_@gitster.g>


* jc/test-workaround-broken-mv (2024-05-02) 1 commit
  (merged to 'next' on 2024-05-06 at 7e009c6827)
 + t/lib-chunk: work around broken "mv" on some vintage of macOS

 Tests that try to corrupt in-repository files in chunked format did
 not work well on macOS due to its broken "mv", which has been
 worked around.
 source: <xmqqsez0c6ma.fsf@gitster.g>


* jk/ci-macos-gcc13-fix (2024-05-09) 3 commits
  (merged to 'next' on 2024-05-11 at 571a90f095)
 + ci: stop installing "gcc-13" for osx-gcc
 + ci: avoid bare "gcc" for osx-gcc job
 + ci: drop mention of BREW_INSTALL_PACKAGES variable

 CI fix.
 source: <20240509162219.GA1707955@coredump.intra.peff.net>


* jk/ci-test-with-jgit-fix (2024-05-09) 1 commit
  (merged to 'next' on 2024-05-11 at 7d3d69657e)
 + ci: update coverity runs_on_pool reference

 CI fix.
 source: <20240509161506.GA1707588@coredump.intra.peff.net>


* ma/win32-unix-domain-socket (2024-05-03) 1 commit
  (merged to 'next' on 2024-05-06 at 799a546c96)
 + win32: fix building with NO_UNIX_SOCKETS

 Build fix.
 source: <20240503091427.2808390-1-mh@glandium.org>


* ps/ci-enable-minimal-fuzzers-at-gitlab (2024-05-06) 1 commit
  (merged to 'next' on 2024-05-07 at a76024bd9f)
 + gitlab-ci: add smoke test for fuzzers
 (this branch is used by ps/ci-fuzzers-at-gitlab-fix.)

 CI update.
 source: <01fb94999f8e2014ba4d09ce7451a4f5d315ee72.1714371146.git.ps@pks.im>


* ps/ci-fuzzers-at-gitlab-fix (2024-05-09) 3 commits
  (merged to 'next' on 2024-05-11 at f4307d4164)
 + gitlab-ci: fix installing dependencies for fuzz smoke tests
 + Merge branch 'ps/ci-python-2-deprecation' into ps/ci-fuzzers-at-gitlab-fix
 + Merge branch 'ps/ci-enable-minimal-fuzzers-at-gitlab' into ps/ci-fuzzers-at-gitlab-fix
 (this branch uses ps/ci-enable-minimal-fuzzers-at-gitlab and ps/ci-python-2-deprecation.)

 CI fix.
 source: <5a92a4aa9edd9653df71b284f07461c7906f97e2.1715241343.git.ps@pks.im>


* ps/ci-python-2-deprecation (2024-05-06) 1 commit
  (merged to 'next' on 2024-05-07 at 0e11e94f99)
 + ci: fix Python dependency on Ubuntu 24.04
 (this branch is used by ps/ci-fuzzers-at-gitlab-fix.)

 Unbreak CI jobs so that we do not attempt to use Python 2 that has
 been removed from the platform.
 source: <cb8cefc20f373a3516695e7cbee975132553ea95.1714973381.git.ps@pks.im>


* tb/attr-limits (2024-05-03) 1 commit
  (merged to 'next' on 2024-05-06 at b98150cc71)
 + attr.c: move ATTR_MAX_FILE_SIZE check into read_attr_from_buf()

 The maximum size of attribute files is enforced more consistently.
 source: <28f6267709db78ba526d7ed9fc4a734674697c70.1714763555.git.me@ttaylorr.com>

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

* jc/compat-regex-calloc-fix (2024-05-13) 1 commit
  (merged to 'next' on 2024-05-13 at 077c4e1dcc)
 + compat/regex: fix argument order to calloc(3)

 Windows CI running in GitHub Actions started complaining about the
 order of arguments given to calloc(); the imported regex code uses
 the wrong order almost consistently, which has been corrected.

 Will merge to 'master'.
 source: <xmqqbk5bim2n.fsf@gitster.g>


* jc/undecided-is-not-necessarily-sha1-fix (2024-05-13) 6 commits
 - apply: fix uninitialized hash function
 - builtin/hash-object: fix uninitialized hash function
 - builtin/patch-id: fix uninitialized hash function
 - t1517: test commands that are designed to be run outside repository
 - setup: add an escape hatch for "no more default hash algorithm" change
 - Merge branch 'ps/undecided-is-not-necessarily-sha1' into jc/undecided-is-not-necessarily-sha1-fix
 (this branch uses ps/undecided-is-not-necessarily-sha1.)

 The base topic started to make it an error for a command to leave
 the hash algorithm unspecified, which revealed a few commands that
 were not ready for the change.  Give users a knob to revert back to
 the "default is sha-1" behaviour as an escape hatch, and start
 fixing these breakages.

 Comments?
 source: <20240513224127.2042052-1-gitster@pobox.com>


* dg/fetch-pack-code-cleanup (2024-05-13) 1 commit
 - fetch-pack: remove unused 'struct loose_object_iter'

 source: <20240512005913.342287-1-dave@treblig.org>


* dm/update-index-doc-fix (2024-05-13) 1 commit
 - documentation: git-update-index: add --show-index-version to synopsis

 source: <20240512031400.28416-1-dov.murik@linux.dev>

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

* ps/builtin-config-cleanup (2024-05-13) 22 commits
 - builtin/config: pass data between callbacks via local variables
 - builtin/config: convert flags to a local variable
 - builtin/config: track "fixed value" option via flags only
 - builtin/config: convert `key` to a local variable
 - builtin/config: convert `key_regexp` to a local variable
 - builtin/config: convert `regexp` to a local variable
 - builtin/config: convert `value_pattern` to a local variable
 - builtin/config: convert `do_not_match` to a local variable
 - builtin/config: move `respect_includes_opt` into location options
 - builtin/config: move default value into display options
 - builtin/config: move type options into display options
 - builtin/config: move display options into local variables
 - builtin/config: move location options into local variables
 - builtin/config: refactor functions to have common exit paths
 - config: make the config source const
 - builtin/config: check for writeability after source is set up
 - builtin/config: move actions into `cmd_config_actions()`
 - builtin/config: move legacy options into `cmd_config()`
 - builtin/config: move subcommand options into `cmd_config()`
 - builtin/config: move legacy mode into its own function
 - builtin/config: stop printing full usage on misuse
 - Merge branch 'ps/config-subcommands' into ps/builtin-config-cleanup
 (this branch uses ps/config-subcommands.)

 Code clean-up to reduce inter-function communication inside
 builtin/config.c done via the use of global variables.

 Comments?
 source: <cover.1715595550.git.ps@pks.im>


* vd/doc-merge-tree-x-option (2024-05-07) 1 commit
  (merged to 'next' on 2024-05-08 at 42637b8bdf)
 + Documentation/git-merge-tree.txt: document -X

 Doc update.

 Will merge to 'master'.
 source: <pull.1728.git.1715117789985.gitgitgadget@gmail.com>


* jc/doc-manpages-l10n (2024-05-09) 1 commit
 - SubmittingPatches: advertise git-manpages-l10n project a bit

 The SubmittingPatches document now refers folks to manpages
 translation project.

 Comments?
 source: <xmqqv83muc12.fsf@gitster.g>


* ps/reftable-reusable-iterator (2024-05-13) 13 commits
 - reftable/merged: adapt interface to allow reuse of iterators
 - reftable/stack: provide convenience functions to create iterators
 - reftable/reader: adapt interface to allow reuse of iterators
 - reftable/generic: adapt interface to allow reuse of iterators
 - reftable/generic: move seeking of records into the iterator
 - reftable/merged: simplify indices for subiterators
 - reftable/merged: split up initialization and seeking of records
 - reftable/reader: set up the reader when initializing table iterator
 - reftable/reader: inline `reader_seek_internal()`
 - reftable/reader: separate concerns of table iter and reftable reader
 - reftable/reader: unify indexed and linear seeking
 - reftable/reader: avoid copying index iterator
 - reftable/block: use `size_t` to track restart point index

 Code clean-up to make the reftable iterator closer to be reusable.

 Comments?
 source: <cover.1715589670.git.ps@pks.im>


* tb/precompose-getcwd (2024-05-09) 1 commit
  (merged to 'next' on 2024-05-11 at d1b507b01a)
 + macOS: ls-files path fails if path of workdir is NFD

 We forgot to normalize the result of getcwd() to NFC on macOS where
 all other paths are normalized, which has been corrected.

 Will merge to 'master'.
 source: <20240509161110.12121-1-tboegi@web.de>


* jc/patch-flow-updates (2024-05-10) 2 commits
 - SubmittingPatches: extend the "flow" section
 - SubmittingPatches: move the patch-flow section earlier

 Doc updates.

 Comments?
 source: <20240510165526.1412338-1-gitster@pobox.com>


* it/refs-name-conflict (2024-05-06) 1 commit
 - refs: return conflict error when checking packed refs

 Expose "name conflict" error when a ref creation fails due to D/F
 conflict in the ref namespace, to improve an error message given by
 "git fetch".

 Will merge to 'next'.
 source: <pull.1716.v3.git.git.1714791848557.gitgitgadget@gmail.com>


* jc/format-patch-more-aggressive-range-diff (2024-05-06) 1 commit
 - format-patch: run range-diff with larger creation-factor

 The default "creation-factor" used by "git format-patch" has been
 raised to make it more aggressively find matching commits.

 Comments?
 source: <xmqqbk5i3ncw.fsf_-_@gitster.g>


* jp/tag-trailer (2024-05-07) 3 commits
  (merged to 'next' on 2024-05-07 at 646013793d)
 + builtin/tag: add --trailer option
 + builtin/commit: refactor --trailer logic
 + builtin/commit: use ARGV macro to collect trailers

 "git tag" learned the "--trailer" option to futz with the trailers
 in the same way as "git commit" does.

 Will merge to 'master'.
 source: <pull.1723.v5.git.1714934950.gitgitgadget@gmail.com>


* ow/refspec-glossary-update (2024-05-06) 1 commit
  (merged to 'next' on 2024-05-07 at 7d55ebb0c8)
 + Documentation: Mention that refspecs are explained elsewhere

 Doc update.

 Will merge to 'master'.
 source: <20240506182317.13477-1-oystwa@gmail.com>


* rs/external-diff-with-exit-code (2024-05-06) 2 commits
  (merged to 'next' on 2024-05-08 at ad5fee3cbf)
 + diff: fix --exit-code with external diff
 + diff: report unmerged paths as changes in run_diff_cmd()

 The "--exit-code" option of "git diff" command learned to work with
 the "--ext-diff" option.

 Will merge to 'master'.
 source: <82561c70-ec33-41bf-b036-52310ffc1926@web.de>


* jt/port-ci-whitespace-check-to-gitlab (2024-05-03) 5 commits
  (merged to 'next' on 2024-05-08 at 774a29dde4)
 + gitlab-ci: add whitespace error check
 + ci: make the whitespace report optional
 + ci: separate whitespace check script
 + github-ci: fix link to whitespace error
 + ci: pre-collapse GitLab CI sections

 The "whitespace check" task that was enabled for GitHub Actions CI
 has been ported to GitLab CI.

 Will merge to 'master'.
 source: <20240503172110.181326-1-jltobler@gmail.com>


* jl/git-no-advice (2024-05-07) 4 commits
  (merged to 'next' on 2024-05-08 at c9e7e0866e)
 + t0018: two small fixes
  (merged to 'next' on 2024-05-06 at 95cc03ef96)
 + advice: add --no-advice global option
 + doc: add spacing around paginate options
 + doc: clean up usage documentation for --no-* opts

 A new global "--no-advice" option can be used to disable all advice
 messages, which is meant to be used only in scripts.

 Will merge to 'master'.
 source: <20240503071706.78109-1-james@jamesliu.io>


* kn/ref-transaction-symref (2024-05-07) 8 commits
  (merged to 'next' on 2024-05-11 at 0a7119f2a3)
 + refs: remove `create_symref` and associated dead code
 + refs: rename `refs_create_symref()` to `refs_update_symref()`
 + refs: use transaction in `refs_create_symref()`
 + refs: add support for transactional symref updates
 + refs: move `original_update_refname` to 'refs.c'
 + refs: support symrefs in 'reference-transaction' hook
 + files-backend: extract out `create_symref_lock()`
 + refs: accept symref values in `ref_transaction_update()`

 Updates to symbolic refs can now be made as a part of ref
 transaction.

 Will merge to 'master'.
 source: <20240507125859.132116-1-knayak@gitlab.com>


* ps/config-subcommands (2024-05-06) 14 commits
  (merged to 'next' on 2024-05-07 at f10c689a30)
 + builtin/config: display subcommand help
 + builtin/config: introduce "edit" subcommand
 + builtin/config: introduce "remove-section" subcommand
 + builtin/config: introduce "rename-section" subcommand
 + builtin/config: introduce "unset" subcommand
 + builtin/config: introduce "set" subcommand
 + builtin/config: introduce "get" subcommand
 + builtin/config: introduce "list" subcommand
 + builtin/config: pull out function to handle `--null`
 + builtin/config: pull out function to handle config location
 + builtin/config: use `OPT_CMDMODE()` to specify modes
 + builtin/config: move "fixed-value" option to correct group
 + builtin/config: move option array around
 + config: clarify memory ownership when preparing comment strings
 (this branch is used by ps/builtin-config-cleanup.)

 The operation mode options (like "--get") the "git config" command
 uses have been deprecated and replaced with subcommands (like "git
 config get").

 Will merge to 'master'.
 source: <cover.1714982328.git.ps@pks.im>


* ps/refs-without-the-repository (2024-05-07) 5 commits
  (merged to 'next' on 2024-05-08 at 2479b9de46)
 + refs: remove functions without ref store
 + cocci: apply rules to rewrite callers of "refs" interfaces
 + cocci: introduce rules to transform "refs" to pass ref store
 + refs: add `exclude_patterns` parameter to `for_each_fullref_in()`
 + refs: introduce missing functions that accept a `struct ref_store`

 The refs API lost functions that implicitly assumes to work on the
 primary ref_store by forcing the callers to pass a ref_store as an
 argument.

 Will merge to 'master'.
 source: <cover.1715065736.git.ps@pks.im>


* ps/reftable-write-options (2024-05-13) 11 commits
 - refs/reftable: allow configuring geometric factor
 - reftable: make the compaction factor configurable
 - refs/reftable: allow disabling writing the object index
 - refs/reftable: allow configuring restart interval
 - reftable: use `uint16_t` to track restart interval
 - refs/reftable: allow configuring block size
 - reftable/dump: support dumping a table's block structure
 - reftable/writer: improve error when passed an invalid block size
 - reftable/writer: drop static variable used to initialize strbuf
 - reftable: pass opts as constant pointer
 - reftable: consistently refer to `reftable_write_options` as `opts`

 The knobs to tweak how reftable files are written have been made
 available as configuration variables.

 Comments?
 source: <cover.1715587849.git.ps@pks.im>


* ds/scalar-reconfigure-all-fix (2024-05-07) 1 commit
  (merged to 'next' on 2024-05-08 at eca398f4a5)
 + scalar: avoid segfault in reconfigure --all

 Scalar fix.

 Will merge to 'master'.
 source: <pull.1724.v3.git.1715126749391.gitgitgadget@gmail.com>


* ps/pseudo-ref-terminology (2024-05-10) 10 commits
 - refs: refuse to write pseudorefs
 - ref-filter: properly distinuish pseudo and root refs
 - refs: pseudorefs are no refs
 - refs: classify HEAD as a root ref
 - refs: root refs can be symbolic refs
 - refs: refname `is_special_ref()` to `is_pseudo_ref()`
 - refs: rename `is_pseudoref()` to `is_root_ref()`
 - Documentation/glossary: define root refs as refs
 - Documentation/glossary: clarify limitations of pseudorefs
 - Documentation/glossary: redefine pseudorefs as special refs

 Terminology to call various ref-like things are getting
 straightened out.

 Comments?
 source: <cover.1715330206.git.ps@pks.im>


* jc/rev-parse-fatal-doc (2024-05-01) 1 commit
 - rev-parse: document how --is-* options work outside a repository

 Doc update.

 Comments?
 source: <xmqqplu54fbg.fsf@gitster.g>


* ps/undecided-is-not-necessarily-sha1 (2024-05-06) 15 commits
  (merged to 'next' on 2024-05-08 at 9f8e894685)
 + repository: stop setting SHA1 as the default object hash
 + oss-fuzz/commit-graph: set up hash algorithm
 + builtin/shortlog: don't set up revisions without repo
 + builtin/diff: explicitly set hash algo when there is no repo
 + builtin/bundle: abort "verify" early when there is no repository
 + builtin/blame: don't access potentially unitialized `the_hash_algo`
 + builtin/rev-parse: allow shortening to more than 40 hex characters
 + remote-curl: fix parsing of detached SHA256 heads
 + attr: fix BUG() when parsing attrs outside of repo
 + attr: don't recompute default attribute source
 + parse-options-cb: only abbreviate hashes when hash algo is known
 + path: move `validate_headref()` to its only user
 + path: harden validation of HEAD with non-standard hashes
 + Merge branch 'ps/the-index-is-no-more' into ps/undecided-is-not-necessarily-sha1
 + Merge branch 'jc/no-default-attr-tree-in-bare' into ps/undecided-is-not-necessarily-sha1
 (this branch is used by jc/undecided-is-not-necessarily-sha1-fix.)

 Before discovering the repository details, We used to assume SHA-1
 as the "default" hash function, which has been corrected. Hopefully
 this will smoke out codepaths that rely on such an unwarranted
 assumptions.

 Will cook in 'next'.
 source: <cover.1715057362.git.ps@pks.im>


* pw/rebase-i-error-message (2024-04-08) 2 commits
 - rebase -i: improve error message when picking merge
 - rebase -i: pass struct replay_opts to parse_insn_line()

 When the user adds to "git rebase -i" instruction to "pick" a merge
 commit, the error experience is not pleasant.  Such an error is now
 caught earlier in the process that parses the todo list.

 Expecting a reroll.
 cf. <88bc0787-e7ae-49e5-99e8-97f6c55ea8c6@gmail.com>
 source: <pull.1672.v2.git.1712585787.gitgitgadget@gmail.com>


* ds/send-email-per-message-block (2024-04-10) 2 commits
 - send-email: make it easy to discern the messages for each patch
 - send-email: move newline characters out of a few translatable strings

 "git send-email" learned to separate its reports on each message it
 sends out with an extra blank line in between.

 Comments?
 source: <cover.1712732383.git.dsimic@manjaro.org>


* ew/khash-to-khashl (2024-03-28) 3 commits
 - khashl: fix ensemble lookups on empty table
 - treewide: switch to khashl for memory savings
 - list-objects-filter: use kh_size API

 The hashtable library "khash.h" has been replaced with "khashl.h"
 that has better memory usage characteristics.

 Needs review.
 cf. <xmqqy1a4ao3t.fsf@gitster.g>
 source: <20240328101356.300374-1-e@80x24.org>


* tb/pseudo-merge-reachability-bitmap (2024-04-30) 23 commits
 - t/perf: implement performace tests for pseudo-merge bitmaps
 - pseudo-merge: implement support for finding existing merges
 - ewah: `bitmap_equals_ewah()`
 - pack-bitmap: extra trace2 information
 - pack-bitmap.c: use pseudo-merges during traversal
 - t/test-lib-functions.sh: support `--date` in `test_commit_bulk()`
 - pack-bitmap: implement test helpers for pseudo-merge
 - ewah: implement `ewah_bitmap_popcount()`
 - pseudo-merge: implement support for reading pseudo-merge commits
 - pack-bitmap.c: read pseudo-merge extension
 - pseudo-merge: scaffolding for reads
 - pack-bitmap: extract `read_bitmap()` function
 - pack-bitmap-write.c: write pseudo-merge table
 - pack-bitmap-write.c: select pseudo-merge commits
 - pseudo-merge: implement support for selecting pseudo-merge commits
 - pack-bitmap: make `bitmap_writer_push_bitmapped_commit()` public
 - pack-bitmap: implement `bitmap_writer_has_bitmapped_object_id()`
 - pack-bitmap-write: support storing pseudo-merge commits
 - pseudo-merge.ch: initial commit
 - pack-bitmap: move some initialization to `bitmap_writer_init()`
 - pack-bitmap: drop unused `max_bitmaps` parameter
 - ewah: implement `ewah_bitmap_is_subset()`
 - Documentation/technical: describe pseudo-merge bitmaps format

 The pack-bitmap machinery learned to write pseudo-merge bitmaps,
 which act as imaginary octopus merges covering un-bitmapped
 reference tips. This enhances bitmap coverage, and thus,
 performance, for repositories with many references using bitmaps.

 Needs review.
 source: <cover.1714422410.git.me@ttaylorr.com>


* la/hide-trailer-info (2024-05-02) 11 commits
 - trailer unit tests: inspect iterator contents
 - trailer: document parse_trailers() usage
 - trailer: retire trailer_info_get() from API
 - trailer: make trailer_info struct private
 - trailer: make parse_trailers() return trailer_info pointer
 - interpret-trailers: access trailer_info with new helpers
 - sequencer: use the trailer iterator
 - trailer: teach iterator about non-trailer lines
 - trailer: add unit tests for trailer iterator
 - Makefile: sort UNIT_TEST_PROGRAMS
 - Merge branch 'la/format-trailer-info' into la/hide-trailer-info

 The trailer API has been reshuffled a bit.

 Waiting for a review response.
 cf. <a75133dc-a0bb-4f61-a616-988f2b4d5688@gmail.com>
 source: <pull.1696.v4.git.1714625667.gitgitgadget@gmail.com>


* ds/doc-config-reflow (2024-03-14) 1 commit
 - config.txt: perform some minor reformatting

 Reflow a paragraph in the documentation source without any effect
 to the formatted text.

 Will discard.
 source: <97bdaf075bf5a68554cca1731eca78aff2662907.1710444774.git.dsimic@manjaro.org>


* ie/config-includeif-hostname (2024-03-19) 2 commits
 - config: learn the "hostname:" includeIf condition
 - t: add a test helper for getting hostname

 The conditional inclusion mechanism for configuration files learned
 to switch on the hostname.

 Expecting a reroll.
 cf. <20240319210428.GC1159535@coredump.intra.peff.net>
 cf. <20240320001934.GA903718@coredump.intra.peff.net>
 source: <20240319183722.211300-1-ignacio@iencinas.com>


* cw/git-std-lib (2024-02-28) 4 commits
 . SQUASH??? get rid of apparent debugging crufts
 . test-stdlib: show that git-std-lib is independent
 . git-std-lib: introduce Git Standard Library
 . pager: include stdint.h because uintmax_t is used

 Split libgit.a out to a separate git-std-lib tor easier reuse.

 Expecting a reroll.
 source: <cover.1696021277.git.jonathantanmy@google.com>


* js/unit-test-suite-runner (2024-05-06) 9 commits
  (merged to 'next' on 2024-05-07 at 3b376223e3)
 + cmake: let `test-tool` run the unit tests, too
 + ci: use test-tool as unit test runner on Windows
 + t/Makefile: run unit tests alongside shell tests
 + unit tests: add rule for running with test-tool
 + test-tool run-command testsuite: support unit tests
 + test-tool run-command testsuite: remove hardcoded filter
 + test-tool run-command testsuite: get shell from env
 + t0080: turn t-basic unit test into a helper
 + Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.

 Will merge to 'master'.
 source: <cover.1715024899.git.steadmon@google.com>
 source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 cf. <6683f24e-7e56-489d-be2d-8afe1fc38d2b@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Expecting a reroll.
 cf. <CAC4O8c88Z3ZqxH2VVaNPpEGB3moL5dJcg3cOWuLWwQ_hLrJMtA@mail.gmail.com>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>

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

* js/cmake-with-test-tool (2024-04-30) 2 commits
 . cmake: let `test-tool` run the unit tests, too
 . Merge branch 'js/unit-test-suite-runner' into js/cmake-with-test-tool
 (this branch uses js/unit-test-suite-runner.)

 "test-tool" is now built in CMake build to also run the unit tests.

 Rolled into the base topic.
 source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>


^ permalink raw reply	[relevance 22%]

* Re: What's cooking in git.git (May 2024, #05; Sat, 11)
  @ 2024-05-13 16:34 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-05-13 16:34 UTC (permalink / raw)
  To: Patrick Steinhardt; +Cc: git

Patrick Steinhardt <ps@pks.im> writes:

>> * ps/pseudo-ref-terminology (2024-05-10) 10 commits
>>  - refs: refuse to write pseudorefs
>>  - ref-filter: properly distinuish pseudo and root refs
>>  - refs: pseudorefs are no refs
>>  - refs: classify HEAD as a root ref
>>  - refs: root refs can be symbolic refs
>>  - refs: refname `is_special_ref()` to `is_pseudo_ref()`
>>  - refs: rename `is_pseudoref()` to `is_root_ref()`
>>  - Documentation/glossary: define root refs as refs
>>  - Documentation/glossary: clarify limitations of pseudorefs
>>  - Documentation/glossary: redefine pseudorefs as special refs
>> 
>>  Terminology to call various ref-like things are getting
>>  straightened out.
>> 
>>  Comments?
>>  source: <cover.1715330206.git.ps@pks.im>
>
> There have been a bunch of comments on these topics already, and overall
> they have been positive. Is there something specific that you want to
> see here?

I did not get the feeling that we have given the series enough time
to be seen and get commented on; indeed v4 has not got enough time
to get any comments yet?

Also you haven't responded either positively or negatively to
comments on v3 07/10 by Peff?


^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (May 2024, #05; Sat, 11)
@ 2024-05-11 23:29 23% Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2024-05-11 23:29 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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-scm/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]

* ps/builtin-config-cleanup (2024-05-10) 23 commits
 - fixup! builtin/config: move location options into local variables
 - builtin/config: pass data between callbacks via local variables
 - builtin/config: convert flags to a local variable
 - builtin/config: track "fixed value" option via flags only
 - builtin/config: convert `key` to a local variable
 - builtin/config: convert `key_regexp` to a local variable
 - builtin/config: convert `regexp` to a local variable
 - builtin/config: convert `value_pattern` to a local variable
 - builtin/config: convert `do_not_match` to a local variable
 - builtin/config: move `respect_includes_opt` into location options
 - builtin/config: move default value into display options
 - builtin/config: move type options into display options
 - builtin/config: move display options into local variables
 - builtin/config: move location options into local variables
 - builtin/config: refactor functions to have common exit paths
 - config: make the config source const
 - builtin/config: check for writeability after source is set up
 - builtin/config: move actions into `cmd_config_actions()`
 - builtin/config: move legacy options into `cmd_config()`
 - builtin/config: move subcommand options into `cmd_config()`
 - builtin/config: move legacy mode into its own function
 - builtin/config: stop printing full usage on misuse
 - Merge branch 'ps/config-subcommands' into ps/builtin-config-cleanup
 (this branch uses ps/config-subcommands.)

 Code clean-up to reduce inter-function communication inside
 builtin/config.c done via the use of global variables.

 Will merge to 'next'?
 source: <cover.1715339393.git.ps@pks.im>


* jc/git-gui-maintainer-update (2024-05-11) 1 commit
  (merged to 'next' on 2024-05-11 at 78c648537b)
 + SubmittingPatches: welcome the new maintainer of git-gui part

 Will merge to 'master'.

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

* vd/doc-merge-tree-x-option (2024-05-07) 1 commit
  (merged to 'next' on 2024-05-08 at 42637b8bdf)
 + Documentation/git-merge-tree.txt: document -X

 Doc update.

 Will merge to 'master'.
 source: <pull.1728.git.1715117789985.gitgitgadget@gmail.com>


* fa/p4-error (2024-05-08) 1 commit
  (merged to 'next' on 2024-05-11 at 58fd3fbf2f)
 + git-p4: show Perforce error to the user

 P4 update.

 Will merge to 'master'.
 source: <pull.1668.v3.git.git.1715206266214.gitgitgadget@gmail.com>


* jc/doc-manpages-l10n (2024-05-09) 1 commit
 - SubmittingPatches: advertise git-manpages-l10n project a bit

 The SubmittingPatches document now refers folks to manpages
 translation project.

 Comments?
 source: <xmqqv83muc12.fsf@gitster.g>


* jk/ci-macos-gcc13-fix (2024-05-09) 3 commits
  (merged to 'next' on 2024-05-11 at 571a90f095)
 + ci: stop installing "gcc-13" for osx-gcc
 + ci: avoid bare "gcc" for osx-gcc job
 + ci: drop mention of BREW_INSTALL_PACKAGES variable

 CI fix.

 Will merge to 'master'.
 source: <20240509162219.GA1707955@coredump.intra.peff.net>


* ps/ci-fuzzers-at-gitlab-fix (2024-05-09) 3 commits
  (merged to 'next' on 2024-05-11 at f4307d4164)
 + gitlab-ci: fix installing dependencies for fuzz smoke tests
 + Merge branch 'ps/ci-python-2-deprecation' into ps/ci-fuzzers-at-gitlab-fix
 + Merge branch 'ps/ci-enable-minimal-fuzzers-at-gitlab' into ps/ci-fuzzers-at-gitlab-fix
 (this branch uses ps/ci-enable-minimal-fuzzers-at-gitlab and ps/ci-python-2-deprecation.)

 CI fix.

 Will merge to 'master'.
 source: <5a92a4aa9edd9653df71b284f07461c7906f97e2.1715241343.git.ps@pks.im>


* ps/reftable-reusable-iterator (2024-05-08) 13 commits
 - reftable/merged: adapt interface to allow reuse of iterators
 - reftable/stack: provide convenience functions to create iterators
 - reftable/reader: adapt interface to allow reuse of iterators
 - reftable/generic: adapt interface to allow reuse of iterators
 - reftable/generic: move seeking of records into the iterator
 - reftable/merged: simplify indices for subiterators
 - reftable/merged: split up initialization and seeking of records
 - reftable/reader: set up the reader when initializing table iterator
 - reftable/reader: inline `reader_seek_internal()`
 - reftable/reader: separate concerns of table iter and reftable reader
 - reftable/reader: unify indexed and linear seeking
 - reftable/reader: avoid copying index iterator
 - reftable/block: use `size_t` to track restart point index

 Code clean-up to make the reftable iterator closer to be reusable.
 source: <cover.1715166175.git.ps@pks.im>


* tb/precompose-getcwd (2024-05-09) 1 commit
  (merged to 'next' on 2024-05-11 at d1b507b01a)
 + macOS: ls-files path fails if path of workdir is NFD

 We forgot to normalize the result of getcwd() to NFC on macOS where
 all other paths are normalized, which has been corrected.

 Will merge to 'master'.
 source: <20240509161110.12121-1-tboegi@web.de>


* jk/ci-test-with-jgit-fix (2024-05-09) 1 commit
  (merged to 'next' on 2024-05-11 at 7d3d69657e)
 + ci: update coverity runs_on_pool reference

 CI fix.

 Will merge to 'master'.
 source: <20240509161506.GA1707588@coredump.intra.peff.net>


* jc/patch-flow-updates (2024-05-10) 2 commits
 - SubmittingPatches: extend the "flow" section
 - SubmittingPatches: move the patch-flow section earlier

 Doc updates.

 Comments?
 source: <20240510165526.1412338-1-gitster@pobox.com>


* it/refs-name-conflict (2024-05-06) 1 commit
 - refs: return conflict error when checking packed refs

 Comments?
 cf. <CAOLa=ZSre3f+0SR-_migfkPONqhinobKjU=NnGOJ_sTNM_L5ug@mail.gmail.com>
 source: <pull.1716.v3.git.git.1714791848557.gitgitgadget@gmail.com>


* jc/format-patch-more-aggressive-range-diff (2024-05-06) 1 commit
 - format-patch: run range-diff with larger creation-factor

 The default "creation-factor" used by "git format-patch" has been
 raised to make it more aggressively find matching commits.

 Comments?
 source: <xmqqbk5i3ncw.fsf_-_@gitster.g>


* jp/tag-trailer (2024-05-07) 3 commits
  (merged to 'next' on 2024-05-07 at 646013793d)
 + builtin/tag: add --trailer option
 + builtin/commit: refactor --trailer logic
 + builtin/commit: use ARGV macro to collect trailers

 "git tag" learned the "--trailer" option to futz with the trailers
 in the same way as "git commit" does.

 Will merge to 'master'.
 source: <pull.1723.v5.git.1714934950.gitgitgadget@gmail.com>


* ow/refspec-glossary-update (2024-05-06) 1 commit
  (merged to 'next' on 2024-05-07 at 7d55ebb0c8)
 + Documentation: Mention that refspecs are explained elsewhere

 Doc update.

 Will merge to 'master'.
 source: <20240506182317.13477-1-oystwa@gmail.com>


* ps/ci-enable-minimal-fuzzers-at-gitlab (2024-05-06) 1 commit
  (merged to 'next' on 2024-05-07 at a76024bd9f)
 + gitlab-ci: add smoke test for fuzzers
 (this branch is used by ps/ci-fuzzers-at-gitlab-fix.)

 CI update.

 Will merge to 'master'.
 source: <01fb94999f8e2014ba4d09ce7451a4f5d315ee72.1714371146.git.ps@pks.im>


* ps/ci-python-2-deprecation (2024-05-06) 1 commit
  (merged to 'next' on 2024-05-07 at 0e11e94f99)
 + ci: fix Python dependency on Ubuntu 24.04
 (this branch is used by ps/ci-fuzzers-at-gitlab-fix.)

 Unbreak CI jobs so that we do not attempt to use Python 2 that has
 been removed from the platform.

 Will merge to 'master'.
 source: <cb8cefc20f373a3516695e7cbee975132553ea95.1714973381.git.ps@pks.im>


* rs/external-diff-with-exit-code (2024-05-06) 2 commits
  (merged to 'next' on 2024-05-08 at ad5fee3cbf)
 + diff: fix --exit-code with external diff
 + diff: report unmerged paths as changes in run_diff_cmd()

 The "--exit-code" option of "git diff" command learned to work with
 the "--ext-diff" option.

 Will merge to 'master'.
 source: <82561c70-ec33-41bf-b036-52310ffc1926@web.de>


* jc/test-workaround-broken-mv (2024-05-02) 1 commit
  (merged to 'next' on 2024-05-06 at 7e009c6827)
 + t/lib-chunk: work around broken "mv" on some vintage of macOS

 Tests that try to corrupt in-repository files in chunked format did
 not work well on macOS due to its broken "mv", which has been
 worked around.

 Will merge to 'master'.
 source: <xmqqsez0c6ma.fsf@gitster.g>


* jt/port-ci-whitespace-check-to-gitlab (2024-05-03) 5 commits
  (merged to 'next' on 2024-05-08 at 774a29dde4)
 + gitlab-ci: add whitespace error check
 + ci: make the whitespace report optional
 + ci: separate whitespace check script
 + github-ci: fix link to whitespace error
 + ci: pre-collapse GitLab CI sections

 The "whitespace check" task that was enabled for GitHub Actions CI
 has been ported to GitLab CI.

 Will merge to 'master'.
 source: <20240503172110.181326-1-jltobler@gmail.com>


* jc/no-default-attr-tree-in-bare (2024-05-03) 1 commit
  (merged to 'next' on 2024-05-08 at a34819b16d)
 + stop using HEAD for attributes in bare repository by default
 (this branch is used by ps/undecided-is-not-necessarily-sha1.)

 Git 2.43 started using the tree of HEAD as the source of attributes
 in a bare repository, which has severe performance implications.
 For now, revert the change, without ripping out a more explicit
 support for the attr.tree configuration variable.

 Will merge to 'master'.
 source: <xmqqzft6aozg.fsf_-_@gitster.g>


* jl/git-no-advice (2024-05-07) 4 commits
  (merged to 'next' on 2024-05-08 at c9e7e0866e)
 + t0018: two small fixes
  (merged to 'next' on 2024-05-06 at 95cc03ef96)
 + advice: add --no-advice global option
 + doc: add spacing around paginate options
 + doc: clean up usage documentation for --no-* opts

 A new global "--no-advice" option can be used to disable all advice
 messages, which is meant to be used only in scripts.

 Will merge to 'master'.
 source: <20240503071706.78109-1-james@jamesliu.io>


* kn/ref-transaction-symref (2024-05-07) 8 commits
  (merged to 'next' on 2024-05-11 at 0a7119f2a3)
 + refs: remove `create_symref` and associated dead code
 + refs: rename `refs_create_symref()` to `refs_update_symref()`
 + refs: use transaction in `refs_create_symref()`
 + refs: add support for transactional symref updates
 + refs: move `original_update_refname` to 'refs.c'
 + refs: support symrefs in 'reference-transaction' hook
 + files-backend: extract out `create_symref_lock()`
 + refs: accept symref values in `ref_transaction_update()`

 Updates to symbolic refs can now be made as a part of ref
 transaction.

 Will merge to 'master'.
 source: <20240507125859.132116-1-knayak@gitlab.com>


* ma/win32-unix-domain-socket (2024-05-03) 1 commit
  (merged to 'next' on 2024-05-06 at 799a546c96)
 + win32: fix building with NO_UNIX_SOCKETS

 Build fix.

 Will merge to 'master'.
 source: <20240503091427.2808390-1-mh@glandium.org>


* ps/config-subcommands (2024-05-06) 14 commits
  (merged to 'next' on 2024-05-07 at f10c689a30)
 + builtin/config: display subcommand help
 + builtin/config: introduce "edit" subcommand
 + builtin/config: introduce "remove-section" subcommand
 + builtin/config: introduce "rename-section" subcommand
 + builtin/config: introduce "unset" subcommand
 + builtin/config: introduce "set" subcommand
 + builtin/config: introduce "get" subcommand
 + builtin/config: introduce "list" subcommand
 + builtin/config: pull out function to handle `--null`
 + builtin/config: pull out function to handle config location
 + builtin/config: use `OPT_CMDMODE()` to specify modes
 + builtin/config: move "fixed-value" option to correct group
 + builtin/config: move option array around
 + config: clarify memory ownership when preparing comment strings
 (this branch is used by ps/builtin-config-cleanup.)

 The operation mode options (like "--get") the "git config" command
 uses have been deprecated and replaced with subcommands (like "git
 config get").

 Will merge to 'master'.
 source: <cover.1714982328.git.ps@pks.im>


* ps/refs-without-the-repository (2024-05-07) 5 commits
  (merged to 'next' on 2024-05-08 at 2479b9de46)
 + refs: remove functions without ref store
 + cocci: apply rules to rewrite callers of "refs" interfaces
 + cocci: introduce rules to transform "refs" to pass ref store
 + refs: add `exclude_patterns` parameter to `for_each_fullref_in()`
 + refs: introduce missing functions that accept a `struct ref_store`

 The refs API lost functions that implicitly assumes to work on the
 primary ref_store by forcing the callers to pass a ref_store as an
 argument.

 Will merge to 'master'.
 source: <cover.1715065736.git.ps@pks.im>


* ps/reftable-write-options (2024-05-10) 11 commits
 - refs/reftable: allow configuring geometric factor
 - reftable: make the compaction factor configurable
 - refs/reftable: allow disabling writing the object index
 - refs/reftable: allow configuring restart interval
 - reftable: use `uint16_t` to track restart interval
 - refs/reftable: allow configuring block size
 - reftable/dump: support dumping a table's block structure
 - reftable/writer: improve error when passed an invalid block size
 - reftable/writer: drop static variable used to initialize strbuf
 - reftable: consistently pass write opts as value
 - reftable: consistently refer to `reftable_write_options` as `opts`

 The knobs to tweak how reftable files are written have been made
 available as configuration variables.

 Will merge to 'next'?
 source: <cover.1715336797.git.ps@pks.im>


* tb/attr-limits (2024-05-03) 1 commit
  (merged to 'next' on 2024-05-06 at b98150cc71)
 + attr.c: move ATTR_MAX_FILE_SIZE check into read_attr_from_buf()

 The maximum size of attribute files is enforced more consistently.

 Will merge to 'master'.
 source: <28f6267709db78ba526d7ed9fc4a734674697c70.1714763555.git.me@ttaylorr.com>


* ds/scalar-reconfigure-all-fix (2024-05-07) 1 commit
  (merged to 'next' on 2024-05-08 at eca398f4a5)
 + scalar: avoid segfault in reconfigure --all

 Scalar fix.

 Will merge to 'master'.
 source: <pull.1724.v3.git.1715126749391.gitgitgadget@gmail.com>


* ps/pseudo-ref-terminology (2024-05-10) 10 commits
 - refs: refuse to write pseudorefs
 - ref-filter: properly distinuish pseudo and root refs
 - refs: pseudorefs are no refs
 - refs: classify HEAD as a root ref
 - refs: root refs can be symbolic refs
 - refs: refname `is_special_ref()` to `is_pseudo_ref()`
 - refs: rename `is_pseudoref()` to `is_root_ref()`
 - Documentation/glossary: define root refs as refs
 - Documentation/glossary: clarify limitations of pseudorefs
 - Documentation/glossary: redefine pseudorefs as special refs

 Terminology to call various ref-like things are getting
 straightened out.

 Comments?
 source: <cover.1715330206.git.ps@pks.im>


* jc/rev-parse-fatal-doc (2024-05-01) 1 commit
 - rev-parse: document how --is-* options work outside a repository

 Doc update.

 Comments?
 source: <xmqqplu54fbg.fsf@gitster.g>


* ps/undecided-is-not-necessarily-sha1 (2024-05-06) 15 commits
  (merged to 'next' on 2024-05-08 at 9f8e894685)
 + repository: stop setting SHA1 as the default object hash
 + oss-fuzz/commit-graph: set up hash algorithm
 + builtin/shortlog: don't set up revisions without repo
 + builtin/diff: explicitly set hash algo when there is no repo
 + builtin/bundle: abort "verify" early when there is no repository
 + builtin/blame: don't access potentially unitialized `the_hash_algo`
 + builtin/rev-parse: allow shortening to more than 40 hex characters
 + remote-curl: fix parsing of detached SHA256 heads
 + attr: fix BUG() when parsing attrs outside of repo
 + attr: don't recompute default attribute source
 + parse-options-cb: only abbreviate hashes when hash algo is known
 + path: move `validate_headref()` to its only user
 + path: harden validation of HEAD with non-standard hashes
 + Merge branch 'ps/the-index-is-no-more' into ps/undecided-is-not-necessarily-sha1
 + Merge branch 'jc/no-default-attr-tree-in-bare' into ps/undecided-is-not-necessarily-sha1
 (this branch uses jc/no-default-attr-tree-in-bare.)

 Before discovering the repository details, We used to assume SHA-1
 as the "default" hash function, which has been corrected. Hopefully
 this will smoke out codepaths that rely on such an unwarranted
 assumptions.

 Will merge to 'master'.
 source: <cover.1715057362.git.ps@pks.im>


* pw/rebase-i-error-message (2024-04-08) 2 commits
 - rebase -i: improve error message when picking merge
 - rebase -i: pass struct replay_opts to parse_insn_line()

 When the user adds to "git rebase -i" instruction to "pick" a merge
 commit, the error experience is not pleasant.  Such an error is now
 caught earlier in the process that parses the todo list.

 Expecting a reroll.
 cf. <88bc0787-e7ae-49e5-99e8-97f6c55ea8c6@gmail.com>
 source: <pull.1672.v2.git.1712585787.gitgitgadget@gmail.com>


* ds/send-email-per-message-block (2024-04-10) 2 commits
 - send-email: make it easy to discern the messages for each patch
 - send-email: move newline characters out of a few translatable strings

 "git send-email" learned to separate its reports on each message it
 sends out with an extra blank line in between.

 Comments?
 source: <cover.1712732383.git.dsimic@manjaro.org>


* ew/khash-to-khashl (2024-03-28) 3 commits
 - khashl: fix ensemble lookups on empty table
 - treewide: switch to khashl for memory savings
 - list-objects-filter: use kh_size API

 The hashtable library "khash.h" has been replaced with "khashl.h"
 that has better memory usage characteristics.

 Needs review.
 cf. <xmqqy1a4ao3t.fsf@gitster.g>
 source: <20240328101356.300374-1-e@80x24.org>


* tb/pseudo-merge-reachability-bitmap (2024-04-30) 23 commits
 - t/perf: implement performace tests for pseudo-merge bitmaps
 - pseudo-merge: implement support for finding existing merges
 - ewah: `bitmap_equals_ewah()`
 - pack-bitmap: extra trace2 information
 - pack-bitmap.c: use pseudo-merges during traversal
 - t/test-lib-functions.sh: support `--date` in `test_commit_bulk()`
 - pack-bitmap: implement test helpers for pseudo-merge
 - ewah: implement `ewah_bitmap_popcount()`
 - pseudo-merge: implement support for reading pseudo-merge commits
 - pack-bitmap.c: read pseudo-merge extension
 - pseudo-merge: scaffolding for reads
 - pack-bitmap: extract `read_bitmap()` function
 - pack-bitmap-write.c: write pseudo-merge table
 - pack-bitmap-write.c: select pseudo-merge commits
 - pseudo-merge: implement support for selecting pseudo-merge commits
 - pack-bitmap: make `bitmap_writer_push_bitmapped_commit()` public
 - pack-bitmap: implement `bitmap_writer_has_bitmapped_object_id()`
 - pack-bitmap-write: support storing pseudo-merge commits
 - pseudo-merge.ch: initial commit
 - pack-bitmap: move some initialization to `bitmap_writer_init()`
 - pack-bitmap: drop unused `max_bitmaps` parameter
 - ewah: implement `ewah_bitmap_is_subset()`
 - Documentation/technical: describe pseudo-merge bitmaps format

 The pack-bitmap machinery learned to write pseudo-merge bitmaps,
 which act as imaginary octopus merges covering un-bitmapped
 reference tips. This enhances bitmap coverage, and thus,
 performance, for repositories with many references using bitmaps.

 Needs review.
 source: <cover.1714422410.git.me@ttaylorr.com>


* la/hide-trailer-info (2024-05-02) 11 commits
 - trailer unit tests: inspect iterator contents
 - trailer: document parse_trailers() usage
 - trailer: retire trailer_info_get() from API
 - trailer: make trailer_info struct private
 - trailer: make parse_trailers() return trailer_info pointer
 - interpret-trailers: access trailer_info with new helpers
 - sequencer: use the trailer iterator
 - trailer: teach iterator about non-trailer lines
 - trailer: add unit tests for trailer iterator
 - Makefile: sort UNIT_TEST_PROGRAMS
 - Merge branch 'la/format-trailer-info' into la/hide-trailer-info

 The trailer API has been reshuffled a bit.

 Waiting for a review response.
 cf. <a75133dc-a0bb-4f61-a616-988f2b4d5688@gmail.com>
 source: <pull.1696.v4.git.1714625667.gitgitgadget@gmail.com>


* ds/doc-config-reflow (2024-03-14) 1 commit
 - config.txt: perform some minor reformatting

 Reflow a paragraph in the documentation source without any effect
 to the formatted text.

 Will discard.
 source: <97bdaf075bf5a68554cca1731eca78aff2662907.1710444774.git.dsimic@manjaro.org>


* ie/config-includeif-hostname (2024-03-19) 2 commits
 - config: learn the "hostname:" includeIf condition
 - t: add a test helper for getting hostname

 The conditional inclusion mechanism for configuration files learned
 to switch on the hostname.

 Expecting a reroll.
 cf. <20240319210428.GC1159535@coredump.intra.peff.net>
 cf. <20240320001934.GA903718@coredump.intra.peff.net>
 source: <20240319183722.211300-1-ignacio@iencinas.com>


* cw/git-std-lib (2024-02-28) 4 commits
 . SQUASH??? get rid of apparent debugging crufts
 . test-stdlib: show that git-std-lib is independent
 . git-std-lib: introduce Git Standard Library
 . pager: include stdint.h because uintmax_t is used

 Split libgit.a out to a separate git-std-lib tor easier reuse.

 Expecting a reroll.
 source: <cover.1696021277.git.jonathantanmy@google.com>


* js/unit-test-suite-runner (2024-05-06) 9 commits
  (merged to 'next' on 2024-05-07 at 3b376223e3)
 + cmake: let `test-tool` run the unit tests, too
 + ci: use test-tool as unit test runner on Windows
 + t/Makefile: run unit tests alongside shell tests
 + unit tests: add rule for running with test-tool
 + test-tool run-command testsuite: support unit tests
 + test-tool run-command testsuite: remove hardcoded filter
 + test-tool run-command testsuite: get shell from env
 + t0080: turn t-basic unit test into a helper
 + Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.

 Will merge to 'master'.
 source: <cover.1715024899.git.steadmon@google.com>
 source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 cf. <6683f24e-7e56-489d-be2d-8afe1fc38d2b@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Expecting a reroll.
 cf. <CAC4O8c88Z3ZqxH2VVaNPpEGB3moL5dJcg3cOWuLWwQ_hLrJMtA@mail.gmail.com>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>

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

* js/cmake-with-test-tool (2024-04-30) 2 commits
 . cmake: let `test-tool` run the unit tests, too
 . Merge branch 'js/unit-test-suite-runner' into js/cmake-with-test-tool
 (this branch uses js/unit-test-suite-runner.)

 "test-tool" is now built in CMake build to also run the unit tests.

 Rolled into the base topic.
 source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>


^ permalink raw reply	[relevance 23%]

* Re: What's cooking in git.git (May 2024, #04; Thu, 9)
  @ 2024-05-10 15:35 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-05-10 15:35 UTC (permalink / raw)
  To: Patrick Steinhardt; +Cc: git

Patrick Steinhardt <ps@pks.im> writes:

> Just in case you missed it, there was a review by Justin already [1].

"I read it and have no comments" is somewhere between "an invitation
to miss" and "it does not highlight anything, either positive or
negative.  Was the topic that uninteresting and uninspiring without
anything noteworthy?".

There were mentions of a new document for reviewers, similar to
SubmittingPatches is for contributors, and it would make a good
section to document recommended ways for reviewers to demonstrate
that they understand (1) the area, (2) the goal of the patches, and
(3) the implementation presented, better.


^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (May 2024, #04; Thu, 9)
  2024-05-09 22:37 21% What's cooking in git.git (May 2024, #04; Thu, 9) Junio C Hamano
@ 2024-05-10  1:04 96% ` Junio C Hamano
    1 sibling, 0 replies; 200+ results
From: Junio C Hamano @ 2024-05-10  1:04 UTC (permalink / raw)
  To: git; +Cc: Calvin Wan, Jonathan Tan, Torsten Bögershausen

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

> * cw/git-std-lib (2024-02-28) 4 commits
>  - SQUASH??? get rid of apparent debugging crufts
>  - test-stdlib: show that git-std-lib is independent
>  - git-std-lib: introduce Git Standard Library
>  - pager: include stdint.h because uintmax_t is used
>
>  Split libgit.a out to a separate git-std-lib tor easier reuse.
>
>  Expecting a reroll.
>  source: <cover.1696021277.git.jonathantanmy@google.com>

Just a heads-up.  The topic is pushed out of 'seen', as it seems to
be hated by osx-* jobs when linking programs.  As the topic has been
expecting a reroll for some time, it is not ultra urgent to fix
this, but before resurrecting it, we may want to look into it.

https://github.com/git/git/actions/runs/9023837489

is an example run where we see error messages like:

ld: warning: ignoring duplicate libraries: 'git-std-lib.a', 'libgit.a', 'reftable/libreftable.a', 'xdiff/lib.a'

and

ld: Undefined symbols:
    _git_config_get_bool, referenced from:
        _precompose_string_if_needed in git-std-lib.a[11](precompose_utf8.o)

in both clang and gcc jobs.

We did not see these breakages before, and we do not see these
breakages in today's 'seen' with this topic excluded.  I haven't
tried to include this but excluding tb/precompose-getcwd topic
instead, which I suspect might also work.

Thanks.


^ permalink raw reply	[relevance 96%]

* What's cooking in git.git (May 2024, #04; Thu, 9)
@ 2024-05-09 22:37 21% Junio C Hamano
  2024-05-10  1:04 96% ` Junio C Hamano
    0 siblings, 2 replies; 200+ results
From: Junio C Hamano @ 2024-05-09 22:37 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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-scm/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']

* bb/rgb-12-bit-colors (2024-05-02) 3 commits
  (merged to 'next' on 2024-05-02 at 7fe29c98d7)
 + color: add support for 12-bit RGB colors
 + t/t4026-color: add test coverage for invalid RGB colors
 + t/t4026-color: remove an extra double quote character

 The color parsing code learned to handle 12-bit RGB colors, spelled
 as "#RGB" (in addition to "#RRGGBB" that is already supported).
 source: <20240502110331.6347-1-dev+git@drbeat.li>


* bc/credential-scheme-enhancement (2024-04-16) 16 commits
  (merged to 'next' on 2024-05-01 at 789ec5bd35)
 + credential: add method for querying capabilities
 + credential-cache: implement authtype capability
 + t: add credential tests for authtype
 + credential: add support for multistage credential rounds
 + t5563: refactor for multi-stage authentication
 + docs: set a limit on credential line length
 + credential: enable state capability
 + credential: add an argument to keep state
 + http: add support for authtype and credential
 + docs: indicate new credential protocol fields
 + credential: add a field called "ephemeral"
 + credential: gate new fields on capability
 + credential: add a field for pre-encoded credentials
 + http: use new headers for each object request
 + remote-curl: reset headers on new request
 + credential: add an authtype field

 The credential helper protocol, together with the HTTP layer, have
 been enhanced to support authentication schemes different from
 username & password pair, like Bearer and NTLM.
 source: <20240417000240.3611948-1-sandals@crustytoothpaste.net>


* bc/zsh-compatibility (2024-04-26) 2 commits
  (merged to 'next' on 2024-05-02 at 10222b2472)
 + vimdiff: make script and tests work with zsh
 + t4046: avoid continue in &&-chain for zsh

 zsh can pretend to be a normal shell pretty well except for some
 glitches that we tickle in some of our scripts. Work them around
 so that "vimdiff" and our test suite works well enough with it.
 source: <20240426221154.2194139-1-sandals@crustytoothpaste.net>


* dk/zsh-git-repo-path-fix (2024-04-30) 1 commit
  (merged to 'next' on 2024-05-02 at 0446d8e63a)
 + completion: zsh: stop leaking local cache variable

 Command line completion support for zsh (in contrib/) has been
 updated to stop exposing internal state to end-user shell
 interaction.
 source: <pull.1725.git.1714513995564.gitgitgadget@gmail.com>


* jt/doc-submitting-rerolled-series (2024-04-25) 1 commit
  (merged to 'next' on 2024-05-01 at 1c5865f11c)
 + doc: clarify practices for submitting updated patch versions

 Developer doc update.
 source: <20240425213404.133660-1-jltobler@gmail.com>


* ps/ci-test-with-jgit (2024-04-12) 13 commits
  (merged to 'next' on 2024-05-01 at 35e293e618)
 + t0612: add tests to exercise Git/JGit reftable compatibility
 + t0610: fix non-portable variable assignment
 + t06xx: always execute backend-specific tests
 + ci: install JGit dependency
 + ci: make Perforce binaries executable for all users
 + ci: merge scripts which install dependencies
 + ci: fix setup of custom path for GitLab CI
 + ci: merge custom PATH directories
 + ci: convert "install-dependencies.sh" to use "/bin/sh"
 + ci: drop duplicate package installation for "linux-gcc-default"
 + ci: skip sudo when we are already root
 + ci: expose distro name in dockerized GitHub jobs
 + ci: rename "runs_on_pool" to "distro"

 Tests to ensure interoperability between reftable written by jgit
 and our code have been added and enabled in CI.
 source: <cover.1712896868.git.ps@pks.im>


* ps/reftable-write-optim (2024-04-08) 11 commits
  (merged to 'next' on 2024-04-30 at 0667e3c05b)
 + reftable/block: reuse compressed array
 + reftable/block: reuse zstream when writing log blocks
 + reftable/writer: reset `last_key` instead of releasing it
 + reftable/writer: unify releasing memory
 + reftable/writer: refactorings for `writer_flush_nonempty_block()`
 + reftable/writer: refactorings for `writer_add_record()`
 + refs/reftable: don't recompute committer ident
 + reftable: remove name checks
 + refs/reftable: skip duplicate name checks
 + refs/reftable: perform explicit D/F check when writing symrefs
 + refs/reftable: fix D/F conflict error message on ref copy

 Code to write out reftable has seen some optimization and
 simplification.
 source: <cover.1712578837.git.ps@pks.im>


* ps/the-index-is-no-more (2024-04-18) 6 commits
  (merged to 'next' on 2024-05-01 at 7b9a0ab760)
 + repository: drop `initialize_the_repository()`
 + repository: drop `the_index` variable
 + builtin/clone: stop using `the_index`
 + repository: initialize index in `repo_init()`
 + builtin: stop using `the_index`
 + t/helper: stop using `the_index`
 (this branch is used by ps/undecided-is-not-necessarily-sha1.)

 The singleton index_state instance "the_index" has been eliminated
 by always instantiating "the_repository" and replacing references
 to "the_index"  with references to its .index member.
 source: <cover.1713442061.git.ps@pks.im>


* rh/complete-symbolic-ref (2024-04-25) 3 commits
  (merged to 'next' on 2024-05-01 at 7020ecebe7)
 + completion: add docs on how to add subcommand completions
 + completion: improve docs for using __git_complete
 + completion: add 'symbolic-ref'

 Command line completion script (in contrib/) learned to complete
 "git symbolic-ref" a bit better (you need to enable plumbing
 commands to be completed with GIT_COMPLETION_SHOW_ALL_COMMANDS).
 source: <20240425101845.708554-3-rhi@pengutronix.de>


* rj/add-p-typo-reaction (2024-04-30) 2 commits
  (merged to 'next' on 2024-05-01 at 3016062ebf)
 + add-patch: response to unknown command
 + add-patch: do not show UI messages on stderr

 When the user responds to a prompt given by "git add -p" with an
 unsupported command, list of available commands were given, which
 was too much if the user knew what they wanted to type but merely
 made a typo.  Now the user gets a much shorter error message.
 source: <952a9514-3cf1-4601-8f0d-db57adc750c3@gmail.com>


* rs/diff-parseopts-cleanup (2024-05-01) 1 commit
  (merged to 'next' on 2024-05-02 at cd9779c175)
 + diff-lib: stop calling diff_setup_done() in do_diff_cache()

 Code clean-up to remove code that is now a noop.
 source: <0e96c5a3-7b4d-4c6b-875e-d80e3eb07a00@web.de>

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

* vd/doc-merge-tree-x-option (2024-05-07) 1 commit
  (merged to 'next' on 2024-05-08 at 42637b8bdf)
 + Documentation/git-merge-tree.txt: document -X

 Doc update.

 Will merge to 'master'.
 source: <pull.1728.git.1715117789985.gitgitgadget@gmail.com>


* fa/p4-error (2024-05-08) 1 commit
 - git-p4: show Perforce error to the user

 P4 update.

 Will merge to 'next'.
 source: <pull.1668.v3.git.git.1715206266214.gitgitgadget@gmail.com>


* jc/doc-manpages-l10n (2024-05-09) 1 commit
 - SubmittingPatches: advertise git-manpages-l10n project a bit

 The SubmittingPatches document now refers folks to manpages
 translation project.

 Comments?
 source: <xmqqv83muc12.fsf@gitster.g>


* jk/ci-macos-gcc13-fix (2024-05-09) 3 commits
 - ci: stop installing "gcc-13" for osx-gcc
 - ci: avoid bare "gcc" for osx-gcc job
 - ci: drop mention of BREW_INSTALL_PACKAGES variable

 CI fix.

 Will merge to 'next'.
 source: <20240509162219.GA1707955@coredump.intra.peff.net>


* ps/ci-fuzzers-at-gitlab-fix (2024-05-09) 3 commits
 - gitlab-ci: fix installing dependencies for fuzz smoke tests
 - Merge branch 'ps/ci-python-2-deprecation' into ps/ci-fuzzers-at-gitlab-fix
 - Merge branch 'ps/ci-enable-minimal-fuzzers-at-gitlab' into ps/ci-fuzzers-at-gitlab-fix
 (this branch uses ps/ci-enable-minimal-fuzzers-at-gitlab and ps/ci-python-2-deprecation.)

 CI fix.

 Will merge to 'next'.
 source: <5a92a4aa9edd9653df71b284f07461c7906f97e2.1715241343.git.ps@pks.im>


* ps/reftable-reusable-iterator (2024-05-08) 13 commits
 - reftable/merged: adapt interface to allow reuse of iterators
 - reftable/stack: provide convenience functions to create iterators
 - reftable/reader: adapt interface to allow reuse of iterators
 - reftable/generic: adapt interface to allow reuse of iterators
 - reftable/generic: move seeking of records into the iterator
 - reftable/merged: simplify indices for subiterators
 - reftable/merged: split up initialization and seeking of records
 - reftable/reader: set up the reader when initializing table iterator
 - reftable/reader: inline `reader_seek_internal()`
 - reftable/reader: separate concerns of table iter and reftable reader
 - reftable/reader: unify indexed and linear seeking
 - reftable/reader: avoid copying index iterator
 - reftable/block: use `size_t` to track restart point index

 source: <cover.1715166175.git.ps@pks.im>


* tb/precompose-getcwd (2024-05-09) 1 commit
 - macOS: ls-files path fails if path of workdir is NFD

 We forgot to normalize the result of getcwd() to NFC on macOS where
 all other paths are normalized, which has been corrected.

 Will merge to 'next'.
 source: <20240509161110.12121-1-tboegi@web.de>


* jk/ci-test-with-jgit-fix (2024-05-09) 1 commit
 - ci: update coverity runs_on_pool reference

 CI fix.

 Will merge to 'next'.
 source: <20240509161506.GA1707588@coredump.intra.peff.net>


* jc/patch-flow-updates (2024-05-09) 2 commits
 - SubmittingPatches: extend the "flow" section
 - SubmittingPatches: move the patch-flow section earlier

 Doc updates.

 Comments?
 source: <20240509211318.641896-1-gitster@pobox.com>

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

* it/refs-name-conflict (2024-05-06) 1 commit
 - refs: return conflict error when checking packed refs

 Comments?
 cf. <CAOLa=ZSre3f+0SR-_migfkPONqhinobKjU=NnGOJ_sTNM_L5ug@mail.gmail.com>
 source: <pull.1716.v3.git.git.1714791848557.gitgitgadget@gmail.com>


* jc/format-patch-more-aggressive-range-diff (2024-05-06) 1 commit
 - format-patch: run range-diff with larger creation-factor

 The default "creation-factor" used by "git format-patch" has been
 raised to make it more aggressively find matching commits.

 Comments?
 source: <xmqqbk5i3ncw.fsf_-_@gitster.g>


* jp/tag-trailer (2024-05-07) 3 commits
  (merged to 'next' on 2024-05-07 at 646013793d)
 + builtin/tag: add --trailer option
 + builtin/commit: refactor --trailer logic
 + builtin/commit: use ARGV macro to collect trailers

 "git tag" learned the "--trailer" option to futz with the trailers
 in the same way as "git commit" does.

 Will merge to 'master'.
 source: <pull.1723.v5.git.1714934950.gitgitgadget@gmail.com>


* ow/refspec-glossary-update (2024-05-06) 1 commit
  (merged to 'next' on 2024-05-07 at 7d55ebb0c8)
 + Documentation: Mention that refspecs are explained elsewhere

 Doc update.

 Will merge to 'master'.
 source: <20240506182317.13477-1-oystwa@gmail.com>


* ps/ci-enable-minimal-fuzzers-at-gitlab (2024-05-06) 1 commit
  (merged to 'next' on 2024-05-07 at a76024bd9f)
 + gitlab-ci: add smoke test for fuzzers
 (this branch is used by ps/ci-fuzzers-at-gitlab-fix.)

 CI update.

 Will merge to 'master'.
 source: <01fb94999f8e2014ba4d09ce7451a4f5d315ee72.1714371146.git.ps@pks.im>


* ps/ci-python-2-deprecation (2024-05-06) 1 commit
  (merged to 'next' on 2024-05-07 at 0e11e94f99)
 + ci: fix Python dependency on Ubuntu 24.04
 (this branch is used by ps/ci-fuzzers-at-gitlab-fix.)

 Unbreak CI jobs so that we do not attempt to use Python 2 that has
 been removed from the platform.

 Will merge to 'master'.
 source: <cb8cefc20f373a3516695e7cbee975132553ea95.1714973381.git.ps@pks.im>


* rs/external-diff-with-exit-code (2024-05-06) 2 commits
  (merged to 'next' on 2024-05-08 at ad5fee3cbf)
 + diff: fix --exit-code with external diff
 + diff: report unmerged paths as changes in run_diff_cmd()

 The "--exit-code" option of "git diff" command learned to work with
 the "--ext-diff" option.

 Will merge to 'master'.
 source: <82561c70-ec33-41bf-b036-52310ffc1926@web.de>


* jc/test-workaround-broken-mv (2024-05-02) 1 commit
  (merged to 'next' on 2024-05-06 at 7e009c6827)
 + t/lib-chunk: work around broken "mv" on some vintage of macOS

 Tests that try to corrupt in-repository files in chunked format did
 not work well on macOS due to its broken "mv", which has been
 worked around.

 Will merge to 'master'.
 source: <xmqqsez0c6ma.fsf@gitster.g>


* jt/port-ci-whitespace-check-to-gitlab (2024-05-03) 5 commits
  (merged to 'next' on 2024-05-08 at 774a29dde4)
 + gitlab-ci: add whitespace error check
 + ci: make the whitespace report optional
 + ci: separate whitespace check script
 + github-ci: fix link to whitespace error
 + ci: pre-collapse GitLab CI sections

 The "whitespace check" task that was enabled for GitHub Actions CI
 has been ported to GitLab CI.

 Will merge to 'master'.
 source: <20240503172110.181326-1-jltobler@gmail.com>


* jc/no-default-attr-tree-in-bare (2024-05-03) 1 commit
  (merged to 'next' on 2024-05-08 at a34819b16d)
 + stop using HEAD for attributes in bare repository by default
 (this branch is used by ps/undecided-is-not-necessarily-sha1.)

 Git 2.43 started using the tree of HEAD as the source of attributes
 in a bare repository, which has severe performance implications.
 For now, revert the change, without ripping out a more explicit
 support for the attr.tree configuration variable.

 Will merge to 'master'.
 source: <xmqqzft6aozg.fsf_-_@gitster.g>


* jl/git-no-advice (2024-05-07) 4 commits
  (merged to 'next' on 2024-05-08 at c9e7e0866e)
 + t0018: two small fixes
  (merged to 'next' on 2024-05-06 at 95cc03ef96)
 + advice: add --no-advice global option
 + doc: add spacing around paginate options
 + doc: clean up usage documentation for --no-* opts

 A new global "--no-advice" option can be used to disable all advice
 messages, which is meant to be used only in scripts.

 Will merge to 'master'.
 source: <20240503071706.78109-1-james@jamesliu.io>


* kn/ref-transaction-symref (2024-05-07) 8 commits
 - refs: remove `create_symref` and associated dead code
 - refs: rename `refs_create_symref()` to `refs_update_symref()`
 - refs: use transaction in `refs_create_symref()`
 - refs: add support for transactional symref updates
 - refs: move `original_update_refname` to 'refs.c'
 - refs: support symrefs in 'reference-transaction' hook
 - files-backend: extract out `create_symref_lock()`
 - refs: accept symref values in `ref_transaction_update()`

 Updates to symbolic refs can now be made as a part of ref
 transaction.

 Will merge to 'next'.
 source: <20240507125859.132116-1-knayak@gitlab.com>


* ma/win32-unix-domain-socket (2024-05-03) 1 commit
  (merged to 'next' on 2024-05-06 at 799a546c96)
 + win32: fix building with NO_UNIX_SOCKETS

 Build fix.

 Will merge to 'master'.
 source: <20240503091427.2808390-1-mh@glandium.org>


* ps/config-subcommands (2024-05-06) 14 commits
  (merged to 'next' on 2024-05-07 at f10c689a30)
 + builtin/config: display subcommand help
 + builtin/config: introduce "edit" subcommand
 + builtin/config: introduce "remove-section" subcommand
 + builtin/config: introduce "rename-section" subcommand
 + builtin/config: introduce "unset" subcommand
 + builtin/config: introduce "set" subcommand
 + builtin/config: introduce "get" subcommand
 + builtin/config: introduce "list" subcommand
 + builtin/config: pull out function to handle `--null`
 + builtin/config: pull out function to handle config location
 + builtin/config: use `OPT_CMDMODE()` to specify modes
 + builtin/config: move "fixed-value" option to correct group
 + builtin/config: move option array around
 + config: clarify memory ownership when preparing comment strings

 The operation mode options (like "--get") the "git config" command
 uses have been deprecated and replaced with subcommands (like "git
 config get").

 Will merge to 'master'.
 source: <cover.1714982328.git.ps@pks.im>


* ps/refs-without-the-repository (2024-05-07) 5 commits
  (merged to 'next' on 2024-05-08 at 2479b9de46)
 + refs: remove functions without ref store
 + cocci: apply rules to rewrite callers of "refs" interfaces
 + cocci: introduce rules to transform "refs" to pass ref store
 + refs: add `exclude_patterns` parameter to `for_each_fullref_in()`
 + refs: introduce missing functions that accept a `struct ref_store`

 The refs API lost functions that implicitly assumes to work on the
 primary ref_store by forcing the callers to pass a ref_store as an
 argument.

 Will merge to 'master'.
 source: <cover.1715065736.git.ps@pks.im>


* ps/reftable-write-options (2024-05-03) 11 commits
 - refs/reftable: allow configuring geometric factor
 - reftable: make the compaction factor configurable
 - refs/reftable: allow disabling writing the object index
 - refs/reftable: allow configuring restart interval
 - reftable: use `uint16_t` to track restart interval
 - refs/reftable: allow configuring block size
 - reftable/dump: support dumping a table's block structure
 - reftable/writer: improve error when passed an invalid block size
 - reftable/writer: drop static variable used to initialize strbuf
 - reftable: consistently pass write opts as value
 - reftable: consistently refer to `reftable_write_options` as `opts`

 The knobs to tweak how reftable files are written have been made
 available as configuration variables.

 Needs review.
 source: <cover.1714630191.git.ps@pks.im>


* tb/attr-limits (2024-05-03) 1 commit
  (merged to 'next' on 2024-05-06 at b98150cc71)
 + attr.c: move ATTR_MAX_FILE_SIZE check into read_attr_from_buf()

 The maximum size of attribute files is enforced more consistently.

 Will merge to 'master'.
 source: <28f6267709db78ba526d7ed9fc4a734674697c70.1714763555.git.me@ttaylorr.com>


* ds/scalar-reconfigure-all-fix (2024-05-07) 1 commit
  (merged to 'next' on 2024-05-08 at eca398f4a5)
 + scalar: avoid segfault in reconfigure --all

 Scalar fix.

 Will merge to 'master'.
 source: <pull.1724.v3.git.1715126749391.gitgitgadget@gmail.com>


* ps/pseudo-ref-terminology (2024-05-02) 10 commits
 - refs: refuse to write pseudorefs
 - ref-filter: properly distinuish pseudo and root refs
 - refs: pseudorefs are no refs
 - refs: root refs can be symbolic refs
 - refs: classify HEAD as a root ref
 - refs: refname `is_special_ref()` to `is_pseudo_ref()`
 - refs: rename `is_pseudoref()` to `is_root_ref()`
 - Documentation/glossary: define root refs as refs
 - Documentation/glossary: clarify limitations of pseudorefs
 - Documentation/glossary: redefine pseudorefs as special refs

 Terminology to call various ref-like things are getting
 straightened out.

 Comments?
 source: <cover.1714637671.git.ps@pks.im>


* jc/rev-parse-fatal-doc (2024-05-01) 1 commit
 - rev-parse: document how --is-* options work outside a repository

 Doc update.

 Comments?
 source: <xmqqplu54fbg.fsf@gitster.g>


* ps/undecided-is-not-necessarily-sha1 (2024-05-06) 15 commits
  (merged to 'next' on 2024-05-08 at 9f8e894685)
 + repository: stop setting SHA1 as the default object hash
 + oss-fuzz/commit-graph: set up hash algorithm
 + builtin/shortlog: don't set up revisions without repo
 + builtin/diff: explicitly set hash algo when there is no repo
 + builtin/bundle: abort "verify" early when there is no repository
 + builtin/blame: don't access potentially unitialized `the_hash_algo`
 + builtin/rev-parse: allow shortening to more than 40 hex characters
 + remote-curl: fix parsing of detached SHA256 heads
 + attr: fix BUG() when parsing attrs outside of repo
 + attr: don't recompute default attribute source
 + parse-options-cb: only abbreviate hashes when hash algo is known
 + path: move `validate_headref()` to its only user
 + path: harden validation of HEAD with non-standard hashes
 + Merge branch 'ps/the-index-is-no-more' into ps/undecided-is-not-necessarily-sha1
 + Merge branch 'jc/no-default-attr-tree-in-bare' into ps/undecided-is-not-necessarily-sha1
 (this branch uses jc/no-default-attr-tree-in-bare.)

 Before discovering the repository details, We used to assume SHA-1
 as the "default" hash function, which has been corrected. Hopefully
 this will smoke out codepaths that rely on such an unwarranted
 assumptions.

 Will merge to 'master'.
 source: <cover.1715057362.git.ps@pks.im>


* pw/rebase-i-error-message (2024-04-08) 2 commits
 - rebase -i: improve error message when picking merge
 - rebase -i: pass struct replay_opts to parse_insn_line()

 When the user adds to "git rebase -i" instruction to "pick" a merge
 commit, the error experience is not pleasant.  Such an error is now
 caught earlier in the process that parses the todo list.

 Expecting a reroll.
 cf. <88bc0787-e7ae-49e5-99e8-97f6c55ea8c6@gmail.com>
 source: <pull.1672.v2.git.1712585787.gitgitgadget@gmail.com>


* ds/send-email-per-message-block (2024-04-10) 2 commits
 - send-email: make it easy to discern the messages for each patch
 - send-email: move newline characters out of a few translatable strings

 "git send-email" learned to separate its reports on each message it
 sends out with an extra blank line in between.

 Comments?
 source: <cover.1712732383.git.dsimic@manjaro.org>


* ew/khash-to-khashl (2024-03-28) 3 commits
 - khashl: fix ensemble lookups on empty table
 - treewide: switch to khashl for memory savings
 - list-objects-filter: use kh_size API

 The hashtable library "khash.h" has been replaced with "khashl.h"
 that has better memory usage characteristics.

 Needs review.
 cf. <xmqqy1a4ao3t.fsf@gitster.g>
 source: <20240328101356.300374-1-e@80x24.org>


* tb/pseudo-merge-reachability-bitmap (2024-04-30) 23 commits
 - t/perf: implement performace tests for pseudo-merge bitmaps
 - pseudo-merge: implement support for finding existing merges
 - ewah: `bitmap_equals_ewah()`
 - pack-bitmap: extra trace2 information
 - pack-bitmap.c: use pseudo-merges during traversal
 - t/test-lib-functions.sh: support `--date` in `test_commit_bulk()`
 - pack-bitmap: implement test helpers for pseudo-merge
 - ewah: implement `ewah_bitmap_popcount()`
 - pseudo-merge: implement support for reading pseudo-merge commits
 - pack-bitmap.c: read pseudo-merge extension
 - pseudo-merge: scaffolding for reads
 - pack-bitmap: extract `read_bitmap()` function
 - pack-bitmap-write.c: write pseudo-merge table
 - pack-bitmap-write.c: select pseudo-merge commits
 - pseudo-merge: implement support for selecting pseudo-merge commits
 - pack-bitmap: make `bitmap_writer_push_bitmapped_commit()` public
 - pack-bitmap: implement `bitmap_writer_has_bitmapped_object_id()`
 - pack-bitmap-write: support storing pseudo-merge commits
 - pseudo-merge.ch: initial commit
 - pack-bitmap: move some initialization to `bitmap_writer_init()`
 - pack-bitmap: drop unused `max_bitmaps` parameter
 - ewah: implement `ewah_bitmap_is_subset()`
 - Documentation/technical: describe pseudo-merge bitmaps format

 The pack-bitmap machinery learned to write pseudo-merge bitmaps,
 which act as imaginary octopus merges covering un-bitmapped
 reference tips. This enhances bitmap coverage, and thus,
 performance, for repositories with many references using bitmaps.

 Needs review.
 source: <cover.1714422410.git.me@ttaylorr.com>


* la/hide-trailer-info (2024-05-02) 11 commits
 - trailer unit tests: inspect iterator contents
 - trailer: document parse_trailers() usage
 - trailer: retire trailer_info_get() from API
 - trailer: make trailer_info struct private
 - trailer: make parse_trailers() return trailer_info pointer
 - interpret-trailers: access trailer_info with new helpers
 - sequencer: use the trailer iterator
 - trailer: teach iterator about non-trailer lines
 - trailer: add unit tests for trailer iterator
 - Makefile: sort UNIT_TEST_PROGRAMS
 - Merge branch 'la/format-trailer-info' into la/hide-trailer-info

 The trailer API has been reshuffled a bit.

 Waiting for a review response.
 cf. <a75133dc-a0bb-4f61-a616-988f2b4d5688@gmail.com>
 source: <pull.1696.v4.git.1714625667.gitgitgadget@gmail.com>


* ds/doc-config-reflow (2024-03-14) 1 commit
 - config.txt: perform some minor reformatting

 Reflow a paragraph in the documentation source without any effect
 to the formatted text.

 Will discard.
 source: <97bdaf075bf5a68554cca1731eca78aff2662907.1710444774.git.dsimic@manjaro.org>


* ie/config-includeif-hostname (2024-03-19) 2 commits
 - config: learn the "hostname:" includeIf condition
 - t: add a test helper for getting hostname

 The conditional inclusion mechanism for configuration files learned
 to switch on the hostname.

 Expecting a reroll.
 cf. <20240319210428.GC1159535@coredump.intra.peff.net>
 cf. <20240320001934.GA903718@coredump.intra.peff.net>
 source: <20240319183722.211300-1-ignacio@iencinas.com>


* cw/git-std-lib (2024-02-28) 4 commits
 - SQUASH??? get rid of apparent debugging crufts
 - test-stdlib: show that git-std-lib is independent
 - git-std-lib: introduce Git Standard Library
 - pager: include stdint.h because uintmax_t is used

 Split libgit.a out to a separate git-std-lib tor easier reuse.

 Expecting a reroll.
 source: <cover.1696021277.git.jonathantanmy@google.com>


* js/unit-test-suite-runner (2024-05-06) 9 commits
  (merged to 'next' on 2024-05-07 at 3b376223e3)
 + cmake: let `test-tool` run the unit tests, too
 + ci: use test-tool as unit test runner on Windows
 + t/Makefile: run unit tests alongside shell tests
 + unit tests: add rule for running with test-tool
 + test-tool run-command testsuite: support unit tests
 + test-tool run-command testsuite: remove hardcoded filter
 + test-tool run-command testsuite: get shell from env
 + t0080: turn t-basic unit test into a helper
 + Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.

 Will merge to 'master'.
 source: <cover.1715024899.git.steadmon@google.com>
 source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 cf. <6683f24e-7e56-489d-be2d-8afe1fc38d2b@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Expecting a reroll.
 cf. <CAC4O8c88Z3ZqxH2VVaNPpEGB3moL5dJcg3cOWuLWwQ_hLrJMtA@mail.gmail.com>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>

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

* js/cmake-with-test-tool (2024-04-30) 2 commits
 . cmake: let `test-tool` run the unit tests, too
 . Merge branch 'js/unit-test-suite-runner' into js/cmake-with-test-tool
 (this branch uses js/unit-test-suite-runner.)

 "test-tool" is now built in CMake build to also run the unit tests.

 Rolled into the base topic.
 source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>


^ permalink raw reply	[relevance 21%]

* Re: What's cooking in git.git (May 2024, #02; Fri, 3)
  2024-05-06 22:17 99%   ` Junio C Hamano
@ 2024-05-07  6:05 97%     ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-05-07  6:05 UTC (permalink / raw)
  To: Patrick Steinhardt; +Cc: git

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

>>> * ps/undecided-is-not-necessarily-sha1 (2024-04-30) 13 commits
>>> ...
>> Interesting, I couldn't reproduce this issue when rebasing the patches
>> onto "seen". There were merge conflicts though, both with
>> jc/no-default-attr-tree-in-bare and ps/the-index-is-no-more. So maybe
>> there was a mismerge involved somewhere?
>
> That is very possible.

Yeah, I think I botched the merge.  Somehow my resolution had an
unneeded "|| !is_null_oid()" in the result, but the right resolution
of course should look like below.

Thanks.

diff --git c/attr.c w/attr.c
index 3afd477380..f3dd2de12d 100644
--- c/attr.c
+++ w/attr.c
@@ -1214,53 +1214,31 @@ void set_git_attr_source(const char *tree_object_name)
 static int compute_default_attr_source(struct object_id *attr_source)
 {
 	int ignore_bad_attr_tree = 0;
 
 	if (!default_attr_source_tree_object_name)
 		default_attr_source_tree_object_name = getenv(GIT_ATTR_SOURCE_ENVIRONMENT);
 
 	if (!default_attr_source_tree_object_name && git_attr_tree) {
 		default_attr_source_tree_object_name = git_attr_tree;
 		ignore_bad_attr_tree = 1;
 	}
 
-<<<<<<< HEAD
-	if (!default_attr_source_tree_object_name || !is_null_oid(attr_source))
-		return;
-||||||| 00e10ef10e
-	if (!default_attr_source_tree_object_name &&
-	    startup_info->have_repository &&
-	    is_bare_repository()) {
-		default_attr_source_tree_object_name = "HEAD";
-		ignore_bad_attr_tree = 1;
-	}
-
-	if (!default_attr_source_tree_object_name || !is_null_oid(attr_source))
-		return;
-=======
-	if (!default_attr_source_tree_object_name &&
-	    startup_info->have_repository &&
-	    is_bare_repository()) {
-		default_attr_source_tree_object_name = "HEAD";
-		ignore_bad_attr_tree = 1;
-	}
-
 	if (!default_attr_source_tree_object_name)
 		return 0;
 
 	if (!startup_info->have_repository) {
 		if (!ignore_bad_attr_tree)
 			die(_("cannot use --attr-source or GIT_ATTR_SOURCE without repo"));
 		return 0;
 	}
->>>>>>> ps/undecided-is-not-necessarily-sha1@{1}
 
 	if (repo_get_oid_treeish(the_repository,
 				 default_attr_source_tree_object_name,
 				 attr_source)) {
 		if (!ignore_bad_attr_tree)
 			die(_("bad --attr-source or GIT_ATTR_SOURCE"));
 		return 0;
 	}
 
 	return 1;
 }


^ permalink raw reply related	[relevance 97%]

* What's cooking in git.git (May 2024, #03; Mon, 6)
@ 2024-05-06 23:52 23% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-05-06 23:52 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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-scm/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]

* it/refs-name-conflict (2024-05-06) 1 commit
 - refs: return conflict error when checking packed refs

 Comments?
 cf. <CAOLa=ZSre3f+0SR-_migfkPONqhinobKjU=NnGOJ_sTNM_L5ug@mail.gmail.com>
 source: <pull.1716.v3.git.git.1714791848557.gitgitgadget@gmail.com>


* jc/format-patch-more-aggressive-range-diff (2024-05-06) 1 commit
 - format-patch: run range-diff with larger creation-factor

 The default "creation-factor" used by "git format-patch" has been
 raised to make it more aggressively find matching commits.

 Comments?
 source: <xmqqbk5i3ncw.fsf_-_@gitster.g>


* jp/tag-trailer (2024-05-06) 3 commits
 - builtin/tag: add --trailer option
 - builtin/commit: refactor --trailer logic
 - builtin/commit: use ARGV macro to collect trailers

 "git tag" learned the "--trailer" option to futz with the trailers
 in the same way as "git commit" does.

 Will merge to 'next'.
 source: <pull.1723.v5.git.1714934950.gitgitgadget@gmail.com>


* ow/refspec-glossary-update (2024-05-06) 1 commit
 - Documentation: Mention that refspecs are explained elsewhere

 Doc update.

 Will merge to 'next'.
 source: <20240506182317.13477-1-oystwa@gmail.com>


* ps/ci-enable-minimal-fuzzers-at-gitlab (2024-05-06) 1 commit
 - gitlab-ci: add smoke test for fuzzers

 CI update.

 Will merge to 'next'.
 source: <01fb94999f8e2014ba4d09ce7451a4f5d315ee72.1714371146.git.ps@pks.im>


* ps/ci-python-2-deprecation (2024-05-06) 1 commit
 - ci: fix Python dependency on Ubuntu 24.04

 Unbreak CI jobs so that we do not attempt to use Python 2 that has
 been removed from the platform.

 Will merge to 'next'.
 source: <cb8cefc20f373a3516695e7cbee975132553ea95.1714973381.git.ps@pks.im>


* rs/external-diff-with-exit-code (2024-05-06) 2 commits
 - diff: fix --exit-code with external diff
 - diff: report unmerged paths as changes in run_diff_cmd()

 The "--exit-code" option of "git diff" command learned to work with
 the "--ext-diff" option.

 Will merge to 'next'?
 source: <82561c70-ec33-41bf-b036-52310ffc1926@web.de>

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

* jc/test-workaround-broken-mv (2024-05-02) 1 commit
  (merged to 'next' on 2024-05-06 at 7e009c6827)
 + t/lib-chunk: work around broken "mv" on some vintage of macOS

 Tests that try to corrupt in-repository files in chunked format did
 not work well on macOS due to its broken "mv", which has been
 worked around.

 Will merge to 'master'.
 source: <xmqqsez0c6ma.fsf@gitster.g>


* jt/port-ci-whitespace-check-to-gitlab (2024-05-03) 5 commits
 - gitlab-ci: add whitespace error check
 - ci: make the whitespace report optional
 - ci: separate whitespace check script
 - github-ci: fix link to whitespace error
 - ci: pre-collapse GitLab CI sections

 The "whitespace check" task that was enabled for GitHub Actions CI
 has been ported to GitLab CI.

 Will merge to 'next'?
 source: <20240503172110.181326-1-jltobler@gmail.com>


* jc/no-default-attr-tree-in-bare (2024-05-03) 1 commit
 - stop using HEAD for attributes in bare repository by default

 Git 2.43 started using the tree of HEAD as the source of attributes
 in a bare repository, which has severe performance implications.
 For now, revert the change, without ripping out a more explicit
 support for the attr.tree configuration variable.

 Will merge to 'next'?
 source: <xmqqzft6aozg.fsf_-_@gitster.g>


* jl/git-no-advice (2024-05-03) 3 commits
  (merged to 'next' on 2024-05-06 at 95cc03ef96)
 + advice: add --no-advice global option
 + doc: add spacing around paginate options
 + doc: clean up usage documentation for --no-* opts

 A new global "--no-advice" option can be used to disable all advice
 messages, which is meant to be used only in scripts.

 Will merge to 'master'.
 source: <20240503071706.78109-1-james@jamesliu.io>


* kn/ref-transaction-symref (2024-05-03) 7 commits
 - refs: remove `create_symref` and associated dead code
 - refs: rename `refs_create_symref()` to `refs_update_symref()`
 - refs: use transaction in `refs_create_symref()`
 - refs: add support for transactional symref updates
 - refs: support symrefs in 'reference-transaction' hook
 - files-backend: extract out `create_symref_lock()`
 - refs: accept symref values in `ref_transaction_update()`

 Updates to symbolic refs can now be made as a part of ref
 transaction.

 Will merge to 'next'?
 source: <20240503124115.252413-1-knayak@gitlab.com>


* ma/win32-unix-domain-socket (2024-05-03) 1 commit
  (merged to 'next' on 2024-05-06 at 799a546c96)
 + win32: fix building with NO_UNIX_SOCKETS

 Build fix.

 Will merge to 'master'.
 source: <20240503091427.2808390-1-mh@glandium.org>


* ps/config-subcommands (2024-05-06) 14 commits
 - builtin/config: display subcommand help
 - builtin/config: introduce "edit" subcommand
 - builtin/config: introduce "remove-section" subcommand
 - builtin/config: introduce "rename-section" subcommand
 - builtin/config: introduce "unset" subcommand
 - builtin/config: introduce "set" subcommand
 - builtin/config: introduce "get" subcommand
 - builtin/config: introduce "list" subcommand
 - builtin/config: pull out function to handle `--null`
 - builtin/config: pull out function to handle config location
 - builtin/config: use `OPT_CMDMODE()` to specify modes
 - builtin/config: move "fixed-value" option to correct group
 - builtin/config: move option array around
 - config: clarify memory ownership when preparing comment strings

 The operation mode options (like "--get") the "git config" command
 uses have been deprecated and replaced with subcommands (like "git
 config get").

 Will merge to 'next'.
 source: <cover.1714982328.git.ps@pks.im>


* ps/refs-without-the-repository (2024-05-03) 5 commits
 - refs: remove functions without ref store
 - cocci: apply rules to rewrite callers of "refs" interfaces
 - cocci: introduce rules to transform "refs" to pass ref store
 - refs: add `exclude_patterns` parameter to `for_each_fullref_in()`
 - refs: introduce missing functions that accept a `struct ref_store`

 The refs API lost functions that implicitly assumes to work on the
 primary ref_store by forcing the callers to pass a ref_store as an
 argument.

 Will merge to 'next'?
 source: <cover.1714717057.git.ps@pks.im>


* ps/reftable-write-options (2024-05-03) 11 commits
 - refs/reftable: allow configuring geometric factor
 - reftable: make the compaction factor configurable
 - refs/reftable: allow disabling writing the object index
 - refs/reftable: allow configuring restart interval
 - reftable: use `uint16_t` to track restart interval
 - refs/reftable: allow configuring block size
 - reftable/dump: support dumping a table's block structure
 - reftable/writer: improve error when passed an invalid block size
 - reftable/writer: drop static variable used to initialize strbuf
 - reftable: consistently pass write opts as value
 - reftable: consistently refer to `reftable_write_options` as `opts`

 The knobs to tweak how reftable files are written have been made
 available as configuration variables.

 Needs review.
 source: <cover.1714630191.git.ps@pks.im>


* tb/attr-limits (2024-05-03) 1 commit
  (merged to 'next' on 2024-05-06 at b98150cc71)
 + attr.c: move ATTR_MAX_FILE_SIZE check into read_attr_from_buf()

 The maximum size of attribute files is enforced more consistently.

 Will merge to 'master'.
 source: <28f6267709db78ba526d7ed9fc4a734674697c70.1714763555.git.me@ttaylorr.com>


* bb/rgb-12-bit-colors (2024-05-02) 3 commits
  (merged to 'next' on 2024-05-02 at 7fe29c98d7)
 + color: add support for 12-bit RGB colors
 + t/t4026-color: add test coverage for invalid RGB colors
 + t/t4026-color: remove an extra double quote character

 The color parsing code learned to handle 12-bit RGB colors, spelled
 as "#RGB" (in addition to "#RRGGBB" that is already supported).

 Will merge to 'master'.
 source: <20240502110331.6347-1-dev+git@drbeat.li>


* ds/scalar-reconfigure-all-fix (2024-05-06) 1 commit
 - scalar: avoid segfault in reconfigure --all

 Scalar fix.

 Expecting a final (and hopefully small) reroll.
 cf. <Zjhufiq2DmBlVpIx@tanuki>
 source: <pull.1724.v2.git.1714874298859.gitgitgadget@gmail.com>


* ps/pseudo-ref-terminology (2024-05-02) 10 commits
 - refs: refuse to write pseudorefs
 - ref-filter: properly distinuish pseudo and root refs
 - refs: pseudorefs are no refs
 - refs: root refs can be symbolic refs
 - refs: classify HEAD as a root ref
 - refs: refname `is_special_ref()` to `is_pseudo_ref()`
 - refs: rename `is_pseudoref()` to `is_root_ref()`
 - Documentation/glossary: define root refs as refs
 - Documentation/glossary: clarify limitations of pseudorefs
 - Documentation/glossary: redefine pseudorefs as special refs

 Terminology to call various ref-like things are getting
 straightened out.

 Comments?
 source: <cover.1714637671.git.ps@pks.im>


* dk/zsh-git-repo-path-fix (2024-04-30) 1 commit
  (merged to 'next' on 2024-05-02 at 0446d8e63a)
 + completion: zsh: stop leaking local cache variable

 Command line completion support for zsh (in contrib/) has been
 updated to stop exposing internal state to end-user shell
 interaction.

 Will merge to 'master'.
 source: <pull.1725.git.1714513995564.gitgitgadget@gmail.com>


* rs/diff-parseopts-cleanup (2024-05-01) 1 commit
  (merged to 'next' on 2024-05-02 at cd9779c175)
 + diff-lib: stop calling diff_setup_done() in do_diff_cache()

 Code clean-up to remove code that is now a noop.

 Will merge to 'master'.
 source: <0e96c5a3-7b4d-4c6b-875e-d80e3eb07a00@web.de>


* rh/complete-symbolic-ref (2024-04-25) 3 commits
  (merged to 'next' on 2024-05-01 at 7020ecebe7)
 + completion: add docs on how to add subcommand completions
 + completion: improve docs for using __git_complete
 + completion: add 'symbolic-ref'

 Command line completion script (in contrib/) learned to complete
 "git symbolic-ref" a bit better (you need to enable plumbing
 commands to be completed with GIT_COMPLETION_SHOW_ALL_COMMANDS).

 Will merge to 'master'.
 source: <20240425101845.708554-3-rhi@pengutronix.de>


* jt/doc-submitting-rerolled-series (2024-04-25) 1 commit
  (merged to 'next' on 2024-05-01 at 1c5865f11c)
 + doc: clarify practices for submitting updated patch versions

 Developer doc update.

 Will merge to 'master'.
 source: <20240425213404.133660-1-jltobler@gmail.com>


* bc/zsh-compatibility (2024-04-26) 2 commits
  (merged to 'next' on 2024-05-02 at 10222b2472)
 + vimdiff: make script and tests work with zsh
 + t4046: avoid continue in &&-chain for zsh

 zsh can pretend to be a normal shell pretty well except for some
 glitches that we tickle in some of our scripts. Work them around
 so that "vimdiff" and our test suite works well enough with it.

 Will merge to 'master'.
 source: <20240426221154.2194139-1-sandals@crustytoothpaste.net>


* jc/rev-parse-fatal-doc (2024-05-01) 1 commit
 - rev-parse: document how --is-* options work outside a repository

 Doc update.

 Comments?
 source: <xmqqplu54fbg.fsf@gitster.g>


* ps/undecided-is-not-necessarily-sha1 (2024-04-30) 13 commits
 . repository: stop setting SHA1 as the default object hash
 . oss-fuzz/commit-graph: set up hash algorithm
 . builtin/shortlog: don't set up revisions without repo
 . builtin/diff: explicitly set hash algo when there is no repo
 . builtin/bundle: abort "verify" early when there is no repository
 . builtin/blame: don't access potentially unitialized `the_hash_algo`
 . builtin/rev-parse: allow shortening to more than 40 hex characters
 . remote-curl: fix parsing of detached SHA256 heads
 . attr: fix BUG() when parsing attrs outside of repo
 . attr: don't recompute default attribute source
 . parse-options-cb: only abbreviate hashes when hash algo is known
 . path: move `validate_headref()` to its only user
 . path: harden validation of HEAD with non-standard hashes

 Before discovering the repository details, We used to assume SHA-1
 as the "default" hash function, which has been corrected. Hopefully
 this will smoke out codepaths that rely on such an unwarranted
 assumptions.

 Seems to break t0003 with a NULL the_repository.

 Ejected out of 'seen' for now.
 source: <cover.1714371422.git.ps@pks.im>


* rj/add-p-typo-reaction (2024-04-30) 2 commits
  (merged to 'next' on 2024-05-01 at 3016062ebf)
 + add-patch: response to unknown command
 + add-patch: do not show UI messages on stderr

 When the user responds to a prompt given by "git add -p" with an
 unsupported command, list of available commands were given, which
 was too much if the user knew what they wanted to type but merely
 made a typo.  Now the user gets a much shorter error message.

 Will merge to 'master'.
 source: <952a9514-3cf1-4601-8f0d-db57adc750c3@gmail.com>


* ps/the-index-is-no-more (2024-04-18) 6 commits
  (merged to 'next' on 2024-05-01 at 7b9a0ab760)
 + repository: drop `initialize_the_repository()`
 + repository: drop `the_index` variable
 + builtin/clone: stop using `the_index`
 + repository: initialize index in `repo_init()`
 + builtin: stop using `the_index`
 + t/helper: stop using `the_index`

 The singleton index_state instance "the_index" has been eliminated
 by always instantiating "the_repository" and replacing references
 to "the_index"  with references to its .index member.

 Will merge to 'master'.
 source: <cover.1713442061.git.ps@pks.im>


* ps/ci-test-with-jgit (2024-04-12) 13 commits
  (merged to 'next' on 2024-05-01 at 35e293e618)
 + t0612: add tests to exercise Git/JGit reftable compatibility
 + t0610: fix non-portable variable assignment
 + t06xx: always execute backend-specific tests
 + ci: install JGit dependency
 + ci: make Perforce binaries executable for all users
 + ci: merge scripts which install dependencies
 + ci: fix setup of custom path for GitLab CI
 + ci: merge custom PATH directories
 + ci: convert "install-dependencies.sh" to use "/bin/sh"
 + ci: drop duplicate package installation for "linux-gcc-default"
 + ci: skip sudo when we are already root
 + ci: expose distro name in dockerized GitHub jobs
 + ci: rename "runs_on_pool" to "distro"

 Tests to ensure interoperability between reftable written by jgit
 and our code have been added and enabled in CI.

 Will merge to 'master'.
 source: <cover.1712896868.git.ps@pks.im>


* pw/rebase-i-error-message (2024-04-08) 2 commits
 - rebase -i: improve error message when picking merge
 - rebase -i: pass struct replay_opts to parse_insn_line()

 When the user adds to "git rebase -i" instruction to "pick" a merge
 commit, the error experience is not pleasant.  Such an error is now
 caught earlier in the process that parses the todo list.

 Expecting a reroll.
 cf. <88bc0787-e7ae-49e5-99e8-97f6c55ea8c6@gmail.com>
 source: <pull.1672.v2.git.1712585787.gitgitgadget@gmail.com>


* ps/reftable-write-optim (2024-04-08) 11 commits
  (merged to 'next' on 2024-04-30 at 0667e3c05b)
 + reftable/block: reuse compressed array
 + reftable/block: reuse zstream when writing log blocks
 + reftable/writer: reset `last_key` instead of releasing it
 + reftable/writer: unify releasing memory
 + reftable/writer: refactorings for `writer_flush_nonempty_block()`
 + reftable/writer: refactorings for `writer_add_record()`
 + refs/reftable: don't recompute committer ident
 + reftable: remove name checks
 + refs/reftable: skip duplicate name checks
 + refs/reftable: perform explicit D/F check when writing symrefs
 + refs/reftable: fix D/F conflict error message on ref copy

 Code to write out reftable has seen some optimization and
 simplification.

 Will merge to 'master'.
 source: <cover.1712578837.git.ps@pks.im>


* ds/send-email-per-message-block (2024-04-10) 2 commits
 - send-email: make it easy to discern the messages for each patch
 - send-email: move newline characters out of a few translatable strings

 "git send-email" learned to separate its reports on each message it
 sends out with an extra blank line in between.

 Comments?
 source: <cover.1712732383.git.dsimic@manjaro.org>


* ew/khash-to-khashl (2024-03-28) 3 commits
 - khashl: fix ensemble lookups on empty table
 - treewide: switch to khashl for memory savings
 - list-objects-filter: use kh_size API

 The hashtable library "khash.h" has been replaced with "khashl.h"
 that has better memory usage characteristics.

 Needs review.
 cf. <xmqqy1a4ao3t.fsf@gitster.g>
 source: <20240328101356.300374-1-e@80x24.org>


* bc/credential-scheme-enhancement (2024-04-16) 16 commits
  (merged to 'next' on 2024-05-01 at 789ec5bd35)
 + credential: add method for querying capabilities
 + credential-cache: implement authtype capability
 + t: add credential tests for authtype
 + credential: add support for multistage credential rounds
 + t5563: refactor for multi-stage authentication
 + docs: set a limit on credential line length
 + credential: enable state capability
 + credential: add an argument to keep state
 + http: add support for authtype and credential
 + docs: indicate new credential protocol fields
 + credential: add a field called "ephemeral"
 + credential: gate new fields on capability
 + credential: add a field for pre-encoded credentials
 + http: use new headers for each object request
 + remote-curl: reset headers on new request
 + credential: add an authtype field

 The credential helper protocol, together with the HTTP layer, have
 been enhanced to support authentication schemes different from
 username & password pair, like Bearer and NTLM.

 Will merge to 'master'.
 source: <20240417000240.3611948-1-sandals@crustytoothpaste.net>


* tb/pseudo-merge-reachability-bitmap (2024-04-30) 23 commits
 - t/perf: implement performace tests for pseudo-merge bitmaps
 - pseudo-merge: implement support for finding existing merges
 - ewah: `bitmap_equals_ewah()`
 - pack-bitmap: extra trace2 information
 - pack-bitmap.c: use pseudo-merges during traversal
 - t/test-lib-functions.sh: support `--date` in `test_commit_bulk()`
 - pack-bitmap: implement test helpers for pseudo-merge
 - ewah: implement `ewah_bitmap_popcount()`
 - pseudo-merge: implement support for reading pseudo-merge commits
 - pack-bitmap.c: read pseudo-merge extension
 - pseudo-merge: scaffolding for reads
 - pack-bitmap: extract `read_bitmap()` function
 - pack-bitmap-write.c: write pseudo-merge table
 - pack-bitmap-write.c: select pseudo-merge commits
 - pseudo-merge: implement support for selecting pseudo-merge commits
 - pack-bitmap: make `bitmap_writer_push_bitmapped_commit()` public
 - pack-bitmap: implement `bitmap_writer_has_bitmapped_object_id()`
 - pack-bitmap-write: support storing pseudo-merge commits
 - pseudo-merge.ch: initial commit
 - pack-bitmap: move some initialization to `bitmap_writer_init()`
 - pack-bitmap: drop unused `max_bitmaps` parameter
 - ewah: implement `ewah_bitmap_is_subset()`
 - Documentation/technical: describe pseudo-merge bitmaps format

 The pack-bitmap machinery learned to write pseudo-merge bitmaps,
 which act as imaginary octopus merges covering un-bitmapped
 reference tips. This enhances bitmap coverage, and thus,
 performance, for repositories with many references using bitmaps.

 Needs review.
 source: <cover.1714422410.git.me@ttaylorr.com>


* la/hide-trailer-info (2024-05-02) 11 commits
 - trailer unit tests: inspect iterator contents
 - trailer: document parse_trailers() usage
 - trailer: retire trailer_info_get() from API
 - trailer: make trailer_info struct private
 - trailer: make parse_trailers() return trailer_info pointer
 - interpret-trailers: access trailer_info with new helpers
 - sequencer: use the trailer iterator
 - trailer: teach iterator about non-trailer lines
 - trailer: add unit tests for trailer iterator
 - Makefile: sort UNIT_TEST_PROGRAMS
 - Merge branch 'la/format-trailer-info' into la/hide-trailer-info

 The trailer API has been reshuffled a bit.

 Will merge to 'next'?
 source: <pull.1696.v4.git.1714625667.gitgitgadget@gmail.com>


* ds/doc-config-reflow (2024-03-14) 1 commit
 - config.txt: perform some minor reformatting

 Reflow a paragraph in the documentation source without any effect
 to the formatted text.

 Will discard.
 source: <97bdaf075bf5a68554cca1731eca78aff2662907.1710444774.git.dsimic@manjaro.org>


* ie/config-includeif-hostname (2024-03-19) 2 commits
 - config: learn the "hostname:" includeIf condition
 - t: add a test helper for getting hostname

 The conditional inclusion mechanism for configuration files learned
 to switch on the hostname.

 Expecting a reroll.
 cf. <20240319210428.GC1159535@coredump.intra.peff.net>
 cf. <20240320001934.GA903718@coredump.intra.peff.net>
 source: <20240319183722.211300-1-ignacio@iencinas.com>


* cw/git-std-lib (2024-02-28) 4 commits
 - SQUASH??? get rid of apparent debugging crufts
 - test-stdlib: show that git-std-lib is independent
 - git-std-lib: introduce Git Standard Library
 - pager: include stdint.h because uintmax_t is used

 Split libgit.a out to a separate git-std-lib tor easier reuse.

 Expecting a reroll.
 source: <cover.1696021277.git.jonathantanmy@google.com>


* js/unit-test-suite-runner (2024-05-06) 9 commits
 - cmake: let `test-tool` run the unit tests, too
 - ci: use test-tool as unit test runner on Windows
 - t/Makefile: run unit tests alongside shell tests
 - unit tests: add rule for running with test-tool
 - test-tool run-command testsuite: support unit tests
 - test-tool run-command testsuite: remove hardcoded filter
 - test-tool run-command testsuite: get shell from env
 - t0080: turn t-basic unit test into a helper
 - Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.

 Will merge to 'next'.
 source: <cover.1715024899.git.steadmon@google.com>
 source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 cf. <6683f24e-7e56-489d-be2d-8afe1fc38d2b@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Expecting a reroll.
 cf. <CAC4O8c88Z3ZqxH2VVaNPpEGB3moL5dJcg3cOWuLWwQ_hLrJMtA@mail.gmail.com>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>

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

* js/cmake-with-test-tool (2024-04-30) 2 commits
 . cmake: let `test-tool` run the unit tests, too
 . Merge branch 'js/unit-test-suite-runner' into js/cmake-with-test-tool
 (this branch uses js/unit-test-suite-runner.)

 "test-tool" is now built in CMake build to also run the unit tests.

 Rolled into the base topic.
 source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>


^ permalink raw reply	[relevance 23%]

* Re: What's cooking in git.git (May 2024, #02; Fri, 3)
  @ 2024-05-06 22:17 99%   ` Junio C Hamano
  2024-05-07  6:05 97%     ` Junio C Hamano
  0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2024-05-06 22:17 UTC (permalink / raw)
  To: Patrick Steinhardt; +Cc: git

Patrick Steinhardt <ps@pks.im> writes:

> I have just sent out a new version [1] that fixes a few commit messages.
> Other than that I think this version should be ready to go.
>
> [1]: https://lore.kernel.org/git/cover.1714982328.git.ps@pks.im/T/#u

Thanks.

>> * ps/undecided-is-not-necessarily-sha1 (2024-04-30) 13 commits
>>  . repository: stop setting SHA1 as the default object hash
>>  . oss-fuzz/commit-graph: set up hash algorithm
>>  . builtin/shortlog: don't set up revisions without repo
>>  . builtin/diff: explicitly set hash algo when there is no repo
>>  . builtin/bundle: abort "verify" early when there is no repository
>>  . builtin/blame: don't access potentially unitialized `the_hash_algo`
>>  . builtin/rev-parse: allow shortening to more than 40 hex characters
>>  . remote-curl: fix parsing of detached SHA256 heads
>>  . attr: fix BUG() when parsing attrs outside of repo
>>  . attr: don't recompute default attribute source
>>  . parse-options-cb: only abbreviate hashes when hash algo is known
>>  . path: move `validate_headref()` to its only user
>>  . path: harden validation of HEAD with non-standard hashes
>> 
>>  Before discovering the repository details, We used to assume SHA-1
>>  as the "default" hash function, which has been corrected. Hopefully
>>  this will smoke out codepaths that rely on such an unwarranted
>>  assumptions.
>> 
>>  Seems to break t0003 with a NULL the_repository.
>> 
>>  Ejected out of 'seen' for now.
>>  source: <cover.1714371422.git.ps@pks.im>
>
> Interesting, I couldn't reproduce this issue when rebasing the patches
> onto "seen". There were merge conflicts though, both with
> jc/no-default-attr-tree-in-bare and ps/the-index-is-no-more. So maybe
> there was a mismerge involved somewhere?

That is very possible.


^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (May 2024, #02; Fri, 3)
@ 2024-05-04  0:27 24% Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2024-05-04  0:27 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

Quite a few new topics have been added to 'seen', simply because I
saw them, which does not necessarily mean I agree with them or even
read them carefully ;-)

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-scm/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]

* jc/test-workaround-broken-mv (2024-05-02) 1 commit
 - t/lib-chunk: work around broken "mv" on some vintage of macOS

 Tests that try to corrupt in-repository files in chunked format did
 not work well on macOS due to its broken "mv", which has been
 worked around.

 Will merge to 'next'.
 source: <xmqqsez0c6ma.fsf@gitster.g>


* jt/port-ci-whitespace-check-to-gitlab (2024-05-03) 5 commits
 - gitlab-ci: add whitespace error check
 - ci: make the whitespace report optional
 - ci: separate whitespace check script
 - github-ci: fix link to whitespace error
 - ci: pre-collapse GitLab CI sections

 The "whitespace check" task that was enabled for GitHub Actions CI
 has been ported to GitLab CI.

 Will merge to 'next'?
 source: <20240503172110.181326-1-jltobler@gmail.com>


* jc/no-default-attr-tree-in-bare (2024-05-03) 1 commit
 - stop using HEAD for attributes in bare repository by default

 Git 2.43 started using the tree of HEAD as the source of attributes
 in a bare repository, which has severe performance implications.
 For now, revert the change, without ripping out a more explicit
 support for the attr.tree configuration variable.

 Will merge to 'next'?
 source: <xmqqzft6aozg.fsf_-_@gitster.g>


* jl/git-no-advice (2024-05-03) 3 commits
 - advice: add --no-advice global option
 - doc: add spacing around paginate options
 - doc: clean up usage documentation for --no-* opts

 A new global "--no-advice" option can be used to disable all advice
 messages, which is meant to be used only in scripts.

 Will merge to 'next'.
 source: <20240503071706.78109-1-james@jamesliu.io>


* kn/ref-transaction-symref (2024-05-03) 7 commits
 - refs: remove `create_symref` and associated dead code
 - refs: rename `refs_create_symref()` to `refs_update_symref()`
 - refs: use transaction in `refs_create_symref()`
 - refs: add support for transactional symref updates
 - refs: support symrefs in 'reference-transaction' hook
 - files-backend: extract out `create_symref_lock()`
 - refs: accept symref values in `ref_transaction_update()`

 Updates to symbolic refs can now be made as a part of ref
 transaction.

 Will merge to 'next'?
 source: <20240503124115.252413-1-knayak@gitlab.com>


* ma/win32-unix-domain-socket (2024-05-03) 1 commit
 - win32: fix building with NO_UNIX_SOCKETS

 Build fix.

 Will merge to 'next'.
 source: <20240503091427.2808390-1-mh@glandium.org>


* ps/config-subcommands (2024-05-03) 14 commits
 - builtin/config: display subcommand help
 - builtin/config: introduce "edit" subcommand
 - builtin/config: introduce "remove-section" subcommand
 - builtin/config: introduce "rename-section" subcommand
 - builtin/config: introduce "unset" subcommand
 - builtin/config: introduce "set" subcommand
 - builtin/config: introduce "get" subcommand
 - builtin/config: introduce "list" subcommand
 - builtin/config: pull out function to handle `--null`
 - builtin/config: pull out function to handle config location
 - builtin/config: use `OPT_CMDMODE()` to specify modes
 - builtin/config: move "fixed-value" option to correct group
 - builtin/config: move option array around
 - config: clarify memory ownership when preparing comment strings

 The operation mode options (like "--get") the "git config" command
 uses have been deprecated and replaced with subcommands (like "git
 config get").

 Will merge to 'next'?
 source: <cover.1714730169.git.ps@pks.im>


* ps/refs-without-the-repository (2024-05-03) 5 commits
 - refs: remove functions without ref store
 - cocci: apply rules to rewrite callers of "refs" interfaces
 - cocci: introduce rules to transform "refs" to pass ref store
 - refs: add `exclude_patterns` parameter to `for_each_fullref_in()`
 - refs: introduce missing functions that accept a `struct ref_store`

 The refs API lost functions that implicitly assumes to work on the
 primary ref_store by forcing the callers to pass a ref_store as an
 argument.

 Will merge to 'next'?
 source: <cover.1714717057.git.ps@pks.im>


* ps/reftable-write-options (2024-05-03) 11 commits
 - refs/reftable: allow configuring geometric factor
 - reftable: make the compaction factor configurable
 - refs/reftable: allow disabling writing the object index
 - refs/reftable: allow configuring restart interval
 - reftable: use `uint16_t` to track restart interval
 - refs/reftable: allow configuring block size
 - reftable/dump: support dumping a table's block structure
 - reftable/writer: improve error when passed an invalid block size
 - reftable/writer: drop static variable used to initialize strbuf
 - reftable: consistently pass write opts as value
 - reftable: consistently refer to `reftable_write_options` as `opts`

 The knobs to tweak how reftable files are written have been made
 available as configuration variables.

 Needs review.
 source: <cover.1714630191.git.ps@pks.im>


* tb/attr-limits (2024-05-03) 1 commit
 - attr.c: move ATTR_MAX_FILE_SIZE check into read_attr_from_buf()

 The maximum size of attribute files is enforced more consistently.

 Will merge to 'next'.
 source: <28f6267709db78ba526d7ed9fc4a734674697c70.1714763555.git.me@ttaylorr.com>

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

* kn/update-ref-symrefs (2024-04-26) 7 commits
 - ref: support symrefs in 'reference-transaction' hook
 - update-ref: add support for 'symref-update' command
 - update-ref: add support for 'symref-create' command
 - update-ref: add support for 'symref-delete' command
 - update-ref: add support for 'symref-verify' command
 - files-backend: extract out `create_symref_lock`
 - refs: accept symref values in `ref_transaction[_add]_update`

 "update-ref" learns to also handle symbolic refs.

 Expecting a reroll.
 cf. <CAOLa=ZT4yVEuZXmiTVB2tf0qaTPCPn=0TcJRc89knZQWZBbFTg@mail.gmail.com>
 source: <20240426152449.228860-1-knayak@gitlab.com>

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

* bb/rgb-12-bit-colors (2024-05-02) 3 commits
  (merged to 'next' on 2024-05-02 at 7fe29c98d7)
 + color: add support for 12-bit RGB colors
 + t/t4026-color: add test coverage for invalid RGB colors
 + t/t4026-color: remove an extra double quote character

 The color parsing code learned to handle 12-bit RGB colors, spelled
 as "#RGB" (in addition to "#RRGGBB" that is already supported).

 Will merge to 'master'.
 source: <20240502110331.6347-1-dev+git@drbeat.li>


* ds/scalar-reconfigure-all-fix (2024-04-30) 1 commit
 - scalar: avoid segfault in reconfigure --all

 Scalar fix.

 Comments?
 source: <pull.1724.git.1714496333004.gitgitgadget@gmail.com>


* ps/pseudo-ref-terminology (2024-05-02) 10 commits
 - refs: refuse to write pseudorefs
 - ref-filter: properly distinuish pseudo and root refs
 - refs: pseudorefs are no refs
 - refs: root refs can be symbolic refs
 - refs: classify HEAD as a root ref
 - refs: refname `is_special_ref()` to `is_pseudo_ref()`
 - refs: rename `is_pseudoref()` to `is_root_ref()`
 - Documentation/glossary: define root refs as refs
 - Documentation/glossary: clarify limitations of pseudorefs
 - Documentation/glossary: redefine pseudorefs as special refs

 Terminology to call various ref-like things are getting
 straightened out.

 Comments?
 source: <cover.1714637671.git.ps@pks.im>


* dk/zsh-git-repo-path-fix (2024-04-30) 1 commit
  (merged to 'next' on 2024-05-02 at 0446d8e63a)
 + completion: zsh: stop leaking local cache variable

 Command line completion support for zsh (in contrib/) has been
 updated to stop exposing internal state to end-user shell
 interaction.

 Will merge to 'master'.
 source: <pull.1725.git.1714513995564.gitgitgadget@gmail.com>


* rs/diff-parseopts-cleanup (2024-05-01) 1 commit
  (merged to 'next' on 2024-05-02 at cd9779c175)
 + diff-lib: stop calling diff_setup_done() in do_diff_cache()

 Code clean-up to remove code that is now a noop.

 Will merge to 'master'.
 source: <0e96c5a3-7b4d-4c6b-875e-d80e3eb07a00@web.de>


* rh/complete-symbolic-ref (2024-04-25) 3 commits
  (merged to 'next' on 2024-05-01 at 7020ecebe7)
 + completion: add docs on how to add subcommand completions
 + completion: improve docs for using __git_complete
 + completion: add 'symbolic-ref'

 Command line completion script (in contrib/) learned to complete
 "git symbolic-ref" a bit better (you need to enable plumbing
 commands to be completed with GIT_COMPLETION_SHOW_ALL_COMMANDS).

 Will merge to 'master'.
 source: <20240425101845.708554-3-rhi@pengutronix.de>


* jt/doc-submitting-rerolled-series (2024-04-25) 1 commit
  (merged to 'next' on 2024-05-01 at 1c5865f11c)
 + doc: clarify practices for submitting updated patch versions

 Developer doc update.

 Will merge to 'master'.
 source: <20240425213404.133660-1-jltobler@gmail.com>


* bc/zsh-compatibility (2024-04-26) 2 commits
  (merged to 'next' on 2024-05-02 at 10222b2472)
 + vimdiff: make script and tests work with zsh
 + t4046: avoid continue in &&-chain for zsh

 zsh can pretend to be a normal shell pretty well except for some
 glitches that we tickle in some of our scripts. Work them around
 so that "vimdiff" and our test suite works well enough with it.

 Will merge to 'master'.
 source: <20240426221154.2194139-1-sandals@crustytoothpaste.net>


* jc/rev-parse-fatal-doc (2024-05-01) 1 commit
 - rev-parse: document how --is-* options work outside a repository

 Doc update.

 Comments?
 source: <xmqqplu54fbg.fsf@gitster.g>


* ps/undecided-is-not-necessarily-sha1 (2024-04-30) 13 commits
 . repository: stop setting SHA1 as the default object hash
 . oss-fuzz/commit-graph: set up hash algorithm
 . builtin/shortlog: don't set up revisions without repo
 . builtin/diff: explicitly set hash algo when there is no repo
 . builtin/bundle: abort "verify" early when there is no repository
 . builtin/blame: don't access potentially unitialized `the_hash_algo`
 . builtin/rev-parse: allow shortening to more than 40 hex characters
 . remote-curl: fix parsing of detached SHA256 heads
 . attr: fix BUG() when parsing attrs outside of repo
 . attr: don't recompute default attribute source
 . parse-options-cb: only abbreviate hashes when hash algo is known
 . path: move `validate_headref()` to its only user
 . path: harden validation of HEAD with non-standard hashes

 Before discovering the repository details, We used to assume SHA-1
 as the "default" hash function, which has been corrected. Hopefully
 this will smoke out codepaths that rely on such an unwarranted
 assumptions.

 Seems to break t0003 with a NULL the_repository.

 Ejected out of 'seen' for now.
 source: <cover.1714371422.git.ps@pks.im>


* rj/add-p-typo-reaction (2024-04-30) 2 commits
  (merged to 'next' on 2024-05-01 at 3016062ebf)
 + add-patch: response to unknown command
 + add-patch: do not show UI messages on stderr

 When the user responds to a prompt given by "git add -p" with an
 unsupported command, list of available commands were given, which
 was too much if the user knew what they wanted to type but merely
 made a typo.  Now the user gets a much shorter error message.

 Will merge to 'master'.
 source: <952a9514-3cf1-4601-8f0d-db57adc750c3@gmail.com>


* ps/the-index-is-no-more (2024-04-18) 6 commits
  (merged to 'next' on 2024-05-01 at 7b9a0ab760)
 + repository: drop `initialize_the_repository()`
 + repository: drop `the_index` variable
 + builtin/clone: stop using `the_index`
 + repository: initialize index in `repo_init()`
 + builtin: stop using `the_index`
 + t/helper: stop using `the_index`

 The singleton index_state instance "the_index" has been eliminated
 by always instantiating "the_repository" and replacing references
 to "the_index"  with references to its .index member.

 Will merge to 'master'.
 source: <cover.1713442061.git.ps@pks.im>


* ps/ci-test-with-jgit (2024-04-12) 13 commits
  (merged to 'next' on 2024-05-01 at 35e293e618)
 + t0612: add tests to exercise Git/JGit reftable compatibility
 + t0610: fix non-portable variable assignment
 + t06xx: always execute backend-specific tests
 + ci: install JGit dependency
 + ci: make Perforce binaries executable for all users
 + ci: merge scripts which install dependencies
 + ci: fix setup of custom path for GitLab CI
 + ci: merge custom PATH directories
 + ci: convert "install-dependencies.sh" to use "/bin/sh"
 + ci: drop duplicate package installation for "linux-gcc-default"
 + ci: skip sudo when we are already root
 + ci: expose distro name in dockerized GitHub jobs
 + ci: rename "runs_on_pool" to "distro"

 Tests to ensure interoperability between reftable written by jgit
 and our code have been added and enabled in CI.

 Will merge to 'master'.
 source: <cover.1712896868.git.ps@pks.im>


* pw/rebase-i-error-message (2024-04-08) 2 commits
 - rebase -i: improve error message when picking merge
 - rebase -i: pass struct replay_opts to parse_insn_line()

 When the user adds to "git rebase -i" instruction to "pick" a merge
 commit, the error experience is not pleasant.  Such an error is now
 caught earlier in the process that parses the todo list.

 Expecting a reroll.
 cf. <88bc0787-e7ae-49e5-99e8-97f6c55ea8c6@gmail.com>
 source: <pull.1672.v2.git.1712585787.gitgitgadget@gmail.com>


* ps/reftable-write-optim (2024-04-08) 11 commits
  (merged to 'next' on 2024-04-30 at 0667e3c05b)
 + reftable/block: reuse compressed array
 + reftable/block: reuse zstream when writing log blocks
 + reftable/writer: reset `last_key` instead of releasing it
 + reftable/writer: unify releasing memory
 + reftable/writer: refactorings for `writer_flush_nonempty_block()`
 + reftable/writer: refactorings for `writer_add_record()`
 + refs/reftable: don't recompute committer ident
 + reftable: remove name checks
 + refs/reftable: skip duplicate name checks
 + refs/reftable: perform explicit D/F check when writing symrefs
 + refs/reftable: fix D/F conflict error message on ref copy

 Code to write out reftable has seen some optimization and
 simplification.

 Will merge to 'master'.
 source: <cover.1712578837.git.ps@pks.im>


* ds/send-email-per-message-block (2024-04-10) 2 commits
 - send-email: make it easy to discern the messages for each patch
 - send-email: move newline characters out of a few translatable strings

 "git send-email" learned to separate its reports on each message it
 sends out with an extra blank line in between.

 Comments?
 source: <cover.1712732383.git.dsimic@manjaro.org>


* ew/khash-to-khashl (2024-03-28) 3 commits
 - khashl: fix ensemble lookups on empty table
 - treewide: switch to khashl for memory savings
 - list-objects-filter: use kh_size API

 The hashtable library "khash.h" has been replaced with "khashl.h"
 that has better memory usage characteristics.

 Needs review.
 cf. <xmqqy1a4ao3t.fsf@gitster.g>
 source: <20240328101356.300374-1-e@80x24.org>


* bc/credential-scheme-enhancement (2024-04-16) 16 commits
  (merged to 'next' on 2024-05-01 at 789ec5bd35)
 + credential: add method for querying capabilities
 + credential-cache: implement authtype capability
 + t: add credential tests for authtype
 + credential: add support for multistage credential rounds
 + t5563: refactor for multi-stage authentication
 + docs: set a limit on credential line length
 + credential: enable state capability
 + credential: add an argument to keep state
 + http: add support for authtype and credential
 + docs: indicate new credential protocol fields
 + credential: add a field called "ephemeral"
 + credential: gate new fields on capability
 + credential: add a field for pre-encoded credentials
 + http: use new headers for each object request
 + remote-curl: reset headers on new request
 + credential: add an authtype field

 The credential helper protocol, together with the HTTP layer, have
 been enhanced to support authentication schemes different from
 username & password pair, like Bearer and NTLM.

 Will merge to 'master'.
 source: <20240417000240.3611948-1-sandals@crustytoothpaste.net>


* tb/pseudo-merge-reachability-bitmap (2024-04-30) 23 commits
 - t/perf: implement performace tests for pseudo-merge bitmaps
 - pseudo-merge: implement support for finding existing merges
 - ewah: `bitmap_equals_ewah()`
 - pack-bitmap: extra trace2 information
 - pack-bitmap.c: use pseudo-merges during traversal
 - t/test-lib-functions.sh: support `--date` in `test_commit_bulk()`
 - pack-bitmap: implement test helpers for pseudo-merge
 - ewah: implement `ewah_bitmap_popcount()`
 - pseudo-merge: implement support for reading pseudo-merge commits
 - pack-bitmap.c: read pseudo-merge extension
 - pseudo-merge: scaffolding for reads
 - pack-bitmap: extract `read_bitmap()` function
 - pack-bitmap-write.c: write pseudo-merge table
 - pack-bitmap-write.c: select pseudo-merge commits
 - pseudo-merge: implement support for selecting pseudo-merge commits
 - pack-bitmap: make `bitmap_writer_push_bitmapped_commit()` public
 - pack-bitmap: implement `bitmap_writer_has_bitmapped_object_id()`
 - pack-bitmap-write: support storing pseudo-merge commits
 - pseudo-merge.ch: initial commit
 - pack-bitmap: move some initialization to `bitmap_writer_init()`
 - pack-bitmap: drop unused `max_bitmaps` parameter
 - ewah: implement `ewah_bitmap_is_subset()`
 - Documentation/technical: describe pseudo-merge bitmaps format

 The pack-bitmap machinery learned to write pseudo-merge bitmaps,
 which act as imaginary octopus merges covering un-bitmapped
 reference tips. This enhances bitmap coverage, and thus,
 performance, for repositories with many references using bitmaps.

 Needs review.
 source: <cover.1714422410.git.me@ttaylorr.com>


* la/hide-trailer-info (2024-05-02) 11 commits
 - trailer unit tests: inspect iterator contents
 - trailer: document parse_trailers() usage
 - trailer: retire trailer_info_get() from API
 - trailer: make trailer_info struct private
 - trailer: make parse_trailers() return trailer_info pointer
 - interpret-trailers: access trailer_info with new helpers
 - sequencer: use the trailer iterator
 - trailer: teach iterator about non-trailer lines
 - trailer: add unit tests for trailer iterator
 - Makefile: sort UNIT_TEST_PROGRAMS
 - Merge branch 'la/format-trailer-info' into la/hide-trailer-info

 The trailer API has been reshuffled a bit.

 Will merge to 'next'?
 source: <pull.1696.v4.git.1714625667.gitgitgadget@gmail.com>


* ds/doc-config-reflow (2024-03-14) 1 commit
 - config.txt: perform some minor reformatting

 Reflow a paragraph in the documentation source without any effect
 to the formatted text.

 Will discard.
 source: <97bdaf075bf5a68554cca1731eca78aff2662907.1710444774.git.dsimic@manjaro.org>


* ie/config-includeif-hostname (2024-03-19) 2 commits
 - config: learn the "hostname:" includeIf condition
 - t: add a test helper for getting hostname

 The conditional inclusion mechanism for configuration files learned
 to switch on the hostname.

 Expecting a reroll.
 cf. <20240319210428.GC1159535@coredump.intra.peff.net>
 cf. <20240320001934.GA903718@coredump.intra.peff.net>
 source: <20240319183722.211300-1-ignacio@iencinas.com>


* cw/git-std-lib (2024-02-28) 4 commits
 - SQUASH??? get rid of apparent debugging crufts
 - test-stdlib: show that git-std-lib is independent
 - git-std-lib: introduce Git Standard Library
 - pager: include stdint.h because uintmax_t is used

 Split libgit.a out to a separate git-std-lib tor easier reuse.

 Expecting a reroll.
 source: <cover.1696021277.git.jonathantanmy@google.com>


* js/cmake-with-test-tool (2024-04-30) 2 commits
 - cmake: let `test-tool` run the unit tests, too
 - Merge branch 'js/unit-test-suite-runner' into js/cmake-with-test-tool
 (this branch uses js/unit-test-suite-runner.)

 "test-tool" is now built in CMake build to also run the unit tests.

 May want to roll it into the base topic.

 Will merge to 'next' together with the base topic.
 source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>


* js/unit-test-suite-runner (2024-04-30) 8 commits
 - ci: use test-tool as unit test runner on Windows
 - t/Makefile: run unit tests alongside shell tests
 - unit tests: add rule for running with test-tool
 - test-tool run-command testsuite: support unit tests
 - test-tool run-command testsuite: remove hardcoded filter
 - test-tool run-command testsuite: get shell from env
 - t0080: turn t-basic unit test into a helper
 - Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner
 (this branch is used by js/cmake-with-test-tool.)

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.

 Will merge to 'next' together with js/cmake-with-test-tool?
 source: <cover.1714506612.git.steadmon@google.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 cf. <6683f24e-7e56-489d-be2d-8afe1fc38d2b@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Expecting a reroll.
 cf. <CAC4O8c88Z3ZqxH2VVaNPpEGB3moL5dJcg3cOWuLWwQ_hLrJMtA@mail.gmail.com>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 24%]

* What's cooking in git.git (May 2024, #01; Wed, 1)
@ 2024-05-01 21:26 26% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-05-01 21:26 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

The first batch of topics for the new cycle have graduated to the
'master' branch, and the tip of 'next' has been rewound.

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-scm/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']

* aj/stash-staged-fix (2024-04-22) 1 commit
  (merged to 'next' on 2024-04-23 at d49e9dade0)
 + stash: fix "--staged" with binary files

 "git stash -S" did not handle binary files correctly, which has
 been corrected.
 source: <pull.1722.git.1713781694490.gitgitgadget@gmail.com>


* ds/format-patch-rfc-and-k (2024-04-19) 1 commit
  (merged to 'next' on 2024-04-23 at b3b0c5507a)
 + format-patch: ensure that --rfc and -k are mutually exclusive

 The "-k" and "--rfc" options of "format-patch" will now error out
 when used together, as one tells us not to add anything to the
 title of the commit, and the other one tells us to add "RFC" in
 addition to "PATCH".
 source: <71d195c248879e7c46fac0e84c6b0a8aa90bd2c2.1713488563.git.dsimic@manjaro.org>


* jc/format-patch-rfc-more (2024-04-23) 2 commits
  (merged to 'next' on 2024-04-23 at 9f51487974)
 + format-patch: "--rfc=-(WIP)" appends to produce [PATCH (WIP)]
 + format-patch: allow --rfc to optionally take a value, like --rfc=WIP

 The "--rfc" option of "git format-patch" learned to take an
 optional string value to be used in place of "RFC" to tweak the
 "[PATCH]" on the subject header.
 source: <20240423175234.170434-1-gitster@pobox.com>


* js/build-fuzz-more-often (2024-04-24) 1 commit
  (merged to 'next' on 2024-04-25 at 28f65d1be2)
 + fuzz: link fuzz programs with `make all` on Linux

 In addition to building the objects needed, try to link the objects
 that are used in fuzzer tests, to make sure at least they build
 without bitrot, in Linux CI runs.
 source: <ba9d24c6445de309226bf7c165499f1969807fef.1713982389.git.steadmon@google.com>


* js/for-each-repo-keep-going (2024-04-24) 2 commits
  (merged to 'next' on 2024-04-25 at d33253d919)
 + maintenance: running maintenance should not stop on errors
 + for-each-repo: optionally keep going on an error

 A scheduled "git maintenance" job is expected to work on all
 repositories it knows about, but it stopped at the first one that
 errored out.  Now it keeps going.
 source: <pull.1719.v3.git.1713975299.gitgitgadget@gmail.com>


* la/doc-use-of-contacts-when-contributing (2024-04-18) 8 commits
  (merged to 'next' on 2024-04-25 at 5102a45f63)
 + SubmittingPatches: demonstrate using git-contacts with git-send-email
 + SubmittingPatches: add heading for format-patch and send-email
 + SubmittingPatches: dedupe discussion of security patches
 + SubmittingPatches: discuss reviewers first
 + SubmittingPatches: quote commands
 + SubmittingPatches: mention GitGitGadget
 + SubmittingPatches: clarify 'git-contacts' location
 + MyFirstContribution: mention contrib/contacts/git-contacts

 Advertise "git contacts", a tool for newcomers to find people to
 ask review for their patches, a bit more in our developer
 documentation.
 source: <pull.1704.v6.git.1713477125.gitgitgadget@gmail.com>


* pw/rebase-m-signoff-fix (2024-04-18) 6 commits
  (merged to 'next' on 2024-04-23 at 66374c00e2)
 + rebase -m: fix --signoff with conflicts
 + sequencer: store commit message in private context
 + sequencer: move current fixups to private context
 + sequencer: start removing private fields from public API
 + sequencer: always free "struct replay_opts"
 + Merge branch 'pw/t3428-cleanup' into pw/rebase-m-signoff-fix

 "git rebase --signoff" used to forget that it needs to add a
 sign-off to the resulting commit when told to continue after a
 conflict stops its operation.
 source: <cover.1713445918.git.phillip.wood@dunelm.org.uk>


* xx/disable-replace-when-building-midx (2024-04-17) 1 commit
  (merged to 'next' on 2024-04-23 at 6c8f41740e)
 + midx: disable replace objects

 The procedure to build multi-pack-index got confused by the
 replace-refs mechanism, which has been corrected by disabling the
 latter.
 source: <pull.1711.v2.git.1712554017808.gitgitgadget@gmail.com>

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

* bb/rgb-12-bit-colors (2024-04-30) 4 commits
 - fixup! t/t4026-color: add test coverage for invalid RGB colors
 - color: add support for 12-bit RGB colors
 - t/t4026-color: add test coverage for invalid RGB colors
 - t/t4026-color: remove an extra double quote character

 Colors can now be specified with 12-bit format "#RGB" (in addition
 to "#RRGGBB" that is already supported).

 Will merge to 'next' after squashing the fix-up in???
 source: <20240429164849.78509-1-dev+git@drbeat.li>


* ds/scalar-reconfigure-all-fix (2024-04-30) 1 commit
 - scalar: avoid segfault in reconfigure --all

 Scalar fix.

 Comments?
 source: <pull.1724.git.1714496333004.gitgitgadget@gmail.com>


* ps/pseudo-ref-terminology (2024-04-30) 10 commits
 - refs: refuse to write pseudorefs
 - ref-filter: properly distinuish pseudo and root refs
 - refs: pseudorefs are no refs
 - refs: root refs can be symbolic refs
 - refs: classify HEAD as a root ref
 - refs: refname `is_special_ref()` to `is_pseudo_ref()`
 - refs: rename `is_pseudoref()` to `is_root_ref()`
 - Documentation/glossary: define root refs as refs
 - Documentation/glossary: clarify limitations of pseudorefs
 - Documentation/glossary: redefine pseudorefs as special refs

 Terminology to call various ref-like things are getting
 straightened out.

 Under discussion.
 source: <cover.1714479928.git.ps@pks.im>


* dk/zsh-git-repo-path-fix (2024-04-30) 1 commit
 - completion: zsh: stop leaking local cache variable

 Command line completion support for zsh (in contrib/) has been
 updated to stop exposing internal state to end-user shell
 interaction.

 Will merge to 'next'.
 source: <pull.1725.git.1714513995564.gitgitgadget@gmail.com>


* rs/diff-parseopts-cleanup (2024-05-01) 1 commit
 - diff-lib: stop calling diff_setup_done() in do_diff_cache()

 Code clean-up to remove code that is now a noop.

 Will merge to 'next'.
 source: <0e96c5a3-7b4d-4c6b-875e-d80e3eb07a00@web.de>

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

* rh/complete-symbolic-ref (2024-04-25) 3 commits
 - completion: add docs on how to add subcommand completions
 - completion: improve docs for using __git_complete
 - completion: add 'symbolic-ref'

 Command line completion script (in contrib/) learned to complete
 "git symbolic-ref" a bit better (you need to enable plumbing
 commands to be completed with GIT_COMPLETION_SHOW_ALL_COMMANDS).

 Will merge to 'next'.
 source: <20240425101845.708554-3-rhi@pengutronix.de>


* jt/doc-submitting-rerolled-series (2024-04-25) 1 commit
 - doc: clarify practices for submitting updated patch versions

 Developer doc update.

 Will merge to 'next'.
 source: <20240425213404.133660-1-jltobler@gmail.com>


* bc/zsh-compatibility (2024-04-26) 2 commits
 - vimdiff: make script and tests work with zsh
 - t4046: avoid continue in &&-chain for zsh

 zsh can pretend to be a normal shell pretty well except for some
 glitches that we tickle in some of our scripts. Work them around
 so that "vimdiff" and our test suite works well enough with it.

 Will merge to 'next'.
 source: <20240426221154.2194139-1-sandals@crustytoothpaste.net>


* jc/rev-parse-fatal-doc (2024-05-01) 1 commit
 - rev-parse: document how --is-* options work outside a repository

 Doc update.

 Comments?
 source: <xmqqplu54fbg.fsf@gitster.g>


* ps/undecided-is-not-necessarily-sha1 (2024-04-30) 13 commits
 - repository: stop setting SHA1 as the default object hash
 - oss-fuzz/commit-graph: set up hash algorithm
 - builtin/shortlog: don't set up revisions without repo
 - builtin/diff: explicitly set hash algo when there is no repo
 - builtin/bundle: abort "verify" early when there is no repository
 - builtin/blame: don't access potentially unitialized `the_hash_algo`
 - builtin/rev-parse: allow shortening to more than 40 hex characters
 - remote-curl: fix parsing of detached SHA256 heads
 - attr: fix BUG() when parsing attrs outside of repo
 - attr: don't recompute default attribute source
 - parse-options-cb: only abbreviate hashes when hash algo is known
 - path: move `validate_headref()` to its only user
 - path: harden validation of HEAD with non-standard hashes

 Before discovering the repository details, We used to assume SHA-1
 as the "default" hash function, which has been corrected. Hopefully
 this will smoke out codepaths that rely on such an unwarranted
 assumptions.

 Comments?
 source: <cover.1714371422.git.ps@pks.im>


* rj/add-p-typo-reaction (2024-04-30) 2 commits
 - add-patch: response to unknown command
 - add-patch: do not show UI messages on stderr

 When the user responds to a prompt given by "git add -p" with an
 unsupported command, list of available commands were given, which
 was too much if the user knew what they wanted to type but merely
 made a typo.  Now the user gets a much shorter error message.

 Will merge to 'next'.
 source: <952a9514-3cf1-4601-8f0d-db57adc750c3@gmail.com>


* ps/the-index-is-no-more (2024-04-18) 6 commits
 - repository: drop `initialize_the_repository()`
 - repository: drop `the_index` variable
 - builtin/clone: stop using `the_index`
 - repository: initialize index in `repo_init()`
 - builtin: stop using `the_index`
 - t/helper: stop using `the_index`

 The singleton index_state instance "the_index" has been eliminated
 by always instantiating "the_repository" and replacing references
 to "the_index"  with references to its .index member.

 Will merge to 'next'.
 source: <cover.1713442061.git.ps@pks.im>


* kn/update-ref-symrefs (2024-04-26) 7 commits
 - ref: support symrefs in 'reference-transaction' hook
 - update-ref: add support for 'symref-update' command
 - update-ref: add support for 'symref-create' command
 - update-ref: add support for 'symref-delete' command
 - update-ref: add support for 'symref-verify' command
 - files-backend: extract out `create_symref_lock`
 - refs: accept symref values in `ref_transaction[_add]_update`

 "update-ref" learns to also handle symbolic refs.

 Expecting a reroll.
 cf. <CAOLa=ZT4yVEuZXmiTVB2tf0qaTPCPn=0TcJRc89knZQWZBbFTg@mail.gmail.com>
 source: <20240426152449.228860-1-knayak@gitlab.com>


* ps/ci-test-with-jgit (2024-04-12) 13 commits
 - t0612: add tests to exercise Git/JGit reftable compatibility
 - t0610: fix non-portable variable assignment
 - t06xx: always execute backend-specific tests
 - ci: install JGit dependency
 - ci: make Perforce binaries executable for all users
 - ci: merge scripts which install dependencies
 - ci: fix setup of custom path for GitLab CI
 - ci: merge custom PATH directories
 - ci: convert "install-dependencies.sh" to use "/bin/sh"
 - ci: drop duplicate package installation for "linux-gcc-default"
 - ci: skip sudo when we are already root
 - ci: expose distro name in dockerized GitHub jobs
 - ci: rename "runs_on_pool" to "distro"

 Tests to ensure interoperability between reftable written by jgit
 and our code have been added and enabled in CI.

 Will merge to 'next'.
 source: <cover.1712896868.git.ps@pks.im>


* pw/rebase-i-error-message (2024-04-08) 2 commits
 - rebase -i: improve error message when picking merge
 - rebase -i: pass struct replay_opts to parse_insn_line()

 When the user adds to "git rebase -i" instruction to "pick" a merge
 commit, the error experience is not pleasant.  Such an error is now
 caught earlier in the process that parses the todo list.

 Expecting a reroll.
 cf. <88bc0787-e7ae-49e5-99e8-97f6c55ea8c6@gmail.com>
 source: <pull.1672.v2.git.1712585787.gitgitgadget@gmail.com>


* ps/reftable-write-optim (2024-04-08) 11 commits
  (merged to 'next' on 2024-04-30 at 0667e3c05b)
 + reftable/block: reuse compressed array
 + reftable/block: reuse zstream when writing log blocks
 + reftable/writer: reset `last_key` instead of releasing it
 + reftable/writer: unify releasing memory
 + reftable/writer: refactorings for `writer_flush_nonempty_block()`
 + reftable/writer: refactorings for `writer_add_record()`
 + refs/reftable: don't recompute committer ident
 + reftable: remove name checks
 + refs/reftable: skip duplicate name checks
 + refs/reftable: perform explicit D/F check when writing symrefs
 + refs/reftable: fix D/F conflict error message on ref copy

 Code to write out reftable has seen some optimization and
 simplification.

 Will merge to 'master'.
 source: <cover.1712578837.git.ps@pks.im>


* ds/send-email-per-message-block (2024-04-10) 2 commits
 - send-email: make it easy to discern the messages for each patch
 - send-email: move newline characters out of a few translatable strings

 "git send-email" learned to separate its reports on each message it
 sends out with an extra blank line in between.

 Comments?
 source: <cover.1712732383.git.dsimic@manjaro.org>


* ew/khash-to-khashl (2024-03-28) 3 commits
 - khashl: fix ensemble lookups on empty table
 - treewide: switch to khashl for memory savings
 - list-objects-filter: use kh_size API

 The hashtable library "khash.h" has been replaced with "khashl.h"
 that has better memory usage characteristics.

 Needs review.
 cf. <xmqqy1a4ao3t.fsf@gitster.g>
 source: <20240328101356.300374-1-e@80x24.org>


* bc/credential-scheme-enhancement (2024-04-16) 16 commits
 - credential: add method for querying capabilities
 - credential-cache: implement authtype capability
 - t: add credential tests for authtype
 - credential: add support for multistage credential rounds
 - t5563: refactor for multi-stage authentication
 - docs: set a limit on credential line length
 - credential: enable state capability
 - credential: add an argument to keep state
 - http: add support for authtype and credential
 - docs: indicate new credential protocol fields
 - credential: add a field called "ephemeral"
 - credential: gate new fields on capability
 - credential: add a field for pre-encoded credentials
 - http: use new headers for each object request
 - remote-curl: reset headers on new request
 - credential: add an authtype field

 The credential helper protocol, together with the HTTP layer, have
 been enhanced to support authentication schemes different from
 username & password pair, like Bearer and NTLM.

 Will merge to 'next'.
 source: <20240417000240.3611948-1-sandals@crustytoothpaste.net>


* tb/pseudo-merge-reachability-bitmap (2024-04-30) 23 commits
 - t/perf: implement performace tests for pseudo-merge bitmaps
 - pseudo-merge: implement support for finding existing merges
 - ewah: `bitmap_equals_ewah()`
 - pack-bitmap: extra trace2 information
 - pack-bitmap.c: use pseudo-merges during traversal
 - t/test-lib-functions.sh: support `--date` in `test_commit_bulk()`
 - pack-bitmap: implement test helpers for pseudo-merge
 - ewah: implement `ewah_bitmap_popcount()`
 - pseudo-merge: implement support for reading pseudo-merge commits
 - pack-bitmap.c: read pseudo-merge extension
 - pseudo-merge: scaffolding for reads
 - pack-bitmap: extract `read_bitmap()` function
 - pack-bitmap-write.c: write pseudo-merge table
 - pack-bitmap-write.c: select pseudo-merge commits
 - pseudo-merge: implement support for selecting pseudo-merge commits
 - pack-bitmap: make `bitmap_writer_push_bitmapped_commit()` public
 - pack-bitmap: implement `bitmap_writer_has_bitmapped_object_id()`
 - pack-bitmap-write: support storing pseudo-merge commits
 - pseudo-merge.ch: initial commit
 - pack-bitmap: move some initialization to `bitmap_writer_init()`
 - pack-bitmap: drop unused `max_bitmaps` parameter
 - ewah: implement `ewah_bitmap_is_subset()`
 - Documentation/technical: describe pseudo-merge bitmaps format

 The pack-bitmap machinery learned to write pseudo-merge bitmaps,
 which act as imaginary octopus merges covering un-bitmapped
 reference tips. This enhances bitmap coverage, and thus,
 performance, for repositories with many references using bitmaps.

 Needs review.
 source: <cover.1714422410.git.me@ttaylorr.com>


* la/hide-trailer-info (2024-04-26) 11 commits
 - trailer unit tests: inspect iterator contents
 - trailer: document parse_trailers() usage
 - trailer: retire trailer_info_get() from API
 - trailer: make trailer_info struct private
 - trailer: make parse_trailers() return trailer_info pointer
 - interpret-trailers: access trailer_info with new helpers
 - sequencer: use the trailer iterator
 - trailer: teach iterator about non-trailer lines
 - trailer: add unit tests for trailer iterator
 - Makefile: sort UNIT_TEST_PROGRAMS
 - Merge branch 'la/format-trailer-info' into la/hide-trailer-info

 The trailer API has been reshuffled a bit.

 Expecting a hopefully final reroll.
 cf. <CAMo6p=GRcmy6NDGRskuNrauMYTkAgk_p_0TJJTPC2=axVrWuvQ@mail.gmail.com>
 source: <pull.1696.v3.git.1714091170.gitgitgadget@gmail.com>


* ds/doc-config-reflow (2024-03-14) 1 commit
 - config.txt: perform some minor reformatting

 Reflow a paragraph in the documentation source without any effect
 to the formatted text.

 Will discard.
 source: <97bdaf075bf5a68554cca1731eca78aff2662907.1710444774.git.dsimic@manjaro.org>


* ie/config-includeif-hostname (2024-03-19) 2 commits
 - config: learn the "hostname:" includeIf condition
 - t: add a test helper for getting hostname

 The conditional inclusion mechanism for configuration files learned
 to switch on the hostname.

 Expecting a reroll.
 cf. <20240319210428.GC1159535@coredump.intra.peff.net>
 cf. <20240320001934.GA903718@coredump.intra.peff.net>
 source: <20240319183722.211300-1-ignacio@iencinas.com>


* cw/git-std-lib (2024-02-28) 4 commits
 - SQUASH??? get rid of apparent debugging crufts
 - test-stdlib: show that git-std-lib is independent
 - git-std-lib: introduce Git Standard Library
 - pager: include stdint.h because uintmax_t is used

 Split libgit.a out to a separate git-std-lib tor easier reuse.

 Expecting a reroll.
 source: <cover.1696021277.git.jonathantanmy@google.com>


* js/cmake-with-test-tool (2024-04-30) 2 commits
 - cmake: let `test-tool` run the unit tests, too
 - Merge branch 'js/unit-test-suite-runner' into js/cmake-with-test-tool
 (this branch uses js/unit-test-suite-runner.)

 "test-tool" is now built in CMake build to also run the unit tests.

 May want to roll it into the base topic.

 Will merge to 'next' together with the base topic.
 source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>


* js/unit-test-suite-runner (2024-04-30) 8 commits
 - ci: use test-tool as unit test runner on Windows
 - t/Makefile: run unit tests alongside shell tests
 - unit tests: add rule for running with test-tool
 - test-tool run-command testsuite: support unit tests
 - test-tool run-command testsuite: remove hardcoded filter
 - test-tool run-command testsuite: get shell from env
 - t0080: turn t-basic unit test into a helper
 - Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner
 (this branch is used by js/cmake-with-test-tool.)

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.

 Will merge to 'next'?
 source: <cover.1714506612.git.steadmon@google.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 cf. <6683f24e-7e56-489d-be2d-8afe1fc38d2b@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Expecting a reroll.
 cf. <CAC4O8c88Z3ZqxH2VVaNPpEGB3moL5dJcg3cOWuLWwQ_hLrJMtA@mail.gmail.com>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 26%]

* What's cooking in git.git (Apr 2024, #10; Mon, 29)
@ 2024-04-29 17:22 27% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-04-29 17:22 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

Git 2.45 has been tagged.

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-scm/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']

* rj/add-i-leak-fix (2024-04-22) 4 commits
  (merged to 'next' on 2024-04-23 at b10e350a54)
 + add: plug a leak on interactive_add
 + add-patch: plug a leak handling the '/' command
 + add-interactive: plug a leak in get_untracked_files
 + apply: plug a leak in apply_data

 Leakfix.
 source: <69f86760-96ff-4c62-9649-4627652b7c19@gmail.com>


* rs/vsnprintf-failure-is-not-a-bug (2024-04-21) 1 commit
  (merged to 'next' on 2024-04-23 at bf66ab6ea7)
 + don't report vsnprintf(3) error as bug

 Demote a BUG() to an die() when the failure from vsnprintf() may
 not be due to a programmer error.
 source: <ea752a2b-9b74-4a59-a037-4782abf7161e@web.de>

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

* rh/complete-symbolic-ref (2024-04-25) 3 commits
 - completion: add docs on how to add subcommand completions
 - completion: improve docs for using __git_complete
 - completion: add 'symbolic-ref'

 Command line completion script (in contrib/) learned to complete
 "git symbolic-ref" a bit better (you need to enable plumbing
 commands to be completed with GIT_COMPLETION_SHOW_ALL_COMMANDS).

 Will merge to 'next'.
 source: <20240425101845.708554-3-rhi@pengutronix.de>


* jt/doc-submitting-rerolled-series (2024-04-25) 1 commit
 - doc: clarify practices for submitting updated patch versions

 Developer doc update.

 Will merge to 'next'.
 source: <20240425213404.133660-1-jltobler@gmail.com>


* bc/zsh-compatibility (2024-04-26) 2 commits
 - vimdiff: make script and tests work with zsh
 - t4046: avoid continue in &&-chain for zsh

 source: <20240426221154.2194139-1-sandals@crustytoothpaste.net>


* jc/rev-parse-fatal-doc (2024-04-28) 1 commit
 - rev-parse: document that most of the time you need to be in a repository

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

* ps/undecided-is-not-necessarily-sha1 (2024-04-29) 13 commits
 - SQUASH???
 - repository: stop setting SHA1 as the default object hash
 - builtin/shortlog: don't set up revisions without repo
 - builtin/diff: explicitly set hash algo when there is no repo
 - builtin/bundle: abort "verify" early when there is no repository
 - builtin/blame: don't access potentially unitialized `the_hash_algo`
 - builtin/rev-parse: allow shortening to more than 40 hex characters
 - remote-curl: fix parsing of detached SHA256 heads
 - attr: fix BUG() when parsing attrs outside of repo
 - attr: don't recompute default attribute source
 - parse-options-cb: only abbreviate hashes when hash algo is known
 - path: move `validate_headref()` to its only user
 - path: harden validation of HEAD with non-standard hashes

 Before discovering the repository details, We used to assume SHA-1
 as the "default" hash function, which has been corrected. Hopefully
 this will smoke out codepaths that rely on such an unwarranted
 assumptions.

 fuzz-smoke-test job at GitHub Actions CI breaks with this in 'seen'
 cf. <xmqqwmoi31aw.fsf@gitster.g>
 source: <cover.1713848619.git.ps@pks.im>


* aj/stash-staged-fix (2024-04-22) 1 commit
  (merged to 'next' on 2024-04-23 at d49e9dade0)
 + stash: fix "--staged" with binary files

 "git stash -S" did not handle binary files correctly, which has
 been corrected.

 Will cook in 'next'.
 source: <pull.1722.git.1713781694490.gitgitgadget@gmail.com>


* rj/add-p-typo-reaction (2024-04-26) 1 commit
 - add-patch: response to unknown command

 When the user responds to a prompt given by "git add -p" with an
 unsupported command, list of available commands were given, which
 was too much if the user knew what they wanted to type but merely
 made a typo.  Now the user gets a much shorter error message.

 Expecting a reroll.
 cf. <305296f1-975b-41b9-968c-3984d8056196@gmail.com>
 source: <b209a2b8-f98f-4f14-a687-9022d30968dd@gmail.com>


* ds/format-patch-rfc-and-k (2024-04-19) 1 commit
  (merged to 'next' on 2024-04-23 at b3b0c5507a)
 + format-patch: ensure that --rfc and -k are mutually exclusive

 The "-k" and "--rfc" options of "format-patch" will now error out
 when used together, as one tells us not to add anything to the
 title of the commit, and the other one tells us to add "RFC" in
 addition to "PATCH".

 Will cook in 'next'.
 source: <71d195c248879e7c46fac0e84c6b0a8aa90bd2c2.1713488563.git.dsimic@manjaro.org>


* jc/format-patch-rfc-more (2024-04-23) 2 commits
  (merged to 'next' on 2024-04-23 at 9f51487974)
 + format-patch: "--rfc=-(WIP)" appends to produce [PATCH (WIP)]
 + format-patch: allow --rfc to optionally take a value, like --rfc=WIP

 The "--rfc" option of "git format-patch" learned to take an
 optional string value to be used in place of "RFC" to tweak the
 "[PATCH]" on the subject header.

 Will cook in 'next'.
 source: <20240423175234.170434-1-gitster@pobox.com>


* ps/the-index-is-no-more (2024-04-18) 6 commits
 - repository: drop `initialize_the_repository()`
 - repository: drop `the_index` variable
 - builtin/clone: stop using `the_index`
 - repository: initialize index in `repo_init()`
 - builtin: stop using `the_index`
 - t/helper: stop using `the_index`

 The singleton index_state instance "the_index" has been eliminated
 by always instantiating "the_repository" and replacing references
 to "the_index"  with references to its .index member.

 Will merge to 'next'?
 source: <cover.1713442061.git.ps@pks.im>


* pw/rebase-m-signoff-fix (2024-04-18) 6 commits
  (merged to 'next' on 2024-04-23 at 66374c00e2)
 + rebase -m: fix --signoff with conflicts
 + sequencer: store commit message in private context
 + sequencer: move current fixups to private context
 + sequencer: start removing private fields from public API
 + sequencer: always free "struct replay_opts"
 + Merge branch 'pw/t3428-cleanup' into pw/rebase-m-signoff-fix

 "git rebase --signoff" used to forget that it needs to add a
 sign-off to the resulting commit when told to continue after a
 conflict stops its operation.

 Will cook in 'next'.
 source: <cover.1713445918.git.phillip.wood@dunelm.org.uk>


* js/for-each-repo-keep-going (2024-04-24) 2 commits
  (merged to 'next' on 2024-04-25 at d33253d919)
 + maintenance: running maintenance should not stop on errors
 + for-each-repo: optionally keep going on an error

 A scheduled "git maintenance" job is expected to work on all
 repositories it knows about, but it stopped at the first one that
 errored out.  Now it keeps going.

 Will cook in 'next'.
 source: <pull.1719.v3.git.1713975299.gitgitgadget@gmail.com>


* xx/disable-replace-when-building-midx (2024-04-17) 1 commit
  (merged to 'next' on 2024-04-23 at 6c8f41740e)
 + midx: disable replace objects

 The procedure to build multi-pack-index got confused by the
 replace-refs mechanism, which has been corrected by disabling the
 latter.

 Will cook in 'next'.
 source: <pull.1711.v2.git.1712554017808.gitgitgadget@gmail.com>


* kn/update-ref-symrefs (2024-04-26) 7 commits
 - ref: support symrefs in 'reference-transaction' hook
 - update-ref: add support for 'symref-update' command
 - update-ref: add support for 'symref-create' command
 - update-ref: add support for 'symref-delete' command
 - update-ref: add support for 'symref-verify' command
 - files-backend: extract out `create_symref_lock`
 - refs: accept symref values in `ref_transaction[_add]_update`

 "update-ref" learns to also handle symbolic refs.

 Expecting a reroll.
 cf. <CAOLa=ZT4yVEuZXmiTVB2tf0qaTPCPn=0TcJRc89knZQWZBbFTg@mail.gmail.com>
 source: <20240426152449.228860-1-knayak@gitlab.com>


* la/doc-use-of-contacts-when-contributing (2024-04-18) 8 commits
  (merged to 'next' on 2024-04-25 at 5102a45f63)
 + SubmittingPatches: demonstrate using git-contacts with git-send-email
 + SubmittingPatches: add heading for format-patch and send-email
 + SubmittingPatches: dedupe discussion of security patches
 + SubmittingPatches: discuss reviewers first
 + SubmittingPatches: quote commands
 + SubmittingPatches: mention GitGitGadget
 + SubmittingPatches: clarify 'git-contacts' location
 + MyFirstContribution: mention contrib/contacts/git-contacts

 Advertise "git contacts", a tool for newcomers to find people to
 ask review for their patches, a bit more in our developer
 documentation.

 Will cook in 'next'.
 source: <pull.1704.v6.git.1713477125.gitgitgadget@gmail.com>


* ps/ci-test-with-jgit (2024-04-12) 13 commits
 - t0612: add tests to exercise Git/JGit reftable compatibility
 - t0610: fix non-portable variable assignment
 - t06xx: always execute backend-specific tests
 - ci: install JGit dependency
 - ci: make Perforce binaries executable for all users
 - ci: merge scripts which install dependencies
 - ci: fix setup of custom path for GitLab CI
 - ci: merge custom PATH directories
 - ci: convert "install-dependencies.sh" to use "/bin/sh"
 - ci: drop duplicate package installation for "linux-gcc-default"
 - ci: skip sudo when we are already root
 - ci: expose distro name in dockerized GitHub jobs
 - ci: rename "runs_on_pool" to "distro"

 Tests to ensure interoperability between reftable written by jgit
 and our code have been added and enabled in CI.

 Will merge to 'next'.
 source: <cover.1712896868.git.ps@pks.im>


* pw/rebase-i-error-message (2024-04-08) 2 commits
 - rebase -i: improve error message when picking merge
 - rebase -i: pass struct replay_opts to parse_insn_line()

 When the user adds to "git rebase -i" instruction to "pick" a merge
 commit, the error experience is not pleasant.  Such an error is now
 caught earlier in the process that parses the todo list.

 Expecting a reroll.
 cf. <88bc0787-e7ae-49e5-99e8-97f6c55ea8c6@gmail.com>
 source: <pull.1672.v2.git.1712585787.gitgitgadget@gmail.com>


* ps/reftable-write-optim (2024-04-08) 11 commits
 - reftable/block: reuse compressed array
 - reftable/block: reuse zstream when writing log blocks
 - reftable/writer: reset `last_key` instead of releasing it
 - reftable/writer: unify releasing memory
 - reftable/writer: refactorings for `writer_flush_nonempty_block()`
 - reftable/writer: refactorings for `writer_add_record()`
 - refs/reftable: don't recompute committer ident
 - reftable: remove name checks
 - refs/reftable: skip duplicate name checks
 - refs/reftable: perform explicit D/F check when writing symrefs
 - refs/reftable: fix D/F conflict error message on ref copy

 Code to write out reftable has seen some optimization and
 simplification.

 Will merge to 'next'?
 source: <cover.1712578837.git.ps@pks.im>


* ds/send-email-per-message-block (2024-04-10) 2 commits
 - send-email: make it easy to discern the messages for each patch
 - send-email: move newline characters out of a few translatable strings

 "git send-email" learned to separate its reports on each message it
 sends out with an extra blank line in between.

 Will merge to 'next'?
 source: <cover.1712732383.git.dsimic@manjaro.org>


* ew/khash-to-khashl (2024-03-28) 3 commits
 - khashl: fix ensemble lookups on empty table
 - treewide: switch to khashl for memory savings
 - list-objects-filter: use kh_size API

 The hashtable library "khash.h" has been replaced with "khashl.h"
 that has better memory usage characteristics.

 Needs review.
 cf. <xmqqy1a4ao3t.fsf@gitster.g>
 source: <20240328101356.300374-1-e@80x24.org>


* bc/credential-scheme-enhancement (2024-04-16) 16 commits
 - credential: add method for querying capabilities
 - credential-cache: implement authtype capability
 - t: add credential tests for authtype
 - credential: add support for multistage credential rounds
 - t5563: refactor for multi-stage authentication
 - docs: set a limit on credential line length
 - credential: enable state capability
 - credential: add an argument to keep state
 - http: add support for authtype and credential
 - docs: indicate new credential protocol fields
 - credential: add a field called "ephemeral"
 - credential: gate new fields on capability
 - credential: add a field for pre-encoded credentials
 - http: use new headers for each object request
 - remote-curl: reset headers on new request
 - credential: add an authtype field

 The credential helper protocol, together with the HTTP layer, have
 been enhanced to support authentication schemes different from
 username & password pair, like Bearer and NTLM.

 Comments?
 source: <20240417000240.3611948-1-sandals@crustytoothpaste.net>


* tb/pseudo-merge-reachability-bitmap (2024-03-20) 24 commits
 - t/perf: implement performace tests for pseudo-merge bitmaps
 - pseudo-merge: implement support for finding existing merges
 - ewah: `bitmap_equals_ewah()`
 - pack-bitmap: extra trace2 information
 - pack-bitmap.c: use pseudo-merges during traversal
 - t/test-lib-functions.sh: support `--date` in `test_commit_bulk()`
 - pack-bitmap: implement test helpers for pseudo-merge
 - ewah: implement `ewah_bitmap_popcount()`
 - pseudo-merge: implement support for reading pseudo-merge commits
 - pack-bitmap.c: read pseudo-merge extension
 - pseudo-merge: scaffolding for reads
 - pack-bitmap: extract `read_bitmap()` function
 - pack-bitmap-write.c: write pseudo-merge table
 - pack-bitmap-write.c: select pseudo-merge commits
 - pseudo-merge: implement support for selecting pseudo-merge commits
 - pack-bitmap: make `bitmap_writer_push_bitmapped_commit()` public
 - pack-bitmap: implement `bitmap_writer_has_bitmapped_object_id()`
 - pack-bitmap-write: support storing pseudo-merge commits
 - pseudo-merge.ch: initial commit
 - pack-bitmap: move some initialization to `bitmap_writer_init()`
 - pack-bitmap: drop unused `max_bitmaps` parameter
 - ewah: implement `ewah_bitmap_is_subset()`
 - config: repo_config_get_expiry()
 - Documentation/technical: describe pseudo-merge bitmaps format

 The pack-bitmap machinery learned to write pseudo-merge bitmaps,
 which act as imaginary octopus merges covering un-bitmapped
 reference tips. This enhances bitmap coverage, and thus,
 performance, for repositories with many references using bitmaps.

 Expecting a reroll.
 cf. <ZfyxCLpjbaScIdWA@nand.local>
 source: <cover.1710972293.git.me@ttaylorr.com>


* la/hide-trailer-info (2024-04-26) 11 commits
 - trailer unit tests: inspect iterator contents
 - trailer: document parse_trailers() usage
 - trailer: retire trailer_info_get() from API
 - trailer: make trailer_info struct private
 - trailer: make parse_trailers() return trailer_info pointer
 - interpret-trailers: access trailer_info with new helpers
 - sequencer: use the trailer iterator
 - trailer: teach iterator about non-trailer lines
 - trailer: add unit tests for trailer iterator
 - Makefile: sort UNIT_TEST_PROGRAMS
 + Merge branch 'la/format-trailer-info' into la/hide-trailer-info

 The trailer API has been reshuffled a bit.

 Will merge to 'next'?
 cf. <CAP8UFD0ZHpo7US6dx_WK6F_1JYsBdHunBaW86qM1CzOKaPC-aA@mail.gmail.com>
 source: <pull.1696.v3.git.1714091170.gitgitgadget@gmail.com>


* ds/doc-config-reflow (2024-03-14) 1 commit
 - config.txt: perform some minor reformatting

 Reflow a paragraph in the documentation source without any effect
 to the formatted text.

 Will discard.
 source: <97bdaf075bf5a68554cca1731eca78aff2662907.1710444774.git.dsimic@manjaro.org>


* ie/config-includeif-hostname (2024-03-19) 2 commits
 - config: learn the "hostname:" includeIf condition
 - t: add a test helper for getting hostname

 The conditional inclusion mechanism for configuration files learned
 to switch on the hostname.

 Expecting a reroll.
 cf. <20240319210428.GC1159535@coredump.intra.peff.net>
 cf. <20240320001934.GA903718@coredump.intra.peff.net>
 source: <20240319183722.211300-1-ignacio@iencinas.com>


* js/build-fuzz-more-often (2024-04-24) 1 commit
  (merged to 'next' on 2024-04-25 at 28f65d1be2)
 + fuzz: link fuzz programs with `make all` on Linux

 In addition to building the objects needed, try to link the objects
 that are used in fuzzer tests, to make sure at least they build
 without bitrot, in Linux CI runs.

 Will cook in 'next'.
 source: <ba9d24c6445de309226bf7c165499f1969807fef.1713982389.git.steadmon@google.com>


* cw/git-std-lib (2024-02-28) 4 commits
 - SQUASH??? get rid of apparent debugging crufts
 - test-stdlib: show that git-std-lib is independent
 - git-std-lib: introduce Git Standard Library
 - pager: include stdint.h because uintmax_t is used

 Split libgit.a out to a separate git-std-lib tor easier reuse.

 Expecting a reroll.
 source: <cover.1696021277.git.jonathantanmy@google.com>


* js/cmake-with-test-tool (2024-04-24) 2 commits
 - cmake: let `test-tool` run the unit tests, too
 - Merge branch 'js/unit-test-suite-runner' into js/cmake-with-test-tool
 (this branch uses js/unit-test-suite-runner.)

 "test-tool" is now built in CMake build to also run the unit tests.

 May want to roll it into the base topic.
 Will merge to 'next' together with the base topic.
 source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>


* js/unit-test-suite-runner (2024-04-24) 8 commits
 - ci: use test-tool as unit test runner on Windows
 - t/Makefile: run unit tests alongside shell tests
 - unit tests: add rule for running with test-tool
 - test-tool run-command testsuite: support unit tests
 - test-tool run-command testsuite: remove hardcoded filter
 - test-tool run-command testsuite: get shell from env
 - t0080: turn t-basic unit test into a helper
 - Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner
 (this branch is used by js/cmake-with-test-tool.)

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.

 Needs review.
 source: <cover.1713985716.git.steadmon@google.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 cf. <6683f24e-7e56-489d-be2d-8afe1fc38d2b@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Expecting a reroll.
 cf. <CAC4O8c88Z3ZqxH2VVaNPpEGB3moL5dJcg3cOWuLWwQ_hLrJMtA@mail.gmail.com>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 27%]

* What's cooking in git.git (Apr 2024, #09; Tue, 23)
@ 2024-04-24 17:07 23% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-04-24 17:07 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

A release candidate Git 2.45-rc1 has been tagged.

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-scm/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']

* dd/t9604-use-posix-timezones (2024-04-10) 1 commit
  (merged to 'next' on 2024-04-16 at 46ab81737f)
 + t9604: Fix test for musl libc and new Debian

 The cvsimport tests required that the platform understands
 traditional timezone notations like CST6CDT, which has been
 updated to work on those systems as long as they understand
 POSIX notation with explicit tz transition dates.
 source: <20240410032812.30476-1-congdanhqx@gmail.com>


* la/format-trailer-info (2024-03-15) 5 commits
  (merged to 'next' on 2024-04-16 at dca4784407)
 + trailer: finish formatting unification
 + trailer: begin formatting unification
 + format_trailer_info(): append newline for non-trailer lines
 + format_trailer_info(): drop redundant unfold_value()
 + format_trailer_info(): use trailer_item objects
 (this branch is used by la/hide-trailer-info.)

 The code to format trailers have been cleaned up.
 source: <pull.1694.git.1710485706.gitgitgadget@gmail.com>


* mr/rerere-crash-fix (2024-04-16) 1 commit
  (merged to 'next' on 2024-04-17 at 60be8e2d74)
 + rerere: fix crashes due to unmatched opening conflict markers

 When .git/rr-cache/ rerere database gets corrupted or rerere is fed to
 work on a file with conflicted hunks resolved incompletely, the rerere
 machinery got confused and segfaulted, which has been corrected.
 source: <20240416105320.1113401-1-marcel@roethke.info>


* pk/bisect-use-show (2024-04-15) 1 commit
  (merged to 'next' on 2024-04-22 at 4dd13c288f)
 + bisect: report the found commit with "show"

 When "git bisect" reports the commit it determined to be the
 culprit, we used to show it in a format that does not honor common
 UI tweaks, like log.date and log.decorate.  The code has been
 taught to use "git show" to follow more customizations.
 source: <965ae345-fd58-c46c-5a7a-de181e901f21@softwolves.pp.se>


* ps/missing-btmp-fix (2024-04-15) 1 commit
  (merged to 'next' on 2024-04-16 at c70779ba4b)
 + pack-bitmap: gracefully handle missing BTMP chunks

 GIt 2.44 introduced a regression that makes the updated code to
 barf in repositories with multi-pack index written by older
 versions of Git, which has been corrected.
 source: <a8251f8278ba9a3b41a8e299cb4918a62df6d1c7.1713163238.git.ps@pks.im>


* ps/reftable-block-iteration-optim (2024-04-15) 10 commits
  (merged to 'next' on 2024-04-15 at 3a2353c7f2)
 + reftable/block: avoid copying block iterators on seek
 + reftable/block: reuse `zstream` state on inflation
 + reftable/block: open-code call to `uncompress2()`
 + reftable/block: reuse uncompressed blocks
 + reftable/reader: iterate to next block in place
 + reftable/block: move ownership of block reader into `struct table_iter`
 + reftable/block: introduce `block_reader_release()`
 + reftable/block: better grouping of functions
 + reftable/block: merge `block_iter_seek()` and `block_reader_seek()`
 + reftable/block: rename `block_reader_start()`

 The code to iterate over reftable blocks has seen some optimization
 to reduce memory allocation and deallocation.
 source: <cover.1712578376.git.ps@pks.im>


* ps/run-auto-maintenance-in-receive-pack (2024-04-17) 2 commits
  (merged to 'next' on 2024-04-22 at cacdcac452)
 + builtin/receive-pack: convert to use git-maintenance(1)
 + run-command: introduce function to prepare auto-maintenance process

 The "receive-pack" program (which responds to "git push") was not
 converted to run "git maintenance --auto" when other codepaths that
 used to run "git gc --auto" were updated, which has been corrected.
 source: <cover.1713334241.git.ps@pks.im>


* rj/launch-editor-error-message (2024-04-15) 1 commit
  (merged to 'next' on 2024-04-16 at 3d0dd46fc2)
 + launch_editor: waiting message on error

 Git writes a "waiting for your editor" message on an incomplete
 line after launching an editor, and then append another error
 message on the same line if the editor errors out.  It now clears
 the "waiting for..." line before giving the error message.
 source: <e208da74-8f16-44ae-912e-ae968da82057@gmail.com>


* rs/apply-reject-long-name (2024-04-16) 1 commit
  (merged to 'next' on 2024-04-17 at 701ccded8b)
 + apply: avoid using fixed-size buffer in write_out_one_reject()

 The filename used for rejected hunks "git apply --reject" creates
 was limited to PATH_MAX, which has been lifted.
 source: <a93cd243-cb17-4ad5-8d23-30768dc5213b@web.de>


* rs/imap-send-simplify-cmd-issuing-codepath (2024-04-15) 1 commit
  (merged to 'next' on 2024-04-17 at 0255e49f8b)
 + imap-send: increase command size limit

 Code simplification.
 source: <7026075c-db4e-4d43-bbd1-d2edb52da9b7@web.de>


* rs/no-openssl-compilation-fix-on-macos (2024-04-15) 1 commit
  (merged to 'next' on 2024-04-15 at 48cab93d0a)
 + git-compat-util: fix NO_OPENSSL on current macOS

 Build fix.
 source: <3188f4e2-9744-40b1-8f05-0896b8679d25@web.de>


* ta/fast-import-parse-path-fix (2024-04-15) 8 commits
  (merged to 'next' on 2024-04-15 at 00cc71a679)
 + fast-import: make comments more precise
 + fast-import: forbid escaped NUL in paths
 + fast-import: document C-style escapes for paths
 + fast-import: improve documentation for path quoting
 + fast-import: remove dead strbuf
 + fast-import: allow unquoted empty path for root
 + fast-import: directly use strbufs for paths
 + fast-import: tighten path unquoting

 The way "git fast-import" handles paths described in its input has
 been tightened up and more clearly documented.
 source: <cover.1713056559.git.thalia@archibald.dev>


* xx/rfc2822-date-format-in-doc (2024-04-12) 1 commit
  (merged to 'next' on 2024-04-17 at f2186bd6e8)
 + Documentation: fix typos describing date format

 Docfix.
 source: <pull.1716.git.1712911876943.gitgitgadget@gmail.com>


* yb/replay-doc-linkfix (2024-04-15) 1 commit
  (merged to 'next' on 2024-04-15 at e8cf9cd9a8)
 + Documentation: fix linkgit reference

 Docfix.
 source: <pull.1706.git.git.1713132482976.gitgitgadget@gmail.com>

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

* ps/undecided-is-not-necessarily-sha1 (2024-04-23) 12 commits
 - repository: stop setting SHA1 as the default object hash
 - builtin/shortlog: don't set up revisions without repo
 - builtin/diff: explicitly set hash algo when there is no repo
 - builtin/bundle: abort "verify" early when there is no repository
 - builtin/blame: don't access potentially unitialized `the_hash_algo`
 - builtin/rev-parse: allow shortening to more than 40 hex characters
 - remote-curl: fix parsing of detached SHA256 heads
 - attr: fix BUG() when parsing attrs outside of repo
 - attr: don't recompute default attribute source
 - parse-options-cb: only abbreviate hashes when hash algo is known
 - path: move `validate_headref()` to its only user
 - path: harden validation of HEAD with non-standard hashes

 Before discovering the repository details, We used to assume SHA-1
 as the "default" hash function, which has been corrected. Hopefully
 this will smoke out codepaths that rely on such an unwarranted
 assumptions.

 Will merge to 'next'?
 source: <cover.1713848619.git.ps@pks.im>

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

* aj/stash-staged-fix (2024-04-22) 1 commit
  (merged to 'next' on 2024-04-23 at d49e9dade0)
 + stash: fix "--staged" with binary files

 "git stash -S" did not handle binary files correctly, which has
 been corrected.

 Will cook in 'next'.
 source: <pull.1722.git.1713781694490.gitgitgadget@gmail.com>


* rj/add-i-leak-fix (2024-04-22) 4 commits
  (merged to 'next' on 2024-04-23 at b10e350a54)
 + add: plug a leak on interactive_add
 + add-patch: plug a leak handling the '/' command
 + add-interactive: plug a leak in get_untracked_files
 + apply: plug a leak in apply_data

 Leakfix.

 Will merge to 'master'.
 source: <69f86760-96ff-4c62-9649-4627652b7c19@gmail.com>


* rj/add-p-typo-reaction (2024-04-21) 1 commit
  (merged to 'next' on 2024-04-23 at 8ac0509b47)
 + add-patch: response to unknown command

 When the user responds to a prompt given by "git add -p" with an
 unsupported command, list of available commands were given, which
 was too much if the user knew what they wanted to type but merely
 made a typo.  Now the user gets a much shorter error message.

 Will cook in 'next'.
 source: <b209a2b8-f98f-4f14-a687-9022d30968dd@gmail.com>


* rs/vsnprintf-failure-is-not-a-bug (2024-04-21) 1 commit
  (merged to 'next' on 2024-04-23 at bf66ab6ea7)
 + don't report vsnprintf(3) error as bug

 Demote a BUG() to an die() when the failure from vsnprintf() may
 not be due to a programmer error.

 Will merge to 'master'.
 source: <ea752a2b-9b74-4a59-a037-4782abf7161e@web.de>


* ds/format-patch-rfc-and-k (2024-04-19) 1 commit
  (merged to 'next' on 2024-04-23 at b3b0c5507a)
 + format-patch: ensure that --rfc and -k are mutually exclusive

 The "-k" and "--rfc" options of "format-patch" will now error out
 when used together, as one tells us not to add anything to the
 title of the commit, and the other one tells us to add "RFC" in
 addition to "PATCH".

 Will cook in 'next'.
 source: <71d195c248879e7c46fac0e84c6b0a8aa90bd2c2.1713488563.git.dsimic@manjaro.org>


* jc/format-patch-rfc-more (2024-04-23) 2 commits
  (merged to 'next' on 2024-04-23 at 9f51487974)
 + format-patch: "--rfc=-(WIP)" appends to produce [PATCH (WIP)]
 + format-patch: allow --rfc to optionally take a value, like --rfc=WIP

 The "--rfc" option of "git format-patch" learned to take an
 optional string value to be used in place of "RFC" to tweak the
 "[PATCH]" on the subject header.

 Will cook in 'next'.
 source: <20240423175234.170434-1-gitster@pobox.com>


* ps/the-index-is-no-more (2024-04-18) 6 commits
 - repository: drop `initialize_the_repository()`
 - repository: drop `the_index` variable
 - builtin/clone: stop using `the_index`
 - repository: initialize index in `repo_init()`
 - builtin: stop using `the_index`
 - t/helper: stop using `the_index`

 The singleton index_state instance "the_index" has been eliminated
 by always instantiating "the_repository" and replacing references
 to "the_index"  with references to its .index member.

 Comments?
 source: <cover.1713442061.git.ps@pks.im>


* pw/rebase-m-signoff-fix (2024-04-18) 6 commits
  (merged to 'next' on 2024-04-23 at 66374c00e2)
 + rebase -m: fix --signoff with conflicts
 + sequencer: store commit message in private context
 + sequencer: move current fixups to private context
 + sequencer: start removing private fields from public API
 + sequencer: always free "struct replay_opts"
 + Merge branch 'pw/t3428-cleanup' into pw/rebase-m-signoff-fix

 "git rebase --signoff" used to forget that it needs to add a
 sign-off to the resulting commit when told to continue after a
 conflict stops its operation.

 Will cook in 'next'.
 source: <cover.1713445918.git.phillip.wood@dunelm.org.uk>


* js/for-each-repo-keep-going (2024-04-18) 2 commits
 - maintenance: running maintenance should not stop on errors
 - for-each-repo: optionally keep going on an error

 A scheduled "git maintenance" job is expected to work on all
 repositories it knows about, but it stopped at the first one that
 errored out.  Now it keeps going.

 Expecting a hopefully small and final reroll.
 Can change exit condition, which needs fixing.
 cf. <20240419175621.GB14309@coredump.intra.peff.net>
 source: <pull.1719.v2.git.1713444783.gitgitgadget@gmail.com>


* xx/disable-replace-when-building-midx (2024-04-17) 1 commit
  (merged to 'next' on 2024-04-23 at 6c8f41740e)
 + midx: disable replace objects

 The procedure to build multi-pack-index got confused by the
 replace-refs mechanism, which has been corrected by disabling the
 latter.

 Will cook in 'next'.
 source: <pull.1711.v2.git.1712554017808.gitgitgadget@gmail.com>


* kn/update-ref-symrefs (2024-04-12) 8 commits
 - SQUASH???
 - refs: support symrefs in 'reference-transaction' hook
 - update-ref: add support for symref-update
 - update-ref: add support for symref-create
 - files-backend: extract out `create_symref_lock`
 - update-ref: add support for symref-delete
 - update-ref: add support for symref-verify
 - refs: accept symref values in `ref_transaction[_add]_update`

 source: <20240412095908.1134387-1-knayak@gitlab.com>


* la/doc-use-of-contacts-when-contributing (2024-04-18) 8 commits
 - SubmittingPatches: demonstrate using git-contacts with git-send-email
 - SubmittingPatches: add heading for format-patch and send-email
 - SubmittingPatches: dedupe discussion of security patches
 - SubmittingPatches: discuss reviewers first
 - SubmittingPatches: quote commands
 - SubmittingPatches: mention GitGitGadget
 - SubmittingPatches: clarify 'git-contacts' location
 - MyFirstContribution: mention contrib/contacts/git-contacts

 Advertise "git contacts", a tool for newcomers to find people to
 ask review for their patches, a bit more in our developer
 documentation.

 Will merge to 'next'.
 source: <pull.1704.v6.git.1713477125.gitgitgadget@gmail.com>


* ps/ci-test-with-jgit (2024-04-12) 13 commits
 - t0612: add tests to exercise Git/JGit reftable compatibility
 - t0610: fix non-portable variable assignment
 - t06xx: always execute backend-specific tests
 - ci: install JGit dependency
 - ci: make Perforce binaries executable for all users
 - ci: merge scripts which install dependencies
 - ci: fix setup of custom path for GitLab CI
 - ci: merge custom PATH directories
 - ci: convert "install-dependencies.sh" to use "/bin/sh"
 - ci: drop duplicate package installation for "linux-gcc-default"
 - ci: skip sudo when we are already root
 - ci: expose distro name in dockerized GitHub jobs
 - ci: rename "runs_on_pool" to "distro"

 Tests to ensure interoperability between reftable written by jgit
 and our code have been added and enabled in CI.
 source: <cover.1712896868.git.ps@pks.im>


* pw/rebase-i-error-message (2024-04-08) 2 commits
 - rebase -i: improve error message when picking merge
 - rebase -i: pass struct replay_opts to parse_insn_line()

 When the user adds to "git rebase -i" instruction to "pick" a merge
 commit, the error experience is not pleasant.  Such an error is now
 caught earlier in the process that parses the todo list.

 Expecting a reroll.
 cf. <88bc0787-e7ae-49e5-99e8-97f6c55ea8c6@gmail.com>
 source: <pull.1672.v2.git.1712585787.gitgitgadget@gmail.com>


* ps/reftable-write-optim (2024-04-08) 11 commits
 - reftable/block: reuse compressed array
 - reftable/block: reuse zstream when writing log blocks
 - reftable/writer: reset `last_key` instead of releasing it
 - reftable/writer: unify releasing memory
 - reftable/writer: refactorings for `writer_flush_nonempty_block()`
 - reftable/writer: refactorings for `writer_add_record()`
 - refs/reftable: don't recompute committer ident
 - reftable: remove name checks
 - refs/reftable: skip duplicate name checks
 - refs/reftable: perform explicit D/F check when writing symrefs
 - refs/reftable: fix D/F conflict error message on ref copy

 Code to write out reftable has seen some optimization and
 simplification.
 source: <cover.1712578837.git.ps@pks.im>


* ds/send-email-per-message-block (2024-04-10) 2 commits
 - send-email: make it easy to discern the messages for each patch
 - send-email: move newline characters out of a few translatable strings

 "git send-email" learned to separate its reports on each message it
 sends out with an extra blank line in between.

 Comments?
 source: <cover.1712732383.git.dsimic@manjaro.org>


* ew/khash-to-khashl (2024-03-28) 3 commits
 - khashl: fix ensemble lookups on empty table
 - treewide: switch to khashl for memory savings
 - list-objects-filter: use kh_size API

 The hashtable library "khash.h" has been replaced with "khashl.h"
 that has better memory usage characteristics.

 Needs review.
 cf. <xmqqy1a4ao3t.fsf@gitster.g>
 source: <20240328101356.300374-1-e@80x24.org>


* bc/credential-scheme-enhancement (2024-04-16) 16 commits
 - credential: add method for querying capabilities
 - credential-cache: implement authtype capability
 - t: add credential tests for authtype
 - credential: add support for multistage credential rounds
 - t5563: refactor for multi-stage authentication
 - docs: set a limit on credential line length
 - credential: enable state capability
 - credential: add an argument to keep state
 - http: add support for authtype and credential
 - docs: indicate new credential protocol fields
 - credential: add a field called "ephemeral"
 - credential: gate new fields on capability
 - credential: add a field for pre-encoded credentials
 - http: use new headers for each object request
 - remote-curl: reset headers on new request
 - credential: add an authtype field

 The credential helper protocol, together with the HTTP layer, have
 been enhanced to support authentication schemes different from
 username & password pair, like Bearer and NTLM.
 source: <20240417000240.3611948-1-sandals@crustytoothpaste.net>


* tb/pseudo-merge-reachability-bitmap (2024-03-20) 24 commits
 - t/perf: implement performace tests for pseudo-merge bitmaps
 - pseudo-merge: implement support for finding existing merges
 - ewah: `bitmap_equals_ewah()`
 - pack-bitmap: extra trace2 information
 - pack-bitmap.c: use pseudo-merges during traversal
 - t/test-lib-functions.sh: support `--date` in `test_commit_bulk()`
 - pack-bitmap: implement test helpers for pseudo-merge
 - ewah: implement `ewah_bitmap_popcount()`
 - pseudo-merge: implement support for reading pseudo-merge commits
 - pack-bitmap.c: read pseudo-merge extension
 - pseudo-merge: scaffolding for reads
 - pack-bitmap: extract `read_bitmap()` function
 - pack-bitmap-write.c: write pseudo-merge table
 - pack-bitmap-write.c: select pseudo-merge commits
 - pseudo-merge: implement support for selecting pseudo-merge commits
 - pack-bitmap: make `bitmap_writer_push_bitmapped_commit()` public
 - pack-bitmap: implement `bitmap_writer_has_bitmapped_object_id()`
 - pack-bitmap-write: support storing pseudo-merge commits
 - pseudo-merge.ch: initial commit
 - pack-bitmap: move some initialization to `bitmap_writer_init()`
 - pack-bitmap: drop unused `max_bitmaps` parameter
 - ewah: implement `ewah_bitmap_is_subset()`
 - config: repo_config_get_expiry()
 - Documentation/technical: describe pseudo-merge bitmaps format

 The pack-bitmap machinery learned to write pseudo-merge bitmaps,
 which act as imaginary octopus merges covering un-bitmapped
 reference tips. This enhances bitmap coverage, and thus,
 performance, for repositories with many references using bitmaps.

 Expecting a reroll.
 cf. <ZfyxCLpjbaScIdWA@nand.local>
 source: <cover.1710972293.git.me@ttaylorr.com>


* la/hide-trailer-info (2024-04-19) 9 commits
 - trailer: retire trailer_info_get() from API
 - trailer: make trailer_info struct private
 - trailer: make parse_trailers() return trailer_info pointer
 - interpret-trailers: access trailer_info with new helpers
 - sequencer: use the trailer iterator
 - trailer: teach iterator about non-trailer lines
 - trailer: add unit tests for trailer iterator
 - Makefile: sort UNIT_TEST_PROGRAMS
 - Merge branch 'la/format-trailer-info' into la/hide-trailer-info

 The trailer API has been reshuffled a bit.

 Will merge to 'next'.
 source: <pull.1696.v2.git.1713504153.gitgitgadget@gmail.com>


* ds/doc-config-reflow (2024-03-14) 1 commit
 - config.txt: perform some minor reformatting

 Reflow a paragraph in the documentation source without any effect
 to the formatted text.

 Will discard.
 source: <97bdaf075bf5a68554cca1731eca78aff2662907.1710444774.git.dsimic@manjaro.org>


* ie/config-includeif-hostname (2024-03-19) 2 commits
 - config: learn the "hostname:" includeIf condition
 - t: add a test helper for getting hostname

 The conditional inclusion mechanism for configuration files learned
 to switch on the hostname.

 Expecting a reroll.
 cf. <20240319210428.GC1159535@coredump.intra.peff.net>
 cf. <20240320001934.GA903718@coredump.intra.peff.net>
 source: <20240319183722.211300-1-ignacio@iencinas.com>


* js/build-fuzz-more-often (2024-04-11) 2 commits
 - fuzz: link fuzz programs with `make all` on Linux
 - ci: also define CXX environment variable

 In addition to building the objects needed, try to link the objects
 that are used in fuzzer tests, to make sure at least they build
 without bitrot, in Linux CI runs.

 Expecting a hopefully small and final reroll.
 cf. <20240412042247.GA1077925@coredump.intra.peff.net>
 source: <cover.1712858920.git.steadmon@google.com>


* cw/git-std-lib (2024-02-28) 4 commits
 - SQUASH??? get rid of apparent debugging crufts
 - test-stdlib: show that git-std-lib is independent
 - git-std-lib: introduce Git Standard Library
 - pager: include stdint.h because uintmax_t is used

 Split libgit.a out to a separate git-std-lib tor easier reuse.

 Expecting a reroll.
 source: <cover.1696021277.git.jonathantanmy@google.com>


* js/cmake-with-test-tool (2024-02-23) 2 commits
 - cmake: let `test-tool` run the unit tests, too
 - Merge branch 'js/unit-test-suite-runner' into js/cmake-with-test-tool
 (this branch uses js/unit-test-suite-runner.)

 "test-tool" is now built in CMake build to also run the unit tests.

 May want to roll it into the base topic.
 source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>


* js/unit-test-suite-runner (2024-02-23) 8 commits
 - ci: use test-tool as unit test runner on Windows
 - t/Makefile: run unit tests alongside shell tests
 - unit tests: add rule for running with test-tool
 - test-tool run-command testsuite: support unit tests
 - test-tool run-command testsuite: remove hardcoded filter
 - test-tool run-command testsuite: get shell from env
 - t0080: turn t-basic unit test into a helper
 - Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner
 (this branch is used by js/cmake-with-test-tool.)

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.

 Needs review.
 source: <cover.1708728717.git.steadmon@google.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 cf. <6683f24e-7e56-489d-be2d-8afe1fc38d2b@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Expecting a reroll.
 cf. <CAC4O8c88Z3ZqxH2VVaNPpEGB3moL5dJcg3cOWuLWwQ_hLrJMtA@mail.gmail.com>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 23%]

* What's cooking in git.git (Apr 2024, #08; Mon, 22)
@ 2024-04-22 23:45 24% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-04-22 23:45 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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-scm/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]

* aj/stash-staged-fix (2024-04-22) 1 commit
 - stash: fix "--staged" with binary files

 "git stash -S" did not handle binary files correctly, which has
 been corrected.

 Will merge to 'next'.
 source: <pull.1722.git.1713781694490.gitgitgadget@gmail.com>


* rj/add-i-leak-fix (2024-04-22) 4 commits
 - add: plug a leak on interactive_add
 - add-patch: plug a leak handling the '/' command
 - add-interactive: plug a leak in get_untracked_files
 - apply: plug a leak in apply_data

 Leakfix.

 Will merge to 'next'.
 source: <69f86760-96ff-4c62-9649-4627652b7c19@gmail.com>


* rj/add-p-typo-reaction (2024-04-21) 1 commit
 - add-patch: response to unknown command

 When the user responds to a prompt given by "git add -p" with an
 unsupported command, list of available commands were given, which
 was too much if the user knew what they wanted to type but merely
 made a typo.  Now the user gets a much shorter error message.

 Will merge to 'next'.
 source: <b209a2b8-f98f-4f14-a687-9022d30968dd@gmail.com>


* rs/vsnprintf-failure-is-not-a-bug (2024-04-21) 1 commit
 - don't report vsnprintf(3) error as bug

 Demote a BUG() to an die() when the failure from vsnprintf() may
 not be due to a programmer error.

 Will merge to 'next'.
 source: <ea752a2b-9b74-4a59-a037-4782abf7161e@web.de>

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

* ds/format-patch-rfc-and-k (2024-04-19) 1 commit
 - format-patch: ensure that --rfc and -k are mutually exclusive

 The "-k" and "--rfc" options of "format-patch" will now error out
 when used together, as one tells us not to add anything to the
 title of the commit, and the other one tells us to add "RFC" in
 addition to "PATCH".

 Will merge to 'next'.
 source: <71d195c248879e7c46fac0e84c6b0a8aa90bd2c2.1713488563.git.dsimic@manjaro.org>


* jc/format-patch-rfc-more (2024-04-22) 2 commits
 - format-patch: "--rfc=-(WIP)" appends to produce [PATCH (WIP)]
 - format-patch: allow --rfc to optionally take a value, like --rfc=WIP

 The "--rfc" option of "git format-patch" learned to take an
 optional string value to be used in place of "RFC" to tweak the
 "[PATCH]" on the subject header.

 Will merge to 'next'?
 source: <20240421185915.1031590-1-gitster@pobox.com>


* ps/the-index-is-no-more (2024-04-18) 6 commits
 - repository: drop `initialize_the_repository()`
 - repository: drop `the_index` variable
 - builtin/clone: stop using `the_index`
 - repository: initialize index in `repo_init()`
 - builtin: stop using `the_index`
 - t/helper: stop using `the_index`

 The singleton index_state instance "the_index" has been eliminated
 by always instantiating "the_repository" and replacing references
 to "the_index"  with references to its .index member.

 Comments?
 source: <cover.1713442061.git.ps@pks.im>


* pw/rebase-m-signoff-fix (2024-04-18) 6 commits
 - rebase -m: fix --signoff with conflicts
 - sequencer: store commit message in private context
 - sequencer: move current fixups to private context
 - sequencer: start removing private fields from public API
 - sequencer: always free "struct replay_opts"
 - Merge branch 'pw/t3428-cleanup' into pw/rebase-m-signoff-fix

 "git rebase --signoff" used to forget that it needs to add a
 sign-off to the resulting commit when told to continue after a
 conflict stops its operation.

 Will merge to 'next'.
 source: <cover.1713445918.git.phillip.wood@dunelm.org.uk>


* mr/rerere-crash-fix (2024-04-16) 1 commit
  (merged to 'next' on 2024-04-17 at 60be8e2d74)
 + rerere: fix crashes due to unmatched opening conflict markers

 When .git/rr-cache/ rerere database gets corrupted or rerere is fed to
 work on a file with conflicted hunks resolved incompletely, the rerere
 machinery got confused and segfaulted, which has been corrected.

 Will merge to 'master'.
 source: <20240416105320.1113401-1-marcel@roethke.info>


* pk/bisect-use-show (2024-04-15) 1 commit
  (merged to 'next' on 2024-04-22 at 4dd13c288f)
 + bisect: report the found commit with "show"

 When "git bisect" reports the commit it determined to be the
 culprit, we used to show it in a format that does not honor common
 UI tweaks, like log.date and log.decorate.  The code has been
 taught to use "git show" to follow more customizations.

 Will merge to 'master'.
 source: <965ae345-fd58-c46c-5a7a-de181e901f21@softwolves.pp.se>


* ps/missing-btmp-fix (2024-04-15) 1 commit
  (merged to 'next' on 2024-04-16 at c70779ba4b)
 + pack-bitmap: gracefully handle missing BTMP chunks

 GIt 2.44 introduced a regression that makes the updated code to
 barf in repositories with multi-pack index written by older
 versions of Git, which has been corrected.

 Will merge to 'master'.
 source: <a8251f8278ba9a3b41a8e299cb4918a62df6d1c7.1713163238.git.ps@pks.im>


* rj/launch-editor-error-message (2024-04-15) 1 commit
  (merged to 'next' on 2024-04-16 at 3d0dd46fc2)
 + launch_editor: waiting message on error

 Git writes a "waiting for your editor" message on an incomplete
 line after launching an editor, and then append another error
 message on the same line if the editor errors out.  It now clears
 the "waiting for..." line before giving the error message.

 Will merge to 'master'.
 source: <e208da74-8f16-44ae-912e-ae968da82057@gmail.com>


* rs/imap-send-simplify-cmd-issuing-codepath (2024-04-15) 1 commit
  (merged to 'next' on 2024-04-17 at 0255e49f8b)
 + imap-send: increase command size limit

 Code simplification.

 Will merge to 'master'.
 source: <7026075c-db4e-4d43-bbd1-d2edb52da9b7@web.de>


* rs/no-openssl-compilation-fix-on-macos (2024-04-15) 1 commit
  (merged to 'next' on 2024-04-15 at 48cab93d0a)
 + git-compat-util: fix NO_OPENSSL on current macOS

 Build fix.

 Will merge to 'master'.
 source: <3188f4e2-9744-40b1-8f05-0896b8679d25@web.de>


* yb/replay-doc-linkfix (2024-04-15) 1 commit
  (merged to 'next' on 2024-04-15 at e8cf9cd9a8)
 + Documentation: fix linkgit reference

 Docfix.

 Will merge to 'master'.
 source: <pull.1706.git.git.1713132482976.gitgitgadget@gmail.com>


* rs/apply-reject-long-name (2024-04-16) 1 commit
  (merged to 'next' on 2024-04-17 at 701ccded8b)
 + apply: avoid using fixed-size buffer in write_out_one_reject()

 The filename used for rejected hunks "git apply --reject" creates
 was limited to PATH_MAX, which has been lifted.

 Will merge to 'master'.
 source: <a93cd243-cb17-4ad5-8d23-30768dc5213b@web.de>


* js/for-each-repo-keep-going (2024-04-18) 2 commits
 - maintenance: running maintenance should not stop on errors
 - for-each-repo: optionally keep going on an error

 A scheduled "git maintenance" job is expected to work on all
 repositories it knows about, but it stopped at the first one that
 errored out.  Now it keeps going.

 Expecting a hopefully small and final reroll.
 Can change exit condition, which needs fixing.
 cf. <20240419175621.GB14309@coredump.intra.peff.net>
 source: <pull.1719.v2.git.1713444783.gitgitgadget@gmail.com>


* ps/run-auto-maintenance-in-receive-pack (2024-04-17) 2 commits
  (merged to 'next' on 2024-04-22 at cacdcac452)
 + builtin/receive-pack: convert to use git-maintenance(1)
 + run-command: introduce function to prepare auto-maintenance process

 The "receive-pack" program (which responds to "git push") was not
 converted to run "git maintenance --auto" when other codepaths that
 used to run "git gc --auto" were updated, which has been corrected.

 Will merge to 'master'.
 source: <cover.1713334241.git.ps@pks.im>


* xx/disable-replace-when-building-midx (2024-04-17) 1 commit
 - midx: disable replace objects

 The procedure to build multi-pack-index got confused by the
 replace-refs mechanism, which has been corrected by disabling the
 latter.

 Will merge to 'next'.
 source: <pull.1711.v2.git.1712554017808.gitgitgadget@gmail.com>


* dd/t9604-use-posix-timezones (2024-04-10) 1 commit
  (merged to 'next' on 2024-04-16 at 46ab81737f)
 + t9604: Fix test for musl libc and new Debian

 The cvsimport tests required that the platform understands
 traditional timezone notations like CST6CDT, which has been
 updated to work on those systems as long as they understand
 POSIX notation with explicit tz transition dates.

 Will merge to 'master'.
 source: <20240410032812.30476-1-congdanhqx@gmail.com>


* kn/update-ref-symrefs (2024-04-12) 8 commits
 - SQUASH???
 - refs: support symrefs in 'reference-transaction' hook
 - update-ref: add support for symref-update
 - update-ref: add support for symref-create
 - files-backend: extract out `create_symref_lock`
 - update-ref: add support for symref-delete
 - update-ref: add support for symref-verify
 - refs: accept symref values in `ref_transaction[_add]_update`

 source: <20240412095908.1134387-1-knayak@gitlab.com>


* ta/fast-import-parse-path-fix (2024-04-15) 8 commits
  (merged to 'next' on 2024-04-15 at 00cc71a679)
 + fast-import: make comments more precise
 + fast-import: forbid escaped NUL in paths
 + fast-import: document C-style escapes for paths
 + fast-import: improve documentation for path quoting
 + fast-import: remove dead strbuf
 + fast-import: allow unquoted empty path for root
 + fast-import: directly use strbufs for paths
 + fast-import: tighten path unquoting

 The way "git fast-import" handles paths described in its input has
 been tightened up and more clearly documented.

 Will merge to 'master'.
 source: <cover.1713056559.git.thalia@archibald.dev>


* xx/rfc2822-date-format-in-doc (2024-04-12) 1 commit
  (merged to 'next' on 2024-04-17 at f2186bd6e8)
 + Documentation: fix typos describing date format

 Docfix.

 Will merge to 'master'.
 source: <pull.1716.git.1712911876943.gitgitgadget@gmail.com>


* la/doc-use-of-contacts-when-contributing (2024-04-18) 8 commits
 - SubmittingPatches: demonstrate using git-contacts with git-send-email
 - SubmittingPatches: add heading for format-patch and send-email
 - SubmittingPatches: dedupe discussion of security patches
 - SubmittingPatches: discuss reviewers first
 - SubmittingPatches: quote commands
 - SubmittingPatches: mention GitGitGadget
 - SubmittingPatches: clarify 'git-contacts' location
 - MyFirstContribution: mention contrib/contacts/git-contacts

 Advertise "git contacts", a tool for newcomers to find people to
 ask review for their patches, a bit more in our developer
 documentation.

 Will merge to 'next'?
 source: <pull.1704.v6.git.1713477125.gitgitgadget@gmail.com>


* ps/ci-test-with-jgit (2024-04-12) 13 commits
 - t0612: add tests to exercise Git/JGit reftable compatibility
 - t0610: fix non-portable variable assignment
 - t06xx: always execute backend-specific tests
 - ci: install JGit dependency
 - ci: make Perforce binaries executable for all users
 - ci: merge scripts which install dependencies
 - ci: fix setup of custom path for GitLab CI
 - ci: merge custom PATH directories
 - ci: convert "install-dependencies.sh" to use "/bin/sh"
 - ci: drop duplicate package installation for "linux-gcc-default"
 - ci: skip sudo when we are already root
 - ci: expose distro name in dockerized GitHub jobs
 - ci: rename "runs_on_pool" to "distro"

 Tests to ensure interoperability between reftable written by jgit
 and our code have been added and enabled in CI.
 source: <cover.1712896868.git.ps@pks.im>


* pw/rebase-i-error-message (2024-04-08) 2 commits
 - rebase -i: improve error message when picking merge
 - rebase -i: pass struct replay_opts to parse_insn_line()

 When the user adds to "git rebase -i" instruction to "pick" a merge
 commit, the error experience is not pleasant.  Such an error is now
 caught earlier in the process that parses the todo list.

 Expecting a reroll.
 cf. <88bc0787-e7ae-49e5-99e8-97f6c55ea8c6@gmail.com>
 source: <pull.1672.v2.git.1712585787.gitgitgadget@gmail.com>


* ps/reftable-write-optim (2024-04-08) 11 commits
 - reftable/block: reuse compressed array
 - reftable/block: reuse zstream when writing log blocks
 - reftable/writer: reset `last_key` instead of releasing it
 - reftable/writer: unify releasing memory
 - reftable/writer: refactorings for `writer_flush_nonempty_block()`
 - reftable/writer: refactorings for `writer_add_record()`
 - refs/reftable: don't recompute committer ident
 - reftable: remove name checks
 - refs/reftable: skip duplicate name checks
 - refs/reftable: perform explicit D/F check when writing symrefs
 - refs/reftable: fix D/F conflict error message on ref copy

 Code to write out reftable has seen some optimization and
 simplification.
 source: <cover.1712578837.git.ps@pks.im>


* ds/send-email-per-message-block (2024-04-10) 2 commits
 - send-email: make it easy to discern the messages for each patch
 - send-email: move newline characters out of a few translatable strings

 "git send-email" learned to separate its reports on each message it
 sends out with an extra blank line in between.

 Comments?
 source: <cover.1712732383.git.dsimic@manjaro.org>


* ew/khash-to-khashl (2024-03-28) 3 commits
 - khashl: fix ensemble lookups on empty table
 - treewide: switch to khashl for memory savings
 - list-objects-filter: use kh_size API

 The hashtable library "khash.h" has been replaced with "khashl.h"
 that has better memory usage characteristics.

 Needs review.
 cf. <xmqqy1a4ao3t.fsf@gitster.g>
 source: <20240328101356.300374-1-e@80x24.org>


* ps/reftable-block-iteration-optim (2024-04-15) 10 commits
  (merged to 'next' on 2024-04-15 at 3a2353c7f2)
 + reftable/block: avoid copying block iterators on seek
 + reftable/block: reuse `zstream` state on inflation
 + reftable/block: open-code call to `uncompress2()`
 + reftable/block: reuse uncompressed blocks
 + reftable/reader: iterate to next block in place
 + reftable/block: move ownership of block reader into `struct table_iter`
 + reftable/block: introduce `block_reader_release()`
 + reftable/block: better grouping of functions
 + reftable/block: merge `block_iter_seek()` and `block_reader_seek()`
 + reftable/block: rename `block_reader_start()`

 The code to iterate over reftable blocks has seen some optimization
 to reduce memory allocation and deallocation.

 Will merge to 'master'.
 source: <cover.1712578376.git.ps@pks.im>


* bc/credential-scheme-enhancement (2024-04-16) 16 commits
 - credential: add method for querying capabilities
 - credential-cache: implement authtype capability
 - t: add credential tests for authtype
 - credential: add support for multistage credential rounds
 - t5563: refactor for multi-stage authentication
 - docs: set a limit on credential line length
 - credential: enable state capability
 - credential: add an argument to keep state
 - http: add support for authtype and credential
 - docs: indicate new credential protocol fields
 - credential: add a field called "ephemeral"
 - credential: gate new fields on capability
 - credential: add a field for pre-encoded credentials
 - http: use new headers for each object request
 - remote-curl: reset headers on new request
 - credential: add an authtype field

 The credential helper protocol, together with the HTTP layer, have
 been enhanced to support authentication schemes different from
 username & password pair, like Bearer and NTLM.
 source: <20240417000240.3611948-1-sandals@crustytoothpaste.net>


* tb/pseudo-merge-reachability-bitmap (2024-03-20) 24 commits
 - t/perf: implement performace tests for pseudo-merge bitmaps
 - pseudo-merge: implement support for finding existing merges
 - ewah: `bitmap_equals_ewah()`
 - pack-bitmap: extra trace2 information
 - pack-bitmap.c: use pseudo-merges during traversal
 - t/test-lib-functions.sh: support `--date` in `test_commit_bulk()`
 - pack-bitmap: implement test helpers for pseudo-merge
 - ewah: implement `ewah_bitmap_popcount()`
 - pseudo-merge: implement support for reading pseudo-merge commits
 - pack-bitmap.c: read pseudo-merge extension
 - pseudo-merge: scaffolding for reads
 - pack-bitmap: extract `read_bitmap()` function
 - pack-bitmap-write.c: write pseudo-merge table
 - pack-bitmap-write.c: select pseudo-merge commits
 - pseudo-merge: implement support for selecting pseudo-merge commits
 - pack-bitmap: make `bitmap_writer_push_bitmapped_commit()` public
 - pack-bitmap: implement `bitmap_writer_has_bitmapped_object_id()`
 - pack-bitmap-write: support storing pseudo-merge commits
 - pseudo-merge.ch: initial commit
 - pack-bitmap: move some initialization to `bitmap_writer_init()`
 - pack-bitmap: drop unused `max_bitmaps` parameter
 - ewah: implement `ewah_bitmap_is_subset()`
 - config: repo_config_get_expiry()
 - Documentation/technical: describe pseudo-merge bitmaps format

 The pack-bitmap machinery learned to write pseudo-merge bitmaps,
 which act as imaginary octopus merges covering un-bitmapped
 reference tips. This enhances bitmap coverage, and thus,
 performance, for repositories with many references using bitmaps.

 Expecting a reroll.
 cf. <ZfyxCLpjbaScIdWA@nand.local>
 source: <cover.1710972293.git.me@ttaylorr.com>


* la/hide-trailer-info (2024-04-19) 9 commits
 - trailer: retire trailer_info_get() from API
 - trailer: make trailer_info struct private
 - trailer: make parse_trailers() return trailer_info pointer
 - interpret-trailers: access trailer_info with new helpers
 - sequencer: use the trailer iterator
 - trailer: teach iterator about non-trailer lines
 - trailer: add unit tests for trailer iterator
 - Makefile: sort UNIT_TEST_PROGRAMS
 - Merge branch 'la/format-trailer-info' into la/hide-trailer-info
 (this branch uses la/format-trailer-info.)

 The trailer API has been reshuffled a bit.

 Needs review.
 source: <pull.1696.v2.git.1713504153.gitgitgadget@gmail.com>


* ds/doc-config-reflow (2024-03-14) 1 commit
 - config.txt: perform some minor reformatting

 Reflow a paragraph in the documentation source without any effect
 to the formatted text.

 Will discard.
 source: <97bdaf075bf5a68554cca1731eca78aff2662907.1710444774.git.dsimic@manjaro.org>


* la/format-trailer-info (2024-03-15) 5 commits
  (merged to 'next' on 2024-04-16 at dca4784407)
 + trailer: finish formatting unification
 + trailer: begin formatting unification
 + format_trailer_info(): append newline for non-trailer lines
 + format_trailer_info(): drop redundant unfold_value()
 + format_trailer_info(): use trailer_item objects
 (this branch is used by la/hide-trailer-info.)

 The code to format trailers have been cleaned up.

 Will merge to 'master'.
 source: <pull.1694.git.1710485706.gitgitgadget@gmail.com>


* ie/config-includeif-hostname (2024-03-19) 2 commits
 - config: learn the "hostname:" includeIf condition
 - t: add a test helper for getting hostname

 The conditional inclusion mechanism for configuration files learned
 to switch on the hostname.

 Expecting a reroll.
 cf. <20240319210428.GC1159535@coredump.intra.peff.net>
 cf. <20240320001934.GA903718@coredump.intra.peff.net>
 source: <20240319183722.211300-1-ignacio@iencinas.com>


* js/build-fuzz-more-often (2024-04-11) 2 commits
 - fuzz: link fuzz programs with `make all` on Linux
 - ci: also define CXX environment variable

 In addition to building the objects needed, try to link the objects
 that are used in fuzzer tests, to make sure at least they build
 without bitrot, in Linux CI runs.

 Expecting a hopefully small and final reroll.
 cf. <20240412042247.GA1077925@coredump.intra.peff.net>
 source: <cover.1712858920.git.steadmon@google.com>


* cw/git-std-lib (2024-02-28) 4 commits
 - SQUASH??? get rid of apparent debugging crufts
 - test-stdlib: show that git-std-lib is independent
 - git-std-lib: introduce Git Standard Library
 - pager: include stdint.h because uintmax_t is used

 Split libgit.a out to a separate git-std-lib tor easier reuse.

 Expecting a reroll.
 source: <cover.1696021277.git.jonathantanmy@google.com>


* js/cmake-with-test-tool (2024-02-23) 2 commits
 - cmake: let `test-tool` run the unit tests, too
 - Merge branch 'js/unit-test-suite-runner' into js/cmake-with-test-tool
 (this branch uses js/unit-test-suite-runner.)

 "test-tool" is now built in CMake build to also run the unit tests.

 May want to roll it into the base topic.
 source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>


* js/unit-test-suite-runner (2024-02-23) 8 commits
 - ci: use test-tool as unit test runner on Windows
 - t/Makefile: run unit tests alongside shell tests
 - unit tests: add rule for running with test-tool
 - test-tool run-command testsuite: support unit tests
 - test-tool run-command testsuite: remove hardcoded filter
 - test-tool run-command testsuite: get shell from env
 - t0080: turn t-basic unit test into a helper
 - Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner
 (this branch is used by js/cmake-with-test-tool.)

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.

 Needs review.
 source: <cover.1708728717.git.steadmon@google.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 cf. <6683f24e-7e56-489d-be2d-8afe1fc38d2b@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Expecting a reroll.
 cf. <CAC4O8c88Z3ZqxH2VVaNPpEGB3moL5dJcg3cOWuLWwQ_hLrJMtA@mail.gmail.com>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 24%]

* What's cooking in git.git (Apr 2024, #07; Fri, 19)
@ 2024-04-19 17:24 26% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-04-19 17:24 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

A preview release Git 2.45-rc0 has been tagged.

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-scm/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']

* la/mailmap-entry (2024-04-16) 1 commit
  (merged to 'next' on 2024-04-17 at 440b18b8be)
 + mailmap: change primary address for Linus Arver

 Update contact address for Linus Arver.
 source: <pull.1720.git.1713309711217.gitgitgadget@gmail.com>


* pf/commitish-committish (2024-04-11) 1 commit
  (merged to 'next' on 2024-04-12 at 7ef816cb64)
 + typo: replace 'commitish' with 'committish'

 Spellfix.
 source: <20240407212111.55362-1-Pi.L.D.Fisher@gmail.com>

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

* ds/format-patch-rfc-and-k (2024-04-19) 1 commit
 - format-patch: ensure that --rfc and -k are mutually exclusive

 source: <71d195c248879e7c46fac0e84c6b0a8aa90bd2c2.1713488563.git.dsimic@manjaro.org>


* jc/format-patch-rfc-more (2024-04-18) 1 commit
 - format-patch: allow --rfc to optionally take a value, like --rfc=WIP

 source: <xmqqzftqnuxq.fsf@gitster.g>


* ps/the-index-is-no-more (2024-04-18) 6 commits
 - repository: drop `initialize_the_repository()`
 - repository: drop `the_index` variable
 - builtin/clone: stop using `the_index`
 - repository: initialize index in `repo_init()`
 - builtin: stop using `the_index`
 - t/helper: stop using `the_index`

 source: <cover.1713442061.git.ps@pks.im>


* pw/rebase-m-signoff-fix (2024-04-18) 6 commits
 - rebase -m: fix --signoff with conflicts
 - sequencer: store commit message in private context
 - sequencer: move current fixups to private context
 - sequencer: start removing private fields from public API
 - sequencer: always free "struct replay_opts"
 - Merge branch 'pw/t3428-cleanup' into pw/rebase-m-signoff-fix

 source: <cover.1713445918.git.phillip.wood@dunelm.org.uk>

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

* mr/rerere-crash-fix (2024-04-16) 1 commit
  (merged to 'next' on 2024-04-17 at 60be8e2d74)
 + rerere: fix crashes due to unmatched opening conflict markers

 When .git/rr-cache/ rerere database gets corrupted or rerere is fed to
 work on a file with conflicted hunks resolved incompletely, the rerere
 machinery got confused and segfaulted, which has been corrected.

 Will merge to 'master'.
 source: <20240416105320.1113401-1-marcel@roethke.info>


* pk/bisect-use-show (2024-04-15) 1 commit
 - bisect: report the found commit with "show"

 When "git bisect" reports the commit it determined to be the
 culprit, we used to show it in a format that does not honor common
 UI tweaks, like log.date and log.decorate.  The code has been
 taught to use "git show" to follow more customizations.

 Will merge to 'next'.
 source: <965ae345-fd58-c46c-5a7a-de181e901f21@softwolves.pp.se>


* ps/missing-btmp-fix (2024-04-15) 1 commit
  (merged to 'next' on 2024-04-16 at c70779ba4b)
 + pack-bitmap: gracefully handle missing BTMP chunks

 GIt 2.44 introduced a regression that makes the updated code to
 barf in repositories with multi-pack index written by older
 versions of Git, which has been corrected.

 Will merge to 'master'.
 source: <a8251f8278ba9a3b41a8e299cb4918a62df6d1c7.1713163238.git.ps@pks.im>


* rj/launch-editor-error-message (2024-04-15) 1 commit
  (merged to 'next' on 2024-04-16 at 3d0dd46fc2)
 + launch_editor: waiting message on error

 Git writes a "waiting for your editor" message on an incomplete
 line after launching an editor, and then append another error
 message on the same line if the editor errors out.  It now clears
 the "waiting for..." line before giving the error message.

 Will merge to 'master'.
 source: <e208da74-8f16-44ae-912e-ae968da82057@gmail.com>


* rs/imap-send-simplify-cmd-issuing-codepath (2024-04-15) 1 commit
  (merged to 'next' on 2024-04-17 at 0255e49f8b)
 + imap-send: increase command size limit

 Code simplification.

 Will merge to 'master'.
 source: <7026075c-db4e-4d43-bbd1-d2edb52da9b7@web.de>


* rs/no-openssl-compilation-fix-on-macos (2024-04-15) 1 commit
  (merged to 'next' on 2024-04-15 at 48cab93d0a)
 + git-compat-util: fix NO_OPENSSL on current macOS

 Build fix.

 Will merge to 'master'.
 source: <3188f4e2-9744-40b1-8f05-0896b8679d25@web.de>


* yb/replay-doc-linkfix (2024-04-15) 1 commit
  (merged to 'next' on 2024-04-15 at e8cf9cd9a8)
 + Documentation: fix linkgit reference

 Docfix.

 Will merge to 'master'.
 source: <pull.1706.git.git.1713132482976.gitgitgadget@gmail.com>


* rs/apply-reject-long-name (2024-04-16) 1 commit
  (merged to 'next' on 2024-04-17 at 701ccded8b)
 + apply: avoid using fixed-size buffer in write_out_one_reject()

 The filename used for rejected hunks "git apply --reject" creates
 was limited to PATH_MAX, which has been lifted.

 Will merge to 'master'.
 source: <a93cd243-cb17-4ad5-8d23-30768dc5213b@web.de>


* js/for-each-repo-keep-going (2024-04-18) 2 commits
 - maintenance: running maintenance should not stop on errors
 - for-each-repo: optionally keep going on an error

 A scheduled "git maintenance" job is expected to work on all
 repositories it knows about, but it stopped at the first one that
 errored out.  Now it keeps going.

 Will merge to 'next'?
 source: <pull.1719.v2.git.1713444783.gitgitgadget@gmail.com>


* ps/run-auto-maintenance-in-receive-pack (2024-04-17) 2 commits
 - builtin/receive-pack: convert to use git-maintenance(1)
 - run-command: introduce function to prepare auto-maintenance process

 The "receive-pack" program (which responds to "git push") was not
 converted to run "git maintenance --auto" when other codepaths that
 used to run "git gc --auto" were updated, which has been corrected.

 Will merge to 'next'.
 source: <cover.1713334241.git.ps@pks.im>


* xx/disable-replace-when-building-midx (2024-04-17) 1 commit
 - midx: disable replace objects

 The procedure to build multi-pack-index got confused by the
 replace-refs mechanism, which has been corrected by disabling the
 latter.

 Will merge to 'next'.
 source: <pull.1711.v2.git.1712554017808.gitgitgadget@gmail.com>


* dd/t9604-use-posix-timezones (2024-04-10) 1 commit
  (merged to 'next' on 2024-04-16 at 46ab81737f)
 + t9604: Fix test for musl libc and new Debian

 The cvsimport tests required that the platform understands
 traditional timezone notations like CST6CDT, which has been
 updated to work on those systems as long as they understand
 POSIX notation with explicit tz transition dates.

 Will merge to 'master'.
 source: <20240410032812.30476-1-congdanhqx@gmail.com>


* kn/update-ref-symrefs (2024-04-12) 8 commits
 - SQUASH???
 - refs: support symrefs in 'reference-transaction' hook
 - update-ref: add support for symref-update
 - update-ref: add support for symref-create
 - files-backend: extract out `create_symref_lock`
 - update-ref: add support for symref-delete
 - update-ref: add support for symref-verify
 - refs: accept symref values in `ref_transaction[_add]_update`

 source: <20240412095908.1134387-1-knayak@gitlab.com>


* ta/fast-import-parse-path-fix (2024-04-15) 8 commits
  (merged to 'next' on 2024-04-15 at 00cc71a679)
 + fast-import: make comments more precise
 + fast-import: forbid escaped NUL in paths
 + fast-import: document C-style escapes for paths
 + fast-import: improve documentation for path quoting
 + fast-import: remove dead strbuf
 + fast-import: allow unquoted empty path for root
 + fast-import: directly use strbufs for paths
 + fast-import: tighten path unquoting

 The way "git fast-import" handles paths described in its input has
 been tightened up and more clearly documented.

 Will merge to 'master'.
 source: <cover.1713056559.git.thalia@archibald.dev>


* xx/rfc2822-date-format-in-doc (2024-04-12) 1 commit
  (merged to 'next' on 2024-04-17 at f2186bd6e8)
 + Documentation: fix typos describing date format

 Docfix.

 Will merge to 'master'.
 source: <pull.1716.git.1712911876943.gitgitgadget@gmail.com>


* la/doc-use-of-contacts-when-contributing (2024-04-18) 8 commits
 - SubmittingPatches: demonstrate using git-contacts with git-send-email
 - SubmittingPatches: add heading for format-patch and send-email
 - SubmittingPatches: dedupe discussion of security patches
 - SubmittingPatches: discuss reviewers first
 - SubmittingPatches: quote commands
 - SubmittingPatches: mention GitGitGadget
 - SubmittingPatches: clarify 'git-contacts' location
 - MyFirstContribution: mention contrib/contacts/git-contacts

 Advertise "git contacts", a tool for newcomers to find people to
 ask review for their patches, a bit more in our developer
 documentation.

 Will merge to 'next'?
 source: <pull.1704.v6.git.1713477125.gitgitgadget@gmail.com>


* ps/ci-test-with-jgit (2024-04-12) 13 commits
 - t0612: add tests to exercise Git/JGit reftable compatibility
 - t0610: fix non-portable variable assignment
 - t06xx: always execute backend-specific tests
 - ci: install JGit dependency
 - ci: make Perforce binaries executable for all users
 - ci: merge scripts which install dependencies
 - ci: fix setup of custom path for GitLab CI
 - ci: merge custom PATH directories
 - ci: convert "install-dependencies.sh" to use "/bin/sh"
 - ci: drop duplicate package installation for "linux-gcc-default"
 - ci: skip sudo when we are already root
 - ci: expose distro name in dockerized GitHub jobs
 - ci: rename "runs_on_pool" to "distro"

 Tests to ensure interoperability between reftable written by jgit
 and our code have been added and enabled in CI.
 source: <cover.1712896868.git.ps@pks.im>


* pw/rebase-i-error-message (2024-04-08) 2 commits
 - rebase -i: improve error message when picking merge
 - rebase -i: pass struct replay_opts to parse_insn_line()

 When the user adds to "git rebase -i" instruction to "pick" a merge
 commit, the error experience is not pleasant.  Such an error is now
 caught earlier in the process that parses the todo list.

 Comments?
 source: <pull.1672.v2.git.1712585787.gitgitgadget@gmail.com>


* ps/reftable-write-optim (2024-04-08) 11 commits
 - reftable/block: reuse compressed array
 - reftable/block: reuse zstream when writing log blocks
 - reftable/writer: reset `last_key` instead of releasing it
 - reftable/writer: unify releasing memory
 - reftable/writer: refactorings for `writer_flush_nonempty_block()`
 - reftable/writer: refactorings for `writer_add_record()`
 - refs/reftable: don't recompute committer ident
 - reftable: remove name checks
 - refs/reftable: skip duplicate name checks
 - refs/reftable: perform explicit D/F check when writing symrefs
 - refs/reftable: fix D/F conflict error message on ref copy

 Code to write out reftable has seen some optimization and
 simplification.
 source: <cover.1712578837.git.ps@pks.im>


* ds/send-email-per-message-block (2024-04-10) 2 commits
 - send-email: make it easy to discern the messages for each patch
 - send-email: move newline characters out of a few translatable strings

 "git send-email" learned to separate its reports on each message it
 sends out with an extra blank line in between.

 Comments?
 source: <cover.1712732383.git.dsimic@manjaro.org>


* ew/khash-to-khashl (2024-03-28) 3 commits
 - khashl: fix ensemble lookups on empty table
 - treewide: switch to khashl for memory savings
 - list-objects-filter: use kh_size API

 The hashtable library "khash.h" has been replaced with "khashl.h"
 that has better memory usage characteristics.

 Needs review.
 source: <20240328101356.300374-1-e@80x24.org>


* ps/reftable-block-iteration-optim (2024-04-15) 10 commits
  (merged to 'next' on 2024-04-15 at 3a2353c7f2)
 + reftable/block: avoid copying block iterators on seek
 + reftable/block: reuse `zstream` state on inflation
 + reftable/block: open-code call to `uncompress2()`
 + reftable/block: reuse uncompressed blocks
 + reftable/reader: iterate to next block in place
 + reftable/block: move ownership of block reader into `struct table_iter`
 + reftable/block: introduce `block_reader_release()`
 + reftable/block: better grouping of functions
 + reftable/block: merge `block_iter_seek()` and `block_reader_seek()`
 + reftable/block: rename `block_reader_start()`

 The code to iterate over reftable blocks has seen some optimization
 to reduce memory allocation and deallocation.

 Will merge to 'master'.
 source: <cover.1712578376.git.ps@pks.im>


* bc/credential-scheme-enhancement (2024-04-16) 16 commits
 - credential: add method for querying capabilities
 - credential-cache: implement authtype capability
 - t: add credential tests for authtype
 - credential: add support for multistage credential rounds
 - t5563: refactor for multi-stage authentication
 - docs: set a limit on credential line length
 - credential: enable state capability
 - credential: add an argument to keep state
 - http: add support for authtype and credential
 - docs: indicate new credential protocol fields
 - credential: add a field called "ephemeral"
 - credential: gate new fields on capability
 - credential: add a field for pre-encoded credentials
 - http: use new headers for each object request
 - remote-curl: reset headers on new request
 - credential: add an authtype field

 The credential helper protocol, together with the HTTP layer, have
 been enhanced to support authentication schemes different from
 username & password pair, like Bearer and NTLM.
 source: <20240417000240.3611948-1-sandals@crustytoothpaste.net>


* tb/pseudo-merge-reachability-bitmap (2024-03-20) 24 commits
 - t/perf: implement performace tests for pseudo-merge bitmaps
 - pseudo-merge: implement support for finding existing merges
 - ewah: `bitmap_equals_ewah()`
 - pack-bitmap: extra trace2 information
 - pack-bitmap.c: use pseudo-merges during traversal
 - t/test-lib-functions.sh: support `--date` in `test_commit_bulk()`
 - pack-bitmap: implement test helpers for pseudo-merge
 - ewah: implement `ewah_bitmap_popcount()`
 - pseudo-merge: implement support for reading pseudo-merge commits
 - pack-bitmap.c: read pseudo-merge extension
 - pseudo-merge: scaffolding for reads
 - pack-bitmap: extract `read_bitmap()` function
 - pack-bitmap-write.c: write pseudo-merge table
 - pack-bitmap-write.c: select pseudo-merge commits
 - pseudo-merge: implement support for selecting pseudo-merge commits
 - pack-bitmap: make `bitmap_writer_push_bitmapped_commit()` public
 - pack-bitmap: implement `bitmap_writer_has_bitmapped_object_id()`
 - pack-bitmap-write: support storing pseudo-merge commits
 - pseudo-merge.ch: initial commit
 - pack-bitmap: move some initialization to `bitmap_writer_init()`
 - pack-bitmap: drop unused `max_bitmaps` parameter
 - ewah: implement `ewah_bitmap_is_subset()`
 - config: repo_config_get_expiry()
 - Documentation/technical: describe pseudo-merge bitmaps format

 The pack-bitmap machinery learned to write pseudo-merge bitmaps,
 which act as imaginary octopus merges covering un-bitmapped
 reference tips. This enhances bitmap coverage, and thus,
 performance, for repositories with many references using bitmaps.

 Expecting a reroll.
 cf. <ZfyxCLpjbaScIdWA@nand.local>
 source: <cover.1710972293.git.me@ttaylorr.com>


* la/hide-trailer-info (2024-03-16) 7 commits
 - trailer: retire trailer_info_get() from API
 - trailer: make trailer_info struct private
 - trailer: make parse_trailers() return trailer_info pointer
 - interpret-trailers: access trailer_info with new helpers
 - sequencer: use the trailer iterator
 - trailer: teach iterator about non-trailer lines
 - Merge branch 'la/format-trailer-info' into la/hide-trailer-info
 (this branch uses la/format-trailer-info.)

 The trailer API has been reshuffled a bit.

 Needs review.
 source: <pull.1696.git.1710570428.gitgitgadget@gmail.com>


* ds/doc-config-reflow (2024-03-14) 1 commit
 - config.txt: perform some minor reformatting

 Reflow a paragraph in the documentation source without any effect
 to the formatted text.

 Will discard.
 source: <97bdaf075bf5a68554cca1731eca78aff2662907.1710444774.git.dsimic@manjaro.org>


* la/format-trailer-info (2024-03-15) 5 commits
  (merged to 'next' on 2024-04-16 at dca4784407)
 + trailer: finish formatting unification
 + trailer: begin formatting unification
 + format_trailer_info(): append newline for non-trailer lines
 + format_trailer_info(): drop redundant unfold_value()
 + format_trailer_info(): use trailer_item objects
 (this branch is used by la/hide-trailer-info.)

 The code to format trailers have been cleaned up.

 Will merge to 'master'.
 source: <pull.1694.git.1710485706.gitgitgadget@gmail.com>


* ie/config-includeif-hostname (2024-03-19) 2 commits
 - config: learn the "hostname:" includeIf condition
 - t: add a test helper for getting hostname

 The conditional inclusion mechanism for configuration files learned
 to switch on the hostname.

 Expecting a reroll.
 cf. <20240319210428.GC1159535@coredump.intra.peff.net>
 cf. <20240320001934.GA903718@coredump.intra.peff.net>
 source: <20240319183722.211300-1-ignacio@iencinas.com>


* js/build-fuzz-more-often (2024-04-11) 2 commits
 - fuzz: link fuzz programs with `make all` on Linux
 - ci: also define CXX environment variable

 In addition to building the objects needed, try to link the objects
 that are used in fuzzer tests, to make sure at least they build
 without bitrot, in Linux CI runs.

 Expecting a hopefully minor and final reroll.
 cf. <20240412042247.GA1077925@coredump.intra.peff.net>
 source: <cover.1712858920.git.steadmon@google.com>


* cw/git-std-lib (2024-02-28) 4 commits
 - SQUASH??? get rid of apparent debugging crufts
 - test-stdlib: show that git-std-lib is independent
 - git-std-lib: introduce Git Standard Library
 - pager: include stdint.h because uintmax_t is used

 Split libgit.a out to a separate git-std-lib tor easier reuse.

 Expecting a reroll.
 source: <cover.1696021277.git.jonathantanmy@google.com>


* js/cmake-with-test-tool (2024-02-23) 2 commits
 - cmake: let `test-tool` run the unit tests, too
 - Merge branch 'js/unit-test-suite-runner' into js/cmake-with-test-tool
 (this branch uses js/unit-test-suite-runner.)

 "test-tool" is now built in CMake build to also run the unit tests.

 May want to roll it into the base topic.
 source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>


* js/unit-test-suite-runner (2024-02-23) 8 commits
 - ci: use test-tool as unit test runner on Windows
 - t/Makefile: run unit tests alongside shell tests
 - unit tests: add rule for running with test-tool
 - test-tool run-command testsuite: support unit tests
 - test-tool run-command testsuite: remove hardcoded filter
 - test-tool run-command testsuite: get shell from env
 - t0080: turn t-basic unit test into a helper
 - Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner
 (this branch is used by js/cmake-with-test-tool.)

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.

 Needs review.
 source: <cover.1708728717.git.steadmon@google.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 cf. <6683f24e-7e56-489d-be2d-8afe1fc38d2b@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Expecting a reroll.
 cf. <CAC4O8c88Z3ZqxH2VVaNPpEGB3moL5dJcg3cOWuLWwQ_hLrJMtA@mail.gmail.com>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 26%]

* What's cooking in git.git (Apr 2024, #06; Wed, 17)
@ 2024-04-18  0:25 22% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-04-18  0:25 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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-scm/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']

* ba/osxkeychain-updates (2024-04-01) 4 commits
  (merged to 'next' on 2024-04-10 at 1e7d925a43)
 + osxkeychain: store new attributes
 + osxkeychain: erase matching passwords only
 + osxkeychain: erase all matching credentials
 + osxkeychain: replace deprecated SecKeychain API

 Update osxkeychain backend with features required for the recent
 credential subsystem.
 source: <pull.1667.git.1708212896.gitgitgadget@gmail.com>


* ds/fetch-config-parse-microfix (2024-04-05) 1 commit
  (merged to 'next' on 2024-04-09 at 585dcadd63)
 + fetch: return when parsing submodule.recurse

 A config parser callback function fell through instead of returning
 after recognising and processing a variable, wasting cycles, which
 has been corrected.
 source: <pull.1709.git.1712285542303.gitgitgadget@gmail.com>


* gt/add-u-commit-i-pathspec-check (2024-04-03) 3 commits
  (merged to 'next' on 2024-04-09 at 1a0c757907)
 + builtin/add: error out when passing untracked path with -u
 + builtin/commit: error out when passing untracked path with -i
 + revision: optionally record matches with pathspec elements

 "git add -u <pathspec>" and "git commit [-i] <pathspec>" did not
 diagnose a pathspec element that did not match any files in certain
 situations, unlike "git add <pathspec>" did.
 source: <20240402213640.139682-2-shyamthakkar001@gmail.com>


* jc/local-extern-shell-rules (2024-04-05) 8 commits
  (merged to 'next' on 2024-04-10 at d3a13273e7)
 + t1016: local VAR="VAL" fix
 + t0610: local VAR="VAL" fix
 + t: teach lint that RHS of 'local VAR=VAL' needs to be quoted
 + t: local VAR="VAL" (quote ${magic-reference})
 + t: local VAR="VAL" (quote command substitution)
 + t: local VAR="VAL" (quote positional parameters)
 + CodingGuidelines: quote assigned value in 'local var=$val'
 + CodingGuidelines: describe "export VAR=VAL" rule

 Document and apply workaround for a buggy version of dash that
 mishandles "local var=val" construct.
 source: <20240406000902.3082301-1-gitster@pobox.com>


* jc/t2104-style-fixes (2024-04-09) 1 commit
  (merged to 'next' on 2024-04-11 at 7678ec509b)
 + t2104: style fixes

 Test style fixes.
 source: <xmqqmsqb4ngg.fsf@gitster.g>


* jc/unleak-core-excludesfile (2024-04-08) 1 commit
  (merged to 'next' on 2024-04-10 at ffb0c01871)
 + config: do not leak excludes_file

 The variable that holds the value read from the core.excludefile
 configuration variable used to leak, which has been corrected.
 source: <xmqqttkeicov.fsf@gitster.g>


* jk/libcurl-8.7-regression-workaround (2024-04-05) 3 commits
  (merged to 'next' on 2024-04-10 at 3b76577bfc)
 + remote-curl: add Transfer-Encoding header only for older curl
 + INSTALL: bump libcurl version to 7.21.3
 + http: reset POSTFIELDSIZE when clearing curl handle

 Fix was added to work around a regression in libcURL 8.7.0 (which has
 already been fixed in their tip of the tree).
 source: <20240402200254.GA874754@coredump.intra.peff.net>


* jt/reftable-geometric-compaction (2024-04-08) 4 commits
  (merged to 'next' on 2024-04-10 at 7e868a831c)
 + reftable/stack: use geometric table compaction
 + reftable/stack: add env to disable autocompaction
 + reftable/stack: expose option to disable auto-compaction
 + Merge branch 'ps/pack-refs-auto' into jt/reftable-geometric-compaction

 The strategy to compact multiple tables of reftables after many
 operations accumulate many entries has been improved to avoid
 accumulating too many tables uncollected.
 source: <pull.1683.v6.git.1712593016.gitgitgadget@gmail.com>


* ma/win32-unix-domain-socket (2024-04-03) 1 commit
  (merged to 'next' on 2024-04-09 at b98021a65c)
 + Win32: detect unix socket support at runtime

 Windows binary used to decide the use of unix-domain socket at
 build time, but it learned to make the decision at runtime instead.
 source: <pull.1708.git.1712158923106.gitgitgadget@gmail.com>


* ps/t0610-umask-fix (2024-04-09) 2 commits
  (merged to 'next' on 2024-04-10 at 659a29b138)
 + t0610: execute git-pack-refs(1) with specified umask
 + t0610: make `--shared=` tests reusable

 The "shared repository" test in the t0610 reftable test failed
 under restrictive umask setting (e.g. 007), which has been
 corrected.
 source: <cover.1712656576.git.ps@pks.im>


* pw/t3428-cleanup (2024-04-09) 3 commits
  (merged to 'next' on 2024-04-11 at 3c40516874)
 + t3428: restore coverage for "apply" backend
 + t3428: use test_commit_message
 + t3428: modernize test setup

 Test cleanup.
 source: <pull.1713.git.1712676444.gitgitgadget@gmail.com>


* rs/apply-lift-path-length-limit (2024-04-05) 2 commits
  (merged to 'next' on 2024-04-09 at 3270d194fd)
 + path: remove mksnpath()
 + apply: avoid fixed-size buffer in create_one_file()

 "git apply" has been updated to lift the hardcoded pathname length
 limit, which in turn allowed a mksnpath() function that is no
 longer used.
 source: <df774306-f29b-4a75-a282-59db89812b9a@web.de>


* rs/apply-reject-fd-leakfix (2024-04-05) 1 commit
  (merged to 'next' on 2024-04-09 at 11efa0543c)
 + apply: don't leak fd on fdopen() error

 A file descriptor leak in an error codepath, used when "git apply
 --reject" fails to create the *.rej file, has been corrected.
 source: <5ba55ee4-94c7-4094-a744-584fc623b391@web.de>


* rs/date-mode-pass-by-value (2024-04-05) 1 commit
  (merged to 'next' on 2024-04-10 at cc3c17d31c)
 + date: make DATE_MODE thread-safe

 The codepaths that reach date_mode_from_type() have been updated to
 pass "struct date_mode" by value to make them thread safe.
 source: <c6cb255a-72f0-4ac2-81a2-1d8e95570a81@web.de>


* rs/usage-fallback-to-show-message-format (2024-04-05) 1 commit
  (merged to 'next' on 2024-04-10 at 9a34aed4d5)
 + usage: report vsnprintf(3) failure

 vreportf(), which is usede by error() and friends, has been taught
 to give the error message printf-format string when its vsnprintf()
 call fails, instead of showing nothing useful to identify the
 nature of the error.
 source: <3da13298-b6a6-4391-b8e8-5dae9a28b860@web.de>


* sj/userdiff-c-sharp (2024-04-05) 1 commit
  (merged to 'next' on 2024-04-10 at 56aaf254a7)
 + userdiff: better method/property matching for C#

 The userdiff patterns for C# has been updated.

 Acked-by: Johannes Sixt <j6t@kdbg.org>
 cf. <c2154457-3f2f-496e-9b8b-c8ea7257027b@kdbg.org>
 source: <pull.1682.v5.git.git.1712180564927.gitgitgadget@gmail.com>


* tb/make-indent-conditional-with-non-spaces (2024-04-08) 2 commits
  (merged to 'next' on 2024-04-10 at 98aa239dc3)
 + Makefile(s): do not enforce "all indents must be done with tab"
 + Makefile(s): avoid recipe prefix in conditional statements

 Adjust to an upcoming changes to GNU make that breaks our Makefiles.
 source: <9d14c08ca6cc06cdf8fb4ba33d2470053dca3966.1712591504.git.me@ttaylorr.com>


* tb/t7700-fixup (2024-04-03) 1 commit
  (merged to 'next' on 2024-04-10 at ff1f877ef7)
 + t/t7700-repack.sh: fix test breakages with `GIT_TEST_MULTI_PACK_INDEX=1 `

 Test fix.
 source: <7e8d435d58eea19d2aae0be366720f5956d29a5d.1712075189.git.me@ttaylorr.com>

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

* mr/rerere-crash-fix (2024-04-16) 1 commit
  (merged to 'next' on 2024-04-17 at 60be8e2d74)
 + rerere: fix crashes due to unmatched opening conflict markers

 When .git/rr-cache/ rerere database gets corrupted or rerere is fed to
 work on a file with conflicted hunks resolved incompletely, the rerere
 machinery got confused and segfaulted, which has been corrected.

 Will merge to 'master'.
 source: <20240416105320.1113401-1-marcel@roethke.info>


* pk/bisect-use-show (2024-04-15) 1 commit
 - bisect: report the found commit with "show"

 When "git bisect" reports the commit it determined to be the
 culprit, we used to show it in a format that does not honor common
 UI tweaks, like log.date and log.decorate.  The code has been
 taught to use "git show" to follow more customizations.

 Will merge to 'next'.
 source: <965ae345-fd58-c46c-5a7a-de181e901f21@softwolves.pp.se>


* ps/missing-btmp-fix (2024-04-15) 1 commit
  (merged to 'next' on 2024-04-16 at c70779ba4b)
 + pack-bitmap: gracefully handle missing BTMP chunks

 GIt 2.44 introduced a regression that makes the updated code to
 barf in repositories with multi-pack index written by older
 versions of Git, which has been corrected.

 Will merge to 'master'.
 source: <a8251f8278ba9a3b41a8e299cb4918a62df6d1c7.1713163238.git.ps@pks.im>


* rj/launch-editor-error-message (2024-04-15) 1 commit
  (merged to 'next' on 2024-04-16 at 3d0dd46fc2)
 + launch_editor: waiting message on error

 Git writes a "waiting for your editor" message on an incomplete
 line after launching an editor, and then append another error
 message on the same line if the editor errors out.  It now clears
 the "waiting for..." line before giving the error message.

 Will merge to 'master'.
 source: <e208da74-8f16-44ae-912e-ae968da82057@gmail.com>


* rs/imap-send-simplify-cmd-issuing-codepath (2024-04-15) 1 commit
  (merged to 'next' on 2024-04-17 at 0255e49f8b)
 + imap-send: increase command size limit

 Code simplification.

 Will merge to 'master'.
 source: <7026075c-db4e-4d43-bbd1-d2edb52da9b7@web.de>


* rs/no-openssl-compilation-fix-on-macos (2024-04-15) 1 commit
  (merged to 'next' on 2024-04-15 at 48cab93d0a)
 + git-compat-util: fix NO_OPENSSL on current macOS

 Build fix.

 Will merge to 'master'.
 source: <3188f4e2-9744-40b1-8f05-0896b8679d25@web.de>


* yb/replay-doc-linkfix (2024-04-15) 1 commit
  (merged to 'next' on 2024-04-15 at e8cf9cd9a8)
 + Documentation: fix linkgit reference

 Docfix.

 Will merge to 'master'.
 source: <pull.1706.git.git.1713132482976.gitgitgadget@gmail.com>


* rs/apply-reject-long-name (2024-04-16) 1 commit
  (merged to 'next' on 2024-04-17 at 701ccded8b)
 + apply: avoid using fixed-size buffer in write_out_one_reject()

 The filename used for rejected hunks "git apply --reject" creates
 was limited to PATH_MAX, which has been lifted.

 Will merge to 'master'.
 source: <a93cd243-cb17-4ad5-8d23-30768dc5213b@web.de>


* js/for-each-repo-keep-going (2024-04-17) 2 commits
 - maintenance: running maintenance should not stop on errors
 - for-each-repo: optionally keep going on an error

 A scheduled "git maintenance" job is expected to work on all
 repositories it knows about, but it stopped at the first one that
 errored out.  Now it keeps going.

 Expecting a (hopefully minor and final) reroll.
 cf. <CAPig+cSjoGe7Eeynz=jGSaNYWXQ-VkvWv7mv1NDeCXPFEtdqOA@mail.gmail.com>
 source: <pull.1719.git.1713342535.gitgitgadget@gmail.com>


* ps/run-auto-maintenance-in-receive-pack (2024-04-17) 2 commits
 - builtin/receive-pack: convert to use git-maintenance(1)
 - run-command: introduce function to prepare auto-maintenance process

 The "receive-pack" program (which responds to "git push") was not
 converted to run "git maintenance --auto" when other codepaths that
 used to run "git gc --auto" were updated, which has been corrected.

 Will merge to 'next'.
 source: <cover.1713334241.git.ps@pks.im>


* la/mailmap-entry (2024-04-16) 1 commit
  (merged to 'next' on 2024-04-17 at 440b18b8be)
 + mailmap: change primary address for Linus Arver

 source: <pull.1720.git.1713309711217.gitgitgadget@gmail.com>


* xx/disable-replace-when-building-midx (2024-04-17) 1 commit
 - midx: disable replace objects

 source: <pull.1711.v2.git.1712554017808.gitgitgadget@gmail.com>

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

* dd/t9604-use-posix-timezones (2024-04-10) 1 commit
  (merged to 'next' on 2024-04-16 at 46ab81737f)
 + t9604: Fix test for musl libc and new Debian

 The cvsimport tests required that the platform understands
 traditional timezone notations like CST6CDT, which has been
 updated to work on those systems as long as they understand
 POSIX notation with explicit tz transition dates.

 Will merge to 'master'.
 source: <20240410032812.30476-1-congdanhqx@gmail.com>


* kn/update-ref-symrefs (2024-04-12) 8 commits
 - SQUASH???
 - refs: support symrefs in 'reference-transaction' hook
 - update-ref: add support for symref-update
 - update-ref: add support for symref-create
 - files-backend: extract out `create_symref_lock`
 - update-ref: add support for symref-delete
 - update-ref: add support for symref-verify
 - refs: accept symref values in `ref_transaction[_add]_update`

 source: <20240412095908.1134387-1-knayak@gitlab.com>


* pf/commitish-committish (2024-04-11) 1 commit
  (merged to 'next' on 2024-04-12 at 7ef816cb64)
 + typo: replace 'commitish' with 'committish'

 Spellfix.

 Will merge to 'master'.
 source: <20240407212111.55362-1-Pi.L.D.Fisher@gmail.com>


* ta/fast-import-parse-path-fix (2024-04-15) 8 commits
  (merged to 'next' on 2024-04-15 at 00cc71a679)
 + fast-import: make comments more precise
 + fast-import: forbid escaped NUL in paths
 + fast-import: document C-style escapes for paths
 + fast-import: improve documentation for path quoting
 + fast-import: remove dead strbuf
 + fast-import: allow unquoted empty path for root
 + fast-import: directly use strbufs for paths
 + fast-import: tighten path unquoting

 The way "git fast-import" handles paths described in its input has
 been tightened up and more clearly documented.

 Will merge to 'master'.
 source: <cover.1713056559.git.thalia@archibald.dev>


* xx/rfc2822-date-format-in-doc (2024-04-12) 1 commit
  (merged to 'next' on 2024-04-17 at f2186bd6e8)
 + Documentation: fix typos describing date format

 Docfix.

 Will merge to 'master'.
 source: <pull.1716.git.1712911876943.gitgitgadget@gmail.com>


* la/doc-use-of-contacts-when-contributing (2024-04-17) 9 commits
 - SQUASH???
 - SubmittingPatches: demonstrate using git-contacts with git-send-email
 - SubmittingPatches: add heading for format-patch and send-email
 - SubmittingPatches: dedupe discussion of security patches
 - SubmittingPatches: discuss reviewers first
 - SubmittingPatches: quote commands
 - SubmittingPatches: mention GitGitGadget
 - SubmittingPatches: clarify 'git-contacts' location
 - MyFirstContribution: mention contrib/contacts/git-contacts

 Advertise "git contacts", a tool for newcomers to find people to
 ask review for their patches, a bit more in our developer
 documentation.

 Almost there?
 source: <pull.1704.v5.git.1713308518.gitgitgadget@gmail.com>


* ps/ci-test-with-jgit (2024-04-12) 13 commits
 - t0612: add tests to exercise Git/JGit reftable compatibility
 - t0610: fix non-portable variable assignment
 - t06xx: always execute backend-specific tests
 - ci: install JGit dependency
 - ci: make Perforce binaries executable for all users
 - ci: merge scripts which install dependencies
 - ci: fix setup of custom path for GitLab CI
 - ci: merge custom PATH directories
 - ci: convert "install-dependencies.sh" to use "/bin/sh"
 - ci: drop duplicate package installation for "linux-gcc-default"
 - ci: skip sudo when we are already root
 - ci: expose distro name in dockerized GitHub jobs
 - ci: rename "runs_on_pool" to "distro"

 Tests to ensure interoperability between reftable written by jgit
 and our code have been added and enabled in CI.
 source: <cover.1712896868.git.ps@pks.im>


* pw/rebase-i-error-message (2024-04-08) 2 commits
 - rebase -i: improve error message when picking merge
 - rebase -i: pass struct replay_opts to parse_insn_line()

 When the user adds to "git rebase -i" instruction to "pick" a merge
 commit, the error experience is not pleasant.  Such an error is now
 caught earlier in the process that parses the todo list.

 Comments?
 source: <pull.1672.v2.git.1712585787.gitgitgadget@gmail.com>


* ps/reftable-write-optim (2024-04-08) 11 commits
 - reftable/block: reuse compressed array
 - reftable/block: reuse zstream when writing log blocks
 - reftable/writer: reset `last_key` instead of releasing it
 - reftable/writer: unify releasing memory
 - reftable/writer: refactorings for `writer_flush_nonempty_block()`
 - reftable/writer: refactorings for `writer_add_record()`
 - refs/reftable: don't recompute committer ident
 - reftable: remove name checks
 - refs/reftable: skip duplicate name checks
 - refs/reftable: perform explicit D/F check when writing symrefs
 - refs/reftable: fix D/F conflict error message on ref copy

 Code to write out reftable has seen some optimization and
 simplification.
 source: <cover.1712578837.git.ps@pks.im>


* ds/send-email-per-message-block (2024-04-10) 2 commits
 - send-email: make it easy to discern the messages for each patch
 - send-email: move newline characters out of a few translatable strings

 "git send-email" learned to separate its reports on each message it
 sends out with an extra blank line in between.

 Comments?
 source: <cover.1712732383.git.dsimic@manjaro.org>


* ew/khash-to-khashl (2024-03-28) 3 commits
 - khashl: fix ensemble lookups on empty table
 - treewide: switch to khashl for memory savings
 - list-objects-filter: use kh_size API

 The hashtable library "khash.h" has been replaced with "khashl.h"
 that has better memory usage characteristics.

 Needs review.
 source: <20240328101356.300374-1-e@80x24.org>


* ps/reftable-block-iteration-optim (2024-04-15) 10 commits
  (merged to 'next' on 2024-04-15 at 3a2353c7f2)
 + reftable/block: avoid copying block iterators on seek
 + reftable/block: reuse `zstream` state on inflation
 + reftable/block: open-code call to `uncompress2()`
 + reftable/block: reuse uncompressed blocks
 + reftable/reader: iterate to next block in place
 + reftable/block: move ownership of block reader into `struct table_iter`
 + reftable/block: introduce `block_reader_release()`
 + reftable/block: better grouping of functions
 + reftable/block: merge `block_iter_seek()` and `block_reader_seek()`
 + reftable/block: rename `block_reader_start()`

 The code to iterate over reftable blocks has seen some optimization
 to reduce memory allocation and deallocation.

 Will merge to 'master'.
 source: <cover.1712578376.git.ps@pks.im>


* bc/credential-scheme-enhancement (2024-04-16) 16 commits
 - credential: add method for querying capabilities
 - credential-cache: implement authtype capability
 - t: add credential tests for authtype
 - credential: add support for multistage credential rounds
 - t5563: refactor for multi-stage authentication
 - docs: set a limit on credential line length
 - credential: enable state capability
 - credential: add an argument to keep state
 - http: add support for authtype and credential
 - docs: indicate new credential protocol fields
 - credential: add a field called "ephemeral"
 - credential: gate new fields on capability
 - credential: add a field for pre-encoded credentials
 - http: use new headers for each object request
 - remote-curl: reset headers on new request
 - credential: add an authtype field

 The credential helper protocol, together with the HTTP layer, have
 been enhanced to support authentication schemes different from
 username & password pair, like Bearer and NTLM.
 source: <20240417000240.3611948-1-sandals@crustytoothpaste.net>


* tb/pseudo-merge-reachability-bitmap (2024-03-20) 24 commits
 - t/perf: implement performace tests for pseudo-merge bitmaps
 - pseudo-merge: implement support for finding existing merges
 - ewah: `bitmap_equals_ewah()`
 - pack-bitmap: extra trace2 information
 - pack-bitmap.c: use pseudo-merges during traversal
 - t/test-lib-functions.sh: support `--date` in `test_commit_bulk()`
 - pack-bitmap: implement test helpers for pseudo-merge
 - ewah: implement `ewah_bitmap_popcount()`
 - pseudo-merge: implement support for reading pseudo-merge commits
 - pack-bitmap.c: read pseudo-merge extension
 - pseudo-merge: scaffolding for reads
 - pack-bitmap: extract `read_bitmap()` function
 - pack-bitmap-write.c: write pseudo-merge table
 - pack-bitmap-write.c: select pseudo-merge commits
 - pseudo-merge: implement support for selecting pseudo-merge commits
 - pack-bitmap: make `bitmap_writer_push_bitmapped_commit()` public
 - pack-bitmap: implement `bitmap_writer_has_bitmapped_object_id()`
 - pack-bitmap-write: support storing pseudo-merge commits
 - pseudo-merge.ch: initial commit
 - pack-bitmap: move some initialization to `bitmap_writer_init()`
 - pack-bitmap: drop unused `max_bitmaps` parameter
 - ewah: implement `ewah_bitmap_is_subset()`
 - config: repo_config_get_expiry()
 - Documentation/technical: describe pseudo-merge bitmaps format

 The pack-bitmap machinery learned to write pseudo-merge bitmaps,
 which act as imaginary octopus merges covering un-bitmapped
 reference tips. This enhances bitmap coverage, and thus,
 performance, for repositories with many references using bitmaps.

 Expecting a reroll.
 cf. <ZfyxCLpjbaScIdWA@nand.local>
 source: <cover.1710972293.git.me@ttaylorr.com>


* la/hide-trailer-info (2024-03-16) 7 commits
 - trailer: retire trailer_info_get() from API
 - trailer: make trailer_info struct private
 - trailer: make parse_trailers() return trailer_info pointer
 - interpret-trailers: access trailer_info with new helpers
 - sequencer: use the trailer iterator
 - trailer: teach iterator about non-trailer lines
 - Merge branch 'la/format-trailer-info' into la/hide-trailer-info
 (this branch uses la/format-trailer-info.)

 The trailer API has been reshuffled a bit.

 Needs review.
 source: <pull.1696.git.1710570428.gitgitgadget@gmail.com>


* ds/doc-config-reflow (2024-03-14) 1 commit
 - config.txt: perform some minor reformatting

 Reflow a paragraph in the documentation source without any effect
 to the formatted text.

 Will discard.
 source: <97bdaf075bf5a68554cca1731eca78aff2662907.1710444774.git.dsimic@manjaro.org>


* la/format-trailer-info (2024-03-15) 5 commits
  (merged to 'next' on 2024-04-16 at dca4784407)
 + trailer: finish formatting unification
 + trailer: begin formatting unification
 + format_trailer_info(): append newline for non-trailer lines
 + format_trailer_info(): drop redundant unfold_value()
 + format_trailer_info(): use trailer_item objects
 (this branch is used by la/hide-trailer-info.)

 The code to format trailers have been cleaned up.

 Will merge to 'master'.
 source: <pull.1694.git.1710485706.gitgitgadget@gmail.com>


* ie/config-includeif-hostname (2024-03-19) 2 commits
 - config: learn the "hostname:" includeIf condition
 - t: add a test helper for getting hostname

 The conditional inclusion mechanism for configuration files learned
 to switch on the hostname.

 Expecting a reroll.
 cf. <20240319210428.GC1159535@coredump.intra.peff.net>
 cf. <20240320001934.GA903718@coredump.intra.peff.net>
 source: <20240319183722.211300-1-ignacio@iencinas.com>


* js/build-fuzz-more-often (2024-04-11) 2 commits
 - fuzz: link fuzz programs with `make all` on Linux
 - ci: also define CXX environment variable

 In addition to building the objects needed, try to link the objects
 that are used in fuzzer tests, to make sure at least they build
 without bitrot, in Linux CI runs.

 Expecting a hopefully minor and final reroll.
 cf. <20240412042247.GA1077925@coredump.intra.peff.net>
 source: <cover.1712858920.git.steadmon@google.com>


* cw/git-std-lib (2024-02-28) 4 commits
 - SQUASH??? get rid of apparent debugging crufts
 - test-stdlib: show that git-std-lib is independent
 - git-std-lib: introduce Git Standard Library
 - pager: include stdint.h because uintmax_t is used

 Split libgit.a out to a separate git-std-lib tor easier reuse.

 Expecting a reroll.
 source: <cover.1696021277.git.jonathantanmy@google.com>


* js/cmake-with-test-tool (2024-02-23) 2 commits
 - cmake: let `test-tool` run the unit tests, too
 - Merge branch 'js/unit-test-suite-runner' into js/cmake-with-test-tool
 (this branch uses js/unit-test-suite-runner.)

 "test-tool" is now built in CMake build to also run the unit tests.

 May want to roll it into the base topic.
 source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>


* js/unit-test-suite-runner (2024-02-23) 8 commits
 - ci: use test-tool as unit test runner on Windows
 - t/Makefile: run unit tests alongside shell tests
 - unit tests: add rule for running with test-tool
 - test-tool run-command testsuite: support unit tests
 - test-tool run-command testsuite: remove hardcoded filter
 - test-tool run-command testsuite: get shell from env
 - t0080: turn t-basic unit test into a helper
 - Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner
 (this branch is used by js/cmake-with-test-tool.)

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.

 Needs review.
 source: <cover.1708728717.git.steadmon@google.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 cf. <6683f24e-7e56-489d-be2d-8afe1fc38d2b@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Expecting a reroll.
 cf. <CAC4O8c88Z3ZqxH2VVaNPpEGB3moL5dJcg3cOWuLWwQ_hLrJMtA@mail.gmail.com>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 22%]

* Re: What's cooking in git.git (Apr 2024, #05; Fri, 12)
  @ 2024-04-16  8:26 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-04-16  8:26 UTC (permalink / raw)
  To: brian m. carlson; +Cc: git

"brian m. carlson" <sandals@crustytoothpaste.net> writes:

> On 2024-04-13 at 01:36:59, Junio C Hamano wrote:
>> * bc/credential-scheme-enhancement (2024-03-27) 12 commits
>>  . credential: add support for multistage credential rounds
>>  . t5563: refactor for multi-stage authentication
>>  . docs: set a limit on credential line length
>>  . credential: enable state capability
>>  . credential: add an argument to keep state
>>  . http: add support for authtype and credential
>>  . docs: indicate new credential protocol fields
>>  . credential: gate new fields on capability
>>  . credential: add a field for pre-encoded credentials
>>  . http: use new headers for each object request
>>  . remote-curl: reset headers on new request
>>  . credential: add an authtype field
>> 
>>  The credential helper protocol, together with the HTTP layer, have
>>  been enhanced to support authentication schemes different from
>>  username & password pair, like Bearer and NTLM.
>> 
>>  Expecting a reroll.
>>  cf. <ZgSQ5o_KyqDaxz1m@tapette.crustytoothpaste.net>
>>  source: <20240324011301.1553072-1-sandals@crustytoothpaste.net>
>
> I'm working on a reroll and expect to send it out a little later this
> week.  I believe it's currently finished and I'm running the tests with
> `git rebase -x` now, so assuming that passes v2 should be out soon.

Thanks.


^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (Apr 2024, #05; Fri, 12)
  @ 2024-04-15 17:37 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-04-15 17:37 UTC (permalink / raw)
  To: Patrick Steinhardt; +Cc: git

Patrick Steinhardt <ps@pks.im> writes:

>> * ps/reftable-block-iteration-optim (2024-03-27) 9 commits
>>  - reftable/block: reuse `zstream` state on inflation
>>  - reftable/block: open-code call to `uncompress2()`
>>  - reftable/block: reuse uncompressed blocks
>>  - reftable/reader: iterate to next block in place
>>  - reftable/block: move ownership of block reader into `struct table_iter`
>>  - reftable/block: introduce `block_reader_release()`
>>  - reftable/block: better grouping of functions
>>  - reftable/block: merge `block_iter_seek()` and `block_reader_seek()`
>>  - reftable/block: rename `block_reader_start()`
>> 
>>  The code to iterate over reftable blocks has seen some optimization
>>  to reduce memory allocation and deallocation.
>> 
>>  Needs review.
>>  source: <cover.1711519925.git.ps@pks.im>

The above refers to v1; as ps/reftable-binsearch-updates, which v2
added as its dependency, has been merged to 'master', let me pick
that one up.

Thanks.


^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Apr 2024, #05; Fri, 12)
@ 2024-04-13  1:36 22% Junio C Hamano
      0 siblings, 2 replies; 200+ results
From: Junio C Hamano @ 2024-04-13  1:36 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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-scm/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']

* ds/typofix-core-config-doc (2024-03-31) 1 commit
  (merged to 'next' on 2024-04-02 at 79496fcfc4)
 + config: fix some small capitalization issues, as spotted

 Typofix.
 source: <26135b06c48565ee8ac6dcfc1ef5431511e6202c.1711918168.git.dsimic@manjaro.org>


* jc/checkout-detach-wo-tracking-report (2024-03-30) 1 commit
  (merged to 'next' on 2024-04-04 at 161eca247d)
 + checkout: omit "tracking" information on a detached HEAD

 "git checkout/switch --detach foo", after switching to the detached
 HEAD state, gave the tracking information for the 'foo' branch,
 which was pointless.

 Tested-by: M Hickford <mirth.hickford@gmail.com>
 cf. <CAGJzqsmE9FDEBn=u3ge4LA3ha4fDbm4OWiuUbMaztwjELBd7ug@mail.gmail.com>
 source: <xmqqa5mfl7ud.fsf@gitster.g>


* jc/t2104-style-update (2024-04-02) 1 commit
  (merged to 'next' on 2024-04-03 at 0449835479)
 + t2104: style fixes

 Coding style fixes.
 source: <xmqqmsqb4ngg.fsf@gitster.g>


* js/merge-tree-3-trees (2024-04-12) 1 commit
  (merged to 'next' on 2024-04-12 at d4235d1f47)
 + merge-tree: fix argument type of the `--merge-base` option

 Match the option argument type in the help text to the correct type
 updated by a recent series.
 source: <pull.1717.git.1712923841235.gitgitgadget@gmail.com>


* kn/clarify-update-ref-doc (2024-04-02) 2 commits
  (merged to 'next' on 2024-04-02 at d1b9c5aa67)
 + githooks: use {old,new}-oid instead of {old,new}-value
 + update-ref: use {old,new}-oid instead of {old,new}value

 Doc update, as a preparation to enhance "git update-ref --stdin".
 source: <20240402064915.191104-1-knayak@gitlab.com>


* ps/reftable-binsearch-updates (2024-04-03) 7 commits
  (merged to 'next' on 2024-04-04 at 40e6d5a36b)
 + reftable/block: avoid decoding keys when searching restart points
 + reftable/record: extract function to decode key lengths
 + reftable/block: fix error handling when searching restart points
 + reftable/block: refactor binary search over restart points
 + reftable/refname: refactor binary search over refnames
 + reftable/basics: improve `binsearch()` test
 + reftable/basics: fix return type of `binsearch()` to be `size_t`

 Reftable code clean-up and some bugfixes.
 source: <cover.1712123093.git.ps@pks.im>


* rs/imap-send-use-xsnprintf (2024-04-02) 1 commit
  (merged to 'next' on 2024-04-04 at 789ad853e1)
 + imap-send: use xsnprintf to format command

 Code clean-up and duplicate reduction.
 source: <f9ad9f41-5b9b-474e-9818-f91fc937daae@web.de>


* rs/mem-pool-size-t-safety (2024-03-31) 1 commit
  (merged to 'next' on 2024-04-02 at 3517d48210)
 + mem-pool: use st_add() in mem_pool_strvfmt()

 size_t arithmetic safety.
 source: <bbe00b9e-64d8-4ec8-a2b9-2c6917c72dbd@web.de>


* rs/t-prio-queue-cleanup (2024-04-02) 1 commit
  (merged to 'next' on 2024-04-04 at 7961c838ac)
 + t-prio-queue: simplify using compound literals

 t-prio-queue test has been cleaned up by using C99 compound
 literals; this is meant to also serve as a weather-balloon to smoke
 out folks with compilers who have trouble compiling code that uses
 the feature.
 source: <520da361-1b80-4ba3-87b2-86d6fdfc18b5@web.de>


* tb/midx-write (2024-04-01) 5 commits
  (merged to 'next' on 2024-04-05 at b4870116f7)
 + midx-write.c: use `--stdin-packs` when repacking
 + midx-write.c: check count of packs to repack after grouping
 + midx-write.c: factor out common want_included_pack() routine
 + midx-write: move writing-related functions from midx.c
 + Merge branch 'rs/midx-use-strvec-pushf' into tb/midx-write

 Code clean-up by splitting code responsible for writing midx files
 into its own file.
 source: <cover.1712006190.git.me@ttaylorr.com>


* vs/complete-with-set-u-fix (2024-04-01) 2 commits
  (merged to 'next' on 2024-04-02 at d8f6a511e8)
 + completion: protect prompt against unset SHOWUPSTREAM in nounset mode
 + completion: fix prompt with unset SHOWCONFLICTSTATE in nounset mode

 Another "set -u" fix for the bash prompt (in contrib/) script.
 source: <20240401190751.8676-1-ville.skytta@iki.fi>

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

* dd/t9604-use-posix-timezones (2024-04-10) 1 commit
 - t9604: Fix test for musl libc and new Debian

 The cvsimport tests required that the platform understands
 traditional timezone notations like CST6CDT, which has been
 updated to work on those systems as long as they understand
 POSIX notation with explicit tz transition dates.

 Will merge to 'next'.
 source: <20240410032812.30476-1-congdanhqx@gmail.com>


* jc/t2104-style-fixes (2024-04-09) 1 commit
  (merged to 'next' on 2024-04-11 at 7678ec509b)
 + t2104: style fixes

 Test style fixes.

 Will merge to 'master'.
 source: <xmqqmsqb4ngg.fsf@gitster.g>


* kn/update-ref-symrefs (2024-04-12) 8 commits
 - SQUASH???
 - refs: support symrefs in 'reference-transaction' hook
 - update-ref: add support for symref-update
 - update-ref: add support for symref-create
 - files-backend: extract out `create_symref_lock`
 - update-ref: add support for symref-delete
 - update-ref: add support for symref-verify
 - refs: accept symref values in `ref_transaction[_add]_update`

 source: <20240412095908.1134387-1-knayak@gitlab.com>


* pf/commitish-committish (2024-04-11) 1 commit
  (merged to 'next' on 2024-04-12 at 7ef816cb64)
 + typo: replace 'commitish' with 'committish'

 Spellfix.

 Will merge to 'master'.
 source: <20240407212111.55362-1-Pi.L.D.Fisher@gmail.com>


* pw/t3428-cleanup (2024-04-09) 3 commits
  (merged to 'next' on 2024-04-11 at 3c40516874)
 + t3428: restore coverage for "apply" backend
 + t3428: use test_commit_message
 + t3428: modernize test setup

 Test cleanup.

 Will merge to 'master'.
 source: <pull.1713.git.1712676444.gitgitgadget@gmail.com>


* ta/fast-import-parse-path-fix (2024-04-12) 8 commits
 - fast-import: make comments more precise
 - fast-import: forbid escaped NUL in paths
 - fast-import: document C-style escapes for paths
 - fast-import: improve documentation for path quoting
 - fast-import: remove dead strbuf
 - fast-import: allow unquoted empty path for root
 - fast-import: directly use strbufs for paths
 - fast-import: tighten path unquoting

 The way "git fast-import" handles paths described in its input has
 been tightened up and more clearly documented.

 Will merge to 'next'?
 source: <cover.1712907684.git.thalia@archibald.dev>


* xx/rfc2822-date-format-in-doc (2024-04-12) 1 commit
 - Documentation: fix typos describing date format

 Docfix.

 Will merge to 'next'?
 source: <pull.1716.git.1712911876943.gitgitgadget@gmail.com>

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

* rs/date-mode-pass-by-value (2024-04-05) 1 commit
  (merged to 'next' on 2024-04-10 at cc3c17d31c)
 + date: make DATE_MODE thread-safe

 The codepaths that reach date_mode_from_type() have been updated to
 pass "struct date_mode" by value to make them thread safe.

 Will merge to 'master'.
 source: <c6cb255a-72f0-4ac2-81a2-1d8e95570a81@web.de>


* rs/usage-fallback-to-show-message-format (2024-04-05) 1 commit
  (merged to 'next' on 2024-04-10 at 9a34aed4d5)
 + usage: report vsnprintf(3) failure

 vreportf(), which is usede by error() and friends, has been taught
 to give the error message printf-format string when its vsnprintf()
 call fails, instead of showing nothing useful to identify the
 nature of the error.

 Will merge to 'master'.
 source: <3da13298-b6a6-4391-b8e8-5dae9a28b860@web.de>


* jc/local-extern-shell-rules (2024-04-05) 8 commits
  (merged to 'next' on 2024-04-10 at d3a13273e7)
 + t1016: local VAR="VAL" fix
 + t0610: local VAR="VAL" fix
 + t: teach lint that RHS of 'local VAR=VAL' needs to be quoted
 + t: local VAR="VAL" (quote ${magic-reference})
 + t: local VAR="VAL" (quote command substitution)
 + t: local VAR="VAL" (quote positional parameters)
 + CodingGuidelines: quote assigned value in 'local var=$val'
 + CodingGuidelines: describe "export VAR=VAL" rule

 Document and apply workaround for a buggy version of dash that
 mishandles "local var=val" construct.

 Will merge to 'master'.
 source: <20240406000902.3082301-1-gitster@pobox.com>


* jc/unleak-core-excludesfile (2024-04-08) 1 commit
  (merged to 'next' on 2024-04-10 at ffb0c01871)
 + config: do not leak excludes_file

 The variable that holds the value read from the core.excludefile
 configuration variable used to leak, which has been corrected.

 Will merge to 'master'.
 source: <xmqqttkeicov.fsf@gitster.g>


* la/doc-use-of-contacts-when-contributing (2024-04-12) 8 commits
 - SubmittingPatches: demonstrate using git-contacts with git-send-email
 - SubmittingPatches: add heading for format-patch and send-email
 - SubmittingPatches: dedupe discussion of security patches
 - SubmittingPatches: discuss reviewers first
 - SubmittingPatches: quote commands
 - SubmittingPatches: mention GitGitGadget
 - SubmittingPatches: clarify 'git-contacts' location
 - MyFirstContribution: mention contrib/contacts/git-contacts

 Advertise "git contacts", a tool for newcomers to find people to
 ask review for their patches, a bit more in our developer
 documentation.

 source: <pull.1704.v4.git.1712878339.gitgitgadget@gmail.com>


* ps/ci-test-with-jgit (2024-04-12) 13 commits
 - t0612: add tests to exercise Git/JGit reftable compatibility
 - t0610: fix non-portable variable assignment
 - t06xx: always execute backend-specific tests
 - ci: install JGit dependency
 - ci: make Perforce binaries executable for all users
 - ci: merge scripts which install dependencies
 - ci: fix setup of custom path for GitLab CI
 - ci: merge custom PATH directories
 - ci: convert "install-dependencies.sh" to use "/bin/sh"
 - ci: drop duplicate package installation for "linux-gcc-default"
 - ci: skip sudo when we are already root
 - ci: expose distro name in dockerized GitHub jobs
 - ci: rename "runs_on_pool" to "distro"

 Tests to ensure interoperability between reftable written by jgit
 and our code have been added and enabled in CI.

 source: <cover.1712896868.git.ps@pks.im>


* pw/rebase-i-error-message (2024-04-08) 2 commits
 - rebase -i: improve error message when picking merge
 - rebase -i: pass struct replay_opts to parse_insn_line()

 When the user adds to "git rebase -i" instruction to "pick" a merge
 commit, the error experience is not pleasant.  Such an error is now
 caught earlier in the process that parses the todo list.

 Comments?
 source: <pull.1672.v2.git.1712585787.gitgitgadget@gmail.com>


* tb/make-indent-conditional-with-non-spaces (2024-04-08) 2 commits
  (merged to 'next' on 2024-04-10 at 98aa239dc3)
 + Makefile(s): do not enforce "all indents must be done with tab"
 + Makefile(s): avoid recipe prefix in conditional statements

 Adjust to an upcoming changes to GNU make that breaks our Makefiles.

 Will merge to 'master'.
 source: <9d14c08ca6cc06cdf8fb4ba33d2470053dca3966.1712591504.git.me@ttaylorr.com>


* ps/t0610-umask-fix (2024-04-09) 2 commits
  (merged to 'next' on 2024-04-10 at 659a29b138)
 + t0610: execute git-pack-refs(1) with specified umask
 + t0610: make `--shared=` tests reusable

 The "shared repository" test in the t0610 reftable test failed
 under restrictive umask setting (e.g. 007), which has been
 corrected.

 Will merge to 'master'.
 source: <cover.1712656576.git.ps@pks.im>


* ma/win32-unix-domain-socket (2024-04-03) 1 commit
  (merged to 'next' on 2024-04-09 at b98021a65c)
 + Win32: detect unix socket support at runtime

 Windows binary used to decide the use of unix-domain socket at
 build time, but it learned to make the decision at runtime instead.

 Will merge to 'master'.
 source: <pull.1708.git.1712158923106.gitgitgadget@gmail.com>


* ps/reftable-write-optim (2024-04-08) 11 commits
 - reftable/block: reuse compressed array
 - reftable/block: reuse zstream when writing log blocks
 - reftable/writer: reset `last_key` instead of releasing it
 - reftable/writer: unify releasing memory
 - reftable/writer: refactorings for `writer_flush_nonempty_block()`
 - reftable/writer: refactorings for `writer_add_record()`
 - refs/reftable: don't recompute committer ident
 - reftable: remove name checks
 - refs/reftable: skip duplicate name checks
 - refs/reftable: perform explicit D/F check when writing symrefs
 - refs/reftable: fix D/F conflict error message on ref copy

 Code to write out reftable has seen some optimization and
 simplification.
 source: <cover.1712578837.git.ps@pks.im>


* ds/send-email-per-message-block (2024-04-10) 2 commits
 - send-email: make it easy to discern the messages for each patch
 - send-email: move newline characters out of a few translatable strings

 "git send-email" learned to separate its reports on each message it
 sends out with an extra blank line in between.

 Comments?
 source: <cover.1712732383.git.dsimic@manjaro.org>


* ds/fetch-config-parse-microfix (2024-04-05) 1 commit
  (merged to 'next' on 2024-04-09 at 585dcadd63)
 + fetch: return when parsing submodule.recurse

 A config parser callback function fell through instead of returning
 after recognising and processing a variable, wasting cycles, which
 has been corrected.

 Will merge to 'master'.
 source: <pull.1709.git.1712285542303.gitgitgadget@gmail.com>


* rs/apply-lift-path-length-limit (2024-04-05) 2 commits
  (merged to 'next' on 2024-04-09 at 3270d194fd)
 + path: remove mksnpath()
 + apply: avoid fixed-size buffer in create_one_file()

 "git apply" has been updated to lift the hardcoded pathname length
 limit, which in turn allowed a mksnpath() function that is no
 longer used.

 Will merge to 'master'.
 source: <df774306-f29b-4a75-a282-59db89812b9a@web.de>


* rs/apply-reject-fd-leakfix (2024-04-05) 1 commit
  (merged to 'next' on 2024-04-09 at 11efa0543c)
 + apply: don't leak fd on fdopen() error

 A file descriptor leak in an error codepath, used when "git apply
 --reject" fails to create the *.rej file, has been corrected.

 Will merge to 'master'.
 source: <5ba55ee4-94c7-4094-a744-584fc623b391@web.de>


* ba/osxkeychain-updates (2024-04-01) 4 commits
  (merged to 'next' on 2024-04-10 at 1e7d925a43)
 + osxkeychain: store new attributes
 + osxkeychain: erase matching passwords only
 + osxkeychain: erase all matching credentials
 + osxkeychain: replace deprecated SecKeychain API

 Update osxkeychain backend with features required for the recent
 credential subsystem.

 Will merge to 'master'.
 source: <pull.1667.git.1708212896.gitgitgadget@gmail.com>


* jk/libcurl-8.7-regression-workaround (2024-04-05) 3 commits
  (merged to 'next' on 2024-04-10 at 3b76577bfc)
 + remote-curl: add Transfer-Encoding header only for older curl
 + INSTALL: bump libcurl version to 7.21.3
 + http: reset POSTFIELDSIZE when clearing curl handle

 Fix was added to work around a regression in libcURL 8.7.0 (which has
 already been fixed in their tip of the tree).

 Will merge to 'master'.
 source: <20240402200254.GA874754@coredump.intra.peff.net>


* tb/t7700-fixup (2024-04-03) 1 commit
  (merged to 'next' on 2024-04-10 at ff1f877ef7)
 + t/t7700-repack.sh: fix test breakages with `GIT_TEST_MULTI_PACK_INDEX=1 `

 Test fix.

 Will merge to 'master'.
 source: <7e8d435d58eea19d2aae0be366720f5956d29a5d.1712075189.git.me@ttaylorr.com>


* gt/add-u-commit-i-pathspec-check (2024-04-03) 3 commits
  (merged to 'next' on 2024-04-09 at 1a0c757907)
 + builtin/add: error out when passing untracked path with -u
 + builtin/commit: error out when passing untracked path with -i
 + revision: optionally record matches with pathspec elements

 "git add -u <pathspec>" and "git commit [-i] <pathspec>" did not
 diagnose a pathspec element that did not match any files in certain
 situations, unlike "git add <pathspec>" did.

 Will merge to 'master'.
 source: <20240402213640.139682-2-shyamthakkar001@gmail.com>


* jt/reftable-geometric-compaction (2024-04-08) 4 commits
  (merged to 'next' on 2024-04-10 at 7e868a831c)
 + reftable/stack: use geometric table compaction
 + reftable/stack: add env to disable autocompaction
 + reftable/stack: expose option to disable auto-compaction
 + Merge branch 'ps/pack-refs-auto' into jt/reftable-geometric-compaction

 The strategy to compact multiple tables of reftables after many
 operations accumulate many entries has been improved to avoid
 accumulating too many tables uncollected.

 Will merge to 'master'.
 source: <pull.1683.v6.git.1712593016.gitgitgadget@gmail.com>


* ew/khash-to-khashl (2024-03-28) 3 commits
 - khashl: fix ensemble lookups on empty table
 - treewide: switch to khashl for memory savings
 - list-objects-filter: use kh_size API

 The hashtable library "khash.h" has been replaced with "khashl.h"
 that has better memory usage characteristics.

 Needs review.
 source: <20240328101356.300374-1-e@80x24.org>


* ps/reftable-block-iteration-optim (2024-03-27) 9 commits
 - reftable/block: reuse `zstream` state on inflation
 - reftable/block: open-code call to `uncompress2()`
 - reftable/block: reuse uncompressed blocks
 - reftable/reader: iterate to next block in place
 - reftable/block: move ownership of block reader into `struct table_iter`
 - reftable/block: introduce `block_reader_release()`
 - reftable/block: better grouping of functions
 - reftable/block: merge `block_iter_seek()` and `block_reader_seek()`
 - reftable/block: rename `block_reader_start()`

 The code to iterate over reftable blocks has seen some optimization
 to reduce memory allocation and deallocation.

 Needs review.
 source: <cover.1711519925.git.ps@pks.im>


* bc/credential-scheme-enhancement (2024-03-27) 12 commits
 . credential: add support for multistage credential rounds
 . t5563: refactor for multi-stage authentication
 . docs: set a limit on credential line length
 . credential: enable state capability
 . credential: add an argument to keep state
 . http: add support for authtype and credential
 . docs: indicate new credential protocol fields
 . credential: gate new fields on capability
 . credential: add a field for pre-encoded credentials
 . http: use new headers for each object request
 . remote-curl: reset headers on new request
 . credential: add an authtype field

 The credential helper protocol, together with the HTTP layer, have
 been enhanced to support authentication schemes different from
 username & password pair, like Bearer and NTLM.

 Expecting a reroll.
 cf. <ZgSQ5o_KyqDaxz1m@tapette.crustytoothpaste.net>
 source: <20240324011301.1553072-1-sandals@crustytoothpaste.net>


* tb/pseudo-merge-reachability-bitmap (2024-03-20) 24 commits
 - t/perf: implement performace tests for pseudo-merge bitmaps
 - pseudo-merge: implement support for finding existing merges
 - ewah: `bitmap_equals_ewah()`
 - pack-bitmap: extra trace2 information
 - pack-bitmap.c: use pseudo-merges during traversal
 - t/test-lib-functions.sh: support `--date` in `test_commit_bulk()`
 - pack-bitmap: implement test helpers for pseudo-merge
 - ewah: implement `ewah_bitmap_popcount()`
 - pseudo-merge: implement support for reading pseudo-merge commits
 - pack-bitmap.c: read pseudo-merge extension
 - pseudo-merge: scaffolding for reads
 - pack-bitmap: extract `read_bitmap()` function
 - pack-bitmap-write.c: write pseudo-merge table
 - pack-bitmap-write.c: select pseudo-merge commits
 - pseudo-merge: implement support for selecting pseudo-merge commits
 - pack-bitmap: make `bitmap_writer_push_bitmapped_commit()` public
 - pack-bitmap: implement `bitmap_writer_has_bitmapped_object_id()`
 - pack-bitmap-write: support storing pseudo-merge commits
 - pseudo-merge.ch: initial commit
 - pack-bitmap: move some initialization to `bitmap_writer_init()`
 - pack-bitmap: drop unused `max_bitmaps` parameter
 - ewah: implement `ewah_bitmap_is_subset()`
 - config: repo_config_get_expiry()
 - Documentation/technical: describe pseudo-merge bitmaps format

 The pack-bitmap machinery learned to write pseudo-merge bitmaps,
 which act as imaginary octopus merges covering un-bitmapped
 reference tips. This enhances bitmap coverage, and thus,
 performance, for repositories with many references using bitmaps.

 Expecting a reroll.
 cf. <ZfyxCLpjbaScIdWA@nand.local>
 source: <cover.1710972293.git.me@ttaylorr.com>


* la/hide-trailer-info (2024-03-16) 7 commits
 - trailer: retire trailer_info_get() from API
 - trailer: make trailer_info struct private
 - trailer: make parse_trailers() return trailer_info pointer
 - interpret-trailers: access trailer_info with new helpers
 - sequencer: use the trailer iterator
 - trailer: teach iterator about non-trailer lines
 - Merge branch 'la/format-trailer-info' into la/hide-trailer-info
 (this branch uses la/format-trailer-info.)

 The trailer API has been reshuffled a bit.

 Needs review.
 source: <pull.1696.git.1710570428.gitgitgadget@gmail.com>


* ds/doc-config-reflow (2024-03-14) 1 commit
 - config.txt: perform some minor reformatting

 Reflow a paragraph in the documentation source without any effect
 to the formatted text.

 Will discard.
 source: <97bdaf075bf5a68554cca1731eca78aff2662907.1710444774.git.dsimic@manjaro.org>


* la/format-trailer-info (2024-03-15) 5 commits
 - trailer: finish formatting unification
 - trailer: begin formatting unification
 - format_trailer_info(): append newline for non-trailer lines
 - format_trailer_info(): drop redundant unfold_value()
 - format_trailer_info(): use trailer_item objects
 (this branch is used by la/hide-trailer-info.)

 The code to format trailers have been cleaned up.

 Comments?
 source: <pull.1694.git.1710485706.gitgitgadget@gmail.com>


* ie/config-includeif-hostname (2024-03-19) 2 commits
 - config: learn the "hostname:" includeIf condition
 - t: add a test helper for getting hostname

 The conditional inclusion mechanism for configuration files learned
 to switch on the hostname.

 Expecting a reroll.
 cf. <20240319210428.GC1159535@coredump.intra.peff.net>
 cf. <20240320001934.GA903718@coredump.intra.peff.net>
 source: <20240319183722.211300-1-ignacio@iencinas.com>


* js/build-fuzz-more-often (2024-04-11) 2 commits
 - fuzz: link fuzz programs with `make all` on Linux
 - ci: also define CXX environment variable

 In addition to building the objects needed, try to link the objects
 that are used in fuzzer tests, to make sure at least they build
 without bitrot, in Linux CI runs.

 Expecting a hopefully minor and final reroll.
 cf. <20240412042247.GA1077925@coredump.intra.peff.net>
 source: <cover.1712858920.git.steadmon@google.com>


* sj/userdiff-c-sharp (2024-04-05) 1 commit
  (merged to 'next' on 2024-04-10 at 56aaf254a7)
 + userdiff: better method/property matching for C#

 The userdiff patterns for C# has been updated.

 Acked-by: Johannes Sixt <j6t@kdbg.org>
 cf. <c2154457-3f2f-496e-9b8b-c8ea7257027b@kdbg.org>

 Will merge to 'master'.
 source: <pull.1682.v5.git.git.1712180564927.gitgitgadget@gmail.com>


* cw/git-std-lib (2024-02-28) 4 commits
 - SQUASH??? get rid of apparent debugging crufts
 - test-stdlib: show that git-std-lib is independent
 - git-std-lib: introduce Git Standard Library
 - pager: include stdint.h because uintmax_t is used

 Split libgit.a out to a separate git-std-lib tor easier reuse.

 Expecting a reroll.
 source: <cover.1696021277.git.jonathantanmy@google.com>


* js/cmake-with-test-tool (2024-02-23) 2 commits
 - cmake: let `test-tool` run the unit tests, too
 - Merge branch 'js/unit-test-suite-runner' into js/cmake-with-test-tool
 (this branch uses js/unit-test-suite-runner.)

 "test-tool" is now built in CMake build to also run the unit tests.

 May want to roll it into the base topic.
 source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>


* js/unit-test-suite-runner (2024-02-23) 8 commits
 - ci: use test-tool as unit test runner on Windows
 - t/Makefile: run unit tests alongside shell tests
 - unit tests: add rule for running with test-tool
 - test-tool run-command testsuite: support unit tests
 - test-tool run-command testsuite: remove hardcoded filter
 - test-tool run-command testsuite: get shell from env
 - t0080: turn t-basic unit test into a helper
 - Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner
 (this branch is used by js/cmake-with-test-tool.)

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.

 Needs review.
 source: <cover.1708728717.git.steadmon@google.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 cf. <6683f24e-7e56-489d-be2d-8afe1fc38d2b@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Expecting a reroll.
 cf. <CAC4O8c88Z3ZqxH2VVaNPpEGB3moL5dJcg3cOWuLWwQ_hLrJMtA@mail.gmail.com>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 22%]

* Re: What's cooking in git.git (Apr 2024, #04; Tue, 9)
  @ 2024-04-10 16:08 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-04-10 16:08 UTC (permalink / raw)
  To: Patrick Steinhardt; +Cc: git, Justin Tobler

Patrick Steinhardt <ps@pks.im> writes:

> On Tue, Apr 09, 2024 at 04:31:30PM -0700, Junio C Hamano wrote:
>> * jt/reftable-geometric-compaction (2024-04-08) 4 commits
>>  - reftable/stack: use geometric table compaction
>>  - reftable/stack: add env to disable autocompaction
>>  - reftable/stack: expose option to disable auto-compaction
>>  - Merge branch 'ps/pack-refs-auto' into jt/reftable-geometric-compaction
>> 
>>  The strategy to compact multiple tables of reftables after many
>>  operations accumulate many entries has been improved to avoid
>>  accumulating too many tables uncollected.
>> 
>>  Comments?
>>  source: <pull.1683.v6.git.1712593016.gitgitgadget@gmail.com>
>
> You mentioned in [1] that you'll mark this for next after taking a look,
> so I assume that you asking for comments here is simply stale. In any
> case, the patch series is ready to be merged down in my opinion.

Thanks.  I haven't had time to read it over, during which time
others are welcome to further comment.  Hopefully I can find some
time to do so today.

Thanks.


^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Apr 2024, #04; Tue, 9)
@ 2024-04-09 23:31 21% Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2024-04-09 23:31 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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-scm/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']

* dg/myfirstobjectwalk-updates (2024-03-27) 5 commits
  (merged to 'next' on 2024-04-02 at effa6a98a6)
 + MyFirstObjectWalk: add stderr to pipe processing
 + MyFirstObjectWalk: fix description for counting omitted objects
 + MyFirstObjectWalk: fix filtered object walk
 + MyFirstObjectWalk: fix misspelled "builtins/"
 + MyFirstObjectWalk: use additional arg in config_fn_t

 Update a more recent tutorial doc.
 source: <cover.1711537370.git.dirk@gouders.net>


* es/test-cron-safety (2024-03-31) 1 commit
  (merged to 'next' on 2024-04-02 at e383c8cfb2)
 + test-lib: fix non-functioning GIT_TEST_MAINT_SCHEDULER fallback

 The test script had an incomplete and ineffective attempt to avoid
 clobbering the testing user's real crontab (and its equivalents),
 which has been completed.
 source: <20240329222703.9343-1-ericsunshine@charter.net>


* ja/doc-markup-updates (2024-03-29) 5 commits
  (merged to 'next' on 2024-04-02 at 69b015d7ce)
 + doc: git-clone: do not autoreference the manpage in itself
 + doc: git-clone: apply new documentation formatting guidelines
 + doc: git-init: apply new documentation formatting guidelines
 + doc: allow literal and emphasis format in doc vs help tests
 + doc: rework CodingGuidelines with new formatting rules

 Documentation rules has been explicitly described how to mark-up
 literal parts and a few manual pages have been updated as examples.
 source: <pull.1702.v2.git.1711711181.gitgitgadget@gmail.com>


* jc/advice-sans-trailing-whitespace (2024-03-29) 1 commit
  (merged to 'next' on 2024-04-02 at 3cb0fda1bf)
 + advice: omit trailing whitespace

 The "hint:" messages given by the advice mechanism, when given a
 message with a blank line, left a line with trailing whitespace,
 which has been cleansed.
 source: <xmqq4jcooddp.fsf@gitster.g>


* jc/apply-parse-diff-git-header-names-fix (2024-03-29) 3 commits
  (merged to 'next' on 2024-04-02 at d1fa726c41)
 + t4126: fix "funny directory name" test on Windows (again)
  (merged to 'next' on 2024-03-28 at a35de15836)
 + t4126: make sure a directory with SP at the end is usable
  (merged to 'next' on 2024-03-27 at d586367985)
 + apply: parse names out of "diff --git" more carefully

 "git apply" failed to extract the filename the patch applied to,
 when the change was about an empty file created in or deleted from
 a directory whose name ends with a SP, which has been corrected.
 source: <xmqqfrwlltjn.fsf@gitster.g>
 source: <xmqqh6gqt674.fsf_-_@gitster.g>
 source: <xmqq5xx50x8p.fsf_-_@gitster.g>


* mg/editorconfig-makefile (2024-03-23) 1 commit
  (merged to 'next' on 2024-04-02 at 907b55579e)
 + editorconfig: add Makefiles to "text files"

 The .editorconfig file has been taught that a Makefile uses HT
 indentation.
 source: <20240322221813.13019-1-mg@max.gautier.name>


* ps/pack-refs-auto (2024-03-25) 16 commits
  (merged to 'next' on 2024-04-02 at 1d76dc3648)
 + builtin/gc: pack refs when using `git maintenance run --auto`
 + builtin/gc: forward git-gc(1)'s `--auto` flag when packing refs
 + t6500: extract objects with "17" prefix
 + builtin/gc: move `struct maintenance_run_opts`
 + builtin/pack-refs: introduce new "--auto" flag
 + builtin/pack-refs: release allocated memory
 + refs/reftable: expose auto compaction via new flag
 + refs: remove `PACK_REFS_ALL` flag
 + refs: move `struct pack_refs_opts` to where it's used
 + t/helper: drop pack-refs wrapper
 + refs/reftable: print errors on compaction failure
 + reftable/stack: gracefully handle failed auto-compaction due to locks
 + reftable/stack: use error codes when locking fails during compaction
 + reftable/error: discern locked/outdated errors
 + reftable/stack: fix error handling in `reftable_stack_init_addition()`
 + Merge branch 'ps/reftable-stack-tempfile' into ps/pack-refs-auto
 (this branch is used by jt/reftable-geometric-compaction.)

 "git pack-refs" learned the "--auto" option, which is a useful
 addition to be triggered from "git gc --auto".

 Acked-by: Karthik Nayak <karthik.188@gmail.com>
 cf. <CAOLa=ZRAEA7rSUoYL0h-2qfEELdbPHbeGpgBJRqesyhHi9Q6WQ@mail.gmail.com>
 source: <cover.1711360631.git.ps@pks.im>


* rj/add-p-explicit-reshow (2024-03-29) 2 commits
  (merged to 'next' on 2024-04-02 at 05c7e930af)
 + add-patch: do not print hunks repeatedly
 + add-patch: introduce 'p' in interactive-patch

 "git add -p" and other "interactive hunk selection" UI has learned to
 skip showing the hunk immediately after it has already been shown, and
 an additional action to explicitly ask to reshow the current hunk.
 source: <a9c515fe-6664-4b5d-abca-d88fdd32a883@gmail.com>


* rj/use-adv-if-enabled (2024-03-30) 3 commits
  (merged to 'next' on 2024-04-02 at 31d4453035)
 + add: use advise_if_enabled for ADVICE_ADD_EMBEDDED_REPO
 + add: use advise_if_enabled for ADVICE_ADD_EMPTY_PATHSPEC
 + add: use advise_if_enabled for ADVICE_ADD_IGNORED_FILE

 Use advice_if_enabled() API to rewrite a simple pattern to
 call advise() after checking advice_enabled().
 source: <46fba030-d7aa-49d2-88fa-e506850f7b6a@gmail.com>

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

* rs/date-mode-pass-by-value (2024-04-05) 1 commit
 - date: make DATE_MODE thread-safe

 The codepaths that reach date_mode_from_type() have been updated to
 pass "struct date_mode" by value to make them thread safe.

 Will merge to 'next'.
 source: <c6cb255a-72f0-4ac2-81a2-1d8e95570a81@web.de>


* rs/usage-fallback-to-show-message-format (2024-04-05) 1 commit
 - usage: report vsnprintf(3) failure

 vreportf(), which is usede by error() and friends, has been taught
 to give the error message printf-format string when its vsnprintf()
 call fails, instead of showing nothing useful to identify the
 nature of the error.

 Will merge to 'next'.
 source: <3da13298-b6a6-4391-b8e8-5dae9a28b860@web.de>


* jc/local-extern-shell-rules (2024-04-05) 8 commits
 - t1016: local VAR="VAL" fix
 - t0610: local VAR="VAL" fix
 - t: teach lint that RHS of 'local VAR=VAL' needs to be quoted
 - t: local VAR="VAL" (quote ${magic-reference})
 - t: local VAR="VAL" (quote command substitution)
 - t: local VAR="VAL" (quote positional parameters)
 - CodingGuidelines: quote assigned value in 'local var=$val'
 - CodingGuidelines: describe "export VAR=VAL" rule

 Document and apply workaround for a buggy version of dash that
 mishandles "local var=val" construct.

 Will merge to 'next'.
 source: <20240406000902.3082301-1-gitster@pobox.com>


* jc/unleak-core-excludesfile (2024-04-08) 1 commit
 - config: do not leak excludes_file

 The variable that holds the value read from the core.excludefile
 configuration variable used to leak, which has been corrected.

 Will merge to 'next'.
 source: <xmqqttkeicov.fsf@gitster.g>


* la/doc-use-of-contacts-when-contributing (2024-04-05) 8 commits
 - SubmittingPatches: demonstrate using git-contacts with git-send-email
 - SubmittingPatches: add heading for format-patch and send-email
 - SubmittingPatches: dedupe discussion of security patches
 - SubmittingPatches: discuss reviewers first
 - SubmittingPatches: quote commands
 - SubmittingPatches: mention GitGitGadget
 - SubmittingPatches: make 'git contacts' grep-friendly
 - MyFirstContribution: mention contrib/contacts/git-contacts

 Advertise "git contacts", a tool for newcomers to find people to
 ask review for their patches, a bit more in our developer
 documentation.

 Expecting a reroll.
 cf. <owlypluzs5qa.fsf@fine.c.googlers.com>
 source: <pull.1704.v2.git.1712366536.gitgitgadget@gmail.com>


* ps/ci-test-with-jgit (2024-04-08) 12 commits
 - t0612: add tests to exercise Git/JGit reftable compatibility
 - t0610: fix non-portable variable assignment
 - t06xx: always execute backend-specific tests
 - ci: install JGit dependency
 - ci: make Perforce binaries executable for all users
 - ci: merge scripts which install dependencies
 - ci: merge custom PATH directories
 - ci: convert "install-dependencies.sh" to use "/bin/sh"
 - ci: drop duplicate package installation for "linux-gcc-default"
 - ci: allow skipping sudo on dockerized jobs
 - ci: expose distro name in dockerized GitHub jobs
 - ci: rename "runs_on_pool" to "distro"

 Tests to ensure interoperability between reftable written by jgit
 and our code have been added and enabled in CI.

 Comments?
 source: <cover.1712555682.git.ps@pks.im>


* pw/rebase-i-error-message (2024-04-08) 2 commits
 - rebase -i: improve error message when picking merge
 - rebase -i: pass struct replay_opts to parse_insn_line()

 When the user adds to "git rebase -i" instruction to "pick" a merge
 commit, the error experience is not pleasant.  Such an error is now
 caught earlier in the process that parses the todo list.

 Comments?
 source: <pull.1672.v2.git.1712585787.gitgitgadget@gmail.com>


* tb/make-indent-conditional-with-non-spaces (2024-04-08) 2 commits
 - Makefile(s): do not enforce "all indents must be done with tab"
 - Makefile(s): avoid recipe prefix in conditional statements

 Adjust to an upcoming changes to GNU make that breaks our Makefiles.

 Will merge to 'next'.
 source: <9d14c08ca6cc06cdf8fb4ba33d2470053dca3966.1712591504.git.me@ttaylorr.com>


* ps/t0610-umask-fix (2024-04-09) 2 commits
 - t0610: execute git-pack-refs(1) with specified umask
 - t0610: make `--shared=` tests reusable

 The "shared repository" test in the t0610 reftable test failed
 under restrictive umask setting (e.g. 007), which has been
 corrected.

 Will merge to 'next'.
 source: <cover.1712656576.git.ps@pks.im>

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

* ma/win32-unix-domain-socket (2024-04-03) 1 commit
  (merged to 'next' on 2024-04-09 at b98021a65c)
 + Win32: detect unix socket support at runtime

 Windows binary used to decide the use of unix-domain socket at
 build time, but it learned to make the decision at runtime instead.

 Will merge to 'master'.
 source: <pull.1708.git.1712158923106.gitgitgadget@gmail.com>


* ps/reftable-write-optim (2024-04-08) 11 commits
 - reftable/block: reuse compressed array
 - reftable/block: reuse zstream when writing log blocks
 - reftable/writer: reset `last_key` instead of releasing it
 - reftable/writer: unify releasing memory
 - reftable/writer: refactorings for `writer_flush_nonempty_block()`
 - reftable/writer: refactorings for `writer_add_record()`
 - refs/reftable: don't recompute committer ident
 - reftable: remove name checks
 - refs/reftable: skip duplicate name checks
 - refs/reftable: perform explicit D/F check when writing symrefs
 - refs/reftable: fix D/F conflict error message on ref copy

 Code to write out reftable has seen some optimization and
 simplification.
 source: <cover.1712578837.git.ps@pks.im>


* ds/send-email-per-message-block (2024-04-08) 3 commits
 - send-email: separate the confirmation prompts from the messages
 - send-email: make it easy to discern the messages for each patch
 - send-email: move newline character out of a translatable string

 "git send-email" learned to separate its reports on each message it
 sends out with an extra blank line in between.

 Comments?
 source: <cover.1712486910.git.dsimic@manjaro.org>


* ds/fetch-config-parse-microfix (2024-04-05) 1 commit
  (merged to 'next' on 2024-04-09 at 585dcadd63)
 + fetch: return when parsing submodule.recurse

 A config parser callback function fell through instead of returning
 after recognising and processing a variable, wasting cycles, which
 has been corrected.

 Will merge to 'master'.
 source: <pull.1709.git.1712285542303.gitgitgadget@gmail.com>


* rs/apply-lift-path-length-limit (2024-04-05) 2 commits
  (merged to 'next' on 2024-04-09 at 3270d194fd)
 + path: remove mksnpath()
 + apply: avoid fixed-size buffer in create_one_file()

 "git apply" has been updated to lift the hardcoded pathname length
 limit, which in turn allowed a mksnpath() function that is no
 longer used.

 Will merge to 'master'.
 source: <df774306-f29b-4a75-a282-59db89812b9a@web.de>


* rs/apply-reject-fd-leakfix (2024-04-05) 1 commit
  (merged to 'next' on 2024-04-09 at 11efa0543c)
 + apply: don't leak fd on fdopen() error

 A file descriptor leak in an error codepath, used when "git apply
 --reject" fails to create the *.rej file, has been corrected.

 Will merge to 'master'.
 source: <5ba55ee4-94c7-4094-a744-584fc623b391@web.de>


* kn/clarify-update-ref-doc (2024-04-02) 2 commits
  (merged to 'next' on 2024-04-02 at d1b9c5aa67)
 + githooks: use {old,new}-oid instead of {old,new}-value
 + update-ref: use {old,new}-oid instead of {old,new}value

 Doc update, as a preparation to enhance "git update-ref --stdin".

 Will merge to 'master'.
 source: <20240402064915.191104-1-knayak@gitlab.com>


* vs/complete-with-set-u-fix (2024-04-01) 2 commits
  (merged to 'next' on 2024-04-02 at d8f6a511e8)
 + completion: protect prompt against unset SHOWUPSTREAM in nounset mode
 + completion: fix prompt with unset SHOWCONFLICTSTATE in nounset mode

 Another "set -u" fix for the bash prompt (in contrib/) script.

 Will merge to 'master'.
 source: <20240401190751.8676-1-ville.skytta@iki.fi>


* ba/osxkeychain-updates (2024-04-01) 4 commits
 - osxkeychain: store new attributes
 - osxkeychain: erase matching passwords only
 - osxkeychain: erase all matching credentials
 - osxkeychain: replace deprecated SecKeychain API

 Update osxkeychain backend with features required for the recent
 credential subsystem.

 Will merge to 'next'?
 source: <pull.1667.git.1708212896.gitgitgadget@gmail.com>


* rs/imap-send-use-xsnprintf (2024-04-02) 1 commit
  (merged to 'next' on 2024-04-04 at 789ad853e1)
 + imap-send: use xsnprintf to format command

 Code clean-up and duplicate reduction.

 Will merge to 'master'.
 source: <f9ad9f41-5b9b-474e-9818-f91fc937daae@web.de>


* tb/midx-write (2024-04-01) 5 commits
  (merged to 'next' on 2024-04-05 at b4870116f7)
 + midx-write.c: use `--stdin-packs` when repacking
 + midx-write.c: check count of packs to repack after grouping
 + midx-write.c: factor out common want_included_pack() routine
 + midx-write: move writing-related functions from midx.c
 + Merge branch 'rs/midx-use-strvec-pushf' into tb/midx-write

 Code clean-up by splitting code responsible for writing midx files
 into its own file.

 Will merge to 'master'.
 source: <cover.1712006190.git.me@ttaylorr.com>


* jc/t2104-style-update (2024-04-02) 1 commit
  (merged to 'next' on 2024-04-03 at 0449835479)
 + t2104: style fixes

 Coding style fixes.

 Will merge to 'master'.
 source: <xmqqmsqb4ngg.fsf@gitster.g>


* rs/t-prio-queue-cleanup (2024-04-02) 1 commit
  (merged to 'next' on 2024-04-04 at 7961c838ac)
 + t-prio-queue: simplify using compound literals

 t-prio-queue test has been cleaned up by using C99 compound
 literals; this is meant to also serve as a weather-balloon to smoke
 out folks with compilers who have trouble compiling code that uses
 the feature.

 Will merge to 'master'.
 source: <520da361-1b80-4ba3-87b2-86d6fdfc18b5@web.de>


* jk/libcurl-8.7-regression-workaround (2024-04-05) 3 commits
 - remote-curl: add Transfer-Encoding header only for older curl
 - INSTALL: bump libcurl version to 7.21.3
 - http: reset POSTFIELDSIZE when clearing curl handle

 Fix was added to work around a regression in libcURL 8.7.0 (which has
 already been fixed in their tip of the tree).

 Will merge to 'next'.
 source: <20240402200254.GA874754@coredump.intra.peff.net>


* tb/t7700-fixup (2024-04-03) 1 commit
 - t/t7700-repack.sh: fix test breakages with `GIT_TEST_MULTI_PACK_INDEX=1 `

 Test fix.

 Will merge to 'next'.
 source: <7e8d435d58eea19d2aae0be366720f5956d29a5d.1712075189.git.me@ttaylorr.com>


* gt/add-u-commit-i-pathspec-check (2024-04-03) 3 commits
  (merged to 'next' on 2024-04-09 at 1a0c757907)
 + builtin/add: error out when passing untracked path with -u
 + builtin/commit: error out when passing untracked path with -i
 + revision: optionally record matches with pathspec elements

 "git add -u <pathspec>" and "git commit [-i] <pathspec>" did not
 diagnose a pathspec element that did not match any files in certain
 situations, unlike "git add <pathspec>" did.

 Will merge to 'master'.
 source: <20240402213640.139682-2-shyamthakkar001@gmail.com>


* jt/reftable-geometric-compaction (2024-04-08) 4 commits
 - reftable/stack: use geometric table compaction
 - reftable/stack: add env to disable autocompaction
 - reftable/stack: expose option to disable auto-compaction
 - Merge branch 'ps/pack-refs-auto' into jt/reftable-geometric-compaction

 The strategy to compact multiple tables of reftables after many
 operations accumulate many entries has been improved to avoid
 accumulating too many tables uncollected.

 Comments?
 source: <pull.1683.v6.git.1712593016.gitgitgadget@gmail.com>


* ds/typofix-core-config-doc (2024-03-31) 1 commit
  (merged to 'next' on 2024-04-02 at 79496fcfc4)
 + config: fix some small capitalization issues, as spotted

 Typofix.

 Will merge to 'master'.
 source: <26135b06c48565ee8ac6dcfc1ef5431511e6202c.1711918168.git.dsimic@manjaro.org>


* jc/checkout-detach-wo-tracking-report (2024-03-30) 1 commit
  (merged to 'next' on 2024-04-04 at 161eca247d)
 + checkout: omit "tracking" information on a detached HEAD

 "git checkout/switch --detach foo", after switching to the detached
 HEAD state, gave the tracking information for the 'foo' branch,
 which was pointless.

 Tested-by: M Hickford <mirth.hickford@gmail.com>
 cf. <CAGJzqsmE9FDEBn=u3ge4LA3ha4fDbm4OWiuUbMaztwjELBd7ug@mail.gmail.com>

 Will merge to 'master'.
 source: <xmqqa5mfl7ud.fsf@gitster.g>


* rs/mem-pool-size-t-safety (2024-03-31) 1 commit
  (merged to 'next' on 2024-04-02 at 3517d48210)
 + mem-pool: use st_add() in mem_pool_strvfmt()

 size_t arithmetic safety.

 Will merge to 'master'.
 source: <bbe00b9e-64d8-4ec8-a2b9-2c6917c72dbd@web.de>


* ew/khash-to-khashl (2024-03-28) 3 commits
 - khashl: fix ensemble lookups on empty table
 - treewide: switch to khashl for memory savings
 - list-objects-filter: use kh_size API

 The hashtable library "khash.h" has been replaced with "khashl.h"
 that has better memory usage characteristics.

 Needs review.
 source: <20240328101356.300374-1-e@80x24.org>


* ps/reftable-block-iteration-optim (2024-03-27) 9 commits
 - reftable/block: reuse `zstream` state on inflation
 - reftable/block: open-code call to `uncompress2()`
 - reftable/block: reuse uncompressed blocks
 - reftable/reader: iterate to next block in place
 - reftable/block: move ownership of block reader into `struct table_iter`
 - reftable/block: introduce `block_reader_release()`
 - reftable/block: better grouping of functions
 - reftable/block: merge `block_iter_seek()` and `block_reader_seek()`
 - reftable/block: rename `block_reader_start()`

 The code to iterate over reftable blocks has seen some optimization
 to reduce memory allocation and deallocation.

 Needs review.
 source: <cover.1711519925.git.ps@pks.im>


* bc/credential-scheme-enhancement (2024-03-27) 12 commits
 . credential: add support for multistage credential rounds
 . t5563: refactor for multi-stage authentication
 . docs: set a limit on credential line length
 . credential: enable state capability
 . credential: add an argument to keep state
 . http: add support for authtype and credential
 . docs: indicate new credential protocol fields
 . credential: gate new fields on capability
 . credential: add a field for pre-encoded credentials
 . http: use new headers for each object request
 . remote-curl: reset headers on new request
 . credential: add an authtype field

 The credential helper protocol, together with the HTTP layer, have
 been enhanced to support authentication schemes different from
 username & password pair, like Bearer and NTLM.

 Expecting a reroll.
 cf. <ZgSQ5o_KyqDaxz1m@tapette.crustytoothpaste.net>
 source: <20240324011301.1553072-1-sandals@crustytoothpaste.net>


* ps/reftable-binsearch-updates (2024-04-03) 7 commits
  (merged to 'next' on 2024-04-04 at 40e6d5a36b)
 + reftable/block: avoid decoding keys when searching restart points
 + reftable/record: extract function to decode key lengths
 + reftable/block: fix error handling when searching restart points
 + reftable/block: refactor binary search over restart points
 + reftable/refname: refactor binary search over refnames
 + reftable/basics: improve `binsearch()` test
 + reftable/basics: fix return type of `binsearch()` to be `size_t`

 Reftable code clean-up and some bugfixes.

 Will merge to 'master'.
 source: <cover.1712123093.git.ps@pks.im>


* tb/pseudo-merge-reachability-bitmap (2024-03-20) 24 commits
 - t/perf: implement performace tests for pseudo-merge bitmaps
 - pseudo-merge: implement support for finding existing merges
 - ewah: `bitmap_equals_ewah()`
 - pack-bitmap: extra trace2 information
 - pack-bitmap.c: use pseudo-merges during traversal
 - t/test-lib-functions.sh: support `--date` in `test_commit_bulk()`
 - pack-bitmap: implement test helpers for pseudo-merge
 - ewah: implement `ewah_bitmap_popcount()`
 - pseudo-merge: implement support for reading pseudo-merge commits
 - pack-bitmap.c: read pseudo-merge extension
 - pseudo-merge: scaffolding for reads
 - pack-bitmap: extract `read_bitmap()` function
 - pack-bitmap-write.c: write pseudo-merge table
 - pack-bitmap-write.c: select pseudo-merge commits
 - pseudo-merge: implement support for selecting pseudo-merge commits
 - pack-bitmap: make `bitmap_writer_push_bitmapped_commit()` public
 - pack-bitmap: implement `bitmap_writer_has_bitmapped_object_id()`
 - pack-bitmap-write: support storing pseudo-merge commits
 - pseudo-merge.ch: initial commit
 - pack-bitmap: move some initialization to `bitmap_writer_init()`
 - pack-bitmap: drop unused `max_bitmaps` parameter
 - ewah: implement `ewah_bitmap_is_subset()`
 - config: repo_config_get_expiry()
 - Documentation/technical: describe pseudo-merge bitmaps format

 The pack-bitmap machinery learned to write pseudo-merge bitmaps,
 which act as imaginary octopus merges covering un-bitmapped
 reference tips. This enhances bitmap coverage, and thus,
 performance, for repositories with many references using bitmaps.

 Expecting a reroll.
 cf. <ZfyxCLpjbaScIdWA@nand.local>
 source: <cover.1710972293.git.me@ttaylorr.com>


* la/hide-trailer-info (2024-03-16) 7 commits
 - trailer: retire trailer_info_get() from API
 - trailer: make trailer_info struct private
 - trailer: make parse_trailers() return trailer_info pointer
 - interpret-trailers: access trailer_info with new helpers
 - sequencer: use the trailer iterator
 - trailer: teach iterator about non-trailer lines
 - Merge branch 'la/format-trailer-info' into la/hide-trailer-info
 (this branch uses la/format-trailer-info.)

 The trailer API has been reshuffled a bit.

 Needs review.
 source: <pull.1696.git.1710570428.gitgitgadget@gmail.com>


* ds/doc-config-reflow (2024-03-14) 1 commit
 - config.txt: perform some minor reformatting

 Reflow a paragraph in the documentation source without any effect
 to the formatted text.

 Will discard.
 source: <97bdaf075bf5a68554cca1731eca78aff2662907.1710444774.git.dsimic@manjaro.org>


* la/format-trailer-info (2024-03-15) 5 commits
 - trailer: finish formatting unification
 - trailer: begin formatting unification
 - format_trailer_info(): append newline for non-trailer lines
 - format_trailer_info(): drop redundant unfold_value()
 - format_trailer_info(): use trailer_item objects
 (this branch is used by la/hide-trailer-info.)

 The code to format trailers have been cleaned up.

 Comments?
 source: <pull.1694.git.1710485706.gitgitgadget@gmail.com>


* ie/config-includeif-hostname (2024-03-19) 2 commits
 - config: learn the "hostname:" includeIf condition
 - t: add a test helper for getting hostname

 The conditional inclusion mechanism for configuration files learned
 to switch on the hostname.

 Expecting a reroll.
 cf. <20240319210428.GC1159535@coredump.intra.peff.net>
 cf. <20240320001934.GA903718@coredump.intra.peff.net>
 source: <20240319183722.211300-1-ignacio@iencinas.com>


* js/build-fuzz-more-often (2024-03-05) 3 commits
 - SQUASH???
 - fuzz: link fuzz programs with `make all` on Linux
 - ci: also define CXX environment variable

 In addition to building the objects needed, try to link the objects
 that are used in fuzzer tests, to make sure at least they build
 without bitrot, in Linux CI runs.

 Stalled.
 cf. <xmqq1q7w8xx6.fsf@gitster.g>
 source: <cover.1709673020.git.steadmon@google.com>


* sj/userdiff-c-sharp (2024-04-05) 1 commit
 - userdiff: better method/property matching for C#

 The userdiff patterns for C# has been updated.

 Acked-by: Johannes Sixt <j6t@kdbg.org>
 cf. <c2154457-3f2f-496e-9b8b-c8ea7257027b@kdbg.org>

 Will merge to 'next'.
 source: <pull.1682.v5.git.git.1712180564927.gitgitgadget@gmail.com>


* cw/git-std-lib (2024-02-28) 4 commits
 - SQUASH??? get rid of apparent debugging crufts
 - test-stdlib: show that git-std-lib is independent
 - git-std-lib: introduce Git Standard Library
 - pager: include stdint.h because uintmax_t is used

 Split libgit.a out to a separate git-std-lib tor easier reuse.

 Expecting a reroll.
 source: <cover.1696021277.git.jonathantanmy@google.com>


* js/cmake-with-test-tool (2024-02-23) 2 commits
 - cmake: let `test-tool` run the unit tests, too
 - Merge branch 'js/unit-test-suite-runner' into js/cmake-with-test-tool
 (this branch uses js/unit-test-suite-runner.)

 "test-tool" is now built in CMake build to also run the unit tests.

 May want to roll it into the base topic.
 source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>


* js/unit-test-suite-runner (2024-02-23) 8 commits
 - ci: use test-tool as unit test runner on Windows
 - t/Makefile: run unit tests alongside shell tests
 - unit tests: add rule for running with test-tool
 - test-tool run-command testsuite: support unit tests
 - test-tool run-command testsuite: remove hardcoded filter
 - test-tool run-command testsuite: get shell from env
 - t0080: turn t-basic unit test into a helper
 - Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner
 (this branch is used by js/cmake-with-test-tool.)

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.

 Needs review.
 source: <cover.1708728717.git.steadmon@google.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 cf. <6683f24e-7e56-489d-be2d-8afe1fc38d2b@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Expecting a reroll.
 cf. <CAC4O8c88Z3ZqxH2VVaNPpEGB3moL5dJcg3cOWuLWwQ_hLrJMtA@mail.gmail.com>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 21%]

* Re: What's cooking in git.git (Apr 2024, #03; Fri, 5)
  @ 2024-04-06 16:55 99%       ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-04-06 16:55 UTC (permalink / raw)
  To: Dragan Simic; +Cc: git

Dragan Simic <dsimic@manjaro.org> writes:

> Ah, sorry, I wasn't precise enough, please let me explain.  When
> I wrote "prefix", I had its use by humans in mind, e.g. for searching
> the "what's cooking" emails by hand, to see the statuses of one's
> patches.  I mean, that's what I do -- by searching for "ds/", I can
> easily find the statuses of my patches in "what's cooking" emails.
> Does that make sense?

Yes, and the fan-out reduces the search space by a lot, but like the
birthday paradox, given sufficiently large number of people, the
chances of two people falling into the same shard increases.  It of
course does not help that the first and the last capital letters in
people's names are not evenly distributed ;-).


^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (Apr 2024, #03; Fri, 5)
  @ 2024-04-06  5:03 99%   ` Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2024-04-06  5:03 UTC (permalink / raw)
  To: Dragan Simic; +Cc: git

Dragan Simic <dsimic@manjaro.org> writes:

>> * ds/fetch-config-parse-microfix (2024-04-05) 1 commit
>>  - fetch: return when parsing submodule.recurse
>>  A config parser callback function fell through instead of returning
>>  after recognising and processing a variable, wasting cycles, which
>>  has been corrected.
>>  Will merge to 'next'.
>>  source: <pull.1709.git.1712285542303.gitgitgadget@gmail.com>
>
> Isn't this an example of a prefix collision, i.e. "ds/" points
> to two different contributors?

"ls .git/objects/" would tell you that no object is important enough
to squat on a single "prefix" and exclude others, and two objects in
00/ hierarchy are by no means closer together than an object in 00/
hierarchy and another object in 01/ hiearchy.  The idea to use the
fan-out in the ref namespace is pretty much the same.





^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Apr 2024, #03; Fri, 5)
@ 2024-04-05 19:13 22% Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2024-04-05 19:13 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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-scm/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']

* jk/core-comment-string (2024-03-27) 17 commits
  (merged to 'next' on 2024-03-28 at fbf8eb9331)
 + config: add core.commentString
 + config: allow multi-byte core.commentChar
 + environment: drop comment_line_char compatibility macro
 + wt-status: drop custom comment-char stringification
 + sequencer: handle multi-byte comment characters when writing todo list
 + find multi-byte comment chars in unterminated buffers
 + find multi-byte comment chars in NUL-terminated strings
 + prefer comment_line_str to comment_line_char for printing
 + strbuf: accept a comment string for strbuf_add_commented_lines()
 + strbuf: accept a comment string for strbuf_commented_addf()
 + strbuf: accept a comment string for strbuf_stripspace()
 + environment: store comment_line_char as a string
 + strbuf: avoid shadowing global comment_line_char name
 + commit: refactor base-case of adjust_comment_line_char()
 + strbuf: avoid static variables in strbuf_add_commented_lines()
 + strbuf: simplify comment-handling in add_lines() helper
 + config: forbid newline as core.commentChar

 core.commentChar used to be limited to a single byte, but has been
 updated to allow an arbitrary multi-byte sequence.
 source: <20240312091013.GA95442@coredump.intra.peff.net>
 source: <20240327081922.GA830163@coredump.intra.peff.net>


* rs/config-comment (2024-03-15) 3 commits
  (merged to 'next' on 2024-03-28 at 83eaadc2b6)
 + config: allow tweaking whitespace between value and comment
 + config: fix --comment formatting
 + config: add --comment option to add a comment

 "git config" learned "--comment=<message>" option to leave a
 comment immediately after the "variable = value" on the same line
 in the configuration file.
 source: <pull.1681.v2.git.1709824540636.gitgitgadget@gmail.com>


* rs/retire-mksnpath (2024-04-04) 1 commit
 - apply: replace mksnpath() with a mkpathdup() call

 Replace the only remaining caller of mksnpath() with mkpathdup() to
 lift the hardcoded path length limit, and retire the function.

 Expecting a retitle and reroll?
 cf. <xmqqo7aozuih.fsf@gitster.g>
 source: <df774306-f29b-4a75-a282-59db89812b9a@web.de>

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

* ma/win32-unix-domain-socket (2024-04-03) 1 commit
 - Win32: detect unix socket support at runtime

 Windows binary used to decide the use of unix-domain socket at
 build time, but it learned to make the decision at runtime instead.

 Will merge to 'next'.
 source: <pull.1708.git.1712158923106.gitgitgadget@gmail.com>


* ps/reftable-write-optim (2024-04-03) 11 commits
 - reftable/block: reuse compressed array
 - reftable/block: reuse zstream when writing log blocks
 - reftable/writer: reset `last_key` instead of releasing it
 - reftable/writer: unify releasing memory
 - reftable/writer: refactorings for `writer_flush_nonempty_block()`
 - reftable/writer: refactorings for `writer_add_record()`
 - refs/reftable: don't recompute committer ident
 - reftable: remove name checks
 - refs/reftable: skip duplicate name checks
 - refs/reftable: perform explicit D/F check when writing symrefs
 - refs/reftable: fix D/F conflict error message on ref copy

 Code to write out reftable has seen some optimization and
 simplification.

 Expecting a reroll.
 cf. <Zg6SVcGC8kSGSYh-@tanuki>
 source: <cover.1712209149.git.ps@pks.im>


* ds/send-email-per-message-block (2024-04-05) 2 commits
 - SQUASH??? switch to separator semantics
 - send-email: make it easy to discern the messages for each patch

 "git send-email" learned to separate its reports on each message it
 sends out with an extra blank line in between.

 Expecting a reroll.
 cf. <8d47bd687f2ad80bbc1e1c86ae337327@manjaro.org>
 source: <0e087ed992def0746f3d437253248904c2126464.1712262791.git.dsimic@manjaro.org>


* ds/fetch-config-parse-microfix (2024-04-05) 1 commit
 - fetch: return when parsing submodule.recurse

 A config parser callback function fell through instead of returning
 after recognising and processing a variable, wasting cycles, which
 has been corrected.

 Will merge to 'next'.
 source: <pull.1709.git.1712285542303.gitgitgadget@gmail.com>


* rs/apply-lift-path-length-limit (2024-04-05) 2 commits
 - path: remove mksnpath()
 - apply: avoid fixed-size buffer in create_one_file()

 "git apply" has been updated to lift the hardcoded pathname length
 limit, which in turn allowed a mksnpath() function that is no
 longer used.

 Will merge to 'next'.
 source: <df774306-f29b-4a75-a282-59db89812b9a@web.de>


* rs/apply-reject-fd-leakfix (2024-04-05) 1 commit
 - apply: don't leak fd on fdopen() error

 A file descriptor leak in an error codepath, used when "git apply
 --reject" fails to create the *.rej file, has been corrected.

 Will merge to 'next'.
 source: <5ba55ee4-94c7-4094-a744-584fc623b391@web.de>

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

* kn/clarify-update-ref-doc (2024-04-02) 2 commits
  (merged to 'next' on 2024-04-02 at d1b9c5aa67)
 + githooks: use {old,new}-oid instead of {old,new}-value
 + update-ref: use {old,new}-oid instead of {old,new}value

 Doc update, as a preparation to enhance "git update-ref --stdin".

 Will merge to 'master'.
 source: <20240402064915.191104-1-knayak@gitlab.com>


* vs/complete-with-set-u-fix (2024-04-01) 2 commits
  (merged to 'next' on 2024-04-02 at d8f6a511e8)
 + completion: protect prompt against unset SHOWUPSTREAM in nounset mode
 + completion: fix prompt with unset SHOWCONFLICTSTATE in nounset mode

 Another "set -u" fix for the bash prompt (in contrib/) script.

 Will merge to 'master'.
 source: <20240401190751.8676-1-ville.skytta@iki.fi>


* ba/osxkeychain-updates (2024-04-01) 4 commits
 - osxkeychain: store new attributes
 - osxkeychain: erase matching passwords only
 - osxkeychain: erase all matching credentials
 - osxkeychain: replace deprecated SecKeychain API

 Update osxkeychain backend with features required for the recent
 credential subsystem.

 Will merge to 'next'?
 source: <pull.1667.git.1708212896.gitgitgadget@gmail.com>


* rs/imap-send-use-xsnprintf (2024-04-02) 1 commit
  (merged to 'next' on 2024-04-04 at 789ad853e1)
 + imap-send: use xsnprintf to format command

 Code clean-up and duplicate reduction.

 Will merge to 'master'.
 source: <f9ad9f41-5b9b-474e-9818-f91fc937daae@web.de>


* tb/midx-write (2024-04-01) 5 commits
  (merged to 'next' on 2024-04-05 at b4870116f7)
 + midx-write.c: use `--stdin-packs` when repacking
 + midx-write.c: check count of packs to repack after grouping
 + midx-write.c: factor out common want_included_pack() routine
 + midx-write: move writing-related functions from midx.c
 + Merge branch 'rs/midx-use-strvec-pushf' into tb/midx-write

 Code clean-up by splitting code responsible for writing midx files
 into its own file.

 Will merge to 'master'.
 source: <cover.1712006190.git.me@ttaylorr.com>


* jc/t2104-style-update (2024-04-02) 1 commit
  (merged to 'next' on 2024-04-03 at 0449835479)
 + t2104: style fixes

 Coding style fixes.

 Will merge to 'master'.
 source: <xmqqmsqb4ngg.fsf@gitster.g>


* rs/t-prio-queue-cleanup (2024-04-02) 1 commit
  (merged to 'next' on 2024-04-04 at 7961c838ac)
 + t-prio-queue: simplify using compound literals

 t-prio-queue test has been cleaned up by using C99 compound
 literals; this is meant to also serve as a weather-balloon to smoke
 out folks with compilers who have trouble compiling code that uses
 the feature.

 Will merge to 'master'.
 source: <520da361-1b80-4ba3-87b2-86d6fdfc18b5@web.de>


* jk/libcurl-8.7-regression-workaround (2024-04-02) 2 commits
 - INSTALL: bump libcurl version to 7.21.3
 - http: reset POSTFIELDSIZE when clearing curl handle

 Fix was added to work around a regression in libcURL 8.7.0 (which has
 already been fixed in their tip of the tree).

 Expecting a reroll.
 cf. <20240403032045.GA1559972@coredump.intra.peff.net>
 source: <20240402200254.GA874754@coredump.intra.peff.net>


* tb/t7700-fixup (2024-04-03) 1 commit
 - t/t7700-repack.sh: fix test breakages with `GIT_TEST_MULTI_PACK_INDEX=1 `

 source: <7e8d435d58eea19d2aae0be366720f5956d29a5d.1712075189.git.me@ttaylorr.com>


* es/test-cron-safety (2024-03-31) 1 commit
  (merged to 'next' on 2024-04-02 at e383c8cfb2)
 + test-lib: fix non-functioning GIT_TEST_MAINT_SCHEDULER fallback

 The test script had an incomplete and ineffective attempt to avoid
 clobbering the testing user's real crontab (and its equivalents),
 which has been completed.

 Will merge to 'master'.
 source: <20240329222703.9343-1-ericsunshine@charter.net>


* gt/add-u-commit-i-pathspec-check (2024-04-03) 3 commits
 - builtin/add: error out when passing untracked path with -u
 - builtin/commit: error out when passing untracked path with -i
 - revision: optionally record matches with pathspec elements

 "git add -u <pathspec>" and "git commit [-i] <pathspec>" did not
 diagnose a pathspec element that did not match any files in certain
 situations, unlike "git add <pathspec>" did.

 Will merge to 'next'.
 source: <20240402213640.139682-2-shyamthakkar001@gmail.com>


* jc/advice-sans-trailing-whitespace (2024-03-29) 1 commit
  (merged to 'next' on 2024-04-02 at 3cb0fda1bf)
 + advice: omit trailing whitespace

 The "hint:" messages given by the advice mechanism, when given a
 message with a blank line, left a line with trailing whitespace,
 which has been cleansed.

 Will merge to 'master'.
 source: <xmqq4jcooddp.fsf@gitster.g>


* jt/reftable-geometric-compaction (2024-04-05) 4 commits
 - reftable/stack: use geometric table compaction
 - reftable/stack: add env to disable autocompaction
 - reftable/stack: allow disabling of auto-compaction
 - Merge branch 'ps/pack-refs-auto' into jt/reftable-geometric-compaction
 (this branch uses ps/pack-refs-auto.)

 The strategy to compact multiple tables of reftables after many
 operations accumulate many entries has been improved to avoid
 accumulating too many tables uncollected.

 Comments?
 source: <pull.1683.v5.git.1712255369.gitgitgadget@gmail.com>


* ds/typofix-core-config-doc (2024-03-31) 1 commit
  (merged to 'next' on 2024-04-02 at 79496fcfc4)
 + config: fix some small capitalization issues, as spotted

 Typofix.

 Will merge to 'master'.
 source: <26135b06c48565ee8ac6dcfc1ef5431511e6202c.1711918168.git.dsimic@manjaro.org>


* jc/checkout-detach-wo-tracking-report (2024-03-30) 1 commit
  (merged to 'next' on 2024-04-04 at 161eca247d)
 + checkout: omit "tracking" information on a detached HEAD

 "git checkout/switch --detach foo", after switching to the detached
 HEAD state, gave the tracking information for the 'foo' branch,
 which was pointless.

 Tested-by: M Hickford <mirth.hickford@gmail.com>
 cf. <CAGJzqsmE9FDEBn=u3ge4LA3ha4fDbm4OWiuUbMaztwjELBd7ug@mail.gmail.com>

 Will merge to 'master'.
 source: <xmqqa5mfl7ud.fsf@gitster.g>


* rj/use-adv-if-enabled (2024-03-30) 3 commits
  (merged to 'next' on 2024-04-02 at 31d4453035)
 + add: use advise_if_enabled for ADVICE_ADD_EMBEDDED_REPO
 + add: use advise_if_enabled for ADVICE_ADD_EMPTY_PATHSPEC
 + add: use advise_if_enabled for ADVICE_ADD_IGNORED_FILE

 Use advice_if_enabled() API to rewrite a simple pattern to
 call advise() after checking advice_enabled().

 Will merge to 'master'.
 source: <46fba030-d7aa-49d2-88fa-e506850f7b6a@gmail.com>


* rs/mem-pool-size-t-safety (2024-03-31) 1 commit
  (merged to 'next' on 2024-04-02 at 3517d48210)
 + mem-pool: use st_add() in mem_pool_strvfmt()

 size_t arithmetic safety.

 Will merge to 'master'.
 source: <bbe00b9e-64d8-4ec8-a2b9-2c6917c72dbd@web.de>


* ew/khash-to-khashl (2024-03-28) 3 commits
 - khashl: fix ensemble lookups on empty table
 - treewide: switch to khashl for memory savings
 - list-objects-filter: use kh_size API

 The hashtable library "khash.h" has been replaced with "khashl.h"
 that has better memory usage characteristics.

 Needs review.
 source: <20240328101356.300374-1-e@80x24.org>


* ps/reftable-block-iteration-optim (2024-03-27) 9 commits
 - reftable/block: reuse `zstream` state on inflation
 - reftable/block: open-code call to `uncompress2()`
 - reftable/block: reuse uncompressed blocks
 - reftable/reader: iterate to next block in place
 - reftable/block: move ownership of block reader into `struct table_iter`
 - reftable/block: introduce `block_reader_release()`
 - reftable/block: better grouping of functions
 - reftable/block: merge `block_iter_seek()` and `block_reader_seek()`
 - reftable/block: rename `block_reader_start()`

 The code to iterate over reftable blocks has seen some optimization
 to reduce memory allocation and deallocation.

 Needs review.
 source: <cover.1711519925.git.ps@pks.im>


* rj/add-p-explicit-reshow (2024-03-29) 2 commits
  (merged to 'next' on 2024-04-02 at 05c7e930af)
 + add-patch: do not print hunks repeatedly
 + add-patch: introduce 'p' in interactive-patch

 "git add -p" and other "interactive hunk selection" UI has learned to
 skip showing the hunk immediately after it has already been shown, and
 an additional action to explicitly ask to reshow the current hunk.

 Will merge to 'master'.
 source: <a9c515fe-6664-4b5d-abca-d88fdd32a883@gmail.com>


* bc/credential-scheme-enhancement (2024-03-27) 12 commits
 . credential: add support for multistage credential rounds
 . t5563: refactor for multi-stage authentication
 . docs: set a limit on credential line length
 . credential: enable state capability
 . credential: add an argument to keep state
 . http: add support for authtype and credential
 . docs: indicate new credential protocol fields
 . credential: gate new fields on capability
 . credential: add a field for pre-encoded credentials
 . http: use new headers for each object request
 . remote-curl: reset headers on new request
 . credential: add an authtype field

 The credential helper protocol, together with the HTTP layer, have
 been enhanced to support authentication schemes different from
 username & password pair, like Bearer and NTLM.

 Expecting a reroll.
 cf. <ZgSQ5o_KyqDaxz1m@tapette.crustytoothpaste.net>
 source: <20240324011301.1553072-1-sandals@crustytoothpaste.net>


* ja/doc-markup-updates (2024-03-29) 5 commits
  (merged to 'next' on 2024-04-02 at 69b015d7ce)
 + doc: git-clone: do not autoreference the manpage in itself
 + doc: git-clone: apply new documentation formatting guidelines
 + doc: git-init: apply new documentation formatting guidelines
 + doc: allow literal and emphasis format in doc vs help tests
 + doc: rework CodingGuidelines with new formatting rules

 Documentation rules has been explicitly described how to mark-up
 literal parts and a few manual pages have been updated as examples.

 Will merge to 'master'.
 source: <pull.1702.v2.git.1711711181.gitgitgadget@gmail.com>


* mg/editorconfig-makefile (2024-03-23) 1 commit
  (merged to 'next' on 2024-04-02 at 907b55579e)
 + editorconfig: add Makefiles to "text files"

 The .editorconfig file has been taught that a Makefile uses HT
 indentation.

 Will merge to 'master'.
 source: <20240322221813.13019-1-mg@max.gautier.name>


* ps/reftable-binsearch-updates (2024-04-03) 7 commits
  (merged to 'next' on 2024-04-04 at 40e6d5a36b)
 + reftable/block: avoid decoding keys when searching restart points
 + reftable/record: extract function to decode key lengths
 + reftable/block: fix error handling when searching restart points
 + reftable/block: refactor binary search over restart points
 + reftable/refname: refactor binary search over refnames
 + reftable/basics: improve `binsearch()` test
 + reftable/basics: fix return type of `binsearch()` to be `size_t`

 Reftable code clean-up and some bugfixes.

 Will merge to 'master'.
 source: <cover.1712123093.git.ps@pks.im>


* tb/pseudo-merge-reachability-bitmap (2024-03-20) 24 commits
 - t/perf: implement performace tests for pseudo-merge bitmaps
 - pseudo-merge: implement support for finding existing merges
 - ewah: `bitmap_equals_ewah()`
 - pack-bitmap: extra trace2 information
 - pack-bitmap.c: use pseudo-merges during traversal
 - t/test-lib-functions.sh: support `--date` in `test_commit_bulk()`
 - pack-bitmap: implement test helpers for pseudo-merge
 - ewah: implement `ewah_bitmap_popcount()`
 - pseudo-merge: implement support for reading pseudo-merge commits
 - pack-bitmap.c: read pseudo-merge extension
 - pseudo-merge: scaffolding for reads
 - pack-bitmap: extract `read_bitmap()` function
 - pack-bitmap-write.c: write pseudo-merge table
 - pack-bitmap-write.c: select pseudo-merge commits
 - pseudo-merge: implement support for selecting pseudo-merge commits
 - pack-bitmap: make `bitmap_writer_push_bitmapped_commit()` public
 - pack-bitmap: implement `bitmap_writer_has_bitmapped_object_id()`
 - pack-bitmap-write: support storing pseudo-merge commits
 - pseudo-merge.ch: initial commit
 - pack-bitmap: move some initialization to `bitmap_writer_init()`
 - pack-bitmap: drop unused `max_bitmaps` parameter
 - ewah: implement `ewah_bitmap_is_subset()`
 - config: repo_config_get_expiry()
 - Documentation/technical: describe pseudo-merge bitmaps format

 The pack-bitmap machinery learned to write pseudo-merge bitmaps,
 which act as imaginary octopus merges covering un-bitmapped
 reference tips. This enhances bitmap coverage, and thus,
 performance, for repositories with many references using bitmaps.

 Expecting a reroll.
 cf. <ZfyxCLpjbaScIdWA@nand.local>
 source: <cover.1710972293.git.me@ttaylorr.com>


* dg/myfirstobjectwalk-updates (2024-03-27) 5 commits
  (merged to 'next' on 2024-04-02 at effa6a98a6)
 + MyFirstObjectWalk: add stderr to pipe processing
 + MyFirstObjectWalk: fix description for counting omitted objects
 + MyFirstObjectWalk: fix filtered object walk
 + MyFirstObjectWalk: fix misspelled "builtins/"
 + MyFirstObjectWalk: use additional arg in config_fn_t

 Update a more recent tutorial doc.

 Will merge to 'master'.
 source: <cover.1711537370.git.dirk@gouders.net>


* jc/apply-parse-diff-git-header-names-fix (2024-03-29) 3 commits
  (merged to 'next' on 2024-04-02 at d1fa726c41)
 + t4126: fix "funny directory name" test on Windows (again)
  (merged to 'next' on 2024-03-28 at a35de15836)
 + t4126: make sure a directory with SP at the end is usable
  (merged to 'next' on 2024-03-27 at d586367985)
 + apply: parse names out of "diff --git" more carefully

 "git apply" failed to extract the filename the patch applied to,
 when the change was about an empty file created in or deleted from
 a directory whose name ends with a SP, which has been corrected.

 Will merge to 'master'.
 source: <xmqqfrwlltjn.fsf@gitster.g>
 source: <xmqqh6gqt674.fsf_-_@gitster.g>
 source: <xmqq5xx50x8p.fsf_-_@gitster.g>


* la/hide-trailer-info (2024-03-16) 7 commits
 - trailer: retire trailer_info_get() from API
 - trailer: make trailer_info struct private
 - trailer: make parse_trailers() return trailer_info pointer
 - interpret-trailers: access trailer_info with new helpers
 - sequencer: use the trailer iterator
 - trailer: teach iterator about non-trailer lines
 - Merge branch 'la/format-trailer-info' into la/hide-trailer-info
 (this branch uses la/format-trailer-info.)

 The trailer API has been reshuffled a bit.

 Needs review.
 source: <pull.1696.git.1710570428.gitgitgadget@gmail.com>


* ps/pack-refs-auto (2024-03-25) 16 commits
  (merged to 'next' on 2024-04-02 at 1d76dc3648)
 + builtin/gc: pack refs when using `git maintenance run --auto`
 + builtin/gc: forward git-gc(1)'s `--auto` flag when packing refs
 + t6500: extract objects with "17" prefix
 + builtin/gc: move `struct maintenance_run_opts`
 + builtin/pack-refs: introduce new "--auto" flag
 + builtin/pack-refs: release allocated memory
 + refs/reftable: expose auto compaction via new flag
 + refs: remove `PACK_REFS_ALL` flag
 + refs: move `struct pack_refs_opts` to where it's used
 + t/helper: drop pack-refs wrapper
 + refs/reftable: print errors on compaction failure
 + reftable/stack: gracefully handle failed auto-compaction due to locks
 + reftable/stack: use error codes when locking fails during compaction
 + reftable/error: discern locked/outdated errors
 + reftable/stack: fix error handling in `reftable_stack_init_addition()`
 + Merge branch 'ps/reftable-stack-tempfile' into ps/pack-refs-auto
 (this branch is used by jt/reftable-geometric-compaction.)

 "git pack-refs" learned the "--auto" option, which is a useful
 addition to be triggered from "git gc --auto".

 Acked-by: Karthik Nayak <karthik.188@gmail.com>
 cf. <CAOLa=ZRAEA7rSUoYL0h-2qfEELdbPHbeGpgBJRqesyhHi9Q6WQ@mail.gmail.com>

 Will merge to 'master'.
 source: <cover.1711360631.git.ps@pks.im>


* ds/doc-config-reflow (2024-03-14) 1 commit
 - config.txt: perform some minor reformatting

 Reflow a paragraph in the documentation source without any effect
 to the formatted text.

 Will discard.
 source: <97bdaf075bf5a68554cca1731eca78aff2662907.1710444774.git.dsimic@manjaro.org>


* la/format-trailer-info (2024-03-15) 5 commits
 - trailer: finish formatting unification
 - trailer: begin formatting unification
 - format_trailer_info(): append newline for non-trailer lines
 - format_trailer_info(): drop redundant unfold_value()
 - format_trailer_info(): use trailer_item objects
 (this branch is used by la/hide-trailer-info.)

 The code to format trailers have been cleaned up.

 Comments?
 source: <pull.1694.git.1710485706.gitgitgadget@gmail.com>


* ie/config-includeif-hostname (2024-03-19) 2 commits
 - config: learn the "hostname:" includeIf condition
 - t: add a test helper for getting hostname

 The conditional inclusion mechanism for configuration files learned
 to switch on the hostname.

 Expecting a reroll.
 cf. <20240319210428.GC1159535@coredump.intra.peff.net>
 cf. <20240320001934.GA903718@coredump.intra.peff.net>
 source: <20240319183722.211300-1-ignacio@iencinas.com>


* js/build-fuzz-more-often (2024-03-05) 3 commits
 - SQUASH???
 - fuzz: link fuzz programs with `make all` on Linux
 - ci: also define CXX environment variable

 In addition to building the objects needed, try to link the objects
 that are used in fuzzer tests, to make sure at least they build
 without bitrot, in Linux CI runs.

 Stalled.
 cf. <xmqq1q7w8xx6.fsf@gitster.g>
 source: <cover.1709673020.git.steadmon@google.com>


* sj/userdiff-c-sharp (2024-04-03) 1 commit
 - userdiff: better method/property matching for C#

 The userdiff patterns for C# has been updated.

 Will merge to 'next'?
 source: <pull.1682.v5.git.git.1712180564927.gitgitgadget@gmail.com>


* cw/git-std-lib (2024-02-28) 4 commits
 - SQUASH??? get rid of apparent debugging crufts
 - test-stdlib: show that git-std-lib is independent
 - git-std-lib: introduce Git Standard Library
 - pager: include stdint.h because uintmax_t is used

 Split libgit.a out to a separate git-std-lib tor easier reuse.

 Expecting a reroll.
 source: <cover.1696021277.git.jonathantanmy@google.com>


* js/cmake-with-test-tool (2024-02-23) 2 commits
 - cmake: let `test-tool` run the unit tests, too
 - Merge branch 'js/unit-test-suite-runner' into js/cmake-with-test-tool
 (this branch uses js/unit-test-suite-runner.)

 "test-tool" is now built in CMake build to also run the unit tests.

 May want to roll it into the base topic.
 source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>


* js/unit-test-suite-runner (2024-02-23) 8 commits
 - ci: use test-tool as unit test runner on Windows
 - t/Makefile: run unit tests alongside shell tests
 - unit tests: add rule for running with test-tool
 - test-tool run-command testsuite: support unit tests
 - test-tool run-command testsuite: remove hardcoded filter
 - test-tool run-command testsuite: get shell from env
 - t0080: turn t-basic unit test into a helper
 - Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner
 (this branch is used by js/cmake-with-test-tool.)

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.

 Needs review.
 source: <cover.1708728717.git.steadmon@google.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 cf. <6683f24e-7e56-489d-be2d-8afe1fc38d2b@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Expecting a reroll.
 cf. <CAC4O8c88Z3ZqxH2VVaNPpEGB3moL5dJcg3cOWuLWwQ_hLrJMtA@mail.gmail.com>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 22%]

* What's cooking in git.git (Apr 2024, #02; Wed, 3)
@ 2024-04-03 23:12 20% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-04-03 23:12 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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-scm/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']

* az/grep-group-error-message-update (2024-03-25) 1 commit
  (merged to 'next' on 2024-03-27 at 567bf00ed4)
 + grep: improve errors for unmatched ( and )

 Error message clarification.
 source: <tkz3a5jkalcz5ajemx4b4x42pe6kv45sfmgpin4zeai3moq42o@tarta.nabijaczleweli.xyz>


* bl/cherry-pick-empty (2024-03-25) 7 commits
  (merged to 'next' on 2024-03-28 at 22e8e4a68e)
 + cherry-pick: add `--empty` for more robust redundant commit handling
 + cherry-pick: enforce `--keep-redundant-commits` incompatibility
 + sequencer: do not require `allow_empty` for redundant commit options
 + sequencer: handle unborn branch with `--allow-empty`
 + rebase: update `--empty=ask` to `--empty=stop`
 + docs: clean up `--empty` formatting in git-rebase(1) and git-am(1)
 + docs: address inaccurate `--empty` default with `--exec`

 Allow git-cherry-pick(1) to automatically drop redundant commits via
 a new `--empty` option, similar to the `--empty` options for
 git-rebase(1) and git-am(1). Includes a soft deprecation of
 `--keep-redundant-commits` as well as some related docs changes and
 sequencer code cleanup.
 cf. <a397f3dd-e4e1-4275-b17d-1daca9e166fe@gmail.com>
 source: <20240119060721.3734775-2-brianmlyles@gmail.com>


* bl/pretty-shorthand-config-fix (2024-03-25) 2 commits
  (merged to 'next' on 2024-03-28 at e2749914ab)
 + pretty: find pretty formats case-insensitively
 + pretty: update tests to use `test_config`

 The "--pretty=<shortHand>" option of the commands in the "git log"
 family, defined as "[pretty] shortHand = <expansion>" should have
 been looked up case insensitively, but was not, which has been
 corrected.
 source: <20240324214316.917513-1-brianmlyles@gmail.com>


* ds/config-internal-whitespace-fix (2024-03-21) 4 commits
  (merged to 'next' on 2024-03-25 at f3393cabe5)
 + config.txt: describe handling of whitespace further
 + t1300: add more tests for whitespace and inline comments
 + config: really keep value-internal whitespace verbatim
 + config: minor addition of whitespace

 "git config" corrupted literal HT characters written in the
 configuration file as part of a value, which has been corrected.
 source: <cover.1711001016.git.dsimic@manjaro.org>


* ds/grep-doc-updates (2024-03-25) 2 commits
  (merged to 'next' on 2024-03-27 at 681f08cbc5)
 + grep docs: describe --no-index further and improve formatting a bit
 + grep docs: describe --recurse-submodules further and improve formatting a bit

 Documentation updates.
 source: <cover.1711398665.git.dsimic@manjaro.org>


* jc/release-notes-entry-experiment (2024-03-26) 1 commit
  (merged to 'next' on 2024-03-27 at 74ebe224e9)
 + SubmittingPatches: release-notes entry experiment

 Introduce an experimental protocol for contributors to propose the
 topic description to be used in the "What's cooking" report, the
 merge commit message for the topic, and in the release notes and
 document it in the SubmittingPatches document.
 source: <xmqq8r26eyva.fsf@gitster.g>


* jk/doc-remote-helpers-markup-fix (2024-03-20) 1 commit
  (merged to 'next' on 2024-03-25 at 7c3dd28ca5)
 + doc/gitremote-helpers: fix more missing single-quotes

 Documentation mark-up fix.
 source: <20240320091748.GA2444639@coredump.intra.peff.net>


* jk/pretty-subject-cleanup (2024-03-22) 7 commits
  (merged to 'next' on 2024-03-22 at 2796f347ad)
 + format-patch: fix leak of empty header string
 + format-patch: simplify after-subject MIME header handling
 + format-patch: return an allocated string from log_write_email_headers()
 + log: do not set up extra_headers for non-email formats
 + pretty: drop print_email_subject flag
 + pretty: split oneline and email subject printing
 + shortlog: stop setting pp.print_email_subject

 Code clean-up in the "git log" machinery that implements custom log
 message formatting.
 source: <20240320002555.GB903718@coredump.intra.peff.net>


* jk/rebase-apply-leakfix (2024-03-22) 1 commit
  (merged to 'next' on 2024-03-25 at f9358272af)
 + rebase: use child_process_clear() to clean

 Leakfix.
 source: <20240322103502.GA2045297@coredump.intra.peff.net>


* jk/remote-helper-object-format-option-fix (2024-03-20) 3 commits
  (merged to 'next' on 2024-03-27 at 5c9d5be660)
 + transport-helper: send "true" value for object-format option
 + transport-helper: drop "object-format <algo>" option
 + transport-helper: use write helpers more consistently

 The implementation and documentation of "object-format" option
 exchange between the Git itself and its remote helpers did not
 quite match, which has been corrected.
 source: <20240320093226.GA2445531@coredump.intra.peff.net>


* pb/advice-merge-conflict (2024-03-18) 2 commits
  (merged to 'next' on 2024-03-25 at 4414e31d81)
 + builtin/am: allow disabling conflict advice
 + sequencer: allow disabling conflict advice

 Hints that suggest what to do after resolving conflicts can now be
 squelched by disabling advice.mergeConflict.

 Acked-by: Phillip Wood <phillip.wood123@gmail.com>
 cf. <e040c631-42d9-4501-a7b8-046f8dac6309@gmail.com>
 source: <pull.1682.v3.git.1710623790.gitgitgadget@gmail.com>


* pb/test-scripts-are-build-targets (2024-03-25) 1 commit
  (merged to 'next' on 2024-03-27 at 9ef22a39b6)
 + t/README: mention test files are make targets

 The t/README file now gives a hint on running individual tests in
 the "t/" directory with "make t<num>-*.sh t<num>-*.sh".
 source: <pull.1701.git.1711293246094.gitgitgadget@gmail.com>


* ps/clone-with-includeif-onbranch (2024-03-12) 1 commit
  (merged to 'next' on 2024-03-25 at 8d11bd8bd4)
 + t5601: exercise clones with "includeIf.*.onbranch"

 An additional test to demonstrate that clone would not choke on a
 global configuration file that uses includeIf.onbranch:*.path.
 source: <0bede59a53862585c49bc635f82e44e983144a7f.1710246859.git.ps@pks.im>


* ps/reftable-unit-test-nfs-workaround (2024-03-21) 1 commit
  (merged to 'next' on 2024-03-25 at 4d3d391330)
 + reftable: fix tests being broken by NFS' delete-after-close semantics

 A unit test for reftable code tried to enumerate all files in a
 directory after reftable operations and expected to see nothing but
 the files it wanted to leave there, but was fooled by .nfs* cruft
 files left, which has been corrected.
 source: <8ac5e94a3930cdd2aee9ea86acda3155674b635c.1711035529.git.ps@pks.im>


* ps/t7800-variable-interpolation-fix (2024-03-22) 3 commits
  (merged to 'next' on 2024-03-25 at e7b1ec4df4)
 + t/README: document how to loop around test cases
 + t7800: use single quotes for test bodies
 + t7800: improve test descriptions with empty arguments

 Fix the way recently added tests interpolate variables defined
 outside them, and document the best practice to help future
 developers.
 source: <cover.1711074118.git.ps@pks.im>


* pw/checkout-conflict-errorfix (2024-03-14) 5 commits
  (merged to 'next' on 2024-03-22 at 9977ac6c75)
 + checkout: fix interaction between --conflict and --merge
 + checkout: cleanup --conflict=<style> parsing
 + merge options: add a conflict style member
 + merge-ll: introduce LL_MERGE_OPTIONS_INIT
 + xdiff-interface: refactor parsing of merge.conflictstyle

 "git checkout --conflict=bad" reported a bad conflictStyle as if it
 were given to a configuration variable; it has been corrected to
 report that the command line option is bad.
 source: <pull.1684.v2.git.1710435907.gitgitgadget@gmail.com>


* rs/midx-use-strvec-pushf (2024-03-25) 1 commit
  (merged to 'next' on 2024-03-27 at 16969df3e8)
 + midx: use strvec_pushf() for pack-objects base name
 (this branch is used by tb/midx-write.)

 Code clean-up.
 source: <9483038c-9529-4243-9b9a-97254fac29c1@web.de>


* rs/strbuf-expand-bad-format (2024-03-25) 2 commits
  (merged to 'next' on 2024-03-27 at 1f9dbf70a0)
 + cat-file: use strbuf_expand_bad_format()
 + factor out strbuf_expand_bad_format()

 Code clean-up.
 source: <27cdcde7-74bc-4ee8-bc84-9a6046292cae@web.de>

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

* kn/clarify-update-ref-doc (2024-04-02) 2 commits
  (merged to 'next' on 2024-04-02 at d1b9c5aa67)
 + githooks: use {old,new}-oid instead of {old,new}-value
 + update-ref: use {old,new}-oid instead of {old,new}value

 Doc update, as a preparation to enhance "git update-ref --stdin".

 Will merge to 'master'.
 source: <20240402064915.191104-1-knayak@gitlab.com>


* vs/complete-with-set-u-fix (2024-04-01) 2 commits
  (merged to 'next' on 2024-04-02 at d8f6a511e8)
 + completion: protect prompt against unset SHOWUPSTREAM in nounset mode
 + completion: fix prompt with unset SHOWCONFLICTSTATE in nounset mode

 Another "set -u" fix for the bash prompt (in contrib/) script.

 Will merge to 'master'.
 source: <20240401190751.8676-1-ville.skytta@iki.fi>


* ba/osxkeychain-updates (2024-04-01) 4 commits
 - osxkeychain: store new attributes
 - osxkeychain: erase matching passwords only
 - osxkeychain: erase all matching credentials
 - osxkeychain: replace deprecated SecKeychain API

 Update osxkeychain backend with features required for the recent
 credential subsystem.

 Will merge to 'next'?
 source: <pull.1667.git.1708212896.gitgitgadget@gmail.com>


* rs/imap-send-use-xsnprintf (2024-04-02) 1 commit
 - imap-send: use xsnprintf to format command

 Code clean-up and duplicate reduction.

 Will merge to 'next'.
 source: <f9ad9f41-5b9b-474e-9818-f91fc937daae@web.de>


* tb/midx-write (2024-04-01) 5 commits
 - midx-write.c: use `--stdin-packs` when repacking
 - midx-write.c: check count of packs to repack after grouping
 - midx-write.c: factor out common want_included_pack() routine
 - midx-write: move writing-related functions from midx.c
 - Merge branch 'rs/midx-use-strvec-pushf' into tb/midx-write

 Code clean-up by splitting code responsible for writing midx files
 into its own file.

 Will merge to 'next'?
 source: <cover.1712006190.git.me@ttaylorr.com>


* jc/t2104-style-update (2024-04-02) 1 commit
  (merged to 'next' on 2024-04-03 at 0449835479)
 + t2104: style fixes

 Coding style fixes.

 Will merge to 'master'.
 source: <xmqqmsqb4ngg.fsf@gitster.g>


* rs/t-prio-queue-cleanup (2024-04-02) 1 commit
 - t-prio-queue: simplify using compound literals

 t-prio-queue test has been cleaned up by using C99 compound
 literals; this is meant to also serve as a weather-balloon to smoke
 out folks with compilers who have trouble compiling code that uses
 the feature.

 Will merge to 'next'?
 source: <520da361-1b80-4ba3-87b2-86d6fdfc18b5@web.de>


* jk/libcurl-8.7-regression-workaround (2024-04-02) 2 commits
 - INSTALL: bump libcurl version to 7.21.3
 - http: reset POSTFIELDSIZE when clearing curl handle

 Fix was added to work around a regression in libcURL 8.7.0 (which has
 already been fixed in their tip of the tree).

 Expecting a reroll.
 cf. <20240403032045.GA1559972@coredump.intra.peff.net>
 source: <20240402200254.GA874754@coredump.intra.peff.net>


* tb/t7700-fixup (2024-04-03) 1 commit
 - t/t7700-repack.sh: fix test breakages with `GIT_TEST_MULTI_PACK_INDEX=1 `

 source: <7e8d435d58eea19d2aae0be366720f5956d29a5d.1712075189.git.me@ttaylorr.com>

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

* es/test-cron-safety (2024-03-31) 1 commit
  (merged to 'next' on 2024-04-02 at e383c8cfb2)
 + test-lib: fix non-functioning GIT_TEST_MAINT_SCHEDULER fallback

 The test script had an incomplete and ineffective attempt to avoid
 clobbering the testing user's real crontab (and its equivalents),
 which has been completed.

 Will merge to 'master'.
 source: <20240329222703.9343-1-ericsunshine@charter.net>


* gt/add-u-commit-i-pathspec-check (2024-04-03) 3 commits
 - builtin/add: error out when passing untracked path with -u
 - builtin/commit: error out when passing untracked path with -i
 - revision: optionally record matches with pathspec elements

 "git add -u <pathspec>" and "git commit [-i] <pathspec>" did not
 diagnose a pathspec element that did not match any files in certain
 situations, unlike "git add <pathspec>" did.

 Will merge to 'next'?
 source: <20240402213640.139682-2-shyamthakkar001@gmail.com>


* jc/advice-sans-trailing-whitespace (2024-03-29) 1 commit
  (merged to 'next' on 2024-04-02 at 3cb0fda1bf)
 + advice: omit trailing whitespace

 The "hint:" messages given by the advice mechanism, when given a
 message with a blank line, left a line with trailing whitespace,
 which has been cleansed.

 Will merge to 'master'.
 source: <xmqq4jcooddp.fsf@gitster.g>


* jt/reftable-geometric-compaction (2024-04-03) 2 commits
 . reftable/stack: use geometric table compaction
 . reftable/stack: add env to disable autocompaction

 The strategy to compat multiple tables of reftables after many
 operations accumulate many entries has been improved to avoid
 accumulating too many tables uncollected.

 Expecting a reroll.
 cf. <b24jjzw72rlcpctteokr5yfbuwuy2cc3qvibzhuju4gbj63lfa@gbtsmvufyuhd>
 source: <pull.1683.v4.git.1712103636.gitgitgadget@gmail.com>


* ds/typofix-core-config-doc (2024-03-31) 1 commit
  (merged to 'next' on 2024-04-02 at 79496fcfc4)
 + config: fix some small capitalization issues, as spotted

 Typofix.

 Will merge to 'master'.
 source: <26135b06c48565ee8ac6dcfc1ef5431511e6202c.1711918168.git.dsimic@manjaro.org>


* jc/checkout-detach-wo-tracking-report (2024-03-30) 1 commit
 - checkout: omit "tracking" information on a detached HEAD

 "git checkout/switch --detach foo", after switching to the detached
 HEAD state, gave the tracking information for the 'foo' branch,
 which was pointless.

 Will merge to 'next'?
 source: <xmqqa5mfl7ud.fsf@gitster.g>


* rj/use-adv-if-enabled (2024-03-30) 3 commits
  (merged to 'next' on 2024-04-02 at 31d4453035)
 + add: use advise_if_enabled for ADVICE_ADD_EMBEDDED_REPO
 + add: use advise_if_enabled for ADVICE_ADD_EMPTY_PATHSPEC
 + add: use advise_if_enabled for ADVICE_ADD_IGNORED_FILE

 Use advice_if_enabled() API to rewrite a simple pattern to
 call advise() after checking advice_enabled().

 Will merge to 'master'.
 source: <46fba030-d7aa-49d2-88fa-e506850f7b6a@gmail.com>


* rs/mem-pool-size-t-safety (2024-03-31) 1 commit
  (merged to 'next' on 2024-04-02 at 3517d48210)
 + mem-pool: use st_add() in mem_pool_strvfmt()

 size_t arithmetic safety.

 Will merge to 'master'.
 source: <bbe00b9e-64d8-4ec8-a2b9-2c6917c72dbd@web.de>


* ew/khash-to-khashl (2024-03-28) 3 commits
 - khashl: fix ensemble lookups on empty table
 - treewide: switch to khashl for memory savings
 - list-objects-filter: use kh_size API

 The hashtable library "khash.h" has been replaced with "khashl.h"
 that has better memory usage characteristics.

 Needs review.
 source: <20240328101356.300374-1-e@80x24.org>


* ps/reftable-block-iteration-optim (2024-03-27) 9 commits
 - reftable/block: reuse `zstream` state on inflation
 - reftable/block: open-code call to `uncompress2()`
 - reftable/block: reuse uncompressed blocks
 - reftable/reader: iterate to next block in place
 - reftable/block: move ownership of block reader into `struct table_iter`
 - reftable/block: introduce `block_reader_release()`
 - reftable/block: better grouping of functions
 - reftable/block: merge `block_iter_seek()` and `block_reader_seek()`
 - reftable/block: rename `block_reader_start()`

 The code to iterate over reftable blocks has seen some optimization
 to reduce memory allocation and deallocation.

 Needs review.
 source: <cover.1711519925.git.ps@pks.im>


* rj/add-p-explicit-reshow (2024-03-29) 2 commits
  (merged to 'next' on 2024-04-02 at 05c7e930af)
 + add-patch: do not print hunks repeatedly
 + add-patch: introduce 'p' in interactive-patch

 "git add -p" and other "interactive hunk selection" UI has learned to
 skip showing the hunk immediately after it has already been shown, and
 an additional action to explicitly ask to reshow the current hunk.

 Will merge to 'master'.
 source: <a9c515fe-6664-4b5d-abca-d88fdd32a883@gmail.com>


* bc/credential-scheme-enhancement (2024-03-27) 12 commits
 . credential: add support for multistage credential rounds
 . t5563: refactor for multi-stage authentication
 . docs: set a limit on credential line length
 . credential: enable state capability
 . credential: add an argument to keep state
 . http: add support for authtype and credential
 . docs: indicate new credential protocol fields
 . credential: gate new fields on capability
 . credential: add a field for pre-encoded credentials
 . http: use new headers for each object request
 . remote-curl: reset headers on new request
 . credential: add an authtype field

 The credential helper protocol, together with the HTTP layer, have
 been enhanced to support authentication schemes different from
 username & password pair, like Bearer and NTLM.

 Expecting a reroll.
 cf. <ZgSQ5o_KyqDaxz1m@tapette.crustytoothpaste.net>
 source: <20240324011301.1553072-1-sandals@crustytoothpaste.net>


* ja/doc-markup-updates (2024-03-29) 5 commits
  (merged to 'next' on 2024-04-02 at 69b015d7ce)
 + doc: git-clone: do not autoreference the manpage in itself
 + doc: git-clone: apply new documentation formatting guidelines
 + doc: git-init: apply new documentation formatting guidelines
 + doc: allow literal and emphasis format in doc vs help tests
 + doc: rework CodingGuidelines with new formatting rules

 Documentation rules has been explicitly described how to mark-up
 literal parts and a few manual pages have been updated as examples.

 Will merge to 'master'.
 source: <pull.1702.v2.git.1711711181.gitgitgadget@gmail.com>


* mg/editorconfig-makefile (2024-03-23) 1 commit
  (merged to 'next' on 2024-04-02 at 907b55579e)
 + editorconfig: add Makefiles to "text files"

 The .editorconfig file has been taught that a Makefile uses HT
 indentation.

 Will merge to 'master'.
 source: <20240322221813.13019-1-mg@max.gautier.name>


* ps/reftable-binsearch-updates (2024-04-03) 7 commits
 - reftable/block: avoid decoding keys when searching restart points
 - reftable/record: extract function to decode key lengths
 - reftable/block: fix error handling when searching restart points
 - reftable/block: refactor binary search over restart points
 - reftable/refname: refactor binary search over refnames
 - reftable/basics: improve `binsearch()` test
 - reftable/basics: fix return type of `binsearch()` to be `size_t`

 Reftable code clean-up and some bugfixes.

 Will merge to 'next'?
 source: <cover.1712123093.git.ps@pks.im>


* tb/pseudo-merge-reachability-bitmap (2024-03-20) 24 commits
 - t/perf: implement performace tests for pseudo-merge bitmaps
 - pseudo-merge: implement support for finding existing merges
 - ewah: `bitmap_equals_ewah()`
 - pack-bitmap: extra trace2 information
 - pack-bitmap.c: use pseudo-merges during traversal
 - t/test-lib-functions.sh: support `--date` in `test_commit_bulk()`
 - pack-bitmap: implement test helpers for pseudo-merge
 - ewah: implement `ewah_bitmap_popcount()`
 - pseudo-merge: implement support for reading pseudo-merge commits
 - pack-bitmap.c: read pseudo-merge extension
 - pseudo-merge: scaffolding for reads
 - pack-bitmap: extract `read_bitmap()` function
 - pack-bitmap-write.c: write pseudo-merge table
 - pack-bitmap-write.c: select pseudo-merge commits
 - pseudo-merge: implement support for selecting pseudo-merge commits
 - pack-bitmap: make `bitmap_writer_push_bitmapped_commit()` public
 - pack-bitmap: implement `bitmap_writer_has_bitmapped_object_id()`
 - pack-bitmap-write: support storing pseudo-merge commits
 - pseudo-merge.ch: initial commit
 - pack-bitmap: move some initialization to `bitmap_writer_init()`
 - pack-bitmap: drop unused `max_bitmaps` parameter
 - ewah: implement `ewah_bitmap_is_subset()`
 - config: repo_config_get_expiry()
 - Documentation/technical: describe pseudo-merge bitmaps format

 The pack-bitmap machinery learned to write pseudo-merge bitmaps,
 which act as imaginary octopus merges covering un-bitmapped
 reference tips. This enhances bitmap coverage, and thus,
 performance, for repositories with many references using bitmaps.

 Expecting a reroll.
 cf. <ZfyxCLpjbaScIdWA@nand.local>
 source: <cover.1710972293.git.me@ttaylorr.com>


* dg/myfirstobjectwalk-updates (2024-03-27) 5 commits
  (merged to 'next' on 2024-04-02 at effa6a98a6)
 + MyFirstObjectWalk: add stderr to pipe processing
 + MyFirstObjectWalk: fix description for counting omitted objects
 + MyFirstObjectWalk: fix filtered object walk
 + MyFirstObjectWalk: fix misspelled "builtins/"
 + MyFirstObjectWalk: use additional arg in config_fn_t

 Update a more recent tutorial doc.

 Will merge to 'master'.
 source: <cover.1711537370.git.dirk@gouders.net>


* jc/apply-parse-diff-git-header-names-fix (2024-03-29) 3 commits
  (merged to 'next' on 2024-04-02 at d1fa726c41)
 + t4126: fix "funny directory name" test on Windows (again)
  (merged to 'next' on 2024-03-28 at a35de15836)
 + t4126: make sure a directory with SP at the end is usable
  (merged to 'next' on 2024-03-27 at d586367985)
 + apply: parse names out of "diff --git" more carefully

 "git apply" failed to extract the filename the patch applied to,
 when the change was about an empty file created in or deleted from
 a directory whose name ends with a SP, which has been corrected.

 Will merge to 'master'.
 source: <xmqqfrwlltjn.fsf@gitster.g>
 source: <xmqqh6gqt674.fsf_-_@gitster.g>
 source: <xmqq5xx50x8p.fsf_-_@gitster.g>


* la/hide-trailer-info (2024-03-16) 7 commits
 - trailer: retire trailer_info_get() from API
 - trailer: make trailer_info struct private
 - trailer: make parse_trailers() return trailer_info pointer
 - interpret-trailers: access trailer_info with new helpers
 - sequencer: use the trailer iterator
 - trailer: teach iterator about non-trailer lines
 - Merge branch 'la/format-trailer-info' into la/hide-trailer-info
 (this branch uses la/format-trailer-info.)

 The trailer API has been reshuffled a bit.

 Needs review.
 source: <pull.1696.git.1710570428.gitgitgadget@gmail.com>


* ps/pack-refs-auto (2024-03-25) 16 commits
  (merged to 'next' on 2024-04-02 at 1d76dc3648)
 + builtin/gc: pack refs when using `git maintenance run --auto`
 + builtin/gc: forward git-gc(1)'s `--auto` flag when packing refs
 + t6500: extract objects with "17" prefix
 + builtin/gc: move `struct maintenance_run_opts`
 + builtin/pack-refs: introduce new "--auto" flag
 + builtin/pack-refs: release allocated memory
 + refs/reftable: expose auto compaction via new flag
 + refs: remove `PACK_REFS_ALL` flag
 + refs: move `struct pack_refs_opts` to where it's used
 + t/helper: drop pack-refs wrapper
 + refs/reftable: print errors on compaction failure
 + reftable/stack: gracefully handle failed auto-compaction due to locks
 + reftable/stack: use error codes when locking fails during compaction
 + reftable/error: discern locked/outdated errors
 + reftable/stack: fix error handling in `reftable_stack_init_addition()`
 + Merge branch 'ps/reftable-stack-tempfile' into ps/pack-refs-auto

 "git pack-refs" learned the "--auto" option, which is a useful
 addition to be triggered from "git gc --auto".

 Acked-by: Karthik Nayak <karthik.188@gmail.com>
 cf. <CAOLa=ZRAEA7rSUoYL0h-2qfEELdbPHbeGpgBJRqesyhHi9Q6WQ@mail.gmail.com>

 Will merge to 'master'.
 source: <cover.1711360631.git.ps@pks.im>


* ds/doc-config-reflow (2024-03-14) 1 commit
 - config.txt: perform some minor reformatting

 Reflow a paragraph in the documentation source without any effect
 to the formatted text.

 Will discard.
 source: <97bdaf075bf5a68554cca1731eca78aff2662907.1710444774.git.dsimic@manjaro.org>


* la/format-trailer-info (2024-03-15) 5 commits
 - trailer: finish formatting unification
 - trailer: begin formatting unification
 - format_trailer_info(): append newline for non-trailer lines
 - format_trailer_info(): drop redundant unfold_value()
 - format_trailer_info(): use trailer_item objects
 (this branch is used by la/hide-trailer-info.)

 The code to format trailers have been cleaned up.

 Comments?
 source: <pull.1694.git.1710485706.gitgitgadget@gmail.com>


* rs/config-comment (2024-03-15) 3 commits
  (merged to 'next' on 2024-03-28 at 83eaadc2b6)
 + config: allow tweaking whitespace between value and comment
 + config: fix --comment formatting
 + config: add --comment option to add a comment

 "git config" learned "--comment=<message>" option to leave a
 comment immediately after the "variable = value" on the same line
 in the configuration file.

 Will merge to 'master'.
 source: <pull.1681.v2.git.1709824540636.gitgitgadget@gmail.com>


* ie/config-includeif-hostname (2024-03-19) 2 commits
 - config: learn the "hostname:" includeIf condition
 - t: add a test helper for getting hostname

 The conditional inclusion mechanism for configuration files learned
 to switch on the hostname.

 Expecting a reroll.
 cf. <20240319210428.GC1159535@coredump.intra.peff.net>
 cf. <20240320001934.GA903718@coredump.intra.peff.net>
 source: <20240319183722.211300-1-ignacio@iencinas.com>


* jk/core-comment-string (2024-03-27) 17 commits
  (merged to 'next' on 2024-03-28 at fbf8eb9331)
 + config: add core.commentString
 + config: allow multi-byte core.commentChar
 + environment: drop comment_line_char compatibility macro
 + wt-status: drop custom comment-char stringification
 + sequencer: handle multi-byte comment characters when writing todo list
 + find multi-byte comment chars in unterminated buffers
 + find multi-byte comment chars in NUL-terminated strings
 + prefer comment_line_str to comment_line_char for printing
 + strbuf: accept a comment string for strbuf_add_commented_lines()
 + strbuf: accept a comment string for strbuf_commented_addf()
 + strbuf: accept a comment string for strbuf_stripspace()
 + environment: store comment_line_char as a string
 + strbuf: avoid shadowing global comment_line_char name
 + commit: refactor base-case of adjust_comment_line_char()
 + strbuf: avoid static variables in strbuf_add_commented_lines()
 + strbuf: simplify comment-handling in add_lines() helper
 + config: forbid newline as core.commentChar

 core.commentChar used to be limited to a single byte, but has been
 updated to allow an arbitrary multi-byte sequence.

 Will merge to 'master'.
 source: <20240312091013.GA95442@coredump.intra.peff.net>
 source: <20240327081922.GA830163@coredump.intra.peff.net>


* js/build-fuzz-more-often (2024-03-05) 3 commits
 - SQUASH???
 - fuzz: link fuzz programs with `make all` on Linux
 - ci: also define CXX environment variable

 In addition to building the objects needed, try to link the objects
 that are used in fuzzer tests, to make sure at least they build
 without bitrot, in Linux CI runs.

 Stalled.
 cf. <xmqq1q7w8xx6.fsf@gitster.g>
 source: <cover.1709673020.git.steadmon@google.com>


* sj/userdiff-c-sharp (2024-04-03) 1 commit
 - userdiff: better method/property matching for C#

 The userdiff patterns for C# has been updated.

 Will merge to 'next'?
 source: <pull.1682.v5.git.git.1712180564927.gitgitgadget@gmail.com>


* cw/git-std-lib (2024-02-28) 4 commits
 - SQUASH??? get rid of apparent debugging crufts
 - test-stdlib: show that git-std-lib is independent
 - git-std-lib: introduce Git Standard Library
 - pager: include stdint.h because uintmax_t is used

 Split libgit.a out to a separate git-std-lib tor easier reuse.

 Expecting a reroll.
 source: <cover.1696021277.git.jonathantanmy@google.com>


* js/cmake-with-test-tool (2024-02-23) 2 commits
 - cmake: let `test-tool` run the unit tests, too
 - Merge branch 'js/unit-test-suite-runner' into js/cmake-with-test-tool
 (this branch uses js/unit-test-suite-runner.)

 "test-tool" is now built in CMake build to also run the unit tests.

 May want to roll it into the base topic.
 source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>


* js/unit-test-suite-runner (2024-02-23) 8 commits
 - ci: use test-tool as unit test runner on Windows
 - t/Makefile: run unit tests alongside shell tests
 - unit tests: add rule for running with test-tool
 - test-tool run-command testsuite: support unit tests
 - test-tool run-command testsuite: remove hardcoded filter
 - test-tool run-command testsuite: get shell from env
 - t0080: turn t-basic unit test into a helper
 - Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner
 (this branch is used by js/cmake-with-test-tool.)

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.

 Needs review.
 source: <cover.1708728717.git.steadmon@google.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 cf. <6683f24e-7e56-489d-be2d-8afe1fc38d2b@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Expecting a reroll.
 cf. <CAC4O8c88Z3ZqxH2VVaNPpEGB3moL5dJcg3cOWuLWwQ_hLrJMtA@mail.gmail.com>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 20%]

* Re: What's cooking in git.git (Apr 2024, #01; Mon, 1)
  2024-04-01 22:09 99%   ` Junio C Hamano
@ 2024-04-01 23:08 99%     ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-04-01 23:08 UTC (permalink / raw)
  To: Taylor Blau; +Cc: git

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

>>> * tb/pseudo-merge-reachability-bitmap (2024-03-20) 24 commits
>>> ...
>> Thanks updating the description. I am waiting to reroll until after it
>> has received a little bit of review on the technical front.
>
> In the meantime I've dropped it as it interacts with tb/midx-write
> and Eric's khash-to-khashl update.

I think I got merge-fix for integrating this topic with the rest, so
I'll be resurrecting it and queuing it to 'seen' again.


^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (Apr 2024, #01; Mon, 1)
  @ 2024-04-01 22:09 99%   ` Junio C Hamano
  2024-04-01 23:08 99%     ` Junio C Hamano
  0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2024-04-01 22:09 UTC (permalink / raw)
  To: Taylor Blau; +Cc: git

Taylor Blau <me@ttaylorr.com> writes:

>> * tb/pseudo-merge-reachability-bitmap (2024-03-20) 24 commits
>> ...
> Thanks updating the description. I am waiting to reroll until after it
> has received a little bit of review on the technical front.

In the meantime I've dropped it as it interacts with tb/midx-write
and Eric's khash-to-khashl update.

>> * tb/path-filter-fix (2024-01-31) 16 commits
>>
>>  The Bloom filter used for path limited history traversal was broken
>>  on systems whose "char" is unsigned; update the implementation and
>>  bump the format version to 2.
>>
>>  Waiting for a final ack?
>>  cf. <ZcFjkfbsBfk7JQIH@nand.local>
>>  source: <cover.1706741516.git.me@ttaylorr.com>
>
> I am not sure what to do with this topic... I haven't heard from
> Jonathan Tan in a while, and the same from SZEDER Gábor, who was also
> reviewing it.
>
> I personally think that the topic is in good shape and ready to go, but
> I would rather get a concurring opinion from some other reviewers before
> suggesting that it be merged.

Yup, that is what I meant with "final ack".

Thanks.


^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Mar 2024, #09; Thu, 28)
@ 2024-03-28 23:58 21% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-03-28 23:58 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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']

* bt/fuzz-config-parse (2024-03-15) 1 commit
  (merged to 'next' on 2024-03-21 at 6e9f331d68)
 + fuzz: add fuzzer for config parsing

 A new fuzz target that exercises config parsing code has been
 added.
 source: <pull.1692.v2.git.1710481652130.gitgitgadget@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
  (merged to 'next' on 2024-03-11 at 9cff2e4ab7)
 + t1016-compatObjectFormat: add tests to verify the conversion between objects
 + t1006: test oid compatibility with cat-file
 + t1006: rename sha1 to oid
 + test-lib: compute the compatibility hash so tests may use it
 + builtin/ls-tree: let the oid determine the output algorithm
 + object-file: handle compat objects in check_object_signature
 + tree-walk: init_tree_desc take an oid to get the hash algorithm
 + builtin/cat-file: let the oid determine the output algorithm
 + rev-parse: add an --output-object-format parameter
 + repository: implement extensions.compatObjectFormat
 + object-file: update object_info_extended to reencode objects
 + object-file-convert: convert commits that embed signed tags
 + object-file-convert: convert commit objects when writing
 + object-file-convert: don't leak when converting tag objects
 + object-file-convert: convert tag objects when writing
 + object-file-convert: add a function to convert trees between algorithms
 + object: factor out parse_mode out of fast-import and tree-walk into in object.h
 + cache: add a function to read an OID of a specific algorithm
 + tag: sign both hashes
 + commit: export add_header_signature to support handling signatures on tags
 + commit: convert mergetag before computing the signature of a commit
 + commit: write commits for both hashes
 + object-file: add a compat_oid_in parameter to write_object_file_flags
 + object-file: update the loose object map when writing loose objects
 + loose: compatibilty short name support
 + loose: add a mapping between SHA-1 and SHA-256 for loose objects
 + repository: add a compatibility hash algorithm
 + object-names: support input of oids in any supported hash
 + oid-array: teach oid-array to handle multiple kinds of oids
 + object-file-convert: stubs for converting from one object format to another

 Work to support a repository that work with both SHA-1 and SHA-256
 hash algorithms has started.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jc/show-untracked-false (2024-03-13) 2 commits
  (merged to 'next' on 2024-03-21 at 6d1f5603c6)
 + status: allow --untracked=false and friends
 + status: unify parsing of --untracked= and status.showUntrackedFiles

 The status.showUntrackedFiles configuration variable had a name
 that tempts users to set a Boolean value expressed in our usual
 "false", "off", and "0", but it only took "no".  This has been
 corrected so "true" and its synonyms are taken as "normal", while
 "false" and its synonyms are taken as "no".
 source: <20240313173214.962532-1-gitster@pobox.com>


* jk/drop-hg-to-git (2024-03-20) 1 commit
  (merged to 'next' on 2024-03-21 at 603d614310)
 + contrib: drop hg-to-git script

 Remove an ancient and not well maintained Hg-to-git migration
 script from contrib/.

 Acked-by: Stelian Pop <stelian@popies.net>
 cf. <37e4cd61-b370-437e-bd42-f98f47d3ad32@popies.net>
 source: <20240320094824.GA2445978@coredump.intra.peff.net>


* ph/diff-src-dst-prefix-config (2024-03-18) 2 commits
  (merged to 'next' on 2024-03-21 at 96801520db)
 + diff.*Prefix: use camelCase in the doc and test titles
 + diff: add diff.srcPrefix and diff.dstPrefix configuration variables

 "git diff" and friends learned two extra configuration variables,
 diff.srcPrefix and diff.dstPrefix.
 source: <20240315010310.GA1901653@quokka>
 source: <xmqq8r2ioh19.fsf@gitster.g>


* rs/t-prio-queue-fixes (2024-03-18) 2 commits
  (merged to 'next' on 2024-03-21 at 0730741187)
 + t-prio-queue: check result array bounds
 + t-prio-queue: shorten array index message

 Test clean-up.
 source: <9bf36cc8-ff27-44df-b2fb-9f959c781269@web.de>

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

* ew/khash-to-khashl (2024-03-28) 3 commits
 - khashl: fix ensemble lookups on empty table
 - treewide: switch to khashl for memory savings
 - list-objects-filter: use kh_size API

 The hashtable library "khash.h" has been replaced with "khashl.h"
 that has better memory usage characteristics.

 Needs review.
 source: <20240328101356.300374-1-e@80x24.org>


* ps/reftable-block-iteration-optim (2024-03-27) 9 commits
 - reftable/block: reuse `zstream` state on inflation
 - reftable/block: open-code call to `uncompress2()`
 - reftable/block: reuse uncompressed blocks
 - reftable/reader: iterate to next block in place
 - reftable/block: move ownership of block reader into `struct table_iter`
 - reftable/block: introduce `block_reader_release()`
 - reftable/block: better grouping of functions
 - reftable/block: merge `block_iter_seek()` and `block_reader_seek()`
 - reftable/block: rename `block_reader_start()`

 The code to iterate over reftable blocks has seen some optimization
 to reduce memory allocation and deallocation.

 Needs review.
 source: <cover.1711519925.git.ps@pks.im>


* rj/add-p-explicit-reshow (2024-03-28) 2 commits
 - add-patch: do not print hunks repeatedly
 - add-patch: introduce 'p' in interactive-patch

 "git add -p" and other "interactive hunk selection" UI has learned to
 skip showing the hunk immediately after it has already been shown, and
 an additional action to explicitly ask to reshow the current hunk.

 Will merge to 'next'?
 source: <60d978d0-f69a-4b65-b4ba-d30dac8f112a@gmail.com>

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

* az/grep-group-error-message-update (2024-03-25) 1 commit
  (merged to 'next' on 2024-03-27 at 567bf00ed4)
 + grep: improve errors for unmatched ( and )

 Error message clarification.

 Will merge to 'master'.
 source: <tkz3a5jkalcz5ajemx4b4x42pe6kv45sfmgpin4zeai3moq42o@tarta.nabijaczleweli.xyz>


* bc/credential-scheme-enhancement (2024-03-27) 12 commits
 . credential: add support for multistage credential rounds
 . t5563: refactor for multi-stage authentication
 . docs: set a limit on credential line length
 . credential: enable state capability
 . credential: add an argument to keep state
 . http: add support for authtype and credential
 . docs: indicate new credential protocol fields
 . credential: gate new fields on capability
 . credential: add a field for pre-encoded credentials
 . http: use new headers for each object request
 . remote-curl: reset headers on new request
 . credential: add an authtype field

 The credential helper protocol, together with the HTTP layer, have
 been enhanced to support authentication schemes different from
 username & password pair, like Bearer and NTLM.

 Expecting a reroll.
 cf. <ZgSQ5o_KyqDaxz1m@tapette.crustytoothpaste.net>
 source: <20240324011301.1553072-1-sandals@crustytoothpaste.net>


* bl/pretty-shorthand-config-fix (2024-03-25) 2 commits
  (merged to 'next' on 2024-03-28 at e2749914ab)
 + pretty: find pretty formats case-insensitively
 + pretty: update tests to use `test_config`

 The "--pretty=<shortHand>" option of the commands in the "git log"
 family, defined as "[pretty] shortHand = <expansion>" should have
 been looked up case insensitively, but was not, which has been
 corrected.

 Will merge to 'master'.
 source: <20240324214316.917513-1-brianmlyles@gmail.com>


* ds/grep-doc-updates (2024-03-25) 2 commits
  (merged to 'next' on 2024-03-27 at 681f08cbc5)
 + grep docs: describe --no-index further and improve formatting a bit
 + grep docs: describe --recurse-submodules further and improve formatting a bit

 Documentation updates.

 Will merge to 'master'.
 source: <cover.1711398665.git.dsimic@manjaro.org>


* ja/doc-markup-updates (2024-03-25) 4 commits
 - doc: git-clone: apply new documentation guidelines
 - doc: git-init: apply new documentation formatting guidelines
 - doc: allow literal and emphasis format in doc vs help tests
 - doc: rework CodingGuidelines with new formatting rules

 Documentation rules has been explicitly described how to mark-up
 literal parts and a few manual pages have been updated as examples.

 Will merge to 'next'?
 source: <pull.1702.git.1711318739.gitgitgadget@gmail.com>


* mg/editorconfig-makefile (2024-03-23) 1 commit
 - editorconfig: add Makefiles to "text files"

 The .editorconfig file has been taught that a Makefile uses HT
 indentation.

 Will merge to 'next'?
 source: <20240322221813.13019-1-mg@max.gautier.name>


* pb/test-scripts-are-build-targets (2024-03-25) 1 commit
  (merged to 'next' on 2024-03-27 at 9ef22a39b6)
 + t/README: mention test files are make targets

 The README now gives a hint on running individual tests in the "t/"
 directory with "make t<num>-*.sh t<num>-*.sh".

 Will merge to 'master'.
 source: <pull.1701.git.1711293246094.gitgitgadget@gmail.com>


* ps/reftable-binsearch-updates (2024-03-25) 7 commits
 - reftable/block: avoid decoding keys when searching restart points
 - reftable/record: extract function to decode key lengths
 - reftable/block: fix error handling when searching restart points
 - reftable/block: refactor binary search over restart points
 - reftable/refname: refactor binary search over refnames
 - reftable/basics: improve `binsearch()` test
 - reftable/basics: fix return type of `binsearch()` to be `size_t`

 Reftable code clean-up and some bugfixes.

 Needs review.
 source: <cover.1711361340.git.ps@pks.im>


* rs/midx-use-strvec-pushf (2024-03-25) 1 commit
  (merged to 'next' on 2024-03-27 at 16969df3e8)
 + midx: use strvec_pushf() for pack-objects base name

 Code clean-up.

 Will merge to 'master'.
 source: <9483038c-9529-4243-9b9a-97254fac29c1@web.de>


* rs/strbuf-expand-bad-format (2024-03-25) 2 commits
  (merged to 'next' on 2024-03-27 at 1f9dbf70a0)
 + cat-file: use strbuf_expand_bad_format()
 + factor out strbuf_expand_bad_format()

 Code clean-up.

 Will merge to 'master'.
 source: <27cdcde7-74bc-4ee8-bc84-9a6046292cae@web.de>


* jk/doc-remote-helpers-markup-fix (2024-03-20) 1 commit
  (merged to 'next' on 2024-03-25 at 7c3dd28ca5)
 + doc/gitremote-helpers: fix more missing single-quotes

 Documentation mark-up fix.

 Will merge to 'master'.
 source: <20240320091748.GA2444639@coredump.intra.peff.net>


* ps/reftable-unit-test-nfs-workaround (2024-03-21) 1 commit
  (merged to 'next' on 2024-03-25 at 4d3d391330)
 + reftable: fix tests being broken by NFS' delete-after-close semantics

 A unit test for reftable code tried to enumerate all files in a
 directory after reftable operations and expected to see nothing but
 the files it wanted to leave there, but was fooled by .nfs* cruft
 files left, which has been corrected.

 Will merge to 'master'.
 source: <8ac5e94a3930cdd2aee9ea86acda3155674b635c.1711035529.git.ps@pks.im>


* ps/t7800-variable-interpolation-fix (2024-03-22) 3 commits
  (merged to 'next' on 2024-03-25 at e7b1ec4df4)
 + t/README: document how to loop around test cases
 + t7800: use single quotes for test bodies
 + t7800: improve test descriptions with empty arguments

 Fix the way recently added tests interpolate variables defined
 outside them, and document the best practice to help future
 developers.

 Will merge to 'master'.
 source: <cover.1711074118.git.ps@pks.im>


* tb/pseudo-merge-reachability-bitmap (2024-03-20) 24 commits
 - t/perf: implement performace tests for pseudo-merge bitmaps
 - pseudo-merge: implement support for finding existing merges
 - ewah: `bitmap_equals_ewah()`
 - pack-bitmap: extra trace2 information
 - pack-bitmap.c: use pseudo-merges during traversal
 - t/test-lib-functions.sh: support `--date` in `test_commit_bulk()`
 - pack-bitmap: implement test helpers for pseudo-merge
 - ewah: implement `ewah_bitmap_popcount()`
 - pseudo-merge: implement support for reading pseudo-merge commits
 - pack-bitmap.c: read pseudo-merge extension
 - pseudo-merge: scaffolding for reads
 - pack-bitmap: extract `read_bitmap()` function
 - pack-bitmap-write.c: write pseudo-merge table
 - pack-bitmap-write.c: select pseudo-merge commits
 - pseudo-merge: implement support for selecting pseudo-merge commits
 - pack-bitmap: make `bitmap_writer_push_bitmapped_commit()` public
 - pack-bitmap: implement `bitmap_writer_has_bitmapped_object_id()`
 - pack-bitmap-write: support storing pseudo-merge commits
 - pseudo-merge.ch: initial commit
 - pack-bitmap: move some initialization to `bitmap_writer_init()`
 - pack-bitmap: drop unused `max_bitmaps` parameter
 - ewah: implement `ewah_bitmap_is_subset()`
 - config: repo_config_get_expiry()
 - Documentation/technical: describe pseudo-merge bitmaps format

 The pack-bitmap machinery learned to write pseudo-merge bitmaps,
 which act as imaginary octopus merges covering un-bitmapped
 reference tips. This enhances bitmap coverage, and thus,
 performance, for repositories with many references using bitmaps.

 Expecting a reroll.
 cf. <ZfyxCLpjbaScIdWA@nand.local>
 source: <cover.1710972293.git.me@ttaylorr.com>


* jc/release-notes-entry-experiment (2024-03-26) 1 commit
  (merged to 'next' on 2024-03-27 at 74ebe224e9)
 + SubmittingPatches: release-notes entry experiment

 Introduce an experimental protocol for contributors to propose the
 topic description to be used in the "What's cooking" report, the
 merge commit message for the topic, and in the release notes and
 document it in the SubmittingPatches document.

 Will merge to 'master'.
 source: <xmqq8r26eyva.fsf@gitster.g>


* jk/rebase-apply-leakfix (2024-03-22) 1 commit
  (merged to 'next' on 2024-03-25 at f9358272af)
 + rebase: use child_process_clear() to clean

 Leakfix.

 Will merge to 'master'.
 source: <20240322103502.GA2045297@coredump.intra.peff.net>


* dg/myfirstobjectwalk-updates (2024-03-27) 5 commits
 - MyFirstObjectWalk: add stderr to pipe processing
 - MyFirstObjectWalk: fix description for counting omitted objects
 - MyFirstObjectWalk: fix filtered object walk
 - MyFirstObjectWalk: fix misspelled "builtins/"
 - MyFirstObjectWalk: use additional arg in config_fn_t

 Update a more recent tutorial doc.

 Will merge to 'next'?
 source: <cover.1711537370.git.dirk@gouders.net>


* ds/config-internal-whitespace-fix (2024-03-21) 4 commits
  (merged to 'next' on 2024-03-25 at f3393cabe5)
 + config.txt: describe handling of whitespace further
 + t1300: add more tests for whitespace and inline comments
 + config: really keep value-internal whitespace verbatim
 + config: minor addition of whitespace

 "git config" corrupted literal HT characters written in the
 configuration file as part of a value, which has been corrected.

 Will merge to 'master'.
 source: <cover.1711001016.git.dsimic@manjaro.org>


* jc/apply-parse-diff-git-header-names-fix (2024-03-28) 2 commits
  (merged to 'next' on 2024-03-28 at a35de15836)
 + t4126: make sure a directory with SP at the end is usable
  (merged to 'next' on 2024-03-27 at d586367985)
 + apply: parse names out of "diff --git" more carefully

 "git apply" failed to extract the filename the patch applied to,
 when the change was about an empty file created in or deleted from
 a directory whose name ends with a SP, which has been corrected.

 Will merge to 'master'.
 source: <xmqqh6gqt674.fsf_-_@gitster.g>
 source: <xmqqfrwlltjn.fsf@gitster.g>


* jk/pretty-subject-cleanup (2024-03-22) 7 commits
  (merged to 'next' on 2024-03-22 at 2796f347ad)
 + format-patch: fix leak of empty header string
 + format-patch: simplify after-subject MIME header handling
 + format-patch: return an allocated string from log_write_email_headers()
 + log: do not set up extra_headers for non-email formats
 + pretty: drop print_email_subject flag
 + pretty: split oneline and email subject printing
 + shortlog: stop setting pp.print_email_subject

 Code clean-up in the "git log" machinery that implements custom log
 message formatting.

 Will merge to 'master'.
 source: <20240320002555.GB903718@coredump.intra.peff.net>


* la/hide-trailer-info (2024-03-16) 7 commits
 - trailer: retire trailer_info_get() from API
 - trailer: make trailer_info struct private
 - trailer: make parse_trailers() return trailer_info pointer
 - interpret-trailers: access trailer_info with new helpers
 - sequencer: use the trailer iterator
 - trailer: teach iterator about non-trailer lines
 - Merge branch 'la/format-trailer-info' into la/hide-trailer-info
 (this branch uses la/format-trailer-info.)

 The trailer API has been reshuffled a bit.

 Needs review.
 source: <pull.1696.git.1710570428.gitgitgadget@gmail.com>


* pb/advice-merge-conflict (2024-03-18) 2 commits
  (merged to 'next' on 2024-03-25 at 4414e31d81)
 + builtin/am: allow disabling conflict advice
 + sequencer: allow disabling conflict advice

 Hints that suggest what to do after resolving conflicts can now be
 squelched by disabling advice.mergeConflict.

 Acked-by: Phillip Wood <phillip.wood123@gmail.com>
 cf. <e040c631-42d9-4501-a7b8-046f8dac6309@gmail.com>

 Will merge to 'master'.
 source: <pull.1682.v3.git.1710623790.gitgitgadget@gmail.com>


* ps/pack-refs-auto (2024-03-25) 16 commits
 - builtin/gc: pack refs when using `git maintenance run --auto`
 - builtin/gc: forward git-gc(1)'s `--auto` flag when packing refs
 - t6500: extract objects with "17" prefix
 - builtin/gc: move `struct maintenance_run_opts`
 - builtin/pack-refs: introduce new "--auto" flag
 - builtin/pack-refs: release allocated memory
 - refs/reftable: expose auto compaction via new flag
 - refs: remove `PACK_REFS_ALL` flag
 - refs: move `struct pack_refs_opts` to where it's used
 - t/helper: drop pack-refs wrapper
 - refs/reftable: print errors on compaction failure
 - reftable/stack: gracefully handle failed auto-compaction due to locks
 - reftable/stack: use error codes when locking fails during compaction
 - reftable/error: discern locked/outdated errors
 - reftable/stack: fix error handling in `reftable_stack_init_addition()`
 - Merge branch 'ps/reftable-stack-tempfile' into ps/pack-refs-auto

 "git pack-refs" learned the "--auto" option, which is a useful
 addition to be triggered from "git gc --auto".

 Acked-by: Karthik Nayak <karthik.188@gmail.com>
 cf. <CAOLa=ZRAEA7rSUoYL0h-2qfEELdbPHbeGpgBJRqesyhHi9Q6WQ@mail.gmail.com>

 Will merge to 'next'.
 source: <cover.1711360631.git.ps@pks.im>


* ps/clone-with-includeif-onbranch (2024-03-12) 1 commit
  (merged to 'next' on 2024-03-25 at 8d11bd8bd4)
 + t5601: exercise clones with "includeIf.*.onbranch"

 An additional test to demonstrate something I am not sure what.

 Will merge to 'master'.
 source: <0bede59a53862585c49bc635f82e44e983144a7f.1710246859.git.ps@pks.im>


* ds/doc-config-reflow (2024-03-14) 1 commit
 - config.txt: perform some minor reformatting

 Reflow a paragraph in the documentation source without any effect
 to the formatted text.

 Will discard.
 source: <97bdaf075bf5a68554cca1731eca78aff2662907.1710444774.git.dsimic@manjaro.org>


* la/format-trailer-info (2024-03-15) 5 commits
 - trailer: finish formatting unification
 - trailer: begin formatting unification
 - format_trailer_info(): append newline for non-trailer lines
 - format_trailer_info(): drop redundant unfold_value()
 - format_trailer_info(): use trailer_item objects
 (this branch is used by la/hide-trailer-info.)

 The code to format trailers have been cleaned up.

 Comments?
 source: <pull.1694.git.1710485706.gitgitgadget@gmail.com>


* rs/config-comment (2024-03-15) 3 commits
  (merged to 'next' on 2024-03-28 at 83eaadc2b6)
 + config: allow tweaking whitespace between value and comment
 + config: fix --comment formatting
 + config: add --comment option to add a comment

 "git config" learned "--comment=<message>" option to leave a
 comment immediately after the "variable = value" on the same line
 in the configuration file.

 Will merge to 'master'.
 source: <pull.1681.v2.git.1709824540636.gitgitgadget@gmail.com>


* pw/checkout-conflict-errorfix (2024-03-14) 5 commits
  (merged to 'next' on 2024-03-22 at 9977ac6c75)
 + checkout: fix interaction between --conflict and --merge
 + checkout: cleanup --conflict=<style> parsing
 + merge options: add a conflict style member
 + merge-ll: introduce LL_MERGE_OPTIONS_INIT
 + xdiff-interface: refactor parsing of merge.conflictstyle

 "git checkout --conflict=bad" reported a bad conflictStyle as if it
 were given to a configuration variable; it has been corrected to
 report that the command line option is bad.

 Will merge to 'master'.
 source: <pull.1684.v2.git.1710435907.gitgitgadget@gmail.com>


* bl/cherry-pick-empty (2024-03-25) 7 commits
  (merged to 'next' on 2024-03-28 at 22e8e4a68e)
 + cherry-pick: add `--empty` for more robust redundant commit handling
 + cherry-pick: enforce `--keep-redundant-commits` incompatibility
 + sequencer: do not require `allow_empty` for redundant commit options
 + sequencer: handle unborn branch with `--allow-empty`
 + rebase: update `--empty=ask` to `--empty=stop`
 + docs: clean up `--empty` formatting in git-rebase(1) and git-am(1)
 + docs: address inaccurate `--empty` default with `--exec`

 Allow git-cherry-pick(1) to automatically drop redundant commits via
 a new `--empty` option, similar to the `--empty` options for
 git-rebase(1) and git-am(1). Includes a soft deprecation of
 `--keep-redundant-commits` as well as some related docs changes and
 sequencer code cleanup.

 Will merge to 'master'.
 cf. <a397f3dd-e4e1-4275-b17d-1daca9e166fe@gmail.com>
 source: <20240119060721.3734775-2-brianmlyles@gmail.com>


* ie/config-includeif-hostname (2024-03-19) 2 commits
 - config: learn the "hostname:" includeIf condition
 - t: add a test helper for getting hostname

 The conditional inclusion mechanism for configuration files learned
 to switch on the hostname.

 Expecting a reroll.
 cf. <20240319210428.GC1159535@coredump.intra.peff.net>
 cf. <20240320001934.GA903718@coredump.intra.peff.net>
 source: <20240319183722.211300-1-ignacio@iencinas.com>


* jk/remote-helper-object-format-option-fix (2024-03-20) 3 commits
  (merged to 'next' on 2024-03-27 at 5c9d5be660)
 + transport-helper: send "true" value for object-format option
 + transport-helper: drop "object-format <algo>" option
 + transport-helper: use write helpers more consistently

 The implementation and documentation of "object-format" option
 exchange between the Git itself and its remote helpers did not
 quite match.

 Will merge to 'master'.
 source: <20240320093226.GA2445531@coredump.intra.peff.net>


* jk/core-comment-string (2024-03-27) 17 commits
  (merged to 'next' on 2024-03-28 at fbf8eb9331)
 + config: add core.commentString
 + config: allow multi-byte core.commentChar
 + environment: drop comment_line_char compatibility macro
 + wt-status: drop custom comment-char stringification
 + sequencer: handle multi-byte comment characters when writing todo list
 + find multi-byte comment chars in unterminated buffers
 + find multi-byte comment chars in NUL-terminated strings
 + prefer comment_line_str to comment_line_char for printing
 + strbuf: accept a comment string for strbuf_add_commented_lines()
 + strbuf: accept a comment string for strbuf_commented_addf()
 + strbuf: accept a comment string for strbuf_stripspace()
 + environment: store comment_line_char as a string
 + strbuf: avoid shadowing global comment_line_char name
 + commit: refactor base-case of adjust_comment_line_char()
 + strbuf: avoid static variables in strbuf_add_commented_lines()
 + strbuf: simplify comment-handling in add_lines() helper
 + config: forbid newline as core.commentChar

 core.commentChar used to be limited to a single byte, but has been
 updated to allow an arbitrary multi-byte sequence.

 Will merge to 'master'.
 source: <20240312091013.GA95442@coredump.intra.peff.net>
 source: <20240327081922.GA830163@coredump.intra.peff.net>


* js/build-fuzz-more-often (2024-03-05) 3 commits
 - SQUASH???
 - fuzz: link fuzz programs with `make all` on Linux
 - ci: also define CXX environment variable

 In addition to building the objects needed, try to link the objects
 that are used in fuzzer tests, to make sure at least they build
 without bitrot, in Linux CI runs.

 Stalled.
 cf. <xmqq1q7w8xx6.fsf@gitster.g>
 source: <cover.1709673020.git.steadmon@google.com>


* sj/userdiff-c-sharp (2024-03-28) 1 commit
 - userdiff: better method/property matching for C#

 The userdiff patterns for C# has been updated.

 Needs review.
 source: <pull.1682.v4.git.git.1711653257043.gitgitgadget@gmail.com>


* cw/git-std-lib (2024-02-28) 4 commits
 - SQUASH??? get rid of apparent debugging crufts
 - test-stdlib: show that git-std-lib is independent
 - git-std-lib: introduce Git Standard Library
 - pager: include stdint.h because uintmax_t is used

 Split libgit.a out to a separate git-std-lib tor easier reuse.

 Expecting a reroll.
 source: <cover.1696021277.git.jonathantanmy@google.com>


* js/cmake-with-test-tool (2024-02-23) 2 commits
 - cmake: let `test-tool` run the unit tests, too
 - Merge branch 'js/unit-test-suite-runner' into js/cmake-with-test-tool
 (this branch uses js/unit-test-suite-runner.)

 "test-tool" is now built in CMake build to also run the unit tests.

 May want to roll it into the base topic.
 source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>


* js/unit-test-suite-runner (2024-02-23) 8 commits
 - ci: use test-tool as unit test runner on Windows
 - t/Makefile: run unit tests alongside shell tests
 - unit tests: add rule for running with test-tool
 - test-tool run-command testsuite: support unit tests
 - test-tool run-command testsuite: remove hardcoded filter
 - test-tool run-command testsuite: get shell from env
 - t0080: turn t-basic unit test into a helper
 - Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner
 (this branch is used by js/cmake-with-test-tool.)

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.

 Needs review.
 source: <cover.1708728717.git.steadmon@google.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 cf. <6683f24e-7e56-489d-be2d-8afe1fc38d2b@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Expecting a reroll.
 cf. <CAC4O8c88Z3ZqxH2VVaNPpEGB3moL5dJcg3cOWuLWwQ_hLrJMtA@mail.gmail.com>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 21%]

* Re: What's cooking in git.git (Mar 2024, #08; Tue, 26)
  @ 2024-03-26 21:02 99%       ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-03-26 21:02 UTC (permalink / raw)
  To: Taylor Blau; +Cc: Jeff King, git

Taylor Blau <me@ttaylorr.com> writes:

> Sure, try this:
>
>     The pack-bitmap machinery learned to write pseudo-merge bitmaps,
>     which act as imaginary octopus merges covering un-bitmapped
>     reference tips. This enhances bitmap coverage, and thus,
>     performance, for repositories with many references using bitmaps.

Beautiful.


^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (Mar 2024, #08; Tue, 26)
  @ 2024-03-26 20:45 99%   ` Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2024-03-26 20:45 UTC (permalink / raw)
  To: Taylor Blau; +Cc: Jeff King, git

Taylor Blau <me@ttaylorr.com> writes:

>>  The pack-bitmap machinery has been extended to write bitmaps for
>>  pseudo-merges, which are imaginary commits which act as octopus
>>  merges covering groups of the un-bitmapped parts of history at
>>  reference tips.  This is good for ... what ...?
>
> Instead of "this is good for ... what ...", let me know what you think
> of:
>
>   This allows for greater bitmap coverage (and, thus, performance when
>   using bitmaps) of repositories with many references which ordinarily
>   would not receive full coverage.

Much better than "god for ... what ..." ;-)

Now if it gets summarized in 2-5 lines, we have something we can
use.

Thanks.


^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Mar 2024, #08; Tue, 26)
@ 2024-03-26 18:37 21% Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2024-03-26 18:37 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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']

* bb/sh-scripts-cleanup (2024-03-16) 22 commits
  (merged to 'next' on 2024-03-18 at 4501a04796)
 + git-quiltimport: avoid an unnecessary subshell
 + contrib/coverage-diff: avoid redundant pipelines
 + t/t9*: merge "grep | sed" pipelines
 + t/t8*: merge "grep | sed" pipelines
 + t/t5*: merge a "grep | sed" pipeline
 + t/t4*: merge a "grep | sed" pipeline
 + t/t3*: merge a "grep | awk" pipeline
 + t/t1*: merge a "grep | sed" pipeline
 + t/t9*: avoid redundant uses of cat
 + t/t8*: avoid redundant use of cat
 + t/t7*: avoid redundant use of cat
 + t/t6*: avoid redundant uses of cat
 + t/t5*: avoid redundant uses of cat
 + t/t4*: avoid redundant uses of cat
 + t/t3*: avoid redundant uses of cat
 + t/t1*: avoid redundant uses of cat
 + t/t0*: avoid redundant uses of cat
 + t/perf: avoid redundant use of cat
 + t/annotate-tests.sh: avoid redundant use of cat
 + t/lib-cvs.sh: avoid redundant use of cat
 + contrib/subtree/t: avoid redundant use of cat
 + doc: avoid redundant use of cat

 Shell scripts clean-up.
 source: <20240315194620.10713-1-dev+git@drbeat.li>


* bl/doc-config-fixes (2024-03-16) 2 commits
  (merged to 'next' on 2024-03-18 at a9038d5a9e)
 + docs: fix typo in git-config `--default`
 + docs: clarify file options in git-config `--edit`

 A few typoes in "git config --help" have been corrected.
 source: <20240316050149.1182867-2-brianmlyles@gmail.com>


* bl/doc-key-val-sep-fix (2024-03-18) 2 commits
  (merged to 'next' on 2024-03-18 at b2e1babb85)
 + docs: adjust trailer `separator` and `key_value_separator` language
 + docs: correct trailer `key_value_separator` description

 The documentation for "%(trailers[:options])" placeholder in the
 "--pretty" option of commands in the "git log" family has been
 updated.
 source: <20240316035612.752910-1-brianmlyles@gmail.com>


* ja/doc-formatting-fix (2024-03-16) 2 commits
  (merged to 'next' on 2024-03-18 at edde7a576d)
 + doc: fix some placeholders formating
 + doc: format alternatives in synopsis

 Documentation mark-up fix.
 source: <pull.1697.git.1710602501.gitgitgadget@gmail.com>


* jc/index-pack-fsck-levels (2024-03-15) 1 commit
  (merged to 'next' on 2024-03-18 at 243c5f4125)
 + t5300: fix test_with_bad_commit()

 Test fix.
 source: <pull.1688.git.git.1710478646776.gitgitgadget@gmail.com>


* js/bugreport-no-suffix-fix (2024-03-16) 1 commit
  (merged to 'next' on 2024-03-18 at 180db8ec38)
 + bugreport.c: fix a crash in `git bugreport` with `--no-suffix` option

 "git bugreport --no-suffix" was not supported and instead
 segfaulted, which has been corrected.
 source: <9c6f3f5203ae26c501a5711e2610573130bfd550.1710388817.git.gitgitgadget@gmail.com>


* rj/restore-plug-leaks (2024-03-14) 1 commit
  (merged to 'next' on 2024-03-15 at ac10ae7892)
 + checkout: plug some leaks in git-restore

 Leaks from "git restore" have been plugged.
 source: <64c1c3cc-51d7-4168-9731-4389889e1449@gmail.com>

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

* az/grep-group-error-message-update (2024-03-25) 1 commit
 - grep: improve errors for unmatched ( and )

 Error message clarification.

 Will merge to 'next'.
 source: <tkz3a5jkalcz5ajemx4b4x42pe6kv45sfmgpin4zeai3moq42o@tarta.nabijaczleweli.xyz>


* bc/credential-scheme-enhancement (2024-03-25) 13 commits
 - credential: add support for multistage credential rounds
 - strvec: implement swapping two strvecs
 - t5563: refactor for multi-stage authentication
 - docs: set a limit on credential line length
 - credential: enable state capability
 - credential: add an argument to keep state
 - http: add support for authtype and credential
 - docs: indicate new credential protocol fields
 - credential: gate new fields on capability
 - credential: add a field for pre-encoded credentials
 - http: use new headers for each object request
 - remote-curl: reset headers on new request
 - credential: add an authtype field

 The credential helper protocol, together with the HTTP layer, have
 been enhanced to support authentication schemes different from
 username & password pair, like Bearer and NTLM.

 Needs review.
 source: <20240324011301.1553072-1-sandals@crustytoothpaste.net>


* bl/pretty-shorthand-config-fix (2024-03-25) 2 commits
 - pretty: find pretty formats case-insensitively
 - pretty: update tests to use `test_config`

 The "--pretty=<shortHand>" option of the commands in the "git log"
 family, defined as "[pretty] shortHand = <expansion>" should have
 been looked up case insensitively, but was not, which has been
 corrected.

 Will merge to 'next'.
 source: <20240324214316.917513-1-brianmlyles@gmail.com>


* ds/grep-doc-updates (2024-03-25) 2 commits
 - grep docs: describe --no-index further and improve formatting a bit
 - grep docs: describe --recurse-submodules further and improve formatting a bit

 Documentation updates.

 Will merge to 'next'.
 source: <cover.1711398665.git.dsimic@manjaro.org>


* ja/doc-markup-updates (2024-03-25) 4 commits
 - doc: git-clone: apply new documentation guidelines
 - doc: git-init: apply new documentation formatting guidelines
 - doc: allow literal and emphasis format in doc vs help tests
 - doc: rework CodingGuidelines with new formatting rules

 Documentation rules has been explicitly described how to mark-up
 literal parts and a few manual pages have been updated as examples.

 Will merge to 'next'?
 source: <pull.1702.git.1711318739.gitgitgadget@gmail.com>


* mg/editorconfig-makefile (2024-03-23) 1 commit
 - editorconfig: add Makefiles to "text files"

 The .editorconfig file has been taught that a Makefile uses HT
 indentation.

 Will merge to 'next'?
 source: <20240322221813.13019-1-mg@max.gautier.name>


* pb/test-scripts-are-build-targets (2024-03-25) 1 commit
 - t/README: mention test files are make targets

 The README now gives a hint on running individual tests in the "t/"
 directory with "make t<num>-*.sh t<num>-*.sh".

 Will merge to 'next'.
 source: <pull.1701.git.1711293246094.gitgitgadget@gmail.com>


* ps/reftable-binsearch-updates (2024-03-25) 7 commits
 - reftable/block: avoid decoding keys when searching restart points
 - reftable/record: extract function to decode key lengths
 - reftable/block: fix error handling when searching restart points
 - reftable/block: refactor binary search over restart points
 - reftable/refname: refactor binary search over refnames
 - reftable/basics: improve `binsearch()` test
 - reftable/basics: fix return type of `binsearch()` to be `size_t`

 Reftable code clean-up and some bugfixes.

 Needs review.
 source: <cover.1711361340.git.ps@pks.im>


* rs/midx-use-strvec-pushf (2024-03-25) 1 commit
 - midx: use strvec_pushf() for pack-objects base name

 Code clean-up.

 Will merge to 'next'.
 source: <9483038c-9529-4243-9b9a-97254fac29c1@web.de>


* rs/strbuf-expand-bad-format (2024-03-25) 2 commits
 - cat-file: use strbuf_expand_bad_format()
 - factor out strbuf_expand_bad_format()

 Code clean-up.

 Will merge to 'next'.
 source: <27cdcde7-74bc-4ee8-bc84-9a6046292cae@web.de>

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

* jk/doc-remote-helpers-markup-fix (2024-03-20) 1 commit
  (merged to 'next' on 2024-03-25 at 7c3dd28ca5)
 + doc/gitremote-helpers: fix more missing single-quotes

 Documentation mark-up fix.

 Will merge to 'master'.
 source: <20240320091748.GA2444639@coredump.intra.peff.net>


* jk/drop-hg-to-git (2024-03-20) 1 commit
  (merged to 'next' on 2024-03-21 at 603d614310)
 + contrib: drop hg-to-git script

 Remove an ancient and not well maintained Hg-to-git migration
 script from contrib/.

 Acked-by: Stelian Pop <stelian@popies.net>
 cf. <37e4cd61-b370-437e-bd42-f98f47d3ad32@popies.net>

 Will merge to 'master'.
 source: <20240320094824.GA2445978@coredump.intra.peff.net>


* ps/reftable-unit-test-nfs-workaround (2024-03-21) 1 commit
  (merged to 'next' on 2024-03-25 at 4d3d391330)
 + reftable: fix tests being broken by NFS' delete-after-close semantics

 A unit test for reftable code tried to enumerate all files in a
 directory after reftable operations and expected to see nothing but
 the files it wanted to leave there, but was fooled by .nfs* cruft
 files left, which has been corrected.

 Will merge to 'master'.
 source: <8ac5e94a3930cdd2aee9ea86acda3155674b635c.1711035529.git.ps@pks.im>


* ps/t7800-variable-interpolation-fix (2024-03-22) 3 commits
  (merged to 'next' on 2024-03-25 at e7b1ec4df4)
 + t/README: document how to loop around test cases
 + t7800: use single quotes for test bodies
 + t7800: improve test descriptions with empty arguments

 Fix the way recently added tests interpolate variables defined
 outside them, and document the best practice to help future
 developers.

 Will merge to 'master'.
 source: <cover.1711074118.git.ps@pks.im>


* tb/pseudo-merge-reachability-bitmap (2024-03-20) 24 commits
 - t/perf: implement performace tests for pseudo-merge bitmaps
 - pseudo-merge: implement support for finding existing merges
 - ewah: `bitmap_equals_ewah()`
 - pack-bitmap: extra trace2 information
 - pack-bitmap.c: use pseudo-merges during traversal
 - t/test-lib-functions.sh: support `--date` in `test_commit_bulk()`
 - pack-bitmap: implement test helpers for pseudo-merge
 - ewah: implement `ewah_bitmap_popcount()`
 - pseudo-merge: implement support for reading pseudo-merge commits
 - pack-bitmap.c: read pseudo-merge extension
 - pseudo-merge: scaffolding for reads
 - pack-bitmap: extract `read_bitmap()` function
 - pack-bitmap-write.c: write pseudo-merge table
 - pack-bitmap-write.c: select pseudo-merge commits
 - pseudo-merge: implement support for selecting pseudo-merge commits
 - pack-bitmap: make `bitmap_writer_push_bitmapped_commit()` public
 - pack-bitmap: implement `bitmap_writer_has_bitmapped_object_id()`
 - pack-bitmap-write: support storing pseudo-merge commits
 - pseudo-merge.ch: initial commit
 - pack-bitmap: move some initialization to `bitmap_writer_init()`
 - pack-bitmap: drop unused `max_bitmaps` parameter
 - ewah: implement `ewah_bitmap_is_subset()`
 - config: repo_config_get_expiry()
 - Documentation/technical: describe pseudo-merge bitmaps format

 The pack-bitmap machinery has been extended to write bitmaps for
 pseudo-merges, which are imaginary commits which act as octopus
 merges covering groups of the un-bitmapped parts of history at
 reference tips.  This is good for ... what ...?

 Expecting a reroll.
 cf. <ZfyxCLpjbaScIdWA@nand.local>
 source: <cover.1710972293.git.me@ttaylorr.com>


* jc/release-notes-entry-experiment (2024-03-26) 1 commit
 - SubmittingPatches: release-notes entry experiment

 Introduce an experimental protocol for contributors to propose the
 topic description to be used in the "What's cooking" report, the
 merge commit message for the topic, and in the release notes and
 document it in the SubmittingPatches document.

 Will merge to 'next'.
 source: <xmqq8r26eyva.fsf@gitster.g>


* jk/rebase-apply-leakfix (2024-03-22) 1 commit
  (merged to 'next' on 2024-03-25 at f9358272af)
 + rebase: use child_process_clear() to clean

 Leakfix.

 Will merge to 'master'.
 source: <20240322103502.GA2045297@coredump.intra.peff.net>


* dg/myfirstobjectwalk-updates (2024-03-26) 5 commits
 - MyFirstObjectWalk: add stderr to pipe processing
 - MyFirstObjectWalk: fix description for counting omitted objects
 - MyFirstObjectWalk: fix filtered object walk
 - MyFirstObjectWalk: fix misspelled "builtins/"
 - MyFirstObjectWalk: use additional arg in config_fn_t

 Update a more recent tutorial doc.

 Waiting for the final Ack.
 cf. <xmqqo7b1apx3.fsf@gitster.g>
 source: <cover.1711368498.git.dirk@gouders.net>


* ds/config-internal-whitespace-fix (2024-03-21) 4 commits
  (merged to 'next' on 2024-03-25 at f3393cabe5)
 + config.txt: describe handling of whitespace further
 + t1300: add more tests for whitespace and inline comments
 + config: really keep value-internal whitespace verbatim
 + config: minor addition of whitespace

 "git config" corrupted literal HT characters written in the
 configuration file as part of a value, which has been corrected.

 Will merge to 'master'.
 source: <cover.1711001016.git.dsimic@manjaro.org>


* jc/apply-parse-diff-git-header-names-fix (2024-03-19) 1 commit
 - apply: parse names out of "diff --git" more carefully

 "git apply" failed to extract the filename the patch applied to,
 when the change was about an empty file created in or deleted from
 a directory whose name ends with a SP, which has been corrected.

 Needs review.
 source: <xmqqfrwlltjn.fsf@gitster.g>


* jk/pretty-subject-cleanup (2024-03-22) 7 commits
  (merged to 'next' on 2024-03-22 at 2796f347ad)
 + format-patch: fix leak of empty header string
 + format-patch: simplify after-subject MIME header handling
 + format-patch: return an allocated string from log_write_email_headers()
 + log: do not set up extra_headers for non-email formats
 + pretty: drop print_email_subject flag
 + pretty: split oneline and email subject printing
 + shortlog: stop setting pp.print_email_subject

 Code clean-up in the "git log" machinery that implements custom log
 message formatting.

 Will merge to 'master'.
 source: <20240320002555.GB903718@coredump.intra.peff.net>


* la/hide-trailer-info (2024-03-16) 7 commits
 - trailer: retire trailer_info_get() from API
 - trailer: make trailer_info struct private
 - trailer: make parse_trailers() return trailer_info pointer
 - interpret-trailers: access trailer_info with new helpers
 - sequencer: use the trailer iterator
 - trailer: teach iterator about non-trailer lines
 - Merge branch 'la/format-trailer-info' into la/hide-trailer-info
 (this branch uses la/format-trailer-info.)

 The trailer API has been reshuffled a bit.
 source: <pull.1696.git.1710570428.gitgitgadget@gmail.com>


* pb/advice-merge-conflict (2024-03-18) 2 commits
  (merged to 'next' on 2024-03-25 at 4414e31d81)
 + builtin/am: allow disabling conflict advice
 + sequencer: allow disabling conflict advice

 Hints that suggest what to do after resolving conflicts can now be
 squelched by disabling advice.mergeConflict.

 Acked-by: Phillip Wood <phillip.wood123@gmail.com>
 cf. <e040c631-42d9-4501-a7b8-046f8dac6309@gmail.com>

 Will merge to 'master'.
 source: <pull.1682.v3.git.1710623790.gitgitgadget@gmail.com>


* rs/t-prio-queue-fixes (2024-03-18) 2 commits
  (merged to 'next' on 2024-03-21 at 0730741187)
 + t-prio-queue: check result array bounds
 + t-prio-queue: shorten array index message

 Test clean-up.

 Will merge to 'master'.
 source: <9bf36cc8-ff27-44df-b2fb-9f959c781269@web.de>


* ps/pack-refs-auto (2024-03-25) 16 commits
 - builtin/gc: pack refs when using `git maintenance run --auto`
 - builtin/gc: forward git-gc(1)'s `--auto` flag when packing refs
 - t6500: extract objects with "17" prefix
 - builtin/gc: move `struct maintenance_run_opts`
 - builtin/pack-refs: introduce new "--auto" flag
 - builtin/pack-refs: release allocated memory
 - refs/reftable: expose auto compaction via new flag
 - refs: remove `PACK_REFS_ALL` flag
 - refs: move `struct pack_refs_opts` to where it's used
 - t/helper: drop pack-refs wrapper
 - refs/reftable: print errors on compaction failure
 - reftable/stack: gracefully handle failed auto-compaction due to locks
 - reftable/stack: use error codes when locking fails during compaction
 - reftable/error: discern locked/outdated errors
 - reftable/stack: fix error handling in `reftable_stack_init_addition()`
 - Merge branch 'ps/reftable-stack-tempfile' into ps/pack-refs-auto

 "git pack-refs" learned the "--auto" option, which is a useful
 addition to be triggered from "git gc --auto".

 Acked-by: Karthik Nayak <karthik.188@gmail.com>
 cf. <CAOLa=ZRAEA7rSUoYL0h-2qfEELdbPHbeGpgBJRqesyhHi9Q6WQ@mail.gmail.com>

 Will merge to 'next'.
 source: <cover.1711360631.git.ps@pks.im>


* jc/show-untracked-false (2024-03-13) 2 commits
  (merged to 'next' on 2024-03-21 at 6d1f5603c6)
 + status: allow --untracked=false and friends
 + status: unify parsing of --untracked= and status.showUntrackedFiles

 The status.showUntrackedFiles configuration variable had a name
 that tempts users to set a Boolean value expressed in our usual
 "false", "off", and "0", but it only took "no".  This has been
 corrected so "true" and its synonyms are taken as "normal", while
 "false" and its synonyms are taken as "no".

 Will merge to 'master'.
 source: <20240313173214.962532-1-gitster@pobox.com>


* ph/diff-src-dst-prefix-config (2024-03-18) 2 commits
  (merged to 'next' on 2024-03-21 at 96801520db)
 + diff.*Prefix: use camelCase in the doc and test titles
 + diff: add diff.srcPrefix and diff.dstPrefix configuration variables

 "git diff" and friends learned two extra configuration variables.

 Will merge to 'master'.
 source: <20240315010310.GA1901653@quokka>
 source: <xmqq8r2ioh19.fsf@gitster.g>


* ps/clone-with-includeif-onbranch (2024-03-12) 1 commit
  (merged to 'next' on 2024-03-25 at 8d11bd8bd4)
 + t5601: exercise clones with "includeIf.*.onbranch"

 An additional test to demonstrate something I am not sure what.

 Will merge to 'master'.
 source: <0bede59a53862585c49bc635f82e44e983144a7f.1710246859.git.ps@pks.im>


* bt/fuzz-config-parse (2024-03-15) 1 commit
  (merged to 'next' on 2024-03-21 at 6e9f331d68)
 + fuzz: add fuzzer for config parsing

 A new fuzz target that exercises config parsing code.

 Will merge to 'master'.
 source: <pull.1692.v2.git.1710481652130.gitgitgadget@gmail.com>


* ds/doc-config-reflow (2024-03-14) 1 commit
 - config.txt: perform some minor reformatting

 Reflow a paragraph in the documentation source without any effect
 to the formatted text.

 Comments?
 source: <97bdaf075bf5a68554cca1731eca78aff2662907.1710444774.git.dsimic@manjaro.org>


* la/format-trailer-info (2024-03-15) 5 commits
 - trailer: finish formatting unification
 - trailer: begin formatting unification
 - format_trailer_info(): append newline for non-trailer lines
 - format_trailer_info(): drop redundant unfold_value()
 - format_trailer_info(): use trailer_item objects
 (this branch is used by la/hide-trailer-info.)

 The code to format trailers have been cleaned up.

 Comments?
 source: <pull.1694.git.1710485706.gitgitgadget@gmail.com>


* rs/config-comment (2024-03-15) 3 commits
 - config: allow tweaking whitespace between value and comment
 - config: fix --comment formatting
 - config: add --comment option to add a comment

 "git config" learned "--comment=<message>" option to leave a
 comment immediately after the "variable = value" on the same line
 in the configuration file.

 Waiting for review response.
 cf. <xmqq8r2jp2eq.fsf@gitster.g>
 source: <pull.1681.v2.git.1709824540636.gitgitgadget@gmail.com>


* pw/checkout-conflict-errorfix (2024-03-14) 5 commits
  (merged to 'next' on 2024-03-22 at 9977ac6c75)
 + checkout: fix interaction between --conflict and --merge
 + checkout: cleanup --conflict=<style> parsing
 + merge options: add a conflict style member
 + merge-ll: introduce LL_MERGE_OPTIONS_INIT
 + xdiff-interface: refactor parsing of merge.conflictstyle

 "git checkout --conflict=bad" reported a bad conflictStyle as if it
 were given to a configuration variable; it has been corrected to
 report that the command line option is bad.

 Will merge to 'master'.
 source: <pull.1684.v2.git.1710435907.gitgitgadget@gmail.com>


* bl/cherry-pick-empty (2024-03-25) 7 commits
 - cherry-pick: add `--empty` for more robust redundant commit handling
 - cherry-pick: enforce `--keep-redundant-commits` incompatibility
 - sequencer: do not require `allow_empty` for redundant commit options
 - sequencer: handle unborn branch with `--allow-empty`
 - rebase: update `--empty=ask` to `--empty=stop`
 - docs: clean up `--empty` formatting in git-rebase(1) and git-am(1)
 - docs: address inaccurate `--empty` default with `--exec`

 Allow git-cherry-pick(1) to automatically drop redundant commits via
 a new `--empty` option, similar to the `--empty` options for
 git-rebase(1) and git-am(1). Includes a soft deprecation of
 `--keep-redundant-commits` as well as some related docs changes and
 sequencer code cleanup.

 Will merge to 'next'?
 cf. <a397f3dd-e4e1-4275-b17d-1daca9e166fe@gmail.com>
 source: <20240119060721.3734775-2-brianmlyles@gmail.com>


* ie/config-includeif-hostname (2024-03-19) 2 commits
 - config: learn the "hostname:" includeIf condition
 - t: add a test helper for getting hostname

 The conditional inclusion mechanism for configuration files learned
 to switch on the hostname.

 Expecting a reroll.
 cf. <20240319210428.GC1159535@coredump.intra.peff.net>
 cf. <20240320001934.GA903718@coredump.intra.peff.net>
 source: <20240319183722.211300-1-ignacio@iencinas.com>


* jk/remote-helper-object-format-option-fix (2024-03-20) 3 commits
 - transport-helper: send "true" value for object-format option
 - transport-helper: drop "object-format <algo>" option
 - transport-helper: use write helpers more consistently

 The implementation and documentation of "object-format" option
 exchange between the Git itself and its remote helpers did not
 quite match.
 source: <20240320093226.GA2445531@coredump.intra.peff.net>


* jk/core-comment-string (2024-03-12) 16 commits
 - config: allow multi-byte core.commentChar
 - environment: drop comment_line_char compatibility macro
 - wt-status: drop custom comment-char stringification
 - sequencer: handle multi-byte comment characters when writing todo list
 - find multi-byte comment chars in unterminated buffers
 - find multi-byte comment chars in NUL-terminated strings
 - prefer comment_line_str to comment_line_char for printing
 - strbuf: accept a comment string for strbuf_add_commented_lines()
 - strbuf: accept a comment string for strbuf_commented_addf()
 - strbuf: accept a comment string for strbuf_stripspace()
 - environment: store comment_line_char as a string
 - strbuf: avoid shadowing global comment_line_char name
 - commit: refactor base-case of adjust_comment_line_char()
 - strbuf: avoid static variables in strbuf_add_commented_lines()
 - strbuf: simplify comment-handling in add_lines() helper
 - config: forbid newline as core.commentChar

 core.commentChar used to be limited to a single byte, but has been
 updated to allow an arbitrary multi-byte sequence.

 Waiting for the discussion to settle.
 cf. <20240315081041.GA1753560@coredump.intra.peff.net>
 source: <20240312091013.GA95442@coredump.intra.peff.net>


* js/build-fuzz-more-often (2024-03-05) 3 commits
 - SQUASH???
 - fuzz: link fuzz programs with `make all` on Linux
 - ci: also define CXX environment variable

 In addition to building the objects needed, try to link the objects
 that are used in fuzzer tests, to make sure at least they build
 without bitrot, in Linux CI runs.

 Comments?
 source: <cover.1709673020.git.steadmon@google.com>


* sj/userdiff-c-sharp (2024-03-06) 1 commit
 - userdiff: better method/property matching for C#

 The userdiff patterns for C# has been updated.

 Needs review.
 source: <pull.1682.v2.git.git.1709756493673.gitgitgadget@gmail.com>


* cw/git-std-lib (2024-02-28) 4 commits
 - SQUASH??? get rid of apparent debugging crufts
 - test-stdlib: show that git-std-lib is independent
 - git-std-lib: introduce Git Standard Library
 - pager: include stdint.h because uintmax_t is used

 Split libgit.a out to a separate git-std-lib tor easier reuse.

 Expecting a reroll.
 source: <cover.1696021277.git.jonathantanmy@google.com>


* js/cmake-with-test-tool (2024-02-23) 2 commits
 - cmake: let `test-tool` run the unit tests, too
 - Merge branch 'js/unit-test-suite-runner' into js/cmake-with-test-tool
 (this branch uses js/unit-test-suite-runner.)

 "test-tool" is now built in CMake build to also run the unit tests.

 May want to roll it into the base topic.
 source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>


* js/unit-test-suite-runner (2024-02-23) 8 commits
 - ci: use test-tool as unit test runner on Windows
 - t/Makefile: run unit tests alongside shell tests
 - unit tests: add rule for running with test-tool
 - test-tool run-command testsuite: support unit tests
 - test-tool run-command testsuite: remove hardcoded filter
 - test-tool run-command testsuite: get shell from env
 - t0080: turn t-basic unit test into a helper
 - Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner
 (this branch is used by js/cmake-with-test-tool.)

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.

 Needs review.
 source: <cover.1708728717.git.steadmon@google.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 cf. <6683f24e-7e56-489d-be2d-8afe1fc38d2b@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Expecting a reroll.
 cf. <CAC4O8c88Z3ZqxH2VVaNPpEGB3moL5dJcg3cOWuLWwQ_hLrJMtA@mail.gmail.com>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* eb/hash-transition (2023-10-02) 30 commits
  (merged to 'next' on 2024-03-11 at 9cff2e4ab7)
 + t1016-compatObjectFormat: add tests to verify the conversion between objects
 + t1006: test oid compatibility with cat-file
 + t1006: rename sha1 to oid
 + test-lib: compute the compatibility hash so tests may use it
 + builtin/ls-tree: let the oid determine the output algorithm
 + object-file: handle compat objects in check_object_signature
 + tree-walk: init_tree_desc take an oid to get the hash algorithm
 + builtin/cat-file: let the oid determine the output algorithm
 + rev-parse: add an --output-object-format parameter
 + repository: implement extensions.compatObjectFormat
 + object-file: update object_info_extended to reencode objects
 + object-file-convert: convert commits that embed signed tags
 + object-file-convert: convert commit objects when writing
 + object-file-convert: don't leak when converting tag objects
 + object-file-convert: convert tag objects when writing
 + object-file-convert: add a function to convert trees between algorithms
 + object: factor out parse_mode out of fast-import and tree-walk into in object.h
 + cache: add a function to read an OID of a specific algorithm
 + tag: sign both hashes
 + commit: export add_header_signature to support handling signatures on tags
 + commit: convert mergetag before computing the signature of a commit
 + commit: write commits for both hashes
 + object-file: add a compat_oid_in parameter to write_object_file_flags
 + object-file: update the loose object map when writing loose objects
 + loose: compatibilty short name support
 + loose: add a mapping between SHA-1 and SHA-256 for loose objects
 + repository: add a compatibility hash algorithm
 + object-names: support input of oids in any supported hash
 + oid-array: teach oid-array to handle multiple kinds of oids
 + object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Will merge to 'master'?
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 21%]

* Re: What's cooking in git.git (Mar 2024, #07; Fri, 22)
  @ 2024-03-25 18:38 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-03-25 18:38 UTC (permalink / raw)
  To: Patrick Steinhardt; +Cc: git

Patrick Steinhardt <ps@pks.im> writes:

> On Fri, Mar 22, 2024 at 05:54:26PM -0700, Junio C Hamano wrote:
>> * ps/clone-with-includeif-onbranch (2024-03-12) 1 commit
>>  - t5601: exercise clones with "includeIf.*.onbranch"
>> 
>>  An additional test to demonstrate something I am not sure what.
>> 
>>  Waiting for a review response.
>>  cf. <xmqqo7bjjid9.fsf@gitster.g>
>>  source: <0bede59a53862585c49bc635f82e44e983144a7f.1710246859.git.ps@pks.im>
>
> Based on [1] I think this topic can move forward now, right?

OK.  We may want to leave some clue to help us remember there are
still things to design (i.e., your "more thought into how this is
supposed to work"), which is far more important in the longer term
than just avoiding the BUG(), but other than that, I have no more
things to add.

Thanks.



^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Mar 2024, #07; Fri, 22)
@ 2024-03-23  0:54 20% Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2024-03-23  0:54 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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']

* bb/iso-strict-utc (2024-03-13) 1 commit
  (merged to 'next' on 2024-03-14 at d2ac616873)
 + date: make "iso-strict" conforming for the UTC timezone

 The output format for dates "iso-strict" has been tweaked to show
 a time in the Zulu timezone with "Z" suffix, instead of "+00:00".
 source: <20240313225423.11373-1-dev+git@drbeat.li>


* bb/t0006-negative-tz-offset (2024-03-14) 1 commit
  (merged to 'next' on 2024-03-14 at 3f4751b6b2)
 + t0006: add more tests with a negative TZ offset

 More tests on showing time with negative TZ offset.
 source: <20240314085512.1827031-1-dev+git@drbeat.li>


* dg/user-manual-hash-example (2024-03-12) 1 commit
  (merged to 'next' on 2024-03-14 at 767800d3a7)
 + Documentation/user-manual.txt: example for generating object hashes

 User manual (the original one) update.
 source: <20240312104238.4920-2-dirk@gouders.net>


* fs/find-end-of-log-message-fix (2024-03-07) 1 commit
  (merged to 'next' on 2024-03-13 at 2bed63caaf)
 + wt-status: don't find scissors line beyond buf len

 The code to find the effective end of log message can fall into an
 endless loop, which has been corrected.
 cf. <08b9b37d-f0f8-4c1a-b72e-194202ff3d9f@nutanix.com>
 source: <20240307183743.219951-1-flosch@nutanix.com>


* ja/doc-markup-fixes (2024-03-11) 6 commits
  (merged to 'next' on 2024-03-14 at 4d1c26143f)
 + doc: git-clone: format placeholders
 + doc: git-clone: format verbatim words
 + doc: git-init: rework config item init.templateDir
 + doc: git-init: rework definition lists
 + doc: git-init: format placeholders
 + doc: git-init: format verbatim parts

 Mark-ups used in the documentation has been improved for
 consistency.
 source: <pull.1687.git.1710097830.gitgitgadget@gmail.com>


* jc/safe-implicit-bare (2024-03-11) 1 commit
  (merged to 'next' on 2024-03-14 at e8bdbed1a4)
 + setup: notice more types of implicit bare repositories

 Users with safe.bareRepository=explicit can still work from within
 $GIT_DIR of a seconary worktree (which resides at .git/worktrees/$name/)
 of the primary worktree without explicitly specifying the $GIT_DIR
 environment variable or the --git-dir=<path> option.
 source: <xmqq5xxv0ywi.fsf_-_@gitster.g>


* jw/doc-show-untracked-files-fix (2024-03-13) 1 commit
  (merged to 'next' on 2024-03-14 at 091f64ad6c)
 + doc: status.showUntrackedFiles does not take "false"

 The status.showUntrackedFiles configuration variable was
 incorrectly documented to accept "false", which has been corrected.
 source: <pull.1686.git.git.1710279251901.gitgitgadget@gmail.com>


* pb/ci-win-artifact-names-fix (2024-03-11) 1 commit
  (merged to 'next' on 2024-03-14 at 5076389536)
 + ci(github): make Windows test artifacts name unique

 CI update.
 source: <pull.1688.git.1710101097072.gitgitgadget@gmail.com>


* ps/reftable-block-search-fix (2024-03-07) 2 commits
  (merged to 'next' on 2024-03-13 at 34938e24ab)
 + reftable/block: fix binary search over restart counter
 + reftable/record: fix memory leak when decoding object records

 The reftable code has its own custom binary search function whose
 comparison callback has an unusual interface, which caused the
 binary search to degenerate into a linear search, which has been
 corrected.
 source: <cover.1709843663.git.ps@pks.im>


* ps/reftable-reflog-iteration-perf (2024-03-05) 8 commits
  (merged to 'next' on 2024-03-14 at 72465c29be)
 + refs/reftable: track last log record name via strbuf
 + reftable/record: use scratch buffer when decoding records
 + reftable/record: reuse message when decoding log records
 + reftable/record: reuse refnames when decoding log records
 + reftable/record: avoid copying author info
 + reftable/record: convert old and new object IDs to arrays
 + refs/reftable: reload correct stack when creating reflog iter
 + Merge branch 'ps/reftable-iteration-perf-part2' into ps/reftable-reflog-iteration-perf

 The code to iterate over reflogs in the reftable has been optimized
 to reduce memory allocation and deallocation.

 Reviewed-by: Josh Steadmon <steadmon@google.com>
 cf. <Ze9eX-aaWoVaqsPP@google.com>
 source: <cover.1709640322.git.ps@pks.im>


* ps/reftable-stack-tempfile (2024-03-07) 4 commits
  (merged to 'next' on 2024-03-13 at dcfb0cde8c)
 + reftable/stack: register compacted tables as tempfiles
 + reftable/stack: register lockfiles during compaction
 + reftable/stack: register new tables as tempfiles
 + lockfile: report when rollback fails
 (this branch is used by ps/pack-refs-auto.)

 The code in reftable backend that creates new table files works
 better with the tempfile framework to avoid leaving cruft after a
 failure.
 source: <cover.1709816483.git.ps@pks.im>


* rs/opt-parse-long-fixups (2024-03-03) 6 commits
  (merged to 'next' on 2024-03-13 at 3755b50794)
 + parse-options: rearrange long_name matching code
 + parse-options: normalize arg and long_name before comparison
 + parse-options: detect ambiguous self-negation
 + parse-options: factor out register_abbrev() and struct parsed_option
 + parse-options: set arg of abbreviated option lazily
 + parse-options: recognize abbreviated negated option with arg

 The parse-options code that deals with abbreviated long option
 names have been cleaned up.

 Reviewed-by: Josh Steadmon <steadmon@google.com>
 cf. <ZfDM5Or3EKw7Q9SA@google.com>
 source: <20240303121944.20627-1-l.s.r@web.de>

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

* jk/doc-remote-helpers-markup-fix (2024-03-20) 1 commit
 - doc/gitremote-helpers: fix more missing single-quotes

 Documentation mark-up fix.

 Will merge to 'next'.
 source: <20240320091748.GA2444639@coredump.intra.peff.net>


* jk/drop-hg-to-git (2024-03-20) 1 commit
  (merged to 'next' on 2024-03-21 at 603d614310)
 + contrib: drop hg-to-git script

 Remove an ancient and not well maintained Hg-to-git migration
 script from contrib/.

 Acked-by: Stelian Pop <stelian@popies.net>
 cf. <37e4cd61-b370-437e-bd42-f98f47d3ad32@popies.net>

 Will merge to 'master'.
 source: <20240320094824.GA2445978@coredump.intra.peff.net>


* ps/reftable-unit-test-nfs-workaround (2024-03-21) 1 commit
 - reftable: fix tests being broken by NFS' delete-after-close semantics

 A unit test for reftable code tried to enumerate all files in a
 directory after reftable operations and expected to see nothing but
 the files it wanted to leave there, but was fooled by .nfs* cruft
 files left, which has been corrected.

 Will merge to 'next'.
 source: <8ac5e94a3930cdd2aee9ea86acda3155674b635c.1711035529.git.ps@pks.im>


* ps/t7800-variable-interpolation-fix (2024-03-22) 3 commits
 - t/README: document how to loop around test cases
 - t7800: use single quotes for test bodies
 - t7800: improve test descriptions with empty arguments

 Fix the way recently added tests interpolate variables defined
 outside them, and document the best practice to help future
 developers.

 Will merge to 'next'.
 source: <cover.1711074118.git.ps@pks.im>


* tb/pseudo-merge-reachability-bitmap (2024-03-20) 24 commits
 - t/perf: implement performace tests for pseudo-merge bitmaps
 - pseudo-merge: implement support for finding existing merges
 - ewah: `bitmap_equals_ewah()`
 - pack-bitmap: extra trace2 information
 - pack-bitmap.c: use pseudo-merges during traversal
 - t/test-lib-functions.sh: support `--date` in `test_commit_bulk()`
 - pack-bitmap: implement test helpers for pseudo-merge
 - ewah: implement `ewah_bitmap_popcount()`
 - pseudo-merge: implement support for reading pseudo-merge commits
 - pack-bitmap.c: read pseudo-merge extension
 - pseudo-merge: scaffolding for reads
 - pack-bitmap: extract `read_bitmap()` function
 - pack-bitmap-write.c: write pseudo-merge table
 - pack-bitmap-write.c: select pseudo-merge commits
 - pseudo-merge: implement support for selecting pseudo-merge commits
 - pack-bitmap: make `bitmap_writer_push_bitmapped_commit()` public
 - pack-bitmap: implement `bitmap_writer_has_bitmapped_object_id()`
 - pack-bitmap-write: support storing pseudo-merge commits
 - pseudo-merge.ch: initial commit
 - pack-bitmap: move some initialization to `bitmap_writer_init()`
 - pack-bitmap: drop unused `max_bitmaps` parameter
 - ewah: implement `ewah_bitmap_is_subset()`
 - config: repo_config_get_expiry()
 - Documentation/technical: describe pseudo-merge bitmaps format

 The pack-bitmap machinery has been extended to write bitmaps for
 pseudo-merges, which are imaginary commits which act as octopus
 merges covering groups of the un-bitmapped parts of history at
 reference tips.  This is good for ... what ...?

 Expecting a reroll.
 cf. <ZfyxCLpjbaScIdWA@nand.local>
 source: <cover.1710972293.git.me@ttaylorr.com>


* jc/release-notes-entry-experiment (2024-03-22) 1 commit
 - SubmittingPatches: release-notes entry experiment

 Introduce an experimental protocol for contributors to propose the
 topic description to be used in the "What's cooking" report, the
 merge commit message for the topic, and in the release notes and
 document it in the SubmittingPatches document.

 source: <xmqqcyrn58mf.fsf@gitster.g>


* jk/rebase-apply-leakfix (2024-03-22) 1 commit
 - rebase: use child_process_clear() to clean

 Leakfix.

 Will merge to 'next'.
 source: <20240322103502.GA2045297@coredump.intra.peff.net>

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

* dg/myfirstobjectwalk-updates (2024-03-19) 5 commits
 - MyFirstObjectWalk: add stderr to pipe processing
 - MyFirstObjectWalk: fix description for counting omitted objects
 - MyFirstObjectWalk: fix filtered object walk
 - MyFirstObjectWalk: fix misspelled "builtins/"
 - MyFirstObjectWalk: use additional arg in config_fn_t

 Update a more recent tutorial doc.

 Needs review.
 source: <cover.1710840596.git.dirk@gouders.net>


* ds/config-internal-whitespace-fix (2024-03-21) 4 commits
 - config.txt: describe handling of whitespace further
 - t1300: add more tests for whitespace and inline comments
 - config: really keep value-internal whitespace verbatim
 - config: minor addition of whitespace

 "git config" corrupted literal HT characters written in the
 configuration file as part of a value, which has been corrected.

 Will merge to 'next'.
 source: <cover.1711001016.git.dsimic@manjaro.org>


* jc/apply-parse-diff-git-header-names-fix (2024-03-19) 1 commit
 - apply: parse names out of "diff --git" more carefully

 "git apply" failed to extract the filename the patch applied to,
 when the change was about an empty file created in or deleted from
 a directory whose name ends with a SP, which has been corrected.

 Needs review.
 source: <xmqqfrwlltjn.fsf@gitster.g>


* jk/pretty-subject-cleanup (2024-03-22) 7 commits
  (merged to 'next' on 2024-03-22 at 2796f347ad)
 + format-patch: fix leak of empty header string
 + format-patch: simplify after-subject MIME header handling
 + format-patch: return an allocated string from log_write_email_headers()
 + log: do not set up extra_headers for non-email formats
 + pretty: drop print_email_subject flag
 + pretty: split oneline and email subject printing
 + shortlog: stop setting pp.print_email_subject

 Code clean-up in the "git log" machinery that implements custom log
 message formatting.

 Will merge to 'master'.
 source: <20240320002555.GB903718@coredump.intra.peff.net>


* bb/sh-scripts-cleanup (2024-03-16) 22 commits
  (merged to 'next' on 2024-03-18 at 4501a04796)
 + git-quiltimport: avoid an unnecessary subshell
 + contrib/coverage-diff: avoid redundant pipelines
 + t/t9*: merge "grep | sed" pipelines
 + t/t8*: merge "grep | sed" pipelines
 + t/t5*: merge a "grep | sed" pipeline
 + t/t4*: merge a "grep | sed" pipeline
 + t/t3*: merge a "grep | awk" pipeline
 + t/t1*: merge a "grep | sed" pipeline
 + t/t9*: avoid redundant uses of cat
 + t/t8*: avoid redundant use of cat
 + t/t7*: avoid redundant use of cat
 + t/t6*: avoid redundant uses of cat
 + t/t5*: avoid redundant uses of cat
 + t/t4*: avoid redundant uses of cat
 + t/t3*: avoid redundant uses of cat
 + t/t1*: avoid redundant uses of cat
 + t/t0*: avoid redundant uses of cat
 + t/perf: avoid redundant use of cat
 + t/annotate-tests.sh: avoid redundant use of cat
 + t/lib-cvs.sh: avoid redundant use of cat
 + contrib/subtree/t: avoid redundant use of cat
 + doc: avoid redundant use of cat

 Shell scripts clean-up.

 Will merge to 'master'.
 source: <20240315194620.10713-1-dev+git@drbeat.li>


* bl/doc-config-fixes (2024-03-16) 2 commits
  (merged to 'next' on 2024-03-18 at a9038d5a9e)
 + docs: fix typo in git-config `--default`
 + docs: clarify file options in git-config `--edit`

 A few typoes in "git config --help" have been corrected.

 Will merge to 'master'.
 source: <20240316050149.1182867-2-brianmlyles@gmail.com>


* bl/doc-key-val-sep-fix (2024-03-18) 2 commits
  (merged to 'next' on 2024-03-18 at b2e1babb85)
 + docs: adjust trailer `separator` and `key_value_separator` language
 + docs: correct trailer `key_value_separator` description

 The documentation for "%(trailers[:options])" placeholder in the
 "--pretty" option of commands in the "git log" family has been
 updated.

 Will merge to 'master'.
 source: <20240316035612.752910-1-brianmlyles@gmail.com>


* ja/doc-formatting-fix (2024-03-16) 2 commits
  (merged to 'next' on 2024-03-18 at edde7a576d)
 + doc: fix some placeholders formating
 + doc: format alternatives in synopsis

 Documentation mark-up fix.

 Will merge to 'master'.
 source: <pull.1697.git.1710602501.gitgitgadget@gmail.com>


* la/hide-trailer-info (2024-03-16) 7 commits
 - trailer: retire trailer_info_get() from API
 - trailer: make trailer_info struct private
 - trailer: make parse_trailers() return trailer_info pointer
 - interpret-trailers: access trailer_info with new helpers
 - sequencer: use the trailer iterator
 - trailer: teach iterator about non-trailer lines
 - Merge branch 'la/format-trailer-info' into la/hide-trailer-info
 (this branch uses la/format-trailer-info.)

 The trailer API has been reshuffled a bit.
 source: <pull.1696.git.1710570428.gitgitgadget@gmail.com>


* pb/advice-merge-conflict (2024-03-18) 2 commits
 - builtin/am: allow disabling conflict advice
 - sequencer: allow disabling conflict advice

 Hints that suggest what to do after resolving conflicts can now be
 squelched by disabling advice.mergeConflict.

 Will merge to 'next'?
 source: <pull.1682.v3.git.1710623790.gitgitgadget@gmail.com>


* rs/t-prio-queue-fixes (2024-03-18) 2 commits
  (merged to 'next' on 2024-03-21 at 0730741187)
 + t-prio-queue: check result array bounds
 + t-prio-queue: shorten array index message

 Test clean-up.

 Will merge to 'master'.
 source: <9bf36cc8-ff27-44df-b2fb-9f959c781269@web.de>


* ps/pack-refs-auto (2024-03-18) 16 commits
 - builtin/gc: pack refs when using `git maintenance run --auto`
 - builtin/gc: forward git-gc(1)'s `--auto` flag when packing refs
 - t6500: extract objects with "17" prefix
 - builtin/gc: move `struct maintenance_run_opts`
 - builtin/pack-refs: introduce new "--auto" flag
 - builtin/pack-refs: release allocated memory
 - refs/reftable: expose auto compaction via new flag
 - refs: remove `PACK_REFS_ALL` flag
 - refs: move `struct pack_refs_opts` to where it's used
 - t/helper: drop pack-refs wrapper
 - refs/reftable: print errors on compaction failure
 - reftable/stack: gracefully handle failed auto-compaction due to locks
 - reftable/stack: use error codes when locking fails during compaction
 - reftable/error: discern locked/outdated errors
 - reftable/stack: fix error handling in `reftable_stack_init_addition()`
 - Merge branch 'ps/reftable-stack-tempfile' into ps/pack-refs-auto

 "git pack-refs" learned the "--auto" option, which is a useful
 addition to be triggered from "git gc --auto".

 Being reviewed (Karthik e.g. <CAOLa=ZS6uF3fuor3V2F_GM__JNRpUAyLcrVDbCHsJ6JStL96cA@mail.gmail.com>)
 source: <cover.1710706118.git.ps@pks.im>


* jc/show-untracked-false (2024-03-13) 2 commits
  (merged to 'next' on 2024-03-21 at 6d1f5603c6)
 + status: allow --untracked=false and friends
 + status: unify parsing of --untracked= and status.showUntrackedFiles

 The status.showUntrackedFiles configuration variable had a name
 that tempts users to set a Boolean value expressed in our usual
 "false", "off", and "0", but it only took "no".  This has been
 corrected so "true" and its synonyms are taken as "normal", while
 "false" and its synonyms are taken as "no".

 Will merge to 'master'.
 source: <20240313173214.962532-1-gitster@pobox.com>


* js/bugreport-no-suffix-fix (2024-03-16) 1 commit
  (merged to 'next' on 2024-03-18 at 180db8ec38)
 + bugreport.c: fix a crash in `git bugreport` with `--no-suffix` option

 "git bugreport --no-suffix" was not supported and instead
 segfaulted, which has been corrected.

 Will merge to 'master'.
 source: <9c6f3f5203ae26c501a5711e2610573130bfd550.1710388817.git.gitgitgadget@gmail.com>


* ph/diff-src-dst-prefix-config (2024-03-18) 2 commits
  (merged to 'next' on 2024-03-21 at 96801520db)
 + diff.*Prefix: use camelCase in the doc and test titles
 + diff: add diff.srcPrefix and diff.dstPrefix configuration variables

 "git diff" and friends learned two extra configuration variables.

 Will merge to 'master'.
 source: <20240315010310.GA1901653@quokka>
 source: <xmqq8r2ioh19.fsf@gitster.g>


* ps/clone-with-includeif-onbranch (2024-03-12) 1 commit
 - t5601: exercise clones with "includeIf.*.onbranch"

 An additional test to demonstrate something I am not sure what.

 Waiting for a review response.
 cf. <xmqqo7bjjid9.fsf@gitster.g>
 source: <0bede59a53862585c49bc635f82e44e983144a7f.1710246859.git.ps@pks.im>


* rj/restore-plug-leaks (2024-03-14) 1 commit
  (merged to 'next' on 2024-03-15 at ac10ae7892)
 + checkout: plug some leaks in git-restore

 Leaks from "git restore" have been plugged.

 Will merge to 'master'.
 source: <64c1c3cc-51d7-4168-9731-4389889e1449@gmail.com>


* bt/fuzz-config-parse (2024-03-15) 1 commit
  (merged to 'next' on 2024-03-21 at 6e9f331d68)
 + fuzz: add fuzzer for config parsing

 A new fuzz target that exercises config parsing code.

 Will merge to 'master'.
 source: <pull.1692.v2.git.1710481652130.gitgitgadget@gmail.com>


* ds/doc-config-reflow (2024-03-14) 1 commit
 - config.txt: perform some minor reformatting

 Reflow a paragraph in the documentation source without any effect
 to the formatted text.

 Comments?
 source: <97bdaf075bf5a68554cca1731eca78aff2662907.1710444774.git.dsimic@manjaro.org>


* jc/index-pack-fsck-levels (2024-03-15) 1 commit
  (merged to 'next' on 2024-03-18 at 243c5f4125)
 + t5300: fix test_with_bad_commit()

 Test fix.

 Will merge to 'master'.
 source: <pull.1688.git.git.1710478646776.gitgitgadget@gmail.com>


* la/format-trailer-info (2024-03-15) 5 commits
 - trailer: finish formatting unification
 - trailer: begin formatting unification
 - format_trailer_info(): append newline for non-trailer lines
 - format_trailer_info(): drop redundant unfold_value()
 - format_trailer_info(): use trailer_item objects
 (this branch is used by la/hide-trailer-info.)

 The code to format trailers have been cleaned up.

 Comments?
 source: <pull.1694.git.1710485706.gitgitgadget@gmail.com>


* rs/config-comment (2024-03-15) 3 commits
 - config: allow tweaking whitespace between value and comment
 - config: fix --comment formatting
 - config: add --comment option to add a comment

 "git config" learned "--comment=<message>" option to leave a
 comment immediately after the "variable = value" on the same line
 in the configuration file.

 Waiting for review response.
 cf. <xmqq8r2jp2eq.fsf@gitster.g>
 source: <pull.1681.v2.git.1709824540636.gitgitgadget@gmail.com>


* pw/checkout-conflict-errorfix (2024-03-14) 5 commits
  (merged to 'next' on 2024-03-22 at 9977ac6c75)
 + checkout: fix interaction between --conflict and --merge
 + checkout: cleanup --conflict=<style> parsing
 + merge options: add a conflict style member
 + merge-ll: introduce LL_MERGE_OPTIONS_INIT
 + xdiff-interface: refactor parsing of merge.conflictstyle

 "git checkout --conflict=bad" reported a bad conflictStyle as if it
 were given to a configuration variable; it has been corrected to
 report that the command line option is bad.

 Will merge to 'master'.
 source: <pull.1684.v2.git.1710435907.gitgitgadget@gmail.com>


* bl/cherry-pick-empty (2024-03-20) 7 commits
 - cherry-pick: add `--empty` for more robust redundant commit handling
 - cherry-pick: enforce `--keep-redundant-commits` incompatibility
 - sequencer: do not require `allow_empty` for redundant commit options
 - sequencer: handle unborn branch with `--allow-empty`
 - rebase: update `--empty=ask` to `--empty=stop`
 - docs: clean up `--empty` formatting in git-rebase(1) and git-am (1)
 - docs: address inaccurate `--empty` default with `--exec`

 Allow git-cherry-pick(1) to automatically drop redundant commits via
 a new `--empty` option, similar to the `--empty` options for
 git-rebase(1) and git-am(1). Includes a soft deprecation of
 `--keep-redundant-commits` as well as some related docs changes and
 sequencer code cleanup.

 Will merge to 'next'?
 source: <20240119060721.3734775-2-brianmlyles@gmail.com>


* ie/config-includeif-hostname (2024-03-19) 2 commits
 - config: learn the "hostname:" includeIf condition
 - t: add a test helper for getting hostname

 The conditional inclusion mechanism for configuration files learned
 to switch on the hostname.

 Expecting a reroll.
 cf. <20240319210428.GC1159535@coredump.intra.peff.net>
 cf. <20240320001934.GA903718@coredump.intra.peff.net>
 source: <20240319183722.211300-1-ignacio@iencinas.com>


* jk/remote-helper-object-format-option-fix (2024-03-20) 3 commits
 - transport-helper: send "true" value for object-format option
 - transport-helper: drop "object-format <algo>" option
 - transport-helper: use write helpers more consistently

 The implementation and documentation of "object-format" option
 exchange between the Git itself and its remote helpers did not
 quite match.
 source: <20240320093226.GA2445531@coredump.intra.peff.net>


* jk/core-comment-string (2024-03-12) 16 commits
 - config: allow multi-byte core.commentChar
 - environment: drop comment_line_char compatibility macro
 - wt-status: drop custom comment-char stringification
 - sequencer: handle multi-byte comment characters when writing todo list
 - find multi-byte comment chars in unterminated buffers
 - find multi-byte comment chars in NUL-terminated strings
 - prefer comment_line_str to comment_line_char for printing
 - strbuf: accept a comment string for strbuf_add_commented_lines()
 - strbuf: accept a comment string for strbuf_commented_addf()
 - strbuf: accept a comment string for strbuf_stripspace()
 - environment: store comment_line_char as a string
 - strbuf: avoid shadowing global comment_line_char name
 - commit: refactor base-case of adjust_comment_line_char()
 - strbuf: avoid static variables in strbuf_add_commented_lines()
 - strbuf: simplify comment-handling in add_lines() helper
 - config: forbid newline as core.commentChar

 core.commentChar used to be limited to a single byte, but has been
 updated to allow an arbitrary multi-byte sequence.

 Waiting for the discussion to settle.
 cf. <20240315081041.GA1753560@coredump.intra.peff.net>
 source: <20240312091013.GA95442@coredump.intra.peff.net>


* js/build-fuzz-more-often (2024-03-05) 3 commits
 - SQUASH???
 - fuzz: link fuzz programs with `make all` on Linux
 - ci: also define CXX environment variable

 In addition to building the objects needed, try to link the objects
 that are used in fuzzer tests, to make sure at least they build
 without bitrot, in Linux CI runs.

 Comments?
 source: <cover.1709673020.git.steadmon@google.com>


* sj/userdiff-c-sharp (2024-03-06) 1 commit
 - userdiff: better method/property matching for C#

 The userdiff patterns for C# has been updated.

 Needs review.
 source: <pull.1682.v2.git.git.1709756493673.gitgitgadget@gmail.com>


* cw/git-std-lib (2024-02-28) 4 commits
 - SQUASH??? get rid of apparent debugging crufts
 - test-stdlib: show that git-std-lib is independent
 - git-std-lib: introduce Git Standard Library
 - pager: include stdint.h because uintmax_t is used

 Split libgit.a out to a separate git-std-lib tor easier reuse.

 Expecting a reroll.
 source: <cover.1696021277.git.jonathantanmy@google.com>


* js/cmake-with-test-tool (2024-02-23) 2 commits
 - cmake: let `test-tool` run the unit tests, too
 - Merge branch 'js/unit-test-suite-runner' into js/cmake-with-test-tool
 (this branch uses js/unit-test-suite-runner.)

 "test-tool" is now built in CMake build to also run the unit tests.

 May want to roll it into the base topic.
 source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>


* js/unit-test-suite-runner (2024-02-23) 8 commits
 - ci: use test-tool as unit test runner on Windows
 - t/Makefile: run unit tests alongside shell tests
 - unit tests: add rule for running with test-tool
 - test-tool run-command testsuite: support unit tests
 - test-tool run-command testsuite: remove hardcoded filter
 - test-tool run-command testsuite: get shell from env
 - t0080: turn t-basic unit test into a helper
 - Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner
 (this branch is used by js/cmake-with-test-tool.)

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.

 Needs review.
 source: <cover.1708728717.git.steadmon@google.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 cf. <6683f24e-7e56-489d-be2d-8afe1fc38d2b@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Expecting a reroll.
 cf. <CAC4O8c88Z3ZqxH2VVaNPpEGB3moL5dJcg3cOWuLWwQ_hLrJMtA@mail.gmail.com>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* eb/hash-transition (2023-10-02) 30 commits
  (merged to 'next' on 2024-03-11 at 9cff2e4ab7)
 + t1016-compatObjectFormat: add tests to verify the conversion between objects
 + t1006: test oid compatibility with cat-file
 + t1006: rename sha1 to oid
 + test-lib: compute the compatibility hash so tests may use it
 + builtin/ls-tree: let the oid determine the output algorithm
 + object-file: handle compat objects in check_object_signature
 + tree-walk: init_tree_desc take an oid to get the hash algorithm
 + builtin/cat-file: let the oid determine the output algorithm
 + rev-parse: add an --output-object-format parameter
 + repository: implement extensions.compatObjectFormat
 + object-file: update object_info_extended to reencode objects
 + object-file-convert: convert commits that embed signed tags
 + object-file-convert: convert commit objects when writing
 + object-file-convert: don't leak when converting tag objects
 + object-file-convert: convert tag objects when writing
 + object-file-convert: add a function to convert trees between algorithms
 + object: factor out parse_mode out of fast-import and tree-walk into in object.h
 + cache: add a function to read an OID of a specific algorithm
 + tag: sign both hashes
 + commit: export add_header_signature to support handling signatures on tags
 + commit: convert mergetag before computing the signature of a commit
 + commit: write commits for both hashes
 + object-file: add a compat_oid_in parameter to write_object_file_flags
 + object-file: update the loose object map when writing loose objects
 + loose: compatibilty short name support
 + loose: add a mapping between SHA-1 and SHA-256 for loose objects
 + repository: add a compatibility hash algorithm
 + object-names: support input of oids in any supported hash
 + oid-array: teach oid-array to handle multiple kinds of oids
 + object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Will merge to 'master'?
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 20%]

* Re: What's cooking in git.git (Mar 2024, #05; Tue, 19)
  @ 2024-03-22 14:46 99% ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-03-22 14:46 UTC (permalink / raw)
  To: Brian Lyles; +Cc: git, phillip.wood123, Jean-Noël AVILA

"Brian Lyles" <brianmlyles@gmail.com> writes:

>> 
>> Signed-off-by: Junio C Hamano <gitster@pobox.com>
>> ---
>>  [for what's cooking]
>>  * An experimental procedure for a topic author to propose the topic
>>    description to be used in "What's cooking" report and in the
>>    release notes have been added to the SubmittingPatches document.
>> 
>>  Documentation/SubmittingPatches | 11 +++++++++++
>>  1 file changed, 11 insertions(+)
>> 
>> diff --git i/Documentation/SubmittingPatches w/Documentation/SubmittingPatches
>> index e734a3f0f1..05e15b9436 100644
>> --- i/Documentation/SubmittingPatches
>> +++ w/Documentation/SubmittingPatches
>> @@ -459,6 +459,17 @@ an explanation of changes between each iteration can be kept in
>>  Git-notes and inserted automatically following the three-dash
>>  line via `git format-patch --notes`.
>>  
>> +[[a-paragraph-summary]]
>> +
>> +*This is EXPERIMENTAL*.  When sending a topic, you can propose one
>> +paragraph summary that appears in the "What's cooking" report when it
>> +is picked up to explain the topic.  If you choose to do so, please
>> +write 2-5 lines of a paragraph that will fit well in our release notes
>> +(see Documentation/RelNotes/* directory for examples), and put it in
>> +the cover letter, clearly marked as such.  For a single-patch series,
>> +use the space between the three-dash line and the diffstat, as
>> +described earlier.
>
> Would it be beneficial to request some specific heading, phrase, or
> other structured text such that this summary is obvious, or even easily
> extracted with some sort of script? Or is that perhaps overkill for now?

We do not even know if it is a good idea, so let's start with a
lightweight process that does not burden participants with too much
red tape.  For a series with a cover letter, the rule might end up
to be as simple as "When the first paragraph of the message looks
like an entry in the Release Notes, it is used as such".  The " a
paragraph that is 2-5 lines long, indented by three SPs, whose first
line has SP-asterisk-SP instead" may be a distinct enough style that
it may not require any further marking.


^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (Mar 2024, #05; Tue, 19)
  @ 2024-03-22  1:59 75% ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-03-22  1:59 UTC (permalink / raw)
  To: Brian Lyles; +Cc: git, phillip.wood123, Jean-Noël AVILA

"Brian Lyles" <brianmlyles@gmail.com> writes:

> Yes, I suspect you are right. I think the cover letter would be a good
> start at the very least. Would you welcome a patch to
> 'Documentation/SubmittingPatches' that adds a new expectation for this,
> or do you think this would be best handled yourself? I am interested in
> contributing but, as I'm sure you've noticed, I'm also quite new to the
> project =)

I'd prefer to start with a much less official "experimental" launch
of such a new workflow, instead of adding an unproven idea as if it
is a new hard requirement to the SubmittingPatches document.  If it
works well, we can write it down later.

But even a soft launch needs some way to advertise it to the target
audience, and the SubmittingPatches document is the only sensible
place to do so.  So, perhaps do something like this?  I dunno.

------- >8 ------------- >8 ------------- >8 -------
Subject: SubmittingPatches: release-notes entry experiment

It has been the maintainer's task to prepare the description of each
topic listed in the "What's cooking" report.  The description is
automatically picked up from the "What's cooking" report and used in
the commit log message of the merge commit when the topic is merged
into integration branches.  These commit log messges of the merge
commits are then propagated to the release notes.

The original author of a topic may be in the best position to write
the initial description of a topic, but we so far lacked a formal
channel for the author to tell what description to use.  The usual
procedure has been to see the topic described in "What's cooking"
report, and then either complain about inaccurate explanation and/or
offer a rewrite.

Let's try an experiment to optionally let the author propose the one
paragraph description when the topic is submitted.  Pick the cover
letter as the logical place to do so, and describe an experimental
workflow in the SubmittingPatches document.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 [for what's cooking]
 * An experimental procedure for a topic author to propose the topic
   description to be used in "What's cooking" report and in the
   release notes have been added to the SubmittingPatches document.

 Documentation/SubmittingPatches | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git i/Documentation/SubmittingPatches w/Documentation/SubmittingPatches
index e734a3f0f1..05e15b9436 100644
--- i/Documentation/SubmittingPatches
+++ w/Documentation/SubmittingPatches
@@ -459,6 +459,17 @@ an explanation of changes between each iteration can be kept in
 Git-notes and inserted automatically following the three-dash
 line via `git format-patch --notes`.
 
+[[a-paragraph-summary]]
+
+*This is EXPERIMENTAL*.  When sending a topic, you can propose one
+paragraph summary that appears in the "What's cooking" report when it
+is picked up to explain the topic.  If you choose to do so, please
+write 2-5 lines of a paragraph that will fit well in our release notes
+(see Documentation/RelNotes/* directory for examples), and put it in
+the cover letter, clearly marked as such.  For a single-patch series,
+use the space between the three-dash line and the diffstat, as
+described earlier.
+
 [[attachment]]
 Do not attach the patch as a MIME attachment, compressed or not.
 Do not let your e-mail client send quoted-printable.  Do not let


^ permalink raw reply related	[relevance 75%]

* Re: What's cooking in git.git (Mar 2024, #05; Tue, 19)
    2024-03-21  1:36 84% ` Junio C Hamano
@ 2024-03-21 13:02 99% ` Junio C Hamano
  1 sibling, 0 replies; 200+ results
From: Junio C Hamano @ 2024-03-21 13:02 UTC (permalink / raw)
  To: Brian Lyles; +Cc: git, phillip.wood123, Jean-Noël AVILA

"Brian Lyles" <brianmlyles@gmail.com> writes:

> A strategy that I have seen work well is for any commit making a notable
> change (one that should appear in the release notes) to include an entry
> in a CHANGELOG.NEXT.md file.

While I very much like the idea of distributing the burden of coming
up with an initial draft for an entry in the final release notes, I
am not convinced that the approach to use a single in-tree file
would work well in our distributed development style where the
history is merge-heavy with many topics in flight in parallel.

I can imagine how well the approach for each contributor to give
such a draft entry in the cover letter of their topic would work;
it would be with much less friction compared to a single in-tree
file that will be the source of merge conflicts.




^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (Mar 2024, #05; Tue, 19)
  @ 2024-03-21  1:36 84% ` Junio C Hamano
  2024-03-21 13:02 99% ` Junio C Hamano
  1 sibling, 0 replies; 200+ results
From: Junio C Hamano @ 2024-03-21  1:36 UTC (permalink / raw)
  To: Brian Lyles; +Cc: git, phillip.wood123, Jean-Noël AVILA

"Brian Lyles" <brianmlyles@gmail.com> writes:

> On Wed, Mar 20, 2024 at 11:11 AM Junio C Hamano <gitster@pobox.com> wrote:
>
>> Very much appreciated.  I wonder if we can have a better workflow to
>> do this, like perhaps contributors write a paragraph in the cover
>> letter with the expectation that it will be used in the What's
>> cooking report (which will become an entry in the Release Notes when
>> the topic gets included in a release)?
>
> I think some more official process could be beneficial. As it is, I'm
> wholly unaware of the current process for creating release notes for
> git. Do the maintainers simply review merged changes and write release
> notes as part of cutting a release?

A few things.  There is only one maintainer.  There are development
community members, who act as contributors and as reviewers.  The
maintainer manages how the 'master' branch and other integration
branches advance, and a part of it is to update the release notes.

Documentation/howto/maintain-git.txt outlines the workflow the
current maintainer has adopted, and it has a brief mention on the
"What's cooking" report.  These days, entries in the the release
notes for each topic merged are mostly copied from "What's cooking"
but currently, as the "howto/maintain-git" document describes,
summarizing and maintaining these topic descriptions is done by the
maintainer.

In the message you responded to, I was wondering if we can
distribute the load even further to have original author of each
topic write the initial draft of the one-paragraph description of
the topic that will go in "What's cooking".  Two obvious downsides
are that having people write about their own work would may make the
result harder to read, as they inevitably are biased by the
importance of their own work ;-), and having many people write
different entries may lose the consistent voice across topics being
described, but the distribution of burden is certainly attractive.

> This way, the
> contributor of a series is responsible for creating the changelog entry
> (or entries) rather than the maintainer, which can help avoid
> inaccuracies from a maintainer with less familiarity trying to
> summarize.

It however cuts both ways.

Trying to coming up with a summary from what I can read from the
discussion and the log messages is a good opportunity to find what
is still unclear in the log messages of the commits in the topic.
Not all contributors can write a good summary of their own work in a
way that are suitable for the audience of the release notes.  Also
you would want to encourage the maintainer to familiarize with the
topics to be able to summarize them, instead of keeping them in the
dark by doing the release notes entries yourself.



^ permalink raw reply	[relevance 84%]

* Re: What's cooking in git.git (Mar 2024, #05; Tue, 19)
  @ 2024-03-20 16:11 99% ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-03-20 16:11 UTC (permalink / raw)
  To: Brian Lyles; +Cc: git, phillip.wood123, Jean-Noël AVILA

"Brian Lyles" <brianmlyles@gmail.com> writes:

>>  "cherry-pick" told to keep redundant commits needs to be allowed to
>>  create empty commits to do its job, but it required the user to
>>  give the --allow-empty option, which was unnecessary.  Its UI has
>>  also been tweaked a bit.
>
> Note that the description here is a little out-of-date; we're no longer
> changing the relationship between --allow-empty and
> --keep-redundant-commits (and the user didn't have to manually supply
> --allow-empty previously). I'd summarize this as:
>
> 	Allow git-cherry-pick(1) to automatically drop redundant commits via
> 	a new `--empty` option, similar to the `--empty` options for
> 	git-rebase(1) and git-am(1). Includes a soft deprecation of
> 	`--keep-redundant-commits` as well as some related docs changes and
> 	sequencer code cleanup.

Very much appreciated.  I wonder if we can have a better workflow to
do this, like perhaps contributors write a paragraph in the cover
letter with the expectation that it will be used in the What's
cooking report (which will become an entry in the Release Notes when
the topic gets included in a release)?

> You can expect a v4 reroll tonight to address a few remaining comments.
> The only thing I haven't heard back on is this change [1] to the docs
> for the new `--empty` option, but I'm confident enough in my proposed
> alternative there that I'm comfortable rerolling even if I don't hear
> back today.
>
> [1]: https://lore.kernel.org/git/CAHPHrSfiMbU55K2=8+hJZy1cMSRbYM77pCK8BdcAPHLvapHO_A@mail.gmail.com/

I added a few folks who were in the review discussion to Cc: of this
message.

Thanks.


^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Mar 2024, #05; Tue, 19)
@ 2024-03-19 16:53 23% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-03-19 16:53 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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']

* jh/trace2-missing-def-param-fix (2024-03-07) 3 commits
  (merged to 'next' on 2024-03-08 at a797cfea3c)
 + trace2: emit 'def_param' set with 'cmd_name' event
 + trace2: avoid emitting 'def_param' set more than once
 + t0211: demonstrate missing 'def_param' events for certain commands

 Some trace2 events that lacked def_param have learned to show it,
 enriching the output.

 Reviewed-by: Josh Steadmon <steadmon@google.com>
 cf. <ZejkVOVQBZhLVfHW@google.com>
 source: <pull.1679.v2.git.1709824949.gitgitgadget@gmail.com>


* jk/doc-remote-helpers-markup-fix (2024-03-07) 1 commit
  (merged to 'next' on 2024-03-08 at 2cded1c696)
 + doc/gitremote-helpers: fix missing single-quote

 Doc mark-up fix.
 source: <20240307084313.GA2072022@coredump.intra.peff.net>


* pw/rebase-i-ignore-cherry-pick-help-environment (2024-02-27) 1 commit
  (merged to 'next' on 2024-03-08 at e806ee9493)
 + rebase -i: stop setting GIT_CHERRY_PICK_HELP

 Code simplification by getting rid of code that sets an environment
 variable that is no longer used.
 source: <pull.1678.git.1709042783847.gitgitgadget@gmail.com>

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

* bb/sh-scripts-cleanup (2024-03-16) 22 commits
  (merged to 'next' on 2024-03-18 at 4501a04796)
 + git-quiltimport: avoid an unnecessary subshell
 + contrib/coverage-diff: avoid redundant pipelines
 + t/t9*: merge "grep | sed" pipelines
 + t/t8*: merge "grep | sed" pipelines
 + t/t5*: merge a "grep | sed" pipeline
 + t/t4*: merge a "grep | sed" pipeline
 + t/t3*: merge a "grep | awk" pipeline
 + t/t1*: merge a "grep | sed" pipeline
 + t/t9*: avoid redundant uses of cat
 + t/t8*: avoid redundant use of cat
 + t/t7*: avoid redundant use of cat
 + t/t6*: avoid redundant uses of cat
 + t/t5*: avoid redundant uses of cat
 + t/t4*: avoid redundant uses of cat
 + t/t3*: avoid redundant uses of cat
 + t/t1*: avoid redundant uses of cat
 + t/t0*: avoid redundant uses of cat
 + t/perf: avoid redundant use of cat
 + t/annotate-tests.sh: avoid redundant use of cat
 + t/lib-cvs.sh: avoid redundant use of cat
 + contrib/subtree/t: avoid redundant use of cat
 + doc: avoid redundant use of cat

 Shell scripts clean-up.

 Will merge to 'master'.
 source: <20240315194620.10713-1-dev+git@drbeat.li>


* bl/doc-config-fixes (2024-03-16) 2 commits
  (merged to 'next' on 2024-03-18 at a9038d5a9e)
 + docs: fix typo in git-config `--default`
 + docs: clarify file options in git-config `--edit`

 A few typoes in "git config --help" have been corrected.

 Will merge to 'master'.
 source: <20240316050149.1182867-2-brianmlyles@gmail.com>


* bl/doc-key-val-sep-fix (2024-03-18) 2 commits
  (merged to 'next' on 2024-03-18 at b2e1babb85)
 + docs: adjust trailer `separator` and `key_value_separator` language
 + docs: correct trailer `key_value_separator` description

 The documentation for "%(trailers[:options])" placeholder in the
 "--pretty" option of commands in the "git log" family has been
 updated.

 Will merge to 'master'.
 source: <20240316035612.752910-1-brianmlyles@gmail.com>


* ja/doc-formatting-fix (2024-03-16) 2 commits
  (merged to 'next' on 2024-03-18 at edde7a576d)
 + doc: fix some placeholders formating
 + doc: format alternatives in synopsis

 Documentation mark-up fix.

 Will merge to 'master'.
 source: <pull.1697.git.1710602501.gitgitgadget@gmail.com>


* la/hide-trailer-info (2024-03-16) 7 commits
 - trailer: retire trailer_info_get() from API
 - trailer: make trailer_info struct private
 - trailer: make parse_trailers() return trailer_info pointer
 - interpret-trailers: access trailer_info with new helpers
 - sequencer: use the trailer iterator
 - trailer: teach iterator about non-trailer lines
 - Merge branch 'la/format-trailer-info' into la/hide-trailer-info
 (this branch uses la/format-trailer-info.)

 The trailer API has been reshuffled a bit.
 source: <pull.1696.git.1710570428.gitgitgadget@gmail.com>


* pb/advice-merge-conflict (2024-03-18) 2 commits
 - builtin/am: allow disabling conflict advice
 - sequencer: allow disabling conflict advice

 Hints that suggest what to do after resolving conflicts can now be
 squelched by disabling advice.mergeConflict.

 Will merge to 'next'?
 source: <pull.1682.v3.git.1710623790.gitgitgadget@gmail.com>


* rs/t-prio-queue-fixes (2024-03-18) 2 commits
 - t-prio-queue: check result array bounds
 - t-prio-queue: shorten array index message

 Test clean-up.

 Will merge to 'next'.
 source: <9bf36cc8-ff27-44df-b2fb-9f959c781269@web.de>


* ps/pack-refs-auto (2024-03-18) 16 commits
 - builtin/gc: pack refs when using `git maintenance run --auto`
 - builtin/gc: forward git-gc(1)'s `--auto` flag when packing refs
 - t6500: extract objects with "17" prefix
 - builtin/gc: move `struct maintenance_run_opts`
 - builtin/pack-refs: introduce new "--auto" flag
 - builtin/pack-refs: release allocated memory
 - refs/reftable: expose auto compaction via new flag
 - refs: remove `PACK_REFS_ALL` flag
 - refs: move `struct pack_refs_opts` to where it's used
 - t/helper: drop pack-refs wrapper
 - refs/reftable: print errors on compaction failure
 - reftable/stack: gracefully handle failed auto-compaction due to locks
 - reftable/stack: use error codes when locking fails during compaction
 - reftable/error: discern locked/outdated errors
 - reftable/stack: fix error handling in `reftable_stack_init_addition()`
 - Merge branch 'ps/reftable-stack-tempfile' into ps/pack-refs-auto
 (this branch uses ps/reftable-stack-tempfile.)

 "git pack-refs" learned the "--auto" option, which is a useful
 addition to be triggered from "git gc --auto".

 Needs review.
 source: <cover.1710706118.git.ps@pks.im>

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

* bb/iso-strict-utc (2024-03-13) 1 commit
  (merged to 'next' on 2024-03-14 at d2ac616873)
 + date: make "iso-strict" conforming for the UTC timezone

 The output format for dates "iso-strict" has been tweaked to show
 a time in the Zulu timezone with "Z" suffix, instead of "+00:00".

 Will merge to 'master'.
 source: <20240313225423.11373-1-dev+git@drbeat.li>


* dg/user-manual-hash-example (2024-03-12) 1 commit
  (merged to 'next' on 2024-03-14 at 767800d3a7)
 + Documentation/user-manual.txt: example for generating object hashes

 User manual (the original one) update.

 Will merge to 'master'.
 source: <20240312104238.4920-2-dirk@gouders.net>


* jc/show-untracked-false (2024-03-13) 2 commits
 - status: allow --untracked=false and friends
 - status: unify parsing of --untracked= and status.showUntrackedFiles

 The status.showUntrackedFiles configuration variable had a name
 that tempts users to set a Boolean value expressed in our usual
 "false", "off", and "0", but it only took "no".  This has been
 corrected so "true" and its synonyms are taken as "normal", while
 "false" and its synonyms are taken as "no".

 Will merge to 'next'?
 source: <20240313173214.962532-1-gitster@pobox.com>


* js/bugreport-no-suffix-fix (2024-03-16) 1 commit
  (merged to 'next' on 2024-03-18 at 180db8ec38)
 + bugreport.c: fix a crash in `git bugreport` with `--no-suffix` option

 "git bugreport --no-suffix" was not supported and instead
 segfaulted, which has been corrected.

 Will merge to 'master'.
 source: <9c6f3f5203ae26c501a5711e2610573130bfd550.1710388817.git.gitgitgadget@gmail.com>


* jw/doc-show-untracked-files-fix (2024-03-13) 1 commit
  (merged to 'next' on 2024-03-14 at 091f64ad6c)
 + doc: status.showUntrackedFiles does not take "false"

 The status.showUntrackedFiles configuration variable was
 incorrectly documented to accept "false", which has been corrected.

 Will merge to 'master'.
 source: <pull.1686.git.git.1710279251901.gitgitgadget@gmail.com>


* ph/diff-src-dst-prefix-config (2024-03-18) 2 commits
 - diff.*Prefix: use camelCase in the doc and test titles
 - diff: add diff.srcPrefix and diff.dstPrefix configuration variables

 "git diff" and friends learned two extra configuration variables.

 Will merge to 'next'.
 source: <20240315010310.GA1901653@quokka>
 source: <xmqq8r2ioh19.fsf@gitster.g>


* ps/clone-with-includeif-onbranch (2024-03-12) 1 commit
 - t5601: exercise clones with "includeIf.*.onbranch"

 An additional test to demonstrate something I am not sure what.

 Waiting for a review response.
 cf. <xmqqo7bjjid9.fsf@gitster.g>
 source: <0bede59a53862585c49bc635f82e44e983144a7f.1710246859.git.ps@pks.im>


* bb/t0006-negative-tz-offset (2024-03-14) 1 commit
  (merged to 'next' on 2024-03-14 at 3f4751b6b2)
 + t0006: add more tests with a negative TZ offset

 More tests on showing time with negative TZ offset.

 Will merge to 'master'.
 source: <20240314085512.1827031-1-dev+git@drbeat.li>


* rj/restore-plug-leaks (2024-03-14) 1 commit
  (merged to 'next' on 2024-03-15 at ac10ae7892)
 + checkout: plug some leaks in git-restore

 Leaks from "git restore" have been plugged.

 Will merge to 'master'.
 source: <64c1c3cc-51d7-4168-9731-4389889e1449@gmail.com>


* bt/fuzz-config-parse (2024-03-15) 1 commit
 - fuzz: add fuzzer for config parsing

 A new fuzz target that exercises config parsing code.

 Will merge to 'next'?
 source: <pull.1692.v2.git.1710481652130.gitgitgadget@gmail.com>


* ds/doc-config-reflow (2024-03-14) 1 commit
 - config.txt: perform some minor reformatting

 Reflow a paragraph in the documentation source without any effect
 to the formatted text.

 Comments?
 source: <97bdaf075bf5a68554cca1731eca78aff2662907.1710444774.git.dsimic@manjaro.org>


* jc/index-pack-fsck-levels (2024-03-15) 1 commit
  (merged to 'next' on 2024-03-18 at 243c5f4125)
 + t5300: fix test_with_bad_commit()

 Test fix.

 Will merge to 'master'.
 source: <pull.1688.git.git.1710478646776.gitgitgadget@gmail.com>


* la/format-trailer-info (2024-03-15) 5 commits
 - trailer: finish formatting unification
 - trailer: begin formatting unification
 - format_trailer_info(): append newline for non-trailer lines
 - format_trailer_info(): drop redundant unfold_value()
 - format_trailer_info(): use trailer_item objects
 (this branch is used by la/hide-trailer-info.)

 The code to format trailers have been cleaned up.

 Comments?
 source: <pull.1694.git.1710485706.gitgitgadget@gmail.com>


* rs/config-comment (2024-03-15) 3 commits
 - config: allow tweaking whitespace between value and comment
 - config: fix --comment formatting
 - config: add --comment option to add a comment

 "git config" learned "--comment=<message>" option to leave a
 comment immediately after the "variable = value" on the same line
 in the configuration file.

 Waiting for review response.
 cf. <xmqq8r2jp2eq.fsf@gitster.g>
 source: <pull.1681.v2.git.1709824540636.gitgitgadget@gmail.com>


* jc/safe-implicit-bare (2024-03-11) 1 commit
  (merged to 'next' on 2024-03-14 at e8bdbed1a4)
 + setup: notice more types of implicit bare repositories

 Users with safe.bareRepository=explicit can still work from within
 $GIT_DIR of a seconary worktree (which resides at .git/worktrees/$name/)
 of the primary worktree without explicitly specifying the $GIT_DIR
 environment variable or the --git-dir=<path> option.

 Will merge to 'master'.
 source: <xmqq5xxv0ywi.fsf_-_@gitster.g>


* pw/checkout-conflict-errorfix (2024-03-14) 5 commits
 - checkout: fix interaction between --conflict and --merge
 - checkout: cleanup --conflict=<style> parsing
 - merge options: add a conflict style member
 - merge-ll: introduce LL_MERGE_OPTIONS_INIT
 - xdiff-interface: refactor parsing of merge.conflictstyle

 "git checkout --conflict=bad" reported a bad conflictStyle as if it
 were given to a configuration variable; it has been corrected to
 report that the command line option is bad.

 Will merge to 'next'?
 source: <pull.1684.v2.git.1710435907.gitgitgadget@gmail.com>


* bl/cherry-pick-empty (2024-03-11) 7 commits
 - cherry-pick: add `--empty` for more robust redundant commit handling
 - cherry-pick: enforce `--keep-redundant-commits` incompatibility
 - sequencer: do not require `allow_empty` for redundant commit options
 - sequencer: treat error reading HEAD as unborn branch
 - rebase: update `--empty=ask` to `--empty=stop`
 - docs: clean up `--empty` formatting in git-rebase(1) and git-am (1)
 - docs: address inaccurate `--empty` default with `--exec`

 "cherry-pick" told to keep redundant commits needs to be allowed to
 create empty commits to do its job, but it required the user to
 give the --allow-empty option, which was unnecessary.  Its UI has
 also been tweaked a bit.

 Comments?
 source: <20240119060721.3734775-2-brianmlyles@gmail.com>


* ie/config-includeif-hostname (2024-03-10) 1 commit
 - config: learn the "hostname:" includeIf condition

 The conditional inclusion mechanism for configuration files learned
 to switch on the hostname.

 Expecting a reroll.
 cf. <fda3e8f4-fd9e-4a43-a307-c6607d982436@iencinas.com>
 source: <20240309181828.45496-2-ignacio@iencinas.com>


* ja/doc-markup-fixes (2024-03-11) 6 commits
  (merged to 'next' on 2024-03-14 at 4d1c26143f)
 + doc: git-clone: format placeholders
 + doc: git-clone: format verbatim words
 + doc: git-init: rework config item init.templateDir
 + doc: git-init: rework definition lists
 + doc: git-init: format placeholders
 + doc: git-init: format verbatim parts

 Mark-ups used in the documentation has been improved for
 consistency.

 Will merge to 'master'.
 source: <pull.1687.git.1710097830.gitgitgadget@gmail.com>


* jk/doc-remote-helper-object-format-option (2024-03-10) 2 commits
 - doc/gitremote-helpers: match object-format option docs to code
 - t5801: fix object-format handling in git-remote-testgit

 The implementation and documentation of "object-format" option
 exchange between the Git itself and its remote helpers did not
 quite match.

 Expecting a reroll.
 cf. <20240318085208.GA604917@coredump.intra.peff.net>
 source: <20240307084735.GA2072130@coredump.intra.peff.net>


* pb/ci-win-artifact-names-fix (2024-03-11) 1 commit
  (merged to 'next' on 2024-03-14 at 5076389536)
 + ci(github): make Windows test artifacts name unique

 CI update.

 Will merge to 'master'.
 source: <pull.1688.git.1710101097072.gitgitgadget@gmail.com>


* fs/find-end-of-log-message-fix (2024-03-07) 1 commit
  (merged to 'next' on 2024-03-13 at 2bed63caaf)
 + wt-status: don't find scissors line beyond buf len

 The code to find the effective end of log message can fall into an
 endless loop, which has been corrected.

 Will merge to 'master'.
 cf. <08b9b37d-f0f8-4c1a-b72e-194202ff3d9f@nutanix.com>
 source: <20240307183743.219951-1-flosch@nutanix.com>


* jk/core-comment-string (2024-03-12) 16 commits
 - config: allow multi-byte core.commentChar
 - environment: drop comment_line_char compatibility macro
 - wt-status: drop custom comment-char stringification
 - sequencer: handle multi-byte comment characters when writing todo list
 - find multi-byte comment chars in unterminated buffers
 - find multi-byte comment chars in NUL-terminated strings
 - prefer comment_line_str to comment_line_char for printing
 - strbuf: accept a comment string for strbuf_add_commented_lines()
 - strbuf: accept a comment string for strbuf_commented_addf()
 - strbuf: accept a comment string for strbuf_stripspace()
 - environment: store comment_line_char as a string
 - strbuf: avoid shadowing global comment_line_char name
 - commit: refactor base-case of adjust_comment_line_char()
 - strbuf: avoid static variables in strbuf_add_commented_lines()
 - strbuf: simplify comment-handling in add_lines() helper
 - config: forbid newline as core.commentChar

 core.commentChar used to be limited to a single byte, but has been
 updated to allow an arbitrary multi-byte sequence.

 Waiting for the discussion to settle.
 cf. <20240315081041.GA1753560@coredump.intra.peff.net>
 source: <20240312091013.GA95442@coredump.intra.peff.net>


* js/build-fuzz-more-often (2024-03-05) 3 commits
 - SQUASH???
 - fuzz: link fuzz programs with `make all` on Linux
 - ci: also define CXX environment variable

 In addition to building the objects needed, try to link the objects
 that are used in fuzzer tests, to make sure at least they build
 without bitrot, in Linux CI runs.

 Comments?
 source: <cover.1709673020.git.steadmon@google.com>


* ps/reftable-block-search-fix (2024-03-07) 2 commits
  (merged to 'next' on 2024-03-13 at 34938e24ab)
 + reftable/block: fix binary search over restart counter
 + reftable/record: fix memory leak when decoding object records

 The reftable code has its own custom binary search function whose
 comparison callback has an unusual interface, which caused the
 binary search to degenerate into a linear search, which has been
 corrected.

 Will merge to 'master'.
 source: <cover.1709843663.git.ps@pks.im>


* ps/reftable-reflog-iteration-perf (2024-03-05) 8 commits
  (merged to 'next' on 2024-03-14 at 72465c29be)
 + refs/reftable: track last log record name via strbuf
 + reftable/record: use scratch buffer when decoding records
 + reftable/record: reuse message when decoding log records
 + reftable/record: reuse refnames when decoding log records
 + reftable/record: avoid copying author info
 + reftable/record: convert old and new object IDs to arrays
 + refs/reftable: reload correct stack when creating reflog iter
 + Merge branch 'ps/reftable-iteration-perf-part2' into ps/reftable-reflog-iteration-perf

 The code to iterate over reflogs in the reftable has been optimized
 to reduce memory allocation and deallocation.

 Reviewed-by: Josh Steadmon <steadmon@google.com>
 cf. <Ze9eX-aaWoVaqsPP@google.com>

 Will merge to 'master'.
 source: <cover.1709640322.git.ps@pks.im>


* sj/userdiff-c-sharp (2024-03-06) 1 commit
 - userdiff: better method/property matching for C#

 The userdiff patterns for C# has been updated.

 Needs review.
 source: <pull.1682.v2.git.git.1709756493673.gitgitgadget@gmail.com>


* ps/reftable-stack-tempfile (2024-03-07) 4 commits
  (merged to 'next' on 2024-03-13 at dcfb0cde8c)
 + reftable/stack: register compacted tables as tempfiles
 + reftable/stack: register lockfiles during compaction
 + reftable/stack: register new tables as tempfiles
 + lockfile: report when rollback fails
 (this branch is used by ps/pack-refs-auto.)

 The code in reftable backend that creates new table files works
 better with the tempfile framework to avoid leaving cruft after a
 failure.

 Will merge to 'master'.
 source: <cover.1709816483.git.ps@pks.im>


* rs/opt-parse-long-fixups (2024-03-03) 6 commits
  (merged to 'next' on 2024-03-13 at 3755b50794)
 + parse-options: rearrange long_name matching code
 + parse-options: normalize arg and long_name before comparison
 + parse-options: detect ambiguous self-negation
 + parse-options: factor out register_abbrev() and struct parsed_option
 + parse-options: set arg of abbreviated option lazily
 + parse-options: recognize abbreviated negated option with arg

 The parse-options code that deals with abbreviated long option
 names have been cleaned up.

 Reviewed-by: Josh Steadmon <steadmon@google.com>
 cf. <ZfDM5Or3EKw7Q9SA@google.com>

 Will merge to 'master'.
 source: <20240303121944.20627-1-l.s.r@web.de>


* cw/git-std-lib (2024-02-28) 4 commits
 - SQUASH??? get rid of apparent debugging crufts
 - test-stdlib: show that git-std-lib is independent
 - git-std-lib: introduce Git Standard Library
 - pager: include stdint.h because uintmax_t is used

 Split libgit.a out to a separate git-std-lib tor easier reuse.

 Expecting a reroll.
 source: <cover.1696021277.git.jonathantanmy@google.com>


* js/cmake-with-test-tool (2024-02-23) 2 commits
 - cmake: let `test-tool` run the unit tests, too
 - Merge branch 'js/unit-test-suite-runner' into js/cmake-with-test-tool
 (this branch uses js/unit-test-suite-runner.)

 "test-tool" is now built in CMake build to also run the unit tests.

 May want to roll it into the base topic.
 source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>


* js/unit-test-suite-runner (2024-02-23) 8 commits
 - ci: use test-tool as unit test runner on Windows
 - t/Makefile: run unit tests alongside shell tests
 - unit tests: add rule for running with test-tool
 - test-tool run-command testsuite: support unit tests
 - test-tool run-command testsuite: remove hardcoded filter
 - test-tool run-command testsuite: get shell from env
 - t0080: turn t-basic unit test into a helper
 - Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner
 (this branch is used by js/cmake-with-test-tool.)

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.

 Needs review.
 source: <cover.1708728717.git.steadmon@google.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 cf. <6683f24e-7e56-489d-be2d-8afe1fc38d2b@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Expecting a reroll.
 cf. <CAC4O8c88Z3ZqxH2VVaNPpEGB3moL5dJcg3cOWuLWwQ_hLrJMtA@mail.gmail.com>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* eb/hash-transition (2023-10-02) 30 commits
  (merged to 'next' on 2024-03-11 at 9cff2e4ab7)
 + t1016-compatObjectFormat: add tests to verify the conversion between objects
 + t1006: test oid compatibility with cat-file
 + t1006: rename sha1 to oid
 + test-lib: compute the compatibility hash so tests may use it
 + builtin/ls-tree: let the oid determine the output algorithm
 + object-file: handle compat objects in check_object_signature
 + tree-walk: init_tree_desc take an oid to get the hash algorithm
 + builtin/cat-file: let the oid determine the output algorithm
 + rev-parse: add an --output-object-format parameter
 + repository: implement extensions.compatObjectFormat
 + object-file: update object_info_extended to reencode objects
 + object-file-convert: convert commits that embed signed tags
 + object-file-convert: convert commit objects when writing
 + object-file-convert: don't leak when converting tag objects
 + object-file-convert: convert tag objects when writing
 + object-file-convert: add a function to convert trees between algorithms
 + object: factor out parse_mode out of fast-import and tree-walk into in object.h
 + cache: add a function to read an OID of a specific algorithm
 + tag: sign both hashes
 + commit: export add_header_signature to support handling signatures on tags
 + commit: convert mergetag before computing the signature of a commit
 + commit: write commits for both hashes
 + object-file: add a compat_oid_in parameter to write_object_file_flags
 + object-file: update the loose object map when writing loose objects
 + loose: compatibilty short name support
 + loose: add a mapping between SHA-1 and SHA-256 for loose objects
 + repository: add a compatibility hash algorithm
 + object-names: support input of oids in any supported hash
 + oid-array: teach oid-array to handle multiple kinds of oids
 + object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Will cook in 'next'.
 cf. <xmqqv86z5359.fsf@gitster.g>
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 23%]

* Re: What's cooking in git.git (Mar 2024, #04; Fri, 15)
  @ 2024-03-18 16:59 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-03-18 16:59 UTC (permalink / raw)
  To: Jeff King; +Cc: git

Jeff King <peff@peff.net> writes:

> On Fri, Mar 15, 2024 at 05:26:13PM -0700, Junio C Hamano wrote:
>
>> * jk/doc-remote-helper-object-format-option (2024-03-10) 2 commits
>>  - doc/gitremote-helpers: match object-format option docs to code
>>  - t5801: fix object-format handling in git-remote-testgit
>> 
>>  The implementation and documentation of "object-format" option
>>  exchange between the Git itself and its remote helpers did not
>>  quite match.
>> 
>>  What's the conclusion of this one???
>>  cf. <20240312074513.GA47852@coredump.intra.peff.net>
>>  cf. <87ttl99e0b.fsf@gmail.froward.int.ebiederm.org>
>>  source: <20240307084735.GA2072130@coredump.intra.peff.net>
>
> Expect a re-roll for this one. After the discussion in the thread, I
> think we can clean up the code a bit, too.

Thanks.  I was waiting for the discussion to see a resolution, which
we now seem to have.



^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Mar 2024, #04; Fri, 15)
@ 2024-03-16  0:26 21% Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2024-03-16  0:26 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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']

* ag/t0010-modernize (2024-03-05) 1 commit
  (merged to 'next' on 2024-03-07 at 38339abc2d)
 + tests: modernize the test script t0010-racy-git.sh

 GSoC practice to modernize a test script.
 source: <pull.1675.v3.git.1709676557639.gitgitgadget@gmail.com>


* as/option-names-in-messages (2024-03-05) 4 commits
  (merged to 'next' on 2024-03-07 at 73ab51faba)
 + revision.c: trivial fix to message
 + builtin/clone.c: trivial fix of message
 + builtin/remote.c: trivial fix of error message
 + transport-helper.c: trivial fix of error message

 Error message updates.
 source: <20240216101647.28837-1-ash@kambanaria.org>


* gt/core-bare-in-templates (2024-03-04) 1 commit
  (merged to 'next' on 2024-03-06 at e54ac5acf9)
 + setup: remove unnecessary variable

 Code simplification.
 source: <20240304151811.511780-1-shyamthakkar001@gmail.com>


* hd/config-mak-os390 (2024-03-06) 1 commit
  (merged to 'next' on 2024-03-07 at 289d3ab691)
 + build: support z/OS (OS/390).

 Platform specific tweaks for OS/390 has been added to
 config.mak.uname.
 source: <pull.1663.v4.git.git.1709703857881.gitgitgadget@gmail.com>


* jc/test-i18ngrep (2024-03-02) 1 commit
  (merged to 'next' on 2024-03-06 at 2c57ebc706)
 + test_i18ngrep: hard deprecate and forbid its use

 With release 2.44 we got rid of all uses of test_i18ngrep and there
 is no in-flight topic that adds a new use of it.  Make a call to
 test_i18ngrep a hard failure, so that we can remove it at the end
 of this release cycle.
 source: <xmqq5xy4zhdc.fsf@gitster.g>


* jc/xwrite-cleanup (2024-03-02) 3 commits
  (merged to 'next' on 2024-03-07 at 43e66f7e4d)
 + repack: check error writing to pack-objects subprocess
 + sideband: avoid short write(2)
 + unpack: replace xwrite() loop with write_in_full()

 Uses of xwrite() helper have been audited and updated for better
 error checking and simpler code.
 source: <20240302190348.3946569-1-gitster@pobox.com>


* jh/fsmonitor-icase-corner-case-fix (2024-03-06) 14 commits
  (merged to 'next' on 2024-03-06 at 356eafea7e)
 + fsmonitor: support case-insensitive events
 + fsmonitor: refactor bit invalidation in refresh callback
 + fsmonitor: trace the new invalidated cache-entry count
 + fsmonitor: return invalidated cache-entry count on non-directory event
 + fsmonitor: remove custom loop from non-directory path handler
 + fsmonitor: return invalidated cache-entry count on directory event
 + fsmonitor: move untracked-cache invalidation into helper functions
 + fsmonitor: refactor untracked-cache invalidation
 + dir: create untracked_cache_invalidate_trimmed_path()
 + fsmonitor: refactor refresh callback for non-directory events
 + fsmonitor: clarify handling of directory events in callback helper
 + fsmonitor: refactor refresh callback on directory events
 + t7527: add case-insensitve test for FSMonitor
 + name-hash: add index_dir_find()

 FSMonitor client code was confused when FSEvents were given in a
 different case on a case-insensitive filesystem, which has been
 corrected.

 Acked-by: Patrick Steinhardt <ps@pks.im>
 cf. <ZehofMaSZyUq8S1N@tanuki>
 source: <pull.1662.v3.git.1708983565.gitgitgadget@gmail.com>


* kh/branch-ref-syntax-advice (2024-03-05) 5 commits
  (merged to 'next' on 2024-03-07 at 914f01967b)
 + branch: advise about ref syntax rules
 + advice: use double quotes for regular quoting
 + advice: use backticks for verbatim
 + advice: make all entries stylistically consistent
 + t3200: improve test style

 When git refuses to create a branch because the proposed branch
 name is not a valid refname, an advice message is given to refer
 the user to exact naming rules.
 source: <cover.1709670287.git.code@khaugsbakk.name>


* kh/doc-commentchar-is-a-byte (2024-03-05) 1 commit
  (merged to 'next' on 2024-03-06 at 5941655c04)
 + config: document `core.commentChar` as ASCII-only

 The "core.commentChar" configuration variable only allows an ASCII
 character, which was not clearly documented, which has been
 corrected.
 source: <9633f9be5ddd9ab3df4b79ee934e1ed47e90bd1d.1709656683.git.code@khaugsbakk.name>


* la/trailer-api (2024-03-01) 9 commits
  (merged to 'next' on 2024-03-06 at f119923ff6)
 + format_trailers_from_commit(): indirectly call trailer_info_get()
 + format_trailer_info(): move "fast path" to caller
 + format_trailers(): use strbuf instead of FILE
 + trailer_info_get(): reorder parameters
 + trailer: move interpret_trailers() to interpret-trailers.c
 + trailer: reorder format_trailers_from_commit() parameters
 + trailer: rename functions to use 'trailer'
 + shortlog: add test for de-duplicating folded trailers
 + trailer: free trailer_info _after_ all related usage

 Trailer API updates.

 Acked-by: Christian Couder <christian.couder@gmail.com>
 cf. <CAP8UFD1Zd+9q0z1JmfOf60S2vn5-sD3SafDvAJUzRFwHJKcb8A@mail.gmail.com>
 source: <pull.1632.v6.git.1709252086.gitgitgadget@gmail.com>


* ps/reftable-iteration-perf-part2 (2024-03-04) 13 commits
  (merged to 'next' on 2024-03-06 at e8ba314585)
 + refs/reftable: precompute prefix length
 + reftable: allow inlining of a few functions
 + reftable/record: decode keys in place
 + reftable/record: reuse refname when copying
 + reftable/record: reuse refname when decoding
 + reftable/merged: avoid duplicate pqueue emptiness check
 + reftable/merged: circumvent pqueue with single subiter
 + reftable/merged: handle subiter cleanup on close only
 + reftable/merged: remove unnecessary null check for subiters
 + reftable/merged: make subiters own their records
 + reftable/merged: advance subiter on subsequent iteration
 + reftable/merged: make `merged_iter` structure private
 + reftable/pq: use `size_t` to track iterator index
 (this branch is used by ps/reftable-reflog-iteration-perf.)

 The code to iterate over refs with the reftable backend has seen
 some optimization.
 source: <cover.1709548907.git.ps@pks.im>


* rj/complete-reflog (2024-03-03) 5 commits
  (merged to 'next' on 2024-03-06 at 0f1a25debc)
 + completion: reflog subcommands and options
 + completion: factor out __git_resolve_builtins
 + completion: introduce __git_find_subcommand
 + completion: reflog show <log-options>
 + completion: reflog with implicit "show"

 The command line completion script (in contrib/) learned to
 complete "git reflog" better.
 source: <ea6c8890-9ff3-46c9-b933-6a52083b1001@gmail.com>


* rj/complete-worktree-paths-fix (2024-02-27) 1 commit
  (merged to 'next' on 2024-03-06 at b6ba949383)
 + completion: fix __git_complete_worktree_paths

 The logic to complete the command line arguments to "git worktree"
 subcommand (in contrib/) has been updated to correctly honor things
 like "git -C dir" etc.
 source: <b8f09e20-d0d3-4e0b-afe2-31affeb61052@gmail.com>


* so/clean-dry-run-without-force (2024-03-04) 2 commits
  (merged to 'next' on 2024-03-06 at ccf2e123be)
 + clean: further clean-up of implementation around "--force"
 + clean: improve -n and -f implementation and documentation

 The implementation in "git clean" that makes "-n" and "-i" ignore
 clean.requireForce has been simplified, together with the
 documentation.
 source: <87le6ziqzb.fsf_-_@osv.gnss.ru>
 source: <20240303220600.2491792-1-gitster@pobox.com>


* vm/t7301-use-test-path-helpers (2024-03-06) 1 commit
  (merged to 'next' on 2024-03-07 at e638654635)
 + t7301: use test_path_is_(missing|file)

 GSoC practice to replace "test -f" with "test_path_is_file".
 source: <20240304171732.64457-2-vincenzo.mezzela@gmail.com>

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

* bb/iso-strict-utc (2024-03-13) 1 commit
  (merged to 'next' on 2024-03-14 at d2ac616873)
 + date: make "iso-strict" conforming for the UTC timezone

 The output format for dates "iso-strict" has been tweaked to show
 a time in the Zulu timezone with "Z" suffix, instead of "+00:00".

 Will merge to 'master'.
 source: <20240313225423.11373-1-dev+git@drbeat.li>


* dg/user-manual-hash-example (2024-03-12) 1 commit
  (merged to 'next' on 2024-03-14 at 767800d3a7)
 + Documentation/user-manual.txt: example for generating object hashes

 User manual (the original one) update.

 Will merge to 'master'.
 source: <20240312104238.4920-2-dirk@gouders.net>


* jc/show-untracked-false (2024-03-13) 2 commits
 - status: allow --untracked=false and friends
 - status: unify parsing of --untracked= and status.showUntrackedFiles

 The status.showUntrackedFiles configuration variable had a name
 that tempts users to set a Boolean value expressed in our usual
 "false", "off", and "0", but it only took "no".  This has been
 corrected so "true" and its synonyms are taken as "normal", while
 "false" and its synonyms are taken as "no".

 Will merge to 'next'?
 source: <20240313173214.962532-1-gitster@pobox.com>


* js/bugreport-no-suffix-fix (2024-03-14) 1 commit
 - bugreport.c: fix a crash in `git bugreport` with `--no-suffix` option

 "git bugreport --no-suffix" was not supported and instead
 segfaulted, which has been corrected.

 Will merge to 'next'?
 source: <9c6f3f5203ae26c501a5711e2610573130bfd550.1710388817.git.gitgitgadget@gmail.com>


* jw/doc-show-untracked-files-fix (2024-03-13) 1 commit
  (merged to 'next' on 2024-03-14 at 091f64ad6c)
 + doc: status.showUntrackedFiles does not take "false"

 The status.showUntrackedFiles configuration variable was
 incorrectly documented to accept "false", which has been corrected.

 Will merge to 'master'.
 source: <pull.1686.git.git.1710279251901.gitgitgadget@gmail.com>


* ph/diff-src-dst-prefix-config (2024-03-15) 1 commit
 - diff: add diff.srcPrefix and diff.dstPrefix configuration variables

 "git diff" and friends learned two extra configuration variables.

 What's the status of this thing?
 source: <20240315010310.GA1901653@quokka>


* ps/clone-with-includeif-onbranch (2024-03-12) 1 commit
 - t5601: exercise clones with "includeIf.*.onbranch"

 An additional test to demonstrate something I am not sure what.

 Waiting for a review response.
 cf. <xmqqo7bjjid9.fsf@gitster.g>
 source: <0bede59a53862585c49bc635f82e44e983144a7f.1710246859.git.ps@pks.im>


* bb/t0006-negative-tz-offset (2024-03-14) 1 commit
  (merged to 'next' on 2024-03-14 at 3f4751b6b2)
 + t0006: add more tests with a negative TZ offset

 More tests on showing time with negative TZ offset.

 Will merge to 'master'.
 source: <20240314085512.1827031-1-dev+git@drbeat.li>


* rj/restore-plug-leaks (2024-03-14) 1 commit
  (merged to 'next' on 2024-03-15 at ac10ae7892)
 + checkout: plug some leaks in git-restore

 Leaks from "git restore" have been plugged.

 Will merge to 'master'.
 source: <64c1c3cc-51d7-4168-9731-4389889e1449@gmail.com>


* bt/fuzz-config-parse (2024-03-15) 1 commit
 - fuzz: add fuzzer for config parsing

 A new fuzz target that exercises config parsing code.

 Will merge to 'next'?
 source: <pull.1692.v2.git.1710481652130.gitgitgadget@gmail.com>


* ds/doc-config-reflow (2024-03-14) 1 commit
 - config.txt: perform some minor reformatting

 Reflow a paragraph in the documentation source without any effect
 to the formatted text.

 Comments?
 source: <97bdaf075bf5a68554cca1731eca78aff2662907.1710444774.git.dsimic@manjaro.org>


* jc/index-pack-fsck-levels (2024-03-15) 1 commit
 - t5300: fix test_with_bad_commit()

 Test fix.

 Will merge to 'next'.
 source: <pull.1688.git.git.1710478646776.gitgitgadget@gmail.com>


* la/format-trailer-info (2024-03-15) 5 commits
 - trailer: finish formatting unification
 - trailer: begin formatting unification
 - format_trailer_info(): append newline for non-trailer lines
 - format_trailer_info(): drop redundant unfold_value()
 - format_trailer_info(): use trailer_item objects

 The code to format trailers have been cleaned up.

 Comments?
 source: <pull.1694.git.1710485706.gitgitgadget@gmail.com>


* rs/config-comment (2024-03-15) 3 commits
 - config: allow tweaking whitespace between value and comment
 - config: fix --comment formatting
 - config: add --comment option to add a comment

 "git config" learned "--comment=<message>" option to leave a
 comment immediately after the "variable = value" on the same line
 in the configuration file.

 Waiting for review response.
 cf. <xmqq8r2jp2eq.fsf@gitster.g>
 source: <pull.1681.v2.git.1709824540636.gitgitgadget@gmail.com>

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

* jc/safe-implicit-bare (2024-03-11) 1 commit
  (merged to 'next' on 2024-03-14 at e8bdbed1a4)
 + setup: notice more types of implicit bare repositories

 Users with safe.bareRepository=explicit can still work from within
 $GIT_DIR of a seconary worktree (which resides at .git/worktrees/$name/)
 of the primary worktree without explicitly specifying the $GIT_DIR
 environment variable or the --git-dir=<path> option.

 Will merge to 'master'.
 source: <xmqq5xxv0ywi.fsf_-_@gitster.g>


* pw/checkout-conflict-errorfix (2024-03-14) 5 commits
 - checkout: fix interaction between --conflict and --merge
 - checkout: cleanup --conflict=<style> parsing
 - merge options: add a conflict style member
 - merge-ll: introduce LL_MERGE_OPTIONS_INIT
 - xdiff-interface: refactor parsing of merge.conflictstyle

 "git checkout --conflict=bad" reported a bad conflictStyle as if it
 were given to a configuration variable; it has been corrected to
 report that the command line option is bad.

 Will merge to 'next'?
 source: <pull.1684.v2.git.1710435907.gitgitgadget@gmail.com>


* bl/cherry-pick-empty (2024-03-11) 7 commits
 - cherry-pick: add `--empty` for more robust redundant commit handling
 - cherry-pick: enforce `--keep-redundant-commits` incompatibility
 - sequencer: do not require `allow_empty` for redundant commit options
 - sequencer: treat error reading HEAD as unborn branch
 - rebase: update `--empty=ask` to `--empty=stop`
 - docs: clean up `--empty` formatting in git-rebase(1) and git-am (1)
 - docs: address inaccurate `--empty` default with `--exec`

 "cherry-pick" told to keep redundant commits needs to be allowed to
 create empty commits to do its job, but it required the user to
 give the --allow-empty option, which was unnecessary.  Its UI has
 also been tweaked a bit.

 Comments?
 source: <20240119060721.3734775-2-brianmlyles@gmail.com>


* ie/config-includeif-hostname (2024-03-10) 1 commit
 - config: learn the "hostname:" includeIf condition

 The conditional inclusion mechanism for configuration files learned
 to switch on the hostname.

 Expecting a reroll.
 cf. <fda3e8f4-fd9e-4a43-a307-c6607d982436@iencinas.com>
 source: <20240309181828.45496-2-ignacio@iencinas.com>


* ja/doc-markup-fixes (2024-03-11) 6 commits
  (merged to 'next' on 2024-03-14 at 4d1c26143f)
 + doc: git-clone: format placeholders
 + doc: git-clone: format verbatim words
 + doc: git-init: rework config item init.templateDir
 + doc: git-init: rework definition lists
 + doc: git-init: format placeholders
 + doc: git-init: format verbatim parts

 Mark-ups used in the documentation has been improved for
 consistency.

 Will merge to 'master'.
 source: <pull.1687.git.1710097830.gitgitgadget@gmail.com>


* jk/doc-remote-helper-object-format-option (2024-03-10) 2 commits
 - doc/gitremote-helpers: match object-format option docs to code
 - t5801: fix object-format handling in git-remote-testgit

 The implementation and documentation of "object-format" option
 exchange between the Git itself and its remote helpers did not
 quite match.

 What's the conclusion of this one???
 cf. <20240312074513.GA47852@coredump.intra.peff.net>
 cf. <87ttl99e0b.fsf@gmail.froward.int.ebiederm.org>
 source: <20240307084735.GA2072130@coredump.intra.peff.net>


* pb/ci-win-artifact-names-fix (2024-03-11) 1 commit
  (merged to 'next' on 2024-03-14 at 5076389536)
 + ci(github): make Windows test artifacts name unique

 CI update.

 Will merge to 'master'.
 source: <pull.1688.git.1710101097072.gitgitgadget@gmail.com>


* fs/find-end-of-log-message-fix (2024-03-07) 1 commit
  (merged to 'next' on 2024-03-13 at 2bed63caaf)
 + wt-status: don't find scissors line beyond buf len

 The code to find the effective end of log message can fall into an
 endless loop, which has been corrected.

 Will merge to 'master'.
 cf. <08b9b37d-f0f8-4c1a-b72e-194202ff3d9f@nutanix.com>
 source: <20240307183743.219951-1-flosch@nutanix.com>


* jk/core-comment-string (2024-03-12) 16 commits
 - config: allow multi-byte core.commentChar
 - environment: drop comment_line_char compatibility macro
 - wt-status: drop custom comment-char stringification
 - sequencer: handle multi-byte comment characters when writing todo list
 - find multi-byte comment chars in unterminated buffers
 - find multi-byte comment chars in NUL-terminated strings
 - prefer comment_line_str to comment_line_char for printing
 - strbuf: accept a comment string for strbuf_add_commented_lines()
 - strbuf: accept a comment string for strbuf_commented_addf()
 - strbuf: accept a comment string for strbuf_stripspace()
 - environment: store comment_line_char as a string
 - strbuf: avoid shadowing global comment_line_char name
 - commit: refactor base-case of adjust_comment_line_char()
 - strbuf: avoid static variables in strbuf_add_commented_lines()
 - strbuf: simplify comment-handling in add_lines() helper
 - config: forbid newline as core.commentChar

 core.commentChar used to be limited to a single byte, but has been
 updated to allow an arbitrary multi-byte sequence.

 Waiting for the discussion to settle.
 cf. <20240315081041.GA1753560@coredump.intra.peff.net>
 source: <20240312091013.GA95442@coredump.intra.peff.net>


* jk/doc-remote-helpers-markup-fix (2024-03-07) 1 commit
  (merged to 'next' on 2024-03-08 at 2cded1c696)
 + doc/gitremote-helpers: fix missing single-quote

 Doc mark-up fix.

 Will merge to 'master'.
 source: <20240307084313.GA2072022@coredump.intra.peff.net>


* js/build-fuzz-more-often (2024-03-05) 3 commits
 - SQUASH???
 - fuzz: link fuzz programs with `make all` on Linux
 - ci: also define CXX environment variable

 In addition to building the objects needed, try to link the objects
 that are used in fuzzer tests, to make sure at least they build
 without bitrot, in Linux CI runs.

 Comments?
 source: <cover.1709673020.git.steadmon@google.com>


* ps/reftable-block-search-fix (2024-03-07) 2 commits
  (merged to 'next' on 2024-03-13 at 34938e24ab)
 + reftable/block: fix binary search over restart counter
 + reftable/record: fix memory leak when decoding object records

 The reftable code has its own custom binary search function whose
 comparison callback has an unusual interface, which caused the
 binary search to degenerate into a linear search, which has been
 corrected.

 Will merge to 'master'.
 source: <cover.1709843663.git.ps@pks.im>


* ps/reftable-reflog-iteration-perf (2024-03-05) 8 commits
  (merged to 'next' on 2024-03-14 at 72465c29be)
 + refs/reftable: track last log record name via strbuf
 + reftable/record: use scratch buffer when decoding records
 + reftable/record: reuse message when decoding log records
 + reftable/record: reuse refnames when decoding log records
 + reftable/record: avoid copying author info
 + reftable/record: convert old and new object IDs to arrays
 + refs/reftable: reload correct stack when creating reflog iter
 + Merge branch 'ps/reftable-iteration-perf-part2' into ps/reftable-reflog-iteration-perf

 The code to iterate over reflogs in the reftable has been optimized
 to reduce memory allocation and deallocation.

 Reviewed-by: Josh Steadmon <steadmon@google.com>
 cf. <Ze9eX-aaWoVaqsPP@google.com>

 Will merge to 'master'.
 source: <cover.1709640322.git.ps@pks.im>


* sj/userdiff-c-sharp (2024-03-06) 1 commit
 - userdiff: better method/property matching for C#

 The userdiff patterns for C# has been updated.

 Needs review.
 source: <pull.1682.v2.git.git.1709756493673.gitgitgadget@gmail.com>


* jh/trace2-missing-def-param-fix (2024-03-07) 3 commits
  (merged to 'next' on 2024-03-08 at a797cfea3c)
 + trace2: emit 'def_param' set with 'cmd_name' event
 + trace2: avoid emitting 'def_param' set more than once
 + t0211: demonstrate missing 'def_param' events for certain commands

 Some trace2 events that lacked def_param have learned to show it,
 enriching the output.

 Reviewed-by: Josh Steadmon <steadmon@google.com>
 cf. <ZejkVOVQBZhLVfHW@google.com>

 Will merge to 'master'.
 source: <pull.1679.v2.git.1709824949.gitgitgadget@gmail.com>


* ps/reftable-stack-tempfile (2024-03-07) 4 commits
  (merged to 'next' on 2024-03-13 at dcfb0cde8c)
 + reftable/stack: register compacted tables as tempfiles
 + reftable/stack: register lockfiles during compaction
 + reftable/stack: register new tables as tempfiles
 + lockfile: report when rollback fails

 The code in reftable backend that creates new table files works
 better with the tempfile framework to avoid leaving cruft after a
 failure.

 Will merge to 'master'.
 source: <cover.1709816483.git.ps@pks.im>


* rs/opt-parse-long-fixups (2024-03-03) 6 commits
  (merged to 'next' on 2024-03-13 at 3755b50794)
 + parse-options: rearrange long_name matching code
 + parse-options: normalize arg and long_name before comparison
 + parse-options: detect ambiguous self-negation
 + parse-options: factor out register_abbrev() and struct parsed_option
 + parse-options: set arg of abbreviated option lazily
 + parse-options: recognize abbreviated negated option with arg

 The parse-options code that deals with abbreviated long option
 names have been cleaned up.

 Reviewed-by: Josh Steadmon <steadmon@google.com>
 cf. <ZfDM5Or3EKw7Q9SA@google.com>

 Will merge to 'master'.
 source: <20240303121944.20627-1-l.s.r@web.de>


* cw/git-std-lib (2024-02-28) 4 commits
 - SQUASH??? get rid of apparent debugging crufts
 - test-stdlib: show that git-std-lib is independent
 - git-std-lib: introduce Git Standard Library
 - pager: include stdint.h because uintmax_t is used

 Split libgit.a out to a separate git-std-lib tor easier reuse.

 Expecting a reroll.
 source: <cover.1696021277.git.jonathantanmy@google.com>


* pw/rebase-i-ignore-cherry-pick-help-environment (2024-02-27) 1 commit
  (merged to 'next' on 2024-03-08 at e806ee9493)
 + rebase -i: stop setting GIT_CHERRY_PICK_HELP

 Code simplification by getting rid of code that sets an environment
 variable that is no longer used.

 Will merge to 'master'.
 source: <pull.1678.git.1709042783847.gitgitgadget@gmail.com>


* js/cmake-with-test-tool (2024-02-23) 2 commits
 - cmake: let `test-tool` run the unit tests, too
 - Merge branch 'js/unit-test-suite-runner' into js/cmake-with-test-tool
 (this branch uses js/unit-test-suite-runner.)

 "test-tool" is now built in CMake build to also run the unit tests.

 May want to roll it into the base topic.
 source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>


* js/unit-test-suite-runner (2024-02-23) 8 commits
 - ci: use test-tool as unit test runner on Windows
 - t/Makefile: run unit tests alongside shell tests
 - unit tests: add rule for running with test-tool
 - test-tool run-command testsuite: support unit tests
 - test-tool run-command testsuite: remove hardcoded filter
 - test-tool run-command testsuite: get shell from env
 - t0080: turn t-basic unit test into a helper
 - Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner
 (this branch is used by js/cmake-with-test-tool.)

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.

 Needs review.
 source: <cover.1708728717.git.steadmon@google.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 cf. <6683f24e-7e56-489d-be2d-8afe1fc38d2b@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Expecting a reroll.
 cf. <CAC4O8c88Z3ZqxH2VVaNPpEGB3moL5dJcg3cOWuLWwQ_hLrJMtA@mail.gmail.com>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* eb/hash-transition (2023-10-02) 30 commits
  (merged to 'next' on 2024-03-11 at 9cff2e4ab7)
 + t1016-compatObjectFormat: add tests to verify the conversion between objects
 + t1006: test oid compatibility with cat-file
 + t1006: rename sha1 to oid
 + test-lib: compute the compatibility hash so tests may use it
 + builtin/ls-tree: let the oid determine the output algorithm
 + object-file: handle compat objects in check_object_signature
 + tree-walk: init_tree_desc take an oid to get the hash algorithm
 + builtin/cat-file: let the oid determine the output algorithm
 + rev-parse: add an --output-object-format parameter
 + repository: implement extensions.compatObjectFormat
 + object-file: update object_info_extended to reencode objects
 + object-file-convert: convert commits that embed signed tags
 + object-file-convert: convert commit objects when writing
 + object-file-convert: don't leak when converting tag objects
 + object-file-convert: convert tag objects when writing
 + object-file-convert: add a function to convert trees between algorithms
 + object: factor out parse_mode out of fast-import and tree-walk into in object.h
 + cache: add a function to read an OID of a specific algorithm
 + tag: sign both hashes
 + commit: export add_header_signature to support handling signatures on tags
 + commit: convert mergetag before computing the signature of a commit
 + commit: write commits for both hashes
 + object-file: add a compat_oid_in parameter to write_object_file_flags
 + object-file: update the loose object map when writing loose objects
 + loose: compatibilty short name support
 + loose: add a mapping between SHA-1 and SHA-256 for loose objects
 + repository: add a compatibility hash algorithm
 + object-names: support input of oids in any supported hash
 + oid-array: teach oid-array to handle multiple kinds of oids
 + object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Will cook in 'next'.
 cf. <xmqqv86z5359.fsf@gitster.g>
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 21%]

* Re: What's cooking in git.git (Mar 2024, #03; Mon, 11)
  @ 2024-03-13 15:33 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-03-13 15:33 UTC (permalink / raw)
  To: Florian Schmidt; +Cc: git

Florian Schmidt <flosch@nutanix.com> writes:

> On 12/03/2024 00:45, Junio C Hamano wrote:
>> * fs/find-end-of-log-message-fix (2024-03-07) 1 commit
>>   - wt-status: don't find scissors line beyond buf len
>>   The code to find the effective end of log message can fall into an
>>   endless loop, which has been corrected.
>>   Waiting for review response.
>>   source: <20240307183743.219951-1-flosch@nutanix.com>
>
> I responded on the original thread, but to confirm here: from my side,
> this patch is ready to go.

Yeah, I think I wrote "waiting for ..." after I sent out
https://lore.kernel.org/git/xmqq7cidlqg5.fsf@gitster.g/
and before other responses came to the thread.

Let's mark the topic for merging to 'next'.  Thanks.


^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Mar 2024, #03; Mon, 11)
@ 2024-03-12  0:45 24% Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2024-03-12  0:45 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

The 'maint' branch now points at the 2.44 maintenance track.

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']

* es/config-doc-sort-sections (2024-02-29) 1 commit
  (merged to 'next' on 2024-03-04 at 0752144ed7)
 + docs: sort configuration variable groupings alphabetically

 Doc updates.
 source: <20240229190229.20222-1-ericsunshine@charter.net>


* js/merge-base-with-missing-commit (2024-03-09) 13 commits
  (merged to 'next' on 2024-03-09 at caa7a7baaa)
 + merge-ort/merge-recursive: do report errors in `merge_submodule()`
 + merge-recursive: prepare for `merge_submodule()` to report errors
  (merged to 'next' on 2024-03-01 at 3e3eabaee9)
 + commit-reach(repo_get_merge_bases_many_dirty): pass on errors
 + commit-reach(repo_get_merge_bases_many): pass on "missing commits" errors
 + commit-reach(get_octopus_merge_bases): pass on "missing commits" errors
 + commit-reach(repo_get_merge_bases): pass on "missing commits" errors
 + commit-reach(get_merge_bases_many_0): pass on "missing commits" errors
 + commit-reach(merge_bases_many): pass on "missing commits" errors
 + commit-reach(paint_down_to_common): start reporting errors
 + commit-reach(paint_down_to_common): prepare for handling shallow commits
 + commit-reach(repo_in_merge_bases_many): report missing commits
 + commit-reach(repo_in_merge_bases_many): optionally expect missing commits
 + commit-reach(paint_down_to_common): plug two memory leaks

 Originally merged to 'next' on 2024-02-29

 Make sure failure return from merge_bases_many() is properly caught.
 source: <pull.1657.v4.git.1709113457.gitgitgadget@gmail.com>
 source: <pull.1686.git.1709993397.gitgitgadget@gmail.com>


* kh/doc-dashed-commands-have-not-worked-for-a-long-time (2024-03-01) 1 commit
  (merged to 'next' on 2024-03-04 at 7e070c67f9)
 + gitcli: drop mention of “non-dashed form”

 Doc update.
 source: <5b34bc4e22816f7f19bd26c15a08fe4c749b72f8.1709316230.git.code@khaugsbakk.name>


* rs/t-ctype-simplify (2024-03-03) 4 commits
  (merged to 'next' on 2024-03-04 at 9bd84a8877)
 + t-ctype: avoid duplicating class names
 + t-ctype: align output of i
 + t-ctype: simplify EOF check
 + t-ctype: allow NUL anywhere in the specification string

 Code simplification to one unit-test program.
 source: <20240303101330.20187-1-l.s.r@web.de>


* sj/t9117-path-is-file (2024-03-04) 1 commit
  (merged to 'next' on 2024-03-04 at de5f6a74cb)
 + t9117: prefer test_path_* helper functions

 GSoC practice to replace "test -f" with "test_path_is_file".
 source: <20240304095436.56399-2-shejialuo@gmail.com>

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

* jc/safe-implicit-bare (2024-03-11) 1 commit
 - setup: notice more types of implicit bare repositories

 Users with safe.bareRepository=explicit can still work from within
 $GIT_DIR of a seconary worktree (which resides at .git/worktrees/$name/)
 of the primary worktree without explicitly specifying the $GIT_DIR
 environment variable or the --git-dir=<path> option.

 Will merge to 'next'.
 source: <xmqq5xxv0ywi.fsf_-_@gitster.g>


* pw/checkout-conflict-errorfix (2024-03-08) 4 commits
 - checkout: cleanup --conflict=<style> parsing
 - merge options: add a conflict style member
 - merge-ll: introduce LL_MERGE_OPTIONS_INIT
 - xdiff-interface: refactor parsing of merge.conflictstyle

 "git checkout --conflict=bad" reported a bad conflictStyle as if it
 were given to a configuration variable; it has been corrected to
 report that the command line option is bad.

 Expecting a reroll.
 cf. <1fb1c84a-b6b3-4e3e-896f-5fb93cff57a6@gmail.com>
 source: <pull.1684.git.1709907270.gitgitgadget@gmail.com>


* bl/cherry-pick-empty (2024-03-11) 7 commits
 - cherry-pick: add `--empty` for more robust redundant commit handling
 - cherry-pick: enforce `--keep-redundant-commits` incompatibility
 - sequencer: do not require `allow_empty` for redundant commit options
 - sequencer: treat error reading HEAD as unborn branch
 - rebase: update `--empty=ask` to `--empty=stop`
 - docs: clean up `--empty` formatting in git-rebase(1) and git-am (1)
 - docs: address inaccurate `--empty` default with `--exec`

 source: <20240119060721.3734775-2-brianmlyles@gmail.com>


* ie/config-includeif-hostname (2024-03-10) 1 commit
 - config: learn the "hostname:" includeIf condition

 source: <20240309181828.45496-2-ignacio@iencinas.com>


* ja/doc-markup-fixes (2024-03-11) 6 commits
 - doc: git-clone: format placeholders
 - doc: git-clone: format verbatim words
 - doc: git-init: rework config item init.templateDir
 - doc: git-init: rework definition lists
 - doc: git-init: format placeholders
 - doc: git-init: format verbatim parts

 source: <pull.1687.git.1710097830.gitgitgadget@gmail.com>


* jk/doc-remote-helper-object-format-option (2024-03-10) 2 commits
 - doc/gitremote-helpers: match object-format option docs to code
 - t5801: fix object-format handling in git-remote-testgit

 source: <20240307084735.GA2072130@coredump.intra.peff.net>


* pb/ci-win-artifact-names-fix (2024-03-11) 1 commit
 - ci(github): make Windows test artifacts name unique

 source: <pull.1688.git.1710101097072.gitgitgadget@gmail.com>

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

* ag/t0010-modernize (2024-03-05) 1 commit
  (merged to 'next' on 2024-03-07 at 38339abc2d)
 + tests: modernize the test script t0010-racy-git.sh

 GSoC practice to modernize a test script.

 Will merge to 'master'.
 source: <pull.1675.v3.git.1709676557639.gitgitgadget@gmail.com>


* fs/find-end-of-log-message-fix (2024-03-07) 1 commit
 - wt-status: don't find scissors line beyond buf len

 The code to find the effective end of log message can fall into an
 endless loop, which has been corrected.

 Waiting for review response.
 source: <20240307183743.219951-1-flosch@nutanix.com>


* hd/config-mak-os390 (2024-03-06) 1 commit
  (merged to 'next' on 2024-03-07 at 289d3ab691)
 + build: support z/OS (OS/390).

 Platform specific tweaks for OS/390 has been added to
 config.mak.uname.

 Will merge to 'master'.
 source: <pull.1663.v4.git.git.1709703857881.gitgitgadget@gmail.com>


* jk/core-comment-string (2024-03-07) 15 commits
 - config: allow multi-byte core.commentChar
 - environment: drop comment_line_char compatibility macro
 - wt-status: drop custom comment-char stringification
 - sequencer: handle multi-byte comment characters when writing todo list
 - find multi-byte comment chars in unterminated buffers
 - find multi-byte comment chars in NUL-terminated strings
 - prefer comment_line_str to comment_line_char for printing
 - strbuf: accept a comment string for strbuf_add_commented_lines()
 - strbuf: accept a comment string for strbuf_commented_addf()
 - strbuf: accept a comment string for strbuf_stripspace()
 - environment: store comment_line_char as a string
 - strbuf: avoid shadowing global comment_line_char name
 - commit: refactor base-case of adjust_comment_line_char()
 - strbuf: avoid static variables in strbuf_add_commented_lines()
 - strbuf: simplify comment-handling in add_lines() helper

 core.commentChar used to be limited to a single byte, but has been
 updated to allow an arbitrary multi-byte sequence.

 Will merge to 'next'?
 source: <20240307091407.GA2072522@coredump.intra.peff.net>


* jk/doc-remote-helpers-markup-fix (2024-03-07) 1 commit
  (merged to 'next' on 2024-03-08 at 2cded1c696)
 + doc/gitremote-helpers: fix missing single-quote

 Doc mark-up fix.

 Will merge to 'master'.
 source: <20240307084313.GA2072022@coredump.intra.peff.net>


* js/build-fuzz-more-often (2024-03-05) 3 commits
 - SQUASH???
 - fuzz: link fuzz programs with `make all` on Linux
 - ci: also define CXX environment variable

 In addition to building the objects needed, try to link the objects
 that are used in fuzzer tests, to make sure at least they build
 without bitrot, in Linux CI runs.

 Comments?
 source: <cover.1709673020.git.steadmon@google.com>


* kh/branch-ref-syntax-advice (2024-03-05) 5 commits
  (merged to 'next' on 2024-03-07 at 914f01967b)
 + branch: advise about ref syntax rules
 + advice: use double quotes for regular quoting
 + advice: use backticks for verbatim
 + advice: make all entries stylistically consistent
 + t3200: improve test style

 When git refuses to create a branch because the proposed branch
 name is not a valid refname, an advice message is given to refer
 the user to exact naming rules.

 Will merge to 'master'.
 source: <cover.1709670287.git.code@khaugsbakk.name>


* kh/doc-commentchar-is-a-byte (2024-03-05) 1 commit
  (merged to 'next' on 2024-03-06 at 5941655c04)
 + config: document `core.commentChar` as ASCII-only

 The "core.commentChar" configuration variable only allows an ASCII
 character, which was not clearly documented, which has been
 corrected.

 Will merge to 'master'.
 source: <9633f9be5ddd9ab3df4b79ee934e1ed47e90bd1d.1709656683.git.code@khaugsbakk.name>


* ps/reftable-block-search-fix (2024-03-07) 2 commits
 - reftable/block: fix binary search over restart counter
 - reftable/record: fix memory leak when decoding object records

 The reftable code has its own custom binary search function whose
 comparison callback has an unusual interface, which caused the
 binary search to degenerate into a linear search, which has been
 corrected.

 Will merge to 'next'?
 source: <cover.1709843663.git.ps@pks.im>


* ps/reftable-reflog-iteration-perf (2024-03-05) 8 commits
 - refs/reftable: track last log record name via strbuf
 - reftable/record: use scratch buffer when decoding records
 - reftable/record: reuse message when decoding log records
 - reftable/record: reuse refnames when decoding log records
 - reftable/record: avoid copying author info
 - reftable/record: convert old and new object IDs to arrays
 - refs/reftable: reload correct stack when creating reflog iter
 - Merge branch 'ps/reftable-iteration-perf-part2' into ps/reftable-reflog-iteration-perf
 (this branch uses ps/reftable-iteration-perf-part2.)

 The code to iterate over reflogs in the reftable has been optimized
 to reduce memory allocation and deallocation.

 Reviewed-by: Josh Steadmon <steadmon@google.com>
 cf. <Ze9eX-aaWoVaqsPP@google.com>

 Will merge to 'next'?
 source: <cover.1709640322.git.ps@pks.im>


* sj/userdiff-c-sharp (2024-03-06) 1 commit
 - userdiff: better method/property matching for C#

 The userdiff patterns for C# has been updated.

 Needs review.
 source: <pull.1682.v2.git.git.1709756493673.gitgitgadget@gmail.com>


* jc/xwrite-cleanup (2024-03-02) 3 commits
  (merged to 'next' on 2024-03-07 at 43e66f7e4d)
 + repack: check error writing to pack-objects subprocess
 + sideband: avoid short write(2)
 + unpack: replace xwrite() loop with write_in_full()

 Uses of xwrite() helper have been audited and updated for better
 error checking and simpler code.

 Will merge to 'master'.
 source: <20240302190348.3946569-1-gitster@pobox.com>


* jc/test-i18ngrep (2024-03-02) 1 commit
  (merged to 'next' on 2024-03-06 at 2c57ebc706)
 + test_i18ngrep: hard deprecate and forbid its use

 With release 2.44 we got rid of all uses of test_i18ngrep and there
 is no in-flight topic that adds a new use of it.  Make a call to
 test_i18ngrep a hard failure, so that we can remove it at the end
 of this release cycle.

 Will merge to 'master'.
 source: <xmqq5xy4zhdc.fsf@gitster.g>


* gt/core-bare-in-templates (2024-03-04) 1 commit
  (merged to 'next' on 2024-03-06 at e54ac5acf9)
 + setup: remove unnecessary variable

 Code simplification.

 Will merge to 'master'.
 source: <20240304151811.511780-1-shyamthakkar001@gmail.com>


* so/clean-dry-run-without-force (2024-03-04) 2 commits
  (merged to 'next' on 2024-03-06 at ccf2e123be)
 + clean: further clean-up of implementation around "--force"
 + clean: improve -n and -f implementation and documentation

 The implementation in "git clean" that makes "-n" and "-i" ignore
 clean.requireForce has been simplified, together with the
 documentation.

 Will merge to 'master'.
 source: <87le6ziqzb.fsf_-_@osv.gnss.ru>
 source: <20240303220600.2491792-1-gitster@pobox.com>


* jh/trace2-missing-def-param-fix (2024-03-07) 3 commits
  (merged to 'next' on 2024-03-08 at a797cfea3c)
 + trace2: emit 'def_param' set with 'cmd_name' event
 + trace2: avoid emitting 'def_param' set more than once
 + t0211: demonstrate missing 'def_param' events for certain commands

 Some trace2 events that lacked def_param have learned to show it,
 enriching the output.

 Reviewed-by: Josh Steadmon <steadmon@google.com>
 cf. <ZejkVOVQBZhLVfHW@google.com>

 Will merge to 'master'.
 source: <pull.1679.v2.git.1709824949.gitgitgadget@gmail.com>


* ps/reftable-stack-tempfile (2024-03-07) 4 commits
 - reftable/stack: register compacted tables as tempfiles
 - reftable/stack: register lockfiles during compaction
 - reftable/stack: register new tables as tempfiles
 - lockfile: report when rollback fails

 The code in reftable backend that creates new table files works
 better with the tempfile framework to avoid leaving cruft after a
 failure.

 Will merge to 'next'?
 source: <cover.1709816483.git.ps@pks.im>


* rs/opt-parse-long-fixups (2024-03-03) 6 commits
 - parse-options: rearrange long_name matching code
 - parse-options: normalize arg and long_name before comparison
 - parse-options: detect ambiguous self-negation
 - parse-options: factor out register_abbrev() and struct parsed_option
 - parse-options: set arg of abbreviated option lazily
 - parse-options: recognize abbreviated negated option with arg

 The parse-options code that deals with abbreviated long option
 names have been cleaned up.

 Needs review.
 source: <20240303121944.20627-1-l.s.r@web.de>


* vm/t7301-use-test-path-helpers (2024-03-06) 1 commit
  (merged to 'next' on 2024-03-07 at e638654635)
 + t7301: use test_path_is_(missing|file)

 GSoC practice to replace "test -f" with "test_path_is_file".

 Will merge to 'master'.
 source: <20240304171732.64457-2-vincenzo.mezzela@gmail.com>


* cw/git-std-lib (2024-02-28) 4 commits
 - SQUASH??? get rid of apparent debugging crufts
 - test-stdlib: show that git-std-lib is independent
 - git-std-lib: introduce Git Standard Library
 - pager: include stdint.h because uintmax_t is used

 Split libgit.a out to a separate git-std-lib tor easier reuse.

 Expecting a reroll.
 source: <cover.1696021277.git.jonathantanmy@google.com>


* rj/complete-worktree-paths-fix (2024-02-27) 1 commit
  (merged to 'next' on 2024-03-06 at b6ba949383)
 + completion: fix __git_complete_worktree_paths

 The logic to complete the command line arguments to "git worktree"
 subcommand (in contrib/) has been updated to correctly honor things
 like "git -C dir" etc.

 Will merge to 'master'.
 source: <b8f09e20-d0d3-4e0b-afe2-31affeb61052@gmail.com>


* pw/rebase-i-ignore-cherry-pick-help-environment (2024-02-27) 1 commit
  (merged to 'next' on 2024-03-08 at e806ee9493)
 + rebase -i: stop setting GIT_CHERRY_PICK_HELP

 Code simplification by getting rid of code that sets an environment
 variable that is no longer used.

 Will merge to 'master'.
 source: <pull.1678.git.1709042783847.gitgitgadget@gmail.com>


* as/option-names-in-messages (2024-03-05) 4 commits
  (merged to 'next' on 2024-03-07 at 73ab51faba)
 + revision.c: trivial fix to message
 + builtin/clone.c: trivial fix of message
 + builtin/remote.c: trivial fix of error message
 + transport-helper.c: trivial fix of error message

 Error message updates.

 Will merge to 'master'.
 source: <20240216101647.28837-1-ash@kambanaria.org>


* jh/fsmonitor-icase-corner-case-fix (2024-03-06) 14 commits
  (merged to 'next' on 2024-03-06 at 356eafea7e)
 + fsmonitor: support case-insensitive events
 + fsmonitor: refactor bit invalidation in refresh callback
 + fsmonitor: trace the new invalidated cache-entry count
 + fsmonitor: return invalidated cache-entry count on non-directory event
 + fsmonitor: remove custom loop from non-directory path handler
 + fsmonitor: return invalidated cache-entry count on directory event
 + fsmonitor: move untracked-cache invalidation into helper functions
 + fsmonitor: refactor untracked-cache invalidation
 + dir: create untracked_cache_invalidate_trimmed_path()
 + fsmonitor: refactor refresh callback for non-directory events
 + fsmonitor: clarify handling of directory events in callback helper
 + fsmonitor: refactor refresh callback on directory events
 + t7527: add case-insensitve test for FSMonitor
 + name-hash: add index_dir_find()

 FSMonitor client code was confused when FSEvents were given in a
 different case on a case-insensitive filesystem, which has been
 corrected.

 Acked-by: Patrick Steinhardt <ps@pks.im>
 cf. <ZehofMaSZyUq8S1N@tanuki>

 Will merge to 'master'.
 source: <pull.1662.v3.git.1708983565.gitgitgadget@gmail.com>


* ps/reftable-iteration-perf-part2 (2024-03-04) 13 commits
  (merged to 'next' on 2024-03-06 at e8ba314585)
 + refs/reftable: precompute prefix length
 + reftable: allow inlining of a few functions
 + reftable/record: decode keys in place
 + reftable/record: reuse refname when copying
 + reftable/record: reuse refname when decoding
 + reftable/merged: avoid duplicate pqueue emptiness check
 + reftable/merged: circumvent pqueue with single subiter
 + reftable/merged: handle subiter cleanup on close only
 + reftable/merged: remove unnecessary null check for subiters
 + reftable/merged: make subiters own their records
 + reftable/merged: advance subiter on subsequent iteration
 + reftable/merged: make `merged_iter` structure private
 + reftable/pq: use `size_t` to track iterator index
 (this branch is used by ps/reftable-reflog-iteration-perf.)

 The code to iterate over refs with the reftable backend has seen
 some optimization.

 Will merge to 'master'.
 source: <cover.1709548907.git.ps@pks.im>


* js/cmake-with-test-tool (2024-02-23) 2 commits
 - cmake: let `test-tool` run the unit tests, too
 - Merge branch 'js/unit-test-suite-runner' into js/cmake-with-test-tool
 (this branch uses js/unit-test-suite-runner.)

 "test-tool" is now built in CMake build to also run the unit tests.

 May want to roll it into the base topic.
 source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>


* js/unit-test-suite-runner (2024-02-23) 8 commits
 - ci: use test-tool as unit test runner on Windows
 - t/Makefile: run unit tests alongside shell tests
 - unit tests: add rule for running with test-tool
 - test-tool run-command testsuite: support unit tests
 - test-tool run-command testsuite: remove hardcoded filter
 - test-tool run-command testsuite: get shell from env
 - t0080: turn t-basic unit test into a helper
 - Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner
 (this branch is used by js/cmake-with-test-tool.)

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.

 Needs review.
 source: <cover.1708728717.git.steadmon@google.com>


* rj/complete-reflog (2024-03-03) 5 commits
  (merged to 'next' on 2024-03-06 at 0f1a25debc)
 + completion: reflog subcommands and options
 + completion: factor out __git_resolve_builtins
 + completion: introduce __git_find_subcommand
 + completion: reflog show <log-options>
 + completion: reflog with implicit "show"

 The command line completion script (in contrib/) learned to
 complete "git reflog" better.

 Will merge to 'master'.
 source: <ea6c8890-9ff3-46c9-b933-6a52083b1001@gmail.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 cf. <6683f24e-7e56-489d-be2d-8afe1fc38d2b@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Expecting a reroll.
 cf. <CAC4O8c88Z3ZqxH2VVaNPpEGB3moL5dJcg3cOWuLWwQ_hLrJMtA@mail.gmail.com>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* la/trailer-api (2024-03-01) 9 commits
  (merged to 'next' on 2024-03-06 at f119923ff6)
 + format_trailers_from_commit(): indirectly call trailer_info_get()
 + format_trailer_info(): move "fast path" to caller
 + format_trailers(): use strbuf instead of FILE
 + trailer_info_get(): reorder parameters
 + trailer: move interpret_trailers() to interpret-trailers.c
 + trailer: reorder format_trailers_from_commit() parameters
 + trailer: rename functions to use 'trailer'
 + shortlog: add test for de-duplicating folded trailers
 + trailer: free trailer_info _after_ all related usage

 Trailer API updates.

 Acked-by: Christian Couder <christian.couder@gmail.com>
 cf. <CAP8UFD1Zd+9q0z1JmfOf60S2vn5-sD3SafDvAJUzRFwHJKcb8A@mail.gmail.com>

 Will merge to 'master'.
 source: <pull.1632.v6.git.1709252086.gitgitgadget@gmail.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* eb/hash-transition (2023-10-02) 30 commits
  (merged to 'next' on 2024-03-11 at 9cff2e4ab7)
 + t1016-compatObjectFormat: add tests to verify the conversion between objects
 + t1006: test oid compatibility with cat-file
 + t1006: rename sha1 to oid
 + test-lib: compute the compatibility hash so tests may use it
 + builtin/ls-tree: let the oid determine the output algorithm
 + object-file: handle compat objects in check_object_signature
 + tree-walk: init_tree_desc take an oid to get the hash algorithm
 + builtin/cat-file: let the oid determine the output algorithm
 + rev-parse: add an --output-object-format parameter
 + repository: implement extensions.compatObjectFormat
 + object-file: update object_info_extended to reencode objects
 + object-file-convert: convert commits that embed signed tags
 + object-file-convert: convert commit objects when writing
 + object-file-convert: don't leak when converting tag objects
 + object-file-convert: convert tag objects when writing
 + object-file-convert: add a function to convert trees between algorithms
 + object: factor out parse_mode out of fast-import and tree-walk into in object.h
 + cache: add a function to read an OID of a specific algorithm
 + tag: sign both hashes
 + commit: export add_header_signature to support handling signatures on tags
 + commit: convert mergetag before computing the signature of a commit
 + commit: write commits for both hashes
 + object-file: add a compat_oid_in parameter to write_object_file_flags
 + object-file: update the loose object map when writing loose objects
 + loose: compatibilty short name support
 + loose: add a mapping between SHA-1 and SHA-256 for loose objects
 + repository: add a compatibility hash algorithm
 + object-names: support input of oids in any supported hash
 + oid-array: teach oid-array to handle multiple kinds of oids
 + object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Will cook in 'next'.
 cf. <xmqqv86z5359.fsf@gitster.g>
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 24%]

* Re: What's cooking in git.git (Mar 2024, #02; Thu, 7)
  @ 2024-03-08 15:42 96%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-03-08 15:42 UTC (permalink / raw)
  To: Phillip Wood; +Cc: git

Phillip Wood <phillip.wood123@gmail.com> writes:

> On 08/03/2024 02:26, Junio C Hamano wrote:
>> * rs/t-ctype-simplify (2024-03-03) 4 commits
>>    (merged to 'next' on 2024-03-04 at 9bd84a8877)
>>   + t-ctype: avoid duplicating class names
>>   + t-ctype: align output of i
>>   + t-ctype: simplify EOF check
>>   + t-ctype: allow NUL anywhere in the specification string
>>   Code simplification to one unit-test program.
>>   Will merge to 'master'.
>>   source: <20240303101330.20187-1-l.s.r@web.de>
>
> I have some concerns about the last patch of this series
> c.f. <0947cb09-8b07-4fcd-bbe2-ae37c2cd5ec7@gmail.com> It might be too
> late for this series but using the internal implementation functions
> rather than TEST() is not a pattern that I would want us to encourage.

I actually think it is merely showing the lack of necessary features
in TEST() and other public macros/functions of the relatively new
low level test framework.  If a user of the framework needs to use
the "internal implementation functions", that gives an incentive to
those who are pushing for the test framework to polish and update it,
so that such a framework client does not have to go deep into the
implementation details.  When they come up with an improved framework,
they naturally have the first target to adjust to the framework to
demonstrate that they made the world a better place ;-)

And I think such an update can come after the dust settles in this
case.  It is just a single simple test that is isolated and nobody
other than the unit-test folks should care about, as the subject of
test has not seen any change for a long time.


^ permalink raw reply	[relevance 96%]

* Re: What's cooking in git.git (Mar 2024, #02; Thu, 7)
  @ 2024-03-08 15:37 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-03-08 15:37 UTC (permalink / raw)
  To: Christian Couder; +Cc: git

Christian Couder <christian.couder@gmail.com> writes:

> (Sorry for sending this first privately to Junio by mistake.)
>
> On Fri, Mar 8, 2024 at 3:27 AM Junio C Hamano <gitster@pobox.com> wrote:
>
>> * cc/rev-list-allow-missing-tips (2024-02-28) 5 commits
>>   (merged to 'next' on 2024-03-01 at fd7b109d04)
>>  + revision: fix --missing=[print|allow*] for annotated tags
>>   (merged to 'next' on 2024-03-01 at ac0fc94378)
>>  + rev-list: allow missing tips with --missing=[print|allow*]
>>  + t6022: fix 'test' style and 'even though' typo
>>  + oidset: refactor oidset_insert_from_set()
>>  + revision: clarify a 'return NULL' in get_reference()
>>
>>  Originally merged to 'next' on 2024-02-28
>>
>>  "git rev-list --missing=print" has learned to optionally take
>>  "--allow-missing-tips", which allows the objects at the starting
>>  points to be missing.
>
> The description might want to be updated as no new
> "--allow-missing-tips" option is introduced anymore. Maybe something
> like this instead:
>
> "git rev-list --missing=[print|allow*]" has learned to not die when
> some tips passed to it as command line arguments are missing. Instead
> those tips are just reported among the missing objects and ignored for
> traversal.

Thanks for a comment; better late than never.  We'd probably need to
update the release notes, as this is gone from the list of cooking
topics already.


^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Mar 2024, #02; Thu, 7)
@ 2024-03-08  2:26 19% Junio C Hamano
      0 siblings, 2 replies; 200+ results
From: Junio C Hamano @ 2024-03-08  2:26 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

The 'maint' branch now points at the 2.44 maintenance track.

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']

* ak/rebase-autosquash (2024-02-27) 1 commit
  (merged to 'next' on 2024-03-01 at 57a34830b7)
 + rebase: fix typo in autosquash documentation

 Originally merged to 'next' on 2024-02-27

 Typofix.
 source: <pull.1676.git.1709015578890.gitgitgadget@gmail.com>


* cc/rev-list-allow-missing-tips (2024-02-28) 5 commits
  (merged to 'next' on 2024-03-01 at fd7b109d04)
 + revision: fix --missing=[print|allow*] for annotated tags
  (merged to 'next' on 2024-03-01 at ac0fc94378)
 + rev-list: allow missing tips with --missing=[print|allow*]
 + t6022: fix 'test' style and 'even though' typo
 + oidset: refactor oidset_insert_from_set()
 + revision: clarify a 'return NULL' in get_reference()

 Originally merged to 'next' on 2024-02-28

 "git rev-list --missing=print" has learned to optionally take
 "--allow-missing-tips", which allows the objects at the starting
 points to be missing.
 source: <20240214142513.4002639-1-christian.couder@gmail.com>


* eg/add-uflags (2024-02-29) 1 commit
  (merged to 'next' on 2024-03-01 at 5dbc997561)
 + add: use unsigned type for collection of bits

 Originally merged to 'next' on 2024-02-29

 Code clean-up practice.
 source: <20240229194444.8499-2-giganteeugenio2@gmail.com>


* jc/doc-compat-util (2024-02-27) 1 commit
  (merged to 'next' on 2024-03-01 at 89b76c65d7)
 + doc: clarify the wording on <git-compat-util.h> requirement

 Originally merged to 'next' on 2024-02-27

 Clarify wording in the CodingGuidelines that requires <git-compat-util.h>
 to be the first header file.
 source: <xmqqle76kdpr.fsf_-_@gitster.g>


* jc/no-include-of-compat-util-from-headers (2024-02-24) 1 commit
  (merged to 'next' on 2024-03-01 at ebb921087e)
 + compat: drop inclusion of <git-compat-util.h>

 Originally merged to 'next' on 2024-02-26

 Header file clean-up.
 source: <xmqqwmqtli18.fsf@gitster.g>


* jc/no-lazy-fetch (2024-02-27) 3 commits
  (merged to 'next' on 2024-03-01 at 14303cdbfe)
 + git: extend --no-lazy-fetch to work across subprocesses
 + git: document GIT_NO_REPLACE_OBJECTS environment variable
 + git: --no-lazy-fetch option

 Originally merged to 'next' on 2024-02-29

 "git --no-lazy-fetch cmd" allows to run "cmd" while disabling lazy
 fetching of objects from the promisor remote, which may be handy
 for debugging.
 source: <xmqq1q8xx38i.fsf@gitster.g>
 source: <xmqq1q9cl3xv.fsf@gitster.g>
 source: <xmqq1q9mmtpw.fsf@gitster.g>


* jk/reflog-special-cases-fix (2024-02-26) 3 commits
  (merged to 'next' on 2024-03-01 at 2b67f6e668)
 + read_ref_at(): special-case ref@{0} for an empty reflog
 + get_oid_basic(): special-case ref@{n} for oldest reflog entry
 + Revert "refs: allow @{n} to work with n-sized reflog"

 Originally merged to 'next' on 2024-02-27

 The logic to access reflog entries by date and number had ugly
 corner cases at the boundaries, which have been cleaned up.
 source: <20240226100010.GA1214708@coredump.intra.peff.net>


* jk/textconv-cache-outside-repo-fix (2024-02-26) 1 commit
  (merged to 'next' on 2024-03-01 at 8508b83758)
 + userdiff: skip textconv caching when not in a repository

 Originally merged to 'next' on 2024-02-26

 The code incorrectly attempted to use textconv cache when asked,
 even when we are not running in a repository, which has been
 corrected.
 source: <20240226102729.GB2685773@coredump.intra.peff.net>


* jk/upload-pack-bounded-resources (2024-02-28) 9 commits
  (merged to 'next' on 2024-03-01 at b70b6f0913)
 + upload-pack: free tree buffers after parsing
 + upload-pack: use PARSE_OBJECT_SKIP_HASH_CHECK in more places
 + upload-pack: always turn off save_commit_buffer
 + upload-pack: disallow object-info capability by default
 + upload-pack: accept only a single packfile-uri line
 + upload-pack: use a strmap for want-ref lines
 + upload-pack: use oidset for deepen_not list
 + upload-pack: switch deepen-not list to an oid_array
 + upload-pack: drop separate v2 "haves" array

 Originally merged to 'next' on 2024-02-29

 Various parts of upload-pack has been updated to bound the resource
 consumption relative to the size of the repository to protect from
 abusive clients.
 source: <20240228223700.GA1157826@coredump.intra.peff.net>


* jk/upload-pack-v2-capability-cleanup (2024-02-29) 4 commits
  (merged to 'next' on 2024-03-01 at 2750893db7)
 + upload-pack: only accept packfile-uris if we advertised it
 + upload-pack: use existing config mechanism for advertisement
 + upload-pack: centralize setup of sideband-all config
 + upload-pack: use repository struct to get config

 Originally merged to 'next' on 2024-02-29

 The upload-pack program, when talking over v2, accepted the
 packfile-uris protocol extension from the client, even if it did
 not advertise the capability, which has been corrected.
 source: <20240228224625.GA1158651@coredump.intra.peff.net>


* js/merge-tree-3-trees (2024-02-23) 7 commits
  (merged to 'next' on 2024-03-01 at a75dc95f04)
 + fill_tree_descriptor(): mark error message for translation
 + cache-tree: avoid an unnecessary check
 + Always check `parse_tree*()`'s return value
 + t4301: verify that merge-tree fails on missing blob objects
 + merge-ort: do check `parse_tree()`'s return value
 + merge-tree: fail with a non-zero exit code on missing tree objects
 + merge-tree: accept 3 trees as arguments

 Originally merged to 'next' on 2024-02-28

 "git merge-tree" has learned that the three trees involved in the
 3-way merge only need to be trees, not necessarily commits.
 source: <pull.1647.git.1706277694231.gitgitgadget@gmail.com>
 source: <pull.1651.v4.git.1708677266.gitgitgadget@gmail.com>


* js/remove-cruft-files (2024-02-26) 1 commit
  (merged to 'next' on 2024-03-01 at 63100a274b)
 + neue: remove a bogus empty file

 Originally merged to 'next' on 2024-02-26

 Remove an empty file that shouldn't have been added in the first
 place.
 source: <pull.1674.git.1708958183225.gitgitgadget@gmail.com>


* jt/commit-redundant-scissors-fix (2024-02-27) 2 commits
  (merged to 'next' on 2024-03-01 at e5983498f1)
 + commit: unify logic to avoid multiple scissors lines when merging
 + commit: avoid redundant scissor line with --cleanup=scissors -v

 Originally merged to 'next' on 2024-02-29

 "git commit -v --cleanup=scissors" used to add the scissors line
 twice in the log message buffer, which has been corrected.
 source: <Zd2eLxPelxvP8FDk@localhost>


* kn/for-all-refs (2024-02-23) 6 commits
  (merged to 'next' on 2024-03-01 at 76a1297ace)
 + for-each-ref: add new option to include root refs
 + ref-filter: rename 'FILTER_REFS_ALL' to 'FILTER_REFS_REGULAR'
 + refs: introduce `refs_for_each_include_root_refs()`
 + refs: extract out `loose_fill_ref_dir_regular_file()`
 + refs: introduce `is_pseudoref()` and `is_headref()`
 + Merge branch 'ps/reftable-backend' into kn/for-all-refs

 Originally merged to 'next' on 2024-02-27

 "git for-each-ref" learned "--include-root-refs" option to show
 even the stuff outside the 'refs/' hierarchy.
 source: <20240223100112.44127-1-karthik.188@gmail.com>


* ml/log-merge-with-cherry-pick-and-other-pseudo-heads (2024-02-28) 2 commits
  (merged to 'next' on 2024-03-01 at 339111ec08)
 + revision: implement `git log --merge` also for rebase/cherry-pick/revert
 + revision: ensure MERGE_HEAD is a ref in prepare_show_merge

 Originally merged to 'next' on 2024-02-29

 "git log --merge" learned to pay attention to CHERRY_PICK_HEAD and
 other kinds of *_HEAD pseudorefs.
 source: <20240228-ml-log-merge-with-cherry-pick-and-other-pseudo-heads-v6-0-8ec34c052b39@gmail.com>


* pb/ort-make-submodule-conflict-message-an-advice (2024-02-26) 1 commit
  (merged to 'next' on 2024-03-01 at df880cde2e)
 + merge-ort: turn submodule conflict suggestions into an advice

 Originally merged to 'next' on 2024-02-27

 When a merge conflicted at a submodule, merge-ort backend used to
 unconditionally give a lengthy message to suggest how to resolve
 it.  Now the message can be squelched as an advice message.
 source: <pull.1661.v2.git.git.1708954048301.gitgitgadget@gmail.com>


* ps/reftable-repo-init-fix (2024-02-27) 2 commits
  (merged to 'next' on 2024-03-01 at abbf85051b)
 + refs/reftable: don't fail empty transactions in repo without HEAD
 + Merge branch 'ps/remote-helper-repo-initialization-fix' into ps/reftable-repo-init-fix
 (this branch uses ps/remote-helper-repo-initialization-fix.)

 Originally merged to 'next' on 2024-02-29

 Clear the fallout from a fix for 2.44 regression.
 source: <95be968e10bd02c64448786e690bbefe5c082577.1709041721.git.ps@pks.im>


* ps/remote-helper-repo-initialization-fix (2024-02-27) 1 commit
  (merged to 'next' on 2024-03-01 at 7b79ffbd8f)
 + builtin/clone: allow remote helpers to detect repo
 (this branch is used by ps/reftable-repo-init-fix.)

 Originally merged to 'next' on 2024-02-29

 A custom remote helper no longer cannot access the newly created
 repository during "git clone", which is a regression in Git 2.44.
 This has been corrected.
 source: <9d888adf92e9a8af7c18847219f97d3e595e3e36.1709041721.git.ps@pks.im>


* rs/fetch-simplify-with-starts-with (2024-02-26) 1 commit
  (merged to 'next' on 2024-03-01 at 000e015fff)
 + fetch: convert strncmp() with strlen() to starts_with()

 Originally merged to 'next' on 2024-02-27

 Code simplification.
 source: <cb94b938-03f9-4dd3-84c1-f5244ca81be3@web.de>


* rs/name-rev-with-mempool (2024-02-26) 2 commits
  (merged to 'next' on 2024-03-01 at d53eac1836)
 + name-rev: use mem_pool_strfmt()
 + mem-pool: add mem_pool_strfmt()

 Originally merged to 'next' on 2024-02-27

 Many small allocations "git name-rev" makes have been updated to
 allocate from a mem-pool.
 source: <20240225113947.89357-1-l.s.r@web.de>


* rs/submodule-prefix-simplify (2024-02-26) 1 commit
  (merged to 'next' on 2024-03-01 at 05d4d90201)
 + submodule: use strvec_pushf() for --submodule-prefix

 Originally merged to 'next' on 2024-02-27

 Code simplification.
 source: <8cd983fb-32b9-41c6-a9e7-a485b190488c@web.de>


* sg/upload-pack-error-message-fix (2024-02-26) 1 commit
  (merged to 'next' on 2024-03-01 at b94664a7a0)
 + upload-pack: don't send null character in abort message to the client

 Originally merged to 'next' on 2024-02-27

 An error message from "git upload-pack", which responds to "git
 fetch" requests, had a trialing NUL in it, which has been
 corrected.
 source: <20240225183452.1939334-1-szeder.dev@gmail.com>

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

* ag/t0010-modernize (2024-03-05) 1 commit
  (merged to 'next' on 2024-03-07 at 38339abc2d)
 + tests: modernize the test script t0010-racy-git.sh

 GSoC practice to modernize a test script.

 Will merge to 'master'.
 source: <pull.1675.v3.git.1709676557639.gitgitgadget@gmail.com>


* fs/find-end-of-log-message-fix (2024-03-07) 1 commit
 - wt-status: don't find scissors line beyond buf len

 The code to find the effective end of log message can fall into an
 endless loop, which has been corrected.

 Waiting for review response.
 source: <20240307183743.219951-1-flosch@nutanix.com>


* hd/config-mak-os390 (2024-03-06) 1 commit
  (merged to 'next' on 2024-03-07 at 289d3ab691)
 + build: support z/OS (OS/390).

 Platform specific tweaks for OS/390 has been added to
 config.mak.uname.

 Will merge to 'master'.
 source: <pull.1663.v4.git.git.1709703857881.gitgitgadget@gmail.com>


* jk/core-comment-string (2024-03-07) 15 commits
 - config: allow multi-byte core.commentChar
 - environment: drop comment_line_char compatibility macro
 - wt-status: drop custom comment-char stringification
 - sequencer: handle multi-byte comment characters when writing todo list
 - find multi-byte comment chars in unterminated buffers
 - find multi-byte comment chars in NUL-terminated strings
 - prefer comment_line_str to comment_line_char for printing
 - strbuf: accept a comment string for strbuf_add_commented_lines()
 - strbuf: accept a comment string for strbuf_commented_addf()
 - strbuf: accept a comment string for strbuf_stripspace()
 - environment: store comment_line_char as a string
 - strbuf: avoid shadowing global comment_line_char name
 - commit: refactor base-case of adjust_comment_line_char()
 - strbuf: avoid static variables in strbuf_add_commented_lines()
 - strbuf: simplify comment-handling in add_lines() helper

 core.commentChar used to be limited to a single byte, but has been
 updated to allow an arbitrary multi-byte sequence.

 Will merge to 'next'?
 source: <20240307091407.GA2072522@coredump.intra.peff.net>


* jk/doc-remote-helpers-markup-fix (2024-03-07) 1 commit
 - doc/gitremote-helpers: fix missing single-quote

 Doc mark-up fix.

 Will merge to 'next'.
 source: <20240307084313.GA2072022@coredump.intra.peff.net>


* js/build-fuzz-more-often (2024-03-05) 3 commits
 - SQUASH???
 - fuzz: link fuzz programs with `make all` on Linux
 - ci: also define CXX environment variable

 In addition to building the objects needed, try to link the objects
 that are used in fuzzer tests, to make sure at least they build
 without bitrot, in Linux CI runs.

 Comments?
 source: <cover.1709673020.git.steadmon@google.com>


* kh/branch-ref-syntax-advice (2024-03-05) 5 commits
  (merged to 'next' on 2024-03-07 at 914f01967b)
 + branch: advise about ref syntax rules
 + advice: use double quotes for regular quoting
 + advice: use backticks for verbatim
 + advice: make all entries stylistically consistent
 + t3200: improve test style

 When git refuses to create a branch because the proposed branch
 name is not a valid refname, an advice message is given to refer
 the user to exact naming rules.

 Will merge to 'master'.
 source: <cover.1709670287.git.code@khaugsbakk.name>


* kh/doc-commentchar-is-a-byte (2024-03-05) 1 commit
  (merged to 'next' on 2024-03-06 at 5941655c04)
 + config: document `core.commentChar` as ASCII-only

 The "core.commentChar" configuration variable only allows an ASCII
 character, which was not clearly documented, which has been
 corrected.

 Will merge to 'master'.
 source: <9633f9be5ddd9ab3df4b79ee934e1ed47e90bd1d.1709656683.git.code@khaugsbakk.name>


* ps/reftable-block-search-fix (2024-03-07) 2 commits
 - reftable/block: fix binary search over restart counter
 - reftable/record: fix memory leak when decoding object records

 The reftable code has its own custom binary search function whose
 comparison callback has an unusual interface, which caused the
 binary search to degenerate into a linear search, which has been
 corrected.

 Will merge to 'next'?
 source: <cover.1709843663.git.ps@pks.im>


* ps/reftable-reflog-iteration-perf (2024-03-05) 8 commits
 - refs/reftable: track last log record name via strbuf
 - reftable/record: use scratch buffer when decoding records
 - reftable/record: reuse message when decoding log records
 - reftable/record: reuse refnames when decoding log records
 - reftable/record: avoid copying author info
 - reftable/record: convert old and new object IDs to arrays
 - refs/reftable: reload correct stack when creating reflog iter
 - Merge branch 'ps/reftable-iteration-perf-part2' into ps/reftable-reflog-iteration-perf
 (this branch uses ps/reftable-iteration-perf-part2.)

 The code to iterate over reflogs in the reftable has been optimized
 to reduce memory allocation and deallocation.

 Needs review.
 source: <cover.1709640322.git.ps@pks.im>


* sj/userdiff-c-sharp (2024-03-06) 1 commit
 - userdiff: better method/property matching for C#

 The userdiff patterns for C# has been updated.

 Needs review.
 source: <pull.1682.v2.git.git.1709756493673.gitgitgadget@gmail.com>

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

* es/config-doc-sort-sections (2024-02-29) 1 commit
  (merged to 'next' on 2024-03-04 at 0752144ed7)
 + docs: sort configuration variable groupings alphabetically

 Doc updates.

 Will merge to 'master'.
 source: <20240229190229.20222-1-ericsunshine@charter.net>


* kh/doc-dashed-commands-have-not-worked-for-a-long-time (2024-03-01) 1 commit
  (merged to 'next' on 2024-03-04 at 7e070c67f9)
 + gitcli: drop mention of “non-dashed form”

 Doc update.

 Will merge to 'master'.
 source: <5b34bc4e22816f7f19bd26c15a08fe4c749b72f8.1709316230.git.code@khaugsbakk.name>


* jc/xwrite-cleanup (2024-03-02) 3 commits
  (merged to 'next' on 2024-03-07 at 43e66f7e4d)
 + repack: check error writing to pack-objects subprocess
 + sideband: avoid short write(2)
 + unpack: replace xwrite() loop with write_in_full()

 Uses of xwrite() helper have been audited and updated for better
 error checking and simpler code.

 Will merge to 'master'.
 source: <20240302190348.3946569-1-gitster@pobox.com>


* jc/test-i18ngrep (2024-03-02) 1 commit
  (merged to 'next' on 2024-03-06 at 2c57ebc706)
 + test_i18ngrep: hard deprecate and forbid its use

 With release 2.44 we got rid of all uses of test_i18ngrep and there
 is no in-flight topic that adds a new use of it.  Make a call to
 test_i18ngrep a hard failure, so that we can remove it at the end
 of this release cycle.

 Will merge to 'master'.
 source: <xmqq5xy4zhdc.fsf@gitster.g>


* gt/core-bare-in-templates (2024-03-04) 1 commit
  (merged to 'next' on 2024-03-06 at e54ac5acf9)
 + setup: remove unnecessary variable

 Code simplification.

 Will merge to 'master'.
 source: <20240304151811.511780-1-shyamthakkar001@gmail.com>


* so/clean-dry-run-without-force (2024-03-04) 2 commits
  (merged to 'next' on 2024-03-06 at ccf2e123be)
 + clean: further clean-up of implementation around "--force"
 + clean: improve -n and -f implementation and documentation

 The implementation in "git clean" that makes "-n" and "-i" ignore
 clean.requireForce has been simplified, together with the
 documentation.

 Will merge to 'master'.
 source: <87le6ziqzb.fsf_-_@osv.gnss.ru>
 source: <20240303220600.2491792-1-gitster@pobox.com>


* jh/trace2-missing-def-param-fix (2024-03-07) 3 commits
 - trace2: emit 'def_param' set with 'cmd_name' event
 - trace2: avoid emitting 'def_param' set more than once
 - t0211: demonstrate missing 'def_param' events for certain commands

 Some trace2 events that lacked def_param have learned to show it,
 enriching the output.

 Reviewed-by: Josh Steadmon <steadmon@google.com>
 cf. <ZejkVOVQBZhLVfHW@google.com>

 Will merge to 'next'.
 source: <pull.1679.v2.git.1709824949.gitgitgadget@gmail.com>


* ps/reftable-stack-tempfile (2024-03-07) 4 commits
 - reftable/stack: register compacted tables as tempfiles
 - reftable/stack: register lockfiles during compaction
 - reftable/stack: register new tables as tempfiles
 - lockfile: report when rollback fails

 The code in reftable backend that creates new table files works
 better with the tempfile framework to avoid leaving cruft after a
 failure.

 Will merge to 'next'?
 source: <cover.1709816483.git.ps@pks.im>


* rs/opt-parse-long-fixups (2024-03-03) 6 commits
 - parse-options: rearrange long_name matching code
 - parse-options: normalize arg and long_name before comparison
 - parse-options: detect ambiguous self-negation
 - parse-options: factor out register_abbrev() and struct parsed_option
 - parse-options: set arg of abbreviated option lazily
 - parse-options: recognize abbreviated negated option with arg

 The parse-options code that deals with abbreviated long option
 names have been cleaned up.

 Needs review.
 source: <20240303121944.20627-1-l.s.r@web.de>


* sj/t9117-path-is-file (2024-03-04) 1 commit
  (merged to 'next' on 2024-03-04 at de5f6a74cb)
 + t9117: prefer test_path_* helper functions

 GSoC practice to replace "test -f" with "test_path_is_file".

 Will merge to 'master'.
 source: <20240304095436.56399-2-shejialuo@gmail.com>


* vm/t7301-use-test-path-helpers (2024-03-06) 1 commit
  (merged to 'next' on 2024-03-07 at e638654635)
 + t7301: use test_path_is_(missing|file)

 GSoC practice to replace "test -f" with "test_path_is_file".

 Will merge to 'master'.
 source: <20240304171732.64457-2-vincenzo.mezzela@gmail.com>


* cw/git-std-lib (2024-02-28) 4 commits
 . SQUASH??? get rid of apparent debugging crufts
 . test-stdlib: show that git-std-lib is independent
 . git-std-lib: introduce Git Standard Library
 . pager: include stdint.h because uintmax_t is used

 Split libgit.a out to a separate git-std-lib tor easier reuse.

 Expecting a reroll.
 source: <cover.1696021277.git.jonathantanmy@google.com>


* js/merge-base-with-missing-commit (2024-02-29) 11 commits
  (merged to 'next' on 2024-03-01 at 3e3eabaee9)
 + commit-reach(repo_get_merge_bases_many_dirty): pass on errors
 + commit-reach(repo_get_merge_bases_many): pass on "missing commits" errors
 + commit-reach(get_octopus_merge_bases): pass on "missing commits" errors
 + commit-reach(repo_get_merge_bases): pass on "missing commits" errors
 + commit-reach(get_merge_bases_many_0): pass on "missing commits" errors
 + commit-reach(merge_bases_many): pass on "missing commits" errors
 + commit-reach(paint_down_to_common): start reporting errors
 + commit-reach(paint_down_to_common): prepare for handling shallow commits
 + commit-reach(repo_in_merge_bases_many): report missing commits
 + commit-reach(repo_in_merge_bases_many): optionally expect missing commits
 + commit-reach(paint_down_to_common): plug two memory leaks

 Originally merged to 'next' on 2024-02-29

 Make sure failure return from merge_bases_many() is properly caught.

 Needs an incremental fix-up.
 cf.<20240301065805.GB2680308@coredump.intra.peff.net>
 source: <pull.1657.v4.git.1709113457.gitgitgadget@gmail.com>


* rj/complete-worktree-paths-fix (2024-02-27) 1 commit
  (merged to 'next' on 2024-03-06 at b6ba949383)
 + completion: fix __git_complete_worktree_paths

 The logic to complete the command line arguments to "git worktree"
 subcommand (in contrib/) has been updated to correctly honor things
 like "git -C dir" etc.

 Will merge to 'master'.
 source: <b8f09e20-d0d3-4e0b-afe2-31affeb61052@gmail.com>


* rs/t-ctype-simplify (2024-03-03) 4 commits
  (merged to 'next' on 2024-03-04 at 9bd84a8877)
 + t-ctype: avoid duplicating class names
 + t-ctype: align output of i
 + t-ctype: simplify EOF check
 + t-ctype: allow NUL anywhere in the specification string

 Code simplification to one unit-test program.

 Will merge to 'master'.
 source: <20240303101330.20187-1-l.s.r@web.de>


* pw/rebase-i-ignore-cherry-pick-help-environment (2024-02-27) 1 commit
 - rebase -i: stop setting GIT_CHERRY_PICK_HELP

 Code simplification by getting rid of code that sets an environment
 variable that is no longer used.

 Will merge to 'next'.
 source: <pull.1678.git.1709042783847.gitgitgadget@gmail.com>


* as/option-names-in-messages (2024-03-05) 4 commits
  (merged to 'next' on 2024-03-07 at 73ab51faba)
 + revision.c: trivial fix to message
 + builtin/clone.c: trivial fix of message
 + builtin/remote.c: trivial fix of error message
 + transport-helper.c: trivial fix of error message

 Error message updates.

 Will merge to 'master'.
 source: <20240216101647.28837-1-ash@kambanaria.org>


* jh/fsmonitor-icase-corner-case-fix (2024-03-06) 14 commits
  (merged to 'next' on 2024-03-06 at 356eafea7e)
 + fsmonitor: support case-insensitive events
 + fsmonitor: refactor bit invalidation in refresh callback
 + fsmonitor: trace the new invalidated cache-entry count
 + fsmonitor: return invalidated cache-entry count on non-directory event
 + fsmonitor: remove custom loop from non-directory path handler
 + fsmonitor: return invalidated cache-entry count on directory event
 + fsmonitor: move untracked-cache invalidation into helper functions
 + fsmonitor: refactor untracked-cache invalidation
 + dir: create untracked_cache_invalidate_trimmed_path()
 + fsmonitor: refactor refresh callback for non-directory events
 + fsmonitor: clarify handling of directory events in callback helper
 + fsmonitor: refactor refresh callback on directory events
 + t7527: add case-insensitve test for FSMonitor
 + name-hash: add index_dir_find()

 FSMonitor client code was confused when FSEvents were given in a
 different case on a case-insensitive filesystem, which has been
 corrected.

 Acked-by: Patrick Steinhardt <ps@pks.im>
 cf. <ZehofMaSZyUq8S1N@tanuki>

 Will merge to 'master'.
 source: <pull.1662.v3.git.1708983565.gitgitgadget@gmail.com>


* ps/reftable-iteration-perf-part2 (2024-03-04) 13 commits
  (merged to 'next' on 2024-03-06 at e8ba314585)
 + refs/reftable: precompute prefix length
 + reftable: allow inlining of a few functions
 + reftable/record: decode keys in place
 + reftable/record: reuse refname when copying
 + reftable/record: reuse refname when decoding
 + reftable/merged: avoid duplicate pqueue emptiness check
 + reftable/merged: circumvent pqueue with single subiter
 + reftable/merged: handle subiter cleanup on close only
 + reftable/merged: remove unnecessary null check for subiters
 + reftable/merged: make subiters own their records
 + reftable/merged: advance subiter on subsequent iteration
 + reftable/merged: make `merged_iter` structure private
 + reftable/pq: use `size_t` to track iterator index
 (this branch is used by ps/reftable-reflog-iteration-perf.)

 The code to iterate over refs with the reftable backend has seen
 some optimization.

 Will merge to 'master'.
 source: <cover.1709548907.git.ps@pks.im>


* js/cmake-with-test-tool (2024-02-23) 2 commits
 - cmake: let `test-tool` run the unit tests, too
 - Merge branch 'js/unit-test-suite-runner' into js/cmake-with-test-tool
 (this branch uses js/unit-test-suite-runner.)

 "test-tool" is now built in CMake build to also run the unit tests.

 May want to roll it into the base topic.
 source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>


* js/unit-test-suite-runner (2024-02-23) 8 commits
 - ci: use test-tool as unit test runner on Windows
 - t/Makefile: run unit tests alongside shell tests
 - unit tests: add rule for running with test-tool
 - test-tool run-command testsuite: support unit tests
 - test-tool run-command testsuite: remove hardcoded filter
 - test-tool run-command testsuite: get shell from env
 - t0080: turn t-basic unit test into a helper
 - Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner
 (this branch is used by js/cmake-with-test-tool.)

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.

 Needs review.
 source: <cover.1708728717.git.steadmon@google.com>


* rj/complete-reflog (2024-03-03) 5 commits
  (merged to 'next' on 2024-03-06 at 0f1a25debc)
 + completion: reflog subcommands and options
 + completion: factor out __git_resolve_builtins
 + completion: introduce __git_find_subcommand
 + completion: reflog show <log-options>
 + completion: reflog with implicit "show"

 The command line completion script (in contrib/) learned to
 complete "git reflog" better.

 Will merge to 'master'.
 source: <ea6c8890-9ff3-46c9-b933-6a52083b1001@gmail.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 cf. <6683f24e-7e56-489d-be2d-8afe1fc38d2b@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Expecting a reroll.
 cf. <CAC4O8c88Z3ZqxH2VVaNPpEGB3moL5dJcg3cOWuLWwQ_hLrJMtA@mail.gmail.com>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* la/trailer-api (2024-03-01) 9 commits
  (merged to 'next' on 2024-03-06 at f119923ff6)
 + format_trailers_from_commit(): indirectly call trailer_info_get()
 + format_trailer_info(): move "fast path" to caller
 + format_trailers(): use strbuf instead of FILE
 + trailer_info_get(): reorder parameters
 + trailer: move interpret_trailers() to interpret-trailers.c
 + trailer: reorder format_trailers_from_commit() parameters
 + trailer: rename functions to use 'trailer'
 + shortlog: add test for de-duplicating folded trailers
 + trailer: free trailer_info _after_ all related usage

 Trailer API updates.

 Acked-by: Christian Couder <christian.couder@gmail.com>
 cf. <CAP8UFD1Zd+9q0z1JmfOf60S2vn5-sD3SafDvAJUzRFwHJKcb8A@mail.gmail.com>

 Will merge to 'master'.
 source: <pull.1632.v6.git.1709252086.gitgitgadget@gmail.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Will merge to and cook in 'next'.
 cf. <xmqqv86z5359.fsf@gitster.g>
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 19%]

* What's cooking in git.git (Mar 2024, #01; Mon, 4)
@ 2024-03-04 22:36 20% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-03-04 22:36 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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']

* cp/t9146-use-test-path-helpers (2024-02-14) 1 commit
  (merged to 'next' on 2024-02-21 at 0b8356ef33)
 + t9146: replace test -d/-e/-f with appropriate test_path_is_* function

 Test script clean-up.
 source: <pull.1661.v3.git.1707933048210.gitgitgadget@gmail.com>


* ds/doc-send-email-capitalization (2024-02-20) 1 commit
  (merged to 'next' on 2024-02-21 at c4aac4b993)
 + documentation: send-email: use camel case consistently

 Doc update.
 source: <88f1fe08c3047e14090957093ee8d98b0f60cb6c.1708467601.git.dsimic@manjaro.org>


* hs/rebase-not-in-progress (2024-02-21) 1 commit
  (merged to 'next' on 2024-02-23 at ce53f5243f)
 + rebase: make warning less passive aggressive

 Error message update.
 source: <pull.1669.v2.git.1708537097448.gitgitgadget@gmail.com>


* ja/doc-placeholders-markup-rules (2024-02-21) 1 commit
  (merged to 'next' on 2024-02-23 at b6761ceeac)
 + doc: clarify the format of placeholders

 The way placeholders are to be marked-up in documentation have been
 specified; use "_<placeholder>_" to typeset the word inside a pair
 of <angle-brakets> emphasized.
 source: <pull.1671.git.1708550340094.gitgitgadget@gmail.com>


* ja/docfixes (2024-02-20) 3 commits
  (merged to 'next' on 2024-02-21 at 6d778ca672)
 + doc: end sentences with full-stop
 + doc: close unclosed angle-bracket of a placeholder in git-clone doc
 + doc: git-rev-parse: enforce command-line description syntax

 Doc update.
 source: <pull.1670.git.1708468374.gitgitgadget@gmail.com>


* jc/doc-add-placeholder-fix (2024-02-21) 1 commit
  (merged to 'next' on 2024-02-23 at 6950ff216b)
 + doc: apply the new placeholder rules to git-add documentation

 Practice the new mark-up rule for <placeholders> with "git add"
 documentation page.
 source: <xmqqbk89molz.fsf@gitster.g>


* jw/remote-doc-typofix (2024-02-21) 1 commit
  (merged to 'next' on 2024-02-23 at fe95873cfa)
 + git-remote.txt: fix typo

 Docfix.
 source: <20240221083554.5255-1-jwilk@jwilk.net>


* ps/difftool-dir-diff-exit-code (2024-02-20) 1 commit
  (merged to 'next' on 2024-02-21 at a7bbef5a5f)
 + git-difftool--helper: honor `--trust-exit-code` with `--dir-diff`

 "git difftool --dir-diff" learned to honor the "--trust-exit-code"
 option; it used to always exit with 0 and signalled success.
 Acked-by: David Aguilar <davvid@gmail.com>
 cf. <CAJDDKr5+3jszG=psh=kUGDjNCeTDGPSS-qDuN=JAq-3ua=bNDg@mail.gmail.com>
 source: <0fac668f8fc021af9f9c4df5134da59816307ccc.1708423309.git.ps@pks.im>


* ps/reflog-list (2024-02-21) 9 commits
  (merged to 'next' on 2024-02-23 at 7413632239)
 + builtin/reflog: introduce subcommand to list reflogs
 + refs: stop resolving ref corresponding to reflogs
 + refs: drop unused params from the reflog iterator callback
 + refs: always treat iterators as ordered
 + refs/files: sort merged worktree and common reflogs
 + refs/files: sort reflogs returned by the reflog iterator
 + dir-iterator: support iteration in sorted order
 + dir-iterator: pass name to `prepare_next_entry_data()` directly
 + Merge branch 'ps/reftable-backend' into ps/reflog-list

 "git reflog" learned a "list" subcommand that enumerates known reflogs.
 source: <cover.1708518982.git.ps@pks.im>


* tb/multi-pack-verbatim-reuse (2024-02-23) 1 commit
  (merged to 'next' on 2024-02-23 at 8ee07f1da4)
 + Documentation/config/pack.txt: fix broken AsciiDoc mark-up

 Docfix.
 source: <72bb58e5f3b8a5a622394c5ff40426156e122580.1708720255.git.me@ttaylorr.com>

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

* jk/upload-pack-bounded-resources (2024-02-28) 9 commits
  (merged to 'next' on 2024-03-01 at b70b6f0913)
 + upload-pack: free tree buffers after parsing
 + upload-pack: use PARSE_OBJECT_SKIP_HASH_CHECK in more places
 + upload-pack: always turn off save_commit_buffer
 + upload-pack: disallow object-info capability by default
 + upload-pack: accept only a single packfile-uri line
 + upload-pack: use a strmap for want-ref lines
 + upload-pack: use oidset for deepen_not list
 + upload-pack: switch deepen-not list to an oid_array
 + upload-pack: drop separate v2 "haves" array

 Originally merged to 'next' on 2024-02-29

 Various parts of upload-pack has been updated to bound the resource
 consumption relative to the size of the repository to protect from
 abusive clients.

 Will merge to 'master'.
 source: <20240228223700.GA1157826@coredump.intra.peff.net>


* jk/upload-pack-v2-capability-cleanup (2024-02-29) 4 commits
  (merged to 'next' on 2024-03-01 at 2750893db7)
 + upload-pack: only accept packfile-uris if we advertised it
 + upload-pack: use existing config mechanism for advertisement
 + upload-pack: centralize setup of sideband-all config
 + upload-pack: use repository struct to get config

 Originally merged to 'next' on 2024-02-29

 The upload-pack program, when talking over v2, accepted the
 packfile-uris protocol extension from the client, even if it did
 not advertise the capability, which has been corrected.

 Will merge to 'master'.
 source: <20240228224625.GA1158651@coredump.intra.peff.net>


* es/config-doc-sort-sections (2024-02-29) 1 commit
  (merged to 'next' on 2024-03-04 at 0752144ed7)
 + docs: sort configuration variable groupings alphabetically

 Doc updates.

 Will merge to 'master'.
 source: <20240229190229.20222-1-ericsunshine@charter.net>


* kh/doc-dashed-commands-have-not-worked-for-a-long-time (2024-03-01) 1 commit
  (merged to 'next' on 2024-03-04 at 7e070c67f9)
 + gitcli: drop mention of “non-dashed form”

 Doc update.

 Will merge to 'master'.
 source: <5b34bc4e22816f7f19bd26c15a08fe4c749b72f8.1709316230.git.code@khaugsbakk.name>


* jc/xwrite-cleanup (2024-03-02) 3 commits
 - repack: check error writing to pack-objects subprocess
 - sideband: avoid short write(2)
 - unpack: replace xwrite() loop with write_in_full()

 Uses of xwrite() helper have been audited and updated for better
 error checking and simpler code.
 source: <20240302190348.3946569-1-gitster@pobox.com>


* jc/test-i18ngrep (2024-03-02) 1 commit
 - test_i18ngrep: hard deprecate and forbid its use

 With release 2.44 we got rid of all uses of test_i18ngrep and there
 is no in-flight topic that adds a new use of it.  Make a call to
 test_i18ngrep a hard failure, so that we can remove it at the end
 of this release cycle.

 Comments?
 source: <xmqq5xy4zhdc.fsf@gitster.g>


* gt/core-bare-in-templates (2024-03-04) 1 commit
 - setup: remove unnecessary variable

 Code simplification.

 Will merge to 'next'?
 source: <20240304151811.511780-1-shyamthakkar001@gmail.com>


* so/clean-dry-run-without-force (2024-03-04) 2 commits
 - clean: further clean-up of implementation around "--force"
 - clean: improve -n and -f implementation and documentation

 The implementation in "git clean" that makes "-n" and "-i" ignore
 clean.requireForce has been simplified, together with the
 documentation.

 Will merge to 'next'.
 source: <87le6ziqzb.fsf_-_@osv.gnss.ru>
 source: <20240303220600.2491792-1-gitster@pobox.com>


* jh/trace2-missing-def-param-fix (2024-03-04) 4 commits
 - trace2: remove unneeded calls to generate 'def_param' set
 - trace2: emit 'def_param' set with 'cmd_name' event
 - trace2: avoid emitting 'def_param' set more than once
 - t0211: demonstrate missing 'def_param' events for certain commands

 Some trace2 events that lacked def_param have learned to show it,
 enriching the output.

 Needs review.
 source: <pull.1679.git.1709566808.gitgitgadget@gmail.com>


* ps/reftable-stack-tempfile (2024-03-04) 4 commits
 - reftable/stack: register compacted tables as tempfiles
 - reftable/stack: register lockfiles during compaction
 - reftable/stack: register new tables as tempfiles
 - lockfile: report when rollback fails

 The code in reftable backend that creates new table files works
 better with the tempfile framework to avoid leaving cruft after a
 failure.

 Needs review.
 source: <cover.1709549619.git.ps@pks.im>


* rs/opt-parse-long-fixups (2024-03-03) 6 commits
 - parse-options: rearrange long_name matching code
 - parse-options: normalize arg and long_name before comparison
 - parse-options: detect ambiguous self-negation
 - parse-options: factor out register_abbrev() and struct parsed_option
 - parse-options: set arg of abbreviated option lazily
 - parse-options: recognize abbreviated negated option with arg

 The parse-options code that deals with abbreviated long option
 names have been cleaned up.

 Needs review.
 source: <20240303121944.20627-1-l.s.r@web.de>


* sj/t9117-path-is-file (2024-03-04) 1 commit
  (merged to 'next' on 2024-03-04 at de5f6a74cb)
 + t9117: prefer test_path_* helper functions

 GSoC practice to replace "test -f" with "test_path_is_file".

 Will merge to 'master'.
 source: <20240304095436.56399-2-shejialuo@gmail.com>


* vm/t7301-use-test-path-helpers (2024-03-04) 1 commit
 - t7301: use test_path_is_(missing|file)

 GSoC practice to replace "test -f" with "test_path_is_file".

 Will merge to 'next'?
 source: <20240304171732.64457-2-vincenzo.mezzela@gmail.com>

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

* cw/git-std-lib (2024-02-28) 4 commits
 - SQUASH??? get rid of apparent debugging crufts
 - test-stdlib: show that git-std-lib is independent
 - git-std-lib: introduce Git Standard Library
 - pager: include stdint.h because uintmax_t is used

 Split libgit.a out to a separate git-std-lib tor easier reuse.

 Needs review.
 source: <cover.1696021277.git.jonathantanmy@google.com>


* js/merge-base-with-missing-commit (2024-02-29) 11 commits
  (merged to 'next' on 2024-03-01 at 3e3eabaee9)
 + commit-reach(repo_get_merge_bases_many_dirty): pass on errors
 + commit-reach(repo_get_merge_bases_many): pass on "missing commits" errors
 + commit-reach(get_octopus_merge_bases): pass on "missing commits" errors
 + commit-reach(repo_get_merge_bases): pass on "missing commits" errors
 + commit-reach(get_merge_bases_many_0): pass on "missing commits" errors
 + commit-reach(merge_bases_many): pass on "missing commits" errors
 + commit-reach(paint_down_to_common): start reporting errors
 + commit-reach(paint_down_to_common): prepare for handling shallow commits
 + commit-reach(repo_in_merge_bases_many): report missing commits
 + commit-reach(repo_in_merge_bases_many): optionally expect missing commits
 + commit-reach(paint_down_to_common): plug two memory leaks

 Originally merged to 'next' on 2024-02-29

 Make sure failure return from merge_bases_many() is properly caught.

 Needs an incremental fix-up.
 cf.<20240301065805.GB2680308@coredump.intra.peff.net>
 source: <pull.1657.v4.git.1709113457.gitgitgadget@gmail.com>


* eg/add-uflags (2024-02-29) 1 commit
  (merged to 'next' on 2024-03-01 at 5dbc997561)
 + add: use unsigned type for collection of bits

 Originally merged to 'next' on 2024-02-29

 Code clean-up practice.

 Will merge to 'master'.
 source: <20240229194444.8499-2-giganteeugenio2@gmail.com>


* jc/doc-compat-util (2024-02-27) 1 commit
  (merged to 'next' on 2024-03-01 at 89b76c65d7)
 + doc: clarify the wording on <git-compat-util.h> requirement

 Originally merged to 'next' on 2024-02-27

 Clarify wording in the CodingGuidelines that requires <git-compat-util.h>
 to be the first header file.

 Will merge to 'master'.
 source: <xmqqle76kdpr.fsf_-_@gitster.g>


* jc/no-include-of-compat-util-from-headers (2024-02-24) 1 commit
  (merged to 'next' on 2024-03-01 at ebb921087e)
 + compat: drop inclusion of <git-compat-util.h>

 Originally merged to 'next' on 2024-02-26

 Header file clean-up.

 Will merge to 'master'.
 source: <xmqqwmqtli18.fsf@gitster.g>


* jk/reflog-special-cases-fix (2024-02-26) 3 commits
  (merged to 'next' on 2024-03-01 at 2b67f6e668)
 + read_ref_at(): special-case ref@{0} for an empty reflog
 + get_oid_basic(): special-case ref@{n} for oldest reflog entry
 + Revert "refs: allow @{n} to work with n-sized reflog"

 Originally merged to 'next' on 2024-02-27

 The logic to access reflog entries by date and number had ugly
 corner cases at the boundaries, which have been cleaned up.

 Will merge to 'master'.
 source: <20240226100010.GA1214708@coredump.intra.peff.net>


* jk/textconv-cache-outside-repo-fix (2024-02-26) 1 commit
  (merged to 'next' on 2024-03-01 at 8508b83758)
 + userdiff: skip textconv caching when not in a repository

 Originally merged to 'next' on 2024-02-26

 The code incorrectly attempted to use textconv cache when asked,
 even when we are not running in a repository, which has been
 corrected.

 Will merge to 'master'.
 source: <20240226102729.GB2685773@coredump.intra.peff.net>


* js/remove-cruft-files (2024-02-26) 1 commit
  (merged to 'next' on 2024-03-01 at 63100a274b)
 + neue: remove a bogus empty file

 Originally merged to 'next' on 2024-02-26

 Remove an empty file that shouldn't have been added in the first
 place.

 Will merge to 'master'.
 source: <pull.1674.git.1708958183225.gitgitgadget@gmail.com>


* jt/commit-redundant-scissors-fix (2024-02-27) 2 commits
  (merged to 'next' on 2024-03-01 at e5983498f1)
 + commit: unify logic to avoid multiple scissors lines when merging
 + commit: avoid redundant scissor line with --cleanup=scissors -v

 Originally merged to 'next' on 2024-02-29

 "git commit -v --cleanup=scissors" used to add the scissors line
 twice in the log message buffer, which has been corrected.

 Will merge to 'master'.
 source: <Zd2eLxPelxvP8FDk@localhost>


* pb/ort-make-submodule-conflict-message-an-advice (2024-02-26) 1 commit
  (merged to 'next' on 2024-03-01 at df880cde2e)
 + merge-ort: turn submodule conflict suggestions into an advice

 Originally merged to 'next' on 2024-02-27

 When a merge conflicted at a submodule, merge-ort backend used to
 unconditionally give a lengthy message to suggest how to resolve
 it.  Now the message can be squelched as an advice message.

 Will merge to 'master'.
 source: <pull.1661.v2.git.git.1708954048301.gitgitgadget@gmail.com>


* rj/complete-worktree-paths-fix (2024-02-27) 1 commit
 - completion: fix __git_complete_worktree_paths

 The logic to complete the command line arguments to "git worktree"
 subcommand (in contrib/) has been updated to correctly honor things
 like "git -C dir" etc.

 Comments?
 source: <b8f09e20-d0d3-4e0b-afe2-31affeb61052@gmail.com>


* rs/fetch-simplify-with-starts-with (2024-02-26) 1 commit
  (merged to 'next' on 2024-03-01 at 000e015fff)
 + fetch: convert strncmp() with strlen() to starts_with()

 Originally merged to 'next' on 2024-02-27

 Code simplification.

 Will merge to 'master'.
 source: <cb94b938-03f9-4dd3-84c1-f5244ca81be3@web.de>


* rs/name-rev-with-mempool (2024-02-26) 2 commits
  (merged to 'next' on 2024-03-01 at d53eac1836)
 + name-rev: use mem_pool_strfmt()
 + mem-pool: add mem_pool_strfmt()

 Originally merged to 'next' on 2024-02-27

 Many small allocations "git name-rev" makes have been updated to
 allocate from a mem-pool.

 Will merge to 'master'.
 source: <20240225113947.89357-1-l.s.r@web.de>


* rs/submodule-prefix-simplify (2024-02-26) 1 commit
  (merged to 'next' on 2024-03-01 at 05d4d90201)
 + submodule: use strvec_pushf() for --submodule-prefix

 Originally merged to 'next' on 2024-02-27

 Code simplification.

 Will merge to 'master'.
 source: <8cd983fb-32b9-41c6-a9e7-a485b190488c@web.de>


* rs/t-ctype-simplify (2024-03-03) 4 commits
  (merged to 'next' on 2024-03-04 at 9bd84a8877)
 + t-ctype: avoid duplicating class names
 + t-ctype: align output of i
 + t-ctype: simplify EOF check
 + t-ctype: allow NUL anywhere in the specification string

 Code simplification to one unit-test program.

 Will merge to 'master'.
 source: <20240303101330.20187-1-l.s.r@web.de>


* sg/upload-pack-error-message-fix (2024-02-26) 1 commit
  (merged to 'next' on 2024-03-01 at b94664a7a0)
 + upload-pack: don't send null character in abort message to the client

 Originally merged to 'next' on 2024-02-27

 An error message from "git upload-pack", which responds to "git
 fetch" requests, had a trialing NUL in it, which has been
 corrected.

 Will merge to 'master'.
 source: <20240225183452.1939334-1-szeder.dev@gmail.com>


* ak/rebase-autosquash (2024-02-27) 1 commit
  (merged to 'next' on 2024-03-01 at 57a34830b7)
 + rebase: fix typo in autosquash documentation

 Originally merged to 'next' on 2024-02-27

 Typofix.

 Will merge to 'master'.
 source: <pull.1676.git.1709015578890.gitgitgadget@gmail.com>


* ps/reftable-repo-init-fix (2024-02-27) 2 commits
  (merged to 'next' on 2024-03-01 at abbf85051b)
 + refs/reftable: don't fail empty transactions in repo without HEAD
 + Merge branch 'ps/remote-helper-repo-initialization-fix' into ps/reftable-repo-init-fix
 (this branch uses ps/remote-helper-repo-initialization-fix.)

 Originally merged to 'next' on 2024-02-29

 Clear the fallout from a fix for 2.44 regression.

 Will merge to 'master'.
 source: <95be968e10bd02c64448786e690bbefe5c082577.1709041721.git.ps@pks.im>


* ps/remote-helper-repo-initialization-fix (2024-02-27) 1 commit
  (merged to 'next' on 2024-03-01 at 7b79ffbd8f)
 + builtin/clone: allow remote helpers to detect repo
 (this branch is used by ps/reftable-repo-init-fix.)

 Originally merged to 'next' on 2024-02-29

 A custom remote helper no longer cannot access the newly created
 repository during "git clone", which is a regression in Git 2.44.
 This has been corrected.

 Will merge to 'master'.
 source: <9d888adf92e9a8af7c18847219f97d3e595e3e36.1709041721.git.ps@pks.im>


* pw/rebase-i-ignore-cherry-pick-help-environment (2024-02-27) 1 commit
 - rebase -i: stop setting GIT_CHERRY_PICK_HELP

 Code simplification by getting rid of code that sets an environment
 variable that is no longer used.

 Comments?
 source: <pull.1678.git.1709042783847.gitgitgadget@gmail.com>


* as/option-names-in-messages (2024-02-16) 5 commits
 - revision.c: trivial fix to message
 - builtin/clone.c: trivial fix of message
 - builtin/remote.c: trivial fix of error message
 - transport-helper.c: trivial fix of error message
 - rebase: trivial fix of error message

 Error message updates.

 Expecting a reroll.
 source: <20240216101647.28837-1-ash@kambanaria.org>


* jh/fsmonitor-icase-corner-case-fix (2024-02-26) 14 commits
 - fsmonitor: support case-insensitive events
 - fsmonitor: refactor bit invalidation in refresh callback
 - fsmonitor: trace the new invalidated cache-entry count
 - fsmonitor: return invalided cache-entry count on non-directory event
 - fsmonitor: remove custom loop from non-directory path handler
 - fsmonitor: return invalidated cache-entry count on directory event
 - fsmonitor: move untracked-cache invalidation into helper functions
 - fsmonitor: refactor untracked-cache invalidation
 - dir: create untracked_cache_invalidate_trimmed_path()
 - fsmonitor: refactor refresh callback for non-directory events
 - fsmonitor: clarify handling of directory events in callback helper
 - fsmonitor: refactor refresh callback on directory events
 - t7527: add case-insensitve test for FSMonitor
 - name-hash: add index_dir_find()

 FSMonitor client code was confused when FSEvents were given in a
 different case on a case-insensitive filesystem, which has been
 corrected.

 Comments?
 source: <pull.1662.v3.git.1708983565.gitgitgadget@gmail.com>


* ps/reftable-iteration-perf-part2 (2024-03-04) 13 commits
 - refs/reftable: precompute prefix length
 - reftable: allow inlining of a few functions
 - reftable/record: decode keys in place
 - reftable/record: reuse refname when copying
 - reftable/record: reuse refname when decoding
 - reftable/merged: avoid duplicate pqueue emptiness check
 - reftable/merged: circumvent pqueue with single subiter
 - reftable/merged: handle subiter cleanup on close only
 - reftable/merged: remove unnecessary null check for subiters
 - reftable/merged: make subiters own their records
 - reftable/merged: advance subiter on subsequent iteration
 - reftable/merged: make `merged_iter` structure private
 - reftable/pq: use `size_t` to track iterator index

 The code to iterate over refs with the reftable backend has seen
 some optimization.

 Will merge to 'next'?
 source: <cover.1709548907.git.ps@pks.im>


* js/cmake-with-test-tool (2024-02-23) 2 commits
 - cmake: let `test-tool` run the unit tests, too
 - Merge branch 'js/unit-test-suite-runner' into js/cmake-with-test-tool
 (this branch uses js/unit-test-suite-runner.)

 "test-tool" is now built in CMake build to also run the unit tests.

 May want to roll it into the base topic.
 source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>


* kn/for-all-refs (2024-02-23) 6 commits
  (merged to 'next' on 2024-03-01 at 76a1297ace)
 + for-each-ref: add new option to include root refs
 + ref-filter: rename 'FILTER_REFS_ALL' to 'FILTER_REFS_REGULAR'
 + refs: introduce `refs_for_each_include_root_refs()`
 + refs: extract out `loose_fill_ref_dir_regular_file()`
 + refs: introduce `is_pseudoref()` and `is_headref()`
 + Merge branch 'ps/reftable-backend' into kn/for-all-refs

 Originally merged to 'next' on 2024-02-27

 "git for-each-ref" learned "--include-root-refs" option to show
 even the stuff outside the 'refs/' hierarchy.

 Will merge to 'master'.
 source: <20240223100112.44127-1-karthik.188@gmail.com>


* jc/no-lazy-fetch (2024-02-27) 3 commits
  (merged to 'next' on 2024-03-01 at 14303cdbfe)
 + git: extend --no-lazy-fetch to work across subprocesses
 + git: document GIT_NO_REPLACE_OBJECTS environment variable
 + git: --no-lazy-fetch option

 Originally merged to 'next' on 2024-02-29

 "git --no-lazy-fetch cmd" allows to run "cmd" while disabling lazy
 fetching of objects from the promisor remote, which may be handy
 for debugging.

 Will merge to 'master'.
 source: <xmqq1q8xx38i.fsf@gitster.g>
 source: <xmqq1q9cl3xv.fsf@gitster.g>
 source: <xmqq1q9mmtpw.fsf@gitster.g>


* js/unit-test-suite-runner (2024-02-23) 8 commits
 - ci: use test-tool as unit test runner on Windows
 - t/Makefile: run unit tests alongside shell tests
 - unit tests: add rule for running with test-tool
 - test-tool run-command testsuite: support unit tests
 - test-tool run-command testsuite: remove hardcoded filter
 - test-tool run-command testsuite: get shell from env
 - t0080: turn t-basic unit test into a helper
 - Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner
 (this branch is used by js/cmake-with-test-tool.)

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.

 Needs review.
 source: <cover.1708728717.git.steadmon@google.com>


* cc/rev-list-allow-missing-tips (2024-02-28) 5 commits
  (merged to 'next' on 2024-03-01 at fd7b109d04)
 + revision: fix --missing=[print|allow*] for annotated tags
  (merged to 'next' on 2024-03-01 at ac0fc94378)
 + rev-list: allow missing tips with --missing=[print|allow*]
 + t6022: fix 'test' style and 'even though' typo
 + oidset: refactor oidset_insert_from_set()
 + revision: clarify a 'return NULL' in get_reference()

 Originally merged to 'next' on 2024-02-28

 "git rev-list --missing=print" has learned to optionally take
 "--allow-missing-tips", which allows the objects at the starting
 points to be missing.

 Will merge to 'master'.
 source: <20240214142513.4002639-1-christian.couder@gmail.com>


* js/merge-tree-3-trees (2024-02-23) 7 commits
  (merged to 'next' on 2024-03-01 at a75dc95f04)
 + fill_tree_descriptor(): mark error message for translation
 + cache-tree: avoid an unnecessary check
 + Always check `parse_tree*()`'s return value
 + t4301: verify that merge-tree fails on missing blob objects
 + merge-ort: do check `parse_tree()`'s return value
 + merge-tree: fail with a non-zero exit code on missing tree objects
 + merge-tree: accept 3 trees as arguments

 Originally merged to 'next' on 2024-02-28

 "git merge-tree" has learned that the three trees involved in the
 3-way merge only need to be trees, not necessarily commits.

 Will merge to 'master'.
 source: <pull.1647.git.1706277694231.gitgitgadget@gmail.com>
 source: <pull.1651.v4.git.1708677266.gitgitgadget@gmail.com>


* rj/complete-reflog (2024-03-03) 5 commits
 - completion: reflog subcommands and options
 - completion: factor out __git_resolve_builtins
 - completion: introduce __git_find_subcommand
 - completion: reflog show <log-options>
 - completion: reflog with implicit "show"

 The command line completion script (in contrib/) learned to
 complete "git reflog" better.

 Will merge to 'next'?
 source: <ea6c8890-9ff3-46c9-b933-6a52083b1001@gmail.com>


* ml/log-merge-with-cherry-pick-and-other-pseudo-heads (2024-02-28) 2 commits
  (merged to 'next' on 2024-03-01 at 339111ec08)
 + revision: implement `git log --merge` also for rebase/cherry-pick/revert
 + revision: ensure MERGE_HEAD is a ref in prepare_show_merge

 Originally merged to 'next' on 2024-02-29

 "git log --merge" learned to pay attention to CHERRY_PICK_HEAD and
 other kinds of *_HEAD pseudorefs.

 Will merge to 'master'.
 source: <20240228-ml-log-merge-with-cherry-pick-and-other-pseudo-heads-v6-0-8ec34c052b39@gmail.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Expecting a reroll.
 cf. <CAC4O8c88Z3ZqxH2VVaNPpEGB3moL5dJcg3cOWuLWwQ_hLrJMtA@mail.gmail.com>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* la/trailer-api (2024-03-01) 9 commits
 - format_trailers_from_commit(): indirectly call trailer_info_get()
 - format_trailer_info(): move "fast path" to caller
 - format_trailers(): use strbuf instead of FILE
 - trailer_info_get(): reorder parameters
 - trailer: move interpret_trailers() to interpret-trailers.c
 - trailer: reorder format_trailers_from_commit() parameters
 - trailer: rename functions to use 'trailer'
 - shortlog: add test for de-duplicating folded trailers
 - trailer: free trailer_info _after_ all related usage

 source: <pull.1632.v6.git.1709252086.gitgitgadget@gmail.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Will merge to and cook in 'next'?
 cf. <xmqqv86z5359.fsf@gitster.g>
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 20%]

* Re: What's cooking in git.git (Feb 2024, #09; Tue, 27)
  @ 2024-03-01 16:21 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-03-01 16:21 UTC (permalink / raw)
  To: Karthik Nayak; +Cc: git

Karthik Nayak <karthik.188@gmail.com> writes:

> Junio C Hamano <gitster@pobox.com> writes:
>> * kn/for-all-refs (2024-02-23) 6 commits
>>   (merged to 'next' on 2024-02-27 at aef2406cca)
>>  + for-each-ref: add new option to include root refs
>>  + ref-filter: rename 'FILTER_REFS_ALL' to 'FILTER_REFS_REGULAR'
>>  + refs: introduce `refs_for_each_include_root_refs()`
>>  + refs: extract out `loose_fill_ref_dir_regular_file()`
>>  + refs: introduce `is_pseudoref()` and `is_headref()`
>>  + Merge branch 'ps/reftable-backend' into kn/for-all-refs
>>
>>  "git for-each-ref" filters its output with prefixes given from the
>>  command line, but it did not honor an empty string to mean "pass
>>  everything", which has been corrected.
>>
>>  Will merge to 'master'.
>>  source: <20240223100112.44127-1-karthik.188@gmail.com>
>
> Thanks, the description here needs to be modified since we moved from
> the `an empty string to mean "pass everything"` to providing the
> `--include-root-refs` option.

Good point.  I just updated the draft for the next issue of
'whats-cooking.txt' to read like this:

 "git for-each-ref" learned "--include-root-refs" option to show
 even the stuff outside the 'refs/' hierarchy.

Thanks.


^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (Feb 2024, #09; Tue, 27)
  2024-03-01  2:02 99%   ` Junio C Hamano
@ 2024-03-01 16:16 99%     ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-03-01 16:16 UTC (permalink / raw)
  To: Linus Arver; +Cc: git

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

>> Doh, please wait for my v6 reroll (will send to the list in the next
>> half hour) to clean up the commit messages. Thanks.
>
> If we had communication gap and the topic was prematurely merged and
> was caught within a day or two, I would be a bit more sympathetic,
> but given that this was merged more than a week ago, that's totally
> unacceptable.
>
> If you have improvements, please do so as incremental patches on
> top.  I'll hold the topic in 'next' until we are ready.

Well, I changed my mind.  As we haven't rewound the tip of 'next'
post release, let's eject what is in 'next' and queue the latest,
pretending that the earlier round weren't in 'next' at all.

Thanks.


^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (Feb 2024, #09; Tue, 27)
  @ 2024-03-01  2:02 99%   ` Junio C Hamano
  2024-03-01 16:16 99%     ` Junio C Hamano
  0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2024-03-01  2:02 UTC (permalink / raw)
  To: Linus Arver; +Cc: git

Linus Arver <linusa@google.com> writes:

> Junio C Hamano <gitster@pobox.com> writes:
>
>> [...]
>> 
>> * la/trailer-api (2024-02-16) 9 commits
>>   (merged to 'next' on 2024-02-21 at 631e28bbbc)
>>  + format_trailers_from_commit(): indirectly call trailer_info_get()
>> ...
>>  Will merge to 'master'.
>>  source: <pull.1632.v5.git.1708124950.gitgitgadget@gmail.com>
>
> Doh, please wait for my v6 reroll (will send to the list in the next
> half hour) to clean up the commit messages. Thanks.

If we had communication gap and the topic was prematurely merged and
was caught within a day or two, I would be a bit more sympathetic,
but given that this was merged more than a week ago, that's totally
unacceptable.

If you have improvements, please do so as incremental patches on
top.  I'll hold the topic in 'next' until we are ready.

Thanks.


^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (Feb 2024, #09; Tue, 27)
  @ 2024-02-28 17:25 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-02-28 17:25 UTC (permalink / raw)
  To: Philippe Blain; +Cc: git

Philippe Blain <levraiphilippeblain@gmail.com> writes:

> Hi Junio,
>
> Le 2024-02-28 à 00:44, Junio C Hamano a écrit :
>> * ml/log-merge-with-cherry-pick-and-other-pseudo-heads (2024-02-27) 2 commits
> ...
> I'll send a new version with a reworked error message, so best to wait.

Thanks. Will do.


^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Feb 2024, #09; Tue, 27)
@ 2024-02-28  5:44 20% Junio C Hamano
                     ` (2 more replies)
  0 siblings, 3 replies; 200+ results
From: Junio C Hamano @ 2024-02-28  5:44 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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']

* ba/credential-test-clean-fix (2024-02-15) 1 commit
  (merged to 'next' on 2024-02-19 at 290708b10a)
 + t/lib-credential: clean additional credential
 (this branch is used by jk/t0303-clean.)

 Test clean-up.
 source: <pull.1664.git.1707959036807.gitgitgadget@gmail.com>


* bb/completion-no-grep-into-awk (2024-02-16) 1 commit
  (merged to 'next' on 2024-02-19 at 8373f95424)
 + completion: use awk for filtering the config entries

 Some parts of command line completion script (in contrib/) have
 been micro-optimized.
 source: <20240216171046.927552-1-dev+git@drbeat.li>


* cp/apply-core-filemode (2023-12-26) 3 commits
  (merged to 'next' on 2024-02-07 at 089a3fbb86)
 + apply: code simplification
 + apply: correctly reverse patch's pre- and post-image mode bits
 + apply: ignore working tree filemode when !core.filemode

 "git apply" on a filesystem without filemode support have learned
 to take a hint from what is in the index for the path, even when
 not working with the "--index" or "--cached" option, when checking
 the executable bit match what is required by the preimage in the
 patch.
 cf. <xmqqzfwb53a9.fsf@gitster.g>
 source: <20231226233218.472054-1-gitster@pobox.com>


* gt/at-is-synonym-for-head-in-add-patch (2024-02-13) 2 commits
  (merged to 'next' on 2024-02-14 at cd901555d6)
 + add -p tests: remove PERL prerequisites
 + add-patch: classify '@' as a synonym for 'HEAD'

 Teach "git checkout -p" and friends that "@" is a synonym for
 "HEAD".
 source: <20240211202035.7196-2-shyamthakkar001@gmail.com>


* jb/doc-interactive-singlekey-do-not-need-perl (2024-02-19) 1 commit
  (merged to 'next' on 2024-02-19 at 9eda75497d)
 + doc: remove outdated information about interactive.singleKey

 Doc clean-up.
 source: <20240218030327.40453-1-julio.bacel@gmail.com>


* jc/am-whitespace-doc (2024-02-14) 1 commit
  (merged to 'next' on 2024-02-19 at 492f0f9174)
 + doc: add shortcut to "am --whitespace=<action>"

 "git am --help" now tells readers what actions are available in
 "git am --whitespace=<action>", in addition to saying that the
 option is passed through to the underlying "git apply".
 source: <xmqqplwyvqby.fsf@gitster.g>


* jc/t9210-lazy-fix (2024-02-08) 1 commit
  (merged to 'next' on 2024-02-13 at fb61ca2fba)
 + t9210: do not rely on lazy fetching to fail
 (this branch is used by cc/rev-list-allow-missing-tips.)

 Adjust use of "rev-list --missing" in an existing tests so that it
 does not depend on a buggy failure mode.
 source: <xmqq7cjemttr.fsf@gitster.g>


* jk/t0303-clean (2024-02-19) 2 commits
  (merged to 'next' on 2024-02-19 at f57b65215f)
 + t0303: check that helper_test_clean removes all credentials
 + Merge branch 'ba/credential-test-clean-fix' into jk/t0303-clean
 (this branch uses ba/credential-test-clean-fix.)

 Test clean-up.
 source: <20240217045814.GA539459@coredump.intra.peff.net>


* kh/column-reject-negative-padding (2024-02-13) 2 commits
  (merged to 'next' on 2024-02-14 at c30c08e495)
 + column: guard against negative padding
 + column: disallow negative padding

 "git column" has been taught to reject negative padding value, as
 it would lead to nonsense behaviour including division by zero.
 source: <cover.1707839454.git.code@khaugsbakk.name>


* km/mergetool-vimdiff-layout-fallback (2024-02-19) 1 commit
  (merged to 'next' on 2024-02-19 at bf7f086f05)
 + mergetools: vimdiff: use correct tool's name when reading mergetool config

 Variants of vimdiff learned to honor mergetool.<variant>.layout settings.
 source: <20240217162718.21272-1-kipras@kipras.org>


* mh/libsecret-empty-password-fix (2024-02-19) 1 commit
  (merged to 'next' on 2024-02-19 at b2e17695ca)
 + libsecret: retrieve empty password

 Credential helper based on libsecret (in contrib/) has been updated
 to handle an empty password correctly.
 source: <pull.1676.v2.git.git.1708375258296.gitgitgadget@gmail.com>


* ps/ref-tests-update-even-more (2024-02-15) 7 commits
  (merged to 'next' on 2024-02-15 at 064b2b4089)
 + t7003: ensure filter-branch prunes reflogs with the reftable backend
 + t2011: exercise D/F conflicts with HEAD with the reftable backend
 + t1405: remove unneeded cleanup step
 + t1404: make D/F conflict tests compatible with reftable backend
 + t1400: exercise reflog with gaps with reftable backend
 + t0410: convert tests to use DEFAULT_REPO_FORMAT prereq
 + t: move tests exercising the "files" backend

 More tests that are marked as "ref-files only" have been updated to
 improve test coverage of reftable backend.
 source: <cover.1707985173.git.ps@pks.im>


* ps/reftable-backend (2024-02-07) 3 commits
  (merged to 'next' on 2024-02-08 at ba1c4c52bb)
 + refs/reftable: fix leak when copying reflog fails
  (merged to 'next' on 2024-02-07 at 1115200acb)
 + ci: add jobs to test with the reftable backend
 + refs: introduce reftable backend
 (this branch is used by kn/for-all-refs and ps/reflog-list.)

 Integrate the reftable code into the refs framework as a backend.
 source: <cover.1707288261.git.ps@pks.im>


* ps/reftable-iteration-perf (2024-02-12) 7 commits
  (merged to 'next' on 2024-02-12 at 6abaf58383)
 + reftable/reader: add comments to `table_iter_next()`
 + reftable/record: don't try to reallocate ref record name
 + reftable/block: swap buffers instead of copying
 + reftable/pq: allocation-less comparison of entry keys
 + reftable/merged: skip comparison for records of the same subiter
 + reftable/merged: allocation-less dropping of shadowed records
 + reftable/record: introduce function to compare records by key
 (this branch is used by ps/reftable-iteration-perf-part2.)

 The code to iterate over refs with the reftable backend has seen
 some optimization.
 source: <cover.1707726654.git.ps@pks.im>


* rj/tag-column-fix (2024-02-14) 1 commit
  (merged to 'next' on 2024-02-19 at 9aa52b4ffb)
 + tag: error when git-column fails

 "git tag --column" failed to check the exit status of its "git
 column" invocation, which has been corrected.
 source: <59df085d-0de8-45b1-9b8b-c69e91e56a1f@gmail.com>


* rs/use-xstrncmpz (2024-02-12) 1 commit
  (merged to 'next' on 2024-02-12 at 37e5f0fc14)
 + use xstrncmpz()

 Code clean-up.
 source: <954b75d0-1504-4f57-b34e-e770a4b7b3ea@web.de>

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

* cw/git-std-lib (2024-02-22) 3 commits
 - test-stdlib: show that git-std-lib is independent
 - git-std-lib: introduce Git Standard Library
 - pager: include stdint.h because uintmax_t is used

 Split libgit.a out to a separate git-std-lib tor easier reuse.

 Needs review.
 source: <cover.1696021277.git.jonathantanmy@google.com>


* js/merge-base-with-missing-commit (2024-02-27) 11 commits
 - repo_get_merge_bases_many_dirty(): pass on errors from `merge_bases_many()`
 - repo_get_merge_bases_many(): pass on errors from `merge_bases_many()`
 - get_octopus_merge_bases(): pass on errors from `merge_bases_many()`
 - repo_get_merge_bases(): pass on errors from `merge_bases_many()`
 - get_merge_bases_many_0(): pass on errors from `merge_bases_many()`
 - merge_bases_many(): pass on errors from `paint_down_to_common()`
 - commit-reach: start reporting errors in `paint_down_to_common()`
 - Prepare `paint_down_to_common()` for handling shallow commits
 - Start reporting missing commits in `repo_in_merge_bases_many()`
 - Prepare `repo_in_merge_bases_many()` to optionally expect missing commits
 - paint_down_to_common: plug two memory leaks

 Make sure failure return from merge_bases_many() is properly caught.

 Needs review.
 source: <pull.1657.v3.git.1709040497.gitgitgadget@gmail.com>


* tb/multi-pack-verbatim-reuse (2024-02-23) 1 commit
  (merged to 'next' on 2024-02-23 at 8ee07f1da4)
 + Documentation/config/pack.txt: fix broken AsciiDoc mark-up

 Docfix.

 Will merge to 'master'.
 source: <72bb58e5f3b8a5a622394c5ff40426156e122580.1708720255.git.me@ttaylorr.com>


* eg/add-uflags (2024-02-24) 1 commit
 - add: use unsigned type for collection of bits

 Code clean-up practice.

 cf. <CAP8UFD3qR8E0gvUQtzzkLPWv4Db45kFS4pEqHKQr5siciVJ-zQ@mail.gmail.com>
 source: <20240224112638.72257-2-giganteeugenio2@gmail.com>


* jc/doc-compat-util (2024-02-27) 1 commit
  (merged to 'next' on 2024-02-27 at a838805d8c)
 + doc: clarify the wording on <git-compat-util.h> requirement

 Clarify wording in the CodingGuidelines that requires <git-compat-util.h>
 to be the first header file.

 Will merge to 'master'.
 source: <xmqqle76kdpr.fsf_-_@gitster.g>


* jc/no-include-of-compat-util-from-headers (2024-02-24) 1 commit
  (merged to 'next' on 2024-02-26 at 85857c09d9)
 + compat: drop inclusion of <git-compat-util.h>

 Header file clean-up.

 Will merge to 'master'.
 source: <xmqqwmqtli18.fsf@gitster.g>


* jk/reflog-special-cases-fix (2024-02-26) 3 commits
  (merged to 'next' on 2024-02-27 at e9fbe29d06)
 + read_ref_at(): special-case ref@{0} for an empty reflog
 + get_oid_basic(): special-case ref@{n} for oldest reflog entry
 + Revert "refs: allow @{n} to work with n-sized reflog"

 The logic to access reflog entries by date and number had ugly
 corner cases at the boundaries, which have been cleaned up.

 Will merge to 'master'.
 source: <20240226100010.GA1214708@coredump.intra.peff.net>


* jk/textconv-cache-outside-repo-fix (2024-02-26) 1 commit
  (merged to 'next' on 2024-02-26 at d4a81531ef)
 + userdiff: skip textconv caching when not in a repository

 The code incorrectly attempted to use textconv cache when asked,
 even when we are not running in a repository, which has been
 corrected.

 Will merge to 'master'.
 source: <20240226102729.GB2685773@coredump.intra.peff.net>


* js/remove-cruft-files (2024-02-26) 1 commit
  (merged to 'next' on 2024-02-26 at c6491c1c5d)
 + neue: remove a bogus empty file

 Remove an empty file that shouldn't have been added in the first
 place.

 Will merge to 'master'.
 source: <pull.1674.git.1708958183225.gitgitgadget@gmail.com>


* jt/commit-redundant-scissors-fix (2024-02-27) 2 commits
 - commit: unify logic to avoid multiple scissors lines when merging
 - commit: avoid redundant scissor line with --cleanup=scissors -v

 "git commit -v --cleanup=scissors" used to add the scissors line
 twice in the log message buffer, which has been corrected.

 Comments?
 source: <Zd2eLxPelxvP8FDk@localhost>


* pb/ort-make-submodule-conflict-message-an-advice (2024-02-26) 1 commit
  (merged to 'next' on 2024-02-27 at abe2ab5ed7)
 + merge-ort: turn submodule conflict suggestions into an advice

 When a merge conflicted at a submodule, merge-ort backend used to
 unconditionally give a lengthy message to suggest how to resolve
 it.  Now the message can be squelched as an advice message.

 Will merge to 'master'.
 source: <pull.1661.v2.git.git.1708954048301.gitgitgadget@gmail.com>


* rj/complete-worktree-paths-fix (2024-02-27) 1 commit
 - completion: fix __git_complete_worktree_paths

 The logic to complete the command line arguments to "git worktree"
 subcommand (in contrib/) has been updated to correctly honor things
 like "git -C dir" etc.

 Comments?
 source: <b8f09e20-d0d3-4e0b-afe2-31affeb61052@gmail.com>


* rs/fetch-simplify-with-starts-with (2024-02-26) 1 commit
  (merged to 'next' on 2024-02-27 at 84bba0a921)
 + fetch: convert strncmp() with strlen() to starts_with()

 Code simplification.

 Will merge to 'master'.
 source: <cb94b938-03f9-4dd3-84c1-f5244ca81be3@web.de>


* rs/name-rev-with-mempool (2024-02-26) 2 commits
  (merged to 'next' on 2024-02-27 at b10b58ad64)
 + name-rev: use mem_pool_strfmt()
 + mem-pool: add mem_pool_strfmt()

 Many small allocations "git name-rev" makes have been updated to
 allocate from a mem-pool.

 Will merge to 'master'.
 source: <20240225113947.89357-1-l.s.r@web.de>


* rs/submodule-prefix-simplify (2024-02-26) 1 commit
  (merged to 'next' on 2024-02-27 at c6051f9f6b)
 + submodule: use strvec_pushf() for --submodule-prefix

 Code simplification.

 Will merge to 'master'.
 source: <8cd983fb-32b9-41c6-a9e7-a485b190488c@web.de>


* rs/t-ctype-simplify (2024-02-26) 3 commits
 - t-ctype: do one test per class and char
 - t-ctype: avoid duplicating class names
 - t-ctype: allow NUL anywhere in the specification string

 Code simplification to one unit-test program.

 Comments?
 source: <20240225112722.89221-1-l.s.r@web.de>


* sg/upload-pack-error-message-fix (2024-02-26) 1 commit
  (merged to 'next' on 2024-02-27 at 7cd7a4c4d8)
 + upload-pack: don't send null character in abort message to the client

 An error message from "git upload-pack", which responds to "git
 fetch" requests, had a trialing NUL in it, which has been
 corrected.

 Will merge to 'master'.
 source: <20240225183452.1939334-1-szeder.dev@gmail.com>


* ak/rebase-autosquash (2024-02-27) 1 commit
  (merged to 'next' on 2024-02-27 at 1a37c5ed5e)
 + rebase: fix typo in autosquash documentation

 Typofix.

 Will merge to 'master'.
 source: <pull.1676.git.1709015578890.gitgitgadget@gmail.com>


* ps/reftable-repo-init-fix (2024-02-27) 2 commits
 - refs/reftable: don't fail empty transactions in repo without HEAD
 - Merge branch 'ps/remote-helper-repo-initialization-fix' into ps/reftable-repo-init-fix
 (this branch uses ps/remote-helper-repo-initialization-fix.)

 Clear the fallout from a fix for 2.44 regression.

 Will merge to 'next'?
 source: <95be968e10bd02c64448786e690bbefe5c082577.1709041721.git.ps@pks.im>


* ps/remote-helper-repo-initialization-fix (2024-02-27) 1 commit
 - builtin/clone: allow remote helpers to detect repo
 (this branch is used by ps/reftable-repo-init-fix.)

 A custom remote helper no longer cannot access the newly created
 repository during "git clone", which is a regression in Git 2.44.
 This has been corrected.

 Will merge to 'next'?
 source: <9d888adf92e9a8af7c18847219f97d3e595e3e36.1709041721.git.ps@pks.im>


* pw/rebase-i-ignore-cherry-pick-help-environment (2024-02-27) 1 commit
 - rebase -i: stop setting GIT_CHERRY_PICK_HELP

 Code simplification by getting rid of code that sets an environment
 variable that is no longer used.

 Comments?
 source: <pull.1678.git.1709042783847.gitgitgadget@gmail.com>

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

* ps/difftool-dir-diff-exit-code (2024-02-20) 1 commit
  (merged to 'next' on 2024-02-21 at a7bbef5a5f)
 + git-difftool--helper: honor `--trust-exit-code` with `--dir-diff`

 "git difftool --dir-diff" learned to honor the "--trust-exit-code"
 option; it used to always exit with 0 and signalled success.

 Will merge to 'master'.
 source: <0fac668f8fc021af9f9c4df5134da59816307ccc.1708423309.git.ps@pks.im>


* ds/doc-send-email-capitalization (2024-02-20) 1 commit
  (merged to 'next' on 2024-02-21 at c4aac4b993)
 + documentation: send-email: use camel case consistently

 Doc update.

 Will merge to 'master'.
 source: <88f1fe08c3047e14090957093ee8d98b0f60cb6c.1708467601.git.dsimic@manjaro.org>


* ja/docfixes (2024-02-20) 3 commits
  (merged to 'next' on 2024-02-21 at 6d778ca672)
 + doc: end sentences with full-stop
 + doc: close unclosed angle-bracket of a placeholder in git-clone doc
 + doc: git-rev-parse: enforce command-line description syntax

 Doc update.

 Will merge to 'master'.
 source: <pull.1670.git.1708468374.gitgitgadget@gmail.com>


* hs/rebase-not-in-progress (2024-02-21) 1 commit
  (merged to 'next' on 2024-02-23 at ce53f5243f)
 + rebase: make warning less passive aggressive

 Error message update.

 Will merge to 'master'.
 source: <pull.1669.v2.git.1708537097448.gitgitgadget@gmail.com>


* jw/remote-doc-typofix (2024-02-21) 1 commit
  (merged to 'next' on 2024-02-23 at fe95873cfa)
 + git-remote.txt: fix typo

 Docfix.

 Will merge to 'master'.
 source: <20240221083554.5255-1-jwilk@jwilk.net>


* ja/doc-placeholders-markup-rules (2024-02-21) 1 commit
  (merged to 'next' on 2024-02-23 at b6761ceeac)
 + doc: clarify the format of placeholders

 The way placeholders are to be marked-up in documentation have been
 specified; use "_<placeholder>_" to typeset the word inside a pair
 of <angle-brakets> emphasized.

 Will merge to 'master'.
 source: <pull.1671.git.1708550340094.gitgitgadget@gmail.com>


* jc/doc-add-placeholder-fix (2024-02-21) 1 commit
  (merged to 'next' on 2024-02-23 at 6950ff216b)
 + doc: apply the new placeholder rules to git-add documentation

 Practice the new mark-up rule for <placeholders> with "git add"
 documentation page.

 Will merge to 'master'.
 source: <xmqqbk89molz.fsf@gitster.g>


* as/option-names-in-messages (2024-02-16) 5 commits
 - revision.c: trivial fix to message
 - builtin/clone.c: trivial fix of message
 - builtin/remote.c: trivial fix of error message
 - transport-helper.c: trivial fix of error message
 - rebase: trivial fix of error message

 Error message updates.

 Expecting a reroll.
 source: <20240216101647.28837-1-ash@kambanaria.org>


* ps/reflog-list (2024-02-21) 9 commits
  (merged to 'next' on 2024-02-23 at 7413632239)
 + builtin/reflog: introduce subcommand to list reflogs
 + refs: stop resolving ref corresponding to reflogs
 + refs: drop unused params from the reflog iterator callback
 + refs: always treat iterators as ordered
 + refs/files: sort merged worktree and common reflogs
 + refs/files: sort reflogs returned by the reflog iterator
 + dir-iterator: support iteration in sorted order
 + dir-iterator: pass name to `prepare_next_entry_data()` directly
 + Merge branch 'ps/reftable-backend' into ps/reflog-list

 "git reflog" learned a "list" subcommand that enumerates known reflogs.

 Will merge to 'master'.
 source: <cover.1708518982.git.ps@pks.im>


* jh/fsmonitor-icase-corner-case-fix (2024-02-26) 14 commits
 - fsmonitor: support case-insensitive events
 - fsmonitor: refactor bit invalidation in refresh callback
 - fsmonitor: trace the new invalidated cache-entry count
 - fsmonitor: return invalided cache-entry count on non-directory event
 - fsmonitor: remove custom loop from non-directory path handler
 - fsmonitor: return invalidated cache-entry count on directory event
 - fsmonitor: move untracked-cache invalidation into helper functions
 - fsmonitor: refactor untracked-cache invalidation
 - dir: create untracked_cache_invalidate_trimmed_path()
 - fsmonitor: refactor refresh callback for non-directory events
 - fsmonitor: clarify handling of directory events in callback helper
 - fsmonitor: refactor refresh callback on directory events
 - t7527: add case-insensitve test for FSMonitor
 - name-hash: add index_dir_find()

 FSMonitor client code was confused when FSEvents were given in a
 different case on a case-insensitive filesystem, which has been
 corrected.

 Comments?
 source: <pull.1662.v3.git.1708983565.gitgitgadget@gmail.com>


* ps/reftable-iteration-perf-part2 (2024-02-14) 13 commits
 - reftable: allow inlining of a few functions
 - reftable/record: decode keys in place
 - reftable/record: reuse refname when copying
 - reftable/record: reuse refname when decoding
 - reftable/merged: avoid duplicate pqueue emptiness check
 - reftable/merged: circumvent pqueue with single subiter
 - reftable/merged: handle subiter cleanup on close only
 - reftable/merged: remove unnecessary null check for subiters
 - reftable/merged: make subiters own their records
 - reftable/merged: advance subiter on subsequent iteration
 - reftable/merged: make `merged_iter` structure private
 - reftable/pq: use `size_t` to track iterator index
 - Merge branch 'ps/reftable-iteration-perf' into ps/reftable-iteration-perf-part2

 The code to iterate over refs with the reftable backend has seen
 some optimization.

 Needs review.
 source: <cover.1707895758.git.ps@pks.im>


* cp/t9146-use-test-path-helpers (2024-02-14) 1 commit
  (merged to 'next' on 2024-02-21 at 0b8356ef33)
 + t9146: replace test -d/-e/-f with appropriate test_path_is_* function

 Test script clean-up.

 Will merge to 'master'.
 source: <pull.1661.v3.git.1707933048210.gitgitgadget@gmail.com>


* js/cmake-with-test-tool (2024-02-23) 2 commits
 - cmake: let `test-tool` run the unit tests, too
 - Merge branch 'js/unit-test-suite-runner' into js/cmake-with-test-tool
 (this branch uses js/unit-test-suite-runner.)

 "test-tool" is now built in CMake build to also run the unit tests.

 May want to roll it into the base topic.
 source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>


* kn/for-all-refs (2024-02-23) 6 commits
  (merged to 'next' on 2024-02-27 at aef2406cca)
 + for-each-ref: add new option to include root refs
 + ref-filter: rename 'FILTER_REFS_ALL' to 'FILTER_REFS_REGULAR'
 + refs: introduce `refs_for_each_include_root_refs()`
 + refs: extract out `loose_fill_ref_dir_regular_file()`
 + refs: introduce `is_pseudoref()` and `is_headref()`
 + Merge branch 'ps/reftable-backend' into kn/for-all-refs

 "git for-each-ref" filters its output with prefixes given from the
 command line, but it did not honor an empty string to mean "pass
 everything", which has been corrected.

 Will merge to 'master'.
 source: <20240223100112.44127-1-karthik.188@gmail.com>


* jc/no-lazy-fetch (2024-02-27) 3 commits
 - git: extend --no-lazy-fetch to work across subprocesses
 - git: document GIT_NO_REPLACE_OBJECTS environment variable
  (merged to 'next' on 2024-02-13 at 7c7136e547)
 + git: --no-lazy-fetch option

 "git --no-lazy-fetch cmd" allows to run "cmd" while disabling lazy
 fetching of objects from the promisor remote, which may be handy
 for debugging.

 Will merge to 'next'?
 source: <xmqq1q8xx38i.fsf@gitster.g>
 source: <xmqq1q9cl3xv.fsf@gitster.g>
 source: <xmqq1q9mmtpw.fsf@gitster.g>


* js/unit-test-suite-runner (2024-02-23) 8 commits
 - ci: use test-tool as unit test runner on Windows
 - t/Makefile: run unit tests alongside shell tests
 - unit tests: add rule for running with test-tool
 - test-tool run-command testsuite: support unit tests
 - test-tool run-command testsuite: remove hardcoded filter
 - test-tool run-command testsuite: get shell from env
 - t0080: turn t-basic unit test into a helper
 - Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner
 (this branch is used by js/cmake-with-test-tool.)

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.

 Needs review.
 source: <cover.1708728717.git.steadmon@google.com>


* cc/rev-list-allow-missing-tips (2024-02-14) 4 commits
  (merged to 'next' on 2024-02-21 at 9b63eec23f)
 + rev-list: allow missing tips with --missing=[print|allow*]
 + t6022: fix 'test' style and 'even though' typo
 + oidset: refactor oidset_insert_from_set()
 + revision: clarify a 'return NULL' in get_reference()

 "git rev-list --missing=print" has learned to optionally take
 "--allow-missing-tips", which allows the objects at the starting
 points to be missing.

 Will merge to 'master'.
 source: <20240214142513.4002639-1-christian.couder@gmail.com>


* js/merge-tree-3-trees (2024-02-23) 7 commits
 - fill_tree_descriptor(): mark error message for translation
 - cache-tree: avoid an unnecessary check
 - Always check `parse_tree*()`'s return value
 - t4301: verify that merge-tree fails on missing blob objects
 - merge-ort: do check `parse_tree()`'s return value
 - merge-tree: fail with a non-zero exit code on missing tree objects
  (merged to 'next' on 2024-01-30 at 0c77b04e59)
 + merge-tree: accept 3 trees as arguments

 "git merge-tree" has learned that the three trees involved in the
 3-way merge only need to be trees, not necessarily commits.

 Will merge to 'next'?
 source: <pull.1647.git.1706277694231.gitgitgadget@gmail.com>
 source: <pull.1651.v4.git.1708677266.gitgitgadget@gmail.com>


* rj/complete-reflog (2024-01-26) 4 commits
 - completion: reflog show <log-options>
 - completion: reflog with implicit "show"
 - completion: introduce __git_find_subcommand
 - completion: introduce __gitcomp_subcommand

 The command line completion script (in contrib/) learned to
 complete "git reflog" better.

 Expecting a reroll.
 cf. <dd106d87-3363-426a-90a2-16e1f2d04661@gmail.com>
 source: <98daf977-dbad-4d3b-a293-6a769895088f@gmail.com>


* ml/log-merge-with-cherry-pick-and-other-pseudo-heads (2024-02-27) 2 commits
 - revision: implement `git log --merge` also for rebase/cherry-pick/revert
 - revision: ensure MERGE_HEAD is a ref in prepare_show_merge

 "git log --merge" learned to pay attention to CHERRY_PICK_HEAD and
 other kinds of *_HEAD pseudorefs.

 Will merge to 'next'?
 source: <20240225-ml-log-merge-with-cherry-pick-and-other-pseudo-heads-v5-0-af1ef2d9e44d@gmail.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Expecting a reroll.
 cf. <CAC4O8c88Z3ZqxH2VVaNPpEGB3moL5dJcg3cOWuLWwQ_hLrJMtA@mail.gmail.com>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* la/trailer-api (2024-02-16) 9 commits
  (merged to 'next' on 2024-02-21 at 631e28bbbc)
 + format_trailers_from_commit(): indirectly call trailer_info_get()
 + format_trailer_info(): move "fast path" to caller
 + format_trailers(): use strbuf instead of FILE
 + trailer_info_get(): reorder parameters
 + trailer: start preparing for formatting unification
 + trailer: move interpret_trailers() to interpret-trailers.c
 + trailer: prepare to expose functions as part of API
 + shortlog: add test for de-duplicating folded trailers
 + trailer: free trailer_info _after_ all related usage

 Code clean-up.

 Will merge to 'master'.
 source: <pull.1632.v5.git.1708124950.gitgitgadget@gmail.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Will merge to and cook in 'next'?
 cf. <xmqqv86z5359.fsf@gitster.g>
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>

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

* mh/credential-oauth-refresh-token-with-osxkeychain (2024-02-14) 1 commit
 . credential/osxkeychain: store new attributes

 OAuth refresh tokens and password expiry timestamps are now stored
 in the osxkeychain backend , just the way libsecret and wincred
 backends of the credential subsystem do.

 Retracted.
 cf. <CAGJzqsknN_RmYeT0xcn4cTLcJhsxSOUC6ppRVepxMDf3day5Fw@mail.gmail.com>
 source: <pull.1663.git.1707860618119.gitgitgadget@gmail.com>


^ permalink raw reply	[relevance 20%]

* What's cooking in git.git (Feb 2024, #08; Thu, 22)
@ 2024-02-23 17:16 25% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-02-23 17:16 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

Git 2.44 has been tagged, after fixing a last minute regression.
Git 2.43.3 also has been tagged for the same fix.

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]

* ps/difftool-dir-diff-exit-code (2024-02-20) 1 commit
  (merged to 'next' on 2024-02-21 at a7bbef5a5f)
 + git-difftool--helper: honor `--trust-exit-code` with `--dir-diff`

 "git difftool --dir-diff" learned to honor the "--trust-exit-code"
 option; it used to always exit with 0 and signalled success.

 Will cook in 'next'.
 source: <0fac668f8fc021af9f9c4df5134da59816307ccc.1708423309.git.ps@pks.im>


* ds/doc-send-email-capitalization (2024-02-20) 1 commit
  (merged to 'next' on 2024-02-21 at c4aac4b993)
 + documentation: send-email: use camel case consistently

 Doc update.

 Will cook in 'next'.
 source: <88f1fe08c3047e14090957093ee8d98b0f60cb6c.1708467601.git.dsimic@manjaro.org>


* ja/docfixes (2024-02-20) 3 commits
  (merged to 'next' on 2024-02-21 at 6d778ca672)
 + doc: end sentences with full-stop
 + doc: close unclosed angle-bracket of a placeholder in git-clone doc
 + doc: git-rev-parse: enforce command-line description syntax

 Doc update.

 Will cook in 'next'.
 source: <pull.1670.git.1708468374.gitgitgadget@gmail.com>


* hs/rebase-not-in-progress (2024-02-21) 1 commit
 - rebase: make warning less passive aggressive

 Error message update.

 Will merge to 'next'.
 source: <pull.1669.v2.git.1708537097448.gitgitgadget@gmail.com>


* jw/remote-doc-typofix (2024-02-21) 1 commit
 - git-remote.txt: fix typo

 Docfix.

 Will merge to 'next'.
 source: <20240221083554.5255-1-jwilk@jwilk.net>


* ja/doc-placeholders-markup-rules (2024-02-21) 1 commit
 - doc: clarify the format of placeholders

 The way placeholders are to be marked-up in documentation have been
 specified; use "_<placeholder>_" to typeset the word inside a pair
 of <angle-brakets> emphasized.

 Will merge to 'next'.
 source: <pull.1671.git.1708550340094.gitgitgadget@gmail.com>


* jc/doc-add-placeholder-fix (2024-02-21) 1 commit
 - doc: apply the new placeholder rules to git-add documentation

 Practice the new mark-up rule for <placeholders> with "git add"
 documentation page.

 Will merge to 'next'.
 source: <xmqqbk89molz.fsf@gitster.g>

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

* as/option-names-in-messages (2024-02-16) 5 commits
 - revision.c: trivial fix to message
 - builtin/clone.c: trivial fix of message
 - builtin/remote.c: trivial fix of error message
 - transport-helper.c: trivial fix of error message
 - rebase: trivial fix of error message

 Error message updates.

 Expecting a reroll.
 source: <20240216101647.28837-1-ash@kambanaria.org>


* bb/completion-no-grep-into-awk (2024-02-16) 1 commit
  (merged to 'next' on 2024-02-19 at 8373f95424)
 + completion: use awk for filtering the config entries

 Some parts of command line completion script (in contrib/) have
 been micro-optimized.

 Will cook in 'next'.
 source: <20240216171046.927552-1-dev+git@drbeat.li>


* jb/doc-interactive-singlekey-do-not-need-perl (2024-02-19) 1 commit
  (merged to 'next' on 2024-02-19 at 9eda75497d)
 + doc: remove outdated information about interactive.singleKey

 Doc clean-up.

 Will cook in 'next'.
 source: <20240218030327.40453-1-julio.bacel@gmail.com>


* jk/t0303-clean (2024-02-19) 2 commits
  (merged to 'next' on 2024-02-19 at f57b65215f)
 + t0303: check that helper_test_clean removes all credentials
 + Merge branch 'ba/credential-test-clean-fix' into jk/t0303-clean
 (this branch uses ba/credential-test-clean-fix.)

 Test clean-up.

 Will cook in 'next'.
 source: <20240217045814.GA539459@coredump.intra.peff.net>


* km/mergetool-vimdiff-layout-fallback (2024-02-19) 1 commit
  (merged to 'next' on 2024-02-19 at bf7f086f05)
 + mergetools: vimdiff: use correct tool's name when reading mergetool config

 Variants of vimdiff learned to honor mergetool.<variant>.layout settings.

 Will cook in 'next'.
 source: <20240217162718.21272-1-kipras@kipras.org>


* mh/libsecret-empty-password-fix (2024-02-19) 1 commit
  (merged to 'next' on 2024-02-19 at b2e17695ca)
 + libsecret: retrieve empty password

 Credential helper based on libsecret (in contrib/) has been updated.

 Will cook in 'next'.
 source: <pull.1676.v2.git.git.1708375258296.gitgitgadget@gmail.com>


* ps/reflog-list (2024-02-21) 9 commits
 - builtin/reflog: introduce subcommand to list reflogs
 - refs: stop resolving ref corresponding to reflogs
 - refs: drop unused params from the reflog iterator callback
 - refs: always treat iterators as ordered
 - refs/files: sort merged worktree and common reflogs
 - refs/files: sort reflogs returned by the reflog iterator
 - dir-iterator: support iteration in sorted order
 - dir-iterator: pass name to `prepare_next_entry_data()` directly
 + Merge branch 'ps/reftable-backend' into ps/reflog-list
 (this branch uses ps/reftable-backend.)

 "git reflog" learned a "list" subcommand that enumerates known reflogs.

 Will merge to 'next'.
 source: <cover.1708518982.git.ps@pks.im>


* jh/fsmonitor-icase-corner-case-fix (2024-02-14) 11 commits
 - t7527: update case-insenstive fsmonitor test
 - fsmonitor: refactor bit invalidation in refresh callback
 - fsmonitor: support case-insensitive non-directory events
 - fsmonitor: refactor non-directory callback
 - fsmonitor: support case-insensitive directory events
 - fsmonitor: refactor untracked-cache invalidation
 - fsmonitor: clarify handling of directory events in callback
 - fsmonitor: refactor refresh callback for non-directory events
 - fsmonitor: refactor refresh callback on directory events
 - t7527: add case-insensitve test for FSMonitor
 - name-hash: add index_dir_exists2()

 FSMonitor client code was confused when FSEvents were given in a
 different case on a case-insensitive filesystem, which has been
 corrected.

 Needs review.
 source: <pull.1662.git.1707857541.gitgitgadget@gmail.com>


* mh/credential-oauth-refresh-token-with-osxkeychain (2024-02-14) 1 commit
 - credential/osxkeychain: store new attributes

 OAuth refresh tokens and password expiry timestamps are now stored
 in the osxkeychain backend , just the way libsecret and wincred
 backends of the credential subsystem do.

 Needs testing.
 cf. <CAGJzqsmSzMqEG1OU9dH6CORV6=L7qUAFNJSmi41Lqrajf9mSew@mail.gmail.com>
 source: <pull.1663.git.1707860618119.gitgitgadget@gmail.com>


* ps/reftable-iteration-perf-part2 (2024-02-14) 13 commits
 - reftable: allow inlining of a few functions
 - reftable/record: decode keys in place
 - reftable/record: reuse refname when copying
 - reftable/record: reuse refname when decoding
 - reftable/merged: avoid duplicate pqueue emptiness check
 - reftable/merged: circumvent pqueue with single subiter
 - reftable/merged: handle subiter cleanup on close only
 - reftable/merged: remove unnecessary null check for subiters
 - reftable/merged: make subiters own their records
 - reftable/merged: advance subiter on subsequent iteration
 - reftable/merged: make `merged_iter` structure private
 - reftable/pq: use `size_t` to track iterator index
 - Merge branch 'ps/reftable-iteration-perf' into ps/reftable-iteration-perf-part2
 (this branch uses ps/reftable-iteration-perf.)

 The code to iterate over refs with the reftable backend has seen
 some optimization.

 Needs review.
 source: <cover.1707895758.git.ps@pks.im>


* cp/t9146-use-test-path-helpers (2024-02-14) 1 commit
  (merged to 'next' on 2024-02-21 at 0b8356ef33)
 + t9146: replace test -d/-e/-f with appropriate test_path_is_* function

 Test script clean-up.

 Will cook in 'next'.
 source: <pull.1661.v3.git.1707933048210.gitgitgadget@gmail.com>


* rj/tag-column-fix (2024-02-14) 1 commit
  (merged to 'next' on 2024-02-19 at 9aa52b4ffb)
 + tag: error when git-column fails

 "git tag --column" failed to check the exit status of its "git
 column" invocation, which has been corrected.

 Will cook in 'next'.
 source: <59df085d-0de8-45b1-9b8b-c69e91e56a1f@gmail.com>


* jc/am-whitespace-doc (2024-02-14) 1 commit
  (merged to 'next' on 2024-02-19 at 492f0f9174)
 + doc: add shortcut to "am --whitespace=<action>"

 "git am --help" now tells readers what actions are available in
 "git am --whitespace=<action>", in addition to saying that the
 option is passed through to the underlying "git apply".

 Will cook in 'next'.
 source: <xmqqplwyvqby.fsf@gitster.g>


* ba/credential-test-clean-fix (2024-02-15) 1 commit
  (merged to 'next' on 2024-02-19 at 290708b10a)
 + t/lib-credential: clean additional credential
 (this branch is used by jk/t0303-clean.)

 Test clean-up.

 Will cook in 'next'.
 source: <pull.1664.git.1707959036807.gitgitgadget@gmail.com>


* js/cmake-with-test-tool (2024-02-15) 1 commit
 - cmake: let `test-tool` run the unit tests, too
 (this branch uses js/unit-test-suite-runner.)

 "test-tool" is now built in CMake build to also run the unit tests.

 May want to roll it into the base topic.
 source: <cover.1706921262.git.steadmon@google.com>


* ps/ref-tests-update-even-more (2024-02-15) 7 commits
  (merged to 'next' on 2024-02-15 at 064b2b4089)
 + t7003: ensure filter-branch prunes reflogs with the reftable backend
 + t2011: exercise D/F conflicts with HEAD with the reftable backend
 + t1405: remove unneeded cleanup step
 + t1404: make D/F conflict tests compatible with reftable backend
 + t1400: exercise reflog with gaps with reftable backend
 + t0410: convert tests to use DEFAULT_REPO_FORMAT prereq
 + t: move tests exercising the "files" backend

 More tests that are marked as "ref-files only" have been updated to
 improve test coverage of reftable backend.

 Will cook in 'next'.
 source: <cover.1707985173.git.ps@pks.im>


* rs/use-xstrncmpz (2024-02-12) 1 commit
  (merged to 'next' on 2024-02-12 at 37e5f0fc14)
 + use xstrncmpz()

 Code clean-up.

 Will cook in 'next'.
 source: <954b75d0-1504-4f57-b34e-e770a4b7b3ea@web.de>


* kn/for-all-refs (2024-02-12) 6 commits
 - for-each-ref: add new option to include root refs
 - ref-filter: rename 'FILTER_REFS_ALL' to 'FILTER_REFS_REGULAR'
 - refs: introduce `refs_for_each_include_root_refs()`
 - refs: extract out `loose_fill_ref_dir_regular_file()`
 - refs: introduce `is_pseudoref()` and `is_headref()`
 - Merge branch 'ps/reftable-backend' into kn/for-all-refs
 (this branch uses ps/reftable-backend.)

 "git for-each-ref" filters its output with prefixes given from the
 command line, but it did not honor an empty string to mean "pass
 everything", which has been corrected.

 Expecting a reroll?
 source: <20240211183923.131278-1-karthik.188@gmail.com>


* kh/column-reject-negative-padding (2024-02-13) 2 commits
  (merged to 'next' on 2024-02-14 at c30c08e495)
 + column: guard against negative padding
 + column: disallow negative padding

 "git column" has been taught to reject negative padding value, as
 it would lead to nonsense behaviour including division by zero.

 Will cook in 'next'.
 source: <cover.1707839454.git.code@khaugsbakk.name>


* jc/no-lazy-fetch (2024-02-16) 3 commits
 - git: extend --no-lazy-fetch to work across subprocesses
 - git: document GIT_NO_REPLACE_OBJECTS environment variable
  (merged to 'next' on 2024-02-13 at 7c7136e547)
 + git: --no-lazy-fetch option

 "git --no-lazy-fetch cmd" allows to run "cmd" while disabling lazy
 fetching of objects from the promisor remote, which may be handy
 for debugging.
 source: <xmqq1q9mmtpw.fsf@gitster.g>
 source: <xmqqv86pslos.fsf@gitster.g>


* jc/t9210-lazy-fix (2024-02-08) 1 commit
  (merged to 'next' on 2024-02-13 at fb61ca2fba)
 + t9210: do not rely on lazy fetching to fail
 (this branch is used by cc/rev-list-allow-missing-tips.)

 Adjust use of "rev-list --missing" in an existing tests so that it
 does not depend on a buggy failure mode.

 Will cook in 'next'.
 source: <xmqq7cjemttr.fsf@gitster.g>


* gt/at-is-synonym-for-head-in-add-patch (2024-02-13) 2 commits
  (merged to 'next' on 2024-02-14 at cd901555d6)
 + add -p tests: remove PERL prerequisites
 + add-patch: classify '@' as a synonym for 'HEAD'

 Teach "git checkout -p" and friends that "@" is a synonym for
 "HEAD".

 Will cook in 'next'.
 source: <20240211202035.7196-2-shyamthakkar001@gmail.com>


* js/unit-test-suite-runner (2024-02-03) 7 commits
 - t/Makefile: run unit tests alongside shell tests
 - unit tests: add rule for running with test-tool
 - test-tool run-command testsuite: support unit tests
 - test-tool run-command testsuite: remove hardcoded filter
 - test-tool run-command testsuite: get shell from env
 - t0080: turn t-basic unit test into a helper
 - Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner
 (this branch is used by js/cmake-with-test-tool.)

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.

 Expecting a reroll.
 cf. <20240207225802.GA538110@coredump.intra.peff.net>
 source: <cover.1706921262.git.steadmon@google.com>


* ps/reftable-backend (2024-02-07) 3 commits
  (merged to 'next' on 2024-02-08 at ba1c4c52bb)
 + refs/reftable: fix leak when copying reflog fails
  (merged to 'next' on 2024-02-07 at 1115200acb)
 + ci: add jobs to test with the reftable backend
 + refs: introduce reftable backend
 (this branch is used by kn/for-all-refs and ps/reflog-list.)

 Integrate the reftable code into the refs framework as a backend.

 Will cook in 'next'.
 source: <cover.1707288261.git.ps@pks.im>


* cc/rev-list-allow-missing-tips (2024-02-14) 4 commits
  (merged to 'next' on 2024-02-21 at 9b63eec23f)
 + rev-list: allow missing tips with --missing=[print|allow*]
 + t6022: fix 'test' style and 'even though' typo
 + oidset: refactor oidset_insert_from_set()
 + revision: clarify a 'return NULL' in get_reference()
 (this branch uses jc/t9210-lazy-fix.)

 "git rev-list --missing=print" has learned to optionally take
 "--allow-missing-tips", which allows the objects at the starting
 points to be missing.

 Will cook in 'next'.
 source: <20240214142513.4002639-1-christian.couder@gmail.com>


* ps/reftable-iteration-perf (2024-02-12) 7 commits
  (merged to 'next' on 2024-02-12 at 6abaf58383)
 + reftable/reader: add comments to `table_iter_next()`
 + reftable/record: don't try to reallocate ref record name
 + reftable/block: swap buffers instead of copying
 + reftable/pq: allocation-less comparison of entry keys
 + reftable/merged: skip comparison for records of the same subiter
 + reftable/merged: allocation-less dropping of shadowed records
 + reftable/record: introduce function to compare records by key
 (this branch is used by ps/reftable-iteration-perf-part2.)

 The code to iterate over refs with the reftable backend has seen
 some optimization.

 Will cook in 'next'.
 source: <cover.1707726654.git.ps@pks.im>


* js/merge-tree-3-trees (2024-02-22) 6 commits
 - cache-tree: avoid an unnecessary check
 - Always check `parse_tree*()`'s return value
 - t4301: verify that merge-tree fails on missing blob objects
 - merge-ort: do check `parse_tree()`'s return value
 - merge-tree: fail with a non-zero exit code on missing tree objects
  (merged to 'next' on 2024-01-30 at 0c77b04e59)
 + merge-tree: accept 3 trees as arguments

 "git merge-tree" has learned that the three trees involved in the
 3-way merge only need to be trees, not necessarily commits.

 Comments?
 source: <pull.1647.git.1706277694231.gitgitgadget@gmail.com>
 source: <pull.1651.v3.git.1708612605.gitgitgadget@gmail.com>


* rj/complete-reflog (2024-01-26) 4 commits
 - completion: reflog show <log-options>
 - completion: reflog with implicit "show"
 - completion: introduce __git_find_subcommand
 - completion: introduce __gitcomp_subcommand

 The command line completion script (in contrib/) learned to
 complete "git reflog" better.

 Expecting a reroll.
 cf. <dd106d87-3363-426a-90a2-16e1f2d04661@gmail.com>
 source: <98daf977-dbad-4d3b-a293-6a769895088f@gmail.com>


* ml/log-merge-with-cherry-pick-and-other-pseudo-heads (2024-02-12) 2 commits
 - revision: implement `git log --merge` also for rebase/cherry-pick/revert
 - revision: ensure MERGE_HEAD is a ref in prepare_show_merge

 "git log --merge" learned to pay attention to CHERRY_PICK_HEAD and
 other kinds of *_HEAD pseudorefs.

 Expecting a reroll.
 cf. <790a3f11-5a8c-42f2-7a35-f2900c0299b4@gmail.com>
 cf. <8384d1dc-b6c4-b853-9bf6-3d7ccee86d12@gmail.com>
 source: <20240210-ml-log-merge-with-cherry-pick-and-other-pseudo-heads-v4-0-3bc9e62808f4@gmail.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Expecting a reroll.
 cf. <CAC4O8c88Z3ZqxH2VVaNPpEGB3moL5dJcg3cOWuLWwQ_hLrJMtA@mail.gmail.com>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* la/trailer-api (2024-02-16) 9 commits
  (merged to 'next' on 2024-02-21 at 631e28bbbc)
 + format_trailers_from_commit(): indirectly call trailer_info_get()
 + format_trailer_info(): move "fast path" to caller
 + format_trailers(): use strbuf instead of FILE
 + trailer_info_get(): reorder parameters
 + trailer: start preparing for formatting unification
 + trailer: move interpret_trailers() to interpret-trailers.c
 + trailer: prepare to expose functions as part of API
 + shortlog: add test for de-duplicating folded trailers
 + trailer: free trailer_info _after_ all related usage

 Code clean-up.

 Will cook in 'next'.
 source: <pull.1632.v5.git.1708124950.gitgitgadget@gmail.com>


* cp/apply-core-filemode (2023-12-26) 3 commits
  (merged to 'next' on 2024-02-07 at 089a3fbb86)
 + apply: code simplification
 + apply: correctly reverse patch's pre- and post-image mode bits
 + apply: ignore working tree filemode when !core.filemode

 "git apply" on a filesystem without filemode support have learned
 to take a hint from what is in the index for the path, even when
 not working with the "--index" or "--cached" option, when checking
 the executable bit match what is required by the preimage in the
 patch.

 Will cook in 'next'.
 cf. <xmqqzfwb53a9.fsf@gitster.g>
 source: <20231226233218.472054-1-gitster@pobox.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Will merge to and cook in 'next'?
 cf. <xmqqv86z5359.fsf@gitster.g>
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 25%]

* Re: What's cooking in git.git (Feb 2024, #07; Tue, 20)
  @ 2024-02-22 16:15 99%       ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-02-22 16:15 UTC (permalink / raw)
  To: Patrick Steinhardt; +Cc: Karthik Nayak, git

Patrick Steinhardt <ps@pks.im> writes:

> This version already has the updated UI with `--include-root-refs`.
> There has been some discussion around whether we want to refactor the
> refname checking interfaces so that we do not have to introduce the two
> new helper functions `is_pseudoref()` and `is_headref()`. But that would
> result in a lot of churn, and we thus agreed that it is fine to do that
> in a follow up patch series.
>
> I then forgot to have a look at the remaining patches. I can do that
> today.

Thanks.


^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (Feb 2024, #07; Tue, 20)
  @ 2024-02-21 16:44 99%   ` Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2024-02-21 16:44 UTC (permalink / raw)
  To: Karthik Nayak; +Cc: git

Karthik Nayak <karthik.188@gmail.com> writes:

>> * kn/for-all-refs (2024-02-12) 6 commits
>>  - for-each-ref: add new option to include root refs
>>  - ref-filter: rename 'FILTER_REFS_ALL' to 'FILTER_REFS_REGULAR'
>>  - refs: introduce `refs_for_each_include_root_refs()`
>>  - refs: extract out `loose_fill_ref_dir_regular_file()`
>>  - refs: introduce `is_pseudoref()` and `is_headref()`
>>  - Merge branch 'ps/reftable-backend' into kn/for-all-refs
>>  (this branch uses ps/reftable-backend.)
>>
>>  "git for-each-ref" filters its output with prefixes given from the
>>  command line, but it did not honor an empty string to mean "pass
>>  everything", which has been corrected.
>>
>>  Will merge to 'next'?
>>  source: <20240211183923.131278-1-karthik.188@gmail.com>
>
> Let me know if there's something more I could do here.

Hmph, I do not recall what the plan for this thing was.  Wasn't it
ejected from 'next' so that its UI can be rethought?  Or did that
happen already and what is in 'seen' already with a new UI?

Thanks.


^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Feb 2024, #07; Tue, 20)
@ 2024-02-20 17:44 27% Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2024-02-20 17:44 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

Git 2.44-rc2 has been tagged to fix a regression discovered the last
minute.  The final release is postponed until later this week.

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']

* la/trailer-cleanups (2024-02-19) 1 commit
 - trailer: fix comment/cut-line regression with opts->no_divider

 Fix to an already-graduated topic.

 source: <20240220010936.GA1793660@coredump.intra.peff.net>

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

* as/option-names-in-messages (2024-02-16) 5 commits
 - revision.c: trivial fix to message
 - builtin/clone.c: trivial fix of message
 - builtin/remote.c: trivial fix of error message
 - transport-helper.c: trivial fix of error message
 - rebase: trivial fix of error message

 Error message updates.

 Expecting a reroll.
 source: <20240216101647.28837-1-ash@kambanaria.org>


* bb/completion-no-grep-into-awk (2024-02-16) 1 commit
  (merged to 'next' on 2024-02-19 at 8373f95424)
 + completion: use awk for filtering the config entries

 Some parts of command line completion script (in contrib/) have
 been micro-optimized.

 Will cook in 'next'.
 source: <20240216171046.927552-1-dev+git@drbeat.li>


* jb/doc-interactive-singlekey-do-not-need-perl (2024-02-19) 1 commit
  (merged to 'next' on 2024-02-19 at 9eda75497d)
 + doc: remove outdated information about interactive.singleKey

 Doc clean-up.

 Will cook in 'next'.
 source: <20240218030327.40453-1-julio.bacel@gmail.com>


* jk/t0303-clean (2024-02-19) 2 commits
  (merged to 'next' on 2024-02-19 at f57b65215f)
 + t0303: check that helper_test_clean removes all credentials
 + Merge branch 'ba/credential-test-clean-fix' into jk/t0303-clean
 (this branch uses ba/credential-test-clean-fix.)

 Test clean-up.

 Will cook in 'next'.
 source: <20240217045814.GA539459@coredump.intra.peff.net>


* km/mergetool-vimdiff-layout-fallback (2024-02-19) 1 commit
  (merged to 'next' on 2024-02-19 at bf7f086f05)
 + mergetools: vimdiff: use correct tool's name when reading mergetool config

 Variants of vimdiff learned to honor mergetool.<variant>.layout settings.

 Will cook in 'next'.
 source: <20240217162718.21272-1-kipras@kipras.org>


* mh/libsecret-empty-password-fix (2024-02-19) 1 commit
  (merged to 'next' on 2024-02-19 at b2e17695ca)
 + libsecret: retrieve empty password

 Credential helper based on libsecret (in contrib/) has been updated.

 Will cook in 'next'.
 source: <pull.1676.v2.git.git.1708375258296.gitgitgadget@gmail.com>


* ps/reflog-list (2024-02-19) 7 commits
  (merged to 'next' on 2024-02-19 at 6c491b5079)
 + builtin/reflog: introduce subcommand to list reflogs
 + refs: stop resolving ref corresponding to reflogs
 + refs: drop unused params from the reflog iterator callback
 + refs/files: sort reflogs returned by the reflog iterator
 + dir-iterator: support iteration in sorted order
 + dir-iterator: pass name to `prepare_next_entry_data()` directly
 + Merge branch 'ps/reftable-backend' into ps/reflog-list
 (this branch uses ps/reftable-backend.)

 "git reflog" learned a "list" subcommand that enumerates known reflogs.

 Will cook in 'next'.
 source: <cover.1708353264.git.ps@pks.im>

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

* jh/fsmonitor-icase-corner-case-fix (2024-02-14) 11 commits
 - t7527: update case-insenstive fsmonitor test
 - fsmonitor: refactor bit invalidation in refresh callback
 - fsmonitor: support case-insensitive non-directory events
 - fsmonitor: refactor non-directory callback
 - fsmonitor: support case-insensitive directory events
 - fsmonitor: refactor untracked-cache invalidation
 - fsmonitor: clarify handling of directory events in callback
 - fsmonitor: refactor refresh callback for non-directory events
 - fsmonitor: refactor refresh callback on directory events
 - t7527: add case-insensitve test for FSMonitor
 - name-hash: add index_dir_exists2()

 FSMonitor client code was confused when FSEvents were given in a
 different case on a case-insensitive filesystem, which has been
 corrected.

 Needs review.
 source: <pull.1662.git.1707857541.gitgitgadget@gmail.com>


* mh/credential-oauth-refresh-token-with-osxkeychain (2024-02-14) 1 commit
 - credential/osxkeychain: store new attributes

 OAuth refresh tokens and password expiry timestamps are now stored
 in the osxkeychain backend , just the way libsecret and wincred
 backends of the credential subsystem do.

 Needs testing.
 cf. <CAGJzqsmSzMqEG1OU9dH6CORV6=L7qUAFNJSmi41Lqrajf9mSew@mail.gmail.com>
 source: <pull.1663.git.1707860618119.gitgitgadget@gmail.com>


* ps/reftable-iteration-perf-part2 (2024-02-14) 13 commits
 - reftable: allow inlining of a few functions
 - reftable/record: decode keys in place
 - reftable/record: reuse refname when copying
 - reftable/record: reuse refname when decoding
 - reftable/merged: avoid duplicate pqueue emptiness check
 - reftable/merged: circumvent pqueue with single subiter
 - reftable/merged: handle subiter cleanup on close only
 - reftable/merged: remove unnecessary null check for subiters
 - reftable/merged: make subiters own their records
 - reftable/merged: advance subiter on subsequent iteration
 - reftable/merged: make `merged_iter` structure private
 - reftable/pq: use `size_t` to track iterator index
 - Merge branch 'ps/reftable-iteration-perf' into ps/reftable-iteration-perf-part2
 (this branch uses ps/reftable-iteration-perf.)

 The code to iterate over refs with the reftable backend has seen
 some optimization.

 Needs review.
 source: <cover.1707895758.git.ps@pks.im>


* cp/t9146-use-test-path-helpers (2024-02-14) 1 commit
 - t9146: replace test -d/-e/-f with appropriate test_path_is_* function

 Test script clean-up.
 source: <pull.1661.v3.git.1707933048210.gitgitgadget@gmail.com>


* rj/tag-column-fix (2024-02-14) 1 commit
  (merged to 'next' on 2024-02-19 at 9aa52b4ffb)
 + tag: error when git-column fails

 "git tag --column" failed to check the exit status of its "git
 column" invocation, which has been corrected.

 Will cook in 'next'.
 source: <59df085d-0de8-45b1-9b8b-c69e91e56a1f@gmail.com>


* jc/am-whitespace-doc (2024-02-14) 1 commit
  (merged to 'next' on 2024-02-19 at 492f0f9174)
 + doc: add shortcut to "am --whitespace=<action>"

 "git am --help" now tells readers what actions are available in
 "git am --whitespace=<action>", in addition to saying that the
 option is passed through to the underlying "git apply".

 Will cook in 'next'.
 source: <xmqqplwyvqby.fsf@gitster.g>


* ba/credential-test-clean-fix (2024-02-15) 1 commit
  (merged to 'next' on 2024-02-19 at 290708b10a)
 + t/lib-credential: clean additional credential
 (this branch is used by jk/t0303-clean.)

 Test clean-up.

 Will cook in 'next'.
 source: <pull.1664.git.1707959036807.gitgitgadget@gmail.com>


* js/cmake-with-test-tool (2024-02-15) 1 commit
 - cmake: let `test-tool` run the unit tests, too
 (this branch uses js/unit-test-suite-runner.)

 "test-tool" is now built in CMake build to also run the unit tests.

 May want to roll it into the base topic.
 source: <cover.1706921262.git.steadmon@google.com>


* ps/ref-tests-update-even-more (2024-02-15) 7 commits
  (merged to 'next' on 2024-02-15 at 064b2b4089)
 + t7003: ensure filter-branch prunes reflogs with the reftable backend
 + t2011: exercise D/F conflicts with HEAD with the reftable backend
 + t1405: remove unneeded cleanup step
 + t1404: make D/F conflict tests compatible with reftable backend
 + t1400: exercise reflog with gaps with reftable backend
 + t0410: convert tests to use DEFAULT_REPO_FORMAT prereq
 + t: move tests exercising the "files" backend

 More tests that are marked as "ref-files only" have been updated to
 improve test coverage of reftable backend.

 Will cook in 'next'.
 source: <cover.1707985173.git.ps@pks.im>


* rs/use-xstrncmpz (2024-02-12) 1 commit
  (merged to 'next' on 2024-02-12 at 37e5f0fc14)
 + use xstrncmpz()

 Code clean-up.

 Will cook in 'next'.
 source: <954b75d0-1504-4f57-b34e-e770a4b7b3ea@web.de>


* kn/for-all-refs (2024-02-12) 6 commits
 - for-each-ref: add new option to include root refs
 - ref-filter: rename 'FILTER_REFS_ALL' to 'FILTER_REFS_REGULAR'
 - refs: introduce `refs_for_each_include_root_refs()`
 - refs: extract out `loose_fill_ref_dir_regular_file()`
 - refs: introduce `is_pseudoref()` and `is_headref()`
 - Merge branch 'ps/reftable-backend' into kn/for-all-refs
 (this branch uses ps/reftable-backend.)

 "git for-each-ref" filters its output with prefixes given from the
 command line, but it did not honor an empty string to mean "pass
 everything", which has been corrected.

 Will merge to 'next'?
 source: <20240211183923.131278-1-karthik.188@gmail.com>


* kh/column-reject-negative-padding (2024-02-13) 2 commits
  (merged to 'next' on 2024-02-14 at c30c08e495)
 + column: guard against negative padding
 + column: disallow negative padding

 "git column" has been taught to reject negative padding value, as
 it would lead to nonsense behaviour including division by zero.

 Will cook in 'next'.
 source: <cover.1707839454.git.code@khaugsbakk.name>


* jc/no-lazy-fetch (2024-02-16) 3 commits
 - git: extend --no-lazy-fetch to work across subprocesses
 - git: document GIT_NO_REPLACE_OBJECTS environment variable
  (merged to 'next' on 2024-02-13 at 7c7136e547)
 + git: --no-lazy-fetch option

 "git --no-lazy-fetch cmd" allows to run "cmd" while disabling lazy
 fetching of objects from the promisor remote, which may be handy
 for debugging.
 source: <xmqq1q9mmtpw.fsf@gitster.g>
 source: <xmqqv86pslos.fsf@gitster.g>


* jc/t9210-lazy-fix (2024-02-08) 1 commit
  (merged to 'next' on 2024-02-13 at fb61ca2fba)
 + t9210: do not rely on lazy fetching to fail
 (this branch is used by cc/rev-list-allow-missing-tips.)

 Adjust use of "rev-list --missing" in an existing tests so that it
 does not depend on a buggy failure mode.

 Will cook in 'next'.
 source: <xmqq7cjemttr.fsf@gitster.g>


* gt/at-is-synonym-for-head-in-add-patch (2024-02-13) 2 commits
  (merged to 'next' on 2024-02-14 at cd901555d6)
 + add -p tests: remove PERL prerequisites
 + add-patch: classify '@' as a synonym for 'HEAD'

 Teach "git checkout -p" and friends that "@" is a synonym for
 "HEAD".

 Will cook in 'next'.
 source: <20240211202035.7196-2-shyamthakkar001@gmail.com>


* js/unit-test-suite-runner (2024-02-03) 7 commits
 - t/Makefile: run unit tests alongside shell tests
 - unit tests: add rule for running with test-tool
 - test-tool run-command testsuite: support unit tests
 - test-tool run-command testsuite: remove hardcoded filter
 - test-tool run-command testsuite: get shell from env
 - t0080: turn t-basic unit test into a helper
 - Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner
 (this branch is used by js/cmake-with-test-tool.)

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.

 Expecting a reroll.
 cf. <20240207225802.GA538110@coredump.intra.peff.net>
 source: <cover.1706921262.git.steadmon@google.com>


* ps/reftable-backend (2024-02-07) 3 commits
  (merged to 'next' on 2024-02-08 at ba1c4c52bb)
 + refs/reftable: fix leak when copying reflog fails
  (merged to 'next' on 2024-02-07 at 1115200acb)
 + ci: add jobs to test with the reftable backend
 + refs: introduce reftable backend
 (this branch is used by kn/for-all-refs and ps/reflog-list.)

 Integrate the reftable code into the refs framework as a backend.

 Will cook in 'next'.
 source: <cover.1707288261.git.ps@pks.im>


* cc/rev-list-allow-missing-tips (2024-02-14) 4 commits
 - rev-list: allow missing tips with --missing=[print|allow*]
 - t6022: fix 'test' style and 'even though' typo
 - oidset: refactor oidset_insert_from_set()
 - revision: clarify a 'return NULL' in get_reference()
 (this branch uses jc/t9210-lazy-fix.)

 "git rev-list --missing=print" have learned to optionally take
 "--allow-missing-tips", which allows the objects at the starting
 points to be missing.

 Will merge to 'next'?
 source: <20240214142513.4002639-1-christian.couder@gmail.com>


* ps/reftable-iteration-perf (2024-02-12) 7 commits
  (merged to 'next' on 2024-02-12 at 6abaf58383)
 + reftable/reader: add comments to `table_iter_next()`
 + reftable/record: don't try to reallocate ref record name
 + reftable/block: swap buffers instead of copying
 + reftable/pq: allocation-less comparison of entry keys
 + reftable/merged: skip comparison for records of the same subiter
 + reftable/merged: allocation-less dropping of shadowed records
 + reftable/record: introduce function to compare records by key
 (this branch is used by ps/reftable-iteration-perf-part2.)

 The code to iterate over refs with the reftable backend has seen
 some optimization.

 Will cook in 'next'.
 source: <cover.1707726654.git.ps@pks.im>


* js/merge-tree-3-trees (2024-02-07) 6 commits
 - cache-tree: avoid an unnecessary check
 - Always check `parse_tree*()`'s return value
 - t4301: verify that merge-tree fails on missing blob objects
 - merge-ort: do check `parse_tree()`'s return value
 - merge-tree: fail with a non-zero exit code on missing tree objects
  (merged to 'next' on 2024-01-30 at 0c77b04e59)
 + merge-tree: accept 3 trees as arguments

 "git merge-tree" has learned that the three trees involved in the
 3-way merge only need to be trees, not necessarily commits.

 Expecting a reroll.
 cf. <CAPig+cSs8MFkLasTULh7tybrFm7SwaT+JeR7HnXjh+-agCHYMw@mail.gmail.com>
 cf. <CAPig+cSJz3U+vT==NhX5hcrTjsCggnAzhzQOvZcSXbcEGuYaKQ@mail.gmail.com>
 source: <pull.1647.v2.git.1706474063109.gitgitgadget@gmail.com>
 source: <pull.1651.v2.git.1707324461.gitgitgadget@gmail.com>


* rj/complete-reflog (2024-01-26) 4 commits
 - completion: reflog show <log-options>
 - completion: reflog with implicit "show"
 - completion: introduce __git_find_subcommand
 - completion: introduce __gitcomp_subcommand

 The command line completion script (in contrib/) learned to
 complete "git reflog" better.

 Needs review.
 source: <98daf977-dbad-4d3b-a293-6a769895088f@gmail.com>


* ml/log-merge-with-cherry-pick-and-other-pseudo-heads (2024-02-12) 2 commits
 - revision: implement `git log --merge` also for rebase/cherry-pick/revert
 - revision: ensure MERGE_HEAD is a ref in prepare_show_merge

 "git log --merge" learned to pay attention to CHERRY_PICK_HEAD and
 other kinds of *_HEAD pseudorefs.

 Expecting a reroll.
 cf. <790a3f11-5a8c-42f2-7a35-f2900c0299b4@gmail.com>
 cf. <8384d1dc-b6c4-b853-9bf6-3d7ccee86d12@gmail.com>
 source: <20240210-ml-log-merge-with-cherry-pick-and-other-pseudo-heads-v4-0-3bc9e62808f4@gmail.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Needs review.
 cf. <xmqq4jej6i1b.fsf@gitster.g>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* la/trailer-api (2024-02-16) 9 commits
 - format_trailers_from_commit(): indirectly call trailer_info_get()
 - format_trailer_info(): move "fast path" to caller
 - format_trailers(): use strbuf instead of FILE
 - trailer_info_get(): reorder parameters
 - trailer: start preparing for formatting unification
 - trailer: move interpret_trailers() to interpret-trailers.c
 - trailer: prepare to expose functions as part of API
 - shortlog: add test for de-duplicating folded trailers
 - trailer: free trailer_info _after_ all related usage

 Code clean-up.
 source: <pull.1632.v5.git.1708124950.gitgitgadget@gmail.com>


* cp/apply-core-filemode (2023-12-26) 3 commits
  (merged to 'next' on 2024-02-07 at 089a3fbb86)
 + apply: code simplification
 + apply: correctly reverse patch's pre- and post-image mode bits
 + apply: ignore working tree filemode when !core.filemode

 "git apply" on a filesystem without filemode support have learned
 to take a hint from what is in the index for the path, even when
 not working with the "--index" or "--cached" option, when checking
 the executable bit match what is required by the preimage in the
 patch.

 Will cook in 'next'.
 cf. <xmqqzfwb53a9.fsf@gitster.g>
 source: <20231226233218.472054-1-gitster@pobox.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Will merge to and cook in 'next'?
 cf. <xmqqv86z5359.fsf@gitster.g>
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 27%]

* What's cooking in git.git (Feb 2024, #06; Thu, 15)
@ 2024-02-16  1:25 25% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-02-16  1:25 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

Git 2.44-rc1 has been tagged.  This round, let's try having just one
release candidate before the final, which is expected to be tagged
on or around 20th.

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]

* jh/fsmonitor-icase-corner-case-fix (2024-02-14) 11 commits
 - t7527: update case-insenstive fsmonitor test
 - fsmonitor: refactor bit invalidation in refresh callback
 - fsmonitor: support case-insensitive non-directory events
 - fsmonitor: refactor non-directory callback
 - fsmonitor: support case-insensitive directory events
 - fsmonitor: refactor untracked-cache invalidation
 - fsmonitor: clarify handling of directory events in callback
 - fsmonitor: refactor refresh callback for non-directory events
 - fsmonitor: refactor refresh callback on directory events
 - t7527: add case-insensitve test for FSMonitor
 - name-hash: add index_dir_exists2()

 FSMonitor client code was confused when FSEvents were given in a
 different case on a case-insensitive filesystem, which has been
 corrected.

 Needs review.
 source: <pull.1662.git.1707857541.gitgitgadget@gmail.com>


* mh/credential-oauth-refresh-token-with-osxkeychain (2024-02-14) 1 commit
 - credential/osxkeychain: store new attributes

 OAuth refresh tokens and password expiry timestamps are now stored
 in the osxkeychain backend , just the way libsecret and wincred
 backends of the credential subsystem do.

 Needs testing.
 cf. <CAGJzqsmSzMqEG1OU9dH6CORV6=L7qUAFNJSmi41Lqrajf9mSew@mail.gmail.com>
 source: <pull.1663.git.1707860618119.gitgitgadget@gmail.com>


* ps/reftable-iteration-perf-part2 (2024-02-14) 13 commits
 - reftable: allow inlining of a few functions
 - reftable/record: decode keys in place
 - reftable/record: reuse refname when copying
 - reftable/record: reuse refname when decoding
 - reftable/merged: avoid duplicate pqueue emptiness check
 - reftable/merged: circumvent pqueue with single subiter
 - reftable/merged: handle subiter cleanup on close only
 - reftable/merged: remove unnecessary null check for subiters
 - reftable/merged: make subiters own their records
 - reftable/merged: advance subiter on subsequent iteration
 - reftable/merged: make `merged_iter` structure private
 - reftable/pq: use `size_t` to track iterator index
 - Merge branch 'ps/reftable-iteration-perf' into ps/reftable-iteration-perf-part2
 (this branch uses ps/reftable-iteration-perf.)

 The code to iterate over refs with the reftable backend has seen
 some optimization.

 Needs review.
 source: <cover.1707895758.git.ps@pks.im>


* cp/t9146-use-test-path-helpers (2024-02-14) 1 commit
 - t9146: replace test -d/-e/-f with appropriate test_path_is_* function

 Test script clean-up.
 source: <pull.1661.v3.git.1707933048210.gitgitgadget@gmail.com>


* rj/tag-column-fix (2024-02-14) 1 commit
 - tag: error when git-column fails

 "git tag --column" failed to check the exit status of its "git
 column" invocation, which has been corrected.

 Will merge to 'next'?
 source: <59df085d-0de8-45b1-9b8b-c69e91e56a1f@gmail.com>


* jc/am-whitespace-doc (2024-02-14) 1 commit
 - doc: add shortcut to "am --whitespace=<action>"

 "git am --help" now tells readers what actions are available in
 "git am --whitespace=<action>", in addition to saying that the
 option is passed through to the underlying "git apply".

 Will merge to 'next'?
 source: <xmqqplwyvqby.fsf@gitster.g>


* ba/credential-test-clean-fix (2024-02-15) 1 commit
 - t/lib-credential: clean additional credential

 Test clean-up.

 Will merge to 'next'?
 source: <pull.1664.git.1707959036807.gitgitgadget@gmail.com>


* js/cmake-with-test-tool (2024-02-15) 1 commit
 - cmake: let `test-tool` run the unit tests, too
 (this branch uses js/unit-test-suite-runner.)

 "test-tool" is now built in CMake build to also run the unit tests.

 May want to roll it into the base topic.
 source: <cover.1706921262.git.steadmon@google.com>

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

* cp/git-flush-is-an-env-bool (2024-02-13) 1 commit
  (merged to 'next' on 2024-02-13 at c0850f5675)
 + write-or-die: fix the polarity of GIT_FLUSH environment variable

 Recent conversion to allow more than 0/1 in GIT_FLUSH broke the
 mechanism by flipping what yes/no means by mistake, which has been
 corrected.

 Will merge to 'master' and then to 'maint'
 source: <xmqqbk8k5eo0.fsf@gitster.g>


* jc/github-actions-update (2024-02-02) 3 commits
  (merged to 'next' on 2024-02-07 at 2cd6caaf70)
 + Merge branch 'jc/maint-github-actions-update' into jc/github-actions-update
 + GitHub Actions: update to github-script@v7
 + GitHub Actions: update to checkout@v4
 (this branch is used by js/github-actions-update.)

 Squelch node.js 16 deprecation warnings from GitHub Actions CI
 by updating actions/github-script and actions/checkout that use
 node.js 20.
 source: <20240202203935.1240458-1-gitster@pobox.com>


* jc/unit-tests-make-relative-fix (2024-02-12) 1 commit
  (merged to 'next' on 2024-02-12 at 554eddef80)
 + unit-tests: do show relative file paths on non-Windows, too

 The mechanism to report the filename in the source code, used by
 the unit-test machinery, assumed that the compiler expanded __FILE__
 to the path to the source given to the $(CC), but some compilers
 give full path, breaking the output.  This has been corrected.
 source: <xmqqle7r9enn.fsf_-_@gitster.g>


* js/check-null-from-read-object-file (2024-02-06) 1 commit
  (merged to 'next' on 2024-02-12 at 3a18369516)
 + Always check the return value of `repo_read_object_file()`

 The code paths that call repo_read_object_file() have been
 tightened to react to errors.
 source: <pull.1650.git.1707143753726.gitgitgadget@gmail.com>


* js/github-actions-update (2024-02-12) 2 commits
  (merged to 'next' on 2024-02-12 at f52de8b126)
 + ci(linux32): add a note about Actions that must not be updated
 + ci: bump remaining outdated Actions versions
 (this branch uses jc/github-actions-update.)

 Update remaining GitHub Actions jobs to avoid warnings against
 using deprecated version of Node.js.
 source: <pull.1660.v2.git.1707653489.gitgitgadget@gmail.com>


* jx/dirstat-parseopt-help (2024-02-14) 1 commit
  (merged to 'next' on 2024-02-14 at 901101e5f5)
 + diff: mark param1 and param2 as placeholders

 The mark-up of diff options has been updated to help translators.
 source: <3a82f72f33663f162aa41cb20c0fb3b6786971c9.1707900029.git.worldhello.net@gmail.com>


* pb/complete-config (2024-02-12) 4 commits
  (merged to 'next' on 2024-02-13 at d09f5e469a)
 + completion: add and use __git_compute_second_level_config_vars_for_section
 + completion: add and use __git_compute_first_level_config_vars_for_section
 + completion: complete 'submodule.*' config variables
 + completion: add space after config variable names also in Bash 3

 The command line completion script (in contrib/) learned to
 complete configuration variable names better.
 cf. <Zcs34kGTqTbIana6@tanuki>
 source: <pull.1660.v3.git.git.1707589943.gitgitgadget@gmail.com>


* pw/gc-during-rebase (2024-02-09) 1 commit
  (merged to 'next' on 2024-02-12 at d54c5ce325)
 + prune: mark rebase autostash and orig-head as reachable

 The sequencer machinery does not use the ref API and instead
 records names of certain objects it needs for its correct operation
 in temporary files, which makes these objects susceptible to loss
 by garbage collection.  These temporary files have been added as
 starting points for reachability analysis to fix this.
 source: <pull.1656.v2.git.1707495579886.gitgitgadget@gmail.com>


* rs/receive-pack-remove-find-header (2024-02-12) 2 commits
  (merged to 'next' on 2024-02-12 at f1bf281e10)
 + receive-pack: use find_commit_header() in check_nonce()
 + receive-pack: use find_commit_header() in check_cert_push_options()

 Code simplification.
 source: <8b350cae-2180-4ac7-a911-d40043576445@web.de>


* vn/rebase-with-cherry-pick-authorship (2024-02-08) 1 commit
  (merged to 'next' on 2024-02-09 at ed35d33595)
 + sequencer: unset GIT_CHERRY_PICK_HELP for 'exec' commands

 "git cherry-pick" invoked during "git rebase -i" session lost
 the authorship information, which has been corrected.
 source: <0adb1068-ef10-44ed-ad1d-e0927a09245d@gmail.com>

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

* ps/ref-tests-update-even-more (2024-02-15) 7 commits
  (merged to 'next' on 2024-02-15 at 064b2b4089)
 + t7003: ensure filter-branch prunes reflogs with the reftable backend
 + t2011: exercise D/F conflicts with HEAD with the reftable backend
 + t1405: remove unneeded cleanup step
 + t1404: make D/F conflict tests compatible with reftable backend
 + t1400: exercise reflog with gaps with reftable backend
 + t0410: convert tests to use DEFAULT_REPO_FORMAT prereq
 + t: move tests exercising the "files" backend

 More tests that are marked as "ref-files only" have been updated to
 improve test coverage of reftable backend.

 Will cook in 'next'.
 source: <cover.1707985173.git.ps@pks.im>


* rs/use-xstrncmpz (2024-02-12) 1 commit
  (merged to 'next' on 2024-02-12 at 37e5f0fc14)
 + use xstrncmpz()

 Code clean-up.

 Will cook in 'next'.
 source: <954b75d0-1504-4f57-b34e-e770a4b7b3ea@web.de>


* kn/for-all-refs (2024-02-12) 6 commits
 - for-each-ref: add new option to include root refs
 - ref-filter: rename 'FILTER_REFS_ALL' to 'FILTER_REFS_REGULAR'
 - refs: introduce `refs_for_each_include_root_refs()`
 - refs: extract out `loose_fill_ref_dir_regular_file()`
 - refs: introduce `is_pseudoref()` and `is_headref()`
 - Merge branch 'ps/reftable-backend' into kn/for-all-refs
 (this branch uses ps/reftable-backend.)

 "git for-each-ref" filters its output with prefixes given from the
 command line, but it did not honor an empty string to mean "pass
 everything", which has been corrected.

 Will merge to 'next'?
 source: <20240211183923.131278-1-karthik.188@gmail.com>


* kh/column-reject-negative-padding (2024-02-13) 2 commits
  (merged to 'next' on 2024-02-14 at c30c08e495)
 + column: guard against negative padding
 + column: disallow negative padding

 "git column" has been taught to reject negative padding value, as
 it would lead to nonsense behaviour including division by zero.

 Will cook in 'next'.
 source: <cover.1707839454.git.code@khaugsbakk.name>


* jc/no-lazy-fetch (2024-02-13) 1 commit
  (merged to 'next' on 2024-02-13 at 7c7136e547)
 + git: --no-lazy-fetch option

 "git --no-lazy-fetch cmd" allows to run "cmd" while disabling lazy
 fetching of objects from the promisor remote, which may be handy
 for debugging.

 May want to do the environment variable thing as well.
 cf. <20240215053056.GD2821179@coredump.intra.peff.net>
 source: <xmqq1q9mmtpw.fsf@gitster.g>


* jc/t9210-lazy-fix (2024-02-08) 1 commit
  (merged to 'next' on 2024-02-13 at fb61ca2fba)
 + t9210: do not rely on lazy fetching to fail
 (this branch is used by cc/rev-list-allow-missing-tips.)

 Adjust use of "rev-list --missing" in an existing tests so that it
 does not depend on a buggy failure mode.

 Will cook in 'next'.
 source: <xmqq7cjemttr.fsf@gitster.g>


* gt/at-is-synonym-for-head-in-add-patch (2024-02-13) 2 commits
  (merged to 'next' on 2024-02-14 at cd901555d6)
 + add -p tests: remove PERL prerequisites
 + add-patch: classify '@' as a synonym for 'HEAD'

 Teach "git checkout -p" and friends that "@" is a synonym for
 "HEAD".

 Will cook in 'next'.
 source: <20240211202035.7196-2-shyamthakkar001@gmail.com>


* js/unit-test-suite-runner (2024-02-03) 7 commits
 - t/Makefile: run unit tests alongside shell tests
 - unit tests: add rule for running with test-tool
 - test-tool run-command testsuite: support unit tests
 - test-tool run-command testsuite: remove hardcoded filter
 - test-tool run-command testsuite: get shell from env
 - t0080: turn t-basic unit test into a helper
 - Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner
 (this branch is used by js/cmake-with-test-tool.)

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.

 Expecting a reroll.
 cf. <20240207225802.GA538110@coredump.intra.peff.net>
 source: <cover.1706921262.git.steadmon@google.com>


* ps/reftable-backend (2024-02-07) 3 commits
  (merged to 'next' on 2024-02-08 at ba1c4c52bb)
 + refs/reftable: fix leak when copying reflog fails
  (merged to 'next' on 2024-02-07 at 1115200acb)
 + ci: add jobs to test with the reftable backend
 + refs: introduce reftable backend
 (this branch is used by kn/for-all-refs.)

 Integrate the reftable code into the refs framework as a backend.

 Will cook in 'next'.
 source: <cover.1707288261.git.ps@pks.im>


* cc/rev-list-allow-missing-tips (2024-02-14) 4 commits
 - rev-list: allow missing tips with --missing=[print|allow*]
 - t6022: fix 'test' style and 'even though' typo
 - oidset: refactor oidset_insert_from_set()
 - revision: clarify a 'return NULL' in get_reference()
 (this branch uses jc/t9210-lazy-fix.)

 "git rev-list --missing=print" have learned to optionally take
 "--allow-missing-tips", which allows the objects at the starting
 points to be missing.

 Will merge to 'next'?
 source: <20240214142513.4002639-1-christian.couder@gmail.com>


* ps/reftable-iteration-perf (2024-02-12) 7 commits
  (merged to 'next' on 2024-02-12 at 6abaf58383)
 + reftable/reader: add comments to `table_iter_next()`
 + reftable/record: don't try to reallocate ref record name
 + reftable/block: swap buffers instead of copying
 + reftable/pq: allocation-less comparison of entry keys
 + reftable/merged: skip comparison for records of the same subiter
 + reftable/merged: allocation-less dropping of shadowed records
 + reftable/record: introduce function to compare records by key
 (this branch is used by ps/reftable-iteration-perf-part2.)

 The code to iterate over refs with the reftable backend has seen
 some optimization.

 Will cook in 'next'.
 source: <cover.1707726654.git.ps@pks.im>


* js/merge-tree-3-trees (2024-02-07) 6 commits
 - cache-tree: avoid an unnecessary check
 - Always check `parse_tree*()`'s return value
 - t4301: verify that merge-tree fails on missing blob objects
 - merge-ort: do check `parse_tree()`'s return value
 - merge-tree: fail with a non-zero exit code on missing tree objects
  (merged to 'next' on 2024-01-30 at 0c77b04e59)
 + merge-tree: accept 3 trees as arguments

 "git merge-tree" has learned that the three trees involved in the
 3-way merge only need to be trees, not necessarily commits.

 Expecting a reroll.
 cf. <CAPig+cSs8MFkLasTULh7tybrFm7SwaT+JeR7HnXjh+-agCHYMw@mail.gmail.com>
 cf. <CAPig+cSJz3U+vT==NhX5hcrTjsCggnAzhzQOvZcSXbcEGuYaKQ@mail.gmail.com>
 source: <pull.1647.v2.git.1706474063109.gitgitgadget@gmail.com>
 source: <pull.1651.v2.git.1707324461.gitgitgadget@gmail.com>


* rj/complete-reflog (2024-01-26) 4 commits
 - completion: reflog show <log-options>
 - completion: reflog with implicit "show"
 - completion: introduce __git_find_subcommand
 - completion: introduce __gitcomp_subcommand

 The command line completion script (in contrib/) learned to
 complete "git reflog" better.

 Needs review.
 source: <98daf977-dbad-4d3b-a293-6a769895088f@gmail.com>


* ml/log-merge-with-cherry-pick-and-other-pseudo-heads (2024-02-12) 2 commits
 - revision: implement `git log --merge` also for rebase/cherry-pick/revert
 - revision: ensure MERGE_HEAD is a ref in prepare_show_merge

 "git log --merge" learned to pay attention to CHERRY_PICK_HEAD and
 other kinds of *_HEAD pseudorefs.

 Expecting a reroll.
 cf. <790a3f11-5a8c-42f2-7a35-f2900c0299b4@gmail.com>
 cf. <8384d1dc-b6c4-b853-9bf6-3d7ccee86d12@gmail.com>
 source: <20240210-ml-log-merge-with-cherry-pick-and-other-pseudo-heads-v4-0-3bc9e62808f4@gmail.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Needs review.
 cf. <xmqq4jej6i1b.fsf@gitster.g>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* la/trailer-api (2024-02-06) 28 commits
 - trailer: introduce "template" term for readability
 - trailer_set_*(): put out parameter at the end
 - trailer: unify "--trailer ..." arg handling
 - trailer: deprecate "new_trailer_item" struct from API
 - trailer_add_arg_item(): drop new_trailer_item usage
 - trailer: add new helper functions to API
 - trailer: prepare to delete "parse_trailers_from_command_line_args()"
 - trailer: spread usage of "trailer_block" language
 - trailer: retire trailer_info_get() from API
 - trailer: make trailer_info struct private
 - sequencer: use the trailer iterator
 - trailer: teach iterator about non-trailer lines
 - trailer: finish formatting unification
 - format_trailer_info(): avoid double-printing the separator
 - format_trailer_info(): teach it about opts->trim_empty
 - trailer: begin formatting unification
 - format_trailer_info(): append newline for non-trailer lines
 - format_trailer_info(): drop redundant unfold_value()
 - format_trailer_info(): use trailer_item objects
 - format_trailers_from_commit(): indirectly call trailer_info_get()
 - format_trailer_info(): move "fast path" to caller
 - format_trailers(): use strbuf instead of FILE
 - trailer_info_get(): reorder parameters
 - trailer: start preparing for formatting unification
 - trailer: move interpret_trailers() to interpret-trailers.c
 - trailer: prepare to expose functions as part of API
 - shortlog: add test for de-duplicating folded trailers
 - trailer: free trailer_info _after_ all related usage

 Code clean-up.
 source: <pull.1632.v4.git.1707196348.gitgitgadget@gmail.com>


* cp/apply-core-filemode (2023-12-26) 3 commits
  (merged to 'next' on 2024-02-07 at 089a3fbb86)
 + apply: code simplification
 + apply: correctly reverse patch's pre- and post-image mode bits
 + apply: ignore working tree filemode when !core.filemode

 "git apply" on a filesystem without filemode support have learned
 to take a hint from what is in the index for the path, even when
 not working with the "--index" or "--cached" option, when checking
 the executable bit match what is required by the preimage in the
 patch.

 Will cook in 'next'.
 cf. <xmqqzfwb53a9.fsf@gitster.g>
 source: <20231226233218.472054-1-gitster@pobox.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Will merge to and cook in 'next'?
 cf. <xmqqv86z5359.fsf@gitster.g>
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 25%]

* Re: What's cooking in git.git (Feb 2024, #05; Tue, 13)
  @ 2024-02-14 16:57 94%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-02-14 16:57 UTC (permalink / raw)
  To: Ghanshyam Thakkar; +Cc: git

"Ghanshyam Thakkar" <shyamthakkar001@gmail.com> writes:

> I see that it is already in 'next'. However, I have rerolled it for a
> single line change. If find it is worth it, here it is: 
> https://lore.kernel.org/git/20240213000601.520731-2-shyamthakkar001@gmail.com/

The usual procedure is that once a topic hits 'next', it gets
improved only by piling incremental updates on top with explanation.
The idea is: if all of us thought it has seen enough eyeballs and is
good enough for 'next', yet we later find there was something we all
missed, that is worth a separate explanation, e.g., "The primary
motivation behind the series is still good, but for such and such
reasons we missed this case we are fixing."

Unless it turns out that the approach was fundamentally wrong and
such an incremental update boils down to almost reverting the
earlier one entirely and replacing it with the newer one.  In such a
case, we do revert the earlier and replace it with the newer, in
'next'.

But as the development community members work across timezones on
their own pace, mails cross and mistakes happen.  I've reverted the
merge of the previous one from 'next' and queued the new one (I do
not recall offhand if the updated one is already in 'next', though).

Thanks.


^ permalink raw reply	[relevance 94%]

* What's cooking in git.git (Feb 2024, #05; Tue, 13)
@ 2024-02-14  6:27 24% Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2024-02-14  6:27 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

Git 2.44-rc1 will be tagged soon.  This round, let's try having just
one release candidate before the final, which is expected to be
tagged on or around 20th.

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']

* bk/complete-bisect (2024-02-06) 7 commits
  (merged to 'next' on 2024-02-07 at ac95a595b7)
 + completion: bisect: recognize but do not complete view subcommand
 + completion: bisect: complete log opts for visualize subcommand
 + completion: new function __git_complete_log_opts
 + completion: bisect: complete missing --first-parent and - -no-checkout options
 + completion: bisect: complete custom terms and related options
 + completion: bisect: complete bad, new, old, and help subcommands
 + completion: tests: always use 'master' for default initial branch name

 Command line completion support (in contrib/) has been
 updated for "git bisect".
 source: <20240206215048.488344-1-britton.kerin@gmail.com>


* jc/bisect-doc (2024-02-07) 2 commits
  (merged to 'next' on 2024-02-07 at 914fa6775f)
 + bisect: document command line arguments for "bisect start"
 + bisect: document "terms" subcommand more fully

 Doc update.
 source: <20240207214436.538586-1-gitster@pobox.com>


* jc/sign-buffer-failure-propagation-fix (2024-02-07) 2 commits
  (merged to 'next' on 2024-02-08 at badb96b5ac)
 + ssh signing: signal an error with a negative return value
  (merged to 'next' on 2024-02-07 at 2cedac9d38)
 + tag: fix sign_buffer() call to create a signed tag

 A failed "git tag -s" did not necessarily result in an error
 depending on the crypto backend, which has been corrected.
 source: <xmqq4jek9ko1.fsf@gitster.g>
 source: <xmqq5xyzr6tm.fsf@gitster.g>


* pb/template-for-single-commit-pr (2024-02-06) 1 commit
  (merged to 'next' on 2024-02-07 at 2a56c8eb13)
 + .github/PULL_REQUEST_TEMPLATE.md: add a note about single-commit PRs

 Doc update.
 source: <pull.1665.v2.git.git.1707225612576.gitgitgadget@gmail.com>


* ps/reftable-multi-level-indices-fix (2024-02-01) 6 commits
  (merged to 'next' on 2024-02-07 at 143f47a079)
 + reftable: document reading and writing indices
 + reftable/writer: fix writing multi-level indices
 + reftable/writer: simplify writing index records
 + reftable/writer: use correct type to iterate through index entries
 + reftable/reader: be more careful about errors in indexed seeks
 + Merge branch 'jc/reftable-core-fsync' into ps/reftable-multi-level-indices-fix

 Write multi-level indices for reftable has been corrected.
 source: <cover.1706773842.git.ps@pks.im>


* ps/reftable-styles (2024-02-06) 9 commits
  (merged to 'next' on 2024-02-07 at 18670512e2)
 + reftable/record: improve semantics when initializing records
 + reftable/merged: refactor initialization of iterators
 + reftable/merged: refactor seeking of records
 + reftable/stack: use `size_t` to track stack length
 + reftable/stack: use `size_t` to track stack slices during compaction
 + reftable/stack: index segments with `size_t`
 + reftable/stack: fix parameter validation when compacting range
 + reftable: introduce macros to allocate arrays
 + reftable: introduce macros to grow arrays

 Code clean-up in various reftable code paths.
 source: <cover.1707200355.git.ps@pks.im>


* ps/report-failure-from-git-stash (2024-02-06) 1 commit
  (merged to 'next' on 2024-02-07 at a8a3f91f61)
 + builtin/stash: report failure to write to index

 "git stash" sometimes was silent even when it failed due to
 unwritable index file, which has been corrected.
 source: <cb098cf88cbfcbf7c4872f8887856629b909cb91.1707197653.git.ps@pks.im>


* pw/show-ref-pseudorefs (2024-02-07) 2 commits
  (merged to 'next' on 2024-02-08 at 7e9f850dba)
 + t1400: use show-ref to check pseudorefs
 + show-ref --verify: accept pseudorefs

 "git show-ref --verify" did not show things like "CHERRY_PICK_HEAD",
 which has been corrected.
 source: <pull.1654.git.1707324277.gitgitgadget@gmail.com>


* tb/multi-pack-reuse-experiment (2024-02-05) 2 commits
  (merged to 'next' on 2024-02-08 at e92afaa170)
 + pack-objects: enable multi-pack reuse via `feature.experimental`
 + t5332-multi-pack-reuse.sh: extract pack-objects helper functions

 Setting `feature.experimental` opts the user into multi-pack reuse
 experiment

 Will cook in 'next'.
 source: <cover.1707173415.git.me@ttaylorr.com>


* vd/for-each-ref-sort-with-formatted-timestamp (2024-02-07) 1 commit
  (merged to 'next' on 2024-02-08 at 5f86cad208)
 + ref-filter.c: sort formatted dates by byte value

 "git branch" and friends learned to use the formatted text as
 sorting key, not the underlying timestamp value, when the --sort
 option is used with author or committer timestamp with a format
 specifier (e.g., "--sort=creatordate:format:%H:%M:%S").
 source: <pull.1655.git.1707357439586.gitgitgadget@gmail.com>

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

* ps/ref-tests-update-even-more (2024-02-09) 7 commits
 - t7003: ensure filter-branch prunes reflogs with the reftable backend
 - t2011: exercise D/F conflicts with HEAD with the reftable backend
 - t1405: remove unneeded cleanup step
 - t1404: make D/F conflict tests compatible with reftable backend
 - t1400: exercise reflog with gaps with reftable backend
 - t0410: enable tests with extensions with non-default repo format
 - t: move tests exercising the "files" backend

 More tests that are marked as "ref-files only" have been updated to
 improve test coverage of reftable backend.

 Needs review.
 source: <cover.1707463221.git.ps@pks.im>


* pw/gc-during-rebase (2024-02-09) 1 commit
  (merged to 'next' on 2024-02-12 at d54c5ce325)
 + prune: mark rebase autostash and orig-head as reachable

 The sequencer machinery does not use the ref API and instead
 records names of certain objects it needs for its correct operation
 in temporary files, which makes these objects susceptible to loss
 by garbage collection.  These temporary files have been added as
 starting points for reachability analysis to fix this.

 Will merge to 'master'.
 source: <pull.1656.v2.git.1707495579886.gitgitgadget@gmail.com>


* rs/receive-pack-remove-find-header (2024-02-12) 2 commits
  (merged to 'next' on 2024-02-12 at f1bf281e10)
 + receive-pack: use find_commit_header() in check_nonce()
 + receive-pack: use find_commit_header() in check_cert_push_options()

 Code simplification.

 Will merge to 'master'.
 source: <8b350cae-2180-4ac7-a911-d40043576445@web.de>


* cp/git-flush-is-an-env-bool (2024-02-13) 1 commit
  (merged to 'next' on 2024-02-13 at c0850f5675)
 + write-or-die: fix the polarity of GIT_FLUSH environment variable

 Recent conversion to allow more than 0/1 in GIT_FLUSH broke the
 mechanism by flipping what yes/no means by mistake, which has been
 corrected.

 Will merge to 'master' and then to 'maint'
 source: <xmqqbk8k5eo0.fsf@gitster.g>


* jc/unit-tests-make-relative-fix (2024-02-12) 1 commit
  (merged to 'next' on 2024-02-12 at 554eddef80)
 + unit-tests: do show relative file paths on non-Windows, too

 The mechanism to report the filename in the source code, used by
 the unit-test machinery, assumed that the compiler expanded __FILE__
 to the path to the source given to the $(CC), but some compilers
 give full path, breaking the output.  This has been corrected.

 Will merge to 'master'.
 source: <xmqqle7r9enn.fsf_-_@gitster.g>


* js/github-actions-update (2024-02-12) 2 commits
  (merged to 'next' on 2024-02-12 at f52de8b126)
 + ci(linux32): add a note about Actions that must not be updated
 + ci: bump remaining outdated Actions versions
 (this branch uses jc/github-actions-update.)

 Update remaining GitHub Actions jobs to avoid warnings against
 using deprecated version of Node.js.

 Will merge to 'master'.
 source: <pull.1660.v2.git.1707653489.gitgitgadget@gmail.com>


* rs/use-xstrncmpz (2024-02-12) 1 commit
  (merged to 'next' on 2024-02-12 at 37e5f0fc14)
 + use xstrncmpz()

 Code clean-up.

 Will cook in 'next'.
 source: <954b75d0-1504-4f57-b34e-e770a4b7b3ea@web.de>


* kn/for-all-refs (2024-02-12) 6 commits
 - for-each-ref: add new option to include root refs
 - ref-filter: rename 'FILTER_REFS_ALL' to 'FILTER_REFS_REGULAR'
 - refs: introduce `refs_for_each_include_root_refs()`
 - refs: extract out `loose_fill_ref_dir_regular_file()`
 - refs: introduce `is_pseudoref()` and `is_headref()`
 - Merge branch 'ps/reftable-backend' into kn/for-all-refs
 (this branch uses ps/reftable-backend.)

 "git for-each-ref" filters its output with prefixes given from the
 command line, but it did not honor an empty string to mean "pass
 everything", which has been corrected.

 Needs review.
 source: <20240211183923.131278-1-karthik.188@gmail.com>


* kh/column-reject-negative-padding (2024-02-13) 2 commits
 - column: guard against negative padding
 - column: disallow negative padding

 "git column" has been taught to reject negative padding value, as
 it would lead to nonsense behaviour including division by zero.

 Will merge to 'next'?
 source: <cover.1707839454.git.code@khaugsbakk.name>

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

* vn/rebase-with-cherry-pick-authorship (2024-02-08) 1 commit
  (merged to 'next' on 2024-02-09 at ed35d33595)
 + sequencer: unset GIT_CHERRY_PICK_HELP for 'exec' commands

 "git cherry-pick" invoked during "git rebase -i" session lost
 the authorship information, which has been corrected.

 Will merge to 'master'.
 source: <0adb1068-ef10-44ed-ad1d-e0927a09245d@gmail.com>


* jc/no-lazy-fetch (2024-02-13) 1 commit
 - git: --no-lazy-fetch option

 "git --no-lazy-fetch cmd" allows to run "cmd" while disabling lazy
 fetching of objects from the promisor remote, which may be handy
 for debugging.

 Will merge to 'next'.
 source: <xmqq1q9mmtpw.fsf@gitster.g>


* jc/t9210-lazy-fix (2024-02-08) 1 commit
 - t9210: do not rely on lazy fetching to fail

 Adjust use of "rev-list --missing" in an existing tests so that it
 does not depend on a buggy failure mode.

 Will merge to 'next'.
 source: <xmqq7cjemttr.fsf@gitster.g>


* gt/at-is-synonym-for-head-in-add-patch (2024-02-13) 2 commits
 - add -p tests: remove PERL prerequisites
 - add-patch: classify '@' as a synonym for 'HEAD'

 Teach "git checkout -p" and friends that "@" is a synonym for
 "HEAD".

 Will merge to 'next'?
 source: <20240211202035.7196-2-shyamthakkar001@gmail.com>


* js/unit-test-suite-runner (2024-02-03) 7 commits
 - t/Makefile: run unit tests alongside shell tests
 - unit tests: add rule for running with test-tool
 - test-tool run-command testsuite: support unit tests
 - test-tool run-command testsuite: remove hardcoded filter
 - test-tool run-command testsuite: get shell from env
 - t0080: turn t-basic unit test into a helper
 - Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.

 Expecting a reroll.
 cf. <20240207225802.GA538110@coredump.intra.peff.net>
 source: <cover.1706921262.git.steadmon@google.com>


* js/check-null-from-read-object-file (2024-02-06) 1 commit
  (merged to 'next' on 2024-02-12 at 3a18369516)
 + Always check the return value of `repo_read_object_file()`

 The code paths that call repo_read_object_file() have been
 tightened to react to errors.

 Will merge to 'master'.
 source: <pull.1650.git.1707143753726.gitgitgadget@gmail.com>


* ps/reftable-backend (2024-02-07) 3 commits
  (merged to 'next' on 2024-02-08 at ba1c4c52bb)
 + refs/reftable: fix leak when copying reflog fails
  (merged to 'next' on 2024-02-07 at 1115200acb)
 + ci: add jobs to test with the reftable backend
 + refs: introduce reftable backend
 (this branch is used by kn/for-all-refs.)

 Integrate the reftable code into the refs framework as a backend.

 Will cook in 'next'.
 source: <cover.1707288261.git.ps@pks.im>


* cc/rev-list-allow-missing-tips (2024-02-08) 4 commits
 - rev-list: allow missing tips with --missing=[print|allow*]
 - t6022: fix 'test' style and 'even though' typo
 - oidset: refactor oidset_insert_from_set()
 - revision: clarify a 'return NULL' in get_reference()

 "git rev-list --missing=print" have learned to optionally take
 "--allow-missing-tips", which allows the objects at the starting
 points to be missing.

 Comments?
 cf. <xmqq7cjemttr.fsf@gitster.g>
 source: <20240208135055.2705260-1-christian.couder@gmail.com>


* ps/reftable-iteration-perf (2024-02-12) 7 commits
  (merged to 'next' on 2024-02-12 at 6abaf58383)
 + reftable/reader: add comments to `table_iter_next()`
 + reftable/record: don't try to reallocate ref record name
 + reftable/block: swap buffers instead of copying
 + reftable/pq: allocation-less comparison of entry keys
 + reftable/merged: skip comparison for records of the same subiter
 + reftable/merged: allocation-less dropping of shadowed records
 + reftable/record: introduce function to compare records by key

 The code to iterate over refs with the reftable backend has seen
 some optimization.

 Will cook in 'next'.
 source: <cover.1707726654.git.ps@pks.im>


* jc/github-actions-update (2024-02-02) 3 commits
  (merged to 'next' on 2024-02-07 at 2cd6caaf70)
 + Merge branch 'jc/maint-github-actions-update' into jc/github-actions-update
 + GitHub Actions: update to github-script@v7
 + GitHub Actions: update to checkout@v4
 (this branch is used by js/github-actions-update.)

 Squelch node.js 16 deprecation warnings from GitHub Actions CI
 by updating actions/github-script and actions/checkout that use
 node.js 20.

 Will merge to 'master'.
 source: <20240202203935.1240458-1-gitster@pobox.com>


* js/merge-tree-3-trees (2024-02-07) 6 commits
 - cache-tree: avoid an unnecessary check
 - Always check `parse_tree*()`'s return value
 - t4301: verify that merge-tree fails on missing blob objects
 - merge-ort: do check `parse_tree()`'s return value
 - merge-tree: fail with a non-zero exit code on missing tree objects
  (merged to 'next' on 2024-01-30 at 0c77b04e59)
 + merge-tree: accept 3 trees as arguments

 "git merge-tree" has learned that the three trees involved in the
 3-way merge only need to be trees, not necessarily commits.

 Expecting a reroll.
 cf. <CAPig+cSs8MFkLasTULh7tybrFm7SwaT+JeR7HnXjh+-agCHYMw@mail.gmail.com>
 cf. <CAPig+cSJz3U+vT==NhX5hcrTjsCggnAzhzQOvZcSXbcEGuYaKQ@mail.gmail.com>
 source: <pull.1647.v2.git.1706474063109.gitgitgadget@gmail.com>
 source: <pull.1651.v2.git.1707324461.gitgitgadget@gmail.com>


* pb/complete-config (2024-02-12) 4 commits
  (merged to 'next' on 2024-02-13 at d09f5e469a)
 + completion: add and use __git_compute_second_level_config_vars_for_section
 + completion: add and use __git_compute_first_level_config_vars_for_section
 + completion: complete 'submodule.*' config variables
 + completion: add space after config variable names also in Bash 3

 The command line completion script (in contrib/) learned to
 complete configuration variable names better.

 Will merge to 'master'.
 cf. <Zcs34kGTqTbIana6@tanuki>
 source: <pull.1660.v3.git.git.1707589943.gitgitgadget@gmail.com>


* rj/complete-reflog (2024-01-26) 4 commits
 - completion: reflog show <log-options>
 - completion: reflog with implicit "show"
 - completion: introduce __git_find_subcommand
 - completion: introduce __gitcomp_subcommand

 The command line completion script (in contrib/) learned to
 complete "git reflog" better.

 Needs review.
 source: <98daf977-dbad-4d3b-a293-6a769895088f@gmail.com>


* ml/log-merge-with-cherry-pick-and-other-pseudo-heads (2024-02-12) 2 commits
 - revision: implement `git log --merge` also for rebase/cherry-pick/revert
 - revision: ensure MERGE_HEAD is a ref in prepare_show_merge

 "git log --merge" learned to pay attention to CHERRY_PICK_HEAD and
 other kinds of *_HEAD pseudorefs.

 Expecting a reroll.
 cf. <790a3f11-5a8c-42f2-7a35-f2900c0299b4@gmail.com>
 cf. <8384d1dc-b6c4-b853-9bf6-3d7ccee86d12@gmail.com>
 source: <20240210-ml-log-merge-with-cherry-pick-and-other-pseudo-heads-v4-0-3bc9e62808f4@gmail.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Needs review.
 cf. <xmqq4jej6i1b.fsf@gitster.g>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* la/trailer-api (2024-02-06) 28 commits
 - trailer: introduce "template" term for readability
 - trailer_set_*(): put out parameter at the end
 - trailer: unify "--trailer ..." arg handling
 - trailer: deprecate "new_trailer_item" struct from API
 - trailer_add_arg_item(): drop new_trailer_item usage
 - trailer: add new helper functions to API
 - trailer: prepare to delete "parse_trailers_from_command_line_args()"
 - trailer: spread usage of "trailer_block" language
 - trailer: retire trailer_info_get() from API
 - trailer: make trailer_info struct private
 - sequencer: use the trailer iterator
 - trailer: teach iterator about non-trailer lines
 - trailer: finish formatting unification
 - format_trailer_info(): avoid double-printing the separator
 - format_trailer_info(): teach it about opts->trim_empty
 - trailer: begin formatting unification
 - format_trailer_info(): append newline for non-trailer lines
 - format_trailer_info(): drop redundant unfold_value()
 - format_trailer_info(): use trailer_item objects
 - format_trailers_from_commit(): indirectly call trailer_info_get()
 - format_trailer_info(): move "fast path" to caller
 - format_trailers(): use strbuf instead of FILE
 - trailer_info_get(): reorder parameters
 - trailer: start preparing for formatting unification
 - trailer: move interpret_trailers() to interpret-trailers.c
 - trailer: prepare to expose functions as part of API
 - shortlog: add test for de-duplicating folded trailers
 - trailer: free trailer_info _after_ all related usage

 Code clean-up.
 source: <pull.1632.v4.git.1707196348.gitgitgadget@gmail.com>


* cp/apply-core-filemode (2023-12-26) 3 commits
  (merged to 'next' on 2024-02-07 at 089a3fbb86)
 + apply: code simplification
 + apply: correctly reverse patch's pre- and post-image mode bits
 + apply: ignore working tree filemode when !core.filemode

 "git apply" on a filesystem without filemode support have learned
 to take a hint from what is in the index for the path, even when
 not working with the "--index" or "--cached" option, when checking
 the executable bit match what is required by the preimage in the
 patch.

 Will cook in 'next'.
 cf. <xmqqzfwb53a9.fsf@gitster.g>
 source: <20231226233218.472054-1-gitster@pobox.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Will merge to and cook in 'next'?
 cf. <xmqqv86z5359.fsf@gitster.g>
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>

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

* tb/pair-chunk-expect (2023-11-10) 8 commits
 . midx: read `OOFF` chunk with `pair_chunk_expect()`
 . midx: read `OIDL` chunk with `pair_chunk_expect()`
 . commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 . commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 . commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 . commit-graph: read `OIDL` chunk with `pair_chunk_expect()`
 . chunk-format: introduce `pair_chunk_expect()` helper
 . Merge branch 'jk/chunk-bounds-more' into HEAD

 Further code clean-up.

 Retracted for now.
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1699569246.git.me@ttaylorr.com>


* ak/color-decorate-symbols (2023-10-23) 7 commits
 - log: add color.decorate.pseudoref config variable
 - refs: exempt pseudorefs from pattern prefixing
 - refs: add pseudorefs array and iteration functions
 - log: add color.decorate.ref config variable
 - log: add color.decorate.symbol config variable
 - log: use designated inits for decoration_colors
 - config: restructure color.decorate documentation

 A new config for coloring.

 Ejected, to be rebuilt on updated kn/for-all-refs topic
 cf. <xmqqcyt853vz.fsf@gitster.g>
 source: <20231023221143.72489-1-andy.koppe@gmail.com>


^ permalink raw reply	[relevance 24%]

* Re: What's cooking in git.git (Feb 2024, #04; Thu, 8)
  @ 2024-02-12 16:39 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-02-12 16:39 UTC (permalink / raw)
  To: Philippe Blain; +Cc: git, mi.al.lohmann

Philippe Blain <levraiphilippeblain@gmail.com> writes:

> Hi Junio,
>
> Le 2024-02-09 à 12:24, Junio C Hamano a écrit :
>> * ml/log-merge-with-cherry-pick-and-other-pseudo-heads (2024-02-08) 2 commits
>>  - revision: implement `git log --merge` also for rebase/cherry_pick/revert
>>  - revision: ensure MERGE_HEAD is a ref in prepare_show_merge
>> 
>>  "git log --merge" learned to pay attention to CHERRY_PICK_HEAD and
>>  other kinds of *_HEAD pseudorefs.
>> 
>>  Will merge to 'next'?
>>  source: <20240117081405.14012-1-mi.al.lohmann@gmail.com>
>>  source: <dfb582cf-b1e4-414d-bfe1-0f93d910ec54@kdbg.org>
>
> I think this is a very nice addition, I've been meaning to do a similar
> patch for quite some time.
>
> I think the commit message of 2/2 should be improved, which was pointed out a few
> times in the thread. I'll try to send a v4 with a more useful message, summarizing 
> the discussion, so maybe hold off on merging to next.

Thanks.


^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Feb 2024, #04; Thu, 8)
@ 2024-02-09 17:24 25% Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2024-02-09 17:24 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

The preview release Git 2.44-rc0 has been tagged.  Let's see how
well this pre-release period goes; unlike previous cycles, I planned
only for one release candidate in the middle of next week until the
final release around the 20th.

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']

* cp/unit-test-prio-queue (2024-01-22) 1 commit
  (merged to 'next' on 2024-02-01 at 38aa6559b0)
 + tests: move t0009-prio-queue.sh to the new unit testing framework

 The priority queue test has been migrated to the unit testing
 framework.
 source: <pull.1642.v4.git.1705865326185.gitgitgadget@gmail.com>


* ja/doc-placeholders-fix (2023-12-26) 2 commits
  (merged to 'next' on 2024-02-05 at 047da8cbb0)
 + doc: enforce placeholders in documentation
 + doc: enforce dashes in placeholders

 Docfix.
 source: <pull.1626.git.1703539287.gitgitgadget@gmail.com>


* jc/index-pack-fsck-levels (2024-02-01) 2 commits
  (merged to 'next' on 2024-02-02 at 0e4ef26aa1)
 + index-pack: --fsck-objects to take an optional argument for fsck msgs
 + index-pack: test and document --strict=<msg-id>=<severity>...

 The "--fsck-objects" option of "git index-pack" now can take the
 optional parameter to tweak severity of different fsck errors.
 source: <pull.1658.v4.git.git.1706751483.gitgitgadget@gmail.com>


* jh/sparse-index-expand-to-path-fix (2024-02-02) 1 commit
  (merged to 'next' on 2024-02-06 at 17ec59dd9a)
 + sparse-index: pass string length to index_file_exists()

 A caller called index_file_exists() that takes a string expressed
 as <ptr, length> with a wrong length, which has been corrected.
 source: <pull.1649.git.1706897095273.gitgitgadget@gmail.com>


* jk/unit-tests-buildfix (2024-02-02) 4 commits
  (merged to 'next' on 2024-02-02 at 8838dd21e8)
 + t/Makefile: say the default target upfront
  (merged to 'next' on 2024-01-31 at 00df31c4c8)
 + t/Makefile: get UNIT_TESTS list from C sources
 + Makefile: remove UNIT_TEST_BIN directory with "make clean"
 + Makefile: use mkdir_p_parent_template for UNIT_TEST_BIN
 (this branch is used by js/unit-test-suite-runner.)

 Build dependency around unit tests has been fixed.
 source: <20240130053714.GA165967@coredump.intra.peff.net>
 source: <xmqqjznmtjr9.fsf@gitster.g>


* mh/credential-oauth-refresh-token-with-wincred (2024-01-29) 1 commit
  (merged to 'next' on 2024-02-05 at 68880a751a)
 + credential/wincred: store oauth_refresh_token

 The wincred credential backend has been taught to support oauth refresh
 token the same way as credential-cache and credential-libsecret backends.
 source: <pull.1534.v3.git.1706477103039.gitgitgadget@gmail.com>


* pb/imap-send-wo-curl-build-fix (2024-02-01) 1 commit
  (merged to 'next' on 2024-02-05 at 18368f61a7)
 + imap-send: add missing "strbuf.h" include under NO_CURL

 Build fix.
 source: <pull.1664.git.git.1706833113569.gitgitgadget@gmail.com>

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

* pw/show-ref-pseudorefs (2024-02-07) 2 commits
  (merged to 'next' on 2024-02-08 at 7e9f850dba)
 + t1400: use show-ref to check pseudorefs
 + show-ref --verify: accept pseudorefs

 "git show-ref --verify" did not show things like "CHERRY_PICK_HEAD",
 which has been corrected.

 Will merge to 'master'.
 source: <pull.1654.git.1707324277.gitgitgadget@gmail.com>


* vd/for-each-ref-sort-with-formatted-timestamp (2024-02-07) 1 commit
 - ref-filter.c: sort formatted dates by byte value

 "git branch" and friends learned to use the formatted text as
 sorting key, not the underlying timestamp value, when the --sort
 option is used with author or committer timestamp with a format
 specifier (e.g., "--sort=creatordate:format:%H:%M:%S").

 Will merge to 'next'.
 source: <pull.1655.git.1707357439586.gitgitgadget@gmail.com>


* vn/rebase-with-cherry-pick-authorship (2024-02-08) 1 commit
 - sequencer: unset GIT_CHERRY_PICK_HELP for 'exec' commands

 "git cherry-pick" invoked during "git rebase -i" session lost
 the authorship information, which has been corrected.

 Will merge to 'next'?
 source: <0adb1068-ef10-44ed-ad1d-e0927a09245d@gmail.com>


* jc/no-lazy-fetch (2024-02-08) 1 commit
 - git: --no-lazy-fetch option

 "git --no-lazy-fetch cmd" allows to run "cmd" while disabling lazy
 fetching of objects from the promisor remote, which may be handy
 for debugging.

 Needs review.
 source: <xmqq1q9mmtpw.fsf@gitster.g>


* jc/t9210-lazy-fix (2024-02-08) 1 commit
 - t9210: do not rely on lazy fetching to fail

 Adjust use of "rev-list --missing" in an existing tests so that it
 does not depend on a buggy failure mode.

 Needs review.
 source: <xmqq7cjemttr.fsf@gitster.g>

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

* gt/at-is-synonym-for-head-in-add-patch (2024-02-03) 3 commits
 - SQUASH???
 - add-patch: classify '@' as a synonym for 'HEAD'
 - add-patch: remove unnecessary NEEDSWORK comment

 Teach "git checkout -p" and friends that "@" is a synonym for
 "HEAD".

 Expecting a reroll.
 cf. <xmqqil31dqx6.fsf@gitster.g>
 source: <20240202150434.11256-1-shyamthakkar001@gmail.com>


* js/unit-test-suite-runner (2024-02-03) 7 commits
 - t/Makefile: run unit tests alongside shell tests
 - unit tests: add rule for running with test-tool
 - test-tool run-command testsuite: support unit tests
 - test-tool run-command testsuite: remove hardcoded filter
 - test-tool run-command testsuite: get shell from env
 - t0080: turn t-basic unit test into a helper
 - Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.

 Expecting a reroll.
 cf. <20240207225802.GA538110@coredump.intra.peff.net>
 source: <cover.1706921262.git.steadmon@google.com>


* jc/sign-buffer-failure-propagation-fix (2024-02-07) 2 commits
  (merged to 'next' on 2024-02-08 at badb96b5ac)
 + ssh signing: signal an error with a negative return value
  (merged to 'next' on 2024-02-07 at 2cedac9d38)
 + tag: fix sign_buffer() call to create a signed tag

 A failed "git tag -s" did not necessarily result in an error
 depending on the crypto backend, which has been corrected.

 Will merge to 'master'.
 source: <xmqq4jek9ko1.fsf@gitster.g>
 source: <xmqq5xyzr6tm.fsf@gitster.g>


* js/check-null-from-read-object-file (2024-02-06) 1 commit
 - Always check the return value of `repo_read_object_file()`

 The code paths that call repo_read_object_file() have been
 tightened to react to errors.

 Waiting for review responses.
 cf. <CAO_smVhrMn=-uF1B6+RA8A+VLCEN=o57zbQPtr8hpxRKY=qJRQ@mail.gmail.com>
 source: <pull.1650.git.1707143753726.gitgitgadget@gmail.com>


* pb/template-for-single-commit-pr (2024-02-06) 1 commit
  (merged to 'next' on 2024-02-07 at 2a56c8eb13)
 + .github/PULL_REQUEST_TEMPLATE.md: add a note about single-commit PRs

 Doc update.

 Will merge to 'master'.
 source: <pull.1665.v2.git.git.1707225612576.gitgitgadget@gmail.com>


* ps/report-failure-from-git-stash (2024-02-06) 1 commit
  (merged to 'next' on 2024-02-07 at a8a3f91f61)
 + builtin/stash: report failure to write to index

 "git stash" sometimes was silent even when it failed due to
 unwritable index file, which has been corrected.

 Will merge to 'master'.
 source: <cb098cf88cbfcbf7c4872f8887856629b909cb91.1707197653.git.ps@pks.im>


* tb/multi-pack-reuse-experiment (2024-02-05) 2 commits
  (merged to 'next' on 2024-02-08 at e92afaa170)
 + pack-objects: enable multi-pack reuse via `feature.experimental`
 + t5332-multi-pack-reuse.sh: extract pack-objects helper functions

 Setting `feature.experimental` opts the user into multi-pack reuse
 experiment

 Will merge to 'master'.
 source: <cover.1707173415.git.me@ttaylorr.com>


* ps/reftable-backend (2024-02-07) 3 commits
  (merged to 'next' on 2024-02-08 at ba1c4c52bb)
 + refs/reftable: fix leak when copying reflog fails
  (merged to 'next' on 2024-02-07 at 1115200acb)
 + ci: add jobs to test with the reftable backend
 + refs: introduce reftable backend

 Integrate the reftable code into the refs framework as a backend.

 Will cook in 'next'.
 source: <cover.1707288261.git.ps@pks.im>


* cc/rev-list-allow-missing-tips (2024-02-08) 4 commits
 - rev-list: allow missing tips with --missing=[print|allow*]
 - t6022: fix 'test' style and 'even though' typo
 - oidset: refactor oidset_insert_from_set()
 - revision: clarify a 'return NULL' in get_reference()

 "git rev-list --missing=print" have learned to optionally take
 "--allow-missing-tips", which allows the objects at the starting
 points to be missing.

 Comments?
 cf. <xmqq7cjemttr.fsf@gitster.g>
 source: <20240208135055.2705260-1-christian.couder@gmail.com>


* ps/reftable-iteration-perf (2024-02-01) 7 commits
 - reftable/reader: add comments to `table_iter_next()`
 - reftable/record: don't try to reallocate ref record name
 - reftable/block: swap buffers instead of copying
 - reftable/pq: allocation-less comparison of entry keys
 - reftable/merged: skip comparison for records of the same subiter
 - reftable/merged: allocation-less dropping of shadowed records
 - reftable/record: introduce function to compare records by key

 The code to iterate over refs with the reftable backend has seen
 some optimization.

 Expecting a reroll.
 cf. <Zbx6aDzXpYy4Is2t@tanuki>
 source: <cover.1706782841.git.ps@pks.im>


* ps/reftable-styles (2024-02-06) 9 commits
  (merged to 'next' on 2024-02-07 at 18670512e2)
 + reftable/record: improve semantics when initializing records
 + reftable/merged: refactor initialization of iterators
 + reftable/merged: refactor seeking of records
 + reftable/stack: use `size_t` to track stack length
 + reftable/stack: use `size_t` to track stack slices during compaction
 + reftable/stack: index segments with `size_t`
 + reftable/stack: fix parameter validation when compacting range
 + reftable: introduce macros to allocate arrays
 + reftable: introduce macros to grow arrays

 Code clean-up in various reftable code paths.

 Will merge to 'master'.
 source: <cover.1707200355.git.ps@pks.im>


* jc/github-actions-update (2024-02-02) 3 commits
  (merged to 'next' on 2024-02-07 at 2cd6caaf70)
 + Merge branch 'jc/maint-github-actions-update' into jc/github-actions-update
 + GitHub Actions: update to github-script@v7
 + GitHub Actions: update to checkout@v4

 Squelch node.js 16 deprecation warnings from GitHub Actions CI
 by updating actions/github-script and actions/checkout that use
 node.js 20.

 Will merge to 'master'.
 source: <20240202203935.1240458-1-gitster@pobox.com>


* js/merge-tree-3-trees (2024-02-07) 6 commits
 - cache-tree: avoid an unnecessary check
 - Always check `parse_tree*()`'s return value
 - t4301: verify that merge-tree fails on missing blob objects
 - merge-ort: do check `parse_tree()`'s return value
 - merge-tree: fail with a non-zero exit code on missing tree objects
  (merged to 'next' on 2024-01-30 at 0c77b04e59)
 + merge-tree: accept 3 trees as arguments

 "git merge-tree" has learned that the three trees involved in the
 3-way merge only need to be trees, not necessarily commits.

 Expecting a reroll.
 cf. <CAPig+cSs8MFkLasTULh7tybrFm7SwaT+JeR7HnXjh+-agCHYMw@mail.gmail.com>
 cf. <CAPig+cSJz3U+vT==NhX5hcrTjsCggnAzhzQOvZcSXbcEGuYaKQ@mail.gmail.com>
 source: <pull.1647.v2.git.1706474063109.gitgitgadget@gmail.com>
 source: <pull.1651.v2.git.1707324461.gitgitgadget@gmail.com>


* pb/complete-config (2024-01-29) 5 commits
 - completion: add an use _ _git_compute_second_level_config_vars_for_section
 - builtin/help: add --config-all-for-completion
 - completion: add and use _ _git_compute_first_level_config_vars_for_section
 - completion: complete 'submodule.*' config variables
 - completion: add space after config variable names also in Bash 3

 The command line completion script (in contrib/) learned to
 complete configuration variable names better.

 Needs review.
 cf. <xmqq8r3w53nc.fsf@gitster.g>
 source: <pull.1660.v2.git.git.1706534881.gitgitgadget@gmail.com>


* rj/complete-reflog (2024-01-26) 4 commits
 - completion: reflog show <log-options>
 - completion: reflog with implicit "show"
 - completion: introduce __git_find_subcommand
 - completion: introduce __gitcomp_subcommand

 The command line completion script (in contrib/) learned to
 complete "git reflog" better.

 Needs review.
 source: <98daf977-dbad-4d3b-a293-6a769895088f@gmail.com>


* ps/reftable-multi-level-indices-fix (2024-02-01) 6 commits
  (merged to 'next' on 2024-02-07 at 143f47a079)
 + reftable: document reading and writing indices
 + reftable/writer: fix writing multi-level indices
 + reftable/writer: simplify writing index records
 + reftable/writer: use correct type to iterate through index entries
 + reftable/reader: be more careful about errors in indexed seeks
 + Merge branch 'jc/reftable-core-fsync' into ps/reftable-multi-level-indices-fix

 Write multi-level indices for reftable has been corrected.

 Will merge to 'master'.
 source: <cover.1706773842.git.ps@pks.im>


* ml/log-merge-with-cherry-pick-and-other-pseudo-heads (2024-02-08) 2 commits
 - revision: implement `git log --merge` also for rebase/cherry_pick/revert
 - revision: ensure MERGE_HEAD is a ref in prepare_show_merge

 "git log --merge" learned to pay attention to CHERRY_PICK_HEAD and
 other kinds of *_HEAD pseudorefs.

 Will merge to 'next'?
 source: <20240117081405.14012-1-mi.al.lohmann@gmail.com>
 source: <dfb582cf-b1e4-414d-bfe1-0f93d910ec54@kdbg.org>


* bk/complete-bisect (2024-02-06) 7 commits
  (merged to 'next' on 2024-02-07 at ac95a595b7)
 + completion: bisect: recognize but do not complete view subcommand
 + completion: bisect: complete log opts for visualize subcommand
 + completion: new function __git_complete_log_opts
 + completion: bisect: complete missing --first-parent and - -no-checkout options
 + completion: bisect: complete custom terms and related options
 + completion: bisect: complete bad, new, old, and help subcommands
 + completion: tests: always use 'master' for default initial branch name

 Command line completion support (in contrib/) has been
 updated for "git bisect".

 Will merge to 'master'.
 source: <20240206215048.488344-1-britton.kerin@gmail.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Expecting a reroll.
 cf. <40c3a824-a961-490b-94d4-4eb23c8f713d@gmail.com>
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Needs review.
 cf. <xmqq4jej6i1b.fsf@gitster.g>
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* la/trailer-api (2024-02-06) 28 commits
 - trailer: introduce "template" term for readability
 - trailer_set_*(): put out parameter at the end
 - trailer: unify "--trailer ..." arg handling
 - trailer: deprecate "new_trailer_item" struct from API
 - trailer_add_arg_item(): drop new_trailer_item usage
 - trailer: add new helper functions to API
 - trailer: prepare to delete "parse_trailers_from_command_line_args()"
 - trailer: spread usage of "trailer_block" language
 - trailer: retire trailer_info_get() from API
 - trailer: make trailer_info struct private
 - sequencer: use the trailer iterator
 - trailer: teach iterator about non-trailer lines
 - trailer: finish formatting unification
 - format_trailer_info(): avoid double-printing the separator
 - format_trailer_info(): teach it about opts->trim_empty
 - trailer: begin formatting unification
 - format_trailer_info(): append newline for non-trailer lines
 - format_trailer_info(): drop redundant unfold_value()
 - format_trailer_info(): use trailer_item objects
 - format_trailers_from_commit(): indirectly call trailer_info_get()
 - format_trailer_info(): move "fast path" to caller
 - format_trailers(): use strbuf instead of FILE
 - trailer_info_get(): reorder parameters
 - trailer: start preparing for formatting unification
 - trailer: move interpret_trailers() to interpret-trailers.c
 - trailer: prepare to expose functions as part of API
 - shortlog: add test for de-duplicating folded trailers
 - trailer: free trailer_info _after_ all related usage

 Code clean-up.
 source: <pull.1632.v4.git.1707196348.gitgitgadget@gmail.com>


* cp/apply-core-filemode (2023-12-26) 3 commits
  (merged to 'next' on 2024-02-07 at 089a3fbb86)
 + apply: code simplification
 + apply: correctly reverse patch's pre- and post-image mode bits
 + apply: ignore working tree filemode when !core.filemode

 "git apply" on a filesystem without filemode support have learned
 to take a hint from what is in the index for the path, even when
 not working with the "--index" or "--cached" option, when checking
 the executable bit match what is required by the preimage in the
 patch.

 Will cook in 'next'.
 cf. <xmqqzfwb53a9.fsf@gitster.g>
 source: <20231226233218.472054-1-gitster@pobox.com>


* jc/bisect-doc (2024-02-07) 2 commits
  (merged to 'next' on 2024-02-07 at 914fa6775f)
 + bisect: document command line arguments for "bisect start"
 + bisect: document "terms" subcommand more fully

 Doc update.

 Will merge to 'master'.
 source: <20240207214436.538586-1-gitster@pobox.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Will merge to and cook in 'next'?
 cf. <xmqqv86z5359.fsf@gitster.g>
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>

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

* tb/pair-chunk-expect (2023-11-10) 8 commits
 . midx: read `OOFF` chunk with `pair_chunk_expect()`
 . midx: read `OIDL` chunk with `pair_chunk_expect()`
 . commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 . commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 . commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 . commit-graph: read `OIDL` chunk with `pair_chunk_expect()`
 . chunk-format: introduce `pair_chunk_expect()` helper
 . Merge branch 'jk/chunk-bounds-more' into HEAD

 Further code clean-up.

 Retracted for now.
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1699569246.git.me@ttaylorr.com>


* kn/for-all-refs (2024-01-29) 4 commits
  (merged to 'next' on 2024-01-30 at e7a9234a8b)
 + for-each-ref: avoid filtering on empty pattern
 + refs: introduce `refs_for_each_all_refs()`
 + refs: extract out `loose_fill_ref_dir_regular_file()`
 + refs: introduce `is_pseudoref()` and `is_headref()`

 "git for-each-ref" filters its output with prefixes given from the
 command line, but it did not honor an empty string to mean "pass
 everything", which has been corrected.

 Reverted out of 'next' to revamp its UI.
 source: <20240129113527.607022-1-karthik.188@gmail.com>


* ak/color-decorate-symbols (2023-10-23) 7 commits
 - log: add color.decorate.pseudoref config variable
 - refs: exempt pseudorefs from pattern prefixing
 - refs: add pseudorefs array and iteration functions
 - log: add color.decorate.ref config variable
 - log: add color.decorate.symbol config variable
 - log: use designated inits for decoration_colors
 - config: restructure color.decorate documentation

 A new config for coloring.

 Ejected, to be rebuilt on updated kn/for-all-refs topic
 cf. <xmqqcyt853vz.fsf@gitster.g>
 source: <20231023221143.72489-1-andy.koppe@gmail.com>


^ permalink raw reply	[relevance 25%]

* What's cooking in git.git (Feb 2024, #03; Tue, 6)
@ 2024-02-07  1:15 24% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-02-07  1:15 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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']

* cb/use-freebsd-13-2-at-cirrus-ci (2024-01-31) 1 commit
  (merged to 'next' on 2024-01-31 at f89dc8a289)
 + ci: update FreeBSD cirrus job

 Cirrus CI jobs started breaking because we specified version of
 FreeBSD that is no longer available, which has been corrected.
 source: <20240131191325.33228-1-carenas@gmail.com>


* jc/comment-style-fixes (2024-01-29) 3 commits
  (merged to 'next' on 2024-01-30 at a58d48a9ce)
 + reftable/pq_test: comment style fix
 + merge-ort.c: comment style fix
 + builtin/worktree: comment style fixes

 Rewrite //-comments to /* comments */ in files whose comments
 prevalently use the latter.
 source: <20240129202839.2234084-1-gitster@pobox.com>


* jc/make-libpath-template (2024-01-31) 2 commits
  (merged to 'next' on 2024-01-31 at 559d5138bc)
 + Makefile: simplify output of the libpath_template
 + Makefile: reduce repetitive library paths

 The Makefile often had to say "-L$(path) -R$(path)" that repeats
 the path to the same library directory for link time and runtime.
 A Makefile template is used to reduce such repetition.
 source: <20240131174220.4160560-1-gitster@pobox.com>


* jc/reftable-core-fsync (2024-01-30) 2 commits
  (merged to 'next' on 2024-01-30 at c3a79b6172)
 + reftable/stack: fsync "tables.list" during compaction
  (merged to 'next' on 2024-01-24 at cea12beddb)
 + reftable: honor core.fsync
 (this branch is used by ps/reftable-multi-level-indices-fix.)

 The write codepath for the reftable data learned to honor
 core.fsync configuration.
 source: <7bdafc9bd7f53f38a24d69a563615b6ad484e1ba.1706592127.git.ps@pks.im>


* jc/t0091-with-unknown-git (2024-01-30) 1 commit
  (merged to 'next' on 2024-01-31 at 3dfcad1b18)
 + t0091: allow test in a repository without tags

 The test did not work when Git was built from a repository without
 tags.
 source: <xmqqv87aabk3.fsf@gitster.g>


* jk/diff-external-with-no-index (2024-01-29) 1 commit
  (merged to 'next' on 2024-01-30 at 30c3e9f91d)
 + diff: handle NULL meta-info when spawning external diff

 "git diff --no-index file1 file2" segfaulted while invoking the
 external diff driver, which has been corrected.
 source: <20240129015708.GA1762343@coredump.intra.peff.net>


* js/win32-retry-pipe-write-on-enospc (2024-01-30) 1 commit
  (merged to 'next' on 2024-01-31 at 60ad589fd0)
 + win32: special-case `ENOSPC` when writing to a pipe

 Update to the code that writes to pipes on Windows.
 source: <pull.1648.git.1706650619950.gitgitgadget@gmail.com>


* jt/p4-spell-re-with-raw-string (2024-01-29) 1 commit
  (merged to 'next' on 2024-01-30 at 42b03b58eb)
 + git-p4: use raw string literals for regular expressions

 "git p4" update to squelch warnings from Python.
 source: <pull.1639.v2.git.1706312496608.gitgitgadget@gmail.com>


* kh/maintenance-use-xdg-when-it-should (2024-01-29) 1 commit
  (merged to 'next' on 2024-01-30 at c449ac74bf)
 + config: add back code comment

 Comment fix.
 source: <48d66e94ece3b763acbe933561d82157c02a5f58.1706466321.git.code@khaugsbakk.name>


* ps/reftable-compacted-tables-permission-fix (2024-01-26) 1 commit
  (merged to 'next' on 2024-01-29 at dbb06e1571)
 + reftable/stack: adjust permissions of compacted tables

 Reftable bugfix.
 source: <a211818108053754aca002726d0206623a347952.1706263589.git.ps@pks.im>


* ps/tests-with-ref-files-backend (2024-01-29) 6 commits
  (merged to 'next' on 2024-01-30 at 376b9c9c1b)
 + t: mark tests regarding git-pack-refs(1) to be backend specific
 + t5526: break test submodule differently
 + t1419: mark test suite as files-backend specific
 + t1302: make tests more robust with new extensions
 + t1301: mark test for `core.sharedRepository` as reffiles specific
 + t1300: make tests more robust with non-default ref backends
 (this branch is used by ps/reftable-backend.)

 Prepare existing tests on refs to work better with non-default
 backends.
 source: <cover.1706525813.git.ps@pks.im>


* rj/test-with-leak-check (2024-01-29) 4 commits
  (merged to 'next' on 2024-01-31 at 76e4596666)
 + t0080: mark as leak-free
 + test-lib: check for TEST_PASSES_SANITIZE_LEAK
 + t6113: mark as leak-free
 + t5332: mark as leak-free

 More tests that are supposed to pass leak sanitizer are marked as such.
 source: <45eb0748-6415-4e52-a54f-8d4e5ad57dde@gmail.com>


* tb/pack-bitmap-drop-unused-struct-member (2024-01-29) 1 commit
  (merged to 'next' on 2024-01-30 at f3749b15fc)
 + pack-bitmap: drop unused `reuse_objects`

 Code clean-up.
 source: <0bbaf9a3591765161872fb71383263edb0c7ef83.1706328008.git.me@ttaylorr.com>

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

* gt/at-is-synonym-for-head-in-add-patch (2024-02-03) 3 commits
 - SQUASH???
 - add-patch: classify '@' as a synonym for 'HEAD'
 - add-patch: remove unnecessary NEEDSWORK comment

 Teach "git checkout -p" and friends that "@" is a synonym for
 "HEAD".
 source: <20240202150434.11256-1-shyamthakkar001@gmail.com>


* js/unit-test-suite-runner (2024-02-03) 7 commits
 - t/Makefile: run unit tests alongside shell tests
 - unit tests: add rule for running with test-tool
 - test-tool run-command testsuite: support unit tests
 - test-tool run-command testsuite: remove hardcoded filter
 - test-tool run-command testsuite: get shell from env
 - t0080: turn t-basic unit test into a helper
 - Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner
 (this branch uses jk/unit-tests-buildfix.)

 The "test-tool" has been taught to run testsuite tests in parallel,
 bypassing the need to use the "prove" tool.
 source: <cover.1706921262.git.steadmon@google.com>


* jc/sign-buffer-failure-propagation-fix (2024-02-06) 1 commit
 - tag: fix sign_buffer() call to create a signed tag


* js/check-null-from-read-object-file (2024-02-06) 1 commit
 - Always check the return value of `repo_read_object_file()`

 source: <pull.1650.git.1707143753726.gitgitgadget@gmail.com>


* pb/template-for-single-commit-pr (2024-02-06) 1 commit
 - .github/PULL_REQUEST_TEMPLATE.md: add a note about single-commit PRs

 source: <pull.1665.v2.git.git.1707225612576.gitgitgadget@gmail.com>


* ps/report-failure-from-git-stash (2024-02-06) 1 commit
 - builtin/stash: report failure to write to index

 source: <cb098cf88cbfcbf7c4872f8887856629b909cb91.1707197653.git.ps@pks.im>


* tb/multi-pack-reuse-experiment (2024-02-05) 2 commits
 - pack-objects: enable multi-pack reuse via `feature.experimental`
 - t5332-multi-pack-reuse.sh: extract pack-objects helper functions

 source: <cover.1707173415.git.me@ttaylorr.com>

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

* ps/reftable-backend (2024-02-02) 3 commits
 - ci: add jobs to test with the reftable backend
 - refs: introduce reftable backend
 - Merge branch 'ps/tests-with-ref-files-backend' into ps/reftable-backend

 Integrate the reftable code into the refs framework as a backend.

 Will merge to 'next'.
 source: <cover.1706862705.git.ps@pks.im>


* cc/rev-list-allow-missing-tips (2024-02-01) 3 commits
 - rev-list: add --allow-missing-tips to be used with --missing=...
 - t6022: fix 'even though' typo in comment
 - revision: clarify a 'return NULL' in get_reference()

 "git rev-list --missing=print" have learned to optionally take
 "--allow-missing-tips", which allows the objects at the starting
 points to be missing.

 Needs review.
 source: <20240201115809.1177064-1-christian.couder@gmail.com>


* ps/reftable-iteration-perf (2024-02-01) 7 commits
 - reftable/reader: add comments to `table_iter_next()`
 - reftable/record: don't try to reallocate ref record name
 - reftable/block: swap buffers instead of copying
 - reftable/pq: allocation-less comparison of entry keys
 - reftable/merged: skip comparison for records of the same subiter
 - reftable/merged: allocation-less dropping of shadowed records
 - reftable/record: introduce function to compare records by key

 The code to iterate over refs with the reftable backend has seen
 some optimization.

 Needs review.
 source: <cover.1706782841.git.ps@pks.im>


* ps/reftable-styles (2024-02-06) 9 commits
 - reftable/record: improve semantics when initializing records
 - reftable/merged: refactor initialization of iterators
 - reftable/merged: refactor seeking of records
 - reftable/stack: use `size_t` to track stack length
 - reftable/stack: use `size_t` to track stack slices during compaction
 - reftable/stack: index segments with `size_t`
 - reftable/stack: fix parameter validation when compacting range
 - reftable: introduce macros to allocate arrays
 - reftable: introduce macros to grow arrays

 Code clean-up in various reftable code paths.

 Will merge to 'next'.
 source: <cover.1707200355.git.ps@pks.im>


* pb/imap-send-wo-curl-build-fix (2024-02-01) 1 commit
  (merged to 'next' on 2024-02-05 at 18368f61a7)
 + imap-send: add missing "strbuf.h" include under NO_CURL

 Build fix.

 Will merge to 'master'.
 source: <pull.1664.git.git.1706833113569.gitgitgadget@gmail.com>


* jc/github-actions-update (2024-02-02) 1 commit
 - Merge branch 'jc/maint-github-actions-update' into jc/github-actions-update
 (this branch uses jc/maint-github-actions-update.)

 An evil merge of the other topic to a more modern codebase.

 Will merge to 'next'?


* jc/maint-github-actions-update (2024-02-02) 2 commits
 - GitHub Actions: update to github-script@v7
 - GitHub Actions: update to checkout@v4
 (this branch is used by jc/github-actions-update.)

 Squelch node.js 16 deprecation warnings from GitHub Actions CI
 by updating actions/github-script and actions/checkout that use
 node.js 20.

 Needs review.
 source: <20240202203935.1240458-1-gitster@pobox.com>


* jh/sparse-index-expand-to-path-fix (2024-02-02) 1 commit
  (merged to 'next' on 2024-02-06 at 17ec59dd9a)
 + sparse-index: pass string length to index_file_exists()

 A caller called index_file_exists() that takes a string expressed
 as <ptr, length> with a wrong length, which has been corrected.

 Will merge to 'master'.
 source: <pull.1649.git.1706897095273.gitgitgadget@gmail.com>


* jk/unit-tests-buildfix (2024-02-02) 4 commits
  (merged to 'next' on 2024-02-02 at 8838dd21e8)
 + t/Makefile: say the default target upfront
  (merged to 'next' on 2024-01-31 at 00df31c4c8)
 + t/Makefile: get UNIT_TESTS list from C sources
 + Makefile: remove UNIT_TEST_BIN directory with "make clean"
 + Makefile: use mkdir_p_parent_template for UNIT_TEST_BIN
 (this branch is used by js/unit-test-suite-runner.)

 Build dependency around unit tests has been fixed.

 Will merge to 'master'.
 source: <20240130053714.GA165967@coredump.intra.peff.net>
 source: <xmqqjznmtjr9.fsf@gitster.g>


* js/merge-tree-3-trees (2024-02-06) 5 commits
 - Always check `parse_tree*()`'s return value
 - t4301: verify that merge-tree fails on missing blob objects
 - merge-ort: do check `parse_tree()`'s return value
 - merge-tree: fail with a non-zero exit code on missing tree objects
  (merged to 'next' on 2024-01-30 at 0c77b04e59)
 + merge-tree: accept 3 trees as arguments

 "git merge-tree" has learned that the three trees involved in the
 3-way merge only need to be trees, not necessarily commits.

 Will cook in 'next'
 source: <pull.1647.v2.git.1706474063109.gitgitgadget@gmail.com>
 source: <pull.1651.git.1707212981.gitgitgadget@gmail.com>


* mh/credential-oauth-refresh-token-with-wincred (2024-01-29) 1 commit
  (merged to 'next' on 2024-02-05 at 68880a751a)
 + credential/wincred: store oauth_refresh_token

 Teach wincred credential backend to support oauth refresh token the
 same way as credential-cache and credential-libsecret backends.

 Will merge to 'master'.
 source: <pull.1534.v3.git.1706477103039.gitgitgadget@gmail.com>


* pb/complete-config (2024-01-29) 5 commits
 - completion: add an use _ _git_compute_second_level_config_vars_for_section
 - builtin/help: add --config-all-for-completion
 - completion: add and use _ _git_compute_first_level_config_vars_for_section
 - completion: complete 'submodule.*' config variables
 - completion: add space after config variable names also in Bash 3

 The command line completion script (in contrib/) learned to
 complete configuration variable names better.

 Needs review.
 source: <pull.1660.v2.git.git.1706534881.gitgitgadget@gmail.com>


* rj/complete-reflog (2024-01-26) 4 commits
 - completion: reflog show <log-options>
 - completion: reflog with implicit "show"
 - completion: introduce __git_find_subcommand
 - completion: introduce __gitcomp_subcommand

 The command line completion script (in contrib/) learned to
 complete "git reflog" better.

 Needs review.
 source: <98daf977-dbad-4d3b-a293-6a769895088f@gmail.com>


* jc/index-pack-fsck-levels (2024-02-01) 2 commits
  (merged to 'next' on 2024-02-02 at 0e4ef26aa1)
 + index-pack: --fsck-objects to take an optional argument for fsck msgs
 + index-pack: test and document --strict=<msg-id>=<severity>...

 The "--fsck-objects" option of "git index-pack" now can take the
 optional parameter to tweak severity of different fsck errors.

 Will merge to 'master'.
 source: <pull.1658.v4.git.git.1706751483.gitgitgadget@gmail.com>


* ps/reftable-multi-level-indices-fix (2024-02-01) 6 commits
 - reftable: document reading and writing indices
 - reftable/writer: fix writing multi-level indices
 - reftable/writer: simplify writing index records
 - reftable/writer: use correct type to iterate through index entries
 - reftable/reader: be more careful about errors in indexed seeks
 - Merge branch 'jc/reftable-core-fsync' into ps/reftable-multi-level-indices-fix

 Write multi-level indices for reftable has been corrected.

 Will merge to 'next'.
 source: <cover.1706773842.git.ps@pks.im>


* cp/unit-test-prio-queue (2024-01-22) 1 commit
  (merged to 'next' on 2024-02-01 at 38aa6559b0)
 + tests: move t0009-prio-queue.sh to the new unit testing framework

 Migrate priority queue test to unit testing framework.

 Will merge to 'master'.
 source: <pull.1642.v4.git.1705865326185.gitgitgadget@gmail.com>


* ml/log-merge-with-cherry-pick-and-other-pseudo-heads (2024-01-17) 2 commits
 - revision: implement `git log --merge` also for rebase/cherry_pick/revert
 - revision: ensure MERGE_HEAD is a ref in prepare_show_merge

 "git log --merge" learned to pay attention to CHERRY_PICK_HEAD and
 other kinds of *_HEAD pseudorefs.

 Comments?
 source: <xmqqzfxa9usx.fsf@gitster.g>


* bk/complete-bisect (2024-01-29) 9 commits
 - SQUASH???
 - completion: add tests for git-bisect
 - completion: bisect: recognize but do not complete view subcommand
 - completion: bisect: complete log opts for visualize subcommand
 - completion: log: use __git_complete_log_opts
 - completion: new function __git_complete_log_opts
 - completion: bisect: complete missing --first-parent and --no-checkout options
 - completion: bisect: complete custom terms and related options
 - completion: bisect: complete bad, new, old, and help subcommands

 Command line completion support (in contrib/) has been
 updated for "git bisect".

 Comments?
 cf. <ZaofJhHsFjRxx7a3@tanuki>
 source: <20240128223447.342493-1-britton.kerin@gmail.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Needs review.
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Needs review.
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* la/trailer-api (2024-02-06) 28 commits
 - trailer: introduce "template" term for readability
 - trailer_set_*(): put out parameter at the end
 - trailer: unify "--trailer ..." arg handling
 - trailer: deprecate "new_trailer_item" struct from API
 - trailer_add_arg_item(): drop new_trailer_item usage
 - trailer: add new helper functions to API
 - trailer: prepare to delete "parse_trailers_from_command_line_args()"
 - trailer: spread usage of "trailer_block" language
 - trailer: retire trailer_info_get() from API
 - trailer: make trailer_info struct private
 - sequencer: use the trailer iterator
 - trailer: teach iterator about non-trailer lines
 - trailer: finish formatting unification
 - format_trailer_info(): avoid double-printing the separator
 - format_trailer_info(): teach it about opts->trim_empty
 - trailer: begin formatting unification
 - format_trailer_info(): append newline for non-trailer lines
 - format_trailer_info(): drop redundant unfold_value()
 - format_trailer_info(): use trailer_item objects
 - format_trailers_from_commit(): indirectly call trailer_info_get()
 - format_trailer_info(): move "fast path" to caller
 - format_trailers(): use strbuf instead of FILE
 - trailer_info_get(): reorder parameters
 - trailer: start preparing for formatting unification
 - trailer: move interpret_trailers() to interpret-trailers.c
 - trailer: prepare to expose functions as part of API
 - shortlog: add test for de-duplicating folded trailers
 - trailer: free trailer_info _after_ all related usage

 Code clean-up.

 Needs review.
 source: <pull.1632.v4.git.1707196348.gitgitgadget@gmail.com>


* cp/apply-core-filemode (2023-12-26) 3 commits
 - apply: code simplification
 - apply: correctly reverse patch's pre- and post-image mode bits
 - apply: ignore working tree filemode when !core.filemode

 "git apply" on a filesystem without filemode support have learned
 to take a hint from what is in the index for the path, even when
 not working with the "--index" or "--cached" option, when checking
 the executable bit match what is required by the preimage in the
 patch.

 Needs review.
 source: <20231226233218.472054-1-gitster@pobox.com>


* ja/doc-placeholders-fix (2023-12-26) 2 commits
  (merged to 'next' on 2024-02-05 at 047da8cbb0)
 + doc: enforce placeholders in documentation
 + doc: enforce dashes in placeholders

 Docfix.

 Will merge to 'master'.
 source: <pull.1626.git.1703539287.gitgitgadget@gmail.com>


* jc/bisect-doc (2023-12-09) 1 commit
 - bisect: document "terms" subcommand more fully

 Doc update.

 Needs review.
 source: <xmqqzfyjmk02.fsf@gitster.g>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Waiting for a final ack?
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1706741516.git.me@ttaylorr.com>


* ak/color-decorate-symbols (2023-10-23) 7 commits
 - log: add color.decorate.pseudoref config variable
 - refs: exempt pseudorefs from pattern prefixing
 - refs: add pseudorefs array and iteration functions
 - log: add color.decorate.ref config variable
 - log: add color.decorate.symbol config variable
 - log: use designated inits for decoration_colors
 - config: restructure color.decorate documentation

 A new config for coloring.

 Needs review.
 source: <20231023221143.72489-1-andy.koppe@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>

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

* tb/pair-chunk-expect (2023-11-10) 8 commits
 . midx: read `OOFF` chunk with `pair_chunk_expect()`
 . midx: read `OIDL` chunk with `pair_chunk_expect()`
 . commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 . commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 . commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 . commit-graph: read `OIDL` chunk with `pair_chunk_expect()`
 . chunk-format: introduce `pair_chunk_expect()` helper
 . Merge branch 'jk/chunk-bounds-more' into HEAD

 Further code clean-up.

 Retracted for now.
 cf. <ZcFjkfbsBfk7JQIH@nand.local>
 source: <cover.1699569246.git.me@ttaylorr.com>


* kn/for-all-refs (2024-01-29) 4 commits
  (merged to 'next' on 2024-01-30 at e7a9234a8b)
 + for-each-ref: avoid filtering on empty pattern
 + refs: introduce `refs_for_each_all_refs()`
 + refs: extract out `loose_fill_ref_dir_regular_file()`
 + refs: introduce `is_pseudoref()` and `is_headref()`

 "git for-each-ref" filters its output with prefixes given from the
 command line, but it did not honor an empty string to mean "pass
 everything", which has been corrected.

 Reverted out of 'next' to revamp its UI.
 source: <20240129113527.607022-1-karthik.188@gmail.com>


^ permalink raw reply	[relevance 24%]

* Re: What's cooking in git.git (Feb 2024, #02; Fri, 2)
  @ 2024-02-05 23:20 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-02-05 23:20 UTC (permalink / raw)
  To: Phillip Wood; +Cc: git

Phillip Wood <phillip.wood123@gmail.com> writes:

> I'm concerned that the UI could use some improvement. If I understand
> correctly the proposal is to make
>
> 	git for-each-ref
>
> and
>
> 	git for-each-ref ""
>
> behave differently so that the latter prints the pseudorefs from the
> current worktree and the former does not.

I would actually think that is perfectly sensible.  The optional
arguments for-each-ref name "filtering patterns" and you can view
the behaviour of the command as using "refs/" as the default
filtering pattern when nothing is given.  But it is easy to defeat
the unfortunate and historical default filtering pattern, by saying
"we do not limit to any hierarchy, anything goes" by giving "" as
the prefix.



^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Feb 2024, #02; Fri, 2)
@ 2024-02-03  8:23 27% Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2024-02-03  8:23 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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/

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

* jc/t0091-with-unknown-git (2024-01-30) 1 commit
  (merged to 'next' on 2024-01-31 at 3dfcad1b18)
 + t0091: allow test in a repository without tags

 The test did not work when Git was built from a repository without
 tags.

 Will merge to 'master'.
 source: <xmqqv87aabk3.fsf@gitster.g>


* ps/reftable-backend (2024-02-02) 3 commits
 - ci: add jobs to test with the reftable backend
 - refs: introduce reftable backend
 - Merge branch 'ps/tests-with-ref-files-backend' into ps/reftable-backend
 (this branch uses ps/tests-with-ref-files-backend.)

 Integrate the reftable code into the refs framework as a backend.

 Needs review.
 source: <cover.1706862705.git.ps@pks.im>


* js/win32-retry-pipe-write-on-enospc (2024-01-30) 1 commit
  (merged to 'next' on 2024-01-31 at 60ad589fd0)
 + win32: special-case `ENOSPC` when writing to a pipe

 Update to the code that writes to pipes on Windows.

 Will merge to 'master'.
 source: <pull.1648.git.1706650619950.gitgitgadget@gmail.com>


* jc/make-libpath-template (2024-01-31) 2 commits
  (merged to 'next' on 2024-01-31 at 559d5138bc)
 + Makefile: simplify output of the libpath_template
 + Makefile: reduce repetitive library paths

 The Makefile often had to say "-L$(path) -R$(path)" that repeats
 the path to the same library directory for link time and runtime.
 A Makefile template is used to reduce such repetition.

 Will merge to 'master'.
 source: <20240131174220.4160560-1-gitster@pobox.com>


* cb/use-freebsd-13-2-at-cirrus-ci (2024-01-31) 1 commit
  (merged to 'next' on 2024-01-31 at f89dc8a289)
 + ci: update FreeBSD cirrus job

 Cirrus CI jobs started breaking because we specified version of
 FreeBSD that is no longer available, which has been corrected.

 Will merge to 'master'.
 source: <20240131191325.33228-1-carenas@gmail.com>


* cc/rev-list-allow-missing-tips (2024-02-01) 3 commits
 - rev-list: add --allow-missing-tips to be used with --missing=...
 - t6022: fix 'even though' typo in comment
 - revision: clarify a 'return NULL' in get_reference()

 "git rev-list --missing=print" have learned to optionally take
 "--allow-missing-tips", which allows the objects at the starting
 points to be missing.

 Needs review.
 source: <20240201115809.1177064-1-christian.couder@gmail.com>


* ps/reftable-iteration-perf (2024-02-01) 7 commits
 - reftable/reader: add comments to `table_iter_next()`
 - reftable/record: don't try to reallocate ref record name
 - reftable/block: swap buffers instead of copying
 - reftable/pq: allocation-less comparison of entry keys
 - reftable/merged: skip comparison for records of the same subiter
 - reftable/merged: allocation-less dropping of shadowed records
 - reftable/record: introduce function to compare records by key

 The code to iterate over refs with the reftable backend has seen
 some optimization.

 Needs review.
 source: <cover.1706782841.git.ps@pks.im>


* ps/reftable-styles (2024-02-01) 9 commits
 - reftable/record: improve semantics when initializing records
 - reftable/merged: refactor initialization of iterators
 - reftable/merged: refactor seeking of records
 - reftable/stack: use `size_t` to track stack length
 - reftable/stack: use `size_t` to track stack slices during compaction
 - reftable/stack: index segments with `size_t`
 - reftable/stack: fix parameter validation when compacting range
 - reftable: introduce macros to allocate arrays
 - reftable: introduce macros to grow arrays

 Code clean-up in various reftable code paths.

 Needs review.
 source: <cover.1706772591.git.ps@pks.im>


* pb/imap-send-wo-curl-build-fix (2024-02-01) 1 commit
 - imap-send: add missing "strbuf.h" include under NO_CURL

 Build fix.

 Will merge to 'next'.
 source: <pull.1664.git.git.1706833113569.gitgitgadget@gmail.com>


* jc/github-actions-update (2024-02-02) 1 commit
 - Merge branch 'jc/maint-github-actions-update' into jc/github-actions-update
 (this branch uses jc/maint-github-actions-update.)

 An evil merge of the other topic to a more modern codebase.

 Will merge to 'next'?


* jc/maint-github-actions-update (2024-02-02) 2 commits
 - GitHub Actions: update to github-script@v7
 - GitHub Actions: update to checkout@v4
 (this branch is used by jc/github-actions-update.)

 Squelch node.js 16 deprecation warnings from GitHub Actions CI
 by updating actions/github-script and actions/checkout that use
 node.js 20.

 Needs review.
 source: <20240202203935.1240458-1-gitster@pobox.com>


* jh/sparse-index-expand-to-path-fix (2024-02-02) 1 commit
 - sparse-index: pass string length to index_file_exists()

 A caller called index_file_exists() that takes a string expressed
 as <ptr, length> with a wrong length, which has been corrected.

 Will merge to 'next'.
 source: <pull.1649.git.1706897095273.gitgitgadget@gmail.com>


* jc/comment-style-fixes (2024-01-29) 3 commits
  (merged to 'next' on 2024-01-30 at a58d48a9ce)
 + reftable/pq_test: comment style fix
 + merge-ort.c: comment style fix
 + builtin/worktree: comment style fixes

 Rewrite //-comments to /* comments */ in files whose comments
 prevalently use the latter.

 Will merge to 'master'.
 source: <20240129202839.2234084-1-gitster@pobox.com>


* jk/diff-external-with-no-index (2024-01-29) 1 commit
  (merged to 'next' on 2024-01-30 at 30c3e9f91d)
 + diff: handle NULL meta-info when spawning external diff

 "git diff --no-index file1 file2" segfaulted while invoking the
 external diff driver, which has been corrected.

 Will merge to 'next'.
 source: <20240129015708.GA1762343@coredump.intra.peff.net>


* jk/unit-tests-buildfix (2024-02-02) 4 commits
  (merged to 'next' on 2024-02-02 at 8838dd21e8)
 + t/Makefile: say the default target upfront
  (merged to 'next' on 2024-01-31 at 00df31c4c8)
 + t/Makefile: get UNIT_TESTS list from C sources
 + Makefile: remove UNIT_TEST_BIN directory with "make clean"
 + Makefile: use mkdir_p_parent_template for UNIT_TEST_BIN

 Build dependency around unit tests has been fixed.

 Will merge to 'master'.
 source: <20240130053714.GA165967@coredump.intra.peff.net>
 source: <xmqqjznmtjr9.fsf@gitster.g>


* js/merge-tree-3-trees (2024-01-29) 1 commit
  (merged to 'next' on 2024-01-30 at 0c77b04e59)
 + merge-tree: accept 3 trees as arguments

 "git merge-tree" has learned that the three trees involved in the
 3-way merge only need to be trees, not necessarily commits.

 Will merge to 'master'.
 source: <pull.1647.v2.git.1706474063109.gitgitgadget@gmail.com>


* jt/p4-spell-re-with-raw-string (2024-01-29) 1 commit
  (merged to 'next' on 2024-01-30 at 42b03b58eb)
 + git-p4: use raw string literals for regular expressions

 "git p4" update to squelch warnings from Python.

 Will merge to 'master'.
 source: <pull.1639.v2.git.1706312496608.gitgitgadget@gmail.com>


* kh/maintenance-use-xdg-when-it-should (2024-01-29) 1 commit
  (merged to 'next' on 2024-01-30 at c449ac74bf)
 + config: add back code comment

 Comment fix.

 Will merge to 'master'.
 source: <48d66e94ece3b763acbe933561d82157c02a5f58.1706466321.git.code@khaugsbakk.name>


* mh/credential-oauth-refresh-token-with-wincred (2024-01-29) 1 commit
 - credential/wincred: store oauth_refresh_token

 Teach wincred credential backend to support oauth refresh token the
 same way as credential-cache and credential-libsecret backends.

 Will merge to 'next'.
 source: <pull.1534.v3.git.1706477103039.gitgitgadget@gmail.com>


* pb/complete-config (2024-01-29) 5 commits
 - completion: add an use _ _git_compute_second_level_config_vars_for_section
 - builtin/help: add --config-all-for-completion
 - completion: add and use _ _git_compute_first_level_config_vars_for_section
 - completion: complete 'submodule.*' config variables
 - completion: add space after config variable names also in Bash 3

 The command line completion script (in contrib/) learned to
 complete configuration variable names better.

 Needs review.
 source: <pull.1660.v2.git.git.1706534881.gitgitgadget@gmail.com>


* rj/complete-reflog (2024-01-26) 4 commits
 - completion: reflog show <log-options>
 - completion: reflog with implicit "show"
 - completion: introduce __git_find_subcommand
 - completion: introduce __gitcomp_subcommand

 The command line completion script (in contrib/) learned to
 complete "git reflog" better.

 Needs review.
 source: <98daf977-dbad-4d3b-a293-6a769895088f@gmail.com>


* rj/test-with-leak-check (2024-01-29) 4 commits
  (merged to 'next' on 2024-01-31 at 76e4596666)
 + t0080: mark as leak-free
 + test-lib: check for TEST_PASSES_SANITIZE_LEAK
 + t6113: mark as leak-free
 + t5332: mark as leak-free

 More tests that are supposed to pass leak sanitizer are marked as such.

 Will merge to 'master'.
 source: <45eb0748-6415-4e52-a54f-8d4e5ad57dde@gmail.com>


* tb/pack-bitmap-drop-unused-struct-member (2024-01-29) 1 commit
  (merged to 'next' on 2024-01-30 at f3749b15fc)
 + pack-bitmap: drop unused `reuse_objects`

 Code clean-up.

 Will merge to 'master'.
 source: <0bbaf9a3591765161872fb71383263edb0c7ef83.1706328008.git.me@ttaylorr.com>


* ps/reftable-compacted-tables-permission-fix (2024-01-26) 1 commit
  (merged to 'next' on 2024-01-29 at dbb06e1571)
 + reftable/stack: adjust permissions of compacted tables

 Reftable bugfix.

 Will merge to 'master'.
 source: <a211818108053754aca002726d0206623a347952.1706263589.git.ps@pks.im>


* jc/index-pack-fsck-levels (2024-02-01) 2 commits
  (merged to 'next' on 2024-02-02 at 0e4ef26aa1)
 + index-pack: --fsck-objects to take an optional argument for fsck msgs
 + index-pack: test and document --strict=<msg-id>=<severity>...

 The "--fsck-objects" option of "git index-pack" now can take the
 optional parameter to tweak severity of different fsck errors.

 Will merge to 'master'.
 source: <pull.1658.v4.git.git.1706751483.gitgitgadget@gmail.com>


* ps/reftable-multi-level-indices-fix (2024-02-01) 6 commits
 - reftable: document reading and writing indices
 - reftable/writer: fix writing multi-level indices
 - reftable/writer: simplify writing index records
 - reftable/writer: use correct type to iterate through index entries
 - reftable/reader: be more careful about errors in indexed seeks
 - Merge branch 'jc/reftable-core-fsync' into ps/reftable-multi-level-indices-fix
 (this branch uses jc/reftable-core-fsync.)

 Write multi-level indices for reftable has been corrected.

 Needs review.
 source: <cover.1706773842.git.ps@pks.im>


* jc/reftable-core-fsync (2024-01-30) 2 commits
  (merged to 'next' on 2024-01-30 at c3a79b6172)
 + reftable/stack: fsync "tables.list" during compaction
  (merged to 'next' on 2024-01-24 at cea12beddb)
 + reftable: honor core.fsync
 (this branch is used by ps/reftable-multi-level-indices-fix.)

 The write codepath for the reftable data learned to honor
 core.fsync configuration.

 Will merge to 'master'.
 source: <7bdafc9bd7f53f38a24d69a563615b6ad484e1ba.1706592127.git.ps@pks.im>


* cp/unit-test-prio-queue (2024-01-22) 1 commit
  (merged to 'next' on 2024-02-01 at 38aa6559b0)
 + tests: move t0009-prio-queue.sh to the new unit testing framework

 Migrate priority queue test to unit testing framework.

 Will merge to 'master'.
 source: <pull.1642.v4.git.1705865326185.gitgitgadget@gmail.com>


* ml/log-merge-with-cherry-pick-and-other-pseudo-heads (2024-01-17) 2 commits
 - revision: implement `git log --merge` also for rebase/cherry_pick/revert
 - revision: ensure MERGE_HEAD is a ref in prepare_show_merge

 "git log --merge" learned to pay attention to CHERRY_PICK_HEAD and
 other kinds of *_HEAD pseudorefs.

 Comments?
 source: <xmqqzfxa9usx.fsf@gitster.g>


* kn/for-all-refs (2024-01-29) 4 commits
  (merged to 'next' on 2024-01-30 at e7a9234a8b)
 + for-each-ref: avoid filtering on empty pattern
 + refs: introduce `refs_for_each_all_refs()`
 + refs: extract out `loose_fill_ref_dir_regular_file()`
 + refs: introduce `is_pseudoref()` and `is_headref()`

 "git for-each-ref" filters its output with prefixes given from the
 command line, but it did not honor an empty string to mean "pass
 everything", which has been corrected.

 Will merge to 'master'.
 source: <20240129113527.607022-1-karthik.188@gmail.com>


* bk/complete-bisect (2024-01-29) 9 commits
 - SQUASH???
 - completion: add tests for git-bisect
 - completion: bisect: recognize but do not complete view subcommand
 - completion: bisect: complete log opts for visualize subcommand
 - completion: log: use __git_complete_log_opts
 - completion: new function __git_complete_log_opts
 - completion: bisect: complete missing --first-parent and --no-checkout options
 - completion: bisect: complete custom terms and related options
 - completion: bisect: complete bad, new, old, and help subcommands

 Command line completion support (in contrib/) has been
 updated for "git bisect".

 Comments?
 cf. <ZaofJhHsFjRxx7a3@tanuki>
 source: <20240128223447.342493-1-britton.kerin@gmail.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Needs review.
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Needs review.
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* la/trailer-api (2024-01-30) 10 commits
 - trailer: introduce "template" term for readability
 - trailer: delete obsolete argument handling code from API
 - trailer: move arg handling to interpret-trailers.c
 - trailer: prepare to move parse_trailers_from_command_line_args() to builtin
 - trailer: spread usage of "trailer_block" language
 - trailer: make trailer_info struct private
 - sequencer: use the trailer iterator
 - trailer: unify trailer formatting machinery
 - trailer: move interpret_trailers() to interpret-trailers.c
 - trailer: prepare to expose functions as part of API

 Code clean-up.

 Needs review.
 cf. <xmqqa5ol409k.fsf@gitster.g>
 source: <pull.1632.v3.git.1706664144.gitgitgadget@gmail.com>


* ps/tests-with-ref-files-backend (2024-01-29) 6 commits
  (merged to 'next' on 2024-01-30 at 376b9c9c1b)
 + t: mark tests regarding git-pack-refs(1) to be backend specific
 + t5526: break test submodule differently
 + t1419: mark test suite as files-backend specific
 + t1302: make tests more robust with new extensions
 + t1301: mark test for `core.sharedRepository` as reffiles specific
 + t1300: make tests more robust with non-default ref backends
 (this branch is used by ps/reftable-backend.)

 Prepare existing tests on refs to work better with non-default
 backends.

 Will merge to 'master'.
 source: <cover.1706525813.git.ps@pks.im>


* cp/apply-core-filemode (2023-12-26) 3 commits
 - apply: code simplification
 - apply: correctly reverse patch's pre- and post-image mode bits
 - apply: ignore working tree filemode when !core.filemode

 "git apply" on a filesystem without filemode support have learned
 to take a hint from what is in the index for the path, even when
 not working with the "--index" or "--cached" option, when checking
 the executable bit match what is required by the preimage in the
 patch.

 Needs review.
 source: <20231226233218.472054-1-gitster@pobox.com>


* ja/doc-placeholders-fix (2023-12-26) 2 commits
 - doc: enforce placeholders in documentation
 - doc: enforce dashes in placeholders

 Docfix.

 Will merge to 'next'.
 source: <pull.1626.git.1703539287.gitgitgadget@gmail.com>


* jc/bisect-doc (2023-12-09) 1 commit
 - bisect: document "terms" subcommand more fully

 Doc update.

 Needs review.
 source: <xmqqzfyjmk02.fsf@gitster.g>


* tb/pair-chunk-expect (2023-11-10) 8 commits
 - midx: read `OOFF` chunk with `pair_chunk_expect()`
 - midx: read `OIDL` chunk with `pair_chunk_expect()`
 - commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 - commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `OIDL` chunk with `pair_chunk_expect()`
 - chunk-format: introduce `pair_chunk_expect()` helper
 - Merge branch 'jk/chunk-bounds-more' into HEAD

 Further code clean-up.

 Needs review.
 source: <cover.1699569246.git.me@ttaylorr.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.
 source: <cover.1706741516.git.me@ttaylorr.com>


* ak/color-decorate-symbols (2023-10-23) 7 commits
 - log: add color.decorate.pseudoref config variable
 - refs: exempt pseudorefs from pattern prefixing
 - refs: add pseudorefs array and iteration functions
 - log: add color.decorate.ref config variable
 - log: add color.decorate.symbol config variable
 - log: use designated inits for decoration_colors
 - config: restructure color.decorate documentation

 A new config for coloring.

 Needs review.
 source: <20231023221143.72489-1-andy.koppe@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 27%]

* Re: What's cooking in git.git (Feb 2024, #01; Fri, 2)
  2024-02-03  0:43 22% What's cooking in git.git (Feb 2024, #01; Fri, 2) Junio C Hamano
@ 2024-02-03  5:22 99% ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-02-03  5:22 UTC (permalink / raw)
  To: git

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

> * jk/diff-external-with-no-index (2024-01-29) 1 commit
>   (merged to 'next' on 2024-01-30 at 30c3e9f91d)
>  + diff: handle NULL meta-info when spawning external diff
>
>  "git diff --no-index file1 file2" segfaulted while invoking the
>  external diff driver, which has been corrected.
>
>  Reverted out of 'next' for now, seems to break "win test (n)" jobs.
>  cf. <xmqqh6irwtkd.fsf@gitster.g>
>  source: <20240129015708.GA1762343@coredump.intra.peff.net>

The above topic is marked as such by mistake.  It is on track to be
merged to 'master'.  What was temporarily reverted was the next one.

> * jk/unit-tests-buildfix (2024-01-31) 3 commits
>   (merged to 'next' on 2024-01-31 at 00df31c4c8)
>  + t/Makefile: get UNIT_TESTS list from C sources
>  + Makefile: remove UNIT_TEST_BIN directory with "make clean"
>  + Makefile: use mkdir_p_parent_template for UNIT_TEST_BIN
>
>  Build dependency around unit tests has been fixed.
>
>  Will merge to 'master'.
>  source: <20240130053714.GA165967@coredump.intra.peff.net>

But Dscho helped to fix the breakage on "win test (n)" jobs so it
has again been queued to 'next'.



^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Feb 2024, #01; Fri, 2)
@ 2024-02-03  0:43 22% Junio C Hamano
  2024-02-03  5:22 99% ` Junio C Hamano
  0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2024-02-03  0:43 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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']

* ad/custom-merge-placeholder-for-symbolic-pathnames (2024-01-24) 1 commit
  (merged to 'next' on 2024-01-24 at d9cf4e227d)
 + merge-ll: expose revision names to custom drivers

 The labels on conflict markers for the common ancestor, our version,
 and the other version are available to custom 3-way merge driver
 via %S, %X, and %Y placeholders.
 source: <pull.1648.v4.git.git.1706126951879.gitgitgadget@gmail.com>


* jc/coc-whitespace-fix (2024-01-23) 1 commit
  (merged to 'next' on 2024-01-26 at 6fb290ad59)
 + CoC: whitespace fix

 Docfix.
 source: <xmqqmssvnb8d.fsf_-_@gitster.g>


* jc/ls-files-doc-update (2024-01-25) 1 commit
  (merged to 'next' on 2024-01-26 at a71aeec3d3)
 + ls-files: avoid the verb "deprecate" for individual options

 The documentation for the --exclude-per-directory option marked it
 as deprecated, which confused readers into thinking there may be a
 plan to remove it in the future, which was not our intention.
 source: <xmqqjznybfp4.fsf@gitster.g>


* jc/reffiles-tests (2024-01-22) 12 commits
  (merged to 'next' on 2024-01-24 at 0d1aaa6807)
 + t5312: move reffiles specific tests to t0601
 + t4202: move reffiles specific tests to t0600
 + t3903: make drop stash test ref backend agnostic
 + t1503: move reffiles specific tests to t0600
 + t1415: move reffiles specific tests to t0601
 + t1410: move reffiles specific tests to t0600
 + t1406: move reffiles specific tests to t0600
 + t1405: move reffiles specific tests to t0601
 + t1404: move reffiles specific tests to t0600
 + t1414: convert test to use Git commands instead of writing refs manually
 + remove REFFILES prerequisite for some tests in t1405 and t2017
 + t3210: move to t0601

 Tests on ref API are moved around to prepare for reftable.
 cf. <Za5TW-q4cKS8pNNc@tanuki>
 source: <pull.1647.v2.git.git.1705695540.gitgitgadget@gmail.com>


* jk/fetch-auto-tag-following-fix (2024-01-24) 1 commit
  (merged to 'next' on 2024-01-26 at d058f1511b)
 + transport-helper: re-examine object dir after fetching

 Fetching via protocol v0 over Smart HTTP transport sometimes failed
 to correctly auto-follow tags.
 source: <20240124010056.GA2603087@coredump.intra.peff.net>


* jx/remote-archive-over-smart-http (2024-01-22) 6 commits
  (merged to 'next' on 2024-01-23 at 5fa4633015)
 + transport-helper: call do_take_over() in process_connect
 + transport-helper: call do_take_over() in connect_helper
 + http-backend: new rpc-service for git-upload-archive
 + transport-helper: protocol v2 supports upload-archive
 + remote-curl: supports git-upload-archive service
 + transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.
 source: <cover.1705841443.git.zhiyou.jx@alibaba-inc.com>


* kl/allow-working-in-dot-git-in-non-bare-repository (2024-01-20) 1 commit
  (merged to 'next' on 2024-01-24 at e77b796e11)
 + setup: allow cwd=.git w/ bareRepository=explicit

 The "disable repository discovery of a bare repository" check,
 triggered by setting safe.bareRepository configuration variable to
 'explicit', has been loosened to exclude the ".git/" directory inside
 a non-bare repository from the check.  So you can do "cd .git &&
 git cmd" to run a Git command that works on a bare repository without
 explicitly specifying $GIT_DIR now.
 source: <pull.1645.git.1705709303098.gitgitgadget@gmail.com>


* pb/ci-github-skip-logs-for-broken-tests (2024-01-22) 1 commit
  (merged to 'next' on 2024-01-23 at f5e3ab2092)
 + ci(github): also skip logs of broken test cases

 GitHub CI update.
 cf. <dbe25fff-e1d4-41f2-8f8f-c538e8c2a77e@github.com>
 source: <pull.1649.git.git.1705808313306.gitgitgadget@gmail.com>


* pb/complete-log-more (2024-01-22) 4 commits
  (merged to 'next' on 2024-01-24 at 081d2a92fa)
 + completion: complete missing 'git log' options
 + completion: complete --encoding
 + completion: complete --patch-with-raw
 + completion: complete missing rev-list options

 The completion script (in contrib/) learned more options that can
 be used with "git log".
 source: <pull.1650.git.git.1705810071.gitgitgadget@gmail.com>


* rj/advice-disable-how-to-disable (2024-01-16) 2 commits
  (merged to 'next' on 2024-01-23 at f456f4937d)
 + advice: allow disabling the automatic hint in advise_if_enabled()
 + Merge branch 'rj/advice-delete-branch-not-fully-merged' into rj/advice-disable-how-to-disable

 All conditional "advice" messages show how to turn them off, which
 becomes repetitive.  Setting advice.* configuration explicitly on
 now omits the instruction part.
 source: <6a842ef8-b390-4739-9eef-e867d55ed5ea@gmail.com>


* rs/parse-options-with-keep-unknown-abbrev-fix (2024-01-22) 2 commits
  (merged to 'next' on 2024-01-23 at a216b482cd)
 + parse-options: simplify positivation handling
 + parse-options: fully disable option abbreviation with PARSE_OPT_KEEP_UNKNOWN

 "git diff --no-rename A B" did not disable rename detection but did
 not trigger an error from the command line parser.
 source: <579fd5bc-3bfd-427f-b22d-dab5e7e56eb2@web.de>
 source: <fb3c679a-5f00-4934-b028-6b2d081cd5b2@web.de>


* sd/negotiate-trace-fix (2024-01-03) 1 commit
  (merged to 'next' on 2024-01-24 at 6305853ab2)
 + push: region_leave trace for negotiate_using_fetch

 Tracing fix.
 source: <20240103224054.1940209-1-delmerico@google.com>


* zf/subtree-split-fix (2024-01-25) 1 commit
  (merged to 'next' on 2024-01-26 at a09e02f208)
 + subtree: fix split processing with multiple subtrees present

 "git subtree" (in contrib/) update.
 source: <pull.1587.v6.git.1701442494319.gitgitgadget@gmail.com>

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

* jc/t0091-with-unknown-git (2024-01-30) 1 commit
  (merged to 'next' on 2024-01-31 at 3dfcad1b18)
 + t0091: allow test in a repository without tags

 The test did not work when Git was built from a repository without
 tags.

 Will merge to 'master'.
 source: <xmqqv87aabk3.fsf@gitster.g>


* ps/reftable-backend (2024-02-02) 3 commits
 - ci: add jobs to test with the reftable backend
 - refs: introduce reftable backend
 - Merge branch 'ps/tests-with-ref-files-backend' into ps/reftable-backend
 (this branch uses ps/tests-with-ref-files-backend.)

 Integrate the reftable code into the refs framework as a backend.

 Needs review.
 source: <cover.1706862705.git.ps@pks.im>


* js/win32-retry-pipe-write-on-enospc (2024-01-30) 1 commit
  (merged to 'next' on 2024-01-31 at 60ad589fd0)
 + win32: special-case `ENOSPC` when writing to a pipe

 Update to the code that writes to pipes on Windows.

 Will merge to 'master'.
 source: <pull.1648.git.1706650619950.gitgitgadget@gmail.com>


* jc/make-libpath-template (2024-01-31) 2 commits
  (merged to 'next' on 2024-01-31 at 559d5138bc)
 + Makefile: simplify output of the libpath_template
 + Makefile: reduce repetitive library paths

 The Makefile often had to say "-L$(path) -R$(path)" that repeats
 the path to the same library directory for link time and runtime.
 A Makefile template is used to reduce such repetition.

 Will merge to 'master'.
 source: <20240131174220.4160560-1-gitster@pobox.com>


* cb/use-freebsd-13-2-at-cirrus-ci (2024-01-31) 1 commit
  (merged to 'next' on 2024-01-31 at f89dc8a289)
 + ci: update FreeBSD cirrus job

 Cirrus CI jobs started breaking because we specified version of
 FreeBSD that is no longer available, which has been corrected.

 Will merge to 'master'.
 source: <20240131191325.33228-1-carenas@gmail.com>


* cc/rev-list-allow-missing-tips (2024-02-01) 3 commits
 - rev-list: add --allow-missing-tips to be used with --missing=...
 - t6022: fix 'even though' typo in comment
 - revision: clarify a 'return NULL' in get_reference()

 "git rev-list --missing=print" have learned to optionally take
 "--allow-missing-tips", which allows the objects at the starting
 points to be missing.

 Needs review.
 source: <20240201115809.1177064-1-christian.couder@gmail.com>


* ps/reftable-iteration-perf (2024-02-01) 7 commits
 - reftable/reader: add comments to `table_iter_next()`
 - reftable/record: don't try to reallocate ref record name
 - reftable/block: swap buffers instead of copying
 - reftable/pq: allocation-less comparison of entry keys
 - reftable/merged: skip comparison for records of the same subiter
 - reftable/merged: allocation-less dropping of shadowed records
 - reftable/record: introduce function to compare records by key

 The code to iterate over refs with the reftable backend has seen
 some optimization.

 Needs review.
 source: <cover.1706782841.git.ps@pks.im>


* ps/reftable-styles (2024-02-01) 9 commits
 - reftable/record: improve semantics when initializing records
 - reftable/merged: refactor initialization of iterators
 - reftable/merged: refactor seeking of records
 - reftable/stack: use `size_t` to track stack length
 - reftable/stack: use `size_t` to track stack slices during compaction
 - reftable/stack: index segments with `size_t`
 - reftable/stack: fix parameter validation when compacting range
 - reftable: introduce macros to allocate arrays
 - reftable: introduce macros to grow arrays

 Code clean-up in various reftable code paths.

 Needs review.
 source: <cover.1706772591.git.ps@pks.im>


* pb/imap-send-wo-curl-build-fix (2024-02-01) 1 commit
 - imap-send: add missing "strbuf.h" include under NO_CURL

 Build fix.

 Will merge to 'next'.
 source: <pull.1664.git.git.1706833113569.gitgitgadget@gmail.com>


* jc/github-actions-update (2024-02-02) 1 commit
 - Merge branch 'jc/maint-github-actions-update' into jc/github-actions-update
 (this branch uses jc/maint-github-actions-update.)

 An evil merge of the other topic to a more modern codebase.

 Will merge to 'next'?


* jc/maint-github-actions-update (2024-02-02) 2 commits
 - GitHub Actions: update to github-script@v7
 - GitHub Actions: update to checkout@v4
 (this branch is used by jc/github-actions-update.)

 Squelch node.js 16 deprecation warnings from GitHub Actions CI
 by updating actions/github-script and actions/checkout that use
 node.js 20.

 Needs review.
 source: <20240202203935.1240458-1-gitster@pobox.com>


* jh/sparse-index-expand-to-path-fix (2024-02-02) 1 commit
 - sparse-index: pass string length to index_file_exists()

 A caller called index_file_exists() that takes a string expressed
 as <ptr, length> with a wrong length, which has been corrected.

 Will merge to 'next'.
 source: <pull.1649.git.1706897095273.gitgitgadget@gmail.com>

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

* jc/comment-style-fixes (2024-01-29) 3 commits
  (merged to 'next' on 2024-01-30 at a58d48a9ce)
 + reftable/pq_test: comment style fix
 + merge-ort.c: comment style fix
 + builtin/worktree: comment style fixes

 Rewrite //-comments to /* comments */ in files whose comments
 prevalently use the latter.

 Will merge to 'master'.
 source: <20240129202839.2234084-1-gitster@pobox.com>


* jk/diff-external-with-no-index (2024-01-29) 1 commit
  (merged to 'next' on 2024-01-30 at 30c3e9f91d)
 + diff: handle NULL meta-info when spawning external diff

 "git diff --no-index file1 file2" segfaulted while invoking the
 external diff driver, which has been corrected.

 Reverted out of 'next' for now, seems to break "win test (n)" jobs.
 cf. <xmqqh6irwtkd.fsf@gitster.g>
 source: <20240129015708.GA1762343@coredump.intra.peff.net>


* jk/unit-tests-buildfix (2024-01-31) 3 commits
  (merged to 'next' on 2024-01-31 at 00df31c4c8)
 + t/Makefile: get UNIT_TESTS list from C sources
 + Makefile: remove UNIT_TEST_BIN directory with "make clean"
 + Makefile: use mkdir_p_parent_template for UNIT_TEST_BIN

 Build dependency around unit tests has been fixed.

 Will merge to 'master'.
 source: <20240130053714.GA165967@coredump.intra.peff.net>


* js/merge-tree-3-trees (2024-01-29) 1 commit
  (merged to 'next' on 2024-01-30 at 0c77b04e59)
 + merge-tree: accept 3 trees as arguments

 "git merge-tree" has learned that the three trees involved in the
 3-way merge only need to be trees, not necessarily commits.

 Will merge to 'master'.
 source: <pull.1647.v2.git.1706474063109.gitgitgadget@gmail.com>


* jt/p4-spell-re-with-raw-string (2024-01-29) 1 commit
  (merged to 'next' on 2024-01-30 at 42b03b58eb)
 + git-p4: use raw string literals for regular expressions

 "git p4" update to squelch warnings from Python.

 Will merge to 'master'.
 source: <pull.1639.v2.git.1706312496608.gitgitgadget@gmail.com>


* kh/maintenance-use-xdg-when-it-should (2024-01-29) 1 commit
  (merged to 'next' on 2024-01-30 at c449ac74bf)
 + config: add back code comment

 Comment fix.

 Will merge to 'master'.
 source: <48d66e94ece3b763acbe933561d82157c02a5f58.1706466321.git.code@khaugsbakk.name>


* mh/credential-oauth-refresh-token-with-wincred (2024-01-29) 1 commit
 - credential/wincred: store oauth_refresh_token

 Teach wincred credential backend to support oauth refresh token the
 same way as credential-cache and credential-libsecret backends.

 Will merge to 'next'.
 source: <pull.1534.v3.git.1706477103039.gitgitgadget@gmail.com>


* pb/complete-config (2024-01-29) 5 commits
 - completion: add an use _ _git_compute_second_level_config_vars_for_section
 - builtin/help: add --config-all-for-completion
 - completion: add and use _ _git_compute_first_level_config_vars_for_section
 - completion: complete 'submodule.*' config variables
 - completion: add space after config variable names also in Bash 3

 The command line completion script (in contrib/) learned to
 complete configuration variable names better.

 Needs review.
 source: <pull.1660.v2.git.git.1706534881.gitgitgadget@gmail.com>


* rj/complete-reflog (2024-01-26) 4 commits
 - completion: reflog show <log-options>
 - completion: reflog with implicit "show"
 - completion: introduce __git_find_subcommand
 - completion: introduce __gitcomp_subcommand

 The command line completion script (in contrib/) learned to
 complete "git reflog" better.

 Needs review.
 source: <98daf977-dbad-4d3b-a293-6a769895088f@gmail.com>


* rj/test-with-leak-check (2024-01-29) 4 commits
  (merged to 'next' on 2024-01-31 at 76e4596666)
 + t0080: mark as leak-free
 + test-lib: check for TEST_PASSES_SANITIZE_LEAK
 + t6113: mark as leak-free
 + t5332: mark as leak-free

 More tests that are supposed to pass leak sanitizer are marked as such.

 Will merge to 'master'.
 source: <45eb0748-6415-4e52-a54f-8d4e5ad57dde@gmail.com>


* tb/pack-bitmap-drop-unused-struct-member (2024-01-29) 1 commit
  (merged to 'next' on 2024-01-30 at f3749b15fc)
 + pack-bitmap: drop unused `reuse_objects`

 Code clean-up.

 Will merge to 'master'.
 source: <0bbaf9a3591765161872fb71383263edb0c7ef83.1706328008.git.me@ttaylorr.com>


* ps/reftable-compacted-tables-permission-fix (2024-01-26) 1 commit
  (merged to 'next' on 2024-01-29 at dbb06e1571)
 + reftable/stack: adjust permissions of compacted tables

 Reftable bugfix.

 Will merge to 'master'.
 source: <a211818108053754aca002726d0206623a347952.1706263589.git.ps@pks.im>


* jc/index-pack-fsck-levels (2024-02-01) 2 commits
  (merged to 'next' on 2024-02-02 at 0e4ef26aa1)
 + index-pack: --fsck-objects to take an optional argument for fsck msgs
 + index-pack: test and document --strict=<msg-id>=<severity>...

 The "--fsck-objects" option of "git index-pack" now can take the
 optional parameter to tweak severity of different fsck errors.

 Will merge to 'master'.
 source: <pull.1658.v4.git.git.1706751483.gitgitgadget@gmail.com>


* ps/reftable-multi-level-indices-fix (2024-02-01) 6 commits
 - reftable: document reading and writing indices
 - reftable/writer: fix writing multi-level indices
 - reftable/writer: simplify writing index records
 - reftable/writer: use correct type to iterate through index entries
 - reftable/reader: be more careful about errors in indexed seeks
 - Merge branch 'jc/reftable-core-fsync' into ps/reftable-multi-level-indices-fix
 (this branch uses jc/reftable-core-fsync.)

 Write multi-level indices for reftable has been corrected.

 Needs review.
 source: <cover.1706773842.git.ps@pks.im>


* jc/reftable-core-fsync (2024-01-30) 2 commits
  (merged to 'next' on 2024-01-30 at c3a79b6172)
 + reftable/stack: fsync "tables.list" during compaction
  (merged to 'next' on 2024-01-24 at cea12beddb)
 + reftable: honor core.fsync
 (this branch is used by ps/reftable-multi-level-indices-fix.)

 The write codepath for the reftable data learned to honor
 core.fsync configuration.

 Will merge to 'master'.
 source: <7bdafc9bd7f53f38a24d69a563615b6ad484e1ba.1706592127.git.ps@pks.im>


* cp/unit-test-prio-queue (2024-01-22) 1 commit
  (merged to 'next' on 2024-02-01 at 38aa6559b0)
 + tests: move t0009-prio-queue.sh to the new unit testing framework

 Migrate priority queue test to unit testing framework.

 Will merge to 'master'.
 source: <pull.1642.v4.git.1705865326185.gitgitgadget@gmail.com>


* ml/log-merge-with-cherry-pick-and-other-pseudo-heads (2024-01-17) 2 commits
 - revision: implement `git log --merge` also for rebase/cherry_pick/revert
 - revision: ensure MERGE_HEAD is a ref in prepare_show_merge

 "git log --merge" learned to pay attention to CHERRY_PICK_HEAD and
 other kinds of *_HEAD pseudorefs.

 Comments?
 source: <xmqqzfxa9usx.fsf@gitster.g>


* kn/for-all-refs (2024-01-29) 4 commits
  (merged to 'next' on 2024-01-30 at e7a9234a8b)
 + for-each-ref: avoid filtering on empty pattern
 + refs: introduce `refs_for_each_all_refs()`
 + refs: extract out `loose_fill_ref_dir_regular_file()`
 + refs: introduce `is_pseudoref()` and `is_headref()`

 "git for-each-ref" filters its output with prefixes given from the
 command line, but it did not honor an empty string to mean "pass
 everything", which has been corrected.

 Will merge to 'master'.
 source: <20240129113527.607022-1-karthik.188@gmail.com>


* bk/complete-bisect (2024-01-29) 9 commits
 - SQUASH???
 - completion: add tests for git-bisect
 - completion: bisect: recognize but do not complete view subcommand
 - completion: bisect: complete log opts for visualize subcommand
 - completion: log: use __git_complete_log_opts
 - completion: new function __git_complete_log_opts
 - completion: bisect: complete missing --first-parent and --no-checkout options
 - completion: bisect: complete custom terms and related options
 - completion: bisect: complete bad, new, old, and help subcommands

 Command line completion support (in contrib/) has been
 updated for "git bisect".

 Comments?
 cf. <ZaofJhHsFjRxx7a3@tanuki>
 source: <20240128223447.342493-1-britton.kerin@gmail.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Needs review.
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Needs review.
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* la/trailer-api (2024-01-30) 10 commits
 - trailer: introduce "template" term for readability
 - trailer: delete obsolete argument handling code from API
 - trailer: move arg handling to interpret-trailers.c
 - trailer: prepare to move parse_trailers_from_command_line_args() to builtin
 - trailer: spread usage of "trailer_block" language
 - trailer: make trailer_info struct private
 - sequencer: use the trailer iterator
 - trailer: unify trailer formatting machinery
 - trailer: move interpret_trailers() to interpret-trailers.c
 - trailer: prepare to expose functions as part of API

 Code clean-up.

 Needs review.
 cf. <xmqqa5ol409k.fsf@gitster.g>
 source: <pull.1632.v3.git.1706664144.gitgitgadget@gmail.com>


* ps/tests-with-ref-files-backend (2024-01-29) 6 commits
  (merged to 'next' on 2024-01-30 at 376b9c9c1b)
 + t: mark tests regarding git-pack-refs(1) to be backend specific
 + t5526: break test submodule differently
 + t1419: mark test suite as files-backend specific
 + t1302: make tests more robust with new extensions
 + t1301: mark test for `core.sharedRepository` as reffiles specific
 + t1300: make tests more robust with non-default ref backends
 (this branch is used by ps/reftable-backend.)

 Prepare existing tests on refs to work better with non-default
 backends.

 Will merge to 'master'.
 source: <cover.1706525813.git.ps@pks.im>


* cp/apply-core-filemode (2023-12-26) 3 commits
 - apply: code simplification
 - apply: correctly reverse patch's pre- and post-image mode bits
 - apply: ignore working tree filemode when !core.filemode

 "git apply" on a filesystem without filemode support have learned
 to take a hint from what is in the index for the path, even when
 not working with the "--index" or "--cached" option, when checking
 the executable bit match what is required by the preimage in the
 patch.

 Needs review.
 source: <20231226233218.472054-1-gitster@pobox.com>


* ja/doc-placeholders-fix (2023-12-26) 2 commits
 - doc: enforce placeholders in documentation
 - doc: enforce dashes in placeholders

 Docfix.

 Will merge to 'next'.
 source: <pull.1626.git.1703539287.gitgitgadget@gmail.com>


* jc/bisect-doc (2023-12-09) 1 commit
 - bisect: document "terms" subcommand more fully

 Doc update.

 Needs review.
 source: <xmqqzfyjmk02.fsf@gitster.g>


* tb/pair-chunk-expect (2023-11-10) 8 commits
 - midx: read `OOFF` chunk with `pair_chunk_expect()`
 - midx: read `OIDL` chunk with `pair_chunk_expect()`
 - commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 - commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `OIDL` chunk with `pair_chunk_expect()`
 - chunk-format: introduce `pair_chunk_expect()` helper
 - Merge branch 'jk/chunk-bounds-more' into HEAD

 Further code clean-up.

 Needs review.
 source: <cover.1699569246.git.me@ttaylorr.com>


* tb/path-filter-fix (2024-01-31) 16 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: new Bloom filter version that fixes murmur3
 - commit-graph: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.
 source: <cover.1706741516.git.me@ttaylorr.com>


* ak/color-decorate-symbols (2023-10-23) 7 commits
 - log: add color.decorate.pseudoref config variable
 - refs: exempt pseudorefs from pattern prefixing
 - refs: add pseudorefs array and iteration functions
 - log: add color.decorate.ref config variable
 - log: add color.decorate.symbol config variable
 - log: use designated inits for decoration_colors
 - config: restructure color.decorate documentation

 A new config for coloring.

 Needs review.
 source: <20231023221143.72489-1-andy.koppe@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 22%]

* What's cooking in git.git (Jan 2024, #09; Mon, 29)
@ 2024-01-30  1:10 24% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-01-30  1:10 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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']

* al/t2400-depipe (2024-01-20) 1 commit
  (merged to 'next' on 2024-01-22 at a20d4a9a7f)
 + t2400: avoid losing exit status to pipes

 Coding style fix.
 source: <20240120021547.199-1-ach.lumap@gmail.com>


* en/diffcore-delta-final-line-fix (2024-01-18) 1 commit
  (merged to 'next' on 2024-01-22 at 7141d202cb)
 + diffcore-delta: avoid ignoring final 'line' of file

 Rename detection logic ignored the final line of a file if it is an
 incomplete line.
 source: <pull.1637.v2.git.1705119973690.gitgitgadget@gmail.com>


* gt/t0024-style-fixes (2024-01-20) 2 commits
  (merged to 'next' on 2024-01-22 at 36b46efbd0)
 + t0024: style fix
 + t0024: avoid losing exit status to pipes

 Coding style fix.
 source: <20240118215407.8609-1-shyamthakkar001@gmail.com>


* jc/majordomo-to-subspace (2024-01-20) 1 commit
  (merged to 'next' on 2024-01-22 at 6a95f43de4)
 + Docs: majordomo@vger.kernel.org has been decomissioned

 Doc update.
 source: <xmqqmst1hsd6.fsf@gitster.g>


* js/oss-fuzz-build-in-ci (2024-01-19) 2 commits
  (merged to 'next' on 2024-01-22 at 2954da5a39)
 + ci: build and run minimal fuzzers in GitHub CI
 + fuzz: fix fuzz test build rules

 oss-fuzz tests are built and run in CI.
 source: <cover.1705700054.git.steadmon@google.com>


* nb/rebase-x-shell-docfix (2024-01-17) 1 commit
  (merged to 'next' on 2024-01-22 at db49e10354)
 + rebase: fix documentation about used shell in -x

 Doc update.
 source: <20240117085347.948960-1-nik.borisov@suse.com>


* ps/not-so-many-refs-are-special (2024-01-19) 7 commits
  (merged to 'next' on 2024-01-22 at f70f463847)
 + Documentation: add "special refs" to the glossary
 + refs: redefine special refs
 + refs: convert MERGE_AUTOSTASH to become a normal pseudo-ref
 + sequencer: introduce functions to handle autostashes via refs
 + refs: convert AUTO_MERGE to become a normal pseudo-ref
 + sequencer: delete REBASE_HEAD in correct repo when picking commits
 + sequencer: clean up pseudo refs with REF_NO_DEREF

 Define "special ref" as a very narrow set that consists of
 FETCH_HEAD and MERGE_HEAD, and clarify everything else that used to
 be classified as such are actually just pseudorefs.
 source: <cover.1705659748.git.ps@pks.im>


* ps/reftable-optimize-io (2024-01-18) 7 commits
  (merged to 'next' on 2024-01-22 at b867e8b9a8)
 + reftable/stack: fix race in up-to-date check
 + reftable/stack: unconditionally reload stack after commit
  (merged to 'next' on 2024-01-12 at 4096e880e0)
 + reftable/blocksource: use mmap to read tables
 + reftable/blocksource: refactor code to match our coding style
 + reftable/stack: use stat info to avoid re-reading stack list
 + reftable/stack: refactor reloading to use file descriptor
 + reftable/stack: refactor stack reloading to have common exit path

 Low-level I/O optimization for reftable.
 source: <cover.1704966670.git.ps@pks.im>
 source: <cover.1705585037.git.ps@pks.im>


* tc/show-ref-exists-fix (2024-01-18) 1 commit
  (merged to 'next' on 2024-01-22 at 831452f2dd)
 + builtin/show-ref: treat directory as non-existing in --exists

 Update to a new feature recently added, "git show-ref --exists".
 source: <20240110141559.387815-2-toon@iotcl.com>

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

* jc/comment-style-fixes (2024-01-29) 3 commits
 - reftable/pq_test: comment style fix
 - merge-ort.c: comment style fix
 - builtin/worktree: comment style fixes

 Rewrite //-comments to /* comments */ in files whose comments
 prevalently use the latter.

 Will merge to 'next'.
 source: <20240129202839.2234084-1-gitster@pobox.com>


* jk/diff-external-with-no-index (2024-01-29) 1 commit
 - diff: handle NULL meta-info when spawning external diff

 "git diff --no-index file1 file2" segfaulted while invoking the
 external diff driver, which has been corrected.

 Will merge to 'next'.
 source: <20240129015708.GA1762343@coredump.intra.peff.net>


* jk/unit-tests-buildfix (2024-01-29) 2 commits
 - t/Makefile: get UNIT_TESTS list from C sources
 - Makefile: use order-only prereq for UNIT_TEST_BIN

 Build dependency fix around unit tests.

 Expecting a reroll.
 cf. <20240129202201.GA9612@szeder.dev>
 source: <20240129031540.GA2433764@coredump.intra.peff.net>


* js/merge-tree-3-trees (2024-01-29) 1 commit
 - merge-tree: accept 3 trees as arguments

 "git merge-tree" has learned that the three trees involved in the
 3-way merge only need to be trees, not necessarily commits.

 Will merge to 'next'.
 source: <pull.1647.v2.git.1706474063109.gitgitgadget@gmail.com>


* jt/p4-spell-re-with-raw-string (2024-01-29) 1 commit
 - git-p4: use raw string literals for regular expressions

 "git p4" update to squelch warnings from Python.

 Will merge to 'next'.
 source: <pull.1639.v2.git.1706312496608.gitgitgadget@gmail.com>


* kh/maintenance-use-xdg-when-it-should (2024-01-29) 1 commit
 - config: add back code comment

 Comment fix.

 Will merge to 'next'.
 source: <48d66e94ece3b763acbe933561d82157c02a5f58.1706466321.git.code@khaugsbakk.name>


* mh/credential-oauth-refresh-token-with-wincred (2024-01-29) 1 commit
 - credential/wincred: store oauth_refresh_token

 Teach wincred credential backend to support oauth refresh token the
 same way as credential-cache and credential-libsecret backends.

 Needs review.
 source: <pull.1534.v3.git.1706477103039.gitgitgadget@gmail.com>


* pb/complete-config (2024-01-29) 5 commits
 - completion: add an use _ _git_compute_second_level_config_vars_for_section
 - builtin/help: add --config-all-for-completion
 - completion: add and use _ _git_compute_first_level_config_vars_for_section
 - completion: complete 'submodule.*' config variables
 - completion: add space after config variable names also in Bash 3

 The command line completion script (in contrib/) learned to
 complete configuration variable names better.

 Needs review.
 source: <pull.1660.v2.git.git.1706534881.gitgitgadget@gmail.com>


* rj/complete-reflog (2024-01-26) 4 commits
 - completion: reflog show <log-options>
 - completion: reflog with implicit "show"
 - completion: introduce __git_find_subcommand
 - completion: introduce __gitcomp_subcommand

 The command line completion script (in contrib/) learned to
 complete "git reflog" better.

 Needs review.
 source: <98daf977-dbad-4d3b-a293-6a769895088f@gmail.com>


* rj/test-with-leak-check (2024-01-29) 4 commits
 - t0080: mark as leak-free
 - test-lib: check for TEST_PASSES_SANITIZE_LEAK
 - t6113: mark as leak-free
 - t5332: mark as leak-free

 Mark tests that are supposed to pass leak sanitizer as such.

 Will merge to 'next'?
 source: <45eb0748-6415-4e52-a54f-8d4e5ad57dde@gmail.com>


* tb/pack-bitmap-drop-unused-struct-member (2024-01-29) 1 commit
 - pack-bitmap: drop unused `reuse_objects`

 Code clean-up.

 Will merge to 'next'.
 source: <0bbaf9a3591765161872fb71383263edb0c7ef83.1706328008.git.me@ttaylorr.com>

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

* jc/coc-whitespace-fix (2024-01-23) 1 commit
  (merged to 'next' on 2024-01-26 at 6fb290ad59)
 + CoC: whitespace fix

 Docfix.

 Will merge to 'master'.
 source: <xmqqmssvnb8d.fsf_-_@gitster.g>


* jc/ls-files-doc-update (2024-01-25) 1 commit
  (merged to 'next' on 2024-01-26 at a71aeec3d3)
 + ls-files: avoid the verb "deprecate" for individual options

 The documentation for the --exclude-per-directory option marked it
 as deprecated, which confused readers into thinking there may be a
 plan to remove it in the future, which was not our intention.

 Will merge to 'master'.
 source: <xmqqjznybfp4.fsf@gitster.g>


* jk/fetch-auto-tag-following-fix (2024-01-24) 1 commit
  (merged to 'next' on 2024-01-26 at d058f1511b)
 + transport-helper: re-examine object dir after fetching

 Fetching via protocol v0 over Smart HTTP transport sometimes failed
 to correctly auto-follow tags.

 Will merge to 'master'.
 source: <20240124010056.GA2603087@coredump.intra.peff.net>


* ps/reftable-compacted-tables-permission-fix (2024-01-26) 1 commit
  (merged to 'next' on 2024-01-29 at dbb06e1571)
 + reftable/stack: adjust permissions of compacted tables

 Reftable bugfix.

 Will merge to 'master'.
 source: <a211818108053754aca002726d0206623a347952.1706263589.git.ps@pks.im>


* jc/index-pack-fsck-levels (2024-01-26) 2 commits
 - index-pack: --fsck-objects to take an optional argument for fsck msgs
 - index-pack: test and document --strict=<msg-id>=<severity>...

 The "--fsck-objects" option of "git index-pack" now can take the
 optional parameter to tweak severity of different fsck errors.

 Expecting a reroll.
 cf. <BF772E83-2BFE-4652-A742-67FADF3D8FE2@gmail.com>
 source: <pull.1658.v3.git.git.1706302749.gitgitgadget@gmail.com>


* zf/subtree-split-fix (2024-01-25) 1 commit
  (merged to 'next' on 2024-01-26 at a09e02f208)
 + subtree: fix split processing with multiple subtrees present

 "git subtree" (in contrib/) update.

 Will merge to 'master'.
 source: <pull.1587.v6.git.1701442494319.gitgitgadget@gmail.com>


* ps/reftable-multi-level-indices-fix (2024-01-26) 6 commits
 - reftable: document reading and writing indices
 - reftable/writer: fix writing multi-level indices
 - reftable/writer: simplify writing index records
 - reftable/writer: use correct type to iterate through index entries
 - reftable/reader: be more careful about errors in indexed seeks
 - Merge branch 'jc/reftable-core-fsync' into ps/reftable-multi-level-indices-fix
 (this branch uses jc/reftable-core-fsync.)

 Write multi-level indices for reftable has been corrected.
 source: <cover.1706263918.git.ps@pks.im>


* kl/allow-working-in-dot-git-in-non-bare-repository (2024-01-20) 1 commit
  (merged to 'next' on 2024-01-24 at e77b796e11)
 + setup: allow cwd=.git w/ bareRepository=explicit

 Loosen "disable repository discovery of a bare repository" check,
 triggered by setting safe.bareRepository configuration variable to
 'explicit', to exclude the ".git/" directory inside a non-bare
 repository from the check.

 Will merge to 'master'.
 source: <pull.1645.git.1705709303098.gitgitgadget@gmail.com>


* rs/parse-options-with-keep-unknown-abbrev-fix (2024-01-22) 2 commits
  (merged to 'next' on 2024-01-23 at a216b482cd)
 + parse-options: simplify positivation handling
 + parse-options: fully disable option abbreviation with PARSE_OPT_KEEP_UNKNOWN

 "git diff --no-rename A B" did not disable rename detection but did
 not trigger an error from the command line parser.

 Will merge to 'master'.
 source: <579fd5bc-3bfd-427f-b22d-dab5e7e56eb2@web.de>
 source: <fb3c679a-5f00-4934-b028-6b2d081cd5b2@web.de>


* pb/ci-github-skip-logs-for-broken-tests (2024-01-22) 1 commit
  (merged to 'next' on 2024-01-23 at f5e3ab2092)
 + ci(github): also skip logs of broken test cases

 GitHub CI update.

 Will merge to 'master'.
 cf. <dbe25fff-e1d4-41f2-8f8f-c538e8c2a77e@github.com>
 source: <pull.1649.git.git.1705808313306.gitgitgadget@gmail.com>


* pb/complete-log-more (2024-01-22) 4 commits
  (merged to 'next' on 2024-01-24 at 081d2a92fa)
 + completion: complete missing 'git log' options
 + completion: complete --encoding
 + completion: complete --patch-with-raw
 + completion: complete missing rev-list options

 The completion script (in contrib/) learned more options that can
 be used with "git log".

 Will merge to 'master'.
 source: <pull.1650.git.git.1705810071.gitgitgadget@gmail.com>


* jc/reftable-core-fsync (2024-01-23) 1 commit
  (merged to 'next' on 2024-01-24 at cea12beddb)
 + reftable: honor core.fsync
 (this branch is used by ps/reftable-multi-level-indices-fix.)

 The write codepath for the reftable data learned to honor
 core.fsync configuration.

 Will merge to 'master'.
 source: <pull.1654.git.git.1706035870956.gitgitgadget@gmail.com>


* ad/custom-merge-placeholder-for-symbolic-pathnames (2024-01-24) 1 commit
  (merged to 'next' on 2024-01-24 at d9cf4e227d)
 + merge-ll: expose revision names to custom drivers

 The labels on conflict markers for the common ancestor, our version,
 and the other version are available to custom 3-way merge driver
 via %S, %X, and %Y placeholders.

 Will merge to 'master'.
 source: <pull.1648.v4.git.git.1706126951879.gitgitgadget@gmail.com>


* cp/unit-test-prio-queue (2024-01-22) 1 commit
 - tests: move t0009-prio-queue.sh to the new unit testing framework

 Migrate priority queue test to unit testing framework.
 source: <pull.1642.v4.git.1705865326185.gitgitgadget@gmail.com>


* jc/reffiles-tests (2024-01-22) 12 commits
  (merged to 'next' on 2024-01-24 at 0d1aaa6807)
 + t5312: move reffiles specific tests to t0601
 + t4202: move reffiles specific tests to t0600
 + t3903: make drop stash test ref backend agnostic
 + t1503: move reffiles specific tests to t0600
 + t1415: move reffiles specific tests to t0601
 + t1410: move reffiles specific tests to t0600
 + t1406: move reffiles specific tests to t0600
 + t1405: move reffiles specific tests to t0601
 + t1404: move reffiles specific tests to t0600
 + t1414: convert test to use Git commands instead of writing refs manually
 + remove REFFILES prerequisite for some tests in t1405 and t2017
 + t3210: move to t0601

 Tests on ref API are moved around to prepare for reftable.

 Will merge to 'master'.
 cf. <Za5TW-q4cKS8pNNc@tanuki>
 source: <pull.1647.v2.git.git.1705695540.gitgitgadget@gmail.com>


* ml/log-merge-with-cherry-pick-and-other-pseudo-heads (2024-01-17) 2 commits
 - revision: implement `git log --merge` also for rebase/cherry_pick/revert
 - revision: ensure MERGE_HEAD is a ref in prepare_show_merge

 "git log --merge" learned to pay attention to CHERRY_PICK_HEAD and
 other kinds of *_HEAD pseudorefs.

 Comments?
 source: <xmqqzfxa9usx.fsf@gitster.g>


* kn/for-all-refs (2024-01-29) 4 commits
 - for-each-ref: avoid filtering on empty pattern
 - refs: introduce `refs_for_each_all_refs()`
 - refs: extract out `loose_fill_ref_dir_regular_file()`
 - refs: introduce `is_pseudoref()` and `is_headref()`

 "git for-each-ref" filters its output with prefixes given from the
 command line, but it did not honor an empty string to mean "pass
 everything", which has been corrected.

 Will merge to 'next'.
 source: <20240129113527.607022-1-karthik.188@gmail.com>


* bk/complete-bisect (2024-01-29) 8 commits
 - completion: add tests for git-bisect
 - completion: bisect: recognize but do not complete view subcommand
 - completion: bisect: complete log opts for visualize subcommand
 - completion: log: use __git_complete_log_opts
 - completion: new function __git_complete_log_opts
 - completion: bisect: complete missing --first-parent and --no-checkout options
 - completion: bisect: complete custom terms and related options
 - completion: bisect: complete bad, new, old, and help subcommands

 Command line completion support (in contrib/) has been
 updated for "git bisect".

 Comments?
 cf. <ZaofJhHsFjRxx7a3@tanuki>
 source: <20240128223447.342493-1-britton.kerin@gmail.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Needs review.
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Needs review.
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* la/trailer-api (2024-01-26) 10 commits
 - trailer: delete obsolete argument handling code from API
 - trailer: move arg handling to interpret-trailers.c
 - trailer: prepare to move parse_trailers_from_command_line_args () to builtin
 - trailer: spread usage of "trailer_block" language
 - trailer: make trailer_info struct private
 - sequencer: use the trailer iterator
 - trailer: delete obsolete formatting functions
 - trailer: unify trailer formatting machinery
 - trailer: move interpret_trailers() to interpret-trailers.c
 - trailer: prepare to expose functions as part of API

 Code clean-up.

 Expecting a (hopefully final and small) reroll.
 cf. <owlyh6iy2grk.fsf@fine.c.googlers.com>
 source: <pull.1632.v2.git.1706308737.gitgitgadget@gmail.com>


* ps/tests-with-ref-files-backend (2024-01-29) 6 commits
 - t: mark tests regarding git-pack-refs(1) to be backend specific
 - t5526: break test submodule differently
 - t1419: mark test suite as files-backend specific
 - t1302: make tests more robust with new extensions
 - t1301: mark test for `core.sharedRepository` as reffiles specific
 - t1300: make tests more robust with non-default ref backends

 Prepare existing tests on refs to work better with non-default
 backends.

 Will merge to 'next'.
 source: <cover.1706525813.git.ps@pks.im>


* rj/advice-disable-how-to-disable (2024-01-16) 2 commits
  (merged to 'next' on 2024-01-23 at f456f4937d)
 + advice: allow disabling the automatic hint in advise_if_enabled()
 + Merge branch 'rj/advice-delete-branch-not-fully-merged' into rj/advice-disable-how-to-disable

 All conditional "advice" messages show how to turn them off, which
 becomes repetitive.  Add a configuration variable to omit the
 instruction.

 Will merge to 'master'.
 source: <6a842ef8-b390-4739-9eef-e867d55ed5ea@gmail.com>


* sd/negotiate-trace-fix (2024-01-03) 1 commit
  (merged to 'next' on 2024-01-24 at 6305853ab2)
 + push: region_leave trace for negotiate_using_fetch

 Tracing fix.

 Will merge to 'master'.
 source: <20240103224054.1940209-1-delmerico@google.com>


* cp/apply-core-filemode (2023-12-26) 3 commits
 - apply: code simplification
 - apply: correctly reverse patch's pre- and post-image mode bits
 - apply: ignore working tree filemode when !core.filemode

 "git apply" on a filesystem without filemode support have learned
 to take a hint from what is in the index for the path, even when
 not working with the "--index" or "--cached" option, when checking
 the executable bit match what is required by the preimage in the
 patch.

 Needs review.
 source: <20231226233218.472054-1-gitster@pobox.com>


* ja/doc-placeholders-fix (2023-12-26) 2 commits
 - doc: enforce placeholders in documentation
 - doc: enforce dashes in placeholders

 Docfix.

 Needs review.
 source: <pull.1626.git.1703539287.gitgitgadget@gmail.com>


* jc/bisect-doc (2023-12-09) 1 commit
 - bisect: document "terms" subcommand more fully

 Doc update.

 Needs review.
 source: <xmqqzfyjmk02.fsf@gitster.g>


* tb/pair-chunk-expect (2023-11-10) 8 commits
 - midx: read `OOFF` chunk with `pair_chunk_expect()`
 - midx: read `OIDL` chunk with `pair_chunk_expect()`
 - commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 - commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `OIDL` chunk with `pair_chunk_expect()`
 - chunk-format: introduce `pair_chunk_expect()` helper
 - Merge branch 'jk/chunk-bounds-more' into HEAD

 Further code clean-up.

 Needs review.
 source: <cover.1699569246.git.me@ttaylorr.com>


* tb/path-filter-fix (2024-01-16) 17 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new Bloom filter version that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Expecting a reroll.
 cf. <20240129212614.GB9612@szeder.dev>
 source: <cover.1705442923.git.me@ttaylorr.com>


* ak/color-decorate-symbols (2023-10-23) 7 commits
 - log: add color.decorate.pseudoref config variable
 - refs: exempt pseudorefs from pattern prefixing
 - refs: add pseudorefs array and iteration functions
 - log: add color.decorate.ref config variable
 - log: add color.decorate.symbol config variable
 - log: use designated inits for decoration_colors
 - config: restructure color.decorate documentation

 A new config for coloring.

 Needs review.
 source: <20231023221143.72489-1-andy.koppe@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2024-01-22) 6 commits
  (merged to 'next' on 2024-01-23 at 5fa4633015)
 + transport-helper: call do_take_over() in process_connect
 + transport-helper: call do_take_over() in connect_helper
 + http-backend: new rpc-service for git-upload-archive
 + transport-helper: protocol v2 supports upload-archive
 + remote-curl: supports git-upload-archive service
 + transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Will merge to 'master'.
 source: <cover.1705841443.git.zhiyou.jx@alibaba-inc.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 24%]

* What's cooking in git.git (Jan 2024, #08; Fri, 26)
@ 2024-01-27  1:00 22% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-01-27  1:00 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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']

* al/unit-test-ctype (2024-01-16) 1 commit
  (merged to 'next' on 2024-01-19 at fcdad0d06c)
 + unit-tests: rewrite t/helper/test-ctype.c as a unit test

 Move test-ctype helper to the unit-test framework.
 source: <20240112102743.1440-1-ach.lumap@gmail.com>


* es/some-up-to-date-messages-must-stay (2024-01-12) 1 commit
  (merged to 'next' on 2024-01-16 at 2b598f7de2)
 + messages: mark some strings with "up-to-date" not to touch

 Comment updates to help developers not to attempt to modify
 messages from plumbing commands that must stay constant.

 It might make sense to reassess the plumbing needs every few years,
 but that should be done as a separate effort.
 source: <20240112171910.11131-1-ericsunshine@charter.net>


* gt/test-commit-o-i-options (2024-01-17) 2 commits
  (merged to 'next' on 2024-01-19 at 0377e2c148)
 + t7501: add tests for --amend --signoff
 + t7501: add tests for --include and --only

 A few tests to "git commit -o <pathspec>" and "git commit -i
 <pathspec>" has been added.
 source: <20240117161421.17333-1-shyamthakkar001@gmail.com>


* jt/tests-with-reftable (2024-01-12) 2 commits
  (merged to 'next' on 2024-01-19 at 498d203a57)
 + t5541: remove lockfile creation
 + t1401: remove lockfile creation

 Tweak a few tests not to manually modify the reference database
 (hence easier to work with other backends like reftable).
 source: <pull.1634.v2.git.1705004670.gitgitgadget@gmail.com>


* kh/maintenance-use-xdg-when-it-should (2024-01-18) 4 commits
  (merged to 'next' on 2024-01-19 at 9c8c7b2e9d)
 + maintenance: use XDG config if it exists
 + config: factor out global config file retrieval
 + config: rename global config function
 + config: format newlines

 When $HOME/.gitignore is missing but XDG config file available, we
 should write into the latter, not former.  "git gc" and "git
 maintenance" wrote into a wrong "global config" file, which have
 been corrected.
 source: <cover.1705593810.git.code@khaugsbakk.name>


* la/strvec-comment-fix (2024-01-12) 1 commit
  (merged to 'next' on 2024-01-19 at 120ef16493)
 + strvec: use correct member name in comments

 Comment fix.
 source: <pull.1640.git.1705043195997.gitgitgadget@gmail.com>


* mj/gitweb-unreadable-config-error (2024-01-10) 1 commit
  (merged to 'next' on 2024-01-19 at 790b7a7855)
 + gitweb: die when a configuration file cannot be read

 When given an existing but unreadable file as a configuration file,
 gitweb behaved as if the file did not exist at all, but now it
 errors out.  This is a change that may break backward compatibility.
 source: <20240110225709.30168-1-marcelo.jimenez@gmail.com>


* ne/doc-filter-blob-limit-fix (2024-01-16) 1 commit
  (merged to 'next' on 2024-01-19 at 4f78975728)
 + rev-list-options: fix off-by-one in '--filter=blob:limit=<n>' explainer

 Docfix.
 source: <pull.1645.git.git.1705261850650.gitgitgadget@gmail.com>


* ps/commit-graph-write-leakfix (2024-01-15) 1 commit
  (merged to 'next' on 2024-01-19 at df537fac39)
 + commit-graph: fix memory leak when not writing graph

 Leakfix.
 source: <0feab5e7d5bc6275e2c7671cd8f6786ea86fd610.1702891190.git.ps@pks.im>


* ps/completion-with-reftable-fix (2024-01-16) 5 commits
  (merged to 'next' on 2024-01-19 at 8854a7d903)
 + completion: treat dangling symrefs as existing pseudorefs
 + completion: silence pseudoref existence check
 + completion: improve existence check for pseudo-refs
 + t9902: verify that completion does not print anything
 + completion: discover repo path in `__git_pseudoref_exists ()`

 Completion update to prepare for reftable
 source: <cover.1705314554.git.ps@pks.im>


* ps/gitlab-ci-macos (2024-01-18) 6 commits
  (merged to 'next' on 2024-01-19 at a239dc8140)
 + ci: add macOS jobs to GitLab CI
 + ci: make p4 setup on macOS more robust
 + ci: handle TEST_OUTPUT_DIRECTORY when printing test failures
 + Makefile: detect new Homebrew location for ARM-based Macs
 + t7527: decrease likelihood of racing with fsmonitor daemon
 + Merge branch 'ps/gitlab-ci-static-analysis' into ps/gitlab-ci-macos

 CI for GitLab learned to drive macOS jobs.
 source: <cover.1705573336.git.ps@pks.im>


* ps/worktree-refdb-initialization (2024-01-08) 7 commits
  (merged to 'next' on 2024-01-19 at e8c649a3ac)
 + builtin/worktree: create refdb via ref backend
 + worktree: expose interface to look up worktree by name
 + builtin/worktree: move setup of commondir file earlier
 + refs/files: skip creation of "refs/{heads,tags}" for worktrees
 + setup: move creation of "refs/" into the files backend
 + refs: prepare `refs_init_db()` for initializing worktree refs
 + Merge branch 'ps/refstorage-extension' into ps/worktree-refdb-initialization

 Instead of manually creating refs/ hierarchy on disk upon a
 creation of a secondary worktree, which is only usable via the
 files backend, use the refs API to populate it.
 source: <cover.1704705733.git.ps@pks.im>


* rj/advice-delete-branch-not-fully-merged (2024-01-11) 3 commits
  (merged to 'next' on 2024-01-19 at 7102eb6b79)
 + branch: make the advice to force-deleting a conditional one
 + advice: fix an unexpected leading space
 + advice: sort the advice related lists
 (this branch is used by rj/advice-disable-how-to-disable.)

 The error message given when "git branch -d branch" fails due to
 commits unique to the branch has been split into an error and a new
 conditional advice message.
 source: <4aedc15c-4b3f-4f5e-abea-581b501600f8@gmail.com>


* vd/fsck-submodule-url-test (2024-01-19) 4 commits
  (merged to 'next' on 2024-01-19 at dad35ae82c)
 + submodule-config.c: strengthen URL fsck check
 + t7450: test submodule urls
 + test-submodule: remove command line handling for check-name
 + submodule-config.h: move check_submodule_url

 Tighten URL checks fsck makes in a URL recorded for submodules.
 source: <pull.1635.v2.git.1705542918.gitgitgadget@gmail.com>

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

* jc/coc-whitespace-fix (2024-01-23) 1 commit
  (merged to 'next' on 2024-01-26 at 6fb290ad59)
 + CoC: whitespace fix

 Docfix.

 Will merge to 'master'.
 source: <xmqqmssvnb8d.fsf_-_@gitster.g>


* jc/ls-files-doc-update (2024-01-25) 1 commit
  (merged to 'next' on 2024-01-26 at a71aeec3d3)
 + ls-files: avoid the verb "deprecate" for individual options

 The documentation for the --exclude-per-directory option marked it
 as deprecated, which confused readers into thinking there may be a
 plan to remove it in the future, which was not our intention.

 Will merge to 'master'.
 source: <xmqqjznybfp4.fsf@gitster.g>


* jk/fetch-auto-tag-following-fix (2024-01-24) 1 commit
  (merged to 'next' on 2024-01-26 at d058f1511b)
 + transport-helper: re-examine object dir after fetching

 Fetching via protocol v0 over Smart HTTP transport sometimes failed
 to correctly auto-follow tags.

 Will merge to 'master'.
 source: <20240124010056.GA2603087@coredump.intra.peff.net>


* ps/reftable-compacted-tables-permission-fix (2024-01-26) 1 commit
 - reftable/stack: adjust permissions of compacted tables

 Reftable bugfix.

 Will merge to 'next'.
 source: <a211818108053754aca002726d0206623a347952.1706263589.git.ps@pks.im>


* jc/index-pack-fsck-levels (2024-01-26) 2 commits
 - index-pack: --fsck-objects to take an optional argument for fsck msgs
 - index-pack: test and document --strict=<msg-id>=<severity>...

 The "--fsck-objects" option of "git index-pack" now can take the
 optional parameter to tweak severity of different fsck errors.

 Expecting a reroll.
 cf. <BF772E83-2BFE-4652-A742-67FADF3D8FE2@gmail.com>
 source: <pull.1658.v3.git.git.1706302749.gitgitgadget@gmail.com>


* zf/subtree-split-fix (2024-01-25) 1 commit
  (merged to 'next' on 2024-01-26 at a09e02f208)
 + subtree: fix split processing with multiple subtrees present

 "git subtree" (in contrib/) update.

 Will merge to 'master'.
 source: <pull.1587.v6.git.1701442494319.gitgitgadget@gmail.com>


* ps/reftable-multi-level-indices-fix (2024-01-26) 6 commits
 - reftable: document reading and writing indices
 - reftable/writer: fix writing multi-level indices
 - reftable/writer: simplify writing index records
 - reftable/writer: use correct type to iterate through index entries
 - reftable/reader: be more careful about errors in indexed seeks
 - Merge branch 'jc/reftable-core-fsync' into ps/reftable-multi-level-indices-fix
 (this branch uses jc/reftable-core-fsync.)

 Write multi-level indices for reftable has been corrected.
 source: <cover.1706263918.git.ps@pks.im>

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

* al/t2400-depipe (2024-01-20) 1 commit
  (merged to 'next' on 2024-01-22 at a20d4a9a7f)
 + t2400: avoid losing exit status to pipes

 Coding style fix.

 Will merge to 'master'.
 source: <20240120021547.199-1-ach.lumap@gmail.com>


* kl/allow-working-in-dot-git-in-non-bare-repository (2024-01-20) 1 commit
  (merged to 'next' on 2024-01-24 at e77b796e11)
 + setup: allow cwd=.git w/ bareRepository=explicit

 Loosen "disable repository discovery of a bare repository" check,
 triggered by setting safe.bareRepository configuration variable to
 'explicit', to exclude the ".git/" directory inside a non-bare
 repository from the check.

 Will merge to 'master'.
 source: <pull.1645.git.1705709303098.gitgitgadget@gmail.com>


* rs/parse-options-with-keep-unknown-abbrev-fix (2024-01-22) 2 commits
  (merged to 'next' on 2024-01-23 at a216b482cd)
 + parse-options: simplify positivation handling
 + parse-options: fully disable option abbreviation with PARSE_OPT_KEEP_UNKNOWN

 "git diff --no-rename A B" did not disable rename detection but did
 not trigger an error from the command line parser.

 Will merge to 'master'.
 source: <579fd5bc-3bfd-427f-b22d-dab5e7e56eb2@web.de>
 source: <fb3c679a-5f00-4934-b028-6b2d081cd5b2@web.de>


* pb/ci-github-skip-logs-for-broken-tests (2024-01-22) 1 commit
  (merged to 'next' on 2024-01-23 at f5e3ab2092)
 + ci(github): also skip logs of broken test cases

 GitHub CI update.

 Will merge to 'master'.
 cf. <dbe25fff-e1d4-41f2-8f8f-c538e8c2a77e@github.com>
 source: <pull.1649.git.git.1705808313306.gitgitgadget@gmail.com>


* pb/complete-log-more (2024-01-22) 4 commits
  (merged to 'next' on 2024-01-24 at 081d2a92fa)
 + completion: complete missing 'git log' options
 + completion: complete --encoding
 + completion: complete --patch-with-raw
 + completion: complete missing rev-list options

 The completion script (in contrib/) learned more options that can
 be used with "git log".

 Will merge to 'master'.
 source: <pull.1650.git.git.1705810071.gitgitgadget@gmail.com>


* jc/reftable-core-fsync (2024-01-23) 1 commit
  (merged to 'next' on 2024-01-24 at cea12beddb)
 + reftable: honor core.fsync
 (this branch is used by ps/reftable-multi-level-indices-fix.)

 The write codepath for the reftable data learned to honor
 core.fsync configuration.

 Will merge to 'master'.
 source: <pull.1654.git.git.1706035870956.gitgitgadget@gmail.com>


* ad/custom-merge-placeholder-for-symbolic-pathnames (2024-01-24) 1 commit
  (merged to 'next' on 2024-01-24 at d9cf4e227d)
 + merge-ll: expose revision names to custom drivers

 The labels on conflict markers for the common ancestor, our version,
 and the other version are available to custom 3-way merge driver
 via %S, %X, and %Y placeholders.

 Will merge to 'master'.
 source: <pull.1648.v4.git.git.1706126951879.gitgitgadget@gmail.com>


* cp/unit-test-prio-queue (2024-01-22) 1 commit
 - tests: move t0009-prio-queue.sh to the new unit testing framework

 Migrate priority queue test to unit testing framework.
 source: <pull.1642.v4.git.1705865326185.gitgitgadget@gmail.com>


* jc/reffiles-tests (2024-01-22) 12 commits
  (merged to 'next' on 2024-01-24 at 0d1aaa6807)
 + t5312: move reffiles specific tests to t0601
 + t4202: move reffiles specific tests to t0600
 + t3903: make drop stash test ref backend agnostic
 + t1503: move reffiles specific tests to t0600
 + t1415: move reffiles specific tests to t0601
 + t1410: move reffiles specific tests to t0600
 + t1406: move reffiles specific tests to t0600
 + t1405: move reffiles specific tests to t0601
 + t1404: move reffiles specific tests to t0600
 + t1414: convert test to use Git commands instead of writing refs manually
 + remove REFFILES prerequisite for some tests in t1405 and t2017
 + t3210: move to t0601

 Tests on ref API are moved around to prepare for reftable.

 Will merge to 'master'.
 cf. <Za5TW-q4cKS8pNNc@tanuki>
 source: <pull.1647.v2.git.git.1705695540.gitgitgadget@gmail.com>


* ml/log-merge-with-cherry-pick-and-other-pseudo-heads (2024-01-17) 2 commits
 - revision: implement `git log --merge` also for rebase/cherry_pick/revert
 - revision: ensure MERGE_HEAD is a ref in prepare_show_merge

 "git log --merge" learned to pay attention to CHERRY_PICK_HEAD and
 other kinds of *_HEAD pseudorefs.

 Comments?
 source: <xmqqzfxa9usx.fsf@gitster.g>


* nb/rebase-x-shell-docfix (2024-01-17) 1 commit
  (merged to 'next' on 2024-01-22 at db49e10354)
 + rebase: fix documentation about used shell in -x

 Doc update.

 Will merge to 'master'.
 source: <20240117085347.948960-1-nik.borisov@suse.com>


* tc/show-ref-exists-fix (2024-01-18) 1 commit
  (merged to 'next' on 2024-01-22 at 831452f2dd)
 + builtin/show-ref: treat directory as non-existing in --exists

 Update to a new feature recently added, "git show-ref --exists".

 Will merge to 'master'.
 source: <20240110141559.387815-2-toon@iotcl.com>


* gt/t0024-style-fixes (2024-01-20) 2 commits
  (merged to 'next' on 2024-01-22 at 36b46efbd0)
 + t0024: style fix
 + t0024: avoid losing exit status to pipes

 Coding style fix.

 Will merge to 'master'.
 source: <20240118215407.8609-1-shyamthakkar001@gmail.com>


* jc/majordomo-to-subspace (2024-01-20) 1 commit
  (merged to 'next' on 2024-01-22 at 6a95f43de4)
 + Docs: majordomo@vger.kernel.org has been decomissioned

 Doc update.

 Will merge to 'master'.
 source: <xmqqmst1hsd6.fsf@gitster.g>


* js/oss-fuzz-build-in-ci (2024-01-19) 2 commits
  (merged to 'next' on 2024-01-22 at 2954da5a39)
 + ci: build and run minimal fuzzers in GitHub CI
 + fuzz: fix fuzz test build rules

 oss-fuzz tests are built and run in CI.

 Will merge to 'master'.
 source: <cover.1705700054.git.steadmon@google.com>


* kn/for-all-refs (2024-01-24) 4 commits
 - for-each-ref: avoid filtering on empty pattern
 - refs: introduce `refs_for_each_all_refs()`
 - refs: extract out `loose_fill_ref_dir_regular_file()`
 - refs: introduce `is_pseudoref()` and `is_headref()`

 "git for-each-ref" filters its output with prefixes given from the
 command line, but it did not honor an empty string to mean "pass
 everything", which has been corrected.

 Expecting a reroll?
 cf. <xmqqfrymeega.fsf@gitster.g>
 source: <20240124152726.124873-1-karthik.188@gmail.com>


* ps/not-so-many-refs-are-special (2024-01-19) 7 commits
  (merged to 'next' on 2024-01-22 at f70f463847)
 + Documentation: add "special refs" to the glossary
 + refs: redefine special refs
 + refs: convert MERGE_AUTOSTASH to become a normal pseudo-ref
 + sequencer: introduce functions to handle autostashes via refs
 + refs: convert AUTO_MERGE to become a normal pseudo-ref
 + sequencer: delete REBASE_HEAD in correct repo when picking commits
 + sequencer: clean up pseudo refs with REF_NO_DEREF

 Define "special ref" as a very narrow set that consists of
 FETCH_HEAD and MERGE_HEAD, and clarify everything else that used to
 be classified as such are actually just pseudorefs.

 Will merge to 'master'.
 source: <cover.1705659748.git.ps@pks.im>


* bk/complete-bisect (2024-01-18) 5 commits
 - completion: git-bisect view recognized but not completed
 - completion: custom git-bisect terms
 - completion: move to maintain define-before-use
 - completion: git-log opts to bisect visualize
 - completion: complete new old actions, start opts

 Command line completion support (in contrib/) has been
 updated for "git bisect".

 Expecting a reroll.
 cf. <ZaofJhHsFjRxx7a3@tanuki>
 source: <20240118204323.1113859-1-britton.kerin@gmail.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Needs review.
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Needs review.
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* la/trailer-api (2024-01-12) 10 commits
 - trailer: delete obsolete argument handling code from API
 - trailer: move arg handling to interpret-trailers.c
 - trailer: prepare to move parse_trailers_from_command_line_args() to builtin
 - trailer: spread usage of "trailer_block" language
 - trailer: make trailer_info struct private
 - sequencer: use the trailer iterator
 - trailer: delete obsolete formatting functions
 - trailer: unify trailer formatting machinery
 - trailer: include "trailer" term in API functions
 - trailer: move process_trailers() to interpret-trailers.c

 Code clean-up.

 Expecting a (hopefully final and small) reroll.
 cf. <owlysf2l2bnj.fsf@fine.c.googlers.com>
 source: <pull.1632.git.1704869487.gitgitgadget@gmail.com>


* ps/tests-with-ref-files-backend (2024-01-24) 6 commits
 - t: mark tests regarding git-pack-refs(1) to be backend specific
 - t5526: break test submodule differently
 - t1419: mark test suite as files-backend specific
 - t1302: make tests more robust with new extensions
 - t1301: mark test for `core.sharedRepository` as reffiles specific
 - t1300: make tests more robust with non-default ref backends

 Prepare existing tests on refs to work better with non-default
 backends.

 Needs review.
 source: <cover.1706085756.git.ps@pks.im>


* en/diffcore-delta-final-line-fix (2024-01-18) 1 commit
  (merged to 'next' on 2024-01-22 at 7141d202cb)
 + diffcore-delta: avoid ignoring final 'line' of file

 Rename detection logic ignored the final line of a file if it is an
 incomplete line.

 Will merge to 'master'.
 source: <pull.1637.v2.git.1705119973690.gitgitgadget@gmail.com>


* ps/reftable-optimize-io (2024-01-18) 7 commits
  (merged to 'next' on 2024-01-22 at b867e8b9a8)
 + reftable/stack: fix race in up-to-date check
 + reftable/stack: unconditionally reload stack after commit
  (merged to 'next' on 2024-01-12 at 4096e880e0)
 + reftable/blocksource: use mmap to read tables
 + reftable/blocksource: refactor code to match our coding style
 + reftable/stack: use stat info to avoid re-reading stack list
 + reftable/stack: refactor reloading to use file descriptor
 + reftable/stack: refactor stack reloading to have common exit path

 Low-level I/O optimization for reftable.

 Will merge to 'master'.
 source: <cover.1704966670.git.ps@pks.im>
 source: <cover.1705585037.git.ps@pks.im>


* rj/advice-disable-how-to-disable (2024-01-16) 2 commits
  (merged to 'next' on 2024-01-23 at f456f4937d)
 + advice: allow disabling the automatic hint in advise_if_enabled()
 + Merge branch 'rj/advice-delete-branch-not-fully-merged' into rj/advice-disable-how-to-disable

 All conditional "advice" messages show how to turn them off, which
 becomes repetitive.  Add a configuration variable to omit the
 instruction.

 Will merge to 'master'.
 source: <6a842ef8-b390-4739-9eef-e867d55ed5ea@gmail.com>


* sd/negotiate-trace-fix (2024-01-03) 1 commit
  (merged to 'next' on 2024-01-24 at 6305853ab2)
 + push: region_leave trace for negotiate_using_fetch

 Tracing fix.

 Will merge to 'master'.
 source: <20240103224054.1940209-1-delmerico@google.com>


* cp/apply-core-filemode (2023-12-26) 3 commits
 - apply: code simplification
 - apply: correctly reverse patch's pre- and post-image mode bits
 - apply: ignore working tree filemode when !core.filemode

 "git apply" on a filesystem without filemode support have learned
 to take a hint from what is in the index for the path, even when
 not working with the "--index" or "--cached" option, when checking
 the executable bit match what is required by the preimage in the
 patch.

 Needs review.
 source: <20231226233218.472054-1-gitster@pobox.com>


* ja/doc-placeholders-fix (2023-12-26) 2 commits
 - doc: enforce placeholders in documentation
 - doc: enforce dashes in placeholders

 Docfix.

 Needs review.
 source: <pull.1626.git.1703539287.gitgitgadget@gmail.com>


* jc/bisect-doc (2023-12-09) 1 commit
 - bisect: document "terms" subcommand more fully

 Doc update.

 Needs review.
 source: <xmqqzfyjmk02.fsf@gitster.g>


* tb/pair-chunk-expect (2023-11-10) 8 commits
 - midx: read `OOFF` chunk with `pair_chunk_expect()`
 - midx: read `OIDL` chunk with `pair_chunk_expect()`
 - commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 - commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `OIDL` chunk with `pair_chunk_expect()`
 - chunk-format: introduce `pair_chunk_expect()` helper
 - Merge branch 'jk/chunk-bounds-more' into HEAD

 Further code clean-up.

 Needs review.
 source: <cover.1699569246.git.me@ttaylorr.com>


* tb/path-filter-fix (2024-01-16) 17 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new Bloom filter version that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Will merge to 'next'.
 source: <cover.1705442923.git.me@ttaylorr.com>


* ak/color-decorate-symbols (2023-10-23) 7 commits
 - log: add color.decorate.pseudoref config variable
 - refs: exempt pseudorefs from pattern prefixing
 - refs: add pseudorefs array and iteration functions
 - log: add color.decorate.ref config variable
 - log: add color.decorate.symbol config variable
 - log: use designated inits for decoration_colors
 - config: restructure color.decorate documentation

 A new config for coloring.

 Needs review.
 source: <20231023221143.72489-1-andy.koppe@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2024-01-22) 6 commits
  (merged to 'next' on 2024-01-23 at 5fa4633015)
 + transport-helper: call do_take_over() in process_connect
 + transport-helper: call do_take_over() in connect_helper
 + http-backend: new rpc-service for git-upload-archive
 + transport-helper: protocol v2 supports upload-archive
 + remote-curl: supports git-upload-archive service
 + transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Will merge to 'master'.
 source: <cover.1705841443.git.zhiyou.jx@alibaba-inc.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 22%]

* Re: What's cooking in git.git (Jan 2024, #07; Tue, 23)
  2024-01-24  0:25 24% What's cooking in git.git (Jan 2024, #07; Tue, 23) Junio C Hamano
@ 2024-01-26  0:26 47% ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-01-26  0:26 UTC (permalink / raw)
  To: git

The next issue (#08) will appear tomorrow, but here is the changes
of the draft for it, relative to #07, after today's integration.

-What's cooking in git.git (Jan 2024, #07; Tue, 23)
+What's cooking in git.git (Jan 2024, #08; Thu, 25)

--------------------------------------------------
Born topics

[New Topics]

 * jc/coc-whitespace-fix (2024-01-23) 1 commit
  - CoC: whitespace fix
 
  Docfix.
 
  Will merge to 'next'.
  source: <xmqqmssvnb8d.fsf_-_@gitster.g>

 * jc/ls-files-doc-update (2024-01-25) 1 commit
  - ls-files: avoid the verb "deprecate" for individual options
 
  The documentation for the --exclude-per-directory option marked it
  as deprecated, which confused readers into thinking there may be a
  plan to remove it in the future, which was not our intention.
 
  Will merge to 'next'.
  source: <xmqqjznybfp4.fsf@gitster.g>

 * jk/fetch-auto-tag-following-fix (2024-01-24) 1 commit
  - transport-helper: re-examine object dir after fetching
 
  Fetching via protocol v0 over Smart HTTP transport sometimes failed
  to correctly auto-follow tags.
 
  Will merge to 'next'.
  source: <20240124010056.GA2603087@coredump.intra.peff.net>

 * ps/reftable-compacted-tables-permission-fix (2024-01-24) 1 commit
  - reftable/stack: adjust permissions of compacted tables
 
  Reftable bugfix.
 
  Will merge to 'next'.
  source: <b2fb6f5ad0c558527341bd8040544d6b0ae5d8a2.1706100744.git.ps@pks.im>

 * jc/index-pack-fsck-levels (2024-01-25) 2 commits
  - index-pack: --fsck-objects to take an optional argument for fsck msgs
  - index-pack: test and document --strict=<msg>
 
  The "--fsck-objects" option of "git index-pack" now can take the
  optional parameter to tweak severity of different fsck errors.
 
  Expecting a reroll.
  cf. <xmqq8r4dt4k5.fsf@gitster.g>
  source: <pull.1658.git.git.1706215884.gitgitgadget@gmail.com>

 * zf/subtree-split-fix (2024-01-25) 1 commit
  - subtree: fix split processing with multiple subtrees present
 
  "git subtree" (in contrib/) update.
 
  Will merge to 'next'.
  source: <pull.1587.v6.git.1701442494319.gitgitgadget@gmail.com>

--------------------------------------------------
Moved from [New Topics] to [Cooking]

 * al/t2400-depipe (2024-01-20) 1 commit

 * kl/allow-working-in-dot-git-in-non-bare-repository (2024-01-20) 1 commit
- - setup: allow cwd=.git w/ bareRepository=explicit
+  (merged to 'next' on 2024-01-24 at e77b796e11)
+ + setup: allow cwd=.git w/ bareRepository=explicit
 
  Loosen "disable repository discovery of a bare repository" check,
  triggered by setting safe.bareRepository configuration variable to
  'explicit', to exclude the ".git/" directory inside a non-bare
  repository from the check.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <pull.1645.git.1705709303098.gitgitgadget@gmail.com>

 * rs/parse-options-with-keep-unknown-abbrev-fix (2024-01-22) 2 commits

 * pb/ci-github-skip-logs-for-broken-tests (2024-01-22) 1 commit

 * pb/complete-log-more (2024-01-22) 4 commits
- - completion: complete missing 'git log' options
- - completion: complete --encoding
- - completion: complete --patch-with-raw
- - completion: complete missing rev-list options
+  (merged to 'next' on 2024-01-24 at 081d2a92fa)
+ + completion: complete missing 'git log' options
+ + completion: complete --encoding
+ + completion: complete --patch-with-raw
+ + completion: complete missing rev-list options
 
  The completion script (in contrib/) learned more options that can
  be used with "git log".
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <pull.1650.git.git.1705810071.gitgitgadget@gmail.com>

 * jc/reftable-core-fsync (2024-01-23) 1 commit
- - reftable: honor core.fsync
+  (merged to 'next' on 2024-01-24 at cea12beddb)
+ + reftable: honor core.fsync
 
  The write codepath for the reftable data learned to honor
  core.fsync configuration.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <pull.1654.git.git.1706035870956.gitgitgadget@gmail.com>

--------------------------------------------------
Other topics

[Cooking]

-* ad/custom-merge-placeholder-for-symbolic-pathnames (2024-01-18) 1 commit
+* ad/custom-merge-placeholder-for-symbolic-pathnames (2024-01-24) 1 commit
- - merge-ll: expose revision names to custom drivers
+  (merged to 'next' on 2024-01-24 at d9cf4e227d)
+ + merge-ll: expose revision names to custom drivers
 
  The labels on conflict markers for the common ancestor, our version,
  and the other version are available to custom 3-way merge driver
  via %S, %X, and %Y placeholders.
 
- Expecting a reroll.
- cf. <xmqqcytvei3c.fsf@gitster.g>
- source: <pull.1648.v3.git.git.1705615794307.gitgitgadget@gmail.com>
+ Will merge to 'master'.
+ source: <pull.1648.v4.git.git.1706126951879.gitgitgadget@gmail.com>

 * jc/reffiles-tests (2024-01-22) 12 commits
- - t5312: move reffiles specific tests to t0601
- - t4202: move reffiles specific tests to t0600
- - t3903: make drop stash test ref backend agnostic
- - t1503: move reffiles specific tests to t0600
- - t1415: move reffiles specific tests to t0601
- - t1410: move reffiles specific tests to t0600
- - t1406: move reffiles specific tests to t0600
- - t1405: move reffiles specific tests to t0601
- - t1404: move reffiles specific tests to t0600
- - t1414: convert test to use Git commands instead of writing refs manually
- - remove REFFILES prerequisite for some tests in t1405 and t2017
- - t3210: move to t0601
+  (merged to 'next' on 2024-01-24 at 0d1aaa6807)
+ + t5312: move reffiles specific tests to t0601
+ + t4202: move reffiles specific tests to t0600
+ + t3903: make drop stash test ref backend agnostic
+ + t1503: move reffiles specific tests to t0600
+ + t1415: move reffiles specific tests to t0601
+ + t1410: move reffiles specific tests to t0600
+ + t1406: move reffiles specific tests to t0600
+ + t1405: move reffiles specific tests to t0601
+ + t1404: move reffiles specific tests to t0600
+ + t1414: convert test to use Git commands instead of writing refs manually
+ + remove REFFILES prerequisite for some tests in t1405 and t2017
+ + t3210: move to t0601
 
  Tests on ref API are moved around to prepare for reftable.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  cf. <Za5TW-q4cKS8pNNc@tanuki>
  source: <pull.1647.v2.git.git.1705695540.gitgitgadget@gmail.com>

-* kn/for-all-refs (2024-01-19) 5 commits
+* kn/for-all-refs (2024-01-24) 4 commits
  - for-each-ref: avoid filtering on empty pattern
  - refs: introduce `refs_for_each_all_refs()`
  - refs: extract out `loose_fill_ref_dir_regular_file()`
- - refs: make `is_pseudoref_syntax()` stricter
- - refs: expose `is_pseudoref_syntax()`
+ - refs: introduce `is_pseudoref()` and `is_headref()`
 
  "git for-each-ref" filters its output with prefixes given from the
  command line, but it did not honor an empty string to mean "pass
  everything", which has been corrected.
 
- Expecting a reroll.
- cf. <CAOLa=ZQOcqGBJOSehok4BYGUE8RKtnE9eiJYogeT8E6NWZ25xw@mail.gmail.com>
- cf. <Za-gF_Hp_lXViGWw@tanuki>
- source: <20240119142705.139374-1-karthik.188@gmail.com>
+ Expecting a reroll?
+ cf. <xmqqfrymeega.fsf@gitster.g>
+ source: <20240124152726.124873-1-karthik.188@gmail.com>

 * la/trailer-api (2024-01-12) 10 commits
  - trailer: delete obsolete argument handling code from API
  - trailer: move arg handling to interpret-trailers.c
  - trailer: prepare to move parse_trailers_from_command_line_args() to builtin
  - trailer: spread usage of "trailer_block" language
  - trailer: make trailer_info struct private
  - sequencer: use the trailer iterator
  - trailer: delete obsolete formatting functions
  - trailer: unify trailer formatting machinery
  - trailer: include "trailer" term in API functions
  - trailer: move process_trailers() to interpret-trailers.c
 
  Code clean-up.
 
- Needs review.
+ Expecting a (hopefully final and small) reroll.
+ cf. <owlysf2l2bnj.fsf@fine.c.googlers.com>
  source: <pull.1632.git.1704869487.gitgitgadget@gmail.com>

-* ps/tests-with-ref-files-backend (2024-01-12) 6 commits
+* ps/tests-with-ref-files-backend (2024-01-24) 6 commits
  - t: mark tests regarding git-pack-refs(1) to be backend specific
  - t5526: break test submodule differently
  - t1419: mark test suite as files-backend specific
  - t1302: make tests more robust with new extensions
  - t1301: mark test for `core.sharedRepository` as reffiles specific
  - t1300: make tests more robust with non-default ref backends
 
  Prepare existing tests on refs to work better with non-default
  backends.
 
  Needs review.
- source: <cover.1704877233.git.ps@pks.im>
+ source: <cover.1706085756.git.ps@pks.im>

 * sd/negotiate-trace-fix (2024-01-03) 1 commit
- - push: region_leave trace for negotiate_using_fetch
+  (merged to 'next' on 2024-01-24 at 6305853ab2)
+ + push: region_leave trace for negotiate_using_fetch
 
  Tracing fix.
 
- Will merge to 'next'?
+ Will merge to 'master'.
  source: <20240103224054.1940209-1-delmerico@google.com>

 * tb/path-filter-fix (2024-01-16) 17 commits
  - bloom: introduce `deinit_bloom_filters()`
  - commit-graph: reuse existing Bloom filters where possible
  - object.h: fix mis-aligned flag bits table
  - commit-graph: drop unnecessary `graph_read_bloom_data_context`
  - commit-graph.c: unconditionally load Bloom filters
  - bloom: prepare to discard incompatible Bloom filters
  - bloom: annotate filters with hash version
  - commit-graph: new Bloom filter version that fixes murmur3
  - repo-settings: introduce commitgraph.changedPathsVersion
  - t4216: test changed path filters with high bit paths
  - t/helper/test-read-graph: implement `bloom-filters` mode
  - bloom.h: make `load_bloom_filter_from_graph()` public
  - t/helper/test-read-graph.c: extract `dump_graph_info()`
  - gitformat-commit-graph: describe version 2 of BDAT
  - commit-graph: ensure Bloom filters are read with consistent settings
  - revision.c: consult Bloom filters for root commits
  - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`
 
  The Bloom filter used for path limited history traversal was broken
  on systems whose "char" is unsigned; update the implementation and
  bump the format version to 2.
 
- Will merge to 'next'?
+ Will merge to 'next'.
  source: <cover.1705442923.git.me@ttaylorr.com>


^ permalink raw reply	[relevance 47%]

* What's cooking in git.git (Jan 2024, #07; Tue, 23)
@ 2024-01-24  0:25 24% Junio C Hamano
  2024-01-26  0:26 47% ` Junio C Hamano
  0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2024-01-24  0:25 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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]

* al/t2400-depipe (2024-01-20) 1 commit
  (merged to 'next' on 2024-01-22 at a20d4a9a7f)
 + t2400: avoid losing exit status to pipes

 Coding style fix.

 Will merge to 'master'.
 source: <20240120021547.199-1-ach.lumap@gmail.com>


* kl/allow-working-in-dot-git-in-non-bare-repository (2024-01-20) 1 commit
 - setup: allow cwd=.git w/ bareRepository=explicit

 Loosen "disable repository discovery of a bare repository" check,
 triggered by setting safe.bareRepository configuration variable to
 'explicit', to exclude the ".git/" directory inside a non-bare
 repository from the check.

 Will merge to 'next'.
 source: <pull.1645.git.1705709303098.gitgitgadget@gmail.com>


* rs/parse-options-with-keep-unknown-abbrev-fix (2024-01-22) 2 commits
  (merged to 'next' on 2024-01-23 at a216b482cd)
 + parse-options: simplify positivation handling
 + parse-options: fully disable option abbreviation with PARSE_OPT_KEEP_UNKNOWN

 "git diff --no-rename A B" did not disable rename detection but did
 not trigger an error from the command line parser.

 Will merge to 'master'.
 source: <579fd5bc-3bfd-427f-b22d-dab5e7e56eb2@web.de>
 source: <fb3c679a-5f00-4934-b028-6b2d081cd5b2@web.de>


* pb/ci-github-skip-logs-for-broken-tests (2024-01-22) 1 commit
  (merged to 'next' on 2024-01-23 at f5e3ab2092)
 + ci(github): also skip logs of broken test cases

 GitHub CI update.

 Will merge to 'master'.
 cf. <dbe25fff-e1d4-41f2-8f8f-c538e8c2a77e@github.com>
 source: <pull.1649.git.git.1705808313306.gitgitgadget@gmail.com>


* pb/complete-log-more (2024-01-22) 4 commits
 - completion: complete missing 'git log' options
 - completion: complete --encoding
 - completion: complete --patch-with-raw
 - completion: complete missing rev-list options

 The completion script (in contrib/) learned more options that can
 be used with "git log".

 Will merge to 'next'.
 source: <pull.1650.git.git.1705810071.gitgitgadget@gmail.com>


* jc/reftable-core-fsync (2024-01-23) 1 commit
 - reftable: honor core.fsync

 The write codepath for the reftable data learned to honor
 core.fsync configuration.

 Will merge to 'next'.
 source: <pull.1654.git.git.1706035870956.gitgitgadget@gmail.com>

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

* kh/maintenance-use-xdg-when-it-should (2024-01-18) 4 commits
  (merged to 'next' on 2024-01-19 at 9c8c7b2e9d)
 + maintenance: use XDG config if it exists
 + config: factor out global config file retrieval
 + config: rename global config function
 + config: format newlines

 When $HOME/.gitignore is missing but XDG config file available, we
 should write into the latter, not former.  "git gc" and "git
 maintenance" wrote into a wrong "global config" file, which have
 been corrected.

 Will merge to 'master'.
 source: <cover.1705593810.git.code@khaugsbakk.name>


* ps/gitlab-ci-macos (2024-01-18) 6 commits
  (merged to 'next' on 2024-01-19 at a239dc8140)
 + ci: add macOS jobs to GitLab CI
 + ci: make p4 setup on macOS more robust
 + ci: handle TEST_OUTPUT_DIRECTORY when printing test failures
 + Makefile: detect new Homebrew location for ARM-based Macs
 + t7527: decrease likelihood of racing with fsmonitor daemon
 + Merge branch 'ps/gitlab-ci-static-analysis' into ps/gitlab-ci-macos

 CI for GitLab learned to drive macOS jobs.

 Will merge to 'master'.
 source: <cover.1705573336.git.ps@pks.im>


* ad/custom-merge-placeholder-for-symbolic-pathnames (2024-01-18) 1 commit
 - merge-ll: expose revision names to custom drivers

 The labels on conflict markers for the common ancestor, our version,
 and the other version are available to custom 3-way merge driver
 via %S, %X, and %Y placeholders.

 Expecting a reroll.
 cf. <xmqqcytvei3c.fsf@gitster.g>
 source: <pull.1648.v3.git.git.1705615794307.gitgitgadget@gmail.com>


* cp/unit-test-prio-queue (2024-01-22) 1 commit
 - tests: move t0009-prio-queue.sh to the new unit testing framework

 Migrate priority queue test to unit testing framework.
 source: <pull.1642.v4.git.1705865326185.gitgitgadget@gmail.com>


* jc/reffiles-tests (2024-01-22) 12 commits
 - t5312: move reffiles specific tests to t0601
 - t4202: move reffiles specific tests to t0600
 - t3903: make drop stash test ref backend agnostic
 - t1503: move reffiles specific tests to t0600
 - t1415: move reffiles specific tests to t0601
 - t1410: move reffiles specific tests to t0600
 - t1406: move reffiles specific tests to t0600
 - t1405: move reffiles specific tests to t0601
 - t1404: move reffiles specific tests to t0600
 - t1414: convert test to use Git commands instead of writing refs manually
 - remove REFFILES prerequisite for some tests in t1405 and t2017
 - t3210: move to t0601

 Tests on ref API are moved around to prepare for reftable.

 Will merge to 'next'.
 cf. <Za5TW-q4cKS8pNNc@tanuki>
 source: <pull.1647.v2.git.git.1705695540.gitgitgadget@gmail.com>


* ml/log-merge-with-cherry-pick-and-other-pseudo-heads (2024-01-17) 2 commits
 - revision: implement `git log --merge` also for rebase/cherry_pick/revert
 - revision: ensure MERGE_HEAD is a ref in prepare_show_merge

 "git log --merge" learned to pay attention to CHERRY_PICK_HEAD and
 other kinds of *_HEAD pseudorefs.

 Comments?
 source: <xmqqzfxa9usx.fsf@gitster.g>


* nb/rebase-x-shell-docfix (2024-01-17) 1 commit
  (merged to 'next' on 2024-01-22 at db49e10354)
 + rebase: fix documentation about used shell in -x

 Doc update.

 Will merge to 'master'.
 source: <20240117085347.948960-1-nik.borisov@suse.com>


* tc/show-ref-exists-fix (2024-01-18) 1 commit
  (merged to 'next' on 2024-01-22 at 831452f2dd)
 + builtin/show-ref: treat directory as non-existing in --exists

 Update to a new feature recently added, "git show-ref --exists".

 Will merge to 'master'.
 source: <20240110141559.387815-2-toon@iotcl.com>


* gt/t0024-style-fixes (2024-01-20) 2 commits
  (merged to 'next' on 2024-01-22 at 36b46efbd0)
 + t0024: style fix
 + t0024: avoid losing exit status to pipes

 Coding style fix.

 Will merge to 'master'.
 source: <20240118215407.8609-1-shyamthakkar001@gmail.com>


* jc/majordomo-to-subspace (2024-01-20) 1 commit
  (merged to 'next' on 2024-01-22 at 6a95f43de4)
 + Docs: majordomo@vger.kernel.org has been decomissioned

 Doc update.

 Will merge to 'master'.
 source: <xmqqmst1hsd6.fsf@gitster.g>


* js/oss-fuzz-build-in-ci (2024-01-19) 2 commits
  (merged to 'next' on 2024-01-22 at 2954da5a39)
 + ci: build and run minimal fuzzers in GitHub CI
 + fuzz: fix fuzz test build rules

 oss-fuzz tests are built and run in CI.

 Will merge to 'master'.
 source: <cover.1705700054.git.steadmon@google.com>


* kn/for-all-refs (2024-01-19) 5 commits
 - for-each-ref: avoid filtering on empty pattern
 - refs: introduce `refs_for_each_all_refs()`
 - refs: extract out `loose_fill_ref_dir_regular_file()`
 - refs: make `is_pseudoref_syntax()` stricter
 - refs: expose `is_pseudoref_syntax()`

 "git for-each-ref" filters its output with prefixes given from the
 command line, but it did not honor an empty string to mean "pass
 everything", which has been corrected.

 Expecting a reroll.
 cf. <CAOLa=ZQOcqGBJOSehok4BYGUE8RKtnE9eiJYogeT8E6NWZ25xw@mail.gmail.com>
 cf. <Za-gF_Hp_lXViGWw@tanuki>
 source: <20240119142705.139374-1-karthik.188@gmail.com>


* ps/not-so-many-refs-are-special (2024-01-19) 7 commits
  (merged to 'next' on 2024-01-22 at f70f463847)
 + Documentation: add "special refs" to the glossary
 + refs: redefine special refs
 + refs: convert MERGE_AUTOSTASH to become a normal pseudo-ref
 + sequencer: introduce functions to handle autostashes via refs
 + refs: convert AUTO_MERGE to become a normal pseudo-ref
 + sequencer: delete REBASE_HEAD in correct repo when picking commits
 + sequencer: clean up pseudo refs with REF_NO_DEREF

 Define "special ref" as a very narrow set that consists of
 FETCH_HEAD and MERGE_HEAD, and clarify everything else that used to
 be classified as such are actually just pseudorefs.

 Will merge to 'master'.
 source: <cover.1705659748.git.ps@pks.im>


* es/some-up-to-date-messages-must-stay (2024-01-12) 1 commit
  (merged to 'next' on 2024-01-16 at 2b598f7de2)
 + messages: mark some strings with "up-to-date" not to touch

 Comment updates to help developers not to attempt to modify
 messages from plumbing commands that must stay constant.

 It might make sense to reassess the plumbing needs every few years,
 but that should be done as a separate effort.

 Will merge to 'master'.
 source: <20240112171910.11131-1-ericsunshine@charter.net>


* bk/complete-bisect (2024-01-18) 5 commits
 - completion: git-bisect view recognized but not completed
 - completion: custom git-bisect terms
 - completion: move to maintain define-before-use
 - completion: git-log opts to bisect visualize
 - completion: complete new old actions, start opts

 Command line completion support (in contrib/) has been
 updated for "git bisect".

 Expecting a reroll.
 cf. <ZaofJhHsFjRxx7a3@tanuki>
 source: <20240118204323.1113859-1-britton.kerin@gmail.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Needs review.
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Needs review.
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* gt/test-commit-o-i-options (2024-01-17) 2 commits
  (merged to 'next' on 2024-01-19 at 0377e2c148)
 + t7501: add tests for --amend --signoff
 + t7501: add tests for --include and --only

 A few tests to "git commit -o <pathspec>" and "git commit -i
 <pathspec>" has been added.

 Will merge to 'master'.
 source: <20240117161421.17333-1-shyamthakkar001@gmail.com>


* jt/tests-with-reftable (2024-01-12) 2 commits
  (merged to 'next' on 2024-01-19 at 498d203a57)
 + t5541: remove lockfile creation
 + t1401: remove lockfile creation

 Tweak a few tests not to manually modify the reference database
 (hence easier to work with other backends like reftable).

 Will merge to 'master'.
 source: <pull.1634.v2.git.1705004670.gitgitgadget@gmail.com>


* la/strvec-comment-fix (2024-01-12) 1 commit
  (merged to 'next' on 2024-01-19 at 120ef16493)
 + strvec: use correct member name in comments

 Comment fix.

 Will merge to 'master'.
 source: <pull.1640.git.1705043195997.gitgitgadget@gmail.com>


* la/trailer-api (2024-01-12) 10 commits
 - trailer: delete obsolete argument handling code from API
 - trailer: move arg handling to interpret-trailers.c
 - trailer: prepare to move parse_trailers_from_command_line_args() to builtin
 - trailer: spread usage of "trailer_block" language
 - trailer: make trailer_info struct private
 - sequencer: use the trailer iterator
 - trailer: delete obsolete formatting functions
 - trailer: unify trailer formatting machinery
 - trailer: include "trailer" term in API functions
 - trailer: move process_trailers() to interpret-trailers.c

 Code clean-up.

 Needs review.
 source: <pull.1632.git.1704869487.gitgitgadget@gmail.com>


* ps/tests-with-ref-files-backend (2024-01-12) 6 commits
 - t: mark tests regarding git-pack-refs(1) to be backend specific
 - t5526: break test submodule differently
 - t1419: mark test suite as files-backend specific
 - t1302: make tests more robust with new extensions
 - t1301: mark test for `core.sharedRepository` as reffiles specific
 - t1300: make tests more robust with non-default ref backends

 Prepare existing tests on refs to work better with non-default
 backends.

 Needs review.
 source: <cover.1704877233.git.ps@pks.im>


* ne/doc-filter-blob-limit-fix (2024-01-16) 1 commit
  (merged to 'next' on 2024-01-19 at 4f78975728)
 + rev-list-options: fix off-by-one in '--filter=blob:limit=<n>' explainer

 Docfix.

 Will merge to 'master'.
 source: <pull.1645.git.git.1705261850650.gitgitgadget@gmail.com>


* ps/commit-graph-write-leakfix (2024-01-15) 1 commit
  (merged to 'next' on 2024-01-19 at df537fac39)
 + commit-graph: fix memory leak when not writing graph

 Leakfix.

 Will merge to 'master'.
 source: <0feab5e7d5bc6275e2c7671cd8f6786ea86fd610.1702891190.git.ps@pks.im>


* rj/advice-delete-branch-not-fully-merged (2024-01-11) 3 commits
  (merged to 'next' on 2024-01-19 at 7102eb6b79)
 + branch: make the advice to force-deleting a conditional one
 + advice: fix an unexpected leading space
 + advice: sort the advice related lists
 (this branch is used by rj/advice-disable-how-to-disable.)

 The error message given when "git branch -d branch" fails due to
 commits unique to the branch has been split into an error and a new
 conditional advice message.

 Will merge to 'master'.
 source: <4aedc15c-4b3f-4f5e-abea-581b501600f8@gmail.com>


* en/diffcore-delta-final-line-fix (2024-01-18) 1 commit
  (merged to 'next' on 2024-01-22 at 7141d202cb)
 + diffcore-delta: avoid ignoring final 'line' of file

 Rename detection logic ignored the final line of a file if it is an
 incomplete line.

 Will merge to 'master'.
 source: <pull.1637.v2.git.1705119973690.gitgitgadget@gmail.com>


* mj/gitweb-unreadable-config-error (2024-01-10) 1 commit
  (merged to 'next' on 2024-01-19 at 790b7a7855)
 + gitweb: die when a configuration file cannot be read

 When given an existing but unreadable file as a configuration file,
 gitweb behaved as if the file did not exist at all, but now it
 errors out.  This is a change that may break backward compatibility.

 Will merge to 'master'.
 source: <20240110225709.30168-1-marcelo.jimenez@gmail.com>


* ps/completion-with-reftable-fix (2024-01-16) 5 commits
  (merged to 'next' on 2024-01-19 at 8854a7d903)
 + completion: treat dangling symrefs as existing pseudorefs
 + completion: silence pseudoref existence check
 + completion: improve existence check for pseudo-refs
 + t9902: verify that completion does not print anything
 + completion: discover repo path in `__git_pseudoref_exists ()`

 Completion update to prepare for reftable

 Will merge to 'master'.
 source: <cover.1705314554.git.ps@pks.im>


* ps/reftable-optimize-io (2024-01-18) 7 commits
  (merged to 'next' on 2024-01-22 at b867e8b9a8)
 + reftable/stack: fix race in up-to-date check
 + reftable/stack: unconditionally reload stack after commit
  (merged to 'next' on 2024-01-12 at 4096e880e0)
 + reftable/blocksource: use mmap to read tables
 + reftable/blocksource: refactor code to match our coding style
 + reftable/stack: use stat info to avoid re-reading stack list
 + reftable/stack: refactor reloading to use file descriptor
 + reftable/stack: refactor stack reloading to have common exit path

 Low-level I/O optimization for reftable.

 Will merge to 'master'.
 source: <cover.1704966670.git.ps@pks.im>
 source: <cover.1705585037.git.ps@pks.im>


* rj/advice-disable-how-to-disable (2024-01-16) 2 commits
  (merged to 'next' on 2024-01-23 at f456f4937d)
 + advice: allow disabling the automatic hint in advise_if_enabled()
 + Merge branch 'rj/advice-delete-branch-not-fully-merged' into rj/advice-disable-how-to-disable
 (this branch uses rj/advice-delete-branch-not-fully-merged.)

 All conditional "advice" messages show how to turn them off, which
 becomes repetitive.  Add a configuration variable to omit the
 instruction.

 Will merge to 'master'.
 source: <6a842ef8-b390-4739-9eef-e867d55ed5ea@gmail.com>


* vd/fsck-submodule-url-test (2024-01-19) 4 commits
  (merged to 'next' on 2024-01-19 at dad35ae82c)
 + submodule-config.c: strengthen URL fsck check
 + t7450: test submodule urls
 + test-submodule: remove command line handling for check-name
 + submodule-config.h: move check_submodule_url

 Tighten URL checks fsck makes in a URL recorded for submodules.

 Will merge to 'master'.
 source: <pull.1635.v2.git.1705542918.gitgitgadget@gmail.com>


* sd/negotiate-trace-fix (2024-01-03) 1 commit
 - push: region_leave trace for negotiate_using_fetch

 Tracing fix.

 Will merge to 'next'?
 source: <20240103224054.1940209-1-delmerico@google.com>


* ps/worktree-refdb-initialization (2024-01-08) 7 commits
  (merged to 'next' on 2024-01-19 at e8c649a3ac)
 + builtin/worktree: create refdb via ref backend
 + worktree: expose interface to look up worktree by name
 + builtin/worktree: move setup of commondir file earlier
 + refs/files: skip creation of "refs/{heads,tags}" for worktrees
 + setup: move creation of "refs/" into the files backend
 + refs: prepare `refs_init_db()` for initializing worktree refs
 + Merge branch 'ps/refstorage-extension' into ps/worktree-refdb-initialization

 Instead of manually creating refs/ hierarchy on disk upon a
 creation of a secondary worktree, which is only usable via the
 files backend, use the refs API to populate it.

 Will merge to 'master'.
 source: <cover.1704705733.git.ps@pks.im>


* cp/apply-core-filemode (2023-12-26) 3 commits
 - apply: code simplification
 - apply: correctly reverse patch's pre- and post-image mode bits
 - apply: ignore working tree filemode when !core.filemode

 "git apply" on a filesystem without filemode support have learned
 to take a hint from what is in the index for the path, even when
 not working with the "--index" or "--cached" option, when checking
 the executable bit match what is required by the preimage in the
 patch.

 Needs review.
 source: <20231226233218.472054-1-gitster@pobox.com>


* al/unit-test-ctype (2024-01-16) 1 commit
  (merged to 'next' on 2024-01-19 at fcdad0d06c)
 + unit-tests: rewrite t/helper/test-ctype.c as a unit test

 Move test-ctype helper to the unit-test framework.

 Will merge to 'master'.
 source: <20240112102743.1440-1-ach.lumap@gmail.com>


* ja/doc-placeholders-fix (2023-12-26) 2 commits
 - doc: enforce placeholders in documentation
 - doc: enforce dashes in placeholders

 Docfix.

 Needs review.
 source: <pull.1626.git.1703539287.gitgitgadget@gmail.com>


* jc/bisect-doc (2023-12-09) 1 commit
 - bisect: document "terms" subcommand more fully

 Doc update.

 Needs review.
 source: <xmqqzfyjmk02.fsf@gitster.g>


* tb/pair-chunk-expect (2023-11-10) 8 commits
 - midx: read `OOFF` chunk with `pair_chunk_expect()`
 - midx: read `OIDL` chunk with `pair_chunk_expect()`
 - commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 - commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `OIDL` chunk with `pair_chunk_expect()`
 - chunk-format: introduce `pair_chunk_expect()` helper
 - Merge branch 'jk/chunk-bounds-more' into HEAD

 Further code clean-up.

 Needs review.
 source: <cover.1699569246.git.me@ttaylorr.com>


* tb/path-filter-fix (2024-01-16) 17 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new Bloom filter version that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Will merge to 'next'?
 source: <cover.1705442923.git.me@ttaylorr.com>


* ak/color-decorate-symbols (2023-10-23) 7 commits
 - log: add color.decorate.pseudoref config variable
 - refs: exempt pseudorefs from pattern prefixing
 - refs: add pseudorefs array and iteration functions
 - log: add color.decorate.ref config variable
 - log: add color.decorate.symbol config variable
 - log: use designated inits for decoration_colors
 - config: restructure color.decorate documentation

 A new config for coloring.

 Needs review.
 source: <20231023221143.72489-1-andy.koppe@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2024-01-22) 6 commits
  (merged to 'next' on 2024-01-23 at 5fa4633015)
 + transport-helper: call do_take_over() in process_connect
 + transport-helper: call do_take_over() in connect_helper
 + http-backend: new rpc-service for git-upload-archive
 + transport-helper: protocol v2 supports upload-archive
 + remote-curl: supports git-upload-archive service
 + transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Will merge to 'master'.
 source: <cover.1705841443.git.zhiyou.jx@alibaba-inc.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 24%]

* Re: What's cooking in git.git (Jan 2024, #06; Fri, 19)
  @ 2024-01-20 17:19 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-01-20 17:19 UTC (permalink / raw)
  To: Ghanshyam Thakkar; +Cc: git

"Ghanshyam Thakkar" <shyamthakkar001@gmail.com> writes:

> On Sat Jan 20, 2024 at 7:26 AM IST, Junio C Hamano wrote:
>> * gt/t0024-style-fixes (2024-01-18) 2 commits
>>  - t0024: style fix
>>  - t0024: avoid losing exit status to pipes
>>
>>  source: <20240118215407.8609-1-shyamthakkar001@gmail.com>
>
> I have rerolled this series, cause it was breaking CI on alpine due to
> a syntax issue which is described here:
> https://lore.kernel.org/git/CYIDCZPQN2H1.1ET0CTP07NMYR@gmail.com/
>
> Thanks.

Thanks for pinging.  Yeah, there was that buggy implementation of
tar that requires dash in "-C".  Will replace.


^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Jan 2024, #06; Fri, 19)
@ 2024-01-20  1:56 25% Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2024-01-20  1:56 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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']

* bk/bisect-doc-fix (2024-01-10) 2 commits
  (merged to 'next' on 2024-01-12 at bdb3609554)
 + doc: refer to pathspec instead of path
 + doc: use singular form of repeatable path arg

 Synopsis fix.
 source: <20240103040207.661413-1-britton.kerin@gmail.com>


* cp/t4129-pipefix (2024-01-10) 1 commit
  (merged to 'next' on 2024-01-12 at fd9b72b71a)
 + t4129: prevent loss of exit code due to the use of pipes

 Test update.
 source: <pull.1636.git.1704891257544.gitgitgadget@gmail.com>


* ps/gitlab-ci-static-analysis (2024-01-08) 1 commit
  (merged to 'next' on 2024-01-10 at 71af34de07)
 + ci: add job performing static analysis on GitLab CI
 (this branch is used by ps/gitlab-ci-macos.)

 GitLab CI update.
 source: <1536a5ef07ad24dafb5d685b40099882f89e6cc5.1703761005.git.ps@pks.im>


* ps/p4-use-ref-api (2024-01-11) 1 commit
  (merged to 'next' on 2024-01-12 at 3f89cf25f6)
 + git-p4: stop reaching into the refdb

 "git p4" update to prepare for reftable
 source: <33d6a062ec56be33ed50a42a420be0b023f6f4cf.1704980814.git.ps@pks.im>


* ps/prompt-parse-HEAD-futureproof (2024-01-08) 2 commits
  (merged to 'next' on 2024-01-10 at f9515b9d89)
 + git-prompt: stop manually parsing HEAD with unknown ref formats
 + Merge branch 'ps/refstorage-extension' into ps/prompt-parse-HEAD-futureproof

 Futureproof command line prompt support (in contrib/).
 source: <ef4e36a5a40c369da138242a8fdc9e12a846613b.1704356313.git.ps@pks.im>


* rj/clarify-branch-doc-m (2024-01-08) 1 commit
  (merged to 'next' on 2024-01-10 at 432eaa2c6b)
 + branch: clarify <oldbranch> term

 Doc update.
 source: <d38e5a18-4d85-48f3-bc8b-8ca02ea683a4@gmail.com>


* sk/mingw-owner-check-error-message-improvement (2024-01-10) 1 commit
  (merged to 'next' on 2024-01-12 at 05c56e151b)
 + mingw: give more details about unsafe directory's ownership

 In addition to (rather cryptic) Security Identifiers, show username
 and domain in the error message when we barf on mismatch between
 the Git directory and the current user on Windows.
 source: <20240108173837.20480-2-soekkle@freenet.de>


* tb/fetch-all-configuration (2024-01-08) 1 commit
  (merged to 'next' on 2024-01-12 at 6a05050382)
 + fetch: add new config option fetch.all

 "git fetch" learned to pay attention to "fetch.all" configuration
 variable, which pretends as if "--all" was passed from the command
 line when no remote parameter was given.
 source: <20240108211832.47362-1-dev@tb6.eu>

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

* kh/maintenance-use-xdg-when-it-should (2024-01-18) 4 commits
  (merged to 'next' on 2024-01-19 at 9c8c7b2e9d)
 + maintenance: use XDG config if it exists
 + config: factor out global config file retrieval
 + config: rename global config function
 + config: format newlines

 When $HOME/.gitignore is missing but XDG config file available, we
 should write into the latter, not former.  "git gc" and "git
 maintenance" wrote into a wrong "global config" file, which have
 been corrected.

 Will merge to 'master'.
 source: <cover.1705593810.git.code@khaugsbakk.name>


* ps/gitlab-ci-macos (2024-01-18) 6 commits
  (merged to 'next' on 2024-01-19 at a239dc8140)
 + ci: add macOS jobs to GitLab CI
 + ci: make p4 setup on macOS more robust
 + ci: handle TEST_OUTPUT_DIRECTORY when printing test failures
 + Makefile: detect new Homebrew location for ARM-based Macs
 + t7527: decrease likelihood of racing with fsmonitor daemon
 + Merge branch 'ps/gitlab-ci-static-analysis' into ps/gitlab-ci-macos

 CI for GitLab learned to drive macOS jobs.

 Will merge to 'master'.
 source: <cover.1705573336.git.ps@pks.im>


* ad/custom-merge-placeholder-for-symbolic-pathnames (2024-01-18) 1 commit
 - merge-ll: expose revision names to custom drivers

 source: <pull.1648.v3.git.git.1705615794307.gitgitgadget@gmail.com>


* cp/unit-test-prio-queue (2024-01-17) 2 commits
 - SQUASH???
 - tests: move t0009-prio-queue.sh to the new unit testing framework

 source: <pull.1642.v3.git.1705502304219.gitgitgadget@gmail.com>


* jc/reffiles-tests (2024-01-19) 12 commits
 - t5312: move reffiles specific tests to t0601
 - t4202: move reffiles specific tests to t0600
 - t3903: make drop stash test ref backend agnostic
 - t1503: move reffiles specific tests to t0600
 - t1415: move reffiles specific tests to t0601
 - t1410: move reffiles specific tests to t0600
 - t1406: move reffiles specific tests to t0600
 - t1405: move reffiles specific tests to t0601
 - t1404: move reffiles specific tests to t0600
 - t1414: convert test to use Git commands instead of writing refs manually
 - remove REFFILES prerequisite for some tests in t1405 and t2017
 - t3210: move to t0601

 source: <pull.1647.v2.git.git.1705695540.gitgitgadget@gmail.com>


* ml/log-merge-with-cherry-pick-and-other-pseudo-heads (2024-01-17) 2 commits
 - revision: implement `git log --merge` also for rebase/cherry_pick/revert
 - revision: ensure MERGE_HEAD is a ref in prepare_show_merge

 source: <xmqqzfxa9usx.fsf@gitster.g>


* nb/rebase-x-shell-docfix (2024-01-17) 1 commit
 - rebase: fix documentation about used shell in -x

 source: <20240117085347.948960-1-nik.borisov@suse.com>


* tc/show-ref-exists-fix (2024-01-18) 1 commit
 - builtin/show-ref: treat directory as non-existing in --exists

 source: <20240110141559.387815-2-toon@iotcl.com>


* gt/t0024-style-fixes (2024-01-18) 2 commits
 - t0024: style fix
 - t0024: avoid losing exit status to pipes

 source: <20240118215407.8609-1-shyamthakkar001@gmail.com>


* jc/majordomo-to-subspace (2024-01-19) 1 commit
 - Docs: majordomo@vger.kernel.org has been decomissioned

 source: <xmqqmst1hsd6.fsf@gitster.g>


* js/oss-fuzz-build-in-ci (2024-01-19) 2 commits
 - ci: build and run minimal fuzzers in GitHub CI
 - fuzz: fix fuzz test build rules

 source: <cover.1705700054.git.steadmon@google.com>


* kn/for-all-refs (2024-01-19) 5 commits
 - for-each-ref: avoid filtering on empty pattern
 - refs: introduce `refs_for_each_all_refs()`
 - refs: extract out `loose_fill_ref_dir_regular_file()`
 - refs: make `is_pseudoref_syntax()` stricter
 - refs: expose `is_pseudoref_syntax()`

 source: <20240119142705.139374-1-karthik.188@gmail.com>


* ps/not-so-many-refs-are-special (2024-01-19) 7 commits
 - Documentation: add "special refs" to the glossary
 - refs: redefine special refs
 - refs: convert MERGE_AUTOSTASH to become a normal pseudo-ref
 - sequencer: introduce functions to handle autostashes via refs
 - refs: convert AUTO_MERGE to become a normal pseudo-ref
 - sequencer: delete REBASE_HEAD in correct repo when picking commits
 - sequencer: clean up pseudo refs with REF_NO_DEREF

 source: <cover.1705659748.git.ps@pks.im>

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

* es/some-up-to-date-messages-must-stay (2024-01-12) 1 commit
  (merged to 'next' on 2024-01-16 at 2b598f7de2)
 + messages: mark some strings with "up-to-date" not to touch

 Comment updates to help developers not to attempt to modify
 messages from plumbing commands that must stay constant.

 It might make sense to reassess the plumbing needs every few years,
 but that should be done as a separate effort.

 Will merge to 'master'.
 source: <20240112171910.11131-1-ericsunshine@charter.net>


* bk/complete-bisect (2024-01-18) 5 commits
 - completion: git-bisect view recognized but not completed
 - completion: custom git-bisect terms
 - completion: move to maintain define-before-use
 - completion: git-log opts to bisect visualize
 - completion: complete new old actions, start opts

 Command line completion support (in contrib/) has been
 updated for "git bisect".

 Expecting a reroll.
 cf. <ZaofJhHsFjRxx7a3@tanuki>
 source: <20240118204323.1113859-1-britton.kerin@gmail.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Needs review.
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Needs review.
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* gt/test-commit-o-i-options (2024-01-17) 2 commits
  (merged to 'next' on 2024-01-19 at 0377e2c148)
 + t7501: add tests for --amend --signoff
 + t7501: add tests for --include and --only

 A few tests to "git commit -o <pathspec>" and "git commit -i
 <pathspec>" has been added.

 Will merge to 'master'.
 source: <20240117161421.17333-1-shyamthakkar001@gmail.com>


* jt/tests-with-reftable (2024-01-12) 2 commits
  (merged to 'next' on 2024-01-19 at 498d203a57)
 + t5541: remove lockfile creation
 + t1401: remove lockfile creation

 Tweak a few tests not to manually modify the reference database
 (hence easier to work with other backends like reftable).

 Will merge to 'master'.
 source: <pull.1634.v2.git.1705004670.gitgitgadget@gmail.com>


* la/strvec-comment-fix (2024-01-12) 1 commit
  (merged to 'next' on 2024-01-19 at 120ef16493)
 + strvec: use correct member name in comments

 Comment fix.

 Will merge to 'master'.
 source: <pull.1640.git.1705043195997.gitgitgadget@gmail.com>


* la/trailer-api (2024-01-12) 10 commits
 - trailer: delete obsolete argument handling code from API
 - trailer: move arg handling to interpret-trailers.c
 - trailer: prepare to move parse_trailers_from_command_line_args() to builtin
 - trailer: spread usage of "trailer_block" language
 - trailer: make trailer_info struct private
 - sequencer: use the trailer iterator
 - trailer: delete obsolete formatting functions
 - trailer: unify trailer formatting machinery
 - trailer: include "trailer" term in API functions
 - trailer: move process_trailers() to interpret-trailers.c

 Code clean-up.

 Needs review.
 source: <pull.1632.git.1704869487.gitgitgadget@gmail.com>


* ps/tests-with-ref-files-backend (2024-01-12) 6 commits
 - t: mark tests regarding git-pack-refs(1) to be backend specific
 - t5526: break test submodule differently
 - t1419: mark test suite as files-backend specific
 - t1302: make tests more robust with new extensions
 - t1301: mark test for `core.sharedRepository` as reffiles specific
 - t1300: make tests more robust with non-default ref backends

 Prepare existing tests on refs to work better with non-default
 backends.

 Needs review.
 source: <cover.1704877233.git.ps@pks.im>


* ne/doc-filter-blob-limit-fix (2024-01-16) 1 commit
  (merged to 'next' on 2024-01-19 at 4f78975728)
 + rev-list-options: fix off-by-one in '--filter=blob:limit=<n>' explainer

 Docfix.

 Will merge to 'master'.
 source: <pull.1645.git.git.1705261850650.gitgitgadget@gmail.com>


* ps/commit-graph-write-leakfix (2024-01-15) 1 commit
  (merged to 'next' on 2024-01-19 at df537fac39)
 + commit-graph: fix memory leak when not writing graph

 Leakfix.

 Will merge to 'master'.
 source: <0feab5e7d5bc6275e2c7671cd8f6786ea86fd610.1702891190.git.ps@pks.im>


* rj/advice-delete-branch-not-fully-merged (2024-01-11) 3 commits
  (merged to 'next' on 2024-01-19 at 7102eb6b79)
 + branch: make the advice to force-deleting a conditional one
 + advice: fix an unexpected leading space
 + advice: sort the advice related lists
 (this branch is used by rj/advice-disable-how-to-disable.)

 The error message given when "git branch -d branch" fails due to
 commits unique to the branch has been split into an error and a new
 conditional advice message.

 Will merge to 'master'.
 source: <4aedc15c-4b3f-4f5e-abea-581b501600f8@gmail.com>


* en/diffcore-delta-final-line-fix (2024-01-18) 1 commit
 - diffcore-delta: avoid ignoring final 'line' of file

 Rename detection logic ignored the final line of a file if it is an
 incomplete line.

 Will merge to 'next'.
 source: <pull.1637.v2.git.1705119973690.gitgitgadget@gmail.com>


* mj/gitweb-unreadable-config-error (2024-01-10) 1 commit
  (merged to 'next' on 2024-01-19 at 790b7a7855)
 + gitweb: die when a configuration file cannot be read

 When given an existing but unreadable file as a configuration file,
 gitweb behaved as if the file did not exist at all, but now it
 errors out.  This is a change that may break backward compatibility.

 Will merge to 'master'.
 source: <20240110225709.30168-1-marcelo.jimenez@gmail.com>


* ps/completion-with-reftable-fix (2024-01-16) 5 commits
  (merged to 'next' on 2024-01-19 at 8854a7d903)
 + completion: treat dangling symrefs as existing pseudorefs
 + completion: silence pseudoref existence check
 + completion: improve existence check for pseudo-refs
 + t9902: verify that completion does not print anything
 + completion: discover repo path in `__git_pseudoref_exists ()`

 Completion update to prepare for reftable

 Will merge to 'master'.
 source: <cover.1705314554.git.ps@pks.im>


* ps/reftable-optimize-io (2024-01-18) 7 commits
 - reftable/stack: fix race in up-to-date check
 - reftable/stack: unconditionally reload stack after commit
  (merged to 'next' on 2024-01-12 at 4096e880e0)
 + reftable/blocksource: use mmap to read tables
 + reftable/blocksource: refactor code to match our coding style
 + reftable/stack: use stat info to avoid re-reading stack list
 + reftable/stack: refactor reloading to use file descriptor
 + reftable/stack: refactor stack reloading to have common exit path

 Low-level I/O optimization for reftable.

 The two commits at the tip are new.
 Will merge to 'next' and then to 'master'?
 source: <cover.1704966670.git.ps@pks.im>
 source: <cover.1705585037.git.ps@pks.im>


* rj/advice-disable-how-to-disable (2024-01-16) 2 commits
 - advice: allow disabling the automatic hint in advise_if_enabled()
 - Merge branch 'rj/advice-delete-branch-not-fully-merged' into rj/advice-disable-how-to-disable
 (this branch uses rj/advice-delete-branch-not-fully-merged.)

 All conditional "advice" messages show how to turn them off, which
 becomes repetitive.  Add a configuration variable to omit the
 instruction.

 Will merge to 'next'?
 source: <6a842ef8-b390-4739-9eef-e867d55ed5ea@gmail.com>


* vd/fsck-submodule-url-test (2024-01-19) 4 commits
  (merged to 'next' on 2024-01-19 at dad35ae82c)
 + submodule-config.c: strengthen URL fsck check
 + t7450: test submodule urls
 + test-submodule: remove command line handling for check-name
 + submodule-config.h: move check_submodule_url

 Tighten URL checks fsck makes in a URL recorded for submodules.

 Will merge to 'master'.
 source: <pull.1635.v2.git.1705542918.gitgitgadget@gmail.com>


* sd/negotiate-trace-fix (2024-01-03) 1 commit
 - push: region_leave trace for negotiate_using_fetch

 Tracing fix.

 Waiting for a review response.
 cf. <xmqqbka27zu9.fsf@gitster.g>
 source: <20240103224054.1940209-1-delmerico@google.com>


* ps/worktree-refdb-initialization (2024-01-08) 7 commits
  (merged to 'next' on 2024-01-19 at e8c649a3ac)
 + builtin/worktree: create refdb via ref backend
 + worktree: expose interface to look up worktree by name
 + builtin/worktree: move setup of commondir file earlier
 + refs/files: skip creation of "refs/{heads,tags}" for worktrees
 + setup: move creation of "refs/" into the files backend
 + refs: prepare `refs_init_db()` for initializing worktree refs
 + Merge branch 'ps/refstorage-extension' into ps/worktree-refdb-initialization

 Instead of manually creating refs/ hierarchy on disk upon a
 creation of a secondary worktree, which is only usable via the
 files backend, use the refs API to populate it.

 Will merge to 'master'.
 source: <cover.1704705733.git.ps@pks.im>


* cp/apply-core-filemode (2023-12-26) 3 commits
 - apply: code simplification
 - apply: correctly reverse patch's pre- and post-image mode bits
 - apply: ignore working tree filemode when !core.filemode

 "git apply" on a filesystem without filemode support have learned
 to take a hint from what is in the index for the path, even when
 not working with the "--index" or "--cached" option, when checking
 the executable bit match what is required by the preimage in the
 patch.

 Needs review.
 source: <20231226233218.472054-1-gitster@pobox.com>


* al/unit-test-ctype (2024-01-16) 1 commit
  (merged to 'next' on 2024-01-19 at fcdad0d06c)
 + unit-tests: rewrite t/helper/test-ctype.c as a unit test

 Move test-ctype helper to the unit-test framework.

 Will merge to 'master'.
 source: <20240112102743.1440-1-ach.lumap@gmail.com>


* ja/doc-placeholders-fix (2023-12-26) 2 commits
 - doc: enforce placeholders in documentation
 - doc: enforce dashes in placeholders

 Docfix.

 Needs review.
 source: <pull.1626.git.1703539287.gitgitgadget@gmail.com>


* jc/bisect-doc (2023-12-09) 1 commit
 - bisect: document "terms" subcommand more fully

 Doc update.

 Needs review.
 source: <xmqqzfyjmk02.fsf@gitster.g>


* tb/pair-chunk-expect (2023-11-10) 8 commits
 - midx: read `OOFF` chunk with `pair_chunk_expect()`
 - midx: read `OIDL` chunk with `pair_chunk_expect()`
 - commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 - commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `OIDL` chunk with `pair_chunk_expect()`
 - chunk-format: introduce `pair_chunk_expect()` helper
 - Merge branch 'jk/chunk-bounds-more' into HEAD

 Further code clean-up.

 Needs review.
 source: <cover.1699569246.git.me@ttaylorr.com>


* tb/path-filter-fix (2024-01-16) 17 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new Bloom filter version that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Will merge to 'next'?
 source: <cover.1705442923.git.me@ttaylorr.com>


* ak/color-decorate-symbols (2023-10-23) 7 commits
 - log: add color.decorate.pseudoref config variable
 - refs: exempt pseudorefs from pattern prefixing
 - refs: add pseudorefs array and iteration functions
 - log: add color.decorate.ref config variable
 - log: add color.decorate.symbol config variable
 - log: use designated inits for decoration_colors
 - config: restructure color.decorate documentation

 A new config for coloring.

 Needs review.
 source: <20231023221143.72489-1-andy.koppe@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2024-01-16) 6 commits
 - transport-helper: call do_take_over() in process_connect
 - transport-helper: call do_take_over() in connect_helper
 - http-backend: new rpc-service for git-upload-archive
 - transport-helper: protocol-v2 supports upload-archive
 - remote-curl: supports git-upload-archive service
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Will merge to 'next'?
 source: <cover.1705411391.git.zhiyou.jx@alibaba-inc.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 25%]

* Re: What's cooking in git.git (Jan 2024, #01; Tue, 2)
  @ 2024-01-16 23:42 99%               ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-01-16 23:42 UTC (permalink / raw)
  To: Taylor Blau; +Cc: SZEDER Gábor, git

Taylor Blau <me@ttaylorr.com> writes:

>> A big red button solution to avoid this would be to uprev the
>> repository format version once you start writing v2 Bloom filters
>> anywhere in the layers.  That way, existing Git clients would not be
>> able to touch it.  I do not know if the cure is more severe than the
>> disease in that case, though.
>
> I tend to think that in this case the cure is probably worse than the
> disease. I expect it to be extremely rare that a user would upgrade to a
> modern version of Git, write commit-graphs, then downgrade, and try to
> write more commit-graphs.

But then the big red button solution would rarely misfire for users
because they will not downgrade (and see "gee, I now need to stick
to the newer version"), no?

I am not seriously suggesting to do this, but I am not sure if
documenting "don't do this because you'll break your repository"
is sufficient.

>> In any case, at least, we should be able to prepare the code that we
>> teach to grok v2 today so that they do not trigger the same segfault
>> when they see a commit graph layer containing v3 Bloom filters (or
>> later).  Then we won't have to have the same conversation when we
>> somehow need to update Bloom filters again.
>
> This series should accomplish that by loading the Bloom chunk
> unconditionally, and only reading its filters when they match the
> given hash_version.

Good.


^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (Jan 2024, #01; Tue, 2)
  @ 2024-01-16 22:45 99%           ` Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2024-01-16 22:45 UTC (permalink / raw)
  To: Taylor Blau; +Cc: SZEDER Gábor, git

Taylor Blau <me@ttaylorr.com> writes:

> OK, everything seems fine thus far, until we inspect the value of
> g->bloom_filter_settings, which is NULL, becuase of this hunk from
> commit-graph.c::graph_read_bloom_data():
>
>     if (hash_version != 1)
>       return 0;
>
> which terminates the function before we assign g->bloom_filter_settings
> for the existing (written with v2 Bloom filters) graph layer.
>
> I don't think that there is a way to fix this in a backwards compatible
> way, but I'm comfortable with that in this instance since we don't
> expect users to upgrading to v2 Bloom filters and then writing new graph
> layers using a non-v2 compatible version of Git.

A big red button solution to avoid this would be to uprev the
repository format version once you start writing v2 Bloom filters
anywhere in the layers.  That way, existing Git clients would not be
able to touch it.  I do not know if the cure is more severe than the
disease in that case, though.

In any case, at least, we should be able to prepare the code that we
teach to grok v2 today so that they do not trigger the same segfault
when they see a commit graph layer containing v3 Bloom filters (or
later).  Then we won't have to have the same conversation when we
somehow need to update Bloom filters again.





^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Jan 2024, #05; Tue, 16)
@ 2024-01-16 20:45 23% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-01-16 20:45 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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']

* cp/git-flush-is-an-env-bool (2024-01-04) 1 commit
  (merged to 'next' on 2024-01-04 at b435a96ce8)
 + write-or-die: make GIT_FLUSH a Boolean environment variable

 Unlike other environment variables that took the usual
 true/false/yes/no as well as 0/1, GIT_FLUSH only understood 0/1,
 which has been corrected.
 source: <pull.1628.v3.git.1704363617842.gitgitgadget@gmail.com>


* cp/sideband-array-index-comment-fix (2023-12-28) 1 commit
  (merged to 'next' on 2024-01-08 at f906bc86f1)
 + sideband.c: remove redundant 'NEEDSWORK' tag

 In-code comment fix.
 source: <pull.1625.v4.git.1703750460527.gitgitgadget@gmail.com>


* ib/rebase-reschedule-doc (2024-01-05) 1 commit
  (merged to 'next' on 2024-01-08 at d451d1f760)
 + rebase: clarify --reschedule-failed-exec default

 Doc update.
 source: <20240105011424.1443732-2-illia.bobyr@gmail.com>


* jk/commit-graph-slab-clear-fix (2024-01-05) 1 commit
  (merged to 'next' on 2024-01-08 at f78c4fc296)
 + commit-graph: retain commit slab when closing NULL commit_graph

 Clearing in-core repository (happens during e.g., "git fetch
 --recurse-submodules" with commit graph enabled) made in-core
 commit object in an inconsistent state by discarding the necessary
 data from commit-graph too early, which has been corrected.
 source: <20240105054142.GA2035092@coredump.intra.peff.net>


* jk/index-pack-lsan-false-positive-fix (2024-01-05) 1 commit
  (merged to 'next' on 2024-01-08 at 589ed65251)
 + index-pack: spawn threads atomically

 Fix false positive reported by leak sanitizer.
 source: <20240105085034.GA3078476@coredump.intra.peff.net>


* jk/t1006-cat-file-objectsize-disk (2024-01-03) 2 commits
  (merged to 'next' on 2024-01-03 at a492c6355c)
 + t1006: prefer shell loop to awk for packed object sizes
  (merged to 'next' on 2023-12-28 at d82812e636)
 + t1006: add tests for %(objectsize:disk)

 Test update.
 source: <20231221094722.GA570888@coredump.intra.peff.net>
 source: <20240103090152.GB1866508@coredump.intra.peff.net>


* js/contributor-docs-updates (2023-12-27) 9 commits
  (merged to 'next' on 2024-01-02 at 0e072117cd)
 + SubmittingPatches: hyphenate non-ASCII
 + SubmittingPatches: clarify GitHub artifact format
 + SubmittingPatches: clarify GitHub visual
 + SubmittingPatches: provide tag naming advice
 + SubmittingPatches: update extra tags list
 + SubmittingPatches: discourage new trailers
 + SubmittingPatches: drop ref to "What's in git.git"
 + CodingGuidelines: write punctuation marks
 + CodingGuidelines: move period inside parentheses

 Doc update.
 source: <pull.1623.v3.git.1703739324.gitgitgadget@gmail.com>


* jw/builtin-objectmode-attr (2023-12-28) 1 commit
  (merged to 'next' on 2024-01-02 at 4c3784b3a1)
 + attr: add builtin objectmode values support

 The builtin_objectmode attribute is populated for each path
 without adding anything in .gitattributes files, which would be
 useful in magic pathspec, e.g., ":(attr:builtin_objectmode=100755)"
 to limit to executables.
 cf. <xmqq5y0ssknj.fsf@gitster.g>
 source: <20231116054437.2343549-1-jojwang@google.com>


* jx/sideband-chomp-newline-fix (2023-12-18) 3 commits
  (merged to 'next' on 2024-01-04 at 1237898a22)
 + pkt-line: do not chomp newlines for sideband messages
 + pkt-line: memorize sideband fragment in reader
 + test-pkt-line: add option parser for unpack-sideband

 Sideband demultiplexer fixes.
 source: <cover.1702823801.git.zhiyou.jx@alibaba-inc.com>


* ms/rebase-insnformat-doc-fix (2024-01-03) 1 commit
  (merged to 'next' on 2024-01-04 at d68f2be39b)
 + Documentation: fix statement about rebase.instructionFormat

 Docfix.
 source: <pull.1629.git.git.1704305663254.gitgitgadget@gmail.com>


* ps/refstorage-extension (2024-01-02) 13 commits
  (merged to 'next' on 2024-01-08 at f9a034803b)
 + t9500: write "extensions.refstorage" into config
 + builtin/clone: introduce `--ref-format=` value flag
 + builtin/init: introduce `--ref-format=` value flag
 + builtin/rev-parse: introduce `--show-ref-format` flag
 + t: introduce GIT_TEST_DEFAULT_REF_FORMAT envvar
 + setup: introduce GIT_DEFAULT_REF_FORMAT envvar
 + setup: introduce "extensions.refStorage" extension
 + setup: set repository's formats on init
 + setup: start tracking ref storage format
 + refs: refactor logic to look up storage backends
 + worktree: skip reading HEAD when repairing worktrees
 + t: introduce DEFAULT_REPO_FORMAT prereq
 + Merge branch 'ps/clone-into-reftable-repository' into ps/refstorage-extension
 (this branch is used by ps/prompt-parse-HEAD-futureproof and ps/worktree-refdb-initialization.)

 Introduce a new extension "refstorage" so that we can mark a
 repository that uses a non-default ref backend, like reftable.
 source: <cover.1703833818.git.ps@pks.im>


* ps/reftable-fixes-and-optims (2024-01-03) 9 commits
  (merged to 'next' on 2024-01-08 at 167d7685f8)
 + reftable/merged: transfer ownership of records when iterating
 + reftable/merged: really reuse buffers to compute record keys
 + reftable/record: store "val2" hashes as static arrays
 + reftable/record: store "val1" hashes as static arrays
 + reftable/record: constify some parts of the interface
 + reftable/writer: fix index corruption when writing multiple indices
 + reftable/stack: do not auto-compact twice in `reftable_stack_add()`
 + reftable/stack: do not overwrite errors when compacting
 + Merge branch 'ps/reftable-fixes' into ps/reftable-fixes-and-optims

 More fixes and optimizations to the reftable backend.
 source: <cover.1704262787.git.ps@pks.im>


* tb/multi-pack-verbatim-reuse (2023-12-14) 26 commits
  (merged to 'next' on 2024-01-04 at 891ac0fa2c)
 + t/perf: add performance tests for multi-pack reuse
 + pack-bitmap: enable reuse from all bitmapped packs
 + pack-objects: allow setting `pack.allowPackReuse` to "single"
 + t/test-lib-functions.sh: implement `test_trace2_data` helper
 + pack-objects: add tracing for various packfile metrics
 + pack-bitmap: prepare to mark objects from multiple packs for reuse
 + pack-revindex: implement `midx_pair_to_pack_pos()`
 + pack-revindex: factor out `midx_key_to_pack_pos()` helper
 + midx: implement `midx_preferred_pack()`
 + git-compat-util.h: implement checked size_t to uint32_t conversion
 + pack-objects: include number of packs reused in output
 + pack-objects: prepare `write_reused_pack_verbatim()` for multi-pack reuse
 + pack-objects: prepare `write_reused_pack()` for multi-pack reuse
 + pack-objects: pass `bitmapped_pack`'s to pack-reuse functions
 + pack-objects: keep track of `pack_start` for each reuse pack
 + pack-objects: parameterize pack-reuse routines over a single pack
 + pack-bitmap: return multiple packs via `reuse_partial_packfile_from_bitmap()`
 + pack-bitmap: simplify `reuse_partial_packfile_from_bitmap()` signature
 + ewah: implement `bitmap_is_empty()`
 + pack-bitmap: pass `bitmapped_pack` struct to pack-reuse functions
 + midx: implement `midx_locate_pack()`
 + midx: implement `BTMP` chunk
 + midx: factor out `fill_pack_info()`
 + pack-bitmap: plug leak in find_objects()
 + pack-bitmap-write: deep-clear the `bb_commit` slab
 + pack-objects: free packing_data in more places

 Streaming spans of packfile data used to be done only from a
 single, primary, pack in a repository with multiple packfiles.  It
 has been extended to allow reuse from other packfiles, too.
 cf. <ZXurD1NTZ4TAs7WZ@nand.local>
 source: <cover.1702592603.git.me@ttaylorr.com>

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

* es/some-up-to-date-messages-must-stay (2024-01-12) 1 commit
  (merged to 'next' on 2024-01-16 at 2b598f7de2)
 + messages: mark some strings with "up-to-date" not to touch

 Comment updates to help developers not to attempt to modify
 messages from plumbing commands that must stay constant.

 It might make sense to reassess the plumbing needs every few years,
 but that should be done as a separate effort.

 Will merge to 'master'.
 source: <20240112171910.11131-1-ericsunshine@charter.net>


* bk/complete-bisect (2024-01-12) 5 commits
 - completion: custom git-bisect terms
 - completion: custom git-bisect terms
 - completion: move to maintain define-before-use
 - completion: git-log opts to bisect visualize
 - completion: complete new old actions, start opts

 Command line completion support (in contrib/) has been
 updated for "git bisect".

 Needs review.
 source: <20240110020347.673155-1-britton.kerin@gmail.com>


* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
 - completion: dir-type optargs for am, format-patch

 Command line completion support (in contrib/) has been
 updated for a few commands to complete directory names where a
 directory name is expected.

 Needs review.
 source: <d37781c3-6af2-409b-95a8-660a9b92d20b@smtp-relay.sendinblue.com>


* bk/complete-send-email (2024-01-12) 1 commit
 - completion: don't complete revs when --no-format-patch

 Command line completion support (in contrib/) has been taught to
 avoid offering revision names as candidates to "git send-email" when
 the command is used to send pre-generated files.

 Needs review.
 source: <a718b5ee-afb0-44bd-a299-3208fac43506@smtp-relay.sendinblue.com>


* gt/test-commit-o-i-options (2024-01-16) 2 commits
 - t7501: add tests for --amend --signoff
 - t7501: add tests for --include and --only

 A few tests to "git commit -o <pathspec>" and "git commit -i
 <pathspec>" has been added.

 Expecting a reroll.
 cf. <xmqq1qah46i0.fsf@gitster.g>
 source: <20240113042254.38602-1-shyamthakkar001@gmail.com>


* jt/tests-with-reftable (2024-01-12) 2 commits
 - t5541: remove lockfile creation
 - t1401: remove lockfile creation

 Tweak a few tests not to manually modify the reference database
 (hence easier to work with other backends like reftable).

 Will merge to 'next'.
 source: <pull.1634.v2.git.1705004670.gitgitgadget@gmail.com>


* la/strvec-comment-fix (2024-01-12) 1 commit
 - strvec: use correct member name in comments

 Comment fix.

 Will merge to 'next'.
 source: <pull.1640.git.1705043195997.gitgitgadget@gmail.com>


* la/trailer-api (2024-01-12) 10 commits
 - trailer: delete obsolete argument handling code from API
 - trailer: move arg handling to interpret-trailers.c
 - trailer: prepare to move parse_trailers_from_command_line_args() to builtin
 - trailer: spread usage of "trailer_block" language
 - trailer: make trailer_info struct private
 - sequencer: use the trailer iterator
 - trailer: delete obsolete formatting functions
 - trailer: unify trailer formatting machinery
 - trailer: include "trailer" term in API functions
 - trailer: move process_trailers() to interpret-trailers.c

 Code clean-up.

 Needs review.
 source: <pull.1632.git.1704869487.gitgitgadget@gmail.com>


* ps/tests-with-ref-files-backend (2024-01-12) 6 commits
 - t: mark tests regarding git-pack-refs(1) to be backend specific
 - t5526: break test submodule differently
 - t1419: mark test suite as files-backend specific
 - t1302: make tests more robust with new extensions
 - t1301: mark test for `core.sharedRepository` as reffiles specific
 - t1300: make tests more robust with non-default ref backends

 Prepare existing tests on refs to work better with non-default
 backends.

 Needs review.
 source: <cover.1704877233.git.ps@pks.im>


* ne/doc-filter-blob-limit-fix (2024-01-16) 1 commit
 - rev-list-options: fix off-by-one in '--filter=blob:limit=<n>' explainer

 Docfix.

 Will merge to 'next'.
 source: <pull.1645.git.git.1705261850650.gitgitgadget@gmail.com>


* ps/commit-graph-write-leakfix (2024-01-15) 1 commit
 - commit-graph: fix memory leak when not writing graph

 Leakfix.

 Will merge to 'next'.
 source: <0feab5e7d5bc6275e2c7671cd8f6786ea86fd610.1702891190.git.ps@pks.im>

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

* cp/t4129-pipefix (2024-01-10) 1 commit
  (merged to 'next' on 2024-01-12 at fd9b72b71a)
 + t4129: prevent loss of exit code due to the use of pipes

 Test update.

 Will merge to 'master'.
 source: <pull.1636.git.1704891257544.gitgitgadget@gmail.com>


* rj/advice-delete-branch-not-fully-merged (2024-01-11) 3 commits
 - branch: make the advice to force-deleting a conditional one
 - advice: fix an unexpected leading space
 - advice: sort the advice related lists
 (this branch is used by rj/advice-disable-how-to-disable.)

 The error message given when "git branch -d branch" fails due to
 commits unique to the branch has been split into an error and a new
 conditional advice message.

 Will merge to 'next'.
 source: <4aedc15c-4b3f-4f5e-abea-581b501600f8@gmail.com>


* en/diffcore-delta-final-line-fix (2024-01-11) 1 commit
 - diffcore-delta: avoid ignoring final 'line' of file

 Rename detection logic ignored the final line of a file if it is an
 incomplete line.

 Expecting a reroll.
 cf. <xmqqedenearc.fsf@gitster.g>
 source: <pull.1637.git.1705006074626.gitgitgadget@gmail.com>


* mj/gitweb-unreadable-config-error (2024-01-10) 1 commit
 - gitweb: die when a configuration file cannot be read

 When given an existing but unreadable file as a configuration file,
 gitweb behaved as if the file did not exist at all, but now it
 errors out.  This is a change that may break backward compatibility.

 Will merge to 'next'.
 source: <20240110225709.30168-1-marcelo.jimenez@gmail.com>


* ps/completion-with-reftable-fix (2024-01-16) 5 commits
 - completion: treat dangling symrefs as existing pseudorefs
 - completion: silence pseudoref existence check
 - completion: improve existence check for pseudo-refs
 - t9902: verify that completion does not print anything
 - completion: discover repo path in `__git_pseudoref_exists ()`

 Completion update to prepare for reftable

 Will merge to 'next'?
 source: <cover.1705314554.git.ps@pks.im>


* ps/p4-use-ref-api (2024-01-11) 1 commit
  (merged to 'next' on 2024-01-12 at 3f89cf25f6)
 + git-p4: stop reaching into the refdb

 "git p4" update to prepare for reftable

 Will merge to 'master'.
 source: <33d6a062ec56be33ed50a42a420be0b023f6f4cf.1704980814.git.ps@pks.im>


* ps/gitlab-ci-static-analysis (2024-01-08) 1 commit
  (merged to 'next' on 2024-01-10 at 71af34de07)
 + ci: add job performing static analysis on GitLab CI

 GitLab CI update.

 Will merge to 'master'.
 source: <1536a5ef07ad24dafb5d685b40099882f89e6cc5.1703761005.git.ps@pks.im>


* ps/prompt-parse-HEAD-futureproof (2024-01-08) 2 commits
  (merged to 'next' on 2024-01-10 at f9515b9d89)
 + git-prompt: stop manually parsing HEAD with unknown ref formats
 + Merge branch 'ps/refstorage-extension' into ps/prompt-parse-HEAD-futureproof

 Futureproof command line prompt support (in contrib/).

 Will merge to 'master'.
 source: <ef4e36a5a40c369da138242a8fdc9e12a846613b.1704356313.git.ps@pks.im>


* ps/reftable-optimize-io (2024-01-11) 5 commits
  (merged to 'next' on 2024-01-12 at 4096e880e0)
 + reftable/blocksource: use mmap to read tables
 + reftable/blocksource: refactor code to match our coding style
 + reftable/stack: use stat info to avoid re-reading stack list
 + reftable/stack: refactor reloading to use file descriptor
 + reftable/stack: refactor stack reloading to have common exit path

 Low-level I/O optimization for reftable.

 Will merge to 'master'.
 source: <cover.1704966670.git.ps@pks.im>


* rj/clarify-branch-doc-m (2024-01-08) 1 commit
  (merged to 'next' on 2024-01-10 at 432eaa2c6b)
 + branch: clarify <oldbranch> term

 Doc update.

 Will merge to 'master'.
 source: <d38e5a18-4d85-48f3-bc8b-8ca02ea683a4@gmail.com>


* tb/fetch-all-configuration (2024-01-08) 1 commit
  (merged to 'next' on 2024-01-12 at 6a05050382)
 + fetch: add new config option fetch.all

 "git fetch" learned to pay attention to "fetch.all" configuration
 variable, which pretends as if "--all" was passed from the command
 line when no remote parameter was given.

 Will merge to 'master'.
 source: <20240108211832.47362-1-dev@tb6.eu>


* rj/advice-disable-how-to-disable (2024-01-15) 1 commit
 - advice: allow disabling the automatic hint in advise_if_enabled()
 (this branch uses rj/advice-delete-branch-not-fully-merged.)

 All conditional "advice" messages show how to turn them off, which
 becomes repetitive.  Add a configuration variable to omit the
 instruction.

 Will requeue with better dependencies before merging to 'next'.
 source: <c870a0b6-9fa8-4d00-a5a6-661ca175805f@gmail.com>


* vd/fsck-submodule-url-test (2024-01-09) 3 commits
 - submodule-config.c: strengthen URL fsck check
 - t7450: test submodule urls
 - submodule-config.h: move check_submodule_url

 Tighten URL checks fsck makes in a URL recorded for submodules.

 Expecting a reroll (and review response).
 cf. <20240110103812.GB16674@coredump.intra.peff.net>
 cf. <ZZ46MrjSocJl-kpU@tanuki>
 source: <pull.1635.git.1704822817.gitgitgadget@gmail.com>


* sd/negotiate-trace-fix (2024-01-03) 1 commit
 - push: region_leave trace for negotiate_using_fetch

 Tracing fix.

 Waiting for a review response.
 cf. <xmqqbka27zu9.fsf@gitster.g>
 source: <20240103224054.1940209-1-delmerico@google.com>


* sk/mingw-owner-check-error-message-improvement (2024-01-10) 1 commit
  (merged to 'next' on 2024-01-12 at 05c56e151b)
 + mingw: give more details about unsafe directory's ownership

 In addition to (rather cryptic) Security Identifiers, show username
 and domain in the error message when we barf on mismatch between
 the Git directory and the current user.

 Will merge to 'master'.
 source: <20240108173837.20480-2-soekkle@freenet.de>


* ps/worktree-refdb-initialization (2024-01-08) 7 commits
 - builtin/worktree: create refdb via ref backend
 - worktree: expose interface to look up worktree by name
 - builtin/worktree: move setup of commondir file earlier
 - refs/files: skip creation of "refs/{heads,tags}" for worktrees
 - setup: move creation of "refs/" into the files backend
 - refs: prepare `refs_init_db()` for initializing worktree refs
 - Merge branch 'ps/refstorage-extension' into ps/worktree-refdb-initialization

 Instead of manually creating refs/ hierarchy on disk upon a
 creation of a secondary worktree, which is only usable via the
 files backend, use the refs API to populate it.

 Will merge to 'next'.
 source: <cover.1704705733.git.ps@pks.im>


* cp/apply-core-filemode (2023-12-26) 3 commits
 - apply: code simplification
 - apply: correctly reverse patch's pre- and post-image mode bits
 - apply: ignore working tree filemode when !core.filemode

 "git apply" on a filesystem without filemode support have learned
 to take a hint from what is in the index for the path, even when
 not working with the "--index" or "--cached" option, when checking
 the executable bit match what is required by the preimage in the
 patch.

 Needs review.
 source: <20231226233218.472054-1-gitster@pobox.com>


* al/unit-test-ctype (2024-01-16) 1 commit
 - unit-tests: rewrite t/helper/test-ctype.c as a unit test

 Move test-ctype helper to the unit-test framework.

 Will merge to 'next'.
 source: <20240112102743.1440-1-ach.lumap@gmail.com>


* bk/bisect-doc-fix (2024-01-10) 2 commits
  (merged to 'next' on 2024-01-12 at bdb3609554)
 + doc: refer to pathspec instead of path
 + doc: use singular form of repeatable path arg

 Synopsis fix.

 Will merge to 'master'.
 source: <20240103040207.661413-1-britton.kerin@gmail.com>


* ja/doc-placeholders-fix (2023-12-26) 2 commits
 - doc: enforce placeholders in documentation
 - doc: enforce dashes in placeholders

 Docfix.

 Needs review.
 source: <pull.1626.git.1703539287.gitgitgadget@gmail.com>


* jc/bisect-doc (2023-12-09) 1 commit
 - bisect: document "terms" subcommand more fully

 Doc update.

 Needs review.
 source: <xmqqzfyjmk02.fsf@gitster.g>


* tb/pair-chunk-expect (2023-11-10) 8 commits
 - midx: read `OOFF` chunk with `pair_chunk_expect()`
 - midx: read `OIDL` chunk with `pair_chunk_expect()`
 - commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 - commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `OIDL` chunk with `pair_chunk_expect()`
 - chunk-format: introduce `pair_chunk_expect()` helper
 - Merge branch 'jk/chunk-bounds-more' into HEAD

 Further code clean-up.

 Needs review.
 source: <cover.1699569246.git.me@ttaylorr.com>


* tb/path-filter-fix (2023-10-18) 17 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Expecting a reroll?
 cf. <20231023202212.GA5470@szeder.dev>
 source: <cover.1697653929.git.me@ttaylorr.com>


* ak/color-decorate-symbols (2023-10-23) 7 commits
 - log: add color.decorate.pseudoref config variable
 - refs: exempt pseudorefs from pattern prefixing
 - refs: add pseudorefs array and iteration functions
 - log: add color.decorate.ref config variable
 - log: add color.decorate.symbol config variable
 - log: use designated inits for decoration_colors
 - config: restructure color.decorate documentation

 A new config for coloring.

 Needs review.
 source: <20231023221143.72489-1-andy.koppe@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2024-01-16) 6 commits
 - transport-helper: call do_take_over() in process_connect
 - transport-helper: call do_take_over() in connect_helper
 - http-backend: new rpc-service for git-upload-archive
 - transport-helper: protocol-v2 supports upload-archive
 - remote-curl: supports git-upload-archive service
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Will merge to 'next'?
 source: <cover.1705411391.git.zhiyou.jx@alibaba-inc.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 23%]

* What's cooking in git.git (Jan 2024, #04; Thu, 11)
@ 2024-01-12  2:00 27% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-01-12  2:00 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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]

* cp/t4129-pipefix (2024-01-10) 1 commit
 - t4129: prevent loss of exit code due to the use of pipes

 Test update.

 Will merge to 'next'.
 source: <pull.1636.git.1704891257544.gitgitgadget@gmail.com>


* rj/advice-delete-branch-not-fully-merged (2024-01-11) 3 commits
 - branch: make the advice to force-deleting a conditional one
 - advice: fix an unexpected leading space
 - advice: sort the advice related lists

 The error message given when "git branch -d branch" fails due to
 commits unique to the branch has been split into an error and a new
 conditional advice message.

 Will merge to 'next'?
 source: <4aedc15c-4b3f-4f5e-abea-581b501600f8@gmail.com>


* en/diffcore-delta-final-line-fix (2024-01-11) 1 commit
 - diffcore-delta: avoid ignoring final 'line' of file

 Rename detection logic ignored the final line of a file if it is an
 incomplete line.

 Expecting a reroll.
 cf. <xmqqedenearc.fsf@gitster.g>
 source: <pull.1637.git.1705006074626.gitgitgadget@gmail.com>


* mj/gitweb-unreadable-config-error (2024-01-10) 1 commit
 - gitweb: die when a configuration file cannot be read

 When given an existing but unreadable file as a configuration file,
 gitweb behaved as if the file did not exist at all, but now it
 errors out.  This is a change that may break backward compatibility.

 Will merge to 'next'?
 source: <20240110225709.30168-1-marcelo.jimenez@gmail.com>


* ps/completion-with-reftable-fix (2024-01-11) 2 commits
 - completion: silence pseudoref existence check
 - t9902: verify that completion does not print anything

 Completion update to prepare for reftable

 Will merge to 'next'.
 source: <cover.1704969119.git.ps@pks.im>


* ps/p4-use-ref-api (2024-01-11) 1 commit
 - git-p4: stop reaching into the refdb

 "git p4" update to prepare for reftable

 Will merge to 'next'.
 source: <33d6a062ec56be33ed50a42a420be0b023f6f4cf.1704980814.git.ps@pks.im>

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

* ps/gitlab-ci-static-analysis (2024-01-08) 1 commit
  (merged to 'next' on 2024-01-10 at 71af34de07)
 + ci: add job performing static analysis on GitLab CI

 GitLab CI update.

 Will merge to 'master'.
 source: <1536a5ef07ad24dafb5d685b40099882f89e6cc5.1703761005.git.ps@pks.im>


* ps/prompt-parse-HEAD-futureproof (2024-01-08) 2 commits
  (merged to 'next' on 2024-01-10 at f9515b9d89)
 + git-prompt: stop manually parsing HEAD with unknown ref formats
 + Merge branch 'ps/refstorage-extension' into ps/prompt-parse-HEAD-futureproof
 (this branch uses ps/refstorage-extension.)

 Futureproof command line prompt support (in contrib/).

 Will merge to 'master'.
 source: <ef4e36a5a40c369da138242a8fdc9e12a846613b.1704356313.git.ps@pks.im>


* ps/reftable-optimize-io (2024-01-11) 5 commits
 - reftable/blocksource: use mmap to read tables
 - reftable/blocksource: refactor code to match our coding style
 - reftable/stack: use stat info to avoid re-reading stack list
 - reftable/stack: refactor reloading to use file descriptor
 - reftable/stack: refactor stack reloading to have common exit path

 Low-level I/O optimization for reftable.

 Will merge to 'next'.
 source: <cover.1704966670.git.ps@pks.im>


* rj/clarify-branch-doc-m (2024-01-08) 1 commit
  (merged to 'next' on 2024-01-10 at 432eaa2c6b)
 + branch: clarify <oldbranch> term

 Doc update.

 Will merge to 'master'.
 source: <d38e5a18-4d85-48f3-bc8b-8ca02ea683a4@gmail.com>


* tb/fetch-all-configuration (2024-01-08) 1 commit
 - fetch: add new config option fetch.all

 "git fetch" learned to pay attention to "fetch.all" configuration
 variable, which pretends as if "--all" was passed from the command
 line when no remote parameter was given.

 Will merge to 'next'.
 source: <20240108211832.47362-1-dev@tb6.eu>


* rj/advice-disable-how-to-disable (2024-01-09) 3 commits
 - advice: allow disabling the automatic hint in advise_if_enabled()
 - t/test-tool: handle -c <name>=<value> arguments
 - t/test-tool: usage description

 All conditional "advice" messages show how to turn them off, which
 becomes repetitive.  Add a configuration variable to omit the
 instruction.

 Expecting a reroll.
 cf. <ZZ2QafUf/JxXYZU/@nand.local>
 source: <7c68392c-af2f-4999-ae64-63221bf7833a@gmail.com>


* vd/fsck-submodule-url-test (2024-01-09) 3 commits
 - submodule-config.c: strengthen URL fsck check
 - t7450: test submodule urls
 - submodule-config.h: move check_submodule_url

 Tighten URL checks fsck makes in a URL recorded for submodules.

 Expecting a reroll (and review response).
 cf. <20240110103812.GB16674@coredump.intra.peff.net>
 cf. <ZZ46MrjSocJl-kpU@tanuki>
 source: <pull.1635.git.1704822817.gitgitgadget@gmail.com>


* ms/rebase-insnformat-doc-fix (2024-01-03) 1 commit
  (merged to 'next' on 2024-01-04 at d68f2be39b)
 + Documentation: fix statement about rebase.instructionFormat

 Docfix.

 Will merge to 'master'.
 source: <pull.1629.git.git.1704305663254.gitgitgadget@gmail.com>


* cp/git-flush-is-an-env-bool (2024-01-04) 1 commit
  (merged to 'next' on 2024-01-04 at b435a96ce8)
 + write-or-die: make GIT_FLUSH a Boolean environment variable

 Unlike other environment variables that took the usual
 true/false/yes/no as well as 0/1, GIT_FLUSH only understood 0/1,
 which has been corrected.

 Will merge to 'master'.
 source: <pull.1628.v3.git.1704363617842.gitgitgadget@gmail.com>


* sd/negotiate-trace-fix (2024-01-03) 1 commit
 - push: region_leave trace for negotiate_using_fetch

 Tracing fix.

 Waiting for a review response.
 cf. <xmqqbka27zu9.fsf@gitster.g>
 source: <20240103224054.1940209-1-delmerico@google.com>


* sk/mingw-owner-check-error-message-improvement (2024-01-10) 1 commit
 - mingw: give more details about unsafe directory's ownership

 In addition to (rather cryptic) Security Identifiers, show username
 and domain in the error message when we barf on mismatch between
 the Git directory and the current user.

 Will merge to 'next'.
 source: <20240108173837.20480-2-soekkle@freenet.de>


* ib/rebase-reschedule-doc (2024-01-05) 1 commit
  (merged to 'next' on 2024-01-08 at d451d1f760)
 + rebase: clarify --reschedule-failed-exec default

 Doc update.

 Will merge to 'master'.
 source: <20240105011424.1443732-2-illia.bobyr@gmail.com>


* jk/commit-graph-slab-clear-fix (2024-01-05) 1 commit
  (merged to 'next' on 2024-01-08 at f78c4fc296)
 + commit-graph: retain commit slab when closing NULL commit_graph

 Clearing in-core repository (happens during e.g., "git fetch
 --recurse-submodules" with commit graph enabled) made in-core
 commit object in an inconsistent state by discarding the necessary
 data from commit-graph too early, which has been corrected.

 Will merge to 'master'.
 source: <20240105054142.GA2035092@coredump.intra.peff.net>


* jk/index-pack-lsan-false-positive-fix (2024-01-05) 1 commit
  (merged to 'next' on 2024-01-08 at 589ed65251)
 + index-pack: spawn threads atomically

 Fix false positive reported by leak sanitizer.

 Will merge to 'master'.
 source: <20240105085034.GA3078476@coredump.intra.peff.net>


* cp/sideband-array-index-comment-fix (2023-12-28) 1 commit
  (merged to 'next' on 2024-01-08 at f906bc86f1)
 + sideband.c: remove redundant 'NEEDSWORK' tag

 In-code comment fix.

 Will merge to 'master'.
 source: <pull.1625.v4.git.1703750460527.gitgitgadget@gmail.com>


* ps/worktree-refdb-initialization (2024-01-08) 7 commits
 - builtin/worktree: create refdb via ref backend
 - worktree: expose interface to look up worktree by name
 - builtin/worktree: move setup of commondir file earlier
 - refs/files: skip creation of "refs/{heads,tags}" for worktrees
 - setup: move creation of "refs/" into the files backend
 - refs: prepare `refs_init_db()` for initializing worktree refs
 - Merge branch 'ps/refstorage-extension' into ps/worktree-refdb-initialization
 (this branch uses ps/refstorage-extension.)

 Instead of manually creating refs/ hierarchy on disk upon a
 creation of a secondary worktree, which is only usable via the
 files backend, use the refs API to populate it.

 Needs review.
 source: <cover.1704705733.git.ps@pks.im>


* cp/apply-core-filemode (2023-12-26) 3 commits
 - apply: code simplification
 - apply: correctly reverse patch's pre- and post-image mode bits
 - apply: ignore working tree filemode when !core.filemode

 "git apply" on a filesystem without filemode support have learned
 to take a hint from what is in the index for the path, even when
 not working with the "--index" or "--cached" option, when checking
 the executable bit match what is required by the preimage in the
 patch.

 Needs review.
 source: <20231226233218.472054-1-gitster@pobox.com>


* jk/t1006-cat-file-objectsize-disk (2024-01-03) 2 commits
  (merged to 'next' on 2024-01-03 at a492c6355c)
 + t1006: prefer shell loop to awk for packed object sizes
  (merged to 'next' on 2023-12-28 at d82812e636)
 + t1006: add tests for %(objectsize:disk)

 Test update.

 Will merge to 'master'.
 source: <20231221094722.GA570888@coredump.intra.peff.net>
 source: <20240103090152.GB1866508@coredump.intra.peff.net>


* js/contributor-docs-updates (2023-12-27) 9 commits
  (merged to 'next' on 2024-01-02 at 0e072117cd)
 + SubmittingPatches: hyphenate non-ASCII
 + SubmittingPatches: clarify GitHub artifact format
 + SubmittingPatches: clarify GitHub visual
 + SubmittingPatches: provide tag naming advice
 + SubmittingPatches: update extra tags list
 + SubmittingPatches: discourage new trailers
 + SubmittingPatches: drop ref to "What's in git.git"
 + CodingGuidelines: write punctuation marks
 + CodingGuidelines: move period inside parentheses

 Doc update.

 Will merge to 'master'.
 source: <pull.1623.v3.git.1703739324.gitgitgadget@gmail.com>


* al/unit-test-ctype (2024-01-05) 1 commit
 - unit-tests: rewrite t/helper/test-ctype.c as a unit test

 Move test-ctype helper to the unit-test framework.

 Expecting a (hopefully small and final) reroll.
 cf. <a087f57c-ce72-45c7-8182-f38d0aca9030@web.de>
 cf. <33c81610-0958-49da-b702-ba8d96ecf1d3@gmail.com>
 source: <20240105161413.10422-1-ach.lumap@gmail.com>


* bk/bisect-doc-fix (2024-01-10) 2 commits
 - doc: refer to pathspec instead of path
 - doc: use singular form of repeatable path arg

 Synopsis fix.

 Will merge to 'next'.
 source: <20240103040207.661413-1-britton.kerin@gmail.com>


* ja/doc-placeholders-fix (2023-12-26) 2 commits
 - doc: enforce placeholders in documentation
 - doc: enforce dashes in placeholders

 Docfix.

 Needs review.
 source: <pull.1626.git.1703539287.gitgitgadget@gmail.com>


* ps/refstorage-extension (2024-01-02) 13 commits
  (merged to 'next' on 2024-01-08 at f9a034803b)
 + t9500: write "extensions.refstorage" into config
 + builtin/clone: introduce `--ref-format=` value flag
 + builtin/init: introduce `--ref-format=` value flag
 + builtin/rev-parse: introduce `--show-ref-format` flag
 + t: introduce GIT_TEST_DEFAULT_REF_FORMAT envvar
 + setup: introduce GIT_DEFAULT_REF_FORMAT envvar
 + setup: introduce "extensions.refStorage" extension
 + setup: set repository's formats on init
 + setup: start tracking ref storage format
 + refs: refactor logic to look up storage backends
 + worktree: skip reading HEAD when repairing worktrees
 + t: introduce DEFAULT_REPO_FORMAT prereq
 + Merge branch 'ps/clone-into-reftable-repository' into ps/refstorage-extension
 (this branch is used by ps/prompt-parse-HEAD-futureproof and ps/worktree-refdb-initialization.)

 Introduce a new extension "refstorage" so that we can mark a
 repository that uses a non-default ref backend, like reftable.

 Will merge to 'master'.
 source: <cover.1703833818.git.ps@pks.im>


* ps/reftable-fixes-and-optims (2024-01-03) 9 commits
  (merged to 'next' on 2024-01-08 at 167d7685f8)
 + reftable/merged: transfer ownership of records when iterating
 + reftable/merged: really reuse buffers to compute record keys
 + reftable/record: store "val2" hashes as static arrays
 + reftable/record: store "val1" hashes as static arrays
 + reftable/record: constify some parts of the interface
 + reftable/writer: fix index corruption when writing multiple indices
 + reftable/stack: do not auto-compact twice in `reftable_stack_add()`
 + reftable/stack: do not overwrite errors when compacting
 + Merge branch 'ps/reftable-fixes' into ps/reftable-fixes-and-optims

 More fixes and optimizations to the reftable backend.

 Will merge to 'master'.
 source: <cover.1704262787.git.ps@pks.im>


* tb/multi-pack-verbatim-reuse (2023-12-14) 26 commits
  (merged to 'next' on 2024-01-04 at 891ac0fa2c)
 + t/perf: add performance tests for multi-pack reuse
 + pack-bitmap: enable reuse from all bitmapped packs
 + pack-objects: allow setting `pack.allowPackReuse` to "single"
 + t/test-lib-functions.sh: implement `test_trace2_data` helper
 + pack-objects: add tracing for various packfile metrics
 + pack-bitmap: prepare to mark objects from multiple packs for reuse
 + pack-revindex: implement `midx_pair_to_pack_pos()`
 + pack-revindex: factor out `midx_key_to_pack_pos()` helper
 + midx: implement `midx_preferred_pack()`
 + git-compat-util.h: implement checked size_t to uint32_t conversion
 + pack-objects: include number of packs reused in output
 + pack-objects: prepare `write_reused_pack_verbatim()` for multi-pack reuse
 + pack-objects: prepare `write_reused_pack()` for multi-pack reuse
 + pack-objects: pass `bitmapped_pack`'s to pack-reuse functions
 + pack-objects: keep track of `pack_start` for each reuse pack
 + pack-objects: parameterize pack-reuse routines over a single pack
 + pack-bitmap: return multiple packs via `reuse_partial_packfile_from_bitmap()`
 + pack-bitmap: simplify `reuse_partial_packfile_from_bitmap()` signature
 + ewah: implement `bitmap_is_empty()`
 + pack-bitmap: pass `bitmapped_pack` struct to pack-reuse functions
 + midx: implement `midx_locate_pack()`
 + midx: implement `BTMP` chunk
 + midx: factor out `fill_pack_info()`
 + pack-bitmap: plug leak in find_objects()
 + pack-bitmap-write: deep-clear the `bb_commit` slab
 + pack-objects: free packing_data in more places

 Streaming spans of packfile data used to be done only from a
 single, primary, pack in a repository with multiple packfiles.  It
 has been extended to allow reuse from other packfiles, too.

 Will merge to 'master'.
 cf. <ZXurD1NTZ4TAs7WZ@nand.local>
 source: <cover.1702592603.git.me@ttaylorr.com>


* jc/bisect-doc (2023-12-09) 1 commit
 - bisect: document "terms" subcommand more fully

 Doc update.

 Needs review.
 source: <xmqqzfyjmk02.fsf@gitster.g>


* jw/builtin-objectmode-attr (2023-12-28) 1 commit
  (merged to 'next' on 2024-01-02 at 4c3784b3a1)
 + attr: add builtin objectmode values support

 The builtin_objectmode attribute is populated for each path
 without adding anything in .gitattributes files, which would be
 useful in magic pathspec, e.g., ":(attr:builtin_objectmode=100755)"
 to limit to executables.

 Will merge to 'master'.
 cf. <xmqq5y0ssknj.fsf@gitster.g>
 source: <20231116054437.2343549-1-jojwang@google.com>


* tb/pair-chunk-expect (2023-11-10) 8 commits
 - midx: read `OOFF` chunk with `pair_chunk_expect()`
 - midx: read `OIDL` chunk with `pair_chunk_expect()`
 - commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 - commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `OIDL` chunk with `pair_chunk_expect()`
 - chunk-format: introduce `pair_chunk_expect()` helper
 - Merge branch 'jk/chunk-bounds-more' into HEAD

 Further code clean-up.

 Needs review.
 source: <cover.1699569246.git.me@ttaylorr.com>


* tb/path-filter-fix (2023-10-18) 17 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Expecting a reroll?
 cf. <20231023202212.GA5470@szeder.dev>
 source: <cover.1697653929.git.me@ttaylorr.com>


* ak/color-decorate-symbols (2023-10-23) 7 commits
 - log: add color.decorate.pseudoref config variable
 - refs: exempt pseudorefs from pattern prefixing
 - refs: add pseudorefs array and iteration functions
 - log: add color.decorate.ref config variable
 - log: add color.decorate.symbol config variable
 - log: use designated inits for decoration_colors
 - config: restructure color.decorate documentation

 A new config for coloring.

 Needs review.
 source: <20231023221143.72489-1-andy.koppe@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2023-12-14) 4 commits
 - archive: support remote archive from stateless transport
 - transport-helper: call do_take_over() in connect_helper
 - transport-helper: call do_take_over() in process_connect
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Needs review.
 source: <cover.1702562879.git.zhiyou.jx@alibaba-inc.com>


* jx/sideband-chomp-newline-fix (2023-12-18) 3 commits
  (merged to 'next' on 2024-01-04 at 1237898a22)
 + pkt-line: do not chomp newlines for sideband messages
 + pkt-line: memorize sideband fragment in reader
 + test-pkt-line: add option parser for unpack-sideband

 Sideband demultiplexer fixes.

 Will merge to 'master'.
 source: <cover.1702823801.git.zhiyou.jx@alibaba-inc.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


^ permalink raw reply	[relevance 27%]

* What's cooking in git.git (Jan 2024, #03; Tue, 9)
@ 2024-01-10  0:17 26% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-01-10  0:17 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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']

* en/header-cleanup (2023-12-26) 12 commits
  (merged to 'next' on 2023-12-28 at 1ccddc2a10)
 + treewide: remove unnecessary includes in source files
 + treewide: add direct includes currently only pulled in transitively
 + trace2/tr2_tls.h: remove unnecessary include
 + submodule-config.h: remove unnecessary include
 + pkt-line.h: remove unnecessary include
 + line-log.h: remove unnecessary include
 + http.h: remove unnecessary include
 + fsmonitor--daemon.h: remove unnecessary includes
 + blame.h: remove unnecessary includes
 + archive.h: remove unnecessary include
 + treewide: remove unnecessary includes in source files
 + treewide: remove unnecessary includes from header files

 Remove unused header "#include".
 source: <pull.1617.v2.git.1703351700.gitgitgadget@gmail.com>


* en/sparse-checkout-eoo (2023-12-26) 2 commits
  (merged to 'next' on 2023-12-28 at 3ddf2ebab6)
 + sparse-checkout: be consistent with end of options markers
 + Merge branch 'jk/end-of-options' into jc/sparse-checkout-set-add-end-of-options

 "git sparse-checkout (add|set) --[no-]cone --end-of-options" did
 not handle "--end-of-options" correctly after a recent update.
 source: <pull.1625.v2.git.git.1703619562639.gitgitgadget@gmail.com>


* jc/archive-list-with-extra-args (2023-12-21) 1 commit
  (merged to 'next' on 2023-12-28 at 2d5c20e67f)
 + archive: "--list" does not take further options

 "git archive --list extra garbage" silently ignored excess command
 line parameters, which has been corrected.
 source: <xmqqmsu3mnix.fsf@gitster.g>


* jc/sparse-checkout-set-default-fix (2023-12-26) 1 commit
  (merged to 'next' on 2023-12-28 at a558eccf8e)
 + sparse-checkout: use default patterns for 'set' only !stdin

 "git sparse-checkout set" added default patterns even when the
 patterns are being fed from the standard input, which has been
 corrected.
 source: <20231221065925.3234048-3-gitster@pobox.com>


* ml/doc-merge-updates (2023-12-20) 2 commits
  (merged to 'next' on 2023-12-28 at 7a6329a219)
 + Documentation/git-merge.txt: use backticks for command wrapping
 + Documentation/git-merge.txt: fix reference to synopsis

 Doc update.
 source: <20231220195342.17590-1-mi.al.lohmann@gmail.com>


* rs/fast-import-simplify-mempool-allocation (2023-12-26) 1 commit
  (merged to 'next' on 2023-12-28 at 16e6dd2a69)
 + fast-import: use mem_pool_calloc()

 Code simplification.
 source: <50c1f410-ca37-4c1c-a28b-3e9fad49f2b4@web.de>


* rs/mem-pool-improvements (2023-12-28) 2 commits
  (merged to 'next' on 2023-12-28 at aa03d9441c)
 + mem-pool: simplify alignment calculation
 + mem-pool: fix big allocations

 MemPool allocator fixes.
 source: <fa89d269-1a23-4ed6-bebc-30c0b629f444@web.de>

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

* ps/gitlab-ci-static-analysis (2024-01-08) 1 commit
 - ci: add job performing static analysis on GitLab CI

 GitLab CI update.

 Will merge to 'next'.
 source: <1536a5ef07ad24dafb5d685b40099882f89e6cc5.1703761005.git.ps@pks.im>


* ps/prompt-parse-HEAD-futureproof (2024-01-08) 2 commits
 - git-prompt: stop manually parsing HEAD with unknown ref formats
 - Merge branch 'ps/refstorage-extension' into ps/prompt-parse-HEAD-futureproof
 (this branch uses ps/refstorage-extension.)

 Futureproof command line prompt support (in contrib/).

 Will merge to 'next'.
 source: <ef4e36a5a40c369da138242a8fdc9e12a846613b.1704356313.git.ps@pks.im>


* ps/reftable-optimize-io (2024-01-08) 4 commits
 - reftable/blocksource: use mmap to read tables
 - reftable/stack: use stat info to avoid re-reading stack list
 - reftable/stack: refactor reloading to use file descriptor
 - reftable/stack: refactor stack reloading to have common exit path

 Low-level I/O optimization for reftable.

 Will merge to 'next'?
 source: <cover.1704714575.git.ps@pks.im>


* rj/clarify-branch-doc-m (2024-01-08) 1 commit
 - branch: clarify <oldbranch> term

 Doc update.

 Will merge to 'next'.
 source: <d38e5a18-4d85-48f3-bc8b-8ca02ea683a4@gmail.com>


* tb/fetch-all-configuration (2024-01-08) 1 commit
 - fetch: add new config option fetch.all

 "git fetch" learned to pay attention to "fetch.all" configuration
 variable, which pretends as if "--all" was passed from the command
 line when no remote parameter was given.

 Will merge to 'next'.
 source: <20240108211832.47362-1-dev@tb6.eu>


* rj/advice-disable-how-to-disable (2024-01-09) 3 commits
 - advice: allow disabling the automatic hint in advise_if_enabled()
 - t/test-tool: handle -c <name>=<value> arguments
 - t/test-tool: usage description

 All conditional "advice" messages show how to turn them off, which
 becomes repetitive.  Add a configuration variable to omit the
 instruction.

 Expecting a reroll.
 cf. <ZZ2QafUf/JxXYZU/@nand.local>
 source: <7c68392c-af2f-4999-ae64-63221bf7833a@gmail.com>


* vd/fsck-submodule-url-test (2024-01-09) 3 commits
 - submodule-config.c: strengthen URL fsck check
 - t7450: test submodule urls
 - submodule-config.h: move check_submodule_url

 Tighten URL checks fsck makes in a URL recorded for submodules.

 Will merge to 'next'?
 source: <pull.1635.git.1704822817.gitgitgadget@gmail.com>

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

* ms/rebase-insnformat-doc-fix (2024-01-03) 1 commit
  (merged to 'next' on 2024-01-04 at d68f2be39b)
 + Documentation: fix statement about rebase.instructionFormat

 Docfix.

 Will merge to 'master'.
 source: <pull.1629.git.git.1704305663254.gitgitgadget@gmail.com>


* cp/git-flush-is-an-env-bool (2024-01-04) 1 commit
  (merged to 'next' on 2024-01-04 at b435a96ce8)
 + write-or-die: make GIT_FLUSH a Boolean environment variable

 Unlike other environment variables that took the usual
 true/false/yes/no as well as 0/1, GIT_FLUSH only understood 0/1,
 which has been corrected.

 Will merge to 'master'.
 source: <pull.1628.v3.git.1704363617842.gitgitgadget@gmail.com>


* sd/negotiate-trace-fix (2024-01-03) 1 commit
 - push: region_leave trace for negotiate_using_fetch

 Tracing fix.

 Waiting for a review response.
 cf. <xmqqbka27zu9.fsf@gitster.g>
 source: <20240103224054.1940209-1-delmerico@google.com>


* sk/mingw-owner-check-error-message-improvement (2024-01-08) 1 commit
 - mingw: give more details about unsafe directory's ownership

 In addition to (rather cryptic) Security Identifiers, show username
 and domain in the error message when we barf on mismatch between
 the Git directory and the current user.

 Will merge to 'next'?
 source: <20240108173837.20480-2-soekkle@freenet.de>


* ib/rebase-reschedule-doc (2024-01-05) 1 commit
  (merged to 'next' on 2024-01-08 at d451d1f760)
 + rebase: clarify --reschedule-failed-exec default

 Doc update.

 Will merge to 'master'.
 source: <20240105011424.1443732-2-illia.bobyr@gmail.com>


* jk/commit-graph-slab-clear-fix (2024-01-05) 1 commit
  (merged to 'next' on 2024-01-08 at f78c4fc296)
 + commit-graph: retain commit slab when closing NULL commit_graph

 Clearing in-core repository (happens during e.g., "git fetch
 --recurse-submodules" with commit graph enabled) made in-core
 commit object in an inconsistent state by discarding the necessary
 data from commit-graph too early, which has been corrected.

 Will merge to 'master'.
 source: <20240105054142.GA2035092@coredump.intra.peff.net>


* jk/index-pack-lsan-false-positive-fix (2024-01-05) 1 commit
  (merged to 'next' on 2024-01-08 at 589ed65251)
 + index-pack: spawn threads atomically

 Fix false positive reported by leak sanitizer.

 Will merge to 'master'.
 source: <20240105085034.GA3078476@coredump.intra.peff.net>


* cp/sideband-array-index-comment-fix (2023-12-28) 1 commit
  (merged to 'next' on 2024-01-08 at f906bc86f1)
 + sideband.c: remove redundant 'NEEDSWORK' tag

 In-code comment fix.

 Will merge to 'master'.
 source: <pull.1625.v4.git.1703750460527.gitgitgadget@gmail.com>


* ps/worktree-refdb-initialization (2024-01-08) 7 commits
 - builtin/worktree: create refdb via ref backend
 - worktree: expose interface to look up worktree by name
 - builtin/worktree: move setup of commondir file earlier
 - refs/files: skip creation of "refs/{heads,tags}" for worktrees
 - setup: move creation of "refs/" into the files backend
 - refs: prepare `refs_init_db()` for initializing worktree refs
 - Merge branch 'ps/refstorage-extension' into ps/worktree-refdb-initialization
 (this branch uses ps/refstorage-extension.)

 Instead of manually creating refs/ hierarchy on disk upon a
 creation of a secondary worktree, which is only usable via the
 files backend, use the refs API to populate it.
 source: <cover.1704705733.git.ps@pks.im>


* cp/apply-core-filemode (2023-12-26) 3 commits
 - apply: code simplification
 - apply: correctly reverse patch's pre- and post-image mode bits
 - apply: ignore working tree filemode when !core.filemode

 "git apply" on a filesystem without filemode support have learned
 to take a hint from what is in the index for the path, even when
 not working with the "--index" or "--cached" option, when checking
 the executable bit match what is required by the preimage in the
 patch.

 Needs review.
 source: <20231226233218.472054-1-gitster@pobox.com>


* jk/t1006-cat-file-objectsize-disk (2024-01-03) 2 commits
  (merged to 'next' on 2024-01-03 at a492c6355c)
 + t1006: prefer shell loop to awk for packed object sizes
  (merged to 'next' on 2023-12-28 at d82812e636)
 + t1006: add tests for %(objectsize:disk)

 Test update.

 Will merge to 'master'.
 source: <20231221094722.GA570888@coredump.intra.peff.net>
 source: <20240103090152.GB1866508@coredump.intra.peff.net>


* js/contributor-docs-updates (2023-12-27) 9 commits
  (merged to 'next' on 2024-01-02 at 0e072117cd)
 + SubmittingPatches: hyphenate non-ASCII
 + SubmittingPatches: clarify GitHub artifact format
 + SubmittingPatches: clarify GitHub visual
 + SubmittingPatches: provide tag naming advice
 + SubmittingPatches: update extra tags list
 + SubmittingPatches: discourage new trailers
 + SubmittingPatches: drop ref to "What's in git.git"
 + CodingGuidelines: write punctuation marks
 + CodingGuidelines: move period inside parentheses

 Doc update.

 Will merge to 'master'.
 source: <pull.1623.v3.git.1703739324.gitgitgadget@gmail.com>


* al/unit-test-ctype (2024-01-05) 1 commit
 - unit-tests: rewrite t/helper/test-ctype.c as a unit test

 Move test-ctype helper to the unit-test framework.

 Almost there.
 cf. <a087f57c-ce72-45c7-8182-f38d0aca9030@web.de>
 cf. <33c81610-0958-49da-b702-ba8d96ecf1d3@gmail.com>
 source: <20240105161413.10422-1-ach.lumap@gmail.com>


* bk/bisect-doc-fix (2023-12-27) 1 commit
 - doc: use singular form of repeatable path arg

 Synopsis fix.

 Expecting a reroll.
 source: <3d46bca1-96d4-43ba-a912-1f7c76942287@smtp-relay.sendinblue.com>


* ja/doc-placeholders-fix (2023-12-26) 2 commits
 - doc: enforce placeholders in documentation
 - doc: enforce dashes in placeholders

 Docfix.

 Needs review.
 source: <pull.1626.git.1703539287.gitgitgadget@gmail.com>


* ps/refstorage-extension (2024-01-02) 13 commits
  (merged to 'next' on 2024-01-08 at f9a034803b)
 + t9500: write "extensions.refstorage" into config
 + builtin/clone: introduce `--ref-format=` value flag
 + builtin/init: introduce `--ref-format=` value flag
 + builtin/rev-parse: introduce `--show-ref-format` flag
 + t: introduce GIT_TEST_DEFAULT_REF_FORMAT envvar
 + setup: introduce GIT_DEFAULT_REF_FORMAT envvar
 + setup: introduce "extensions.refStorage" extension
 + setup: set repository's formats on init
 + setup: start tracking ref storage format
 + refs: refactor logic to look up storage backends
 + worktree: skip reading HEAD when repairing worktrees
 + t: introduce DEFAULT_REPO_FORMAT prereq
 + Merge branch 'ps/clone-into-reftable-repository' into ps/refstorage-extension
 (this branch is used by ps/prompt-parse-HEAD-futureproof and ps/worktree-refdb-initialization.)

 Introduce a new extension "refstorage" so that we can mark a
 repository that uses a non-default ref backend, like reftable.

 Will merge to 'master'.
 source: <cover.1703833818.git.ps@pks.im>


* ps/reftable-fixes-and-optims (2024-01-03) 9 commits
  (merged to 'next' on 2024-01-08 at 167d7685f8)
 + reftable/merged: transfer ownership of records when iterating
 + reftable/merged: really reuse buffers to compute record keys
 + reftable/record: store "val2" hashes as static arrays
 + reftable/record: store "val1" hashes as static arrays
 + reftable/record: constify some parts of the interface
 + reftable/writer: fix index corruption when writing multiple indices
 + reftable/stack: do not auto-compact twice in `reftable_stack_add()`
 + reftable/stack: do not overwrite errors when compacting
 + Merge branch 'ps/reftable-fixes' into ps/reftable-fixes-and-optims

 More fixes and optimizations to the reftable backend.

 Will merge to 'master'.
 source: <cover.1704262787.git.ps@pks.im>


* tb/multi-pack-verbatim-reuse (2023-12-14) 26 commits
  (merged to 'next' on 2024-01-04 at 891ac0fa2c)
 + t/perf: add performance tests for multi-pack reuse
 + pack-bitmap: enable reuse from all bitmapped packs
 + pack-objects: allow setting `pack.allowPackReuse` to "single"
 + t/test-lib-functions.sh: implement `test_trace2_data` helper
 + pack-objects: add tracing for various packfile metrics
 + pack-bitmap: prepare to mark objects from multiple packs for reuse
 + pack-revindex: implement `midx_pair_to_pack_pos()`
 + pack-revindex: factor out `midx_key_to_pack_pos()` helper
 + midx: implement `midx_preferred_pack()`
 + git-compat-util.h: implement checked size_t to uint32_t conversion
 + pack-objects: include number of packs reused in output
 + pack-objects: prepare `write_reused_pack_verbatim()` for multi-pack reuse
 + pack-objects: prepare `write_reused_pack()` for multi-pack reuse
 + pack-objects: pass `bitmapped_pack`'s to pack-reuse functions
 + pack-objects: keep track of `pack_start` for each reuse pack
 + pack-objects: parameterize pack-reuse routines over a single pack
 + pack-bitmap: return multiple packs via `reuse_partial_packfile_from_bitmap()`
 + pack-bitmap: simplify `reuse_partial_packfile_from_bitmap()` signature
 + ewah: implement `bitmap_is_empty()`
 + pack-bitmap: pass `bitmapped_pack` struct to pack-reuse functions
 + midx: implement `midx_locate_pack()`
 + midx: implement `BTMP` chunk
 + midx: factor out `fill_pack_info()`
 + pack-bitmap: plug leak in find_objects()
 + pack-bitmap-write: deep-clear the `bb_commit` slab
 + pack-objects: free packing_data in more places

 Streaming spans of packfile data used to be done only from a
 single, primary, pack in a repository with multiple packfiles.  It
 has been extended to allow reuse from other packfiles, too.

 Will merge to 'master'.
 cf. <ZXurD1NTZ4TAs7WZ@nand.local>
 source: <cover.1702592603.git.me@ttaylorr.com>


* jc/bisect-doc (2023-12-09) 1 commit
 - bisect: document "terms" subcommand more fully

 Doc update.

 Needs review.
 source: <xmqqzfyjmk02.fsf@gitster.g>


* jw/builtin-objectmode-attr (2023-12-28) 1 commit
  (merged to 'next' on 2024-01-02 at 4c3784b3a1)
 + attr: add builtin objectmode values support

 The builtin_objectmode attribute is populated for each path
 without adding anything in .gitattributes files, which would be
 useful in magic pathspec, e.g., ":(attr:builtin_objectmode=100755)"
 to limit to executables.

 Will merge to 'master'.
 cf. <xmqq5y0ssknj.fsf@gitster.g>
 source: <20231116054437.2343549-1-jojwang@google.com>


* tb/pair-chunk-expect (2023-11-10) 8 commits
 - midx: read `OOFF` chunk with `pair_chunk_expect()`
 - midx: read `OIDL` chunk with `pair_chunk_expect()`
 - commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 - commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `OIDL` chunk with `pair_chunk_expect()`
 - chunk-format: introduce `pair_chunk_expect()` helper
 - Merge branch 'jk/chunk-bounds-more' into HEAD

 Further code clean-up.

 Needs review.
 source: <cover.1699569246.git.me@ttaylorr.com>


* tb/path-filter-fix (2023-10-18) 17 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Expecting a reroll?
 cf. <20231023202212.GA5470@szeder.dev>
 source: <cover.1697653929.git.me@ttaylorr.com>


* ak/color-decorate-symbols (2023-10-23) 7 commits
 - log: add color.decorate.pseudoref config variable
 - refs: exempt pseudorefs from pattern prefixing
 - refs: add pseudorefs array and iteration functions
 - log: add color.decorate.ref config variable
 - log: add color.decorate.symbol config variable
 - log: use designated inits for decoration_colors
 - config: restructure color.decorate documentation

 A new config for coloring.

 Needs review.
 source: <20231023221143.72489-1-andy.koppe@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2023-12-14) 4 commits
 - archive: support remote archive from stateless transport
 - transport-helper: call do_take_over() in connect_helper
 - transport-helper: call do_take_over() in process_connect
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Needs review.
 source: <cover.1702562879.git.zhiyou.jx@alibaba-inc.com>


* jx/sideband-chomp-newline-fix (2023-12-18) 3 commits
  (merged to 'next' on 2024-01-04 at 1237898a22)
 + pkt-line: do not chomp newlines for sideband messages
 + pkt-line: memorize sideband fragment in reader
 + test-pkt-line: add option parser for unpack-sideband

 Sideband demultiplexer fixes.

 Will merge to 'master'.
 source: <cover.1702823801.git.zhiyou.jx@alibaba-inc.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>

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

* jc/sparse-checkout-eoo (2023-12-21) 4 commits
 . sparse-checkout: tighten add_patterns_from_input()
 . sparse-checkout: use default patterns for 'set' only !stdin
 . SQUASH??? end-of-options test
 . sparse-checkout: take care of "--end-of-options" in set/add/check-rules

 "git sparse-checkout (add|set) --[no-]cone --end-of-options" did
 not handle "--end-of-options" correctly after a recent update.

 Superseded by the en/sparse-checkout-eoo topic.
 source: <20231221065925.3234048-1-gitster@pobox.com>


* tb/merge-tree-write-pack (2023-10-23) 5 commits
 . builtin/merge-tree.c: implement support for `--write-pack`
 . bulk-checkin: introduce `index_tree_bulk_checkin_incore()`
 . bulk-checkin: introduce `index_blob_bulk_checkin_incore()`
 . bulk-checkin: generify `stream_blob_to_pack()` for arbitrary types
 . bulk-checkin: extract abstract `bulk_checkin_source`

 "git merge-tree" learned "--write-pack" to record its result
 without creating loose objects.

 Broken when an object created during a merge is needed to continue merge
 cf. <CABPp-BEfy9VOvimP9==ry_rZXu=metOQ8s=_-XiG_Pdx9c06Ww@mail.gmail.com>
 cf. <ZZWOtnP2IHNldcy6@nand.local>
 source: <cover.1698101088.git.me@ttaylorr.com>


^ permalink raw reply	[relevance 26%]

* What's cooking in git.git (Jan 2024, #02; Fri, 5)
@ 2024-01-06  1:13 28% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-01-06  1:13 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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]

* ms/rebase-insnformat-doc-fix (2024-01-03) 1 commit
  (merged to 'next' on 2024-01-04 at d68f2be39b)
 + Documentation: fix statement about rebase.instructionFormat

 Docfix.

 Will merge to 'master'.
 source: <pull.1629.git.git.1704305663254.gitgitgadget@gmail.com>


* cp/git-flush-is-an-env-bool (2024-01-04) 1 commit
  (merged to 'next' on 2024-01-04 at b435a96ce8)
 + write-or-die: make GIT_FLUSH a Boolean environment variable

 Unlike other environment variables that took the usual
 true/false/yes/no as well as 0/1, GIT_FLUSH only understood 0/1,
 which has been corrected.

 Will merge to 'master'.
 source: <pull.1628.v3.git.1704363617842.gitgitgadget@gmail.com>


* sd/negotiate-trace-fix (2024-01-03) 1 commit
 - push: region_leave trace for negotiate_using_fetch

 Tracing fix.

 Waiting for a review response.
 cf. <xmqqbka27zu9.fsf@gitster.g>
 source: <20240103224054.1940209-1-delmerico@google.com>


* sk/mingw-owner-check-error-message-improvement (2024-01-04) 1 commit
 - mingw: give more details about unsafe directory's ownership

 In addition to (rather cryptic) Security Identifiers, show username
 and domain in the error message when we barf on mismatch between
 the Git directory and the current user.

 Waiting for a review by the area maintainer.
 cf. <xmqqbka07te6.fsf@gitster.g>
 source: <20240104192202.2124-2-soekkle@freenet.de>


* ib/rebase-reschedule-doc (2024-01-05) 1 commit
 - rebase: clarify --reschedule-failed-exec default

 Doc update.

 Will merge to 'next'.
 source: <20240105011424.1443732-2-illia.bobyr@gmail.com>


* jk/commit-graph-slab-clear-fix (2024-01-05) 1 commit
 - commit-graph: retain commit slab when closing NULL commit_graph

 Clearing in-core repository (happens during e.g., "git fetch
 --recurse-submodules" with commit graph enabled) made in-core
 commit object in an inconsistent state by discarding the necessary
 data from commit-graph too early, which has been corrected.

 Will merge to 'next'.
 source: <20240105054142.GA2035092@coredump.intra.peff.net>


* jk/index-pack-lsan-false-positive-fix (2024-01-05) 1 commit
 - index-pack: spawn threads atomically

 Fix false positive reported by leak sanitizer.

 Will merge to 'next'.
 source: <20240105085034.GA3078476@coredump.intra.peff.net>

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

* cp/sideband-array-index-comment-fix (2023-12-28) 1 commit
 - sideband.c: remove redundant 'NEEDSWORK' tag

 In-code comment fix.

 Will merge to 'next'.
 source: <pull.1625.v4.git.1703750460527.gitgitgadget@gmail.com>


* ps/worktree-refdb-initialization (2023-12-28) 6 commits
 - builtin/worktree: create refdb via ref backend
 - worktree: expose interface to look up worktree by name
 - builtin/worktree: move setup of commondir file earlier
 - refs/files: skip creation of "refs/{heads,tags}" for worktrees
 - setup: move creation of "refs/" into the files backend
 - refs: prepare `refs_init_db()` for initializing worktree refs

 Instead of manually creating refs/ hierarchy on disk upon a
 creation of a secondary worktree, which is only usable via the
 files backend, use the refs API to populate it.

 May want to wait until other topics solidify a bit more.
 cf. <xmqqedf6gpt8.fsf@gitster.g>
 source: <cover.1703754513.git.ps@pks.im>


* ml/doc-merge-updates (2023-12-20) 2 commits
  (merged to 'next' on 2023-12-28 at 7a6329a219)
 + Documentation/git-merge.txt: use backticks for command wrapping
 + Documentation/git-merge.txt: fix reference to synopsis

 Doc update.

 Will merge to 'master'.
 source: <20231220195342.17590-1-mi.al.lohmann@gmail.com>


* cp/apply-core-filemode (2023-12-26) 3 commits
 - apply: code simplification
 - apply: correctly reverse patch's pre- and post-image mode bits
 - apply: ignore working tree filemode when !core.filemode

 "git apply" on a filesystem without filemode support have learned
 to take a hint from what is in the index for the path, even when
 not working with the "--index" or "--cached" option, when checking
 the executable bit match what is required by the preimage in the
 patch.

 Needs review.
 source: <20231226233218.472054-1-gitster@pobox.com>


* jc/archive-list-with-extra-args (2023-12-21) 1 commit
  (merged to 'next' on 2023-12-28 at 2d5c20e67f)
 + archive: "--list" does not take further options

 "git archive --list extra garbage" silently ignored excess command
 line parameters, which has been corrected.

 Will merge to 'master'.
 source: <xmqqmsu3mnix.fsf@gitster.g>


* jk/t1006-cat-file-objectsize-disk (2024-01-03) 2 commits
  (merged to 'next' on 2024-01-03 at a492c6355c)
 + t1006: prefer shell loop to awk for packed object sizes
  (merged to 'next' on 2023-12-28 at d82812e636)
 + t1006: add tests for %(objectsize:disk)

 Test update.

 Will merge to 'master'.
 source: <20231221094722.GA570888@coredump.intra.peff.net>
 source: <20240103090152.GB1866508@coredump.intra.peff.net>


* js/contributor-docs-updates (2023-12-27) 9 commits
  (merged to 'next' on 2024-01-02 at 0e072117cd)
 + SubmittingPatches: hyphenate non-ASCII
 + SubmittingPatches: clarify GitHub artifact format
 + SubmittingPatches: clarify GitHub visual
 + SubmittingPatches: provide tag naming advice
 + SubmittingPatches: update extra tags list
 + SubmittingPatches: discourage new trailers
 + SubmittingPatches: drop ref to "What's in git.git"
 + CodingGuidelines: write punctuation marks
 + CodingGuidelines: move period inside parentheses

 Doc update.

 Will merge to 'master'.
 source: <pull.1623.v3.git.1703739324.gitgitgadget@gmail.com>


* al/unit-test-ctype (2024-01-05) 1 commit
 - unit-tests: rewrite t/helper/test-ctype.c as a unit test

 Move test-ctype helper to the unit-test framework.

 Will merge to 'next'.
 source: <20240105161413.10422-1-ach.lumap@gmail.com>


* bk/bisect-doc-fix (2023-12-27) 1 commit
 - doc: use singular form of repeatable path arg

 Synopsis fix.

 Expecting a reroll.
 source: <3d46bca1-96d4-43ba-a912-1f7c76942287@smtp-relay.sendinblue.com>


* en/sparse-checkout-eoo (2023-12-26) 2 commits
  (merged to 'next' on 2023-12-28 at 3ddf2ebab6)
 + sparse-checkout: be consistent with end of options markers
 + Merge branch 'jk/end-of-options' into jc/sparse-checkout-set-add-end-of-options

 "git sparse-checkout (add|set) --[no-]cone --end-of-options" did
 not handle "--end-of-options" correctly after a recent update.

 Will merge to 'master'.
 source: <pull.1625.v2.git.git.1703619562639.gitgitgadget@gmail.com>


* ja/doc-placeholders-fix (2023-12-26) 2 commits
 - doc: enforce placeholders in documentation
 - doc: enforce dashes in placeholders

 Docfix.

 Needs review.
 source: <pull.1626.git.1703539287.gitgitgadget@gmail.com>


* jc/sparse-checkout-set-default-fix (2023-12-26) 1 commit
  (merged to 'next' on 2023-12-28 at a558eccf8e)
 + sparse-checkout: use default patterns for 'set' only !stdin

 "git sparse-checkout set" added default patterns even when the
 patterns are being fed from the standard input, which has been
 corrected.

 Will merge to 'master'.
 source: <20231221065925.3234048-3-gitster@pobox.com>


* rs/fast-import-simplify-mempool-allocation (2023-12-26) 1 commit
  (merged to 'next' on 2023-12-28 at 16e6dd2a69)
 + fast-import: use mem_pool_calloc()

 Code simplification.

 Will merge to 'master'.
 source: <50c1f410-ca37-4c1c-a28b-3e9fad49f2b4@web.de>


* rs/mem-pool-improvements (2023-12-28) 2 commits
  (merged to 'next' on 2023-12-28 at aa03d9441c)
 + mem-pool: simplify alignment calculation
 + mem-pool: fix big allocations

 MemPool allocator fixes.

 Will merge to 'master'.
 source: <fa89d269-1a23-4ed6-bebc-30c0b629f444@web.de>


* ps/refstorage-extension (2024-01-02) 13 commits
 - t9500: write "extensions.refstorage" into config
 - builtin/clone: introduce `--ref-format=` value flag
 - builtin/init: introduce `--ref-format=` value flag
 - builtin/rev-parse: introduce `--show-ref-format` flag
 - t: introduce GIT_TEST_DEFAULT_REF_FORMAT envvar
 - setup: introduce GIT_DEFAULT_REF_FORMAT envvar
 - setup: introduce "extensions.refStorage" extension
 - setup: set repository's formats on init
 - setup: start tracking ref storage format
 - refs: refactor logic to look up storage backends
 - worktree: skip reading HEAD when repairing worktrees
 - t: introduce DEFAULT_REPO_FORMAT prereq
 - Merge branch 'ps/clone-into-reftable-repository' into ps/refstorage-extension

 Introduce a new extension "refstorage" so that we can mark a
 repository that uses a non-default ref backend, like reftable.

 Will merge to 'next'.
 source: <cover.1703833818.git.ps@pks.im>


* ps/reftable-fixes-and-optims (2024-01-03) 9 commits
 - reftable/merged: transfer ownership of records when iterating
 - reftable/merged: really reuse buffers to compute record keys
 - reftable/record: store "val2" hashes as static arrays
 - reftable/record: store "val1" hashes as static arrays
 - reftable/record: constify some parts of the interface
 - reftable/writer: fix index corruption when writing multiple indices
 - reftable/stack: do not auto-compact twice in `reftable_stack_add()`
 - reftable/stack: do not overwrite errors when compacting
 - Merge branch 'ps/reftable-fixes' into ps/reftable-fixes-and-optims

 More fixes and optimizations to the reftable backend.

 Will merge to 'next'.
 source: <cover.1704262787.git.ps@pks.im>


* tb/multi-pack-verbatim-reuse (2023-12-14) 26 commits
  (merged to 'next' on 2024-01-04 at 891ac0fa2c)
 + t/perf: add performance tests for multi-pack reuse
 + pack-bitmap: enable reuse from all bitmapped packs
 + pack-objects: allow setting `pack.allowPackReuse` to "single"
 + t/test-lib-functions.sh: implement `test_trace2_data` helper
 + pack-objects: add tracing for various packfile metrics
 + pack-bitmap: prepare to mark objects from multiple packs for reuse
 + pack-revindex: implement `midx_pair_to_pack_pos()`
 + pack-revindex: factor out `midx_key_to_pack_pos()` helper
 + midx: implement `midx_preferred_pack()`
 + git-compat-util.h: implement checked size_t to uint32_t conversion
 + pack-objects: include number of packs reused in output
 + pack-objects: prepare `write_reused_pack_verbatim()` for multi-pack reuse
 + pack-objects: prepare `write_reused_pack()` for multi-pack reuse
 + pack-objects: pass `bitmapped_pack`'s to pack-reuse functions
 + pack-objects: keep track of `pack_start` for each reuse pack
 + pack-objects: parameterize pack-reuse routines over a single pack
 + pack-bitmap: return multiple packs via `reuse_partial_packfile_from_bitmap()`
 + pack-bitmap: simplify `reuse_partial_packfile_from_bitmap()` signature
 + ewah: implement `bitmap_is_empty()`
 + pack-bitmap: pass `bitmapped_pack` struct to pack-reuse functions
 + midx: implement `midx_locate_pack()`
 + midx: implement `BTMP` chunk
 + midx: factor out `fill_pack_info()`
 + pack-bitmap: plug leak in find_objects()
 + pack-bitmap-write: deep-clear the `bb_commit` slab
 + pack-objects: free packing_data in more places

 Streaming spans of packfile data used to be done only from a
 single, primary, pack in a repository with multiple packfiles.  It
 has been extended to allow reuse from other packfiles, too.

 Will merge to 'master'.
 cf. <ZXurD1NTZ4TAs7WZ@nand.local>
 source: <cover.1702592603.git.me@ttaylorr.com>


* jc/bisect-doc (2023-12-09) 1 commit
 - bisect: document "terms" subcommand more fully

 Doc update.

 Needs review.
 source: <xmqqzfyjmk02.fsf@gitster.g>


* en/header-cleanup (2023-12-26) 12 commits
  (merged to 'next' on 2023-12-28 at 1ccddc2a10)
 + treewide: remove unnecessary includes in source files
 + treewide: add direct includes currently only pulled in transitively
 + trace2/tr2_tls.h: remove unnecessary include
 + submodule-config.h: remove unnecessary include
 + pkt-line.h: remove unnecessary include
 + line-log.h: remove unnecessary include
 + http.h: remove unnecessary include
 + fsmonitor--daemon.h: remove unnecessary includes
 + blame.h: remove unnecessary includes
 + archive.h: remove unnecessary include
 + treewide: remove unnecessary includes in source files
 + treewide: remove unnecessary includes from header files

 Remove unused header "#include".

 Will merge to 'master'.
 source: <pull.1617.v2.git.1703351700.gitgitgadget@gmail.com>


* jw/builtin-objectmode-attr (2023-12-28) 1 commit
  (merged to 'next' on 2024-01-02 at 4c3784b3a1)
 + attr: add builtin objectmode values support

 The builtin_objectmode attribute is populated for each path
 without adding anything in .gitattributes files, which would be
 useful in magic pathspec, e.g., ":(attr:builtin_objectmode=100755)"
 to limit to executables.

 Will merge to 'master'.
 cf. <xmqq5y0ssknj.fsf@gitster.g>
 source: <20231116054437.2343549-1-jojwang@google.com>


* tb/pair-chunk-expect (2023-11-10) 8 commits
 - midx: read `OOFF` chunk with `pair_chunk_expect()`
 - midx: read `OIDL` chunk with `pair_chunk_expect()`
 - commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 - commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `OIDL` chunk with `pair_chunk_expect()`
 - chunk-format: introduce `pair_chunk_expect()` helper
 - Merge branch 'jk/chunk-bounds-more' into HEAD

 Further code clean-up.

 Needs review.
 source: <cover.1699569246.git.me@ttaylorr.com>


* tb/path-filter-fix (2023-10-18) 17 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Expecting a reroll?
 cf. <20231023202212.GA5470@szeder.dev>
 source: <cover.1697653929.git.me@ttaylorr.com>


* ak/color-decorate-symbols (2023-10-23) 7 commits
 - log: add color.decorate.pseudoref config variable
 - refs: exempt pseudorefs from pattern prefixing
 - refs: add pseudorefs array and iteration functions
 - log: add color.decorate.ref config variable
 - log: add color.decorate.symbol config variable
 - log: use designated inits for decoration_colors
 - config: restructure color.decorate documentation

 A new config for coloring.

 Needs review.
 source: <20231023221143.72489-1-andy.koppe@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2023-12-14) 4 commits
 - archive: support remote archive from stateless transport
 - transport-helper: call do_take_over() in connect_helper
 - transport-helper: call do_take_over() in process_connect
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Needs review.
 source: <cover.1702562879.git.zhiyou.jx@alibaba-inc.com>


* jx/sideband-chomp-newline-fix (2023-12-18) 3 commits
  (merged to 'next' on 2024-01-04 at 1237898a22)
 + pkt-line: do not chomp newlines for sideband messages
 + pkt-line: memorize sideband fragment in reader
 + test-pkt-line: add option parser for unpack-sideband

 Sideband demultiplexer fixes.

 Will merge to 'master'.
 source: <cover.1702823801.git.zhiyou.jx@alibaba-inc.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>

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

* jc/sparse-checkout-eoo (2023-12-21) 5 commits
 . sparse-checkout: tighten add_patterns_from_input()
 . sparse-checkout: use default patterns for 'set' only !stdin
 . SQUASH??? end-of-options test
 . sparse-checkout: take care of "--end-of-options" in set/add/check-rules
 + Merge branch 'jk/end-of-options' into jc/sparse-checkout-set-add-end-of-options

 "git sparse-checkout (add|set) --[no-]cone --end-of-options" did
 not handle "--end-of-options" correctly after a recent update.

 Superseded by the en/sparse-checkout-eoo topic.
 source: <20231221065925.3234048-1-gitster@pobox.com>


* tb/merge-tree-write-pack (2023-10-23) 5 commits
 . builtin/merge-tree.c: implement support for `--write-pack`
 . bulk-checkin: introduce `index_tree_bulk_checkin_incore()`
 . bulk-checkin: introduce `index_blob_bulk_checkin_incore()`
 . bulk-checkin: generify `stream_blob_to_pack()` for arbitrary types
 . bulk-checkin: extract abstract `bulk_checkin_source`

 "git merge-tree" learned "--write-pack" to record its result
 without creating loose objects.

 Broken when an object created during a merge is needed to continue merge
 cf. <CABPp-BEfy9VOvimP9==ry_rZXu=metOQ8s=_-XiG_Pdx9c06Ww@mail.gmail.com>
 cf. <ZZWOtnP2IHNldcy6@nand.local>
 source: <cover.1698101088.git.me@ttaylorr.com>


^ permalink raw reply	[relevance 28%]

* Re: What's cooking in git.git (Jan 2024, #01; Tue, 2)
  @ 2024-01-05 16:34 98%       ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-01-05 16:34 UTC (permalink / raw)
  To: Jeff King; +Cc: René Scharfe, git

Jeff King <peff@peff.net> writes:

> On Wed, Jan 03, 2024 at 08:37:59AM -0800, Junio C Hamano wrote:
>
>> This is totally unrelated tangent, but the way "show-index" gets
>> invoked in the above loop makes readers wonder how the caller found
>> out which $idx file to read.
>> 
>> Of course, the above loop sits downstream of a pipe
>> 
>>     find .git/objects/pack -type f -name \*.idx
>> 
>> which means that any user of "git show-index" must be intimately
>> familiar with how the object database is structured.  I wonder if we
>> want an extra layer of abstraction, similar to how the reference
>> database can have different backend implementation.
>
> I assume you mean a test helper by "extra layer of abstraction".

Well, that might be a good first step, but I was envisioning more
into far future where the object store is reimplemented on top of
high-performance database, at which point we may want subcommands
like "git odb list-packs" that lists packfile names (which may not
name any on-filesystem files) that can be given to "git show-index",
for example.  Of course, the abstraction boundary of the object
store might be placed a lot higher and the interface into it may be
limited to "here is an oid, give me its contents" without distinction
between the objects in packfiles and objects in loose object files.

> So I think we should just punt on it for now. Adding one case here is
> not making a hypothetical abstraction layer significantly harder to add
> later.

Totally agree, and that is why I labeled the whole thing as an
unrelated tangent.

Thanks.


^ permalink raw reply	[relevance 98%]

* Re: What's cooking in git.git (Jan 2024, #01; Tue, 2)
  @ 2024-01-03 18:08 99%   ` Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2024-01-03 18:08 UTC (permalink / raw)
  To: SZEDER Gábor; +Cc: Taylor Blau, git

Taylor Blau <me@ttaylorr.com> writes:

>> * tb/path-filter-fix (2023-10-18) 17 commits
>>  - bloom: introduce `deinit_bloom_filters()`
>>  ...
>>  - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`
>>
>>  The Bloom filter used for path limited history traversal was broken
>>  on systems whose "char" is unsigned; update the implementation and
>>  bump the format version to 2.
>>
>>  Expecting a reroll.
>>  cf. <20231023202212.GA5470@szeder.dev>
>>  source: <cover.1697653929.git.me@ttaylorr.com>
>
> I was confused by this one, since I couldn't figure out which tests
> Gábor was referring to here. I responded in [1], but haven't heard back
> since the end of October.
> ...
> [1]: https://lore.kernel.org/git/ZUARCJ1MmqgXfS4i@nand.local/

OK, let's ping just once then.

Thanks.


^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (Jan 2024, #01; Tue, 2)
  @ 2024-01-03 16:37 87%   ` Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2024-01-03 16:37 UTC (permalink / raw)
  To: Jeff King; +Cc: René Scharfe, git

Jeff King <peff@peff.net> writes:

> It looks like this is the original version. I posted a v2 that took
> René's suggestion to swap out the awk for shell, but it got overlooked.
> I'm happy enough either way, but if we want to salvage that effort,
> here's a patch which could go on top:

Thanks.  I was happy enough with the old one and placed the updated
one on backburner.

A commit message that explains why this incremental update (i.e.,
rewrite from awk to a shell loop) is a good idea below does make it
worthwhile ;-)

> -- >8 --
> From: René Scharfe <l.s.r@web.de>
> Subject: [PATCH] t1006: prefer shell loop to awk for packed object sizes
>
> To compute the expected on-disk size of packed objects, we sort the
> output of show-index by pack offset and then compute the difference
> between adjacent entries using awk. This works but has a few readability
> problems:
>
>   1. Reading the index in pack order means don't find out the size of an
>      oid's entry until we see the _next_ entry. So we have to save it to
>      print later.
>
>      We can instead iterate in reverse order, so we compute each oid's
>      size as we see it.

If you go forward, you need "the end of the previous round" (which
is "the beginning of the current round") to be subtracted from "the
end of the current round".  If you go forward, you have to have "the
beginning of the previous round" (which is "the end of the current
round") from which you subtract "the beginning of the current round".

So from that point of view, the only difference is that you would
not be ready to emit in the first round, and you would need to emit
for the last entry after the loop.  Because we happen to have the
end of the last entry outside the loop, we can omit the awkwardness.

OK.  But iterating over a list backwards is a bit awkward ;-).

>   2. Since the awk invocation is inside a text_expect block, we can't
>      easily use single-quotes to hold the script. So we use
>      double-quotes, but then have to escape the dollar signs in the awk
>      script.

Yup.  The joy of shell quoting rules ;-)

> I gave René authorship since this was his cleverness, but obviously I
> wrote the commit message. Giving an explicit signoff would be nice,
> though.

Indeed.

>  t/t1006-cat-file.sh | 14 ++++++++------
>  1 file changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/t/t1006-cat-file.sh b/t/t1006-cat-file.sh
> index 0c2eafae65..5ea3326128 100755
> --- a/t/t1006-cat-file.sh
> +++ b/t/t1006-cat-file.sh
> @@ -1117,14 +1117,16 @@ test_expect_success 'cat-file %(objectsize:disk) with --batch-all-objects' '
>  		while read idx
>  		do
>  			git show-index <"$idx" >idx.raw &&
> -			sort -n <idx.raw >idx.sorted &&
> +			sort -nr <idx.raw >idx.sorted &&
>  			packsz=$(test_file_size "${idx%.idx}.pack") &&
>  			end=$((packsz - rawsz)) &&
> -			awk -v end="$end" "
> -			  NR > 1 { print oid, \$1 - start }
> -			  { start = \$1; oid = \$2 }
> -			  END { print oid, end - start }
> -			" idx.sorted ||
> +			while read start oid rest
> +			do
> +				size=$((end - start)) &&
> +				end=$start &&
> +				echo "$oid $size" ||
> +				return 1
> +			done <idx.sorted ||
>  			return 1
>  		done
>  	} >expect.raw &&

This is totally unrelated tangent, but the way "show-index" gets
invoked in the above loop makes readers wonder how the caller found
out which $idx file to read.

Of course, the above loop sits downstream of a pipe

    find .git/objects/pack -type f -name \*.idx

which means that any user of "git show-index" must be intimately
familiar with how the object database is structured.  I wonder if we
want an extra layer of abstraction, similar to how the reference
database can have different backend implementation.

Anyway, will queue.  Thanks.


^ permalink raw reply	[relevance 87%]

* What's cooking in git.git (Jan 2024, #01; Tue, 2)
@ 2024-01-03  1:02 28% Junio C Hamano
      0 siblings, 2 replies; 200+ results
From: Junio C Hamano @ 2024-01-03  1:02 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

As the past couple of weeks have been slow, topics that have been
merged to 'next' (and to a lessor extent, to 'master') this season
may have seen less scrutinizing eyes than they deserve, which might
lead bugs and regressions caused by them discovered later, but that
is a regular part of life.  Let's see what happens.

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']

* jc/orphan-unborn (2023-11-24) 2 commits
  (merged to 'next' on 2023-12-21 at 030300487a)
 + orphan/unborn: fix use of 'orphan' in end-user facing messages
 + orphan/unborn: add to the glossary and use them consistently

 Doc updates to clarify what an "unborn branch" means.
 source: <xmqq4jhb977x.fsf@gitster.g>


* jc/retire-cas-opt-name-constant (2023-12-19) 1 commit
  (merged to 'next' on 2023-12-21 at 39ef057c8b)
 + remote.h: retire CAS_OPT_NAME

 Code clean-up.
 source: <xmqq5y0uc7tq.fsf@gitster.g>


* la/trailer-cleanups (2023-12-20) 3 commits
  (merged to 'next' on 2023-12-21 at e26ede5f55)
 + trailer: use offsets for trailer_start/trailer_end
 + trailer: find the end of the log message
 + commit: ignore_non_trailer computes number of bytes to ignore

 Code clean-up.
 source: <pull.1563.v5.git.1697828495.gitgitgadget@gmail.com>


* ps/pseudo-refs (2023-12-14) 4 commits
  (merged to 'next' on 2023-12-21 at 3460e3d667)
 + bisect: consistently write BISECT_EXPECTED_REV via the refdb
 + refs: complete list of special refs
 + refs: propagate errno when reading special refs fails
 + wt-status: read HEAD and ORIG_HEAD via the refdb

 Assorted changes around pseudoref handling.
 source: <cover.1702560829.git.ps@pks.im>


* rj/status-bisect-while-rebase (2023-10-16) 1 commit
  (merged to 'next' on 2023-12-21 at 929a027fb7)
 + status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.
 cf. <xmqqil76kyov.fsf@gitster.g>
 source: <2e24ca9b-9c5f-f4df-b9f8-6574a714dfb2@gmail.com>


* rs/rebase-use-strvec-pushf (2023-12-20) 1 commit
  (merged to 'next' on 2023-12-20 at ecb190973c)
 + rebase: use strvec_pushf() for format-patch revisions

 Code clean-up.
 source: <4ab7431c-6c1b-448c-b4d2-e8b9be0e4eef@web.de>


* sh/completion-with-reftable (2023-12-19) 2 commits
  (merged to 'next' on 2023-12-20 at 7957d4aa5b)
 + completion: support pseudoref existence checks for reftables
 + completion: refactor existence checks for pseudorefs

 Command line completion script (in contrib/) learned to work better
 with the reftable backend.
 source: <cover.1703022850.git.stanhu@gmail.com>

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

* cp/sideband-array-index-comment-fix (2023-12-28) 1 commit
 - sideband.c: remove redundant 'NEEDSWORK' tag

 In-code comment fix.
 source: <pull.1625.v4.git.1703750460527.gitgitgadget@gmail.com>


* ps/worktree-refdb-initialization (2023-12-28) 6 commits
 - builtin/worktree: create refdb via ref backend
 - worktree: expose interface to look up worktree by name
 - builtin/worktree: move setup of commondir file earlier
 - refs/files: skip creation of "refs/{heads,tags}" for worktrees
 - setup: move creation of "refs/" into the files backend
 - refs: prepare `refs_init_db()` for initializing worktree refs

 Instead of manually creating refs/ hierarchy on disk upon a
 creation of a secondary worktree, which is only usable via the
 files backend, use the refs API to populate it.

 May want to wait until other topics solidify a bit more.
 cf. <xmqqedf6gpt8.fsf@gitster.g>
 source: <cover.1703754513.git.ps@pks.im>

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

* ml/doc-merge-updates (2023-12-20) 2 commits
  (merged to 'next' on 2023-12-28 at 7a6329a219)
 + Documentation/git-merge.txt: use backticks for command wrapping
 + Documentation/git-merge.txt: fix reference to synopsis

 Doc update.

 Will merge to 'master'.
 source: <20231220195342.17590-1-mi.al.lohmann@gmail.com>


* cp/apply-core-filemode (2023-12-26) 3 commits
 - apply: code simplification
 - apply: correctly reverse patch's pre- and post-image mode bits
 - apply: ignore working tree filemode when !core.filemode

 "git apply" on a filesystem without filemode support have learned
 to take a hint from what is in the index for the path, even when
 not working with the "--index" or "--cached" option, when checking
 the executable bit match what is required by the preimage in the
 patch.

 Needs review.
 source: <20231226233218.472054-1-gitster@pobox.com>


* jc/archive-list-with-extra-args (2023-12-21) 1 commit
  (merged to 'next' on 2023-12-28 at 2d5c20e67f)
 + archive: "--list" does not take further options

 "git archive --list extra garbage" silently ignored excess command
 line parameters, which has been corrected.

 Will merge to 'master'.
 source: <xmqqmsu3mnix.fsf@gitster.g>


* jk/t1006-cat-file-objectsize-disk (2023-12-21) 1 commit
  (merged to 'next' on 2023-12-28 at d82812e636)
 + t1006: add tests for %(objectsize:disk)

 Test update.

 Will merge to 'master'.
 source: <20231221094722.GA570888@coredump.intra.peff.net>


* js/contributor-docs-updates (2023-12-27) 9 commits
  (merged to 'next' on 2024-01-02 at 0e072117cd)
 + SubmittingPatches: hyphenate non-ASCII
 + SubmittingPatches: clarify GitHub artifact format
 + SubmittingPatches: clarify GitHub visual
 + SubmittingPatches: provide tag naming advice
 + SubmittingPatches: update extra tags list
 + SubmittingPatches: discourage new trailers
 + SubmittingPatches: drop ref to "What's in git.git"
 + CodingGuidelines: write punctuation marks
 + CodingGuidelines: move period inside parentheses

 Doc update.

 Will merge to 'master'.
 source: <pull.1623.v3.git.1703739324.gitgitgadget@gmail.com>


* al/unit-test-ctype (2024-01-02) 1 commit
 - unit-tests: rewrite t/helper/test-ctype.c as a unit test

 Move test-ctype helper to the unit-test framework.
 source: <20240101104017.9452-2-ach.lumap@gmail.com>


* bk/bisect-doc-fix (2023-12-27) 1 commit
 - doc: use singular form of repeatable path arg

 Synopsis fix.

 Expecting a reroll.
 source: <3d46bca1-96d4-43ba-a912-1f7c76942287@smtp-relay.sendinblue.com>


* en/sparse-checkout-eoo (2023-12-26) 2 commits
  (merged to 'next' on 2023-12-28 at 3ddf2ebab6)
 + sparse-checkout: be consistent with end of options markers
 + Merge branch 'jk/end-of-options' into jc/sparse-checkout-set-add-end-of-options

 "git sparse-checkout (add|set) --[no-]cone --end-of-options" did
 not handle "--end-of-options" correctly after a recent update.

 Will merge to 'master'.
 source: <pull.1625.v2.git.git.1703619562639.gitgitgadget@gmail.com>


* ja/doc-placeholders-fix (2023-12-26) 2 commits
 - doc: enforce placeholders in documentation
 - doc: enforce dashes in placeholders

 Docfix.

 Needs review.
 source: <pull.1626.git.1703539287.gitgitgadget@gmail.com>


* jc/sparse-checkout-set-default-fix (2023-12-26) 1 commit
  (merged to 'next' on 2023-12-28 at a558eccf8e)
 + sparse-checkout: use default patterns for 'set' only !stdin

 "git sparse-checkout set" added default patterns even when the
 patterns are being fed from the standard input, which has been
 corrected.

 Will merge to 'master'.
 source: <20231221065925.3234048-3-gitster@pobox.com>


* rs/fast-import-simplify-mempool-allocation (2023-12-26) 1 commit
  (merged to 'next' on 2023-12-28 at 16e6dd2a69)
 + fast-import: use mem_pool_calloc()

 Code simplification.

 Will merge to 'master'.
 source: <50c1f410-ca37-4c1c-a28b-3e9fad49f2b4@web.de>


* rs/mem-pool-improvements (2023-12-28) 2 commits
  (merged to 'next' on 2023-12-28 at aa03d9441c)
 + mem-pool: simplify alignment calculation
 + mem-pool: fix big allocations

 MemPool allocator fixes.

 Will merge to 'master'.
 source: <fa89d269-1a23-4ed6-bebc-30c0b629f444@web.de>


* ps/refstorage-extension (2024-01-02) 13 commits
 - t9500: write "extensions.refstorage" into config
 - builtin/clone: introduce `--ref-format=` value flag
 - builtin/init: introduce `--ref-format=` value flag
 - builtin/rev-parse: introduce `--show-ref-format` flag
 - t: introduce GIT_TEST_DEFAULT_REF_FORMAT envvar
 - setup: introduce GIT_DEFAULT_REF_FORMAT envvar
 - setup: introduce "extensions.refStorage" extension
 - setup: set repository's formats on init
 - setup: start tracking ref storage format
 - refs: refactor logic to look up storage backends
 - worktree: skip reading HEAD when repairing worktrees
 - t: introduce DEFAULT_REPO_FORMAT prereq
 - Merge branch 'ps/clone-into-reftable-repository' into ps/refstorage-extension

 Introduce a new extension "refstorage" so that we can mark a
 repository that uses a non-default ref backend, like reftable.

 Will merge to 'next'?
 source: <cover.1703833818.git.ps@pks.im>


* ps/reftable-fixes-and-optims (2023-12-28) 9 commits
 - reftable/merged: transfer ownership of records when iterating
 - reftable/merged: really reuse buffers to compute record keys
 - reftable/record: store "val2" hashes as static arrays
 - reftable/record: store "val1" hashes as static arrays
 - reftable/record: constify some parts of the interface
 - reftable/writer: fix index corruption when writing multiple indices
 - reftable/stack: do not auto-compact twice in `reftable_stack_add()`
 - reftable/stack: do not overwrite errors when compacting
 - Merge branch 'ps/reftable-fixes' into ps/reftable-fixes-and-optims

 More fixes and optimizations to the reftable backend.

 Expecting a (hopefully minor and final) reroll.
 cf. <xmqqtto2gswa.fsf@gitster.g>
 source: <cover.1703743174.git.ps@pks.im>


* tb/multi-pack-verbatim-reuse (2023-12-14) 26 commits
 - t/perf: add performance tests for multi-pack reuse
 - pack-bitmap: enable reuse from all bitmapped packs
 - pack-objects: allow setting `pack.allowPackReuse` to "single"
 - t/test-lib-functions.sh: implement `test_trace2_data` helper
 - pack-objects: add tracing for various packfile metrics
 - pack-bitmap: prepare to mark objects from multiple packs for reuse
 - pack-revindex: implement `midx_pair_to_pack_pos()`
 - pack-revindex: factor out `midx_key_to_pack_pos()` helper
 - midx: implement `midx_preferred_pack()`
 - git-compat-util.h: implement checked size_t to uint32_t conversion
 - pack-objects: include number of packs reused in output
 - pack-objects: prepare `write_reused_pack_verbatim()` for multi-pack reuse
 - pack-objects: prepare `write_reused_pack()` for multi-pack reuse
 - pack-objects: pass `bitmapped_pack`'s to pack-reuse functions
 - pack-objects: keep track of `pack_start` for each reuse pack
 - pack-objects: parameterize pack-reuse routines over a single pack
 - pack-bitmap: return multiple packs via `reuse_partial_packfile_from_bitmap()`
 - pack-bitmap: simplify `reuse_partial_packfile_from_bitmap()` signature
 - ewah: implement `bitmap_is_empty()`
 - pack-bitmap: pass `bitmapped_pack` struct to pack-reuse functions
 - midx: implement `midx_locate_pack()`
 - midx: implement `BTMP` chunk
 - midx: factor out `fill_pack_info()`
 - pack-bitmap: plug leak in find_objects()
 - pack-bitmap-write: deep-clear the `bb_commit` slab
 - pack-objects: free packing_data in more places

 Streaming spans of packfile data used to be done only from a
 single, primary, pack in a repository with multiple packfiles.  It
 has been extended to allow reuse from other packfiles, too.

 Will merge to 'next'?
 cf. <ZXurD1NTZ4TAs7WZ@nand.local>
 source: <cover.1702592603.git.me@ttaylorr.com>


* jc/bisect-doc (2023-12-09) 1 commit
 - bisect: document "terms" subcommand more fully

 Doc update.

 Needs review.
 source: <xmqqzfyjmk02.fsf@gitster.g>


* en/header-cleanup (2023-12-26) 12 commits
  (merged to 'next' on 2023-12-28 at 1ccddc2a10)
 + treewide: remove unnecessary includes in source files
 + treewide: add direct includes currently only pulled in transitively
 + trace2/tr2_tls.h: remove unnecessary include
 + submodule-config.h: remove unnecessary include
 + pkt-line.h: remove unnecessary include
 + line-log.h: remove unnecessary include
 + http.h: remove unnecessary include
 + fsmonitor--daemon.h: remove unnecessary includes
 + blame.h: remove unnecessary includes
 + archive.h: remove unnecessary include
 + treewide: remove unnecessary includes in source files
 + treewide: remove unnecessary includes from header files

 Remove unused header "#include".

 Will merge to 'master'.
 source: <pull.1617.v2.git.1703351700.gitgitgadget@gmail.com>


* jw/builtin-objectmode-attr (2023-12-28) 1 commit
  (merged to 'next' on 2024-01-02 at 4c3784b3a1)
 + attr: add builtin objectmode values support

 The builtin_objectmode attribute is populated for each path
 without adding anything in .gitattributes files, which would be
 useful in magic pathspec, e.g., ":(attr:builtin_objectmode=100755)"
 to limit to executables.

 Will merge to 'master'.
 cf. <xmqq5y0ssknj.fsf@gitster.g>
 source: <20231116054437.2343549-1-jojwang@google.com>


* tb/merge-tree-write-pack (2023-10-23) 5 commits
 - builtin/merge-tree.c: implement support for `--write-pack`
 - bulk-checkin: introduce `index_tree_bulk_checkin_incore()`
 - bulk-checkin: introduce `index_blob_bulk_checkin_incore()`
 - bulk-checkin: generify `stream_blob_to_pack()` for arbitrary types
 - bulk-checkin: extract abstract `bulk_checkin_source`

 "git merge-tree" learned "--write-pack" to record its result
 without creating loose objects.

 Broken when an object created during a merge is needed to continue merge
 cf. <CABPp-BEfy9VOvimP9==ry_rZXu=metOQ8s=_-XiG_Pdx9c06Ww@mail.gmail.com>
 source: <cover.1698101088.git.me@ttaylorr.com>


* tb/pair-chunk-expect (2023-11-10) 8 commits
 - midx: read `OOFF` chunk with `pair_chunk_expect()`
 - midx: read `OIDL` chunk with `pair_chunk_expect()`
 - commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 - commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `OIDL` chunk with `pair_chunk_expect()`
 - chunk-format: introduce `pair_chunk_expect()` helper
 - Merge branch 'jk/chunk-bounds-more' into HEAD

 Further code clean-up.

 Needs review.
 source: <cover.1699569246.git.me@ttaylorr.com>


* tb/path-filter-fix (2023-10-18) 17 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Expecting a reroll.
 cf. <20231023202212.GA5470@szeder.dev>
 source: <cover.1697653929.git.me@ttaylorr.com>


* ak/color-decorate-symbols (2023-10-23) 7 commits
 - log: add color.decorate.pseudoref config variable
 - refs: exempt pseudorefs from pattern prefixing
 - refs: add pseudorefs array and iteration functions
 - log: add color.decorate.ref config variable
 - log: add color.decorate.symbol config variable
 - log: use designated inits for decoration_colors
 - config: restructure color.decorate documentation

 A new config for coloring.

 Needs review.
 source: <20231023221143.72489-1-andy.koppe@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2023-12-14) 4 commits
 - archive: support remote archive from stateless transport
 - transport-helper: call do_take_over() in connect_helper
 - transport-helper: call do_take_over() in process_connect
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Needs review.
 source: <cover.1702562879.git.zhiyou.jx@alibaba-inc.com>


* jx/sideband-chomp-newline-fix (2023-12-18) 3 commits
 - pkt-line: do not chomp newlines for sideband messages
 - pkt-line: memorize sideband fragment in reader
 - test-pkt-line: add option parser for unpack-sideband

 Sideband demultiplexer fixes.

 Will merge to 'next'?
 source: <cover.1702823801.git.zhiyou.jx@alibaba-inc.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>

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

* jc/sparse-checkout-eoo (2023-12-21) 5 commits
 . sparse-checkout: tighten add_patterns_from_input()
 . sparse-checkout: use default patterns for 'set' only !stdin
 . SQUASH??? end-of-options test
 . sparse-checkout: take care of "--end-of-options" in set/add/check-rules
 + Merge branch 'jk/end-of-options' into jc/sparse-checkout-set-add-end-of-options

 "git sparse-checkout (add|set) --[no-]cone --end-of-options" did
 not handle "--end-of-options" correctly after a recent update.

 Superseded by the en/sparse-checkout-eoo topic.
 source: <20231221065925.3234048-1-gitster@pobox.com>


^ permalink raw reply	[relevance 28%]

* What's cooking in git.git (Dec 2023, #05; Wed, 27)
@ 2023-12-28  4:25 23% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-12-28  4:25 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

The RelNotes symbolic link says we are now working towards Git 2.44.
It may not be a bad idea to reflect on what technical debt and UI
warts we have accumulated so far to see if we have enough of them to
start planning for a breaking Git 3.0 release (or, of course, keep
incrementally improve the system, which is much more preferrable---
continuity and stability is good).  End of year being a relatively
quiet period, it may be a good time to think about your favorite pet
peeve, to be discussed early next year.

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']

* es/add-doc-list-short-form-of-all-in-synopsis (2023-12-15) 1 commit
  (merged to 'next' on 2023-12-18 at a4f20da2bf)
 + git-add.txt: add missing short option -A to synopsis

 Doc update.
 source: <20231215204333.1253-1-ericsunshine@charter.net>


* jc/checkout-B-branch-in-use (2023-12-13) 2 commits
  (merged to 'next' on 2023-12-14 at 0a3998619e)
 + checkout: forbid "-B <branch>" from touching a branch used elsewhere
 + checkout: refactor die_if_checked_out() caller

 "git checkout -B <branch> [<start-point>]" allowed a branch that is
 in use in another worktree to be updated and checked out, which
 might be a bit unexpected.  The rule has been tightened, which is a
 breaking change.  "--ignore-other-worktrees" option is required to
 unbreak you, if you are used to the current behaviour that "-B"
 overrides the safety.
 source: <xmqqjzq9cl70.fsf@gitster.g>


* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
  (merged to 'next' on 2023-12-15 at 4aa7596593)
 + diff-lib: fix check_removed() when fsmonitor is active
 + Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
 + Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
 (this branch uses jc/fake-lstat.)

 The optimization based on fsmonitor in the "diff --cached"
 codepath is resurrected with the "fake-lstat" introduced earlier.
 cf. <e5295dbe-94d2-3186-5663-2466eba4bdde@jeffhostetler.com>
 source: <xmqqr0n0h0tw.fsf@gitster.g>


* jc/doc-misspelt-refs-fix (2023-12-18) 1 commit
  (merged to 'next' on 2023-12-18 at e7799fd5c9)
 + doc: format.notes specify a ref under refs/notes/ hierarchy

 Doc update.
 source: <xmqqjzpfje33.fsf_-_@gitster.g>


* jc/doc-most-refs-are-not-that-special (2023-12-15) 5 commits
  (merged to 'next' on 2023-12-18 at aead30fcc8)
 + docs: MERGE_AUTOSTASH is not that special
 + docs: AUTO_MERGE is not that special
 + refs.h: HEAD is not that special
 + git-bisect.txt: BISECT_HEAD is not that special
 + git.txt: HEAD is not that special

 Doc updates.
 source: <20231215203245.3622299-1-gitster@pobox.com>


* jc/fake-lstat (2023-09-15) 1 commit
  (merged to 'next' on 2023-12-15 at 48e34cc0b4)
 + cache: add fake_lstat()
 (this branch is used by jc/diff-cached-fsmonitor-fix.)

 A new helper to let us pretend that we called lstat() when we know
 our cache_entry is up-to-date via fsmonitor.
 cf. <e5295dbe-94d2-3186-5663-2466eba4bdde@jeffhostetler.com>
 source: <xmqqcyykig1l.fsf@gitster.g>


* jk/mailinfo-iterative-unquote-comment (2023-12-14) 2 commits
  (merged to 'next' on 2023-12-18 at 92363605fd)
 + mailinfo: avoid recursion when unquoting From headers
 + t5100: make rfc822 comment test more careful
 (this branch uses jk/mailinfo-oob-read-fix.)

 The code to parse the From e-mail header has been updated to avoid
 recursion.
 source: <20231214214444.GB2297853@coredump.intra.peff.net>


* jk/mailinfo-oob-read-fix (2023-12-12) 1 commit
  (merged to 'next' on 2023-12-14 at 0dcfcb0d02)
 + mailinfo: fix out-of-bounds memory reads in unquote_quoted_pair()
 (this branch is used by jk/mailinfo-iterative-unquote-comment.)

 OOB read fix.
 source: <20231212221243.GA1656116@coredump.intra.peff.net>


* jx/fetch-atomic-error-message-fix (2023-12-18) 2 commits
  (merged to 'next' on 2023-12-18 at a1988b00e5)
 + fetch: no redundant error message for atomic fetch
 + t5574: test porcelain output of atomic fetch

 "git fetch --atomic" issued an unnecessary empty error message,
 which has been corrected.
 cf. <ZX__e7VjyLXIl-uV@tanuki>
 source: <cover.1702821462.git.zhiyou.jx@alibaba-inc.com>


* ps/chainlint-self-check-update (2023-12-15) 1 commit
  (merged to 'next' on 2023-12-18 at 0de2e1807f)
 + tests: adjust whitespace in chainlint expectations

 Test framework update.
 source: <fb312f559de7b99244e4c86a995250599cd9be06.1702622508.git.ps@pks.im>


* ps/clone-into-reftable-repository (2023-12-12) 7 commits
  (merged to 'next' on 2023-12-19 at adf7eb1f84)
 + builtin/clone: create the refdb with the correct object format
 + builtin/clone: skip reading HEAD when retrieving remote
 + builtin/clone: set up sparse checkout later
 + builtin/clone: fix bundle URIs with mismatching object formats
 + remote-curl: rediscover repository when fetching refs
 + setup: allow skipping creation of the refdb
 + setup: extract function to create the refdb
 (this branch is used by ps/refstorage-extension.)

 "git clone" has been prepared to allow cloning a repository with
 non-default hash function into a repository that uses the reftable
 backend.
 source: <cover.1702361370.git.ps@pks.im>


* ps/reftable-fixes (2023-12-11) 11 commits
  (merged to 'next' on 2023-12-15 at ebba966016)
 + reftable/block: reuse buffer to compute record keys
 + reftable/block: introduce macro to initialize `struct block_iter`
 + reftable/merged: reuse buffer to compute record keys
 + reftable/stack: fix use of unseeded randomness
 + reftable/stack: fix stale lock when dying
 + reftable/stack: reuse buffers when reloading stack
 + reftable/stack: perform auto-compaction with transactional interface
 + reftable/stack: verify that `reftable_stack_add()` uses auto-compaction
 + reftable: handle interrupted writes
 + reftable: handle interrupted reads
 + reftable: wrap EXPECT macros in do/while
 (this branch is used by ps/reftable-fixes-and-optims.)

 Bunch of small fix-ups to the reftable code.
 source: <cover.1702285387.git.ps@pks.im>


* rs/c99-stdbool-test-balloon (2023-12-18) 1 commit
  (merged to 'next' on 2023-12-18 at 5a62aaa127)
 + git-compat-util: convert skip_{prefix,suffix}{,_mem} to bool

 Test balloon to use C99 "bool" type from <stdbool.h>.
 source: <2d30dc36-6091-4b47-846f-92d3f4a8b135@web.de>


* rs/show-ref-incompatible-options (2023-12-11) 1 commit
  (merged to 'next' on 2023-12-18 at 5a092285f7)
 + show-ref: use die_for_incompatible_opt3()

 Code clean-up for sanity checking of command line options for "git
 show-ref".
 source: <e5304253-3347-4900-bbf2-d3c6ee3fb976@web.de>


* rs/t6300-compressed-size-fix (2023-12-12) 1 commit
  (merged to 'next' on 2023-12-19 at 37ed09549c)
 + t6300: avoid hard-coding object sizes

 Test fix.
 source: <9feeb6cf-aabf-4002-917f-3f6c27547bc8@web.de>


* sp/test-i18ngrep (2023-12-18) 1 commit
  (merged to 'next' on 2023-12-18 at d54442693a)
 + test-lib-functions.sh: fix test_grep fail message wording

 Error message fix in the test framework.
 source: <20231203171956.771-1-shreyanshpaliwalcmsmn@gmail.com>

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

* ml/doc-merge-updates (2023-12-20) 2 commits
 - Documentation/git-merge.txt: use backticks for command wrapping
 - Documentation/git-merge.txt: fix reference to synopsis

 Doc update.

 Will merge to 'next'.
 source: <20231220195342.17590-1-mi.al.lohmann@gmail.com>


* cp/apply-core-filemode (2023-12-26) 3 commits
 - apply: code simplification
 - apply: correctly reverse patch's pre- and post-image mode bits
 - apply: ignore working tree filemode when !core.filemode

 "git apply" on a filesystem without filemode support have learned
 to take a hint from what is in the index for the path, even when
 not working with the "--index" or "--cached" option, when checking
 the executable bit match what is required by the preimage in the
 patch.

 Needs review.
 source: <20231226233218.472054-1-gitster@pobox.com>


* jc/archive-list-with-extra-args (2023-12-21) 1 commit
 - archive: "--list" does not take further options

 "git archive --list extra garbage" silently ignored excess command
 line parameters, which has been corrected.

 Will merge to 'next'.
 source: <xmqqmsu3mnix.fsf@gitster.g>


* jk/t1006-cat-file-objectsize-disk (2023-12-21) 1 commit
 - t1006: add tests for %(objectsize:disk)

 Test update.

 Will merge to 'next'.
 source: <20231221094722.GA570888@coredump.intra.peff.net>


* js/contributor-docs-updates (2023-12-21) 9 commits
 - SubmittingPatches: hyphenate non-ASCII
 - SubmittingPatches: clarify GitHub artifact format
 - SubmittingPatches: clarify GitHub visual
 - SubmittingPatches: improve extra tags advice
 - SubmittingPatches: update extra tags list
 - SubmittingPatches: discourage new trailers
 - SubmittingPatches: drop ref to "What's in git.git"
 - CodingGuidelines: write punctuation marks
 - CodingGuidelines: move period inside parentheses

 Doc update.

 Expecting a reroll, but basically looking good.
 source: <pull.1623.v2.git.1703176865.gitgitgadget@gmail.com>


* al/unit-test-ctype (2023-12-26) 1 commit
 - unit-tests: rewrite t/helper/test-ctype.c as a unit test.

 Move test-ctype helper to the unit-test framework.

 Expecting a reroll.
 source: <20231221231527.8130-1-ach.lumap@gmail.com>


* bk/bisect-doc-fix (2023-12-27) 1 commit
 - doc: use singular form of repeatable path arg

 Synopsis fix.

 Expecting a reroll.
 source: <3d46bca1-96d4-43ba-a912-1f7c76942287@smtp-relay.sendinblue.com>


* en/sparse-checkout-eoo (2023-12-26) 2 commits
 - sparse-checkout: be consistent with end of options markers
 - Merge branch 'jk/end-of-options' into jc/sparse-checkout-set-add-end-of-options

 "git sparse-checkout (add|set) --[no-]cone --end-of-options" did
 not handle "--end-of-options" correctly after a recent update.

 Will merge to 'next'.
 source: <pull.1625.v2.git.git.1703619562639.gitgitgadget@gmail.com>


* ja/doc-placeholders-fix (2023-12-26) 2 commits
 - doc: enforce placeholders in documentation
 - doc: enforce dashes in placeholders

 Docfix.

 Needs review.
 source: <pull.1626.git.1703539287.gitgitgadget@gmail.com>


* jc/sparse-checkout-set-default-fix (2023-12-26) 1 commit
 - sparse-checkout: use default patterns for 'set' only !stdin

 "git sparse-checkout set" added default patterns even when the
 patterns are being fed from the standard input, which has been
 corrected.

 Will merge to 'next'.
 source: <20231221065925.3234048-3-gitster@pobox.com>


* rs/fast-import-simplify-mempool-allocation (2023-12-26) 1 commit
 - fast-import: use mem_pool_calloc()

 Code simplification.

 Will merge to 'next'.
 source: <50c1f410-ca37-4c1c-a28b-3e9fad49f2b4@web.de>


* rs/mem-pool-improvements (2023-12-26) 2 commits
 - mem-pool: simplify alignment calculation
 - mem-pool: fix big allocations

 MemPool allocator fixes.

 Will merge to 'next'.
 source: <3e15d11a-bd19-49ca-b674-9b50e0ba7fc2@web.de>

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

* jc/retire-cas-opt-name-constant (2023-12-19) 1 commit
  (merged to 'next' on 2023-12-21 at 39ef057c8b)
 + remote.h: retire CAS_OPT_NAME

 Code clean-up.

 Will merge to 'master'.
 source: <xmqq5y0uc7tq.fsf@gitster.g>


* rs/rebase-use-strvec-pushf (2023-12-20) 1 commit
  (merged to 'next' on 2023-12-20 at ecb190973c)
 + rebase: use strvec_pushf() for format-patch revisions

 Code clean-up.

 Will merge to 'master'.
 source: <4ab7431c-6c1b-448c-b4d2-e8b9be0e4eef@web.de>


* ps/refstorage-extension (2023-12-20) 13 commits
 - t9500: write "extensions.refstorage" into config
 - builtin/clone: introduce `--ref-format=` value flag
 - builtin/init: introduce `--ref-format=` value flag
 - builtin/rev-parse: introduce `--show-ref-format` flag
 - t: introduce GIT_TEST_DEFAULT_REF_FORMAT envvar
 - setup: introduce GIT_DEFAULT_REF_FORMAT envvar
 - setup: introduce "extensions.refStorage" extension
 - setup: set repository's formats on init
 - setup: start tracking ref storage format when
 - refs: refactor logic to look up storage backends
 - worktree: skip reading HEAD when repairing worktrees
 - t: introduce DEFAULT_REPO_FORMAT prereq
 - Merge branch 'ps/clone-into-reftable-repository' into ps/refstorage-extension

 Introduce a new extension "refstorage" so that we can mark a
 repository that uses a non-default ref backend, like reftable.

 Needs review.
 source: <cover.1703067989.git.ps@pks.im>


* ps/reftable-fixes-and-optims (2023-12-20) 9 commits
 - SQUASH??? make "make hdr-check" pass
 - reftable/merged: transfer ownership of records when iterating
 - reftable/merged: really reuse buffers to compute record keys
 - reftable/record: store "val2" hashes as static arrays
 - reftable/record: store "val1" hashes as static arrays
 - reftable/record: constify some parts of the interface
 - reftable/writer: fix index corruption when writing multiple indices
 - reftable/stack: do not overwrite errors when compacting
 - Merge branch 'ps/reftable-fixes' into ps/reftable-fixes-and-optims

 More fixes and optimizations to the reftable backend.

 Needs review.
 source: <cover.1703063544.git.ps@pks.im>


* ps/pseudo-refs (2023-12-14) 4 commits
  (merged to 'next' on 2023-12-21 at 3460e3d667)
 + bisect: consistently write BISECT_EXPECTED_REV via the refdb
 + refs: complete list of special refs
 + refs: propagate errno when reading special refs fails
 + wt-status: read HEAD and ORIG_HEAD via the refdb

 Assorted changes around pseudoref handling.

 Will merge to 'master'.
 source: <cover.1702560829.git.ps@pks.im>


* tb/multi-pack-verbatim-reuse (2023-12-14) 26 commits
 - t/perf: add performance tests for multi-pack reuse
 - pack-bitmap: enable reuse from all bitmapped packs
 - pack-objects: allow setting `pack.allowPackReuse` to "single"
 - t/test-lib-functions.sh: implement `test_trace2_data` helper
 - pack-objects: add tracing for various packfile metrics
 - pack-bitmap: prepare to mark objects from multiple packs for reuse
 - pack-revindex: implement `midx_pair_to_pack_pos()`
 - pack-revindex: factor out `midx_key_to_pack_pos()` helper
 - midx: implement `midx_preferred_pack()`
 - git-compat-util.h: implement checked size_t to uint32_t conversion
 - pack-objects: include number of packs reused in output
 - pack-objects: prepare `write_reused_pack_verbatim()` for multi-pack reuse
 - pack-objects: prepare `write_reused_pack()` for multi-pack reuse
 - pack-objects: pass `bitmapped_pack`'s to pack-reuse functions
 - pack-objects: keep track of `pack_start` for each reuse pack
 - pack-objects: parameterize pack-reuse routines over a single pack
 - pack-bitmap: return multiple packs via `reuse_partial_packfile_from_bitmap()`
 - pack-bitmap: simplify `reuse_partial_packfile_from_bitmap()` signature
 - ewah: implement `bitmap_is_empty()`
 - pack-bitmap: pass `bitmapped_pack` struct to pack-reuse functions
 - midx: implement `midx_locate_pack()`
 - midx: implement `BTMP` chunk
 - midx: factor out `fill_pack_info()`
 - pack-bitmap: plug leak in find_objects()
 - pack-bitmap-write: deep-clear the `bb_commit` slab
 - pack-objects: free packing_data in more places

 Streaming spans of packfile data used to be done only from a
 single, primary, pack in a repository with multiple packfiles.  It
 has been extended to allow reuse from other packfiles, too.

 Will merge to 'next'?
 cf. <ZXurD1NTZ4TAs7WZ@nand.local>
 source: <cover.1702592603.git.me@ttaylorr.com>


* jc/bisect-doc (2023-12-09) 1 commit
 - bisect: document "terms" subcommand more fully

 Doc update.

 Needs review.
 source: <xmqqzfyjmk02.fsf@gitster.g>


* sh/completion-with-reftable (2023-12-19) 2 commits
  (merged to 'next' on 2023-12-20 at 7957d4aa5b)
 + completion: support pseudoref existence checks for reftables
 + completion: refactor existence checks for pseudorefs

 Command line completion script (in contrib/) learned to work better
 with the reftable backend.

 Will merge to 'master'.
 source: <cover.1703022850.git.stanhu@gmail.com>


* en/header-cleanup (2023-12-26) 12 commits
 - treewide: remove unnecessary includes in source files
 - treewide: add direct includes currently only pulled in transitively
 - trace2/tr2_tls.h: remove unnecessary include
 - submodule-config.h: remove unnecessary include
 - pkt-line.h: remove unnecessary include
 - line-log.h: remove unnecessary include
 - http.h: remove unnecessary include
 - fsmonitor--daemon.h: remove unnecessary includes
 - blame.h: remove unnecessary includes
 - archive.h: remove unnecessary include
 - treewide: remove unnecessary includes in source files
 - treewide: remove unnecessary includes from header files

 Remove unused header "#include".

 Will merge to 'next'.
 source: <pull.1617.v2.git.1703351700.gitgitgadget@gmail.com>


* jc/orphan-unborn (2023-11-24) 2 commits
  (merged to 'next' on 2023-12-21 at 030300487a)
 + orphan/unborn: fix use of 'orphan' in end-user facing messages
 + orphan/unborn: add to the glossary and use them consistently

 Doc updates to clarify what an "unborn branch" means.

 Will merge to 'master'.
 source: <xmqq4jhb977x.fsf@gitster.g>


* jw/builtin-objectmode-attr (2023-12-12) 2 commits
 - SQUASH??? - leakfix
 - attr: add builtin objectmode values support

 The builtin_objectmode attribute is populated for each path
 without adding anything in .gitattributes files, which would be
 useful in magic pathspec, e.g., ":(attr:builtin_objectmode=100755)"
 to limit to executables.

 Needs to get leakfix reviewed.
 cf. <xmqq5y0ssknj.fsf@gitster.g>
 source: <20231116054437.2343549-1-jojwang@google.com>


* tb/merge-tree-write-pack (2023-10-23) 5 commits
 - builtin/merge-tree.c: implement support for `--write-pack`
 - bulk-checkin: introduce `index_tree_bulk_checkin_incore()`
 - bulk-checkin: introduce `index_blob_bulk_checkin_incore()`
 - bulk-checkin: generify `stream_blob_to_pack()` for arbitrary types
 - bulk-checkin: extract abstract `bulk_checkin_source`

 "git merge-tree" learned "--write-pack" to record its result
 without creating loose objects.

 Broken when an object created during a merge is needed to continue merge
 cf. <CABPp-BEfy9VOvimP9==ry_rZXu=metOQ8s=_-XiG_Pdx9c06Ww@mail.gmail.com>
 source: <cover.1698101088.git.me@ttaylorr.com>


* tb/pair-chunk-expect (2023-11-10) 8 commits
 - midx: read `OOFF` chunk with `pair_chunk_expect()`
 - midx: read `OIDL` chunk with `pair_chunk_expect()`
 - commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 - commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `OIDL` chunk with `pair_chunk_expect()`
 - chunk-format: introduce `pair_chunk_expect()` helper
 - Merge branch 'jk/chunk-bounds-more' into HEAD

 Further code clean-up.

 Needs review.
 source: <cover.1699569246.git.me@ttaylorr.com>


* tb/path-filter-fix (2023-10-18) 17 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Expecting a reroll.
 cf. <20231023202212.GA5470@szeder.dev>
 source: <cover.1697653929.git.me@ttaylorr.com>


* ak/color-decorate-symbols (2023-10-23) 7 commits
 - log: add color.decorate.pseudoref config variable
 - refs: exempt pseudorefs from pattern prefixing
 - refs: add pseudorefs array and iteration functions
 - log: add color.decorate.ref config variable
 - log: add color.decorate.symbol config variable
 - log: use designated inits for decoration_colors
 - config: restructure color.decorate documentation

 A new config for coloring.

 Needs review.
 source: <20231023221143.72489-1-andy.koppe@gmail.com>


* la/trailer-cleanups (2023-12-20) 3 commits
  (merged to 'next' on 2023-12-21 at e26ede5f55)
 + trailer: use offsets for trailer_start/trailer_end
 + trailer: find the end of the log message
 + commit: ignore_non_trailer computes number of bytes to ignore

 Code clean-up.

 Will merge to 'master'.
 source: <pull.1563.v5.git.1697828495.gitgitgadget@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2023-12-14) 4 commits
 - archive: support remote archive from stateless transport
 - transport-helper: call do_take_over() in connect_helper
 - transport-helper: call do_take_over() in process_connect
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Needs review.
 source: <cover.1702562879.git.zhiyou.jx@alibaba-inc.com>


* jx/sideband-chomp-newline-fix (2023-12-18) 3 commits
 - pkt-line: do not chomp newlines for sideband messages
 - pkt-line: memorize sideband fragment in reader
 - test-pkt-line: add option parser for unpack-sideband

 Sideband demultiplexer fixes.

 Will merge to 'next'?
 source: <cover.1702823801.git.zhiyou.jx@alibaba-inc.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-10-16) 1 commit
  (merged to 'next' on 2023-12-21 at 929a027fb7)
 + status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Will merge to 'master'.
 cf. <xmqqil76kyov.fsf@gitster.g>
 source: <2e24ca9b-9c5f-f4df-b9f8-6574a714dfb2@gmail.com>


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

* jc/sparse-checkout-eoo (2023-12-21) 5 commits
 . sparse-checkout: tighten add_patterns_from_input()
 . sparse-checkout: use default patterns for 'set' only !stdin
 . SQUASH??? end-of-options test
 . sparse-checkout: take care of "--end-of-options" in set/add/check-rules
 - Merge branch 'jk/end-of-options' into jc/sparse-checkout-set-add-end-of-options

 "git sparse-checkout (add|set) --[no-]cone --end-of-options" did
 not handle "--end-of-options" correctly after a recent update.

 Superseded by the en/sparse-checkout-eoo topic.
 source: <20231221065925.3234048-1-gitster@pobox.com>



^ permalink raw reply	[relevance 23%]

* What's cooking in git.git (Dec 2023, #04; Wed, 20)
@ 2023-12-20 22:07 22% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-12-20 22:07 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

The 'maint' branch now points at the maintenance track of Git 2.43,
which was released earlier in the month, and the tip of 'next' has
been rewound and rebuilt on top of Git 2.43.  I am planning to start
ejecting topics that have been in the "stalled" state for too long.

The RelNotes symbolic link says we are now working towards Git 2.44.
It may not be a bad idea to reflect on what technical debt and UI
warts we have accumulated so far to see if we have enough of them to
start planning for a breaking Git 3.0 release (or, of course, keep
incrementally improve the system, which is much more preferrable---
continuity and stability is good).

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']

* en/complete-sparse-checkout (2023-12-03) 4 commits
  (merged to 'next' on 2023-12-12 at 3de75bd6af)
 + completion: avoid user confusion in non-cone mode
 + completion: avoid misleading completions in cone mode
 + completion: fix logic for determining whether cone mode is active
 + completion: squelch stray errors in sparse-checkout completion

 Command line completion (in contrib/) learned to complete path
 arguments to the "add/set" subcommands of "git sparse-checkout"
 better.
 source: <pull.1349.v3.git.1701583024.gitgitgadget@gmail.com>


* jc/revision-parse-int (2023-12-09) 1 commit
  (merged to 'next' on 2023-12-12 at 6209b4c97c)
 + revision: parse integer arguments to --max-count, --skip, etc., more carefully

 The command line parser for the "log" family of commands was too
 loose when parsing certain numbers, e.g., silently ignoring the
 extra 'q' in "git log -n 1q" without complaining, which has been
 tightened up.
 source: <xmqq5y181fx0.fsf_-_@gitster.g>


* jk/bisect-reset-fix (2023-12-09) 1 commit
  (merged to 'next' on 2023-12-12 at 8f946eafb6)
 + bisect: always clean on reset

 "git bisect reset" has been taught to clean up state files and refs
 even when BISECT_START file is gone.
 source: <20231207065341.GA778781@coredump.intra.peff.net>


* jk/config-cleanup (2023-12-09) 9 commits
  (merged to 'next' on 2023-12-12 at 44ee006c25)
 + sequencer: simplify away extra git_config_string() call
 + gpg-interface: drop pointless config_error_nonbool() checks
 + push: drop confusing configset/callback redundancy
 + config: use git_config_string() for core.checkRoundTripEncoding
 + diff: give more detailed messages for bogus diff.* config
 + config: use config_error_nonbool() instead of custom messages
 + imap-send: don't use git_die_config() inside callback
 + git_xmerge_config(): prefer error() to die()
 + config: reject bogus values for core.checkstat
 (this branch uses jk/implicit-true.)

 Code clean-up around use of configuration variables.
 source: <20231207071030.GA1275835@coredump.intra.peff.net>
 source: <20231207072338.GA1277727@coredump.intra.peff.net>


* jk/end-of-options (2023-12-09) 1 commit
  (merged to 'next' on 2023-12-12 at 4ae454b26d)
 + parse-options: decouple "--end-of-options" and "--"

 "git $cmd --end-of-options --rev -- --path" for some $cmd failed
 to interpret "--rev" as a rev, and "--path" as a path.  This was
 fixed for many programs like "reset" and "checkout".
 source: <20231206222145.GA136253@coredump.intra.peff.net>


* jk/implicit-true (2023-12-09) 7 commits
  (merged to 'next' on 2023-12-12 at 2a42fdc998)
 + fsck: handle NULL value when parsing message config
 + trailer: handle NULL value when parsing trailer-specific config
 + submodule: handle NULL value when parsing submodule.*.branch
 + help: handle NULL value for alias.* config
 + trace2: handle NULL values in tr2_sysenv config callback
 + setup: handle NULL value when parsing extensions
 + config: handle NULL value when parsing non-bools
 (this branch is used by jk/config-cleanup.)

 Some codepaths did not correctly parse configuration variables
 specified with valueless "true", which has been corrected.
 source: <20231207071030.GA1275835@coredump.intra.peff.net>


* jp/use-diff-index-in-pre-commit-sample (2023-12-03) 1 commit
  (merged to 'next' on 2023-12-12 at 4771ea61b9)
 + hooks--pre-commit: detect non-ASCII when renaming

 The sample pre-commit hook that tries to catch introduction of new
 paths that use potentially non-portable characters did not notice
 an existing path getting renamed to such a problematic path, when
 rename detection was enabled.
 source: <pull.1291.v2.git.git.1701360836307.gitgitgadget@gmail.com>


* mk/doc-gitfile-more (2023-12-03) 1 commit
  (merged to 'next' on 2023-12-12 at 7990e4a163)
 + doc: make the gitfile syntax easier to discover

 Doc update.
 source: <20231128065558.1061206-1-mk+copyleft@pimpmybyte.de>


* ps/ref-tests-update-more (2023-12-03) 10 commits
  (merged to 'next' on 2023-12-12 at 3d4004fe3b)
 + t6301: write invalid object ID via `test-tool ref-store`
 + t5551: stop writing packed-refs directly
 + t5401: speed up creation of many branches
 + t4013: simplify magic parsing and drop "failure"
 + t3310: stop checking for reference existence via `test -f`
 + t1417: make `reflog --updateref` tests backend agnostic
 + t1410: use test-tool to create empty reflog
 + t1401: stop treating FETCH_HEAD as real reference
 + t1400: split up generic reflog tests from the reffile-specific ones
 + t0410: mark tests to require the reffiles backend

 Tests update.
 source: <cover.1701242407.git.ps@pks.im>


* rs/incompatible-options-messages (2023-12-09) 7 commits
  (merged to 'next' on 2023-12-12 at a13847a7f6)
 + worktree: simplify incompatibility message for --orphan and commit-ish
 + worktree: standardize incompatibility messages
 + clean: factorize incompatibility message
 + revision, rev-parse: factorize incompatibility messages about - -exclude-hidden
 + revision: use die_for_incompatible_opt3() for - -graph/--reverse/--walk-reflogs
 + repack: use die_for_incompatible_opt3() for -A/-k/--cruft
 + push: use die_for_incompatible_opt4() for - -delete/--tags/--all/--mirror

 Clean-up code that handles combinations of incompatible options.
 source: <20231206115215.94467-1-l.s.r@web.de>

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

* jc/retire-cas-opt-name-constant (2023-12-19) 1 commit
 - remote.h: retire CAS_OPT_NAME

 Code clean-up.

 Will merge to 'next'.
 source: <xmqq5y0uc7tq.fsf@gitster.g>


* rs/rebase-use-strvec-pushf (2023-12-20) 1 commit
  (merged to 'next' on 2023-12-20 at ecb190973c)
 + rebase: use strvec_pushf() for format-patch revisions

 Code clean-up.

 Will merge to 'master'.
 source: <4ab7431c-6c1b-448c-b4d2-e8b9be0e4eef@web.de>


* ps/refstorage-extension (2023-12-20) 13 commits
 - t9500: write "extensions.refstorage" into config
 - builtin/clone: introduce `--ref-format=` value flag
 - builtin/init: introduce `--ref-format=` value flag
 - builtin/rev-parse: introduce `--show-ref-format` flag
 - t: introduce GIT_TEST_DEFAULT_REF_FORMAT envvar
 - setup: introduce GIT_DEFAULT_REF_FORMAT envvar
 - setup: introduce "extensions.refStorage" extension
 - setup: set repository's formats on init
 - setup: start tracking ref storage format when
 - refs: refactor logic to look up storage backends
 - worktree: skip reading HEAD when repairing worktrees
 - t: introduce DEFAULT_REPO_FORMAT prereq
 - Merge branch 'ps/clone-into-reftable-repository' into ps/refstorage-extension
 (this branch uses ps/clone-into-reftable-repository.)

 Introduce a new extension "refstorage" so that we can mark a
 repository that uses a non-default ref backend, like reftable.

 Needs review.
 source: <cover.1703067989.git.ps@pks.im>


* ps/reftable-fixes-and-optims (2023-12-20) 9 commits
 - SQUASH??? make "make hdr-check" pass
 - reftable/merged: transfer ownership of records when iterating
 - reftable/merged: really reuse buffers to compute record keys
 - reftable/record: store "val2" hashes as static arrays
 - reftable/record: store "val1" hashes as static arrays
 - reftable/record: constify some parts of the interface
 - reftable/writer: fix index corruption when writing multiple indices
 - reftable/stack: do not overwrite errors when compacting
 - Merge branch 'ps/reftable-fixes' into ps/reftable-fixes-and-optims
 (this branch uses ps/reftable-fixes.)

 More fixes and optimizations to the reftable backend.

 Needs review.
 source: <cover.1703063544.git.ps@pks.im>

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

* jk/mailinfo-oob-read-fix (2023-12-12) 1 commit
  (merged to 'next' on 2023-12-14 at 0dcfcb0d02)
 + mailinfo: fix out-of-bounds memory reads in unquote_quoted_pair()
 (this branch is used by jk/mailinfo-iterative-unquote-comment.)

 OOB read fix.

 Will merge to 'master'.
 source: <20231212221243.GA1656116@coredump.intra.peff.net>


* ps/pseudo-refs (2023-12-14) 4 commits
 - bisect: consistently write BISECT_EXPECTED_REV via the refdb
 - refs: complete list of special refs
 - refs: propagate errno when reading special refs fails
 - wt-status: read HEAD and ORIG_HEAD via the refdb

 Assorted changes around pseudoref handling.

 Will merge to 'next'.
 source: <cover.1702560829.git.ps@pks.im>


* rs/t6300-compressed-size-fix (2023-12-12) 1 commit
  (merged to 'next' on 2023-12-19 at 37ed09549c)
 + t6300: avoid hard-coding object sizes

 Test fix.

 Will merge to 'master'.
 source: <9feeb6cf-aabf-4002-917f-3f6c27547bc8@web.de>


* es/add-doc-list-short-form-of-all-in-synopsis (2023-12-15) 1 commit
  (merged to 'next' on 2023-12-18 at a4f20da2bf)
 + git-add.txt: add missing short option -A to synopsis

 Doc update.

 Will merge to 'master'.
 source: <20231215204333.1253-1-ericsunshine@charter.net>


* jc/doc-misspelt-refs-fix (2023-12-18) 1 commit
  (merged to 'next' on 2023-12-18 at e7799fd5c9)
 + doc: format.notes specify a ref under refs/notes/ hierarchy

 Doc update.

 Will merge to 'master'.
 source: <xmqqjzpfje33.fsf_-_@gitster.g>


* jc/doc-most-refs-are-not-that-special (2023-12-15) 5 commits
  (merged to 'next' on 2023-12-18 at aead30fcc8)
 + docs: MERGE_AUTOSTASH is not that special
 + docs: AUTO_MERGE is not that special
 + refs.h: HEAD is not that special
 + git-bisect.txt: BISECT_HEAD is not that special
 + git.txt: HEAD is not that special

 Doc updates.

 Will merge to 'master'.
 source: <20231215203245.3622299-1-gitster@pobox.com>


* jk/mailinfo-iterative-unquote-comment (2023-12-14) 2 commits
  (merged to 'next' on 2023-12-18 at 92363605fd)
 + mailinfo: avoid recursion when unquoting From headers
 + t5100: make rfc822 comment test more careful
 (this branch uses jk/mailinfo-oob-read-fix.)

 The code to parse the From e-mail header has been updated to avoid
 recursion.

 Will merge to 'master'.
 source: <20231214214444.GB2297853@coredump.intra.peff.net>


* ps/chainlint-self-check-update (2023-12-15) 1 commit
  (merged to 'next' on 2023-12-18 at 0de2e1807f)
 + tests: adjust whitespace in chainlint expectations

 Test framework update.

 Will merge to 'master'.
 source: <fb312f559de7b99244e4c86a995250599cd9be06.1702622508.git.ps@pks.im>


* tb/multi-pack-verbatim-reuse (2023-12-14) 26 commits
 - t/perf: add performance tests for multi-pack reuse
 - pack-bitmap: enable reuse from all bitmapped packs
 - pack-objects: allow setting `pack.allowPackReuse` to "single"
 - t/test-lib-functions.sh: implement `test_trace2_data` helper
 - pack-objects: add tracing for various packfile metrics
 - pack-bitmap: prepare to mark objects from multiple packs for reuse
 - pack-revindex: implement `midx_pair_to_pack_pos()`
 - pack-revindex: factor out `midx_key_to_pack_pos()` helper
 - midx: implement `midx_preferred_pack()`
 - git-compat-util.h: implement checked size_t to uint32_t conversion
 - pack-objects: include number of packs reused in output
 - pack-objects: prepare `write_reused_pack_verbatim()` for multi-pack reuse
 - pack-objects: prepare `write_reused_pack()` for multi-pack reuse
 - pack-objects: pass `bitmapped_pack`'s to pack-reuse functions
 - pack-objects: keep track of `pack_start` for each reuse pack
 - pack-objects: parameterize pack-reuse routines over a single pack
 - pack-bitmap: return multiple packs via `reuse_partial_packfile_from_bitmap()`
 - pack-bitmap: simplify `reuse_partial_packfile_from_bitmap()` signature
 - ewah: implement `bitmap_is_empty()`
 - pack-bitmap: pass `bitmapped_pack` struct to pack-reuse functions
 - midx: implement `midx_locate_pack()`
 - midx: implement `BTMP` chunk
 - midx: factor out `fill_pack_info()`
 - pack-bitmap: plug leak in find_objects()
 - pack-bitmap-write: deep-clear the `bb_commit` slab
 - pack-objects: free packing_data in more places

 Streaming spans of packfile data used to be done only from a
 single, primary, pack in a repository with multiple packfiles.  It
 has been extended to allow reuse from other packfiles, too.

 Will merge to 'next'?
 cf. <ZXurD1NTZ4TAs7WZ@nand.local>
 source: <cover.1702592603.git.me@ttaylorr.com>


* rs/c99-stdbool-test-balloon (2023-12-18) 1 commit
  (merged to 'next' on 2023-12-18 at 5a62aaa127)
 + git-compat-util: convert skip_{prefix,suffix}{,_mem} to bool

 Test balloon to use C99 "bool" type from <stdbool.h>.

 Will merge to 'master'.
 source: <2d30dc36-6091-4b47-846f-92d3f4a8b135@web.de>


* sp/test-i18ngrep (2023-12-18) 1 commit
  (merged to 'next' on 2023-12-18 at d54442693a)
 + test-lib-functions.sh: fix test_grep fail message wording

 Error message fix in the test framework.

 Will merge to 'master'.
 source: <20231203171956.771-1-shreyanshpaliwalcmsmn@gmail.com>


* jx/fetch-atomic-error-message-fix (2023-12-18) 2 commits
  (merged to 'next' on 2023-12-18 at a1988b00e5)
 + fetch: no redundant error message for atomic fetch
 + t5574: test porcelain output of atomic fetch

 "git fetch --atomic" issued an unnecessary empty error message,
 which has been corrected.

 Will merge to 'master'.
 cf. <ZX__e7VjyLXIl-uV@tanuki>
 source: <cover.1702821462.git.zhiyou.jx@alibaba-inc.com>


* jc/bisect-doc (2023-12-09) 1 commit
 - bisect: document "terms" subcommand more fully

 Doc update.

 Needs review.
 source: <xmqqzfyjmk02.fsf@gitster.g>


* rs/show-ref-incompatible-options (2023-12-11) 1 commit
  (merged to 'next' on 2023-12-18 at 5a092285f7)
 + show-ref: use die_for_incompatible_opt3()

 Code clean-up for sanity checking of command line options for "git
 show-ref".

 Will merge to 'master'.
 source: <e5304253-3347-4900-bbf2-d3c6ee3fb976@web.de>


* sh/completion-with-reftable (2023-12-19) 2 commits
  (merged to 'next' on 2023-12-20 at 7957d4aa5b)
 + completion: support pseudoref existence checks for reftables
 + completion: refactor existence checks for pseudorefs

 Command line completion script (in contrib/) learned to work better
 with the reftable backend.

 Will merge to 'master'.
 source: <cover.1703022850.git.stanhu@gmail.com>


* en/header-cleanup (2023-12-03) 12 commits
 - treewide: remove unnecessary includes in source files
 - treewide: add direct includes currently only pulled in transitively
 - trace2/tr2_tls.h: remove unnecessary include
 - submodule-config.h: remove unnecessary include
 - pkt-line.h: remove unnecessary include
 - line-log.h: remove unnecessary include
 - http.h: remove unnecessary include
 - fsmonitor--daemon.h: remove unnecessary includes
 - blame.h: remove unnecessary includes
 - archive.h: remove unnecessary include
 - treewide: remove unnecessary includes in source files
 - treewide: remove unnecessary includes from header files

 Remove unused header "#include".

 Has a few interactions with topics in flight.
 source: <pull.1617.git.1701585682.gitgitgadget@gmail.com>


* ps/clone-into-reftable-repository (2023-12-12) 7 commits
  (merged to 'next' on 2023-12-19 at adf7eb1f84)
 + builtin/clone: create the refdb with the correct object format
 + builtin/clone: skip reading HEAD when retrieving remote
 + builtin/clone: set up sparse checkout later
 + builtin/clone: fix bundle URIs with mismatching object formats
 + remote-curl: rediscover repository when fetching refs
 + setup: allow skipping creation of the refdb
 + setup: extract function to create the refdb
 (this branch is used by ps/refstorage-extension.)

 "git clone" has been prepared to allow cloning a repository with
 non-default hash function into a repository that uses the reftable
 backend.

 Will merge to 'master'.
 source: <cover.1702361370.git.ps@pks.im>


* jc/checkout-B-branch-in-use (2023-12-13) 2 commits
  (merged to 'next' on 2023-12-14 at 0a3998619e)
 + checkout: forbid "-B <branch>" from touching a branch used elsewhere
 + checkout: refactor die_if_checked_out() caller

 "git checkout -B <branch> [<start-point>]" allowed a branch that is
 in use in another worktree to be updated and checked out, which
 might be a bit unexpected.  The rule has been tightened, which is a
 breaking change.  "--ignore-other-worktrees" option is required to
 unbreak you, if you are used to the current behaviour that "-B"
 overrides the safety.

 Will merge to 'master'.
 source: <xmqqjzq9cl70.fsf@gitster.g>


* ps/reftable-fixes (2023-12-11) 11 commits
  (merged to 'next' on 2023-12-15 at ebba966016)
 + reftable/block: reuse buffer to compute record keys
 + reftable/block: introduce macro to initialize `struct block_iter`
 + reftable/merged: reuse buffer to compute record keys
 + reftable/stack: fix use of unseeded randomness
 + reftable/stack: fix stale lock when dying
 + reftable/stack: reuse buffers when reloading stack
 + reftable/stack: perform auto-compaction with transactional interface
 + reftable/stack: verify that `reftable_stack_add()` uses auto-compaction
 + reftable: handle interrupted writes
 + reftable: handle interrupted reads
 + reftable: wrap EXPECT macros in do/while
 (this branch is used by ps/reftable-fixes-and-optims.)

 Bunch of small fix-ups to the reftable code.

 Will merge to 'master'.
 source: <cover.1702285387.git.ps@pks.im>


* jc/orphan-unborn (2023-11-24) 2 commits
 - orphan/unborn: fix use of 'orphan' in end-user facing messages
 - orphan/unborn: add to the glossary and use them consistently

 Doc updates to clarify what an "unborn branch" means.

 Will merge to 'next'.
 source: <xmqq4jhb977x.fsf@gitster.g>


* jw/builtin-objectmode-attr (2023-12-12) 2 commits
 - SQUASH??? - leakfix
 - attr: add builtin objectmode values support

 The builtin_objectmode attribute is populated for each path
 without adding anything in .gitattributes files, which would be
 useful in magic pathspec, e.g., ":(attr:builtin_objectmode=100755)"
 to limit to executables.

 Needs to get leakfix reviewed.
 source: <20231116054437.2343549-1-jojwang@google.com>


* tb/merge-tree-write-pack (2023-10-23) 5 commits
 - builtin/merge-tree.c: implement support for `--write-pack`
 - bulk-checkin: introduce `index_tree_bulk_checkin_incore()`
 - bulk-checkin: introduce `index_blob_bulk_checkin_incore()`
 - bulk-checkin: generify `stream_blob_to_pack()` for arbitrary types
 - bulk-checkin: extract abstract `bulk_checkin_source`

 "git merge-tree" learned "--write-pack" to record its result
 without creating loose objects.

 Broken when an object created during a merge is needed to continue merge
 cf. <CABPp-BEfy9VOvimP9==ry_rZXu=metOQ8s=_-XiG_Pdx9c06Ww@mail.gmail.com>
 source: <cover.1698101088.git.me@ttaylorr.com>


* tb/pair-chunk-expect (2023-11-10) 8 commits
 - midx: read `OOFF` chunk with `pair_chunk_expect()`
 - midx: read `OIDL` chunk with `pair_chunk_expect()`
 - commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 - commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `OIDL` chunk with `pair_chunk_expect()`
 - chunk-format: introduce `pair_chunk_expect()` helper
 - Merge branch 'jk/chunk-bounds-more' into HEAD

 Further code clean-up.

 Needs review.
 source: <cover.1699569246.git.me@ttaylorr.com>


* tb/path-filter-fix (2023-10-18) 17 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Expecting a reroll.
 cf. <20231023202212.GA5470@szeder.dev>
 source: <cover.1697653929.git.me@ttaylorr.com>


* ak/color-decorate-symbols (2023-10-23) 7 commits
 - log: add color.decorate.pseudoref config variable
 - refs: exempt pseudorefs from pattern prefixing
 - refs: add pseudorefs array and iteration functions
 - log: add color.decorate.ref config variable
 - log: add color.decorate.symbol config variable
 - log: use designated inits for decoration_colors
 - config: restructure color.decorate documentation

 A new config for coloring.

 Needs review.
 source: <20231023221143.72489-1-andy.koppe@gmail.com>


* la/trailer-cleanups (2023-12-20) 3 commits
 - trailer: use offsets for trailer_start/trailer_end
 - trailer: find the end of the log message
 - commit: ignore_non_trailer computes number of bytes to ignore

 Code clean-up.

 Will merge to 'next'.
 source: <pull.1563.v5.git.1697828495.gitgitgadget@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2023-12-14) 4 commits
 - archive: support remote archive from stateless transport
 - transport-helper: call do_take_over() in connect_helper
 - transport-helper: call do_take_over() in process_connect
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Needs review.
 source: <cover.1702562879.git.zhiyou.jx@alibaba-inc.com>


* jx/sideband-chomp-newline-fix (2023-12-18) 3 commits
 - pkt-line: do not chomp newlines for sideband messages
 - pkt-line: memorize sideband fragment in reader
 - test-pkt-line: add option parser for unpack-sideband

 Sideband demultiplexer fixes.

 Will merge to 'next'?
 source: <cover.1702823801.git.zhiyou.jx@alibaba-inc.com>


* jc/fake-lstat (2023-09-15) 1 commit
  (merged to 'next' on 2023-12-15 at 48e34cc0b4)
 + cache: add fake_lstat()
 (this branch is used by jc/diff-cached-fsmonitor-fix.)

 A new helper to let us pretend that we called lstat() when we know
 our cache_entry is up-to-date via fsmonitor.

 Will merge to 'master'.
 cf. <e5295dbe-94d2-3186-5663-2466eba4bdde@jeffhostetler.com>
 source: <xmqqcyykig1l.fsf@gitster.g>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-10-16) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Will merge to 'next'.
 cf. <xmqqil76kyov.fsf@gitster.g>
 source: <2e24ca9b-9c5f-f4df-b9f8-6574a714dfb2@gmail.com>


* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
  (merged to 'next' on 2023-12-15 at 4aa7596593)
 + diff-lib: fix check_removed() when fsmonitor is active
 + Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
 + Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
 (this branch uses jc/fake-lstat.)

 The optimization based on fsmonitor in the "diff --cached"
 codepath is resurrected with the "fake-lstat" introduced earlier.

 Will merge to 'master'.
 cf. <e5295dbe-94d2-3186-5663-2466eba4bdde@jeffhostetler.com>
 source: <xmqqr0n0h0tw.fsf@gitster.g>


^ permalink raw reply	[relevance 22%]

* Re: What's cooking in git.git (Dec 2023, #03; Mon, 18)
  @ 2023-12-19 17:30 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-12-19 17:30 UTC (permalink / raw)
  To: René Scharfe; +Cc: git

René Scharfe <l.s.r@web.de> writes:

> Am 19.12.23 um 02:06 schrieb Junio C Hamano:
>> * rs/t6300-compressed-size-fix (2023-12-13) 2 commits
>>  - test-lib-functions: add object size functions
>>  - t6300: avoid hard-coding object sizes
>>
>>  Test fix.
>>
>>  Will merge to 'next'?
>>  source: <9feeb6cf-aabf-4002-917f-3f6c27547bc8@web.de>
>>  source: <ff735aac-b60b-4d52-a6dc-180ab504fc8d@web.de>
>
> The first patch is good to go.  The seconds one isn't; please drop it.

Alright.  Thanks.  Will do.


^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Dec 2023, #03; Mon, 18)
@ 2023-12-19  1:06 20% Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2023-12-19  1:06 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

The 'maint' branch now points at the maintenance track of Git 2.43,
which was released earlier in the month, and the tip of 'next' has
been rewound and rebuilt on top of Git 2.43.  I am planning to start
ejecting topics that have been in the "stalled" state for too long.

The RelNotes symbolic link says we are now working towards Git 2.44.
It may not be a bad idea to reflect on what technical debt and UI
warts we have accumulated so far to see if we have enough of them to
start planning for a breaking Git 3.0 release (or, of course, keep
incrementally improve the system, which is much more preferrable---
continuity and stability is good).

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']

* ac/fuzz-show-date (2023-11-20) 1 commit
  (merged to 'next' on 2023-12-11 at f36795a896)
 + fuzz: add new oss-fuzz fuzzer for date.c / date.h

 Subject approxidate() and show_date() machinery to OSS-Fuzz.
 source: <pull.1612.v4.git.1700243267653.gitgitgadget@gmail.com>


* ad/merge-file-diff-algo (2023-11-22) 1 commit
  (merged to 'next' on 2023-12-11 at ab43a54c43)
 + merge-file: add --diff-algorithm option

 "git merge-file" learned to take the "--diff-algorithm" option to
 use algorithm different from the default "myers" diff.
 source: <pull.1606.v2.git.git.1700507932937.gitgitgadget@gmail.com>


* cc/git-replay (2023-11-26) 14 commits
  (merged to 'next' on 2023-12-11 at 6f7d123578)
 + replay: stop assuming replayed branches do not diverge
 + replay: add --contained to rebase contained branches
 + replay: add --advance or 'cherry-pick' mode
 + replay: use standard revision ranges
 + replay: make it a minimal server side command
 + replay: remove HEAD related sanity check
 + replay: remove progress and info output
 + replay: add an important FIXME comment about gpg signing
 + replay: change rev walking options
 + replay: introduce pick_regular_commit()
 + replay: die() instead of failing assert()
 + replay: start using parse_options API
 + replay: introduce new builtin
 + t6429: remove switching aspects of fast-rebase

 Introduce "git replay", a tool meant on the server side without
 working tree to recreate a history.
 cf. <6bfe1541-54dd-ca6b-e930-94d3038060f1@gmx.de>
 source: <20231124111044.3426007-1-christian.couder@gmail.com>


* jb/reflog-expire-delete-dry-run-options (2023-11-26) 1 commit
  (merged to 'next' on 2023-12-11 at c7e9846963)
 + builtin/reflog.c: fix dry-run option short name

 Command line parsing fix for "git reflog".
 source: <20231126000514.85509-1-josh@brob.st>


* jh/trace2-redact-auth (2023-11-23) 4 commits
  (merged to 'next' on 2023-12-11 at 7e679a4c4d)
 + t0212: test URL redacting in EVENT format
 + t0211: test URL redacting in PERF format
 + trace2: redact passwords from https:// URLs by default
 + trace2: fix signature of trace2_def_param() macro

 trace2 streams used to record the URLs that potentially embed
 authentication material, which has been corrected.
 source: <pull.1616.git.1700680717.gitgitgadget@gmail.com>


* js/packfile-h-typofix (2023-11-20) 1 commit
  (merged to 'next' on 2023-12-11 at 328399439a)
 + packfile.c: fix a typo in `each_file_in_pack_dir_fn()`'s declaration

 Typofix.
 source: <pull.1614.git.1700226915859.gitgitgadget@gmail.com>


* js/update-urls-in-doc-and-comment (2023-11-26) 4 commits
  (merged to 'next' on 2023-12-11 at 3cda3f2a03)
 + doc: refer to internet archive
 + doc: update links for andre-simon.de
 + doc: switch links to https
 + doc: update links to current pages

 Stale URLs have been updated to their current counterparts (or
 archive.org) and HTTP links are replaced with working HTTPS links.
 source: <pull.1589.v3.git.1700796916.gitgitgadget@gmail.com>


* ps/commit-graph-less-paranoid (2023-11-26) 1 commit
  (merged to 'next' on 2023-12-11 at 618bd08fa1)
 + commit-graph: disable GIT_COMMIT_GRAPH_PARANOIA by default

 Earlier we stopped relying on commit-graph that (still) records
 information about commits that are lost from the object store,
 which has negative performance implications.  The default has been
 flipped to disable this pessimization.
 source: <17e08289cd59d20de0de9b4e18f5e6bf77987351.1700823746.git.ps@pks.im>


* ps/ref-deletion-updates (2023-11-17) 4 commits
  (merged to 'next' on 2023-12-11 at ca551a0c36)
 + refs: remove `delete_refs` callback from backends
 + refs: deduplicate code to delete references
 + refs/files: use transactions to delete references
 + t5510: ensure that the packed-refs file needs locking

 Simplify API implementation to delete references by eliminating
 duplication.
 source: <cover.1699951815.git.ps@pks.im>


* rs/column-leakfix (2023-11-27) 1 commit
  (merged to 'next' on 2023-12-11 at 9ac1707337)
 + column: release strbuf and string_list after use

 Leakfix.
 source: <f087137d-a5aa-487e-a1cb-0ad7117b38ed@web.de>


* rs/i18n-cannot-be-used-together (2023-11-27) 1 commit
  (merged to 'next' on 2023-12-11 at a44e1c84c9)
 + i18n: factorize even more 'incompatible options' messages

 Clean-up code that handles combinations of incompatible options.
 source: <e6eb12e4-bb63-473c-9c2f-965a4d5981ad@web.de>

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

* jk/mailinfo-oob-read-fix (2023-12-12) 1 commit
  (merged to 'next' on 2023-12-14 at 0dcfcb0d02)
 + mailinfo: fix out-of-bounds memory reads in unquote_quoted_pair()
 (this branch is used by jk/mailinfo-iterative-unquote-comment.)

 OOB read fix.

 Will merge to 'master'.
 source: <20231212221243.GA1656116@coredump.intra.peff.net>


* ps/pseudo-refs (2023-12-14) 4 commits
 - bisect: consistently write BISECT_EXPECTED_REV via the refdb
 - refs: complete list of special refs
 - refs: propagate errno when reading special refs fails
 - wt-status: read HEAD and ORIG_HEAD via the refdb

 Assorted changes around pseudoref handling.
 source: <cover.1702560829.git.ps@pks.im>


* rs/t6300-compressed-size-fix (2023-12-13) 2 commits
 - test-lib-functions: add object size functions
 - t6300: avoid hard-coding object sizes

 Test fix.

 Will merge to 'next'?
 source: <9feeb6cf-aabf-4002-917f-3f6c27547bc8@web.de>
 source: <ff735aac-b60b-4d52-a6dc-180ab504fc8d@web.de>


* es/add-doc-list-short-form-of-all-in-synopsis (2023-12-15) 1 commit
  (merged to 'next' on 2023-12-18 at a4f20da2bf)
 + git-add.txt: add missing short option -A to synopsis

 Doc update.

 Will merge to 'master'.
 source: <20231215204333.1253-1-ericsunshine@charter.net>


* jc/doc-misspelt-refs-fix (2023-12-18) 1 commit
  (merged to 'next' on 2023-12-18 at e7799fd5c9)
 + doc: format.notes specify a ref under refs/notes/ hierarchy

 Doc update.

 Will merge to 'master'.
 source: <xmqqjzpfje33.fsf_-_@gitster.g>


* jc/doc-most-refs-are-not-that-special (2023-12-15) 5 commits
  (merged to 'next' on 2023-12-18 at aead30fcc8)
 + docs: MERGE_AUTOSTASH is not that special
 + docs: AUTO_MERGE is not that special
 + refs.h: HEAD is not that special
 + git-bisect.txt: BISECT_HEAD is not that special
 + git.txt: HEAD is not that special

 Doc updates.

 Will merge to 'master'.
 source: <20231215203245.3622299-1-gitster@pobox.com>


* jk/mailinfo-iterative-unquote-comment (2023-12-14) 2 commits
  (merged to 'next' on 2023-12-18 at 92363605fd)
 + mailinfo: avoid recursion when unquoting From headers
 + t5100: make rfc822 comment test more careful
 (this branch uses jk/mailinfo-oob-read-fix.)

 The code to parse the From e-mail header has been updated to avoid
 recursion.

 Will merge to 'master'.
 source: <20231214214444.GB2297853@coredump.intra.peff.net>


* ps/chainlint-self-check-update (2023-12-15) 1 commit
  (merged to 'next' on 2023-12-18 at 0de2e1807f)
 + tests: adjust whitespace in chainlint expectations

 Test framework update.

 Will merge to 'master'.
 source: <fb312f559de7b99244e4c86a995250599cd9be06.1702622508.git.ps@pks.im>


* tb/multi-pack-verbatim-reuse (2023-12-14) 26 commits
 - t/perf: add performance tests for multi-pack reuse
 - pack-bitmap: enable reuse from all bitmapped packs
 - pack-objects: allow setting `pack.allowPackReuse` to "single"
 - t/test-lib-functions.sh: implement `test_trace2_data` helper
 - pack-objects: add tracing for various packfile metrics
 - pack-bitmap: prepare to mark objects from multiple packs for reuse
 - pack-revindex: implement `midx_pair_to_pack_pos()`
 - pack-revindex: factor out `midx_key_to_pack_pos()` helper
 - midx: implement `midx_preferred_pack()`
 - git-compat-util.h: implement checked size_t to uint32_t conversion
 - pack-objects: include number of packs reused in output
 - pack-objects: prepare `write_reused_pack_verbatim()` for multi-pack reuse
 - pack-objects: prepare `write_reused_pack()` for multi-pack reuse
 - pack-objects: pass `bitmapped_pack`'s to pack-reuse functions
 - pack-objects: keep track of `pack_start` for each reuse pack
 - pack-objects: parameterize pack-reuse routines over a single pack
 - pack-bitmap: return multiple packs via `reuse_partial_packfile_from_bitmap()`
 - pack-bitmap: simplify `reuse_partial_packfile_from_bitmap()` signature
 - ewah: implement `bitmap_is_empty()`
 - pack-bitmap: pass `bitmapped_pack` struct to pack-reuse functions
 - midx: implement `midx_locate_pack()`
 - midx: implement `BTMP` chunk
 - midx: factor out `fill_pack_info()`
 - pack-bitmap: plug leak in find_objects()
 - pack-bitmap-write: deep-clear the `bb_commit` slab
 - pack-objects: free packing_data in more places

 Streaming spans of packfile data used to be done only from a
 single, primary, pack in a repository with multiple packfiles.  It
 has been extended to allow reuse from other packfiles, too.

 Will merge to 'next'?
 source: <cover.1702592603.git.me@ttaylorr.com>


* rs/c99-stdbool-test-balloon (2023-12-18) 1 commit
  (merged to 'next' on 2023-12-18 at 5a62aaa127)
 + git-compat-util: convert skip_{prefix,suffix}{,_mem} to bool

 Test balloon to use C99 "bool" type from <stdbool.h>.

 Will merge to 'master'.
 source: <2d30dc36-6091-4b47-846f-92d3f4a8b135@web.de>


* sp/test-i18ngrep (2023-12-18) 1 commit
  (merged to 'next' on 2023-12-18 at d54442693a)
 + test-lib-functions.sh: fix test_grep fail message wording

 Error message fix in the test framework.

 Will merge to 'master'.
 source: <20231203171956.771-1-shreyanshpaliwalcmsmn@gmail.com>

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

* jx/fetch-atomic-error-message-fix (2023-12-18) 2 commits
  (merged to 'next' on 2023-12-18 at a1988b00e5)
 + fetch: no redundant error message for atomic fetch
 + t5574: test porcelain output of atomic fetch

 "git fetch --atomic" issued an unnecessary empty error message,
 which has been corrected.

 Will merge to 'master'.
 cf. <ZX__e7VjyLXIl-uV@tanuki>
 source: <cover.1702821462.git.zhiyou.jx@alibaba-inc.com>


* jc/bisect-doc (2023-12-09) 1 commit
 - bisect: document "terms" subcommand more fully

 Doc update.

 Needs review.
 source: <xmqqzfyjmk02.fsf@gitster.g>


* rs/show-ref-incompatible-options (2023-12-11) 1 commit
  (merged to 'next' on 2023-12-18 at 5a092285f7)
 + show-ref: use die_for_incompatible_opt3()

 Code clean-up for sanity checking of command line options for "git
 show-ref".

 Will merge to 'master'.
 source: <e5304253-3347-4900-bbf2-d3c6ee3fb976@web.de>


* jp/use-diff-index-in-pre-commit-sample (2023-12-03) 1 commit
  (merged to 'next' on 2023-12-12 at 4771ea61b9)
 + hooks--pre-commit: detect non-ASCII when renaming

 The sample pre-commit hook that tries to catch introduction of new
 paths that use potentially non-portable characters did not notice
 an existing path getting renamed to such a problematic path, when
 rename detection was enabled.

 Will merge to 'master'.
 source: <pull.1291.v2.git.git.1701360836307.gitgitgadget@gmail.com>


* mk/doc-gitfile-more (2023-12-03) 1 commit
  (merged to 'next' on 2023-12-12 at 7990e4a163)
 + doc: make the gitfile syntax easier to discover

 Doc update.

 Will merge to 'master'.
 source: <20231128065558.1061206-1-mk+copyleft@pimpmybyte.de>


* ps/ref-tests-update-more (2023-12-03) 10 commits
  (merged to 'next' on 2023-12-12 at 3d4004fe3b)
 + t6301: write invalid object ID via `test-tool ref-store`
 + t5551: stop writing packed-refs directly
 + t5401: speed up creation of many branches
 + t4013: simplify magic parsing and drop "failure"
 + t3310: stop checking for reference existence via `test -f`
 + t1417: make `reflog --updateref` tests backend agnostic
 + t1410: use test-tool to create empty reflog
 + t1401: stop treating FETCH_HEAD as real reference
 + t1400: split up generic reflog tests from the reffile-specific ones
 + t0410: mark tests to require the reffiles backend

 Tests update.

 Will merge to 'master'.
 source: <cover.1701242407.git.ps@pks.im>


* sh/completion-with-reftable (2023-12-03) 2 commits
 - completion: stop checking for reference existence via `test -f`
 - completion: refactor existence checks for special refs

 Command line completion script (in contrib/) learned to work better
 with the reftable backend.

 Expecting a reroll.
 source: <20231130202404.89791-1-stanhu@gmail.com>


* en/header-cleanup (2023-12-03) 12 commits
 - treewide: remove unnecessary includes in source files
 - treewide: add direct includes currently only pulled in transitively
 - trace2/tr2_tls.h: remove unnecessary include
 - submodule-config.h: remove unnecessary include
 - pkt-line.h: remove unnecessary include
 - line-log.h: remove unnecessary include
 - http.h: remove unnecessary include
 - fsmonitor--daemon.h: remove unnecessary includes
 - blame.h: remove unnecessary includes
 - archive.h: remove unnecessary include
 - treewide: remove unnecessary includes in source files
 - treewide: remove unnecessary includes from header files

 Remove unused header "#include".

 Has a few interactions with topics in flight.
 source: <pull.1617.git.1701585682.gitgitgadget@gmail.com>


* jc/revision-parse-int (2023-12-09) 1 commit
  (merged to 'next' on 2023-12-12 at 6209b4c97c)
 + revision: parse integer arguments to --max-count, --skip, etc., more carefully

 The command line parser for the "log" family of commands was too
 loose when parsing certain numbers, e.g., silently ignoring the
 extra 'q' in "git log -n 1q" without complaining, which has been
 tightened up.

 Will merge to 'master'.
 source: <xmqq5y181fx0.fsf_-_@gitster.g>


* jk/bisect-reset-fix (2023-12-09) 1 commit
  (merged to 'next' on 2023-12-12 at 8f946eafb6)
 + bisect: always clean on reset

 "git bisect reset" has been taught to clean up state files and refs
 even when BISECT_START file is gone.

 Will merge to 'master'.
 source: <20231207065341.GA778781@coredump.intra.peff.net>


* jk/implicit-true (2023-12-09) 7 commits
  (merged to 'next' on 2023-12-12 at 2a42fdc998)
 + fsck: handle NULL value when parsing message config
 + trailer: handle NULL value when parsing trailer-specific config
 + submodule: handle NULL value when parsing submodule.*.branch
 + help: handle NULL value for alias.* config
 + trace2: handle NULL values in tr2_sysenv config callback
 + setup: handle NULL value when parsing extensions
 + config: handle NULL value when parsing non-bools
 (this branch is used by jk/config-cleanup.)

 Some codepaths did not correctly parse configuration variables
 specified with valueless "true", which has been corrected.

 Will merge to 'master'.
 source: <20231207071030.GA1275835@coredump.intra.peff.net>


* jk/config-cleanup (2023-12-09) 9 commits
  (merged to 'next' on 2023-12-12 at 44ee006c25)
 + sequencer: simplify away extra git_config_string() call
 + gpg-interface: drop pointless config_error_nonbool() checks
 + push: drop confusing configset/callback redundancy
 + config: use git_config_string() for core.checkRoundTripEncoding
 + diff: give more detailed messages for bogus diff.* config
 + config: use config_error_nonbool() instead of custom messages
 + imap-send: don't use git_die_config() inside callback
 + git_xmerge_config(): prefer error() to die()
 + config: reject bogus values for core.checkstat
 (this branch uses jk/implicit-true.)

 Code clean-up around use of configuration variables.

 Will merge to 'master'.
 source: <20231207071030.GA1275835@coredump.intra.peff.net>
 source: <20231207072338.GA1277727@coredump.intra.peff.net>


* jk/end-of-options (2023-12-09) 1 commit
  (merged to 'next' on 2023-12-12 at 4ae454b26d)
 + parse-options: decouple "--end-of-options" and "--"

 "git $cmd --end-of-options --rev -- --path" for some $cmd failed
 to interpret "--rev" as a rev, and "--path" as a path.  This was
 fixed for many programs like "reset" and "checkout".

 Will merge to 'master'.
 source: <20231206222145.GA136253@coredump.intra.peff.net>


* ps/clone-into-reftable-repository (2023-12-12) 7 commits
 - builtin/clone: create the refdb with the correct object format
 - builtin/clone: skip reading HEAD when retrieving remote
 - builtin/clone: set up sparse checkout later
 - builtin/clone: fix bundle URIs with mismatching object formats
 - remote-curl: rediscover repository when fetching refs
 - setup: allow skipping creation of the refdb
 - setup: extract function to create the refdb

 "git clone" has been prepared to allow cloning a repository with
 non-default hash function into a repository that uses the reftable
 backend.

 Will merge to 'next'?
 source: <cover.1702361370.git.ps@pks.im>


* rs/incompatible-options-messages (2023-12-09) 7 commits
  (merged to 'next' on 2023-12-12 at a13847a7f6)
 + worktree: simplify incompatibility message for --orphan and commit-ish
 + worktree: standardize incompatibility messages
 + clean: factorize incompatibility message
 + revision, rev-parse: factorize incompatibility messages about - -exclude-hidden
 + revision: use die_for_incompatible_opt3() for - -graph/--reverse/--walk-reflogs
 + repack: use die_for_incompatible_opt3() for -A/-k/--cruft
 + push: use die_for_incompatible_opt4() for - -delete/--tags/--all/--mirror

 Clean-up code that handles combinations of incompatible options.

 Will merge to 'master'.
 source: <20231206115215.94467-1-l.s.r@web.de>


* jc/checkout-B-branch-in-use (2023-12-13) 2 commits
  (merged to 'next' on 2023-12-14 at 0a3998619e)
 + checkout: forbid "-B <branch>" from touching a branch used elsewhere
 + checkout: refactor die_if_checked_out() caller

 "git checkout -B <branch> [<start-point>]" allowed a branch that is
 in use in another worktree to be updated and checked out, which
 might be a bit unexpected.  The rule has been tightened, which is a
 breaking change.  "--ignore-other-worktrees" option is required to
 unbreak you, if you are used to the current behaviour that "-B"
 overrides the safety.

 Will merge to 'master'.
 source: <xmqqjzq9cl70.fsf@gitster.g>


* ps/reftable-fixes (2023-12-11) 11 commits
  (merged to 'next' on 2023-12-15 at ebba966016)
 + reftable/block: reuse buffer to compute record keys
 + reftable/block: introduce macro to initialize `struct block_iter`
 + reftable/merged: reuse buffer to compute record keys
 + reftable/stack: fix use of unseeded randomness
 + reftable/stack: fix stale lock when dying
 + reftable/stack: reuse buffers when reloading stack
 + reftable/stack: perform auto-compaction with transactional interface
 + reftable/stack: verify that `reftable_stack_add()` uses auto-compaction
 + reftable: handle interrupted writes
 + reftable: handle interrupted reads
 + reftable: wrap EXPECT macros in do/while

 Bunch of small fix-ups to the reftable code.

 Will merge to 'master'.
 source: <cover.1702285387.git.ps@pks.im>


* en/complete-sparse-checkout (2023-12-03) 4 commits
  (merged to 'next' on 2023-12-12 at 3de75bd6af)
 + completion: avoid user confusion in non-cone mode
 + completion: avoid misleading completions in cone mode
 + completion: fix logic for determining whether cone mode is active
 + completion: squelch stray errors in sparse-checkout completion

 Command line completion (in contrib/) learned to complete path
 arguments to the "add/set" subcommands of "git sparse-checkout"
 better.

 Will merge to 'master'.
 source: <pull.1349.v3.git.1701583024.gitgitgadget@gmail.com>


* jc/orphan-unborn (2023-11-24) 2 commits
 - orphan/unborn: fix use of 'orphan' in end-user facing messages
 - orphan/unborn: add to the glossary and use them consistently

 Doc updates to clarify what an "unborn branch" means.

 Comments?
 source: <xmqq4jhb977x.fsf@gitster.g>


* jw/builtin-objectmode-attr (2023-12-12) 2 commits
 - SQUASH??? - leakfix
 - attr: add builtin objectmode values support

 The builtin_objectmode attribute is populated for each path
 without adding anything in .gitattributes files, which would be
 useful in magic pathspec, e.g., ":(attr:builtin_objectmode=100755)"
 to limit to executables.

 Needs to get leakfix reviewed.
 source: <20231116054437.2343549-1-jojwang@google.com>


* tb/merge-tree-write-pack (2023-10-23) 5 commits
 - builtin/merge-tree.c: implement support for `--write-pack`
 - bulk-checkin: introduce `index_tree_bulk_checkin_incore()`
 - bulk-checkin: introduce `index_blob_bulk_checkin_incore()`
 - bulk-checkin: generify `stream_blob_to_pack()` for arbitrary types
 - bulk-checkin: extract abstract `bulk_checkin_source`

 "git merge-tree" learned "--write-pack" to record its result
 without creating loose objects.

 Broken when an object created during a merge is needed to continue merge
 cf. <CABPp-BEfy9VOvimP9==ry_rZXu=metOQ8s=_-XiG_Pdx9c06Ww@mail.gmail.com>
 source: <cover.1698101088.git.me@ttaylorr.com>


* tb/pair-chunk-expect (2023-11-10) 8 commits
 - midx: read `OOFF` chunk with `pair_chunk_expect()`
 - midx: read `OIDL` chunk with `pair_chunk_expect()`
 - commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 - commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `OIDL` chunk with `pair_chunk_expect()`
 - chunk-format: introduce `pair_chunk_expect()` helper
 - Merge branch 'jk/chunk-bounds-more' into HEAD

 Further code clean-up.

 Needs review.
 source: <cover.1699569246.git.me@ttaylorr.com>


* tb/path-filter-fix (2023-10-18) 17 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Needs (hopefully final and quick) review.
 source: <cover.1697653929.git.me@ttaylorr.com>


* ak/color-decorate-symbols (2023-10-23) 7 commits
 - log: add color.decorate.pseudoref config variable
 - refs: exempt pseudorefs from pattern prefixing
 - refs: add pseudorefs array and iteration functions
 - log: add color.decorate.ref config variable
 - log: add color.decorate.symbol config variable
 - log: use designated inits for decoration_colors
 - config: restructure color.decorate documentation

 A new config for coloring.

 Needs review.
 source: <20231023221143.72489-1-andy.koppe@gmail.com>


* la/trailer-cleanups (2023-10-20) 3 commits
 - trailer: use offsets for trailer_start/trailer_end
 - trailer: find the end of the log message
 - commit: ignore_non_trailer computes number of bytes to ignore

 Code clean-up.

 Comments?
 source: <pull.1563.v5.git.1697828495.gitgitgadget@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2023-12-14) 4 commits
 - archive: support remote archive from stateless transport
 - transport-helper: call do_take_over() in connect_helper
 - transport-helper: call do_take_over() in process_connect
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Needs review.
 source: <cover.1702562879.git.zhiyou.jx@alibaba-inc.com>


* jx/sideband-chomp-newline-fix (2023-12-18) 3 commits
 - pkt-line: do not chomp newlines for sideband messages
 - pkt-line: memorize sideband fragment in reader
 - test-pkt-line: add option parser for unpack-sideband

 Sideband demultiplexer fixes.

 Will merge to 'next'?
 source: <cover.1702823801.git.zhiyou.jx@alibaba-inc.com>


* jc/fake-lstat (2023-09-15) 1 commit
  (merged to 'next' on 2023-12-15 at 48e34cc0b4)
 + cache: add fake_lstat()
 (this branch is used by jc/diff-cached-fsmonitor-fix.)

 A new helper to let us pretend that we called lstat() when we know
 our cache_entry is up-to-date via fsmonitor.

 Will merge to 'master'.
 cf. <e5295dbe-94d2-3186-5663-2466eba4bdde@jeffhostetler.com>
 source: <xmqqcyykig1l.fsf@gitster.g>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-10-16) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 source: <2e24ca9b-9c5f-f4df-b9f8-6574a714dfb2@gmail.com>

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

* ak/p4-initial-empty-commits (2023-11-23) 1 commit
 - git-p4: fix fast import when empty commit is first

 Expecting a reroll.
 source: <pull.1609.git.git.1700639764041.gitgitgadget@gmail.com>


* js/bugreport-in-the-same-minute (2023-10-16) 1 commit
 - bugreport: include +i in outfile suffix as needed

 Instead of auto-generating a filename that is already in use for
 output and fail the command, `git bugreport` learned to fuzz the
 filename to avoid collisions with existing files.

 Expecting a reroll.
 cf. <ZTtZ5CbIGETy1ucV.jacob@initialcommit.io>
 source: <20231016214045.146862-2-jacob@initialcommit.io>


* kh/t7900-cleanup (2023-10-17) 9 commits
 - t7900: fix register dependency
 - t7900: factor out packfile dependency
 - t7900: fix `print-args` dependency
 - t7900: fix `pfx` dependency
 - t7900: factor out common schedule setup
 - t7900: factor out inheritance test dependency
 - t7900: create commit so that branch is born
 - t7900: setup and tear down clones
 - t7900: remove register dependency

 Test clean-up.

 Perhaps discard?
 cf. <655ca147-c214-41be-919d-023c1b27b311@app.fastmail.com>
 source: <cover.1697319294.git.code@khaugsbakk.name>


* js/config-parse (2023-09-21) 5 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split do_event() into start and flush operations
 - config: split out config_parse_options

 The parsing routines for the configuration files have been split
 into a separate file.

 Needs review.
 source: <cover.1695330852.git.steadmon@google.com>


* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
  (merged to 'next' on 2023-12-15 at 4aa7596593)
 + diff-lib: fix check_removed() when fsmonitor is active
 + Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
 + Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
 (this branch uses jc/fake-lstat.)

 The optimization based on fsmonitor in the "diff --cached"
 codepath is resurrected with the "fake-lstat" introduced earlier.

 Will merge to 'master'.
 cf. <e5295dbe-94d2-3186-5663-2466eba4bdde@jeffhostetler.com>
 source: <xmqqr0n0h0tw.fsf@gitster.g>


* pw/rebase-sigint (2023-09-07) 1 commit
 - rebase -i: ignore signals when forking subprocesses

 If the commit log editor or other external programs (spawned via
 "exec" insn in the todo list) receive internactive signal during
 "git rebase -i", it caused not just the spawned program but the
 "Git" process that spawned them, which is often not what the end
 user intended.  "git" learned to ignore SIGINT and SIGQUIT while
 waiting for these subprocesses.

 Expecting a reroll.
 cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
 source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


^ permalink raw reply	[relevance 20%]

* Re: What's cooking in git.git (Dec 2023, #01; Sat, 9)
  @ 2023-12-14 16:53 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-12-14 16:53 UTC (permalink / raw)
  To: Jeff Hostetler; +Cc: git

Jeff Hostetler <git@jeffhostetler.com> writes:

>> * jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
>> * jc/fake-lstat (2023-09-15) 1 commit
>
> I think these look good.  And yes, it is better to insure that the
> stat struct is always well-defined rather than sometimes uninitialized.

Thanks.

> FWIW, in
> f954c7b8ff3 (fsmonitor: never set CE_FSMONITOR_VALID on submodules,
> 2022-05-26)
> we try to never set the CE_FSMONITOR_VALID bit on submodules (because
> status on a submodule is much more than just an lstat check on the
> submodule root directory and we always should recursively ask Git to
> compute the submodule's status).
>
> I haven't had time to investigate, but I wonder if the original
> complaint on `diff-lib` was due to another code path that allowed
> the CE_FSMONITOR_VALID bit to get set on a submodule entry.


^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Dec 2023, #02; Mon, 11)
@ 2023-12-12  1:23 19% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-12-12  1:23 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

The 'maint' branch now points at the maintenance track of Git 2.43,
which was released earlier in the month, and the tip of 'next' has
been rewound and rebuilt on top of Git 2.43.  I am planning to start
ejecting topics that have been in the "stalled" state for too long.

The RelNotes symbolic link says we are now working towards Git 2.44.
It may not be a bad idea to reflect on what technical debt and UI
warts we have accumulated so far to see if we have enough of them to
start planning for a breaking Git 3.0 release (or, of course, keep
incrementally improve the system, which is much more preferrable---
continuity and stability is good).

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']

* ak/rebase-autosquash (2023-11-16) 3 commits
  (merged to 'next' on 2023-11-17 at 3ed6e79445)
 + rebase: rewrite --(no-)autosquash documentation
 + rebase: support --autosquash without -i
 + rebase: fully ignore rebase.autoSquash without -i

 "git rebase --autosquash" is now enabled for non-interactive rebase,
 but it is still incompatible with the apply backend.
 source: <20231114214339.10925-1-andy.koppe@gmail.com>


* jk/chunk-bounds-more (2023-11-09) 9 commits
  (merged to 'next' on 2023-11-13 at 3df4b18bea)
 + commit-graph: mark chunk error messages for translation
 + commit-graph: drop verify_commit_graph_lite()
 + commit-graph: check order while reading fanout chunk
 + commit-graph: use fanout value for graph size
 + commit-graph: abort as soon as we see a bogus chunk
 + commit-graph: clarify missing-chunk error messages
 + commit-graph: drop redundant call to "lite" verification
 + midx: check consistency of fanout table
 + commit-graph: handle overflow in chunk_size checks
 (this branch is used by tb/pair-chunk-expect.)

 Code clean-up for jk/chunk-bounds topic.
 source: <20231109070310.GA2697602@coredump.intra.peff.net>


* js/ci-discard-prove-state (2023-11-14) 1 commit
  (merged to 'next' on 2023-11-14 at fade3ba143)
 + ci: avoid running the test suite _twice_
 (this branch uses ps/ci-gitlab.)

 The way CI testing used "prove" could lead to running the test
 suite twice needlessly, which has been corrected.
 source: <pull.1613.git.1699894837844.gitgitgadget@gmail.com>


* js/doc-unit-tests (2023-11-10) 3 commits
  (merged to 'next' on 2023-11-10 at 7d00ffd06b)
 + ci: run unit tests in CI
 + unit tests: add TAP unit test framework
 + unit tests: add a project plan document
 (this branch is used by js/doc-unit-tests-with-cmake.)

 Process to add some form of low-level unit tests has started.
 source: <cover.1699555664.git.steadmon@google.com>


* js/doc-unit-tests-with-cmake (2023-11-10) 7 commits
  (merged to 'next' on 2023-11-10 at b4503c9c8c)
 + cmake: handle also unit tests
 + cmake: use test names instead of full paths
 + cmake: fix typo in variable name
 + artifacts-tar: when including `.dll` files, don't forget the unit-tests
 + unit-tests: do show relative file paths
 + unit-tests: do not mistake `.pdb` files for being executable
 + cmake: also build unit tests
 (this branch uses js/doc-unit-tests.)

 Update the base topic to work with CMake builds.
 source: <pull.1579.v3.git.1695640836.gitgitgadget@gmail.com>


* jw/git-add-attr-pathspec (2023-11-04) 1 commit
  (merged to 'next' on 2023-11-13 at b61be94e4d)
 + attr: enable attr pathspec magic for git-add and git-stash

 "git add" and "git stash" learned to support the ":(attr:...)"
 magic pathspec.
 source: <20231103163449.1578841-1-jojwang@google.com>


* ps/ban-a-or-o-operator-with-test (2023-11-11) 4 commits
  (merged to 'next' on 2023-11-14 at d84471baab)
 + Makefile: stop using `test -o` when unlinking duplicate executables
 + contrib/subtree: convert subtree type check to use case statement
 + contrib/subtree: stop using `-o` to test for number of args
 + global: convert trivial usages of `test <expr> -a/-o <expr>`

 Test and shell scripts clean-up.
 source: <cover.1699609940.git.ps@pks.im>


* ps/ci-gitlab (2023-11-09) 8 commits
  (merged to 'next' on 2023-11-10 at ea7ed67945)
 + ci: add support for GitLab CI
 + ci: install test dependencies for linux-musl
 + ci: squelch warnings when testing with unusable Git repo
 + ci: unify setup of some environment variables
 + ci: split out logic to set up failed test artifacts
 + ci: group installation of Docker dependencies
 + ci: make grouping setup more generic
 + ci: reorder definitions for grouping functions
 (this branch is used by js/ci-discard-prove-state.)

 Add support for GitLab CI.
 source: <cover.1699514143.git.ps@pks.im>


* ps/httpd-tests-on-nixos (2023-11-11) 3 commits
  (merged to 'next' on 2023-11-13 at 81bd6f5334)
 + t9164: fix inability to find basename(1) in Subversion hooks
 + t/lib-httpd: stop using legacy crypt(3) for authentication
 + t/lib-httpd: dynamically detect httpd and modules path

 Portability tweak.
 source: <cover.1699596457.git.ps@pks.im>


* ps/ref-tests-update (2023-11-03) 10 commits
  (merged to 'next' on 2023-11-13 at dc26e55d6f)
 + t: mark several tests that assume the files backend with REFFILES
 + t7900: assert the absence of refs via git-for-each-ref(1)
 + t7300: assert exact states of repo
 + t4207: delete replace references via git-update-ref(1)
 + t1450: convert tests to remove worktrees via git-worktree(1)
 + t: convert tests to not access reflog via the filesystem
 + t: convert tests to not access symrefs via the filesystem
 + t: convert tests to not write references via the filesystem
 + t: allow skipping expected object ID in `ref-store update-ref`
 + Merge branch 'ps/show-ref' into ps/ref-tests-update

 Update ref-related tests.
 source: <cover.1698914571.git.ps@pks.im>


* ss/format-patch-use-encode-headers-for-cover-letter (2023-11-10) 1 commit
  (merged to 'next' on 2023-11-14 at 1a4bd59e15)
 + format-patch: fix ignored encode_email_headers for cover letter

 "git format-patch --encode-email-headers" ignored the option when
 preparing the cover letter, which has been corrected.
 source: <20231109111950.387219-1-contact@emersion.fr>


* tz/send-email-negatable-options (2023-11-17) 2 commits
  (merged to 'next' on 2023-11-17 at f09e533e43)
 + send-email: avoid duplicate specification warnings
 + perl: bump the required Perl version to 5.8.1 from 5.8.0

 Newer versions of Getopt::Long started giving warnings against our
 (ab)use of it in "git send-email".  Bump the minimum version
 requirement for Perl to 5.8.1 (from September 2002) to allow
 simplifying our implementation.
 source: <20231116193014.470420-1-tmz@pobox.com>


* vd/for-each-ref-unsorted-optimization (2023-11-16) 10 commits
  (merged to 'next' on 2023-11-17 at ff99420bf6)
 + t/perf: add perf tests for for-each-ref
 + ref-filter.c: use peeled tag for '*' format fields
 + for-each-ref: clean up documentation of --format
 + ref-filter.c: filter & format refs in the same callback
 + ref-filter.c: refactor to create common helper functions
 + ref-filter.c: rename 'ref_filter_handler()' to 'filter_one()'
 + ref-filter.h: add functions for filter/format & format-only
 + ref-filter.h: move contains caches into filter
 + ref-filter.h: add max_count and omit_empty to ref_format
 + ref-filter.c: really don't sort when using --no-sort

 "git for-each-ref --no-sort" still sorted the refs alphabetically
 which paid non-trivial cost.  It has been redefined to show output
 in an unspecified order, to allow certain optimizations to take
 advantage of.
 source: <pull.1609.v2.git.1699991638.gitgitgadget@gmail.com>

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

* jc/bisect-doc (2023-12-09) 1 commit
 - bisect: document "terms" subcommand more fully

 Doc update.

 Needs review.
 source: <xmqqzfyjmk02.fsf@gitster.g>


* rs/show-ref-incompatible-options (2023-12-11) 1 commit
 - show-ref: use die_for_incompatible_opt3()

 source: <e5304253-3347-4900-bbf2-d3c6ee3fb976@web.de>

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

* pw/rebase-sigint (2023-09-07) 1 commit
 - rebase -i: ignore signals when forking subprocesses

 If the commit log editor or other external programs (spawned via
 "exec" insn in the todo list) receive internactive signal during
 "git rebase -i", it caused not just the spawned program but the
 "Git" process that spawned them, which is often not what the end
 user intended.  "git" learned to ignore SIGINT and SIGQUIT while
 waiting for these subprocesses.

 Expecting a reroll.
 cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
 source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
 - diff-lib: fix check_removed() when fsmonitor is active
 - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
 - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
 (this branch uses jc/fake-lstat.)

 The optimization based on fsmonitor in the "diff --cached"
 codepath is resurrected with the "fake-lstat" introduced earlier.

 It is unknown if the optimization is worth resurrecting, but in case...
 source: <xmqqr0n0h0tw.fsf@gitster.g>

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

* jp/use-diff-index-in-pre-commit-sample (2023-12-03) 1 commit
 - hooks--pre-commit: detect non-ASCII when renaming

 The sample pre-commit hook that tries to catch introduction of new
 paths that use potentially non-portable characters did not notice
 an existing path getting renamed to such a problematic path, when
 rename detection was enabled.

 Will merge to 'next'.
 source: <pull.1291.v2.git.git.1701360836307.gitgitgadget@gmail.com>


* mk/doc-gitfile-more (2023-12-03) 1 commit
 - doc: make the gitfile syntax easier to discover

 Doc update.

 Will merge to 'next'.
 source: <20231128065558.1061206-1-mk+copyleft@pimpmybyte.de>


* ps/ref-tests-update-more (2023-12-03) 10 commits
 - t6301: write invalid object ID via `test-tool ref-store`
 - t5551: stop writing packed-refs directly
 - t5401: speed up creation of many branches
 - t4013: simplify magic parsing and drop "failure"
 - t3310: stop checking for reference existence via `test -f`
 - t1417: make `reflog --updateref` tests backend agnostic
 - t1410: use test-tool to create empty reflog
 - t1401: stop treating FETCH_HEAD as real reference
 - t1400: split up generic reflog tests from the reffile-specific ones
 - t0410: mark tests to require the reffiles backend

 Tests update.

 Will merge to 'next'.
 source: <cover.1701242407.git.ps@pks.im>


* sh/completion-with-reftable (2023-12-03) 2 commits
 - completion: stop checking for reference existence via `test -f`
 - completion: refactor existence checks for special refs

 Command line completion script (in contrib/) learned to work better
 with the reftable backend.

 Expecting a reroll.
 source: <20231130202404.89791-1-stanhu@gmail.com>


* en/header-cleanup (2023-12-03) 12 commits
 - treewide: remove unnecessary includes in source files
 - treewide: add direct includes currently only pulled in transitively
 - trace2/tr2_tls.h: remove unnecessary include
 - submodule-config.h: remove unnecessary include
 - pkt-line.h: remove unnecessary include
 - line-log.h: remove unnecessary include
 - http.h: remove unnecessary include
 - fsmonitor--daemon.h: remove unnecessary includes
 - blame.h: remove unnecessary includes
 - archive.h: remove unnecessary include
 - treewide: remove unnecessary includes in source files
 - treewide: remove unnecessary includes from header files

 Remove unused header "#include".

 Has a few interactions with topics in flight.
 source: <pull.1617.git.1701585682.gitgitgadget@gmail.com>


* jc/revision-parse-int (2023-12-09) 1 commit
 - revision: parse integer arguments to --max-count, --skip, etc., more carefully

 The command line parser for the "log" family of commands was too
 loose when parsing certain numbers, e.g., silently ignoring the
 extra 'q' in "git log -n 1q" without complaining, which has been
 tightened up.

 Will merge to 'next'.
 source: <xmqq5y181fx0.fsf_-_@gitster.g>


* jk/bisect-reset-fix (2023-12-09) 1 commit
 - bisect: always clean on reset

 "git bisect reset" has been taught to clean up state files and refs
 even when BISECT_START file is gone.

 Will merge to 'next'.
 source: <20231207065341.GA778781@coredump.intra.peff.net>


* jk/implicit-true (2023-12-09) 7 commits
 - fsck: handle NULL value when parsing message config
 - trailer: handle NULL value when parsing trailer-specific config
 - submodule: handle NULL value when parsing submodule.*.branch
 - help: handle NULL value for alias.* config
 - trace2: handle NULL values in tr2_sysenv config callback
 - setup: handle NULL value when parsing extensions
 - config: handle NULL value when parsing non-bools
 (this branch is used by jk/config-cleanup.)

 Some codepaths did not correctly parse configuration variables
 specified with valueless "true", which has been corrected.

 Will merge to 'next'.
 source: <20231207071030.GA1275835@coredump.intra.peff.net>


* jk/config-cleanup (2023-12-09) 9 commits
 - sequencer: simplify away extra git_config_string() call
 - gpg-interface: drop pointless config_error_nonbool() checks
 - push: drop confusing configset/callback redundancy
 - config: use git_config_string() for core.checkRoundTripEncoding
 - diff: give more detailed messages for bogus diff.* config
 - config: use config_error_nonbool() instead of custom messages
 - imap-send: don't use git_die_config() inside callback
 - git_xmerge_config(): prefer error() to die()
 - config: reject bogus values for core.checkstat
 (this branch uses jk/implicit-true.)

 Code clean-up around use of configuration variables.

 Will merge to 'next'.
 source: <20231207071030.GA1275835@coredump.intra.peff.net>
 source: <20231207072338.GA1277727@coredump.intra.peff.net>


* jk/end-of-options (2023-12-09) 1 commit
 - parse-options: decouple "--end-of-options" and "--"

 "git log --end-of-options --rev -- --path" learned to interpret
 "--rev" as a rev, and "--path" as a path, as expected.

 Will merge to 'next'.
 source: <20231206222145.GA136253@coredump.intra.peff.net>


* ps/clone-into-reftable-repository (2023-12-09) 7 commits
 - builtin/clone: create the refdb with the correct object format
 - builtin/clone: skip reading HEAD when retrieving remote
 - builtin/clone: set up sparse checkout later
 - builtin/clone: fix bundle URIs with mismatching object formats
 - remote-curl: rediscover repository when fetching refs
 - setup: allow skipping creation of the refdb
 - setup: extract function to create the refdb

 "git clone" has been prepared to allow cloning a repository with
 non-default hash function into a repository that uses the reftable
 backend.

 Fails t5550 under SHA-256 mode.
 cf. <xmqq7clmn3w1.fsf@gitster.g>
 source: <cover.1701863960.git.ps@pks.im>


* rs/incompatible-options-messages (2023-12-09) 7 commits
 - worktree: simplify incompatibility message for --orphan and commit-ish
 - worktree: standardize incompatibility messages
 - clean: factorize incompatibility message
 - revision, rev-parse: factorize incompatibility messages about - -exclude-hidden
 - revision: use die_for_incompatible_opt3() for - -graph/--reverse/--walk-reflogs
 - repack: use die_for_incompatible_opt3() for -A/-k/--cruft
 - push: use die_for_incompatible_opt4() for - -delete/--tags/--all/--mirror

 Clean-up code that handles combinations of incompatible options.

 Will merge to 'next'.
 source: <20231206115215.94467-1-l.s.r@web.de>


* ad/merge-file-diff-algo (2023-11-22) 1 commit
  (merged to 'next' on 2023-12-11 at ab43a54c43)
 + merge-file: add --diff-algorithm option

 "git merge-file" learned to take the "--diff-algorithm" option to
 use algorithm different from the default "myers" diff.

 Will merge to 'master'.
 source: <pull.1606.v2.git.git.1700507932937.gitgitgadget@gmail.com>


* ak/p4-initial-empty-commits (2023-11-23) 1 commit
 - git-p4: fix fast import when empty commit is first

 Expecting a reroll.
 source: <pull.1609.git.git.1700639764041.gitgitgadget@gmail.com>


* jc/checkout-B-branch-in-use (2023-12-09) 3 commits
 - fixup! checkout: forbid "-B <branch>" from touching a branch used elsewhere
 - checkout: forbid "-B <branch>" from touching a branch used elsewhere
 - checkout: refactor die_if_checked_out() caller

 "git checkout -B <branch> [<start-point>]" allowed a branch that is
 in use in another worktree to be updated and checked out, which
 might be a bit unexpected.  The rule has been tightened, which is a
 breaking change.  "--ignore-other-worktrees" option is required to
 unbreak you, if you are used to the current behaviour that "-B"
 overrides the safety.

 Needs review.
 source: <xmqqjzq9cl70.fsf@gitster.g>


* jh/trace2-redact-auth (2023-11-23) 4 commits
  (merged to 'next' on 2023-12-11 at 7e679a4c4d)
 + t0212: test URL redacting in EVENT format
 + t0211: test URL redacting in PERF format
 + trace2: redact passwords from https:// URLs by default
 + trace2: fix signature of trace2_def_param() macro

 trace2 streams used to record the URLs that potentially embed
 authentication material, which has been corrected.

 Will merge to 'master'.
 source: <pull.1616.git.1700680717.gitgitgadget@gmail.com>


* ps/commit-graph-less-paranoid (2023-11-26) 1 commit
  (merged to 'next' on 2023-12-11 at 618bd08fa1)
 + commit-graph: disable GIT_COMMIT_GRAPH_PARANOIA by default

 Earlier we stopped relying on commit-graph that (still) records
 information about commits that are lost from the object store,
 which has negative performance implications.  The default has been
 flipped to disable this pessimization.

 Will merge to 'master'.
 source: <17e08289cd59d20de0de9b4e18f5e6bf77987351.1700823746.git.ps@pks.im>


* ps/reftable-fixes (2023-12-11) 11 commits
 - reftable/block: reuse buffer to compute record keys
 - reftable/block: introduce macro to initialize `struct block_iter`
 - reftable/merged: reuse buffer to compute record keys
 - reftable/stack: fix use of unseeded randomness
 - reftable/stack: fix stale lock when dying
 - reftable/stack: reuse buffers when reloading stack
 - reftable/stack: perform auto-compaction with transactional interface
 - reftable/stack: verify that `reftable_stack_add()` uses auto-compaction
 - reftable: handle interrupted writes
 - reftable: handle interrupted reads
 - reftable: wrap EXPECT macros in do/while

 Bunch of small fix-ups to the reftable code.

 Will merge to 'next'?
 source: <cover.1702285387.git.ps@pks.im>


* en/complete-sparse-checkout (2023-12-03) 4 commits
 - completion: avoid user confusion in non-cone mode
 - completion: avoid misleading completions in cone mode
 - completion: fix logic for determining whether cone mode is active
 - completion: squelch stray errors in sparse-checkout completion

 Command line completion (in contrib/) learned to complete path
 arguments to the "add/set" subcommands of "git sparse-checkout"
 better.

 Will merge to 'next'.
 source: <pull.1349.v3.git.1701583024.gitgitgadget@gmail.com>


* jb/reflog-expire-delete-dry-run-options (2023-11-26) 1 commit
  (merged to 'next' on 2023-12-11 at c7e9846963)
 + builtin/reflog.c: fix dry-run option short name

 Command line parsing fix for "git reflog".

 Will merge to 'master'.
 source: <20231126000514.85509-1-josh@brob.st>


* jc/orphan-unborn (2023-11-24) 2 commits
 - orphan/unborn: fix use of 'orphan' in end-user facing messages
 - orphan/unborn: add to the glossary and use them consistently

 Doc updates to clarify what an "unborn branch" means.

 Comments?
 source: <xmqq4jhb977x.fsf@gitster.g>


* rs/column-leakfix (2023-11-27) 1 commit
  (merged to 'next' on 2023-12-11 at 9ac1707337)
 + column: release strbuf and string_list after use

 Leakfix.

 Will merge to 'master'.
 source: <f087137d-a5aa-487e-a1cb-0ad7117b38ed@web.de>


* rs/i18n-cannot-be-used-together (2023-11-27) 1 commit
  (merged to 'next' on 2023-12-11 at a44e1c84c9)
 + i18n: factorize even more 'incompatible options' messages

 Clean-up code that handles combinations of incompatible options.

 Will merge to 'master'.
 source: <e6eb12e4-bb63-473c-9c2f-965a4d5981ad@web.de>


* ac/fuzz-show-date (2023-11-20) 1 commit
  (merged to 'next' on 2023-12-11 at f36795a896)
 + fuzz: add new oss-fuzz fuzzer for date.c / date.h

 Subject approxidate() and show_date() machinery to OSS-Fuzz.

 Will merge to 'master'.
 source: <pull.1612.v4.git.1700243267653.gitgitgadget@gmail.com>


* js/packfile-h-typofix (2023-11-20) 1 commit
  (merged to 'next' on 2023-12-11 at 328399439a)
 + packfile.c: fix a typo in `each_file_in_pack_dir_fn()`'s declaration

 Typofix.

 Will merge to 'master'.
 source: <pull.1614.git.1700226915859.gitgitgadget@gmail.com>


* jw/builtin-objectmode-attr (2023-12-09) 1 commit
 - attr: add builtin objectmode values support

 The builtin_objectmode attribute is populated for each path
 without adding anything in .gitattributes files, which would be
 useful in magic pathspec, e.g., ":(attr:builtin_objectmode=100755)"
 to limit to executables.

 Will merge to 'next'.
 source: <20231116054437.2343549-1-jojwang@google.com>


* ps/ref-deletion-updates (2023-11-17) 4 commits
  (merged to 'next' on 2023-12-11 at ca551a0c36)
 + refs: remove `delete_refs` callback from backends
 + refs: deduplicate code to delete references
 + refs/files: use transactions to delete references
 + t5510: ensure that the packed-refs file needs locking

 Simplify API implementation to delete references by eliminating
 duplication.

 Will merge to 'master'.
 source: <cover.1699951815.git.ps@pks.im>


* jx/fetch-atomic-error-message-fix (2023-10-19) 2 commits
 - fetch: no redundant error message for atomic fetch
 - t5574: test porcelain output of atomic fetch

 "git fetch --atomic" issued an unnecessary empty error message,
 which has been corrected.

 Expecting an update.
 cf. <ZTjQIrCgSANAT8wR@tanuki>
 source: <ced46baeb1c18b416b4b4cc947f498bea2910b1b.1697725898.git.zhiyou.jx@alibaba-inc.com>


* js/bugreport-in-the-same-minute (2023-10-16) 1 commit
 - bugreport: include +i in outfile suffix as needed

 Instead of auto-generating a filename that is already in use for
 output and fail the command, `git bugreport` learned to fuzz the
 filename to avoid collisions with existing files.

 Expecting a reroll.
 cf. <ZTtZ5CbIGETy1ucV.jacob@initialcommit.io>
 source: <20231016214045.146862-2-jacob@initialcommit.io>


* kh/t7900-cleanup (2023-10-17) 9 commits
 - t7900: fix register dependency
 - t7900: factor out packfile dependency
 - t7900: fix `print-args` dependency
 - t7900: fix `pfx` dependency
 - t7900: factor out common schedule setup
 - t7900: factor out inheritance test dependency
 - t7900: create commit so that branch is born
 - t7900: setup and tear down clones
 - t7900: remove register dependency

 Test clean-up.

 Perhaps discard?
 cf. <655ca147-c214-41be-919d-023c1b27b311@app.fastmail.com>
 source: <cover.1697319294.git.code@khaugsbakk.name>


* tb/merge-tree-write-pack (2023-10-23) 5 commits
 - builtin/merge-tree.c: implement support for `--write-pack`
 - bulk-checkin: introduce `index_tree_bulk_checkin_incore()`
 - bulk-checkin: introduce `index_blob_bulk_checkin_incore()`
 - bulk-checkin: generify `stream_blob_to_pack()` for arbitrary types
 - bulk-checkin: extract abstract `bulk_checkin_source`

 "git merge-tree" learned "--write-pack" to record its result
 without creating loose objects.

 Broken when an object created during a merge is needed to continue merge
 cf. <CABPp-BEfy9VOvimP9==ry_rZXu=metOQ8s=_-XiG_Pdx9c06Ww@mail.gmail.com>
 source: <cover.1698101088.git.me@ttaylorr.com>


* tb/pair-chunk-expect (2023-11-10) 8 commits
 - midx: read `OOFF` chunk with `pair_chunk_expect()`
 - midx: read `OIDL` chunk with `pair_chunk_expect()`
 - commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 - commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `OIDL` chunk with `pair_chunk_expect()`
 - chunk-format: introduce `pair_chunk_expect()` helper
 - Merge branch 'jk/chunk-bounds-more' into HEAD

 Further code clean-up.

 Needs review.
 source: <cover.1699569246.git.me@ttaylorr.com>


* tb/path-filter-fix (2023-10-18) 17 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Needs (hopefully final and quick) review.
 source: <cover.1697653929.git.me@ttaylorr.com>


* cc/git-replay (2023-11-26) 14 commits
  (merged to 'next' on 2023-12-11 at 6f7d123578)
 + replay: stop assuming replayed branches do not diverge
 + replay: add --contained to rebase contained branches
 + replay: add --advance or 'cherry-pick' mode
 + replay: use standard revision ranges
 + replay: make it a minimal server side command
 + replay: remove HEAD related sanity check
 + replay: remove progress and info output
 + replay: add an important FIXME comment about gpg signing
 + replay: change rev walking options
 + replay: introduce pick_regular_commit()
 + replay: die() instead of failing assert()
 + replay: start using parse_options API
 + replay: introduce new builtin
 + t6429: remove switching aspects of fast-rebase

 Introduce "git replay", a tool meant on the server side without
 working tree to recreate a history.

 Will merge to 'master'.
 cf. <6bfe1541-54dd-ca6b-e930-94d3038060f1@gmx.de>
 source: <20231124111044.3426007-1-christian.couder@gmail.com>


* ak/color-decorate-symbols (2023-10-23) 7 commits
 - log: add color.decorate.pseudoref config variable
 - refs: exempt pseudorefs from pattern prefixing
 - refs: add pseudorefs array and iteration functions
 - log: add color.decorate.ref config variable
 - log: add color.decorate.symbol config variable
 - log: use designated inits for decoration_colors
 - config: restructure color.decorate documentation

 A new config for coloring.

 Needs review.
 source: <20231023221143.72489-1-andy.koppe@gmail.com>


* js/update-urls-in-doc-and-comment (2023-11-26) 4 commits
  (merged to 'next' on 2023-12-11 at 3cda3f2a03)
 + doc: refer to internet archive
 + doc: update links for andre-simon.de
 + doc: switch links to https
 + doc: update links to current pages

 Stale URLs have been updated to their current counterparts (or
 archive.org) and HTTP links are replaced with working HTTPS links.

 Will merge to 'master'.
 source: <pull.1589.v3.git.1700796916.gitgitgadget@gmail.com>


* la/trailer-cleanups (2023-10-20) 3 commits
 - trailer: use offsets for trailer_start/trailer_end
 - trailer: find the end of the log message
 - commit: ignore_non_trailer computes number of bytes to ignore

 Code clean-up.

 Comments?
 source: <pull.1563.v5.git.1697828495.gitgitgadget@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2023-10-04) 4 commits
 - archive: support remote archive from stateless transport
 - transport-helper: call do_take_over() in connect_helper
 - transport-helper: call do_take_over() in process_connect
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Needs review.
 source: <cover.1696432593.git.zhiyou.jx@alibaba-inc.com>


* jx/sideband-chomp-newline-fix (2023-10-04) 3 commits
 - pkt-line: do not chomp newlines for sideband messages
 - pkt-line: memorize sideband fragment in reader
 - test-pkt-line: add option parser for unpack-sideband

 Sideband demultiplexer fixes.

 Needs review.
 source: <cover.1696425168.git.zhiyou.jx@alibaba-inc.com>


* js/config-parse (2023-09-21) 5 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split do_event() into start and flush operations
 - config: split out config_parse_options

 The parsing routines for the configuration files have been split
 into a separate file.

 Needs review.
 source: <cover.1695330852.git.steadmon@google.com>


* jc/fake-lstat (2023-09-15) 1 commit
 - cache: add fake_lstat()
 (this branch is used by jc/diff-cached-fsmonitor-fix.)

 A new helper to let us pretend that we called lstat() when we know
 our cache_entry is up-to-date via fsmonitor.

 Needs review.
 source: <xmqqcyykig1l.fsf@gitster.g>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-10-16) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 source: <2e24ca9b-9c5f-f4df-b9f8-6574a714dfb2@gmail.com>


^ permalink raw reply	[relevance 19%]

* What's cooking in git.git (Dec 2023, #01; Sat, 9)
@ 2023-12-09  2:02 19% Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2023-12-09  2:02 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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]

* jp/use-diff-index-in-pre-commit-sample (2023-12-03) 1 commit
 - hooks--pre-commit: detect non-ASCII when renaming

 The sample pre-commit hook that tries to catch introduction of new
 paths that use potentially non-portable characters did not notice
 an existing path getting renamed to such a problematic path, when
 rename detection was enabled.

 Will merge to 'next'.
 source: <pull.1291.v2.git.git.1701360836307.gitgitgadget@gmail.com>


* mk/doc-gitfile-more (2023-12-03) 1 commit
 - doc: make the gitfile syntax easier to discover

 Doc update.

 Will merge to 'next'.
 source: <20231128065558.1061206-1-mk+copyleft@pimpmybyte.de>


* ps/ref-tests-update-more (2023-12-03) 10 commits
 - t6301: write invalid object ID via `test-tool ref-store`
 - t5551: stop writing packed-refs directly
 - t5401: speed up creation of many branches
 - t4013: simplify magic parsing and drop "failure"
 - t3310: stop checking for reference existence via `test -f`
 - t1417: make `reflog --updateref` tests backend agnostic
 - t1410: use test-tool to create empty reflog
 - t1401: stop treating FETCH_HEAD as real reference
 - t1400: split up generic reflog tests from the reffile-specific ones
 - t0410: mark tests to require the reffiles backend

 Tests update.

 Will merge to 'next'.
 source: <cover.1701242407.git.ps@pks.im>


* sh/completion-with-reftable (2023-12-03) 2 commits
 - completion: stop checking for reference existence via `test -f`
 - completion: refactor existence checks for special refs

 Command line completion script (in contrib/) learned to work better
 with the reftable backend.

 Expecting a reroll.
 source: <20231130202404.89791-1-stanhu@gmail.com>


* en/header-cleanup (2023-12-03) 12 commits
 - treewide: remove unnecessary includes in source files
 - treewide: add direct includes currently only pulled in transitively
 - trace2/tr2_tls.h: remove unnecessary include
 - submodule-config.h: remove unnecessary include
 - pkt-line.h: remove unnecessary include
 - line-log.h: remove unnecessary include
 - http.h: remove unnecessary include
 - fsmonitor--daemon.h: remove unnecessary includes
 - blame.h: remove unnecessary includes
 - archive.h: remove unnecessary include
 - treewide: remove unnecessary includes in source files
 - treewide: remove unnecessary includes from header files

 Remove unused header "#include".

 Has a few interactions with topics in flight.
 source: <pull.1617.git.1701585682.gitgitgadget@gmail.com>


* jc/revision-parse-int (2023-12-09) 1 commit
 - revision: parse integer arguments to --max-count, --skip, etc., more carefully

 The command line parser for the "log" family of commands was too
 loose when parsing certain numbers, e.g., silently ignoring the
 extra 'q' in "git log -n 1q" without complaining, which has been
 tightened up.

 Will merge to 'next'.
 source: <xmqq5y181fx0.fsf_-_@gitster.g>


* jk/bisect-reset-fix (2023-12-09) 1 commit
 - bisect: always clean on reset

 "git bisect reset" has been taught to clean up state files and refs
 even when BISECT_START file is gone.

 Will merge to 'next'.
 source: <20231207065341.GA778781@coredump.intra.peff.net>


* jk/implicit-true (2023-12-09) 7 commits
 - fsck: handle NULL value when parsing message config
 - trailer: handle NULL value when parsing trailer-specific config
 - submodule: handle NULL value when parsing submodule.*.branch
 - help: handle NULL value for alias.* config
 - trace2: handle NULL values in tr2_sysenv config callback
 - setup: handle NULL value when parsing extensions
 - config: handle NULL value when parsing non-bools
 (this branch is used by jk/config-cleanup.)

 Some codepaths did not correctly parse configuration variables
 specified with valueless "true", which has been corrected.

 Will merge to 'next'.
 source: <20231207071030.GA1275835@coredump.intra.peff.net>


* jk/config-cleanup (2023-12-09) 9 commits
 - sequencer: simplify away extra git_config_string() call
 - gpg-interface: drop pointless config_error_nonbool() checks
 - push: drop confusing configset/callback redundancy
 - config: use git_config_string() for core.checkRoundTripEncoding
 - diff: give more detailed messages for bogus diff.* config
 - config: use config_error_nonbool() instead of custom messages
 - imap-send: don't use git_die_config() inside callback
 - git_xmerge_config(): prefer error() to die()
 - config: reject bogus values for core.checkstat
 (this branch uses jk/implicit-true.)

 Code clean-up around use of configuration variables.

 Will merge to 'next'.
 source: <20231207071030.GA1275835@coredump.intra.peff.net>
 source: <20231207072338.GA1277727@coredump.intra.peff.net>


* jk/end-of-options (2023-12-09) 1 commit
 - parse-options: decouple "--end-of-options" and "--"

 "git log --end-of-options --rev -- --path" learned to interpret
 "--rev" as a rev, and "--path" as a path, as expected.

 Will merge to 'next'.
 source: <20231206222145.GA136253@coredump.intra.peff.net>


* ps/clone-into-reftable-repository (2023-12-09) 7 commits
 - builtin/clone: create the refdb with the correct object format
 - builtin/clone: skip reading HEAD when retrieving remote
 - builtin/clone: set up sparse checkout later
 - builtin/clone: fix bundle URIs with mismatching object formats
 - remote-curl: rediscover repository when fetching refs
 - setup: allow skipping creation of the refdb
 - setup: extract function to create the refdb

 "git clone" has been prepared to allow cloning a repository with
 non-default hash function into a repository that uses the reftable
 backend.

 Will merge to 'next'?
 source: <cover.1701863960.git.ps@pks.im>


* rs/incompatible-options-messages (2023-12-09) 7 commits
 - worktree: simplify incompatibility message for --orphan and commit-ish
 - worktree: standardize incompatibility messages
 - clean: factorize incompatibility message
 - revision, rev-parse: factorize incompatibility messages about - -exclude-hidden
 - revision: use die_for_incompatible_opt3() for - -graph/--reverse/--walk-reflogs
 - repack: use die_for_incompatible_opt3() for -A/-k/--cruft
 - push: use die_for_incompatible_opt4() for - -delete/--tags/--all/--mirror

 Clean-up code that handles combinations of incompatible options.

 Will merge to 'next'.
 source: <20231206115215.94467-1-l.s.r@web.de>

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

* pw/rebase-sigint (2023-09-07) 1 commit
 - rebase -i: ignore signals when forking subprocesses

 If the commit log editor or other external programs (spawned via
 "exec" insn in the todo list) receive internactive signal during
 "git rebase -i", it caused not just the spawned program but the
 "Git" process that spawned them, which is often not what the end
 user intended.  "git" learned to ignore SIGINT and SIGQUIT while
 waiting for these subprocesses.

 Expecting a reroll.
 cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
 source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
 - diff-lib: fix check_removed() when fsmonitor is active
 - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
 - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
 (this branch uses jc/fake-lstat.)

 The optimization based on fsmonitor in the "diff --cached"
 codepath is resurrected with the "fake-lstat" introduced earlier.

 It is unknown if the optimization is worth resurrecting, but in case...
 source: <xmqqr0n0h0tw.fsf@gitster.g>

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

* ad/merge-file-diff-algo (2023-11-22) 1 commit
 - merge-file: add --diff-algorithm option

 "git merge-file" learned to take the "--diff-algorithm" option to
 use algorithm different from the default "myers" diff.

 Will merge to 'next'.
 source: <pull.1606.v2.git.git.1700507932937.gitgitgadget@gmail.com>


* ak/p4-initial-empty-commits (2023-11-23) 1 commit
 - git-p4: fix fast import when empty commit is first

 Expecting a reroll.
 source: <pull.1609.git.git.1700639764041.gitgitgadget@gmail.com>


* jc/checkout-B-branch-in-use (2023-12-09) 3 commits
 - fixup! checkout: forbid "-B <branch>" from touching a branch used elsewhere
 - checkout: forbid "-B <branch>" from touching a branch used elsewhere
 - checkout: refactor die_if_checked_out() caller

 "git checkout -B <branch> [<start-point>]" allowed a branch that is
 in use in another worktree to be updated and checked out, which
 might be a bit unexpected.  The rule has been tightened, which is a
 breaking change.  "--ignore-other-worktrees" option is required to
 unbreak you, if you are used to the current behaviour that "-B"
 overrides the safety.

 Needs review.
 source: <xmqqjzq9cl70.fsf@gitster.g>


* jh/trace2-redact-auth (2023-11-23) 4 commits
 - t0212: test URL redacting in EVENT format
 - t0211: test URL redacting in PERF format
 - trace2: redact passwords from https:// URLs by default
 - trace2: fix signature of trace2_def_param() macro

 trace2 streams used to record the URLs that potentially embed
 authentication material, which has been corrected.

 Will merge to 'next'.
 source: <pull.1616.git.1700680717.gitgitgadget@gmail.com>


* ps/commit-graph-less-paranoid (2023-11-26) 1 commit
 - commit-graph: disable GIT_COMMIT_GRAPH_PARANOIA by default

 Earlier we stopped relying on commit-graph that (still) records
 information about commits that are lost from the object store,
 which has negative performance implications.  The default has been
 flipped to disable this pessimization.

 Will merge to 'next'.
 source: <17e08289cd59d20de0de9b4e18f5e6bf77987351.1700823746.git.ps@pks.im>


* ps/reftable-fixes (2023-11-22) 8 commits
 - reftable/stack: fix stale lock when dying
 - reftable/merged: reuse buffer to compute record keys
 - reftable/stack: reuse buffers when reloading stack
 - reftable/stack: perform auto-compaction with transactional interface
 - reftable/stack: verify that `reftable_stack_add()` uses auto-compaction
 - reftable: handle interrupted writes
 - reftable: handle interrupted reads
 - reftable: wrap EXPECT macros in do/while

 Bunch of small fix-ups to the reftable code.

 Needs review.
 source: <cover.1700549493.git.ps@pks.im>


* en/complete-sparse-checkout (2023-12-03) 4 commits
 - completion: avoid user confusion in non-cone mode
 - completion: avoid misleading completions in cone mode
 - completion: fix logic for determining whether cone mode is active
 - completion: squelch stray errors in sparse-checkout completion

 Command line completion (in contrib/) learned to complete path
 arguments to the "add/set" subcommands of "git sparse-checkout"
 better.

 Will merge to 'next'.
 source: <pull.1349.v3.git.1701583024.gitgitgadget@gmail.com>


* jb/reflog-expire-delete-dry-run-options (2023-11-26) 1 commit
 - builtin/reflog.c: fix dry-run option short name

 Command line parsing fix for "git reflog".

 Will merge to 'next'.
 source: <20231126000514.85509-1-josh@brob.st>


* jc/orphan-unborn (2023-11-24) 2 commits
 - orphan/unborn: fix use of 'orphan' in end-user facing messages
 - orphan/unborn: add to the glossary and use them consistently

 Doc updates to clarify what an "unborn branch" means.

 Comments?
 source: <xmqq4jhb977x.fsf@gitster.g>


* rs/column-leakfix (2023-11-27) 1 commit
 - column: release strbuf and string_list after use

 Leakfix.

 Will merge to 'next'.
 source: <f087137d-a5aa-487e-a1cb-0ad7117b38ed@web.de>


* rs/i18n-cannot-be-used-together (2023-11-27) 1 commit
 - i18n: factorize even more 'incompatible options' messages

 Clean-up code that handles combinations of incompatible options.

 Will merge to 'next'.
 source: <e6eb12e4-bb63-473c-9c2f-965a4d5981ad@web.de>


* ac/fuzz-show-date (2023-11-20) 1 commit
 - fuzz: add new oss-fuzz fuzzer for date.c / date.h

 Subject approxidate() and show_date() machinery to OSS-Fuzz.

 Will merge to 'next'.
 source: <pull.1612.v4.git.1700243267653.gitgitgadget@gmail.com>


* js/packfile-h-typofix (2023-11-20) 1 commit
 - packfile.c: fix a typo in `each_file_in_pack_dir_fn()`'s declaration

 Typofix.

 Will merge to 'next'.
 source: <pull.1614.git.1700226915859.gitgitgadget@gmail.com>


* jw/builtin-objectmode-attr (2023-11-16) 2 commits
 - SQUASH???
 - attr: add builtin objectmode values support

 The builtin_objectmode attribute is populated for each path
 without adding anything in .gitattributes files, which would be
 useful in magic pathspec, e.g., ":(attr:builtin_objectmode=100755)"
 to limit to executables.

 Will merge to 'next' after squashing the fix-up in?
 source: <20231116054437.2343549-1-jojwang@google.com>


* ps/ref-deletion-updates (2023-11-17) 4 commits
 - refs: remove `delete_refs` callback from backends
 - refs: deduplicate code to delete references
 - refs/files: use transactions to delete references
 - t5510: ensure that the packed-refs file needs locking

 Simplify API implementation to delete references by eliminating
 duplication.

 Will merge to 'next'.
 source: <cover.1699951815.git.ps@pks.im>


* tz/send-email-negatable-options (2023-11-17) 2 commits
  (merged to 'next' on 2023-11-17 at f09e533e43)
 + send-email: avoid duplicate specification warnings
 + perl: bump the required Perl version to 5.8.1 from 5.8.0

 Newer versions of Getopt::Long started giving warnings against our
 (ab)use of it in "git send-email".  Bump the minimum version
 requirement for Perl to 5.8.1 (from September 2002) to allow
 simplifying our implementation.

 Will merge to 'master'.
 source: <20231116193014.470420-1-tmz@pobox.com>


* js/ci-discard-prove-state (2023-11-14) 1 commit
  (merged to 'next' on 2023-11-14 at fade3ba143)
 + ci: avoid running the test suite _twice_
 (this branch uses ps/ci-gitlab.)

 The way CI testing used "prove" could lead to running the test
 suite twice needlessly, which has been corrected.

 Will merge to 'master'.
 source: <pull.1613.git.1699894837844.gitgitgadget@gmail.com>


* jk/chunk-bounds-more (2023-11-09) 9 commits
  (merged to 'next' on 2023-11-13 at 3df4b18bea)
 + commit-graph: mark chunk error messages for translation
 + commit-graph: drop verify_commit_graph_lite()
 + commit-graph: check order while reading fanout chunk
 + commit-graph: use fanout value for graph size
 + commit-graph: abort as soon as we see a bogus chunk
 + commit-graph: clarify missing-chunk error messages
 + commit-graph: drop redundant call to "lite" verification
 + midx: check consistency of fanout table
 + commit-graph: handle overflow in chunk_size checks
 (this branch is used by tb/pair-chunk-expect.)

 Code clean-up for jk/chunk-bounds topic.

 Will merge to 'master'.
 source: <20231109070310.GA2697602@coredump.intra.peff.net>


* ps/httpd-tests-on-nixos (2023-11-11) 3 commits
  (merged to 'next' on 2023-11-13 at 81bd6f5334)
 + t9164: fix inability to find basename(1) in Subversion hooks
 + t/lib-httpd: stop using legacy crypt(3) for authentication
 + t/lib-httpd: dynamically detect httpd and modules path

 Portability tweak.

 Will merge to 'master'.
 source: <cover.1699596457.git.ps@pks.im>


* ss/format-patch-use-encode-headers-for-cover-letter (2023-11-10) 1 commit
  (merged to 'next' on 2023-11-14 at 1a4bd59e15)
 + format-patch: fix ignored encode_email_headers for cover letter

 "git format-patch --encode-email-headers" ignored the option when
 preparing the cover letter, which has been corrected.

 Will merge to 'master'.
 source: <20231109111950.387219-1-contact@emersion.fr>


* ps/ban-a-or-o-operator-with-test (2023-11-11) 4 commits
  (merged to 'next' on 2023-11-14 at d84471baab)
 + Makefile: stop using `test -o` when unlinking duplicate executables
 + contrib/subtree: convert subtree type check to use case statement
 + contrib/subtree: stop using `-o` to test for number of args
 + global: convert trivial usages of `test <expr> -a/-o <expr>`

 Test and shell scripts clean-up.

 Will merge to 'master'.
 source: <cover.1699609940.git.ps@pks.im>


* ak/rebase-autosquash (2023-11-16) 3 commits
  (merged to 'next' on 2023-11-17 at 3ed6e79445)
 + rebase: rewrite --(no-)autosquash documentation
 + rebase: support --autosquash without -i
 + rebase: fully ignore rebase.autoSquash without -i

 "git rebase --autosquash" is now enabled for non-interactive rebase,
 but it is still incompatible with the apply backend.

 Will merge to 'master'.
 source: <20231114214339.10925-1-andy.koppe@gmail.com>


* vd/for-each-ref-unsorted-optimization (2023-11-16) 10 commits
  (merged to 'next' on 2023-11-17 at ff99420bf6)
 + t/perf: add perf tests for for-each-ref
 + ref-filter.c: use peeled tag for '*' format fields
 + for-each-ref: clean up documentation of --format
 + ref-filter.c: filter & format refs in the same callback
 + ref-filter.c: refactor to create common helper functions
 + ref-filter.c: rename 'ref_filter_handler()' to 'filter_one()'
 + ref-filter.h: add functions for filter/format & format-only
 + ref-filter.h: move contains caches into filter
 + ref-filter.h: add max_count and omit_empty to ref_format
 + ref-filter.c: really don't sort when using --no-sort

 "git for-each-ref --no-sort" still sorted the refs alphabetically
 which paid non-trivial cost.  It has been redefined to show output
 in an unspecified order, to allow certain optimizations to take
 advantage of.

 Will merge to 'master'.
 source: <pull.1609.v2.git.1699991638.gitgitgadget@gmail.com>


* jw/git-add-attr-pathspec (2023-11-04) 1 commit
  (merged to 'next' on 2023-11-13 at b61be94e4d)
 + attr: enable attr pathspec magic for git-add and git-stash

 "git add" and "git stash" learned to support the ":(attr:...)"
 magic pathspec.

 Will merge to 'master'.
 source: <20231103163449.1578841-1-jojwang@google.com>


* ps/ci-gitlab (2023-11-09) 8 commits
  (merged to 'next' on 2023-11-10 at ea7ed67945)
 + ci: add support for GitLab CI
 + ci: install test dependencies for linux-musl
 + ci: squelch warnings when testing with unusable Git repo
 + ci: unify setup of some environment variables
 + ci: split out logic to set up failed test artifacts
 + ci: group installation of Docker dependencies
 + ci: make grouping setup more generic
 + ci: reorder definitions for grouping functions
 (this branch is used by js/ci-discard-prove-state.)

 Add support for GitLab CI.

 Will merge to 'master'.
 source: <cover.1699514143.git.ps@pks.im>


* ps/ref-tests-update (2023-11-03) 10 commits
  (merged to 'next' on 2023-11-13 at dc26e55d6f)
 + t: mark several tests that assume the files backend with REFFILES
 + t7900: assert the absence of refs via git-for-each-ref(1)
 + t7300: assert exact states of repo
 + t4207: delete replace references via git-update-ref(1)
 + t1450: convert tests to remove worktrees via git-worktree(1)
 + t: convert tests to not access reflog via the filesystem
 + t: convert tests to not access symrefs via the filesystem
 + t: convert tests to not write references via the filesystem
 + t: allow skipping expected object ID in `ref-store update-ref`
 + Merge branch 'ps/show-ref' into ps/ref-tests-update

 Update ref-related tests.

 Will merge to 'master'.
 source: <cover.1698914571.git.ps@pks.im>


* jx/fetch-atomic-error-message-fix (2023-10-19) 2 commits
 - fetch: no redundant error message for atomic fetch
 - t5574: test porcelain output of atomic fetch

 "git fetch --atomic" issued an unnecessary empty error message,
 which has been corrected.

 Expecting an update.
 cf. <ZTjQIrCgSANAT8wR@tanuki>
 source: <ced46baeb1c18b416b4b4cc947f498bea2910b1b.1697725898.git.zhiyou.jx@alibaba-inc.com>


* js/bugreport-in-the-same-minute (2023-10-16) 1 commit
 - bugreport: include +i in outfile suffix as needed

 Instead of auto-generating a filename that is already in use for
 output and fail the command, `git bugreport` learned to fuzz the
 filename to avoid collisions with existing files.

 Expecting a reroll.
 cf. <ZTtZ5CbIGETy1ucV.jacob@initialcommit.io>
 source: <20231016214045.146862-2-jacob@initialcommit.io>


* kh/t7900-cleanup (2023-10-17) 9 commits
 - t7900: fix register dependency
 - t7900: factor out packfile dependency
 - t7900: fix `print-args` dependency
 - t7900: fix `pfx` dependency
 - t7900: factor out common schedule setup
 - t7900: factor out inheritance test dependency
 - t7900: create commit so that branch is born
 - t7900: setup and tear down clones
 - t7900: remove register dependency

 Test clean-up.

 Perhaps discard?
 cf. <655ca147-c214-41be-919d-023c1b27b311@app.fastmail.com>
 source: <cover.1697319294.git.code@khaugsbakk.name>


* tb/merge-tree-write-pack (2023-10-23) 5 commits
 - builtin/merge-tree.c: implement support for `--write-pack`
 - bulk-checkin: introduce `index_tree_bulk_checkin_incore()`
 - bulk-checkin: introduce `index_blob_bulk_checkin_incore()`
 - bulk-checkin: generify `stream_blob_to_pack()` for arbitrary types
 - bulk-checkin: extract abstract `bulk_checkin_source`

 "git merge-tree" learned "--write-pack" to record its result
 without creating loose objects.

 Broken when an object created during a merge is needed to continue merge
 cf. <CABPp-BEfy9VOvimP9==ry_rZXu=metOQ8s=_-XiG_Pdx9c06Ww@mail.gmail.com>
 source: <cover.1698101088.git.me@ttaylorr.com>


* tb/pair-chunk-expect (2023-11-10) 8 commits
 - midx: read `OOFF` chunk with `pair_chunk_expect()`
 - midx: read `OIDL` chunk with `pair_chunk_expect()`
 - commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 - commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `OIDL` chunk with `pair_chunk_expect()`
 - chunk-format: introduce `pair_chunk_expect()` helper
 - Merge branch 'jk/chunk-bounds-more' into HEAD
 (this branch uses jk/chunk-bounds-more.)

 Further code clean-up.

 Needs review.
 source: <cover.1699569246.git.me@ttaylorr.com>


* tb/path-filter-fix (2023-10-18) 17 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Needs (hopefully final and quick) review.
 source: <cover.1697653929.git.me@ttaylorr.com>


* cc/git-replay (2023-11-26) 14 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: change rev walking options
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 Introduce "git replay", a tool meant on the server side without
 working tree to recreate a history.

 Will merge to 'next'.
 cf. <6bfe1541-54dd-ca6b-e930-94d3038060f1@gmx.de>
 source: <20231124111044.3426007-1-christian.couder@gmail.com>


* ak/color-decorate-symbols (2023-10-23) 7 commits
 - log: add color.decorate.pseudoref config variable
 - refs: exempt pseudorefs from pattern prefixing
 - refs: add pseudorefs array and iteration functions
 - log: add color.decorate.ref config variable
 - log: add color.decorate.symbol config variable
 - log: use designated inits for decoration_colors
 - config: restructure color.decorate documentation

 A new config for coloring.

 Needs review.
 source: <20231023221143.72489-1-andy.koppe@gmail.com>


* js/update-urls-in-doc-and-comment (2023-11-26) 4 commits
 - doc: refer to internet archive
 - doc: update links for andre-simon.de
 - doc: switch links to https
 - doc: update links to current pages

 Stale URLs have been updated to their current counterparts (or
 archive.org) and HTTP links are replaced with working HTTPS links.

 Will merge to 'next'.
 source: <pull.1589.v3.git.1700796916.gitgitgadget@gmail.com>


* la/trailer-cleanups (2023-10-20) 3 commits
 - trailer: use offsets for trailer_start/trailer_end
 - trailer: find the end of the log message
 - commit: ignore_non_trailer computes number of bytes to ignore

 Code clean-up.

 Comments?
 source: <pull.1563.v5.git.1697828495.gitgitgadget@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2023-10-04) 4 commits
 - archive: support remote archive from stateless transport
 - transport-helper: call do_take_over() in connect_helper
 - transport-helper: call do_take_over() in process_connect
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Needs review.
 source: <cover.1696432593.git.zhiyou.jx@alibaba-inc.com>


* jx/sideband-chomp-newline-fix (2023-10-04) 3 commits
 - pkt-line: do not chomp newlines for sideband messages
 - pkt-line: memorize sideband fragment in reader
 - test-pkt-line: add option parser for unpack-sideband

 Sideband demultiplexer fixes.

 Needs review.
 source: <cover.1696425168.git.zhiyou.jx@alibaba-inc.com>


* js/config-parse (2023-09-21) 5 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split do_event() into start and flush operations
 - config: split out config_parse_options

 The parsing routines for the configuration files have been split
 into a separate file.

 Needs review.
 source: <cover.1695330852.git.steadmon@google.com>


* jc/fake-lstat (2023-09-15) 1 commit
 - cache: add fake_lstat()
 (this branch is used by jc/diff-cached-fsmonitor-fix.)

 A new helper to let us pretend that we called lstat() when we know
 our cache_entry is up-to-date via fsmonitor.

 Needs review.
 source: <xmqqcyykig1l.fsf@gitster.g>


* js/doc-unit-tests (2023-11-10) 3 commits
  (merged to 'next' on 2023-11-10 at 7d00ffd06b)
 + ci: run unit tests in CI
 + unit tests: add TAP unit test framework
 + unit tests: add a project plan document
 (this branch is used by js/doc-unit-tests-with-cmake.)

 Process to add some form of low-level unit tests has started.

 Will merge to 'master'.
 source: <cover.1699555664.git.steadmon@google.com>


* js/doc-unit-tests-with-cmake (2023-11-10) 7 commits
  (merged to 'next' on 2023-11-10 at b4503c9c8c)
 + cmake: handle also unit tests
 + cmake: use test names instead of full paths
 + cmake: fix typo in variable name
 + artifacts-tar: when including `.dll` files, don't forget the unit-tests
 + unit-tests: do show relative file paths
 + unit-tests: do not mistake `.pdb` files for being executable
 + cmake: also build unit tests
 (this branch uses js/doc-unit-tests.)

 Update the base topic to work with CMake builds.

 Will merge to 'master'.
 source: <pull.1579.v3.git.1695640836.gitgitgadget@gmail.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-10-16) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 source: <2e24ca9b-9c5f-f4df-b9f8-6574a714dfb2@gmail.com>

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

* jc/strbuf-comment-line-char (2023-11-01) 4 commits
 . strbuf: move env-using functions to environment.c
 . strbuf: make add_lines() public
 . strbuf_add_commented_lines(): drop the comment_line_char parameter
 . strbuf_commented_addf(): drop the comment_line_char parameter

 Code simplification that goes directly against a past libification
 topic.  It is hard to judge because the "libification" is done
 piecewise without seemingly clear design principle.

 Will discard.
 source: <cover.1698791220.git.jonathantanmy@google.com>


^ permalink raw reply	[relevance 19%]

* What's cooking in git.git (Nov 2023, #09; Mon, 27)
@ 2023-11-27 14:24 23% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-11-27 14:24 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

As I mentioned earlier, I'll be offline for a week or two, during
which time there will little movement in my repositories.  The next
cycle should start soon after that.

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]

* ad/merge-file-diff-algo (2023-11-22) 1 commit
 - merge-file: add --diff-algorithm option

 "git merge-file" learned to take the "--diff-algorithm" option to
 use algorithm different from the default "myers" diff.

 Will merge to 'next'?
 source: <pull.1606.v2.git.git.1700507932937.gitgitgadget@gmail.com>


* ak/p4-initial-empty-commits (2023-11-23) 1 commit
 - git-p4: fix fast import when empty commit is first

 Expecting a reroll.
 source: <pull.1609.git.git.1700639764041.gitgitgadget@gmail.com>


* jc/checkout-B-branch-in-use (2023-11-23) 2 commits
 - checkout: forbid "-B <branch>" from touching a branch used elsewhere
 - checkout: refactor die_if_checked_out() caller

 "git checkout -B <branch> [<start-point>]" allowed a branch that is
 in use in another worktree to be updated and checked out, which
 might be a bit unexpected.  The rule has been tightened, which is a
 breaking change.  "--ignore-other-worktrees" option is required to
 unbreak you, if you are used to the current behaviour that "-B"
 overrides the safety.

 Needs review and documentation updates.
 source: <xmqqjzq9cl70.fsf@gitster.g>


* jh/trace2-redact-auth (2023-11-23) 4 commits
 - t0212: test URL redacting in EVENT format
 - t0211: test URL redacting in PERF format
 - trace2: redact passwords from https:// URLs by default
 - trace2: fix signature of trace2_def_param() macro

 trace2 streams used to record the URLs that potentially embed
 authentication material, which has been corrected.

 Will merge to 'next'.
 source: <pull.1616.git.1700680717.gitgitgadget@gmail.com>


* ps/commit-graph-less-paranoid (2023-11-26) 1 commit
 - commit-graph: disable GIT_COMMIT_GRAPH_PARANOIA by default

 Earlier we stopped relying on commit-graph that (still) records
 information about commits that are lost from the object store,
 which has negative performance implications.  The default has been
 flipped to disable this pessimization.

 Will merge to 'next'.
 source: <17e08289cd59d20de0de9b4e18f5e6bf77987351.1700823746.git.ps@pks.im>


* ps/reftable-fixes (2023-11-22) 8 commits
 - reftable/stack: fix stale lock when dying
 - reftable/merged: reuse buffer to compute record keys
 - reftable/stack: reuse buffers when reloading stack
 - reftable/stack: perform auto-compaction with transactional interface
 - reftable/stack: verify that `reftable_stack_add()` uses auto-compaction
 - reftable: handle interrupted writes
 - reftable: handle interrupted reads
 - reftable: wrap EXPECT macros in do/while

 Bunch of small fix-ups to the reftable code.

 Needs review.
 source: <cover.1700549493.git.ps@pks.im>


* en/complete-sparse-checkout (2023-11-27) 4 commits
 - completion: avoid user confusion in non-cone mode
 - completion: avoid misleading completions in cone mode
 - completion: fix logic for determining whether cone mode is active
 - completion: squelch stray errors in sparse-checkout completion

 source: <pull.1349.v2.git.1700985086.gitgitgadget@gmail.com>


* jb/reflog-expire-delete-dry-run-options (2023-11-26) 1 commit
 - builtin/reflog.c: fix dry-run option short name

 source: <20231126000514.85509-1-josh@brob.st>


* jc/orphan-unborn (2023-11-24) 2 commits
 - orphan/unborn: fix use of 'orphan' in end-user facing messages
 - orphan/unborn: add to the glossary and use them consistently

 source: <xmqq4jhb977x.fsf@gitster.g>


* rs/column-leakfix (2023-11-27) 1 commit
 - column: release strbuf and string_list after use

 source: <f087137d-a5aa-487e-a1cb-0ad7117b38ed@web.de>


* rs/i18n-cannot-be-used-together (2023-11-27) 1 commit
 - i18n: factorize even more 'incompatible options' messages

 source: <e6eb12e4-bb63-473c-9c2f-965a4d5981ad@web.de>

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

* pw/rebase-sigint (2023-09-07) 1 commit
 - rebase -i: ignore signals when forking subprocesses

 If the commit log editor or other external programs (spawned via
 "exec" insn in the todo list) receive internactive signal during
 "git rebase -i", it caused not just the spawned program but the
 "Git" process that spawned them, which is often not what the end
 user intended.  "git" learned to ignore SIGINT and SIGQUIT while
 waiting for these subprocesses.

 Expecting a reroll.
 cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
 source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
 - diff-lib: fix check_removed() when fsmonitor is active
 - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
 - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
 (this branch uses jc/fake-lstat.)

 The optimization based on fsmonitor in the "diff --cached"
 codepath is resurrected with the "fake-lstat" introduced earlier.

 It is unknown if the optimization is worth resurrecting, but in case...
 source: <xmqqr0n0h0tw.fsf@gitster.g>

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

* ac/fuzz-show-date (2023-11-20) 1 commit
 - fuzz: add new oss-fuzz fuzzer for date.c / date.h

 Subject approxidate() and show_date() macchinery to OSS-Fuzz.

 Will merge to 'next'?
 source: <pull.1612.v4.git.1700243267653.gitgitgadget@gmail.com>


* js/packfile-h-typofix (2023-11-20) 1 commit
 - packfile.c: fix a typo in `each_file_in_pack_dir_fn()`'s declaration

 Typofix.

 Will merge to 'next'.
 source: <pull.1614.git.1700226915859.gitgitgadget@gmail.com>


* jw/builtin-objectmode-attr (2023-11-16) 2 commits
 - SQUASH???
 - attr: add builtin objectmode values support

 The builtin_objectmode attribute is populated for each path
 without adding anything in .gitattributes files, which would be
 useful in magic pathspec, e.g., ":(attr:builtin_objectmode=100755)"
 to limit to executables.
 source: <20231116054437.2343549-1-jojwang@google.com>


* ps/ref-deletion-updates (2023-11-17) 4 commits
 - refs: remove `delete_refs` callback from backends
 - refs: deduplicate code to delete references
 - refs/files: use transactions to delete references
 - t5510: ensure that the packed-refs file needs locking

 Simplify API implementation to delete references by eliminating
 duplication.

 Will merge to 'next'.
 source: <cover.1699951815.git.ps@pks.im>


* tz/send-email-negatable-options (2023-11-17) 2 commits
  (merged to 'next' on 2023-11-17 at f09e533e43)
 + send-email: avoid duplicate specification warnings
 + perl: bump the required Perl version to 5.8.1 from 5.8.0

 Newer versions of Getopt::Long started giving warnings against our
 (ab)use of it in "git send-email".  Bump the minimum version
 requirement for Perl to 5.8.1 (from September 2002) to allow
 simplifying our implementation.

 Will merge to 'master'.
 source: <20231116193014.470420-1-tmz@pobox.com>


* js/ci-discard-prove-state (2023-11-14) 1 commit
  (merged to 'next' on 2023-11-14 at fade3ba143)
 + ci: avoid running the test suite _twice_
 (this branch uses ps/ci-gitlab.)

 The way CI testing used "prove" could lead to running the test
 suite twice needlessly, which has been corrected.

 Will merge to 'master'.
 source: <pull.1613.git.1699894837844.gitgitgadget@gmail.com>


* jk/chunk-bounds-more (2023-11-09) 9 commits
  (merged to 'next' on 2023-11-13 at 3df4b18bea)
 + commit-graph: mark chunk error messages for translation
 + commit-graph: drop verify_commit_graph_lite()
 + commit-graph: check order while reading fanout chunk
 + commit-graph: use fanout value for graph size
 + commit-graph: abort as soon as we see a bogus chunk
 + commit-graph: clarify missing-chunk error messages
 + commit-graph: drop redundant call to "lite" verification
 + midx: check consistency of fanout table
 + commit-graph: handle overflow in chunk_size checks
 (this branch is used by tb/pair-chunk-expect.)

 Code clean-up for jk/chunk-bounds topic.

 Will merge to 'master'.
 source: <20231109070310.GA2697602@coredump.intra.peff.net>


* ps/httpd-tests-on-nixos (2023-11-11) 3 commits
  (merged to 'next' on 2023-11-13 at 81bd6f5334)
 + t9164: fix inability to find basename(1) in Subversion hooks
 + t/lib-httpd: stop using legacy crypt(3) for authentication
 + t/lib-httpd: dynamically detect httpd and modules path

 Portability tweak.

 Will merge to 'master'.
 source: <cover.1699596457.git.ps@pks.im>


* ss/format-patch-use-encode-headers-for-cover-letter (2023-11-10) 1 commit
  (merged to 'next' on 2023-11-14 at 1a4bd59e15)
 + format-patch: fix ignored encode_email_headers for cover letter

 "git format-patch --encode-email-headers" ignored the option when
 preparing the cover letter, which has been corrected.

 Will merge to 'master'.
 source: <20231109111950.387219-1-contact@emersion.fr>


* ps/ban-a-or-o-operator-with-test (2023-11-11) 4 commits
  (merged to 'next' on 2023-11-14 at d84471baab)
 + Makefile: stop using `test -o` when unlinking duplicate executables
 + contrib/subtree: convert subtree type check to use case statement
 + contrib/subtree: stop using `-o` to test for number of args
 + global: convert trivial usages of `test <expr> -a/-o <expr>`

 Test and shell scripts clean-up.

 Will merge to 'master'.
 source: <cover.1699609940.git.ps@pks.im>


* ak/rebase-autosquash (2023-11-16) 3 commits
  (merged to 'next' on 2023-11-17 at 3ed6e79445)
 + rebase: rewrite --(no-)autosquash documentation
 + rebase: support --autosquash without -i
 + rebase: fully ignore rebase.autoSquash without -i

 "git rebase --autosquash" is now enabled for non-interactive rebase,
 but it is still incompatible with the apply backend.

 Will merge to 'master'.
 source: <20231114214339.10925-1-andy.koppe@gmail.com>


* vd/for-each-ref-unsorted-optimization (2023-11-16) 10 commits
  (merged to 'next' on 2023-11-17 at ff99420bf6)
 + t/perf: add perf tests for for-each-ref
 + ref-filter.c: use peeled tag for '*' format fields
 + for-each-ref: clean up documentation of --format
 + ref-filter.c: filter & format refs in the same callback
 + ref-filter.c: refactor to create common helper functions
 + ref-filter.c: rename 'ref_filter_handler()' to 'filter_one()'
 + ref-filter.h: add functions for filter/format & format-only
 + ref-filter.h: move contains caches into filter
 + ref-filter.h: add max_count and omit_empty to ref_format
 + ref-filter.c: really don't sort when using --no-sort

 "git for-each-ref --no-sort" still sorted the refs alphabetically
 which paid non-trivial cost.  It has been redefined to show output
 in an unspecified order, to allow certain optimizations to take
 advantage of.

 Will merge to 'master'.
 source: <pull.1609.v2.git.1699991638.gitgitgadget@gmail.com>


* jw/git-add-attr-pathspec (2023-11-04) 1 commit
  (merged to 'next' on 2023-11-13 at b61be94e4d)
 + attr: enable attr pathspec magic for git-add and git-stash

 "git add" and "git stash" learned to support the ":(attr:...)"
 magic pathspec.

 Will merge to 'master'.
 source: <20231103163449.1578841-1-jojwang@google.com>


* ps/ci-gitlab (2023-11-09) 8 commits
  (merged to 'next' on 2023-11-10 at ea7ed67945)
 + ci: add support for GitLab CI
 + ci: install test dependencies for linux-musl
 + ci: squelch warnings when testing with unusable Git repo
 + ci: unify setup of some environment variables
 + ci: split out logic to set up failed test artifacts
 + ci: group installation of Docker dependencies
 + ci: make grouping setup more generic
 + ci: reorder definitions for grouping functions
 (this branch is used by js/ci-discard-prove-state.)

 Add support for GitLab CI.

 Will merge to 'master'.
 source: <cover.1699514143.git.ps@pks.im>


* ps/ref-tests-update (2023-11-03) 10 commits
  (merged to 'next' on 2023-11-13 at dc26e55d6f)
 + t: mark several tests that assume the files backend with REFFILES
 + t7900: assert the absence of refs via git-for-each-ref(1)
 + t7300: assert exact states of repo
 + t4207: delete replace references via git-update-ref(1)
 + t1450: convert tests to remove worktrees via git-worktree(1)
 + t: convert tests to not access reflog via the filesystem
 + t: convert tests to not access symrefs via the filesystem
 + t: convert tests to not write references via the filesystem
 + t: allow skipping expected object ID in `ref-store update-ref`
 + Merge branch 'ps/show-ref' into ps/ref-tests-update

 Update ref-related tests.

 Will merge to 'master'.
 source: <cover.1698914571.git.ps@pks.im>


* jx/fetch-atomic-error-message-fix (2023-10-19) 2 commits
 - fetch: no redundant error message for atomic fetch
 - t5574: test porcelain output of atomic fetch

 "git fetch --atomic" issued an unnecessary empty error message,
 which has been corrected.

 Expecting an update.
 cf. <ZTjQIrCgSANAT8wR@tanuki>
 source: <ced46baeb1c18b416b4b4cc947f498bea2910b1b.1697725898.git.zhiyou.jx@alibaba-inc.com>


* js/bugreport-in-the-same-minute (2023-10-16) 1 commit
 - bugreport: include +i in outfile suffix as needed

 Instead of auto-generating a filename that is already in use for
 output and fail the command, `git bugreport` learned to fuzz the
 filename to avoid collisions with existing files.

 Expecting a reroll.
 cf. <ZTtZ5CbIGETy1ucV.jacob@initialcommit.io>
 source: <20231016214045.146862-2-jacob@initialcommit.io>


* kh/t7900-cleanup (2023-10-17) 9 commits
 - t7900: fix register dependency
 - t7900: factor out packfile dependency
 - t7900: fix `print-args` dependency
 - t7900: fix `pfx` dependency
 - t7900: factor out common schedule setup
 - t7900: factor out inheritance test dependency
 - t7900: create commit so that branch is born
 - t7900: setup and tear down clones
 - t7900: remove register dependency

 Test clean-up.

 Perhaps discard?
 cf. <655ca147-c214-41be-919d-023c1b27b311@app.fastmail.com>
 source: <cover.1697319294.git.code@khaugsbakk.name>


* tb/merge-tree-write-pack (2023-10-23) 5 commits
 - builtin/merge-tree.c: implement support for `--write-pack`
 - bulk-checkin: introduce `index_tree_bulk_checkin_incore()`
 - bulk-checkin: introduce `index_blob_bulk_checkin_incore()`
 - bulk-checkin: generify `stream_blob_to_pack()` for arbitrary types
 - bulk-checkin: extract abstract `bulk_checkin_source`

 "git merge-tree" learned "--write-pack" to record its result
 without creating loose objects.

 Broken when an object created during a merge is needed to continue merge
 cf. <CABPp-BEfy9VOvimP9==ry_rZXu=metOQ8s=_-XiG_Pdx9c06Ww@mail.gmail.com>
 source: <cover.1698101088.git.me@ttaylorr.com>


* tb/pair-chunk-expect (2023-11-10) 8 commits
 - midx: read `OOFF` chunk with `pair_chunk_expect()`
 - midx: read `OIDL` chunk with `pair_chunk_expect()`
 - commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 - commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `OIDL` chunk with `pair_chunk_expect()`
 - chunk-format: introduce `pair_chunk_expect()` helper
 - Merge branch 'jk/chunk-bounds-more' into HEAD
 (this branch uses jk/chunk-bounds-more.)

 Further code clean-up.

 Needs review.
 source: <cover.1699569246.git.me@ttaylorr.com>


* tb/path-filter-fix (2023-10-18) 17 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Needs (hopefully final and quick) review.
 source: <cover.1697653929.git.me@ttaylorr.com>


* cc/git-replay (2023-11-26) 14 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: change rev walking options
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 Introduce "git replay", a tool meant on the server side without
 working tree to recreate a history.

 Will merge to 'next'.
 cf. <6bfe1541-54dd-ca6b-e930-94d3038060f1@gmx.de>
 source: <20231124111044.3426007-1-christian.couder@gmail.com>


* ak/color-decorate-symbols (2023-10-23) 7 commits
 - log: add color.decorate.pseudoref config variable
 - refs: exempt pseudorefs from pattern prefixing
 - refs: add pseudorefs array and iteration functions
 - log: add color.decorate.ref config variable
 - log: add color.decorate.symbol config variable
 - log: use designated inits for decoration_colors
 - config: restructure color.decorate documentation

 A new config for coloring.

 Needs review.
 source: <20231023221143.72489-1-andy.koppe@gmail.com>


* js/update-urls-in-doc-and-comment (2023-11-26) 4 commits
 - doc: refer to internet archive
 - doc: update links for andre-simon.de
 - doc: switch links to https
 - doc: update links to current pages

 Stale URLs have been updated to their current counterparts (or
 archive.org) and HTTP links are replaced with working HTTPS links.

 Will merge to 'next'.
 source: <pull.1589.v3.git.1700796916.gitgitgadget@gmail.com>


* la/trailer-cleanups (2023-10-20) 3 commits
 - trailer: use offsets for trailer_start/trailer_end
 - trailer: find the end of the log message
 - commit: ignore_non_trailer computes number of bytes to ignore

 Code clean-up.

 Comments?
 source: <pull.1563.v5.git.1697828495.gitgitgadget@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2023-10-04) 4 commits
 - archive: support remote archive from stateless transport
 - transport-helper: call do_take_over() in connect_helper
 - transport-helper: call do_take_over() in process_connect
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Needs review.
 source: <cover.1696432593.git.zhiyou.jx@alibaba-inc.com>


* jx/sideband-chomp-newline-fix (2023-10-04) 3 commits
 - pkt-line: do not chomp newlines for sideband messages
 - pkt-line: memorize sideband fragment in reader
 - test-pkt-line: add option parser for unpack-sideband

 Sideband demultiplexer fixes.

 Needs review.
 source: <cover.1696425168.git.zhiyou.jx@alibaba-inc.com>


* js/config-parse (2023-09-21) 5 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split do_event() into start and flush operations
 - config: split out config_parse_options

 The parsing routines for the configuration files have been split
 into a separate file.

 Needs review.
 source: <cover.1695330852.git.steadmon@google.com>


* jc/fake-lstat (2023-09-15) 1 commit
 - cache: add fake_lstat()
 (this branch is used by jc/diff-cached-fsmonitor-fix.)

 A new helper to let us pretend that we called lstat() when we know
 our cache_entry is up-to-date via fsmonitor.

 Needs review.
 source: <xmqqcyykig1l.fsf@gitster.g>


* js/doc-unit-tests (2023-11-10) 3 commits
  (merged to 'next' on 2023-11-10 at 7d00ffd06b)
 + ci: run unit tests in CI
 + unit tests: add TAP unit test framework
 + unit tests: add a project plan document
 (this branch is used by js/doc-unit-tests-with-cmake.)

 Process to add some form of low-level unit tests has started.

 Will merge to 'master'.
 source: <cover.1699555664.git.steadmon@google.com>


* js/doc-unit-tests-with-cmake (2023-11-10) 7 commits
  (merged to 'next' on 2023-11-10 at b4503c9c8c)
 + cmake: handle also unit tests
 + cmake: use test names instead of full paths
 + cmake: fix typo in variable name
 + artifacts-tar: when including `.dll` files, don't forget the unit-tests
 + unit-tests: do show relative file paths
 + unit-tests: do not mistake `.pdb` files for being executable
 + cmake: also build unit tests
 (this branch uses js/doc-unit-tests.)

 Update the base topic to work with CMake builds.

 Will merge to 'master'.
 source: <pull.1579.v3.git.1695640836.gitgitgadget@gmail.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-10-16) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 source: <2e24ca9b-9c5f-f4df-b9f8-6574a714dfb2@gmail.com>

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

* jc/strbuf-comment-line-char (2023-11-01) 4 commits
 . strbuf: move env-using functions to environment.c
 . strbuf: make add_lines() public
 . strbuf_add_commented_lines(): drop the comment_line_char parameter
 . strbuf_commented_addf(): drop the comment_line_char parameter

 Code simplification that goes directly against a past libification
 topic.  It is hard to judge because the "libification" is done
 piecewise without seemingly clear design principle.

 Will discard.
 source: <cover.1698791220.git.jonathantanmy@google.com>


^ permalink raw reply	[relevance 23%]

* What's cooking in git.git (Nov 2023, #08; Mon, 20)
@ 2023-11-20 17:01 25% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-11-20 17:01 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

Git 2.43 has been tagged.  With many folks are away from the
keyboard for vacation, I would expect it will be a very slow week.
I'll be taking a few weeks off, too, so please enjoy this release ;-).

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']

* tz/send-email-helpfix (2023-11-16) 1 commit
  (merged to 'next' on 2023-11-17 at 8422271795)
 + send-email: remove stray characters from usage

 Typoes in "git send-email -h" have been corrected.
 source: <20231115173952.339303-3-tmz@pobox.com>


* vd/glossary-dereference-peel (2023-11-14) 1 commit
  (merged to 'next' on 2023-11-17 at bac3ab0c0b)
 + glossary: add definitions for dereference & peel

 "To dereference" and "to peel" were sometimes used in in-code
 comments and documentation but without description in the glossary.
 source: <pull.1610.v2.git.1699917471769.gitgitgadget@gmail.com>

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

* ac/fuzz-show-date (2023-11-20) 1 commit
 - fuzz: add new oss-fuzz fuzzer for date.c / date.h

 Subject approxidate() and show_date() macchinery to OSS-Fuzz.

 Will merge to 'next'?
 source: <pull.1612.v4.git.1700243267653.gitgitgadget@gmail.com>


* js/packfile-h-typofix (2023-11-20) 1 commit
 - packfile.c: fix a typo in `each_file_in_pack_dir_fn()`'s declaration

 Typofix.

 Will merge to 'next'.
 source: <pull.1614.git.1700226915859.gitgitgadget@gmail.com>

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

* pw/rebase-sigint (2023-09-07) 1 commit
 - rebase -i: ignore signals when forking subprocesses

 If the commit log editor or other external programs (spawned via
 "exec" insn in the todo list) receive internactive signal during
 "git rebase -i", it caused not just the spawned program but the
 "Git" process that spawned them, which is often not what the end
 user intended.  "git" learned to ignore SIGINT and SIGQUIT while
 waiting for these subprocesses.

 Expecting a reroll.
 cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
 source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
 - diff-lib: fix check_removed() when fsmonitor is active
 - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
 - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
 (this branch uses jc/fake-lstat.)

 The optimization based on fsmonitor in the "diff --cached"
 codepath is resurrected with the "fake-lstat" introduced earlier.

 It is unknown if the optimization is worth resurrecting, but in case...
 source: <xmqqr0n0h0tw.fsf@gitster.g>

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

* jw/builtin-objectmode-attr (2023-11-16) 2 commits
 - SQUASH???
 - attr: add builtin objectmode values support

 The builtin_objectmode attribute is populated for each path
 without adding anything in .gitattributes files, which would be
 useful in magic pathspec, e.g., ":(attr:builtin_objectmode=100755)"
 to limit to executables.
 source: <20231116054437.2343549-1-jojwang@google.com>


* ps/ref-deletion-updates (2023-11-17) 4 commits
 - refs: remove `delete_refs` callback from backends
 - refs: deduplicate code to delete references
 - refs/files: use transactions to delete references
 - t5510: ensure that the packed-refs file needs locking

 Simplify API implementation to delete references by eliminating
 duplication.

 Will merge to 'next'.
 source: <cover.1699951815.git.ps@pks.im>


* tz/send-email-negatable-options (2023-11-17) 2 commits
  (merged to 'next' on 2023-11-17 at f09e533e43)
 + send-email: avoid duplicate specification warnings
 + perl: bump the required Perl version to 5.8.1 from 5.8.0

 Newer versions of Getopt::Long started giving warnings against our
 (ab)use of it in "git send-email".  Bump the minimum version
 requirement for Perl to 5.8.1 (from September 2002) to allow
 simplifying our implementation.

 Will cook in 'next'.
 source: <20231116193014.470420-1-tmz@pobox.com>


* js/ci-discard-prove-state (2023-11-14) 1 commit
  (merged to 'next' on 2023-11-14 at fade3ba143)
 + ci: avoid running the test suite _twice_
 (this branch uses ps/ci-gitlab.)

 The way CI testing used "prove" could lead to running the test
 suite twice needlessly, which has been corrected.

 Will cook in 'next'.
 source: <pull.1613.git.1699894837844.gitgitgadget@gmail.com>


* jk/chunk-bounds-more (2023-11-09) 9 commits
  (merged to 'next' on 2023-11-13 at 3df4b18bea)
 + commit-graph: mark chunk error messages for translation
 + commit-graph: drop verify_commit_graph_lite()
 + commit-graph: check order while reading fanout chunk
 + commit-graph: use fanout value for graph size
 + commit-graph: abort as soon as we see a bogus chunk
 + commit-graph: clarify missing-chunk error messages
 + commit-graph: drop redundant call to "lite" verification
 + midx: check consistency of fanout table
 + commit-graph: handle overflow in chunk_size checks
 (this branch is used by tb/pair-chunk-expect.)

 Code clean-up for jk/chunk-bounds topic.

 Will cook in 'next'.
 source: <20231109070310.GA2697602@coredump.intra.peff.net>


* ps/httpd-tests-on-nixos (2023-11-11) 3 commits
  (merged to 'next' on 2023-11-13 at 81bd6f5334)
 + t9164: fix inability to find basename(1) in Subversion hooks
 + t/lib-httpd: stop using legacy crypt(3) for authentication
 + t/lib-httpd: dynamically detect httpd and modules path

 Portability tweak.

 Will cook in 'next'.
 source: <cover.1699596457.git.ps@pks.im>


* ss/format-patch-use-encode-headers-for-cover-letter (2023-11-10) 1 commit
  (merged to 'next' on 2023-11-14 at 1a4bd59e15)
 + format-patch: fix ignored encode_email_headers for cover letter

 "git format-patch --encode-email-headers" ignored the option when
 preparing the cover letter, which has been corrected.

 Will cook in 'next'.
 source: <20231109111950.387219-1-contact@emersion.fr>


* ps/ban-a-or-o-operator-with-test (2023-11-11) 4 commits
  (merged to 'next' on 2023-11-14 at d84471baab)
 + Makefile: stop using `test -o` when unlinking duplicate executables
 + contrib/subtree: convert subtree type check to use case statement
 + contrib/subtree: stop using `-o` to test for number of args
 + global: convert trivial usages of `test <expr> -a/-o <expr>`

 Test and shell scripts clean-up.

 Will cook in 'next'.
 source: <cover.1699609940.git.ps@pks.im>


* ak/rebase-autosquash (2023-11-16) 3 commits
  (merged to 'next' on 2023-11-17 at 3ed6e79445)
 + rebase: rewrite --(no-)autosquash documentation
 + rebase: support --autosquash without -i
 + rebase: fully ignore rebase.autoSquash without -i

 "git rebase --autosquash" is now enabled for non-interactive rebase,
 but it is still incompatible with the apply backend.

 Will cook in 'next'.
 source: <20231114214339.10925-1-andy.koppe@gmail.com>


* vd/for-each-ref-unsorted-optimization (2023-11-16) 10 commits
  (merged to 'next' on 2023-11-17 at ff99420bf6)
 + t/perf: add perf tests for for-each-ref
 + ref-filter.c: use peeled tag for '*' format fields
 + for-each-ref: clean up documentation of --format
 + ref-filter.c: filter & format refs in the same callback
 + ref-filter.c: refactor to create common helper functions
 + ref-filter.c: rename 'ref_filter_handler()' to 'filter_one()'
 + ref-filter.h: add functions for filter/format & format-only
 + ref-filter.h: move contains caches into filter
 + ref-filter.h: add max_count and omit_empty to ref_format
 + ref-filter.c: really don't sort when using --no-sort

 "git for-each-ref --no-sort" still sorted the refs alphabetically
 which paid non-trivial cost.  It has been redefined to show output
 in an unspecified order, to allow certain optimizations to take
 advantage of.

 Will cook in 'next'.
 source: <pull.1609.v2.git.1699991638.gitgitgadget@gmail.com>


* jw/git-add-attr-pathspec (2023-11-04) 1 commit
  (merged to 'next' on 2023-11-13 at b61be94e4d)
 + attr: enable attr pathspec magic for git-add and git-stash

 "git add" and "git stash" learned to support the ":(attr:...)"
 magic pathspec.

 Will cook in 'next'.
 source: <20231103163449.1578841-1-jojwang@google.com>


* ps/ci-gitlab (2023-11-09) 8 commits
  (merged to 'next' on 2023-11-10 at ea7ed67945)
 + ci: add support for GitLab CI
 + ci: install test dependencies for linux-musl
 + ci: squelch warnings when testing with unusable Git repo
 + ci: unify setup of some environment variables
 + ci: split out logic to set up failed test artifacts
 + ci: group installation of Docker dependencies
 + ci: make grouping setup more generic
 + ci: reorder definitions for grouping functions
 (this branch is used by js/ci-discard-prove-state.)

 Add support for GitLab CI.

 Will cook in 'next'.
 source: <cover.1699514143.git.ps@pks.im>


* ps/ref-tests-update (2023-11-03) 10 commits
  (merged to 'next' on 2023-11-13 at dc26e55d6f)
 + t: mark several tests that assume the files backend with REFFILES
 + t7900: assert the absence of refs via git-for-each-ref(1)
 + t7300: assert exact states of repo
 + t4207: delete replace references via git-update-ref(1)
 + t1450: convert tests to remove worktrees via git-worktree(1)
 + t: convert tests to not access reflog via the filesystem
 + t: convert tests to not access symrefs via the filesystem
 + t: convert tests to not write references via the filesystem
 + t: allow skipping expected object ID in `ref-store update-ref`
 + Merge branch 'ps/show-ref' into ps/ref-tests-update

 Update ref-related tests.

 Will cook in 'next'.
 source: <cover.1698914571.git.ps@pks.im>


* jx/fetch-atomic-error-message-fix (2023-10-19) 2 commits
 - fetch: no redundant error message for atomic fetch
 - t5574: test porcelain output of atomic fetch

 "git fetch --atomic" issued an unnecessary empty error message,
 which has been corrected.

 Expecting an update.
 cf. <ZTjQIrCgSANAT8wR@tanuki>
 source: <ced46baeb1c18b416b4b4cc947f498bea2910b1b.1697725898.git.zhiyou.jx@alibaba-inc.com>


* js/bugreport-in-the-same-minute (2023-10-16) 1 commit
 - bugreport: include +i in outfile suffix as needed

 Instead of auto-generating a filename that is already in use for
 output and fail the command, `git bugreport` learned to fuzz the
 filename to avoid collisions with existing files.

 Expecting a reroll.
 cf. <ZTtZ5CbIGETy1ucV.jacob@initialcommit.io>
 source: <20231016214045.146862-2-jacob@initialcommit.io>


* kh/t7900-cleanup (2023-10-17) 9 commits
 - t7900: fix register dependency
 - t7900: factor out packfile dependency
 - t7900: fix `print-args` dependency
 - t7900: fix `pfx` dependency
 - t7900: factor out common schedule setup
 - t7900: factor out inheritance test dependency
 - t7900: create commit so that branch is born
 - t7900: setup and tear down clones
 - t7900: remove register dependency

 Test clean-up.

 Perhaps discard?
 cf. <655ca147-c214-41be-919d-023c1b27b311@app.fastmail.com>
 source: <cover.1697319294.git.code@khaugsbakk.name>


* tb/merge-tree-write-pack (2023-10-23) 5 commits
 - builtin/merge-tree.c: implement support for `--write-pack`
 - bulk-checkin: introduce `index_tree_bulk_checkin_incore()`
 - bulk-checkin: introduce `index_blob_bulk_checkin_incore()`
 - bulk-checkin: generify `stream_blob_to_pack()` for arbitrary types
 - bulk-checkin: extract abstract `bulk_checkin_source`

 "git merge-tree" learned "--write-pack" to record its result
 without creating loose objects.

 Broken when an object created during a merge is needed to continue merge
 cf. <CABPp-BEfy9VOvimP9==ry_rZXu=metOQ8s=_-XiG_Pdx9c06Ww@mail.gmail.com>
 source: <cover.1698101088.git.me@ttaylorr.com>


* tb/pair-chunk-expect (2023-11-10) 8 commits
 - midx: read `OOFF` chunk with `pair_chunk_expect()`
 - midx: read `OIDL` chunk with `pair_chunk_expect()`
 - commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 - commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `OIDL` chunk with `pair_chunk_expect()`
 - chunk-format: introduce `pair_chunk_expect()` helper
 - Merge branch 'jk/chunk-bounds-more' into HEAD
 (this branch uses jk/chunk-bounds-more.)

 Further code clean-up.

 Needs review.
 source: <cover.1699569246.git.me@ttaylorr.com>


* tb/path-filter-fix (2023-10-18) 17 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Needs (hopefully final and quick) review.
 source: <cover.1697653929.git.me@ttaylorr.com>


* cc/git-replay (2023-11-16) 14 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: change rev walking options
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 Introduce "git replay", a tool meant on the server side without
 working tree to recreate a history.
 source: <20231115143327.2441397-1-christian.couder@gmail.com>


* ak/color-decorate-symbols (2023-10-23) 7 commits
 - log: add color.decorate.pseudoref config variable
 - refs: exempt pseudorefs from pattern prefixing
 - refs: add pseudorefs array and iteration functions
 - log: add color.decorate.ref config variable
 - log: add color.decorate.symbol config variable
 - log: use designated inits for decoration_colors
 - config: restructure color.decorate documentation

 A new config for coloring.

 Needs review.
 source: <20231023221143.72489-1-andy.koppe@gmail.com>


* js/update-urls-in-doc-and-comment (2023-09-26) 4 commits
 - doc: refer to internet archive
 - doc: update links for andre-simon.de
 - doc: update links to current pages
 - doc: switch links to https

 Stale URLs have been updated to their current counterparts (or
 archive.org) and HTTP links are replaced with working HTTPS links.

 Needs review.
 source: <pull.1589.v2.git.1695553041.gitgitgadget@gmail.com>


* la/trailer-cleanups (2023-10-20) 3 commits
 - trailer: use offsets for trailer_start/trailer_end
 - trailer: find the end of the log message
 - commit: ignore_non_trailer computes number of bytes to ignore

 Code clean-up.

 Comments?
 source: <pull.1563.v5.git.1697828495.gitgitgadget@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2023-10-04) 4 commits
 - archive: support remote archive from stateless transport
 - transport-helper: call do_take_over() in connect_helper
 - transport-helper: call do_take_over() in process_connect
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Needs review.
 source: <cover.1696432593.git.zhiyou.jx@alibaba-inc.com>


* jx/sideband-chomp-newline-fix (2023-10-04) 3 commits
 - pkt-line: do not chomp newlines for sideband messages
 - pkt-line: memorize sideband fragment in reader
 - test-pkt-line: add option parser for unpack-sideband

 Sideband demultiplexer fixes.

 Needs review.
 source: <cover.1696425168.git.zhiyou.jx@alibaba-inc.com>


* js/config-parse (2023-09-21) 5 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split do_event() into start and flush operations
 - config: split out config_parse_options

 The parsing routines for the configuration files have been split
 into a separate file.

 Needs review.
 source: <cover.1695330852.git.steadmon@google.com>


* jc/fake-lstat (2023-09-15) 1 commit
 - cache: add fake_lstat()
 (this branch is used by jc/diff-cached-fsmonitor-fix.)

 A new helper to let us pretend that we called lstat() when we know
 our cache_entry is up-to-date via fsmonitor.

 Needs review.
 source: <xmqqcyykig1l.fsf@gitster.g>


* js/doc-unit-tests (2023-11-10) 3 commits
  (merged to 'next' on 2023-11-10 at 7d00ffd06b)
 + ci: run unit tests in CI
 + unit tests: add TAP unit test framework
 + unit tests: add a project plan document
 (this branch is used by js/doc-unit-tests-with-cmake.)

 Process to add some form of low-level unit tests has started.

 Will cook in 'next'.
 source: <cover.1699555664.git.steadmon@google.com>


* js/doc-unit-tests-with-cmake (2023-11-10) 7 commits
  (merged to 'next' on 2023-11-10 at b4503c9c8c)
 + cmake: handle also unit tests
 + cmake: use test names instead of full paths
 + cmake: fix typo in variable name
 + artifacts-tar: when including `.dll` files, don't forget the unit-tests
 + unit-tests: do show relative file paths
 + unit-tests: do not mistake `.pdb` files for being executable
 + cmake: also build unit tests
 (this branch uses js/doc-unit-tests.)

 Update the base topic to work with CMake builds.

 Will cook in 'next'.
 source: <pull.1579.v3.git.1695640836.gitgitgadget@gmail.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-10-16) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 source: <2e24ca9b-9c5f-f4df-b9f8-6574a714dfb2@gmail.com>

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

* jc/strbuf-comment-line-char (2023-11-01) 4 commits
 . strbuf: move env-using functions to environment.c
 . strbuf: make add_lines() public
 . strbuf_add_commented_lines(): drop the comment_line_char parameter
 . strbuf_commented_addf(): drop the comment_line_char parameter

 Code simplification that goes directly against a past libification
 topic.  It is hard to judge because the "libification" is done
 piecewise without seemingly clear design principle.

 Will discard.
 source: <cover.1698791220.git.jonathantanmy@google.com>


^ permalink raw reply	[relevance 25%]

* What's cooking in git.git (Nov 2023, #07; Fri, 17)
@ 2023-11-17  8:30 26% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-11-17  8:30 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

Git 2.43-rc2 has been tagged.

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]

* jw/builtin-objectmode-attr (2023-11-16) 2 commits
 - SQUASH???
 - attr: add builtin objectmode values support

 The builtin_objectmode attribute is populated for each path
 without adding anything in .gitattributes files, which would be
 useful in magic pathspec, e.g., ":(attr:builtin_objectmode=100755)"
 to limit to executables.
 source: <20231116054437.2343549-1-jojwang@google.com>


* ps/ref-deletion-updates (2023-11-17) 4 commits
 - refs: remove `delete_refs` callback from backends
 - refs: deduplicate code to delete references
 - refs/files: use transactions to delete references
 - t5510: ensure that the packed-refs file needs locking

 Simplify API implementation to delete references by eliminating
 duplication.

 Will merge to 'next'.
 source: <cover.1699951815.git.ps@pks.im>


* tz/send-email-helpfix (2023-11-16) 1 commit
  (merged to 'next' on 2023-11-17 at 8422271795)
 + send-email: remove stray characters from usage

 Typoes in "git send-email -h" have been corrected.

 Will merge to 'master'.
 source: <20231115173952.339303-3-tmz@pobox.com>


* tz/send-email-negatable-options (2023-11-17) 2 commits
  (merged to 'next' on 2023-11-17 at f09e533e43)
 + send-email: avoid duplicate specification warnings
 + perl: bump the required Perl version to 5.8.1 from 5.8.0

 Newer versions of Getopt::Long started giving warnings against our
 (ab)use of it in "git send-email".  Bump the minimum version
 requirement for Perl to 5.8.1 (from September 2002) to allow
 simplifying our implementation.

 Will cook in 'next'.
 source: <20231116193014.470420-1-tmz@pobox.com>

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

* pw/rebase-sigint (2023-09-07) 1 commit
 - rebase -i: ignore signals when forking subprocesses

 If the commit log editor or other external programs (spawned via
 "exec" insn in the todo list) receive internactive signal during
 "git rebase -i", it caused not just the spawned program but the
 "Git" process that spawned them, which is often not what the end
 user intended.  "git" learned to ignore SIGINT and SIGQUIT while
 waiting for these subprocesses.

 Expecting a reroll.
 cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
 source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
 - diff-lib: fix check_removed() when fsmonitor is active
 - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
 - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
 (this branch uses jc/fake-lstat.)

 The optimization based on fsmonitor in the "diff --cached"
 codepath is resurrected with the "fake-lstat" introduced earlier.

 It is unknown if the optimization is worth resurrecting, but in case...
 source: <xmqqr0n0h0tw.fsf@gitster.g>

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

* js/ci-discard-prove-state (2023-11-14) 1 commit
  (merged to 'next' on 2023-11-14 at fade3ba143)
 + ci: avoid running the test suite _twice_
 (this branch uses ps/ci-gitlab.)

 The way CI testing used "prove" could lead to running the test
 suite twice needlessly, which has been corrected.

 Will cook in 'next'.
 source: <pull.1613.git.1699894837844.gitgitgadget@gmail.com>


* jk/chunk-bounds-more (2023-11-09) 9 commits
  (merged to 'next' on 2023-11-13 at 3df4b18bea)
 + commit-graph: mark chunk error messages for translation
 + commit-graph: drop verify_commit_graph_lite()
 + commit-graph: check order while reading fanout chunk
 + commit-graph: use fanout value for graph size
 + commit-graph: abort as soon as we see a bogus chunk
 + commit-graph: clarify missing-chunk error messages
 + commit-graph: drop redundant call to "lite" verification
 + midx: check consistency of fanout table
 + commit-graph: handle overflow in chunk_size checks
 (this branch is used by tb/pair-chunk-expect.)

 Code clean-up for jk/chunk-bounds topic.

 Will cook in 'next'.
 source: <20231109070310.GA2697602@coredump.intra.peff.net>


* ps/httpd-tests-on-nixos (2023-11-11) 3 commits
  (merged to 'next' on 2023-11-13 at 81bd6f5334)
 + t9164: fix inability to find basename(1) in Subversion hooks
 + t/lib-httpd: stop using legacy crypt(3) for authentication
 + t/lib-httpd: dynamically detect httpd and modules path

 Portability tweak.

 Will cook in 'next'.
 source: <cover.1699596457.git.ps@pks.im>


* ss/format-patch-use-encode-headers-for-cover-letter (2023-11-10) 1 commit
  (merged to 'next' on 2023-11-14 at 1a4bd59e15)
 + format-patch: fix ignored encode_email_headers for cover letter

 "git format-patch --encode-email-headers" ignored the option when
 preparing the cover letter, which has been corrected.

 Will cook in 'next'.
 source: <20231109111950.387219-1-contact@emersion.fr>


* ps/ban-a-or-o-operator-with-test (2023-11-11) 4 commits
  (merged to 'next' on 2023-11-14 at d84471baab)
 + Makefile: stop using `test -o` when unlinking duplicate executables
 + contrib/subtree: convert subtree type check to use case statement
 + contrib/subtree: stop using `-o` to test for number of args
 + global: convert trivial usages of `test <expr> -a/-o <expr>`

 Test and shell scripts clean-up.

 Will cook in 'next'.
 source: <cover.1699609940.git.ps@pks.im>


* vd/glossary-dereference-peel (2023-11-14) 1 commit
  (merged to 'next' on 2023-11-17 at bac3ab0c0b)
 + glossary: add definitions for dereference & peel

 "To dereference" and "to peel" were sometimes used in in-code
 comments and documentation but without description in the glossary.

 Will merge to 'master'.
 source: <pull.1610.v2.git.1699917471769.gitgitgadget@gmail.com>


* ak/rebase-autosquash (2023-11-16) 3 commits
  (merged to 'next' on 2023-11-17 at 3ed6e79445)
 + rebase: rewrite --(no-)autosquash documentation
 + rebase: support --autosquash without -i
 + rebase: fully ignore rebase.autoSquash without -i

 "git rebase --autosquash" is now enabled for non-interactive rebase,
 but it is still incompatible with the apply backend.

 Will cook in 'next'.
 source: <20231114214339.10925-1-andy.koppe@gmail.com>


* vd/for-each-ref-unsorted-optimization (2023-11-16) 10 commits
  (merged to 'next' on 2023-11-17 at ff99420bf6)
 + t/perf: add perf tests for for-each-ref
 + ref-filter.c: use peeled tag for '*' format fields
 + for-each-ref: clean up documentation of --format
 + ref-filter.c: filter & format refs in the same callback
 + ref-filter.c: refactor to create common helper functions
 + ref-filter.c: rename 'ref_filter_handler()' to 'filter_one()'
 + ref-filter.h: add functions for filter/format & format-only
 + ref-filter.h: move contains caches into filter
 + ref-filter.h: add max_count and omit_empty to ref_format
 + ref-filter.c: really don't sort when using --no-sort

 "git for-each-ref --no-sort" still sorted the refs alphabetically
 which paid non-trivial cost.  It has been redefined to show output
 in an unspecified order, to allow certain optimizations to take
 advantage of.

 Will cook in 'next'.
 source: <pull.1609.v2.git.1699991638.gitgitgadget@gmail.com>


* jw/git-add-attr-pathspec (2023-11-04) 1 commit
  (merged to 'next' on 2023-11-13 at b61be94e4d)
 + attr: enable attr pathspec magic for git-add and git-stash

 "git add" and "git stash" learned to support the ":(attr:...)"
 magic pathspec.

 Will cook in 'next'.
 source: <20231103163449.1578841-1-jojwang@google.com>


* ps/ci-gitlab (2023-11-09) 8 commits
  (merged to 'next' on 2023-11-10 at ea7ed67945)
 + ci: add support for GitLab CI
 + ci: install test dependencies for linux-musl
 + ci: squelch warnings when testing with unusable Git repo
 + ci: unify setup of some environment variables
 + ci: split out logic to set up failed test artifacts
 + ci: group installation of Docker dependencies
 + ci: make grouping setup more generic
 + ci: reorder definitions for grouping functions
 (this branch is used by js/ci-discard-prove-state.)

 Add support for GitLab CI.

 Will cook in 'next'.
 source: <cover.1699514143.git.ps@pks.im>


* ps/ref-tests-update (2023-11-03) 10 commits
  (merged to 'next' on 2023-11-13 at dc26e55d6f)
 + t: mark several tests that assume the files backend with REFFILES
 + t7900: assert the absence of refs via git-for-each-ref(1)
 + t7300: assert exact states of repo
 + t4207: delete replace references via git-update-ref(1)
 + t1450: convert tests to remove worktrees via git-worktree(1)
 + t: convert tests to not access reflog via the filesystem
 + t: convert tests to not access symrefs via the filesystem
 + t: convert tests to not write references via the filesystem
 + t: allow skipping expected object ID in `ref-store update-ref`
 + Merge branch 'ps/show-ref' into ps/ref-tests-update

 Update ref-related tests.

 Will cook in 'next'.
 source: <cover.1698914571.git.ps@pks.im>


* jx/fetch-atomic-error-message-fix (2023-10-19) 2 commits
 - fetch: no redundant error message for atomic fetch
 - t5574: test porcelain output of atomic fetch

 "git fetch --atomic" issued an unnecessary empty error message,
 which has been corrected.

 Expecting an update.
 cf. <ZTjQIrCgSANAT8wR@tanuki>
 source: <ced46baeb1c18b416b4b4cc947f498bea2910b1b.1697725898.git.zhiyou.jx@alibaba-inc.com>


* js/bugreport-in-the-same-minute (2023-10-16) 1 commit
 - bugreport: include +i in outfile suffix as needed

 Instead of auto-generating a filename that is already in use for
 output and fail the command, `git bugreport` learned to fuzz the
 filename to avoid collisions with existing files.

 Expecting a reroll.
 cf. <ZTtZ5CbIGETy1ucV.jacob@initialcommit.io>
 source: <20231016214045.146862-2-jacob@initialcommit.io>


* kh/t7900-cleanup (2023-10-17) 9 commits
 - t7900: fix register dependency
 - t7900: factor out packfile dependency
 - t7900: fix `print-args` dependency
 - t7900: fix `pfx` dependency
 - t7900: factor out common schedule setup
 - t7900: factor out inheritance test dependency
 - t7900: create commit so that branch is born
 - t7900: setup and tear down clones
 - t7900: remove register dependency

 Test clean-up.

 Perhaps discard?
 cf. <655ca147-c214-41be-919d-023c1b27b311@app.fastmail.com>
 source: <cover.1697319294.git.code@khaugsbakk.name>


* tb/merge-tree-write-pack (2023-10-23) 5 commits
 - builtin/merge-tree.c: implement support for `--write-pack`
 - bulk-checkin: introduce `index_tree_bulk_checkin_incore()`
 - bulk-checkin: introduce `index_blob_bulk_checkin_incore()`
 - bulk-checkin: generify `stream_blob_to_pack()` for arbitrary types
 - bulk-checkin: extract abstract `bulk_checkin_source`

 "git merge-tree" learned "--write-pack" to record its result
 without creating loose objects.

 Broken when an object created during a merge is needed to continue merge
 cf. <CABPp-BEfy9VOvimP9==ry_rZXu=metOQ8s=_-XiG_Pdx9c06Ww@mail.gmail.com>
 source: <cover.1698101088.git.me@ttaylorr.com>


* tb/pair-chunk-expect (2023-11-10) 8 commits
 - midx: read `OOFF` chunk with `pair_chunk_expect()`
 - midx: read `OIDL` chunk with `pair_chunk_expect()`
 - commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 - commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `OIDL` chunk with `pair_chunk_expect()`
 - chunk-format: introduce `pair_chunk_expect()` helper
 - Merge branch 'jk/chunk-bounds-more' into HEAD
 (this branch uses jk/chunk-bounds-more.)

 Further code clean-up.

 Needs review.
 source: <cover.1699569246.git.me@ttaylorr.com>


* tb/path-filter-fix (2023-10-18) 17 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Needs (hopefully final and quick) review.
 source: <cover.1697653929.git.me@ttaylorr.com>


* cc/git-replay (2023-11-16) 14 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: change rev walking options
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 Introduce "git replay", a tool meant on the server side without
 working tree to recreate a history.
 source: <20231115143327.2441397-1-christian.couder@gmail.com>


* ak/color-decorate-symbols (2023-10-23) 7 commits
 - log: add color.decorate.pseudoref config variable
 - refs: exempt pseudorefs from pattern prefixing
 - refs: add pseudorefs array and iteration functions
 - log: add color.decorate.ref config variable
 - log: add color.decorate.symbol config variable
 - log: use designated inits for decoration_colors
 - config: restructure color.decorate documentation

 A new config for coloring.

 Needs review.
 source: <20231023221143.72489-1-andy.koppe@gmail.com>


* js/update-urls-in-doc-and-comment (2023-09-26) 4 commits
 - doc: refer to internet archive
 - doc: update links for andre-simon.de
 - doc: update links to current pages
 - doc: switch links to https

 Stale URLs have been updated to their current counterparts (or
 archive.org) and HTTP links are replaced with working HTTPS links.

 Needs review.
 source: <pull.1589.v2.git.1695553041.gitgitgadget@gmail.com>


* la/trailer-cleanups (2023-10-20) 3 commits
 - trailer: use offsets for trailer_start/trailer_end
 - trailer: find the end of the log message
 - commit: ignore_non_trailer computes number of bytes to ignore

 Code clean-up.

 Comments?
 source: <pull.1563.v5.git.1697828495.gitgitgadget@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2023-10-04) 4 commits
 - archive: support remote archive from stateless transport
 - transport-helper: call do_take_over() in connect_helper
 - transport-helper: call do_take_over() in process_connect
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Needs review.
 source: <cover.1696432593.git.zhiyou.jx@alibaba-inc.com>


* jx/sideband-chomp-newline-fix (2023-10-04) 3 commits
 - pkt-line: do not chomp newlines for sideband messages
 - pkt-line: memorize sideband fragment in reader
 - test-pkt-line: add option parser for unpack-sideband

 Sideband demultiplexer fixes.

 Needs review.
 source: <cover.1696425168.git.zhiyou.jx@alibaba-inc.com>


* js/config-parse (2023-09-21) 5 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split do_event() into start and flush operations
 - config: split out config_parse_options

 The parsing routines for the configuration files have been split
 into a separate file.

 Needs review.
 source: <cover.1695330852.git.steadmon@google.com>


* jc/fake-lstat (2023-09-15) 1 commit
 - cache: add fake_lstat()
 (this branch is used by jc/diff-cached-fsmonitor-fix.)

 A new helper to let us pretend that we called lstat() when we know
 our cache_entry is up-to-date via fsmonitor.

 Needs review.
 source: <xmqqcyykig1l.fsf@gitster.g>


* js/doc-unit-tests (2023-11-10) 3 commits
  (merged to 'next' on 2023-11-10 at 7d00ffd06b)
 + ci: run unit tests in CI
 + unit tests: add TAP unit test framework
 + unit tests: add a project plan document
 (this branch is used by js/doc-unit-tests-with-cmake.)

 Process to add some form of low-level unit tests has started.

 Will cook in 'next'.
 source: <cover.1699555664.git.steadmon@google.com>


* js/doc-unit-tests-with-cmake (2023-11-10) 7 commits
  (merged to 'next' on 2023-11-10 at b4503c9c8c)
 + cmake: handle also unit tests
 + cmake: use test names instead of full paths
 + cmake: fix typo in variable name
 + artifacts-tar: when including `.dll` files, don't forget the unit-tests
 + unit-tests: do show relative file paths
 + unit-tests: do not mistake `.pdb` files for being executable
 + cmake: also build unit tests
 (this branch uses js/doc-unit-tests.)

 Update the base topic to work with CMake builds.

 Will cook in 'next'.
 source: <pull.1579.v3.git.1695640836.gitgitgadget@gmail.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-10-16) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 source: <2e24ca9b-9c5f-f4df-b9f8-6574a714dfb2@gmail.com>

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

* jc/strbuf-comment-line-char (2023-11-01) 4 commits
 . strbuf: move env-using functions to environment.c
 . strbuf: make add_lines() public
 . strbuf_add_commented_lines(): drop the comment_line_char parameter
 . strbuf_commented_addf(): drop the comment_line_char parameter

 Code simplification that goes directly against a past libification
 topic.  It is hard to judge because the "libification" is done
 piecewise without seemingly clear design principle.

 Will discard.
 source: <cover.1698791220.git.jonathantanmy@google.com>


^ permalink raw reply	[relevance 26%]

* What's cooking in git.git (Nov 2023, #06; Tue, 14)
@ 2023-11-14 18:00 27% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-11-14 18:00 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

Git 2.43-rc2 has been tagged.

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]

* js/ci-discard-prove-state (2023-11-14) 1 commit
  (merged to 'next' on 2023-11-14 at fade3ba143)
 + ci: avoid running the test suite _twice_
 (this branch uses ps/ci-gitlab.)

 The way CI testing used "prove" could lead to running the test
 suite twice needlessly, which has been corrected.

 Will cook in 'next'.
 source: <pull.1613.git.1699894837844.gitgitgadget@gmail.com>

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

* pw/rebase-sigint (2023-09-07) 1 commit
 - rebase -i: ignore signals when forking subprocesses

 If the commit log editor or other external programs (spawned via
 "exec" insn in the todo list) receive internactive signal during
 "git rebase -i", it caused not just the spawned program but the
 "Git" process that spawned them, which is often not what the end
 user intended.  "git" learned to ignore SIGINT and SIGQUIT while
 waiting for these subprocesses.

 Expecting a reroll.
 cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
 source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
 - diff-lib: fix check_removed() when fsmonitor is active
 - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
 - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
 (this branch uses jc/fake-lstat.)

 The optimization based on fsmonitor in the "diff --cached"
 codepath is resurrected with the "fake-lstat" introduced earlier.

 It is unknown if the optimization is worth resurrecting, but in case...
 source: <xmqqr0n0h0tw.fsf@gitster.g>

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

* jk/chunk-bounds-more (2023-11-09) 9 commits
  (merged to 'next' on 2023-11-13 at 3df4b18bea)
 + commit-graph: mark chunk error messages for translation
 + commit-graph: drop verify_commit_graph_lite()
 + commit-graph: check order while reading fanout chunk
 + commit-graph: use fanout value for graph size
 + commit-graph: abort as soon as we see a bogus chunk
 + commit-graph: clarify missing-chunk error messages
 + commit-graph: drop redundant call to "lite" verification
 + midx: check consistency of fanout table
 + commit-graph: handle overflow in chunk_size checks
 (this branch is used by tb/pair-chunk-expect.)

 Code clean-up for jk/chunk-bounds topic.

 Will cook in 'next'.
 source: <20231109070310.GA2697602@coredump.intra.peff.net>


* ps/httpd-tests-on-nixos (2023-11-11) 3 commits
  (merged to 'next' on 2023-11-13 at 81bd6f5334)
 + t9164: fix inability to find basename(1) in Subversion hooks
 + t/lib-httpd: stop using legacy crypt(3) for authentication
 + t/lib-httpd: dynamically detect httpd and modules path

 Portability tweak.

 Will cook in 'next'.
 source: <cover.1699596457.git.ps@pks.im>


* ss/format-patch-use-encode-headers-for-cover-letter (2023-11-10) 1 commit
  (merged to 'next' on 2023-11-14 at 1a4bd59e15)
 + format-patch: fix ignored encode_email_headers for cover letter

 "git format-patch --encode-email-headers" ignored the option when
 preparing the cover letter, which has been corrected.

 Will cook in 'next'.
 source: <20231109111950.387219-1-contact@emersion.fr>


* ps/ban-a-or-o-operator-with-test (2023-11-11) 4 commits
  (merged to 'next' on 2023-11-14 at d84471baab)
 + Makefile: stop using `test -o` when unlinking duplicate executables
 + contrib/subtree: convert subtree type check to use case statement
 + contrib/subtree: stop using `-o` to test for number of args
 + global: convert trivial usages of `test <expr> -a/-o <expr>`

 Test and shell scripts clean-up.

 Will cook in 'next'.
 source: <cover.1699609940.git.ps@pks.im>


* vd/glossary-dereference-peel (2023-11-14) 1 commit
 - glossary: add definitions for dereference & peel

 "To dereference" and "to peel" were sometimes used in in-code
 comments and documentation but without description in the glossary.

 Will merge to 'next'.
 source: <pull.1610.v2.git.1699917471769.gitgitgadget@gmail.com>


* ak/rebase-autosquash (2023-11-13) 4 commits
 - rebase: rewrite --(no-)autosquash documentation
 - rebase: test autosquash with and without -i
 - rebase: support --autosquash without -i
 - rebase: fully ignore rebase.autoSquash without -i

 "git rebase --autosquash" is now enabled for non-interactive rebase,
 but it is still incompatible with the apply backend.

 Expecting a (hopefully small and final) reroll.
 cf. <058eb5d9-35d9-4452-8d33-d9cfebb94347@gmail.com>
 source: <20231111132720.78877-1-andy.koppe@gmail.com>


* vd/for-each-ref-unsorted-optimization (2023-11-07) 9 commits
 - t/perf: add perf tests for for-each-ref
 - for-each-ref: add option to fully dereference tags
 - ref-filter.c: filter & format refs in the same callback
 - ref-filter.c: refactor to create common helper functions
 - ref-filter.h: add functions for filter/format & format-only
 - ref-filter.h: move contains caches into filter
 - ref-filter.h: add max_count and omit_empty to ref_format
 - for-each-ref: clarify interaction of --omit-empty & --count
 - ref-filter.c: really don't sort when using --no-sort

 "git for-each-ref --no-sort" still sorted the refs alphabetically
 which paid non-trivial cost.  It has been redefined to show output
 in an unspecified order, to allow certain optimizations to take
 advantage of.

 Expecting a reroll.
 cf. <dbcbcf0e-aeee-4bb9-9e39-e2e85194d083@github.com>
 source: <pull.1609.git.1699320361.gitgitgadget@gmail.com>


* jw/git-add-attr-pathspec (2023-11-04) 1 commit
  (merged to 'next' on 2023-11-13 at b61be94e4d)
 + attr: enable attr pathspec magic for git-add and git-stash

 "git add" and "git stash" learned to support the ":(attr:...)"
 magic pathspec.

 Will cook in 'next'.
 source: <20231103163449.1578841-1-jojwang@google.com>


* ps/ci-gitlab (2023-11-09) 8 commits
  (merged to 'next' on 2023-11-10 at ea7ed67945)
 + ci: add support for GitLab CI
 + ci: install test dependencies for linux-musl
 + ci: squelch warnings when testing with unusable Git repo
 + ci: unify setup of some environment variables
 + ci: split out logic to set up failed test artifacts
 + ci: group installation of Docker dependencies
 + ci: make grouping setup more generic
 + ci: reorder definitions for grouping functions
 (this branch is used by js/ci-discard-prove-state.)

 Add support for GitLab CI.

 Will cook in 'next'.
 source: <cover.1699514143.git.ps@pks.im>


* ps/ref-tests-update (2023-11-03) 10 commits
  (merged to 'next' on 2023-11-13 at dc26e55d6f)
 + t: mark several tests that assume the files backend with REFFILES
 + t7900: assert the absence of refs via git-for-each-ref(1)
 + t7300: assert exact states of repo
 + t4207: delete replace references via git-update-ref(1)
 + t1450: convert tests to remove worktrees via git-worktree(1)
 + t: convert tests to not access reflog via the filesystem
 + t: convert tests to not access symrefs via the filesystem
 + t: convert tests to not write references via the filesystem
 + t: allow skipping expected object ID in `ref-store update-ref`
 + Merge branch 'ps/show-ref' into ps/ref-tests-update

 Update ref-related tests.

 Will cook in 'next'.
 source: <cover.1698914571.git.ps@pks.im>


* jx/fetch-atomic-error-message-fix (2023-10-19) 2 commits
 - fetch: no redundant error message for atomic fetch
 - t5574: test porcelain output of atomic fetch

 "git fetch --atomic" issued an unnecessary empty error message,
 which has been corrected.

 Expecting an update.
 cf. <ZTjQIrCgSANAT8wR@tanuki>
 source: <ced46baeb1c18b416b4b4cc947f498bea2910b1b.1697725898.git.zhiyou.jx@alibaba-inc.com>


* js/bugreport-in-the-same-minute (2023-10-16) 1 commit
 - bugreport: include +i in outfile suffix as needed

 Instead of auto-generating a filename that is already in use for
 output and fail the command, `git bugreport` learned to fuzz the
 filename to avoid collisions with existing files.

 Expecting a reroll.
 cf. <ZTtZ5CbIGETy1ucV.jacob@initialcommit.io>
 source: <20231016214045.146862-2-jacob@initialcommit.io>


* kh/t7900-cleanup (2023-10-17) 9 commits
 - t7900: fix register dependency
 - t7900: factor out packfile dependency
 - t7900: fix `print-args` dependency
 - t7900: fix `pfx` dependency
 - t7900: factor out common schedule setup
 - t7900: factor out inheritance test dependency
 - t7900: create commit so that branch is born
 - t7900: setup and tear down clones
 - t7900: remove register dependency

 Test clean-up.

 Perhaps discard?
 cf. <655ca147-c214-41be-919d-023c1b27b311@app.fastmail.com>
 source: <cover.1697319294.git.code@khaugsbakk.name>


* tb/merge-tree-write-pack (2023-10-23) 5 commits
 - builtin/merge-tree.c: implement support for `--write-pack`
 - bulk-checkin: introduce `index_tree_bulk_checkin_incore()`
 - bulk-checkin: introduce `index_blob_bulk_checkin_incore()`
 - bulk-checkin: generify `stream_blob_to_pack()` for arbitrary types
 - bulk-checkin: extract abstract `bulk_checkin_source`

 "git merge-tree" learned "--write-pack" to record its result
 without creating loose objects.

 Broken when an object created during a merge is needed to continue merge
 cf. <CABPp-BEfy9VOvimP9==ry_rZXu=metOQ8s=_-XiG_Pdx9c06Ww@mail.gmail.com>
 source: <cover.1698101088.git.me@ttaylorr.com>


* tb/pair-chunk-expect (2023-11-10) 8 commits
 - midx: read `OOFF` chunk with `pair_chunk_expect()`
 - midx: read `OIDL` chunk with `pair_chunk_expect()`
 - commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 - commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `OIDL` chunk with `pair_chunk_expect()`
 - chunk-format: introduce `pair_chunk_expect()` helper
 - Merge branch 'jk/chunk-bounds-more' into HEAD
 (this branch uses jk/chunk-bounds-more.)

 Further code clean-up.

 Needs review.
 source: <cover.1699569246.git.me@ttaylorr.com>


* tb/path-filter-fix (2023-10-18) 17 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Needs (hopefully final and quick) review.
 source: <cover.1697653929.git.me@ttaylorr.com>


* cc/git-replay (2023-11-03) 14 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: change rev walking options
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 Introduce "git replay", a tool meant on the server side without
 working tree to recreate a history.

 Comments?
 source: <20231102135151.843758-1-christian.couder@gmail.com>


* ak/color-decorate-symbols (2023-10-23) 7 commits
 - log: add color.decorate.pseudoref config variable
 - refs: exempt pseudorefs from pattern prefixing
 - refs: add pseudorefs array and iteration functions
 - log: add color.decorate.ref config variable
 - log: add color.decorate.symbol config variable
 - log: use designated inits for decoration_colors
 - config: restructure color.decorate documentation

 A new config for coloring.

 Needs review.
 source: <20231023221143.72489-1-andy.koppe@gmail.com>


* js/update-urls-in-doc-and-comment (2023-09-26) 4 commits
 - doc: refer to internet archive
 - doc: update links for andre-simon.de
 - doc: update links to current pages
 - doc: switch links to https

 Stale URLs have been updated to their current counterparts (or
 archive.org) and HTTP links are replaced with working HTTPS links.

 Needs review.
 source: <pull.1589.v2.git.1695553041.gitgitgadget@gmail.com>


* la/trailer-cleanups (2023-10-20) 3 commits
 - trailer: use offsets for trailer_start/trailer_end
 - trailer: find the end of the log message
 - commit: ignore_non_trailer computes number of bytes to ignore

 Code clean-up.

 Comments?
 source: <pull.1563.v5.git.1697828495.gitgitgadget@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2023-10-04) 4 commits
 - archive: support remote archive from stateless transport
 - transport-helper: call do_take_over() in connect_helper
 - transport-helper: call do_take_over() in process_connect
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Needs review.
 source: <cover.1696432593.git.zhiyou.jx@alibaba-inc.com>


* jx/sideband-chomp-newline-fix (2023-10-04) 3 commits
 - pkt-line: do not chomp newlines for sideband messages
 - pkt-line: memorize sideband fragment in reader
 - test-pkt-line: add option parser for unpack-sideband

 Sideband demultiplexer fixes.

 Needs review.
 source: <cover.1696425168.git.zhiyou.jx@alibaba-inc.com>


* js/config-parse (2023-09-21) 5 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split do_event() into start and flush operations
 - config: split out config_parse_options

 The parsing routines for the configuration files have been split
 into a separate file.

 Needs review.
 source: <cover.1695330852.git.steadmon@google.com>


* jc/fake-lstat (2023-09-15) 1 commit
 - cache: add fake_lstat()
 (this branch is used by jc/diff-cached-fsmonitor-fix.)

 A new helper to let us pretend that we called lstat() when we know
 our cache_entry is up-to-date via fsmonitor.

 Needs review.
 source: <xmqqcyykig1l.fsf@gitster.g>


* js/doc-unit-tests (2023-11-10) 3 commits
  (merged to 'next' on 2023-11-10 at 7d00ffd06b)
 + ci: run unit tests in CI
 + unit tests: add TAP unit test framework
 + unit tests: add a project plan document
 (this branch is used by js/doc-unit-tests-with-cmake.)

 Process to add some form of low-level unit tests has started.

 Will cook in 'next'.
 source: <cover.1699555664.git.steadmon@google.com>


* js/doc-unit-tests-with-cmake (2023-11-10) 7 commits
  (merged to 'next' on 2023-11-10 at b4503c9c8c)
 + cmake: handle also unit tests
 + cmake: use test names instead of full paths
 + cmake: fix typo in variable name
 + artifacts-tar: when including `.dll` files, don't forget the unit-tests
 + unit-tests: do show relative file paths
 + unit-tests: do not mistake `.pdb` files for being executable
 + cmake: also build unit tests
 (this branch uses js/doc-unit-tests.)

 Update the base topic to work with CMake builds.

 Will cook in 'next'.
 source: <pull.1579.v3.git.1695640836.gitgitgadget@gmail.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-10-16) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 source: <2e24ca9b-9c5f-f4df-b9f8-6574a714dfb2@gmail.com>

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

* jc/strbuf-comment-line-char (2023-11-01) 4 commits
 . strbuf: move env-using functions to environment.c
 . strbuf: make add_lines() public
 . strbuf_add_commented_lines(): drop the comment_line_char parameter
 . strbuf_commented_addf(): drop the comment_line_char parameter

 Code simplification that goes directly against a past libification
 topic.  It is hard to judge because the "libification" is done
 piecewise without seemingly clear design principle.

 Will discard.
 source: <cover.1698791220.git.jonathantanmy@google.com>


^ permalink raw reply	[relevance 27%]

* What's cooking in git.git (Nov 2023, #05; Mon, 13)
@ 2023-11-13  4:29 28% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-11-13  4:29 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

The Git 2.43-rc1 has been tagged and soon Git 2.43-rc2 will follow
this week.

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]

* jk/chunk-bounds-more (2023-11-09) 9 commits
  (merged to 'next' on 2023-11-13 at 3df4b18bea)
 + commit-graph: mark chunk error messages for translation
 + commit-graph: drop verify_commit_graph_lite()
 + commit-graph: check order while reading fanout chunk
 + commit-graph: use fanout value for graph size
 + commit-graph: abort as soon as we see a bogus chunk
 + commit-graph: clarify missing-chunk error messages
 + commit-graph: drop redundant call to "lite" verification
 + midx: check consistency of fanout table
 + commit-graph: handle overflow in chunk_size checks
 (this branch is used by tb/pair-chunk-expect.)

 Code clean-up for jk/chunk-bounds topic.

 Will cook in 'next'.
 source: <20231109070310.GA2697602@coredump.intra.peff.net>


* ps/httpd-tests-on-nixos (2023-11-11) 3 commits
  (merged to 'next' on 2023-11-13 at 81bd6f5334)
 + t9164: fix inability to find basename(1) in Subversion hooks
 + t/lib-httpd: stop using legacy crypt(3) for authentication
 + t/lib-httpd: dynamically detect httpd and modules path

 Portability tweak.

 Will merge to 'master'.
 source: <cover.1699596457.git.ps@pks.im>


* ss/format-patch-use-encode-headers-for-cover-letter (2023-11-10) 1 commit
 - format-patch: fix ignored encode_email_headers for cover letter

 "git format-patch --encode-email-headers" ignored the option when
 preparing the cover letter, which has been corrected.

 Will merge to 'next'.
 source: <20231109111950.387219-1-contact@emersion.fr>


* ps/ban-a-or-o-operator-with-test (2023-11-11) 4 commits
 - Makefile: stop using `test -o` when unlinking duplicate executables
 - contrib/subtree: convert subtree type check to use case statement
 - contrib/subtree: stop using `-o` to test for number of args
 - global: convert trivial usages of `test <expr> -a/-o <expr>`

 Test and shell scripts clean-up.

 Will merge to 'next'.
 source: <cover.1699609940.git.ps@pks.im>


* vd/glossary-dereference-peel (2023-11-10) 1 commit
 - glossary: add definitions for dereference & peel

 "To dereference" and "to peel" were sometimes used in in-code
 comments and documentation but without description in the glossary.

 Expecting an update.
 cf. <xmqq1qcyxxri.fsf@gitster.g>
 source: <pull.1610.git.1699574277143.gitgitgadget@gmail.com>


* ak/rebase-autosquash (2023-11-13) 4 commits
 - rebase: rewrite --(no-)autosquash documentation
 - rebase: test autosquash with and without -i
 - rebase: support --autosquash without -i
 - rebase: fully ignore rebase.autoSquash without -i

 source: <20231111132720.78877-1-andy.koppe@gmail.com>

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

* pw/rebase-sigint (2023-09-07) 1 commit
 - rebase -i: ignore signals when forking subprocesses

 If the commit log editor or other external programs (spawned via
 "exec" insn in the todo list) receive internactive signal during
 "git rebase -i", it caused not just the spawned program but the
 "Git" process that spawned them, which is often not what the end
 user intended.  "git" learned to ignore SIGINT and SIGQUIT while
 waiting for these subprocesses.

 Expecting a reroll.
 cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
 source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
 - diff-lib: fix check_removed() when fsmonitor is active
 - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
 - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
 (this branch uses jc/fake-lstat.)

 The optimization based on fsmonitor in the "diff --cached"
 codepath is resurrected with the "fake-lstat" introduced earlier.

 It is unknown if the optimization is worth resurrecting, but in case...
 source: <xmqqr0n0h0tw.fsf@gitster.g>

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

* vd/for-each-ref-unsorted-optimization (2023-11-07) 9 commits
 - t/perf: add perf tests for for-each-ref
 - for-each-ref: add option to fully dereference tags
 - ref-filter.c: filter & format refs in the same callback
 - ref-filter.c: refactor to create common helper functions
 - ref-filter.h: add functions for filter/format & format-only
 - ref-filter.h: move contains caches into filter
 - ref-filter.h: add max_count and omit_empty to ref_format
 - for-each-ref: clarify interaction of --omit-empty & --count
 - ref-filter.c: really don't sort when using --no-sort

 "git for-each-ref --no-sort" still sorted the refs alphabetically
 which paid non-trivial cost.  It has been redefined to show output
 in an unspecified order, to allow certain optimizations to take
 advantage of.

 Expecting a reroll.
 cf. <dbcbcf0e-aeee-4bb9-9e39-e2e85194d083@github.com>
 source: <pull.1609.git.1699320361.gitgitgadget@gmail.com>


* jw/git-add-attr-pathspec (2023-11-04) 1 commit
  (merged to 'next' on 2023-11-13 at b61be94e4d)
 + attr: enable attr pathspec magic for git-add and git-stash

 "git add" and "git stash" learned to support the ":(attr:...)"
 magic pathspec.

 Will cook in 'next'.
 source: <20231103163449.1578841-1-jojwang@google.com>


* ps/ci-gitlab (2023-11-09) 8 commits
  (merged to 'next' on 2023-11-10 at ea7ed67945)
 + ci: add support for GitLab CI
 + ci: install test dependencies for linux-musl
 + ci: squelch warnings when testing with unusable Git repo
 + ci: unify setup of some environment variables
 + ci: split out logic to set up failed test artifacts
 + ci: group installation of Docker dependencies
 + ci: make grouping setup more generic
 + ci: reorder definitions for grouping functions

 Add support for GitLab CI.

 Will cook in 'next'.
 source: <cover.1699514143.git.ps@pks.im>


* ps/ref-tests-update (2023-11-03) 10 commits
  (merged to 'next' on 2023-11-13 at dc26e55d6f)
 + t: mark several tests that assume the files backend with REFFILES
 + t7900: assert the absence of refs via git-for-each-ref(1)
 + t7300: assert exact states of repo
 + t4207: delete replace references via git-update-ref(1)
 + t1450: convert tests to remove worktrees via git-worktree(1)
 + t: convert tests to not access reflog via the filesystem
 + t: convert tests to not access symrefs via the filesystem
 + t: convert tests to not write references via the filesystem
 + t: allow skipping expected object ID in `ref-store update-ref`
 + Merge branch 'ps/show-ref' into ps/ref-tests-update

 Update ref-related tests.

 Will cook in 'next'.
 source: <cover.1698914571.git.ps@pks.im>


* jx/fetch-atomic-error-message-fix (2023-10-19) 2 commits
 - fetch: no redundant error message for atomic fetch
 - t5574: test porcelain output of atomic fetch

 "git fetch --atomic" issued an unnecessary empty error message,
 which has been corrected.

 Expecting an update.
 cf. <ZTjQIrCgSANAT8wR@tanuki>
 source: <ced46baeb1c18b416b4b4cc947f498bea2910b1b.1697725898.git.zhiyou.jx@alibaba-inc.com>


* js/bugreport-in-the-same-minute (2023-10-16) 1 commit
 - bugreport: include +i in outfile suffix as needed

 Instead of auto-generating a filename that is already in use for
 output and fail the command, `git bugreport` learned to fuzz the
 filename to avoid collisions with existing files.

 Expecting a reroll.
 cf. <ZTtZ5CbIGETy1ucV.jacob@initialcommit.io>
 source: <20231016214045.146862-2-jacob@initialcommit.io>


* kh/t7900-cleanup (2023-10-17) 9 commits
 - t7900: fix register dependency
 - t7900: factor out packfile dependency
 - t7900: fix `print-args` dependency
 - t7900: fix `pfx` dependency
 - t7900: factor out common schedule setup
 - t7900: factor out inheritance test dependency
 - t7900: create commit so that branch is born
 - t7900: setup and tear down clones
 - t7900: remove register dependency

 Test clean-up.

 Perhaps discard?
 cf. <655ca147-c214-41be-919d-023c1b27b311@app.fastmail.com>
 source: <cover.1697319294.git.code@khaugsbakk.name>


* tb/merge-tree-write-pack (2023-10-23) 5 commits
 - builtin/merge-tree.c: implement support for `--write-pack`
 - bulk-checkin: introduce `index_tree_bulk_checkin_incore()`
 - bulk-checkin: introduce `index_blob_bulk_checkin_incore()`
 - bulk-checkin: generify `stream_blob_to_pack()` for arbitrary types
 - bulk-checkin: extract abstract `bulk_checkin_source`

 "git merge-tree" learned "--write-pack" to record its result
 without creating loose objects.

 Broken when an object created during a merge is needed to continue merge
 cf. <CABPp-BEfy9VOvimP9==ry_rZXu=metOQ8s=_-XiG_Pdx9c06Ww@mail.gmail.com>
 source: <cover.1698101088.git.me@ttaylorr.com>


* tb/pair-chunk-expect (2023-11-10) 8 commits
 - midx: read `OOFF` chunk with `pair_chunk_expect()`
 - midx: read `OIDL` chunk with `pair_chunk_expect()`
 - commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 - commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `OIDL` chunk with `pair_chunk_expect()`
 - chunk-format: introduce `pair_chunk_expect()` helper
 - Merge branch 'jk/chunk-bounds-more' into HEAD
 (this branch uses jk/chunk-bounds-more.)

 Further code clean-up.

 Needs review.
 source: <cover.1699569246.git.me@ttaylorr.com>


* tb/path-filter-fix (2023-10-18) 17 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Needs (hopefully final and quick) review.
 source: <cover.1697653929.git.me@ttaylorr.com>


* cc/git-replay (2023-11-03) 14 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: change rev walking options
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 Introduce "git replay", a tool meant on the server side without
 working tree to recreate a history.

 Comments?
 source: <20231102135151.843758-1-christian.couder@gmail.com>


* ak/color-decorate-symbols (2023-10-23) 7 commits
 - log: add color.decorate.pseudoref config variable
 - refs: exempt pseudorefs from pattern prefixing
 - refs: add pseudorefs array and iteration functions
 - log: add color.decorate.ref config variable
 - log: add color.decorate.symbol config variable
 - log: use designated inits for decoration_colors
 - config: restructure color.decorate documentation

 A new config for coloring.

 Needs review.
 source: <20231023221143.72489-1-andy.koppe@gmail.com>


* js/update-urls-in-doc-and-comment (2023-09-26) 4 commits
 - doc: refer to internet archive
 - doc: update links for andre-simon.de
 - doc: update links to current pages
 - doc: switch links to https

 Stale URLs have been updated to their current counterparts (or
 archive.org) and HTTP links are replaced with working HTTPS links.

 Needs review.
 source: <pull.1589.v2.git.1695553041.gitgitgadget@gmail.com>


* la/trailer-cleanups (2023-10-20) 3 commits
 - trailer: use offsets for trailer_start/trailer_end
 - trailer: find the end of the log message
 - commit: ignore_non_trailer computes number of bytes to ignore

 Code clean-up.

 Comments?
 source: <pull.1563.v5.git.1697828495.gitgitgadget@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2023-10-04) 4 commits
 - archive: support remote archive from stateless transport
 - transport-helper: call do_take_over() in connect_helper
 - transport-helper: call do_take_over() in process_connect
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Needs review.
 source: <cover.1696432593.git.zhiyou.jx@alibaba-inc.com>


* jx/sideband-chomp-newline-fix (2023-10-04) 3 commits
 - pkt-line: do not chomp newlines for sideband messages
 - pkt-line: memorize sideband fragment in reader
 - test-pkt-line: add option parser for unpack-sideband

 Sideband demultiplexer fixes.

 Needs review.
 source: <cover.1696425168.git.zhiyou.jx@alibaba-inc.com>


* js/config-parse (2023-09-21) 5 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split do_event() into start and flush operations
 - config: split out config_parse_options

 The parsing routines for the configuration files have been split
 into a separate file.

 Needs review.
 source: <cover.1695330852.git.steadmon@google.com>


* jc/fake-lstat (2023-09-15) 1 commit
 - cache: add fake_lstat()
 (this branch is used by jc/diff-cached-fsmonitor-fix.)

 A new helper to let us pretend that we called lstat() when we know
 our cache_entry is up-to-date via fsmonitor.

 Needs review.
 source: <xmqqcyykig1l.fsf@gitster.g>


* js/doc-unit-tests (2023-11-10) 3 commits
  (merged to 'next' on 2023-11-10 at 7d00ffd06b)
 + ci: run unit tests in CI
 + unit tests: add TAP unit test framework
 + unit tests: add a project plan document
 (this branch is used by js/doc-unit-tests-with-cmake.)

 Process to add some form of low-level unit tests has started.

 Will cook in 'next'.
 source: <cover.1699555664.git.steadmon@google.com>


* js/doc-unit-tests-with-cmake (2023-11-10) 7 commits
  (merged to 'next' on 2023-11-10 at b4503c9c8c)
 + cmake: handle also unit tests
 + cmake: use test names instead of full paths
 + cmake: fix typo in variable name
 + artifacts-tar: when including `.dll` files, don't forget the unit-tests
 + unit-tests: do show relative file paths
 + unit-tests: do not mistake `.pdb` files for being executable
 + cmake: also build unit tests
 (this branch uses js/doc-unit-tests.)

 Update the base topic to work with CMake builds.

 Will cook in 'next'.
 source: <pull.1579.v3.git.1695640836.gitgitgadget@gmail.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-10-16) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 source: <2e24ca9b-9c5f-f4df-b9f8-6574a714dfb2@gmail.com>

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

* jc/strbuf-comment-line-char (2023-11-01) 4 commits
 . strbuf: move env-using functions to environment.c
 . strbuf: make add_lines() public
 . strbuf_add_commented_lines(): drop the comment_line_char parameter
 . strbuf_commented_addf(): drop the comment_line_char parameter

 Code simplification that goes directly against a past libification
 topic.  It is hard to judge because the "libification" is done
 piecewise without seemingly clear design principle.

 Will discard.
 source: <cover.1698791220.git.jonathantanmy@google.com>


^ permalink raw reply	[relevance 28%]

* Re: What's cooking in git.git (Nov 2023, #04; Thu, 9)
  @ 2023-11-09 23:33 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-11-09 23:33 UTC (permalink / raw)
  To: Taylor Blau, Johannes Schindelin; +Cc: Jeff King, git

Taylor Blau <me@ttaylorr.com> writes:

> On Thu, Nov 09, 2023 at 02:40:28AM +0900, Junio C Hamano wrote:
>> * tb/merge-tree-write-pack (2023-10-23) 5 commits
> ...
> This series received a couple of LGTMs from you and Patrick:
>
>   - https://lore.kernel.org/git/xmqqo7go7w63.fsf@gitster.g/#t
>   - https://lore.kernel.org/git/ZTjKmcV5c_EFuoGo@tanuki/

Yup, I am aware of them.

> Johannes had posted some comments[1] about instead using a temporary
> object store where objects are written as loose that would extend to git
> replay....

I was hoping to hear from Johannes saying he agrees with the above.
It is not strictly required, but is much nice to have once we hear
"let's step back a bit---are we going in the right direction?" and
it has been responded.

Thanks.


^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Nov 2023, #04; Thu, 9)
@ 2023-11-08 17:40 26% Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2023-11-08 17:40 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

The first candidate for the upcoming release, Git 2.43.0-rc0, has
been tagged.  As of now, 'next' is "empty" in the sense that its
tree is identical to that of 'master'.  There are tons of topic
waiting outside 'next' without sufficient support, which is sad, but
they are of lower priority now for a few weeks X-<.

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']

* an/clang-format-typofix (2023-11-01) 1 commit
  (merged to 'next' on 2023-11-02 at 7f639690ab)
 + clang-format: fix typo in comment

 Typofix.
 source: <pull.1602.v2.git.git.1698759629166.gitgitgadget@gmail.com>


* bc/merge-file-object-input (2023-11-02) 2 commits
  (merged to 'next' on 2023-11-02 at ccbba9416c)
 + merge-file: add an option to process object IDs
 + git-merge-file doc: drop "-file" from argument placeholders

 "git merge-file" learns a mode to read three contents to be merged
 from blob objects.
 source: <20231101192419.794162-1-sandals@crustytoothpaste.net>


* jc/test-i18ngrep (2023-11-02) 2 commits
  (merged to 'next' on 2023-11-03 at 78406f8d94)
 + tests: teach callers of test_i18ngrep to use test_grep
 + test framework: further deprecate test_i18ngrep

 Another step to deprecate test_i18ngrep.
 source: <20231031052330.3762989-1-gitster@pobox.com>


* jk/chunk-bounds (2023-11-04) 1 commit
  (merged to 'next' on 2023-11-06 at ae9fbc1700)
 + t: avoid perl's pack/unpack "Q" specifier

 Test portability fix.
 source: <20231103162019.GB1470570@coredump.intra.peff.net>


* jk/tree-name-and-depth-limit (2023-11-02) 1 commit
  (merged to 'next' on 2023-11-06 at 041423344c)
 + max_tree_depth: lower it for MSVC to avoid stack overflows

 Further limit tree depth max to avoid Windows build running out of
 the stack space.
 source: <pull.1604.v2.git.1698843810814.gitgitgadget@gmail.com>


* js/ci-use-macos-13 (2023-11-03) 1 commit
  (merged to 'next' on 2023-11-06 at f7406347cd)
 + ci: upgrade to using macos-13

 Replace macos-12 used at GitHub CI with macos-13.
 source: <pull.1607.git.1698996455218.gitgitgadget@gmail.com>


* kn/rev-list-missing-fix (2023-11-01) 4 commits
  (merged to 'next' on 2023-11-02 at 2469dfc402)
 + rev-list: add commit object support in `--missing` option
 + rev-list: move `show_commit()` to the bottom
 + revision: rename bit to `do_not_die_on_missing_objects`
 + Merge branch 'ps/do-not-trust-commit-graph-blindly-for-existence' into kn/rev-list-missing-fix
 (this branch uses ps/do-not-trust-commit-graph-blindly-for-existence.)

 "git rev-list --missing" did not work for missing commit objects,
 which has been corrected.
 source: <20231026101109.43110-1-karthik.188@gmail.com>


* la/strvec-header-fix (2023-11-03) 1 commit
  (merged to 'next' on 2023-11-03 at db23d8a911)
 + strvec: drop unnecessary include of hex.h

 Code clean-up.
 source: <pull.1608.git.1698958277454.gitgitgadget@gmail.com>


* ps/do-not-trust-commit-graph-blindly-for-existence (2023-11-01) 2 commits
  (merged to 'next' on 2023-11-01 at 06037376ee)
 + commit: detect commits that exist in commit-graph but not in the ODB
 + commit-graph: introduce envvar to disable commit existence checks
 (this branch is used by kn/rev-list-missing-fix.)

 The codepath to traverse the commit-graph learned to notice that a
 commit is missing (e.g., corrupt repository lost an object), even
 though it knows something about the commit (like its parents) from
 what is in commit-graph.
 source: <cover.1698736363.git.ps@pks.im>


* ps/leakfixes (2023-11-07) 4 commits
  (merged to 'next' on 2023-11-08 at 1969726a2f)
 + setup: fix leaking repository format
 + setup: refactor `upgrade_repository_format()` to have common exit
 + shallow: fix memory leak when registering shallow roots
 + test-bloom: stop setting up Git directory twice

 Leakfix.
 source: <cover.1699267422.git.ps@pks.im>


* ps/show-ref (2023-11-01) 12 commits
  (merged to 'next' on 2023-11-02 at 987bb117f5)
 + t: use git-show-ref(1) to check for ref existence
 + builtin/show-ref: add new mode to check for reference existence
 + builtin/show-ref: explicitly spell out different modes in synopsis
 + builtin/show-ref: ensure mutual exclusiveness of subcommands
 + builtin/show-ref: refactor options for patterns subcommand
 + builtin/show-ref: stop using global vars for `show_one()`
 + builtin/show-ref: stop using global variable to count matches
 + builtin/show-ref: refactor `--exclude-existing` options
 + builtin/show-ref: fix dead code when passing patterns
 + builtin/show-ref: fix leaking string buffer
 + builtin/show-ref: split up different subcommands
 + builtin/show-ref: convert pattern to a local variable
 (this branch is used by ps/ref-tests-update.)

 Teach "git show-ref" a mode to check the existence of a ref.
 source: <cover.1698739941.git.ps@pks.im>


* tb/format-pack-doc-update (2023-11-01) 2 commits
  (merged to 'next' on 2023-11-02 at 538991fe9b)
 + Documentation/gitformat-pack.txt: fix incorrect MIDX documentation
 + Documentation/gitformat-pack.txt: fix typo

 Doc update.
 source: <cover.1698780244.git.me@ttaylorr.com>


* tb/rev-list-unpacked-fix (2023-11-07) 2 commits
  (merged to 'next' on 2023-11-08 at 4b73bc0256)
 + pack-bitmap: drop --unpacked non-commit objects from results
 + list-objects: drop --unpacked non-commit objects from results

 "git rev-list --unpacked --objects" failed to exclude packed
 non-commit objects, which has been corrected.
 source: <cover.1699311386.git.me@ttaylorr.com>

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

* pw/rebase-sigint (2023-09-07) 1 commit
 - rebase -i: ignore signals when forking subprocesses

 If the commit log editor or other external programs (spawned via
 "exec" insn in the todo list) receive internactive signal during
 "git rebase -i", it caused not just the spawned program but the
 "Git" process that spawned them, which is often not what the end
 user intended.  "git" learned to ignore SIGINT and SIGQUIT while
 waiting for these subprocesses.

 Expecting a reroll.
 cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
 source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
 - diff-lib: fix check_removed() when fsmonitor is active
 - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
 - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
 (this branch uses jc/fake-lstat.)

 The optimization based on fsmonitor in the "diff --cached"
 codepath is resurrected with the "fake-lstat" introduced earlier.

 It is unknown if the optimization is worth resurrecting, but in case...
 source: <xmqqr0n0h0tw.fsf@gitster.g>

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

* vd/for-each-ref-unsorted-optimization (2023-11-07) 9 commits
 - t/perf: add perf tests for for-each-ref
 - for-each-ref: add option to fully dereference tags
 - ref-filter.c: filter & format refs in the same callback
 - ref-filter.c: refactor to create common helper functions
 - ref-filter.h: add functions for filter/format & format-only
 - ref-filter.h: move contains caches into filter
 - ref-filter.h: add max_count and omit_empty to ref_format
 - for-each-ref: clarify interaction of --omit-empty & --count
 - ref-filter.c: really don't sort when using --no-sort

 "git for-each-ref --no-sort" still sorted the refs alphabetically
 which paid non-trivial cost.  It has been redefined to show output
 in an unspecified order, to allow certain optimizations to take
 advantage of.

 Expecting a reroll.
 cf. <dbcbcf0e-aeee-4bb9-9e39-e2e85194d083@github.com>
 source: <pull.1609.git.1699320361.gitgitgadget@gmail.com>


* jw/git-add-attr-pathspec (2023-11-04) 1 commit
 - attr: enable attr pathspec magic for git-add and git-stash

 "git add" and "git stash" learned to support the ":(attr:...)"
 magic pathspec.

 Will merge to 'next'?
 source: <20231103163449.1578841-1-jojwang@google.com>


* jc/strbuf-comment-line-char (2023-11-01) 4 commits
 - strbuf: move env-using functions to environment.c
 - strbuf: make add_lines() public
 - strbuf_add_commented_lines(): drop the comment_line_char parameter
 - strbuf_commented_addf(): drop the comment_line_char parameter

 Code simplification.
 source: <cover.1698791220.git.jonathantanmy@google.com>


* ps/ci-gitlab (2023-11-02) 8 commits
 - ci: add support for GitLab CI
 - ci: install test dependencies for linux-musl
 - ci: squelch warnings when testing with unusable Git repo
 - ci: unify setup of some environment variables
 - ci: split out logic to set up failed test artifacts
 - ci: group installation of Docker dependencies
 - ci: make grouping setup more generic
 - ci: reorder definitions for grouping functions

 Add support for GitLab CI.

 Comments?
 source: <cover.1698843660.git.ps@pks.im>


* ps/ref-tests-update (2023-11-03) 10 commits
 - t: mark several tests that assume the files backend with REFFILES
 - t7900: assert the absence of refs via git-for-each-ref(1)
 - t7300: assert exact states of repo
 - t4207: delete replace references via git-update-ref(1)
 - t1450: convert tests to remove worktrees via git-worktree(1)
 - t: convert tests to not access reflog via the filesystem
 - t: convert tests to not access symrefs via the filesystem
 - t: convert tests to not write references via the filesystem
 - t: allow skipping expected object ID in `ref-store update-ref`
 - Merge branch 'ps/show-ref' into ps/ref-tests-update

 Update ref-related tests.

 Comments?
 source: <cover.1698914571.git.ps@pks.im>


* jx/fetch-atomic-error-message-fix (2023-10-19) 2 commits
 - fetch: no redundant error message for atomic fetch
 - t5574: test porcelain output of atomic fetch

 "git fetch --atomic" issued an unnecessary empty error message,
 which has been corrected.

 Needs review.
 source: <ced46baeb1c18b416b4b4cc947f498bea2910b1b.1697725898.git.zhiyou.jx@alibaba-inc.com>


* js/bugreport-in-the-same-minute (2023-10-16) 1 commit
 - bugreport: include +i in outfile suffix as needed

 Instead of auto-generating a filename that is already in use for
 output and fail the command, `git bugreport` learned to fuzz the
 filename to avoid collisions with existing files.

 Expecting a reroll.
 cf. <ZTtZ5CbIGETy1ucV.jacob@initialcommit.io>
 source: <20231016214045.146862-2-jacob@initialcommit.io>


* kh/t7900-cleanup (2023-10-17) 9 commits
 - t7900: fix register dependency
 - t7900: factor out packfile dependency
 - t7900: fix `print-args` dependency
 - t7900: fix `pfx` dependency
 - t7900: factor out common schedule setup
 - t7900: factor out inheritance test dependency
 - t7900: create commit so that branch is born
 - t7900: setup and tear down clones
 - t7900: remove register dependency

 Test clean-up.

 Perhaps discard?
 cf. <655ca147-c214-41be-919d-023c1b27b311@app.fastmail.com>
 source: <cover.1697319294.git.code@khaugsbakk.name>


* tb/merge-tree-write-pack (2023-10-23) 5 commits
 - builtin/merge-tree.c: implement support for `--write-pack`
 - bulk-checkin: introduce `index_tree_bulk_checkin_incore()`
 - bulk-checkin: introduce `index_blob_bulk_checkin_incore()`
 - bulk-checkin: generify `stream_blob_to_pack()` for arbitrary types
 - bulk-checkin: extract abstract `bulk_checkin_source`

 "git merge-tree" learned "--write-pack" to record its result
 without creating loose objects.

 Comments?
 source: <cover.1698101088.git.me@ttaylorr.com>


* tb/pair-chunk-expect-size (2023-10-14) 8 commits
 - midx: read `OOFF` chunk with `pair_chunk_expect()`
 - midx: read `OIDL` chunk with `pair_chunk_expect()`
 - midx: read `OIDF` chunk with `pair_chunk_expect()`
 - commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 - commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `OIDF` chunk with `pair_chunk_expect()`
 - chunk-format: introduce `pair_chunk_expect()` helper

 Code clean-up for jk/chunk-bounds topic.

 Comments?
 source: <45cac29403e63483951f7766c6da3c022c68d9f0.1697225110.git.me@ttaylorr.com>
 source: <cover.1697225110.git.me@ttaylorr.com>


* tb/path-filter-fix (2023-10-18) 17 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Needs (hopefully final and quick) review.
 source: <cover.1697653929.git.me@ttaylorr.com>


* cc/git-replay (2023-11-03) 14 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: change rev walking options
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 Introduce "git replay", a tool meant on the server side without
 working tree to recreate a history.

 Comments?
 source: <20231102135151.843758-1-christian.couder@gmail.com>


* ak/color-decorate-symbols (2023-10-23) 7 commits
 - log: add color.decorate.pseudoref config variable
 - refs: exempt pseudorefs from pattern prefixing
 - refs: add pseudorefs array and iteration functions
 - log: add color.decorate.ref config variable
 - log: add color.decorate.symbol config variable
 - log: use designated inits for decoration_colors
 - config: restructure color.decorate documentation

 A new config for coloring.

 Needs review.
 source: <20231023221143.72489-1-andy.koppe@gmail.com>


* js/update-urls-in-doc-and-comment (2023-09-26) 4 commits
 - doc: refer to internet archive
 - doc: update links for andre-simon.de
 - doc: update links to current pages
 - doc: switch links to https

 Stale URLs have been updated to their current counterparts (or
 archive.org) and HTTP links are replaced with working HTTPS links.

 Needs review.
 source: <pull.1589.v2.git.1695553041.gitgitgadget@gmail.com>


* la/trailer-cleanups (2023-10-20) 3 commits
 - trailer: use offsets for trailer_start/trailer_end
 - trailer: find the end of the log message
 - commit: ignore_non_trailer computes number of bytes to ignore

 Code clean-up.

 Comments?
 source: <pull.1563.v5.git.1697828495.gitgitgadget@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2023-10-04) 4 commits
 - archive: support remote archive from stateless transport
 - transport-helper: call do_take_over() in connect_helper
 - transport-helper: call do_take_over() in process_connect
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Needs review.
 source: <cover.1696432593.git.zhiyou.jx@alibaba-inc.com>


* jx/sideband-chomp-newline-fix (2023-10-04) 3 commits
 - pkt-line: do not chomp newlines for sideband messages
 - pkt-line: memorize sideband fragment in reader
 - test-pkt-line: add option parser for unpack-sideband

 Sideband demultiplexer fixes.

 Needs review.
 source: <cover.1696425168.git.zhiyou.jx@alibaba-inc.com>


* js/config-parse (2023-09-21) 5 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split do_event() into start and flush operations
 - config: split out config_parse_options

 The parsing routines for the configuration files have been split
 into a separate file.

 Needs review.
 source: <cover.1695330852.git.steadmon@google.com>


* jc/fake-lstat (2023-09-15) 1 commit
 - cache: add fake_lstat()
 (this branch is used by jc/diff-cached-fsmonitor-fix.)

 A new helper to let us pretend that we called lstat() when we know
 our cache_entry is up-to-date via fsmonitor.

 Needs review.
 source: <xmqqcyykig1l.fsf@gitster.g>


* js/doc-unit-tests (2023-11-02) 3 commits
 - ci: run unit tests in CI
 - unit tests: add TAP unit test framework
 - unit tests: add a project plan document
 (this branch is used by js/doc-unit-tests-with-cmake.)

 Process to add some form of low-level unit tests has started.

 Will merge to 'next'?
 source: <cover.1698881249.git.steadmon@google.com>


* js/doc-unit-tests-with-cmake (2023-11-02) 7 commits
 - cmake: handle also unit tests
 - cmake: use test names instead of full paths
 - cmake: fix typo in variable name
 - artifacts-tar: when including `.dll` files, don't forget the unit-tests
 - unit-tests: do show relative file paths
 - unit-tests: do not mistake `.pdb` files for being executable
 - cmake: also build unit tests
 (this branch uses js/doc-unit-tests.)

 Update the base topic to work with CMake builds.

 Will merge to 'next'?
 source: <pull.1579.v3.git.1695640836.gitgitgadget@gmail.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-10-16) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 source: <2e24ca9b-9c5f-f4df-b9f8-6574a714dfb2@gmail.com>


^ permalink raw reply	[relevance 26%]

* What's cooking in git.git (Nov 2023, #02; Mon, 6)
@ 2023-11-06  2:47 25% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-11-06  2:47 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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]

* jw/git-add-attr-pathspec (2023-11-04) 1 commit
 - attr: enable attr pathspec magic for git-add and git-stash

 "git add" and "git stash" learned to support the ":(attr:...)"
 magic pathspec.

 Will merge to 'next'?
 source: <20231103163449.1578841-1-jojwang@google.com>


* la/strvec-header-fix (2023-11-03) 1 commit
  (merged to 'next' on 2023-11-03 at db23d8a911)
 + strvec: drop unnecessary include of hex.h

 Code clean-up.

 Will merge to 'master'.
 source: <pull.1608.git.1698958277454.gitgitgadget@gmail.com>


* jk/chunk-bounds (2023-11-04) 1 commit
  (merged to 'next' on 2023-11-06 at ae9fbc1700)
 + t: avoid perl's pack/unpack "Q" specifier

 Test portability fix.

 Will merge to 'master'.
 source: <20231103162019.GB1470570@coredump.intra.peff.net>


* js/ci-use-macos-13 (2023-11-03) 1 commit
  (merged to 'next' on 2023-11-06 at f7406347cd)
 + ci: upgrade to using macos-13

 Replace macos-12 used at GitHub CI with macos-13.

 Will merge to 'master'.
 source: <pull.1607.git.1698996455218.gitgitgadget@gmail.com>

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

* pw/rebase-sigint (2023-09-07) 1 commit
 - rebase -i: ignore signals when forking subprocesses

 If the commit log editor or other external programs (spawned via
 "exec" insn in the todo list) receive internactive signal during
 "git rebase -i", it caused not just the spawned program but the
 "Git" process that spawned them, which is often not what the end
 user intended.  "git" learned to ignore SIGINT and SIGQUIT while
 waiting for these subprocesses.

 Expecting a reroll.
 cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
 source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
 - diff-lib: fix check_removed() when fsmonitor is active
 - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
 - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
 (this branch uses jc/fake-lstat.)

 The optimization based on fsmonitor in the "diff --cached"
 codepath is resurrected with the "fake-lstat" introduced earlier.

 It is unknown if the optimization is worth resurrecting, but in case...
 source: <xmqqr0n0h0tw.fsf@gitster.g>

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

* jc/strbuf-comment-line-char (2023-11-01) 4 commits
 - strbuf: move env-using functions to environment.c
 - strbuf: make add_lines() public
 - strbuf_add_commented_lines(): drop the comment_line_char parameter
 - strbuf_commented_addf(): drop the comment_line_char parameter

 Code simplification.
 source: <cover.1698791220.git.jonathantanmy@google.com>


* ps/show-ref (2023-11-01) 12 commits
  (merged to 'next' on 2023-11-02 at 987bb117f5)
 + t: use git-show-ref(1) to check for ref existence
 + builtin/show-ref: add new mode to check for reference existence
 + builtin/show-ref: explicitly spell out different modes in synopsis
 + builtin/show-ref: ensure mutual exclusiveness of subcommands
 + builtin/show-ref: refactor options for patterns subcommand
 + builtin/show-ref: stop using global vars for `show_one()`
 + builtin/show-ref: stop using global variable to count matches
 + builtin/show-ref: refactor `--exclude-existing` options
 + builtin/show-ref: fix dead code when passing patterns
 + builtin/show-ref: fix leaking string buffer
 + builtin/show-ref: split up different subcommands
 + builtin/show-ref: convert pattern to a local variable
 (this branch is used by ps/ref-tests-update.)

 Teach "git show-ref" a mode to check the existence of a ref.

 Will merge to 'master'.
 source: <cover.1698739941.git.ps@pks.im>


* rc/trace-upload-pack (2023-10-30) 1 commit
  (merged to 'next' on 2023-11-01 at 90892b5cf0)
 + upload-pack: add tracing for fetches

 Trace2 update.

 Will merge to 'master'.
 source: <pull.1598.v2.git.1697577168128.gitgitgadget@gmail.com>


* bc/merge-file-object-input (2023-11-02) 2 commits
  (merged to 'next' on 2023-11-02 at ccbba9416c)
 + merge-file: add an option to process object IDs
 + git-merge-file doc: drop "-file" from argument placeholders

 "git merge-file" learns a mode to read three contents to be merged
 from blob objects.

 Will merge to 'master'.
 source: <20231101192419.794162-1-sandals@crustytoothpaste.net>


* jc/test-i18ngrep (2023-11-02) 2 commits
  (merged to 'next' on 2023-11-03 at 78406f8d94)
 + tests: teach callers of test_i18ngrep to use test_grep
 + test framework: further deprecate test_i18ngrep

 Another step to deprecate test_i18ngrep.

 Will merge to 'master'.
 source: <20231031052330.3762989-1-gitster@pobox.com>


* an/clang-format-typofix (2023-11-01) 1 commit
  (merged to 'next' on 2023-11-02 at 7f639690ab)
 + clang-format: fix typo in comment

 Typofix.

 Will merge to 'master'.
 source: <pull.1602.v2.git.git.1698759629166.gitgitgadget@gmail.com>


* jk/tree-name-and-depth-limit (2023-11-02) 1 commit
  (merged to 'next' on 2023-11-06 at 041423344c)
 + max_tree_depth: lower it for MSVC to avoid stack overflows

 Further limit tree depth max to avoid Windows build running out of
 the stack space.

 Will merge to 'master'.
 source: <pull.1604.v2.git.1698843810814.gitgitgadget@gmail.com>


* ar/submitting-patches-doc-update (2023-10-24) 1 commit
  (merged to 'next' on 2023-10-30 at e140009eb6)
 + SubmittingPatches: call gitk's command "Copy commit reference"

 Doc update.

 Will merge to 'master'.
 source: <20231024195123.911431-1-rybak.a.v@gmail.com>


* es/bugreport-no-extra-arg (2023-10-29) 2 commits
  (merged to 'next' on 2023-11-01 at 4ca0a9c77c)
 + bugreport: reject positional arguments
 + t0091-bugreport: stop using i18ngrep

 "git bugreport" learned to complain when it received a command line
 argument that it will not use.

 Will merge to 'master'.
 source: <20231026155459.2234929-1-nasamuffin@google.com>


* js/my-first-contribution-update (2023-10-28) 1 commit
  (merged to 'next' on 2023-11-01 at 94590ee724)
 + Include gettext.h in MyFirstContribution tutorial

 Documentation update.

 Will merge to 'master'.
 source: <20231017041503.3249-1-jacob@initialcommit.io>


* ms/send-email-validate-fix (2023-10-26) 1 commit
  (merged to 'next' on 2023-11-01 at f9dd32186b)
 + send-email: move validation code below process_address_list

 "git send-email" did not have certain pieces of data computed yet
 when it tried to validate the outging messages and its recipient
 addresses, which has been sorted out.

 Will merge to 'master'.
 source: <ddd4bfdd-ed14-44f4-89d3-192332bbc1c4@amd.com>


* ps/ci-gitlab (2023-11-02) 8 commits
 - ci: add support for GitLab CI
 - ci: install test dependencies for linux-musl
 - ci: squelch warnings when testing with unusable Git repo
 - ci: unify setup of some environment variables
 - ci: split out logic to set up failed test artifacts
 - ci: group installation of Docker dependencies
 - ci: make grouping setup more generic
 - ci: reorder definitions for grouping functions

 Add support for GitLab CI.

 Comments?
 source: <cover.1698843660.git.ps@pks.im>


* ps/ref-tests-update (2023-11-03) 10 commits
 - t: mark several tests that assume the files backend with REFFILES
 - t7900: assert the absence of refs via git-for-each-ref(1)
 - t7300: assert exact states of repo
 - t4207: delete replace references via git-update-ref(1)
 - t1450: convert tests to remove worktrees via git-worktree(1)
 - t: convert tests to not access reflog via the filesystem
 - t: convert tests to not access symrefs via the filesystem
 - t: convert tests to not write references via the filesystem
 - t: allow skipping expected object ID in `ref-store update-ref`
 - Merge branch 'ps/show-ref' into ps/ref-tests-update
 (this branch uses ps/show-ref.)

 Update ref-related tests.

 Will merge to 'next'?
 source: <cover.1698914571.git.ps@pks.im>


* rs/fix-arghelp (2023-10-29) 1 commit
  (merged to 'next' on 2023-11-01 at cd923d3362)
 + am, rebase: fix arghelp syntax of --empty

 Doc and help update.

 Will merge to 'master'.
 source: <10e09b2d-15d7-4af1-b24c-217f9e2f457a@web.de>


* rs/parse-options-cmdmode (2023-10-29) 2 commits
  (merged to 'next' on 2023-11-01 at b83328f1e7)
 + am: simplify --show-current-patch handling
 + parse-options: make CMDMODE errors more precise

 parse-options improvements for OPT_CMDMODE options.

 Will merge to 'master'.
 source: <4520156b-9418-493c-a50c-e61b42e805b3@web.de>


* rs/reflog-expire-single-worktree-fix (2023-10-29) 1 commit
  (merged to 'next' on 2023-11-01 at 6b4dab2cd2)
 + reflog: fix expire --single-worktree

 "git reflog expire --single-worktree" has been broken for the past
 20 months or so, which has been corrected.

 Will merge to 'master'.
 source: <63eade0e-bf2c-4906-8b4c-689797cff737@web.de>


* jx/fetch-atomic-error-message-fix (2023-10-19) 2 commits
 - fetch: no redundant error message for atomic fetch
 - t5574: test porcelain output of atomic fetch

 "git fetch --atomic" issued an unnecessary empty error message,
 which has been corrected.

 Needs review.
 source: <ced46baeb1c18b416b4b4cc947f498bea2910b1b.1697725898.git.zhiyou.jx@alibaba-inc.com>


* js/bugreport-in-the-same-minute (2023-10-16) 1 commit
 - bugreport: include +i in outfile suffix as needed

 Instead of auto-generating a filename that is already in use for
 output and fail the command, `git bugreport` learned to fuzz the
 filename to avoid collisions with existing files.

 Expecting a reroll.
 cf. <ZTtZ5CbIGETy1ucV.jacob@initialcommit.io>
 source: <20231016214045.146862-2-jacob@initialcommit.io>


* kh/t7900-cleanup (2023-10-17) 9 commits
 - t7900: fix register dependency
 - t7900: factor out packfile dependency
 - t7900: fix `print-args` dependency
 - t7900: fix `pfx` dependency
 - t7900: factor out common schedule setup
 - t7900: factor out inheritance test dependency
 - t7900: create commit so that branch is born
 - t7900: setup and tear down clones
 - t7900: remove register dependency

 Test clean-up.

 Perhaps discard?
 cf. <655ca147-c214-41be-919d-023c1b27b311@app.fastmail.com>
 source: <cover.1697319294.git.code@khaugsbakk.name>


* tb/merge-tree-write-pack (2023-10-23) 5 commits
 - builtin/merge-tree.c: implement support for `--write-pack`
 - bulk-checkin: introduce `index_tree_bulk_checkin_incore()`
 - bulk-checkin: introduce `index_blob_bulk_checkin_incore()`
 - bulk-checkin: generify `stream_blob_to_pack()` for arbitrary types
 - bulk-checkin: extract abstract `bulk_checkin_source`

 "git merge-tree" learned "--write-pack" to record its result
 without creating loose objects.

 Will merge to 'next'?
 source: <cover.1698101088.git.me@ttaylorr.com>


* tb/format-pack-doc-update (2023-11-01) 2 commits
  (merged to 'next' on 2023-11-02 at 538991fe9b)
 + Documentation/gitformat-pack.txt: fix incorrect MIDX documentation
 + Documentation/gitformat-pack.txt: fix typo

 Doc update.

 Will merge to 'master'.
 source: <cover.1698780244.git.me@ttaylorr.com>


* ps/do-not-trust-commit-graph-blindly-for-existence (2023-11-01) 2 commits
  (merged to 'next' on 2023-11-01 at 06037376ee)
 + commit: detect commits that exist in commit-graph but not in the ODB
 + commit-graph: introduce envvar to disable commit existence checks
 (this branch is used by kn/rev-list-missing-fix.)

 The codepath to traverse the commit-graph learned to notice that a
 commit is missing (e.g., corrupt repository lost an object), even
 though it knows something about the commit (like its parents) from
 what is in commit-graph.

 Will merge to 'master'.
 source: <cover.1698736363.git.ps@pks.im>


* tb/pair-chunk-expect-size (2023-10-14) 8 commits
 - midx: read `OOFF` chunk with `pair_chunk_expect()`
 - midx: read `OIDL` chunk with `pair_chunk_expect()`
 - midx: read `OIDF` chunk with `pair_chunk_expect()`
 - commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 - commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `OIDF` chunk with `pair_chunk_expect()`
 - chunk-format: introduce `pair_chunk_expect()` helper

 Code clean-up for jk/chunk-bounds topic.

 Comments?
 source: <45cac29403e63483951f7766c6da3c022c68d9f0.1697225110.git.me@ttaylorr.com>
 source: <cover.1697225110.git.me@ttaylorr.com>


* jc/grep-f-relative-to-cwd (2023-10-12) 1 commit
  (merged to 'next' on 2023-10-31 at 0d32547b18)
 + grep: -f <path> is relative to $cwd

 "cd sub && git grep -f patterns" tried to read "patterns" file at
 the top level of the working tree; it has been corrected to read
 "sub/patterns" instead.

 Will merge to 'master'.
 cf. <ZUAnEVk65VQQE263@nand.local>
 source: <xmqqedhzg37z.fsf@gitster.g>


* tb/path-filter-fix (2023-10-18) 17 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Needs (hopefully final and quick) review.
 source: <cover.1697653929.git.me@ttaylorr.com>


* kn/rev-list-missing-fix (2023-11-01) 4 commits
  (merged to 'next' on 2023-11-02 at 2469dfc402)
 + rev-list: add commit object support in `--missing` option
 + rev-list: move `show_commit()` to the bottom
 + revision: rename bit to `do_not_die_on_missing_objects`
 + Merge branch 'ps/do-not-trust-commit-graph-blindly-for-existence' into kn/rev-list-missing-fix
 (this branch uses ps/do-not-trust-commit-graph-blindly-for-existence.)

 "git rev-list --missing" did not work for missing commit objects,
 which has been corrected.

 Will merge to 'master'.
 source: <20231026101109.43110-1-karthik.188@gmail.com>


* cc/git-replay (2023-11-03) 14 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: change rev walking options
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 Introduce "git replay", a tool meant on the server side without
 working tree to recreate a history.

 Will merge to 'next'?
 source: <20231102135151.843758-1-christian.couder@gmail.com>


* ak/color-decorate-symbols (2023-10-23) 7 commits
 - log: add color.decorate.pseudoref config variable
 - refs: exempt pseudorefs from pattern prefixing
 - refs: add pseudorefs array and iteration functions
 - log: add color.decorate.ref config variable
 - log: add color.decorate.symbol config variable
 - log: use designated inits for decoration_colors
 - config: restructure color.decorate documentation

 A new config for coloring.

 Needs review.
 source: <20231023221143.72489-1-andy.koppe@gmail.com>


* js/update-urls-in-doc-and-comment (2023-09-26) 4 commits
 - doc: refer to internet archive
 - doc: update links for andre-simon.de
 - doc: update links to current pages
 - doc: switch links to https

 Stale URLs have been updated to their current counterparts (or
 archive.org) and HTTP links are replaced with working HTTPS links.

 Needs review.
 source: <pull.1589.v2.git.1695553041.gitgitgadget@gmail.com>


* la/trailer-cleanups (2023-10-20) 3 commits
 - trailer: use offsets for trailer_start/trailer_end
 - trailer: find the end of the log message
 - commit: ignore_non_trailer computes number of bytes to ignore

 Code clean-up.

 Will merge to 'next'?
 source: <pull.1563.v5.git.1697828495.gitgitgadget@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2023-10-04) 4 commits
 - archive: support remote archive from stateless transport
 - transport-helper: call do_take_over() in connect_helper
 - transport-helper: call do_take_over() in process_connect
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Needs review.
 source: <cover.1696432593.git.zhiyou.jx@alibaba-inc.com>


* jx/sideband-chomp-newline-fix (2023-10-04) 3 commits
 - pkt-line: do not chomp newlines for sideband messages
 - pkt-line: memorize sideband fragment in reader
 - test-pkt-line: add option parser for unpack-sideband

 Sideband demultiplexer fixes.

 Needs review.
 source: <cover.1696425168.git.zhiyou.jx@alibaba-inc.com>


* js/config-parse (2023-09-21) 5 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split do_event() into start and flush operations
 - config: split out config_parse_options

 The parsing routines for the configuration files have been split
 into a separate file.

 Needs review.
 source: <cover.1695330852.git.steadmon@google.com>


* jc/fake-lstat (2023-09-15) 1 commit
 - cache: add fake_lstat()
 (this branch is used by jc/diff-cached-fsmonitor-fix.)

 A new helper to let us pretend that we called lstat() when we know
 our cache_entry is up-to-date via fsmonitor.

 Needs review.
 source: <xmqqcyykig1l.fsf@gitster.g>


* js/doc-unit-tests (2023-11-02) 3 commits
 - ci: run unit tests in CI
 - unit tests: add TAP unit test framework
 - unit tests: add a project plan document
 (this branch is used by js/doc-unit-tests-with-cmake.)

 Process to add some form of low-level unit tests has started.

 Will merge to 'next'?
 source: <cover.1698881249.git.steadmon@google.com>


* js/doc-unit-tests-with-cmake (2023-11-02) 7 commits
 - cmake: handle also unit tests
 - cmake: use test names instead of full paths
 - cmake: fix typo in variable name
 - artifacts-tar: when including `.dll` files, don't forget the unit-tests
 - unit-tests: do show relative file paths
 - unit-tests: do not mistake `.pdb` files for being executable
 - cmake: also build unit tests
 (this branch uses js/doc-unit-tests.)

 Update the base topic to work with CMake builds.

 Will merge to 'next'?
 source: <pull.1579.v3.git.1695640836.gitgitgadget@gmail.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-10-16) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 source: <2e24ca9b-9c5f-f4df-b9f8-6574a714dfb2@gmail.com>


^ permalink raw reply	[relevance 25%]

* What's cooking in git.git (Nov 2023, #01; Thu, 2)
@ 2023-11-02  8:52 22% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-11-02  8:52 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

The preview release for 2.43 will be tagged and pushed out shortly.

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]

* jc/strbuf-comment-line-char (2023-11-01) 4 commits
 - strbuf: move env-using functions to environment.c
 - strbuf: make add_lines() public
 - strbuf_add_commented_lines(): drop the comment_line_char parameter
 - strbuf_commented_addf(): drop the comment_line_char parameter

 Code simplification.
 source: <cover.1698791220.git.jonathantanmy@google.com>


* ps/show-ref (2023-11-01) 12 commits
  (merged to 'next' on 2023-11-02 at 987bb117f5)
 + t: use git-show-ref(1) to check for ref existence
 + builtin/show-ref: add new mode to check for reference existence
 + builtin/show-ref: explicitly spell out different modes in synopsis
 + builtin/show-ref: ensure mutual exclusiveness of subcommands
 + builtin/show-ref: refactor options for patterns subcommand
 + builtin/show-ref: stop using global vars for `show_one()`
 + builtin/show-ref: stop using global variable to count matches
 + builtin/show-ref: refactor `--exclude-existing` options
 + builtin/show-ref: fix dead code when passing patterns
 + builtin/show-ref: fix leaking string buffer
 + builtin/show-ref: split up different subcommands
 + builtin/show-ref: convert pattern to a local variable

 Teach "git show-ref" a mode to check the existence of a ref.

 Will merge to 'master'.
 source: <cover.1698739941.git.ps@pks.im>


* rc/trace-upload-pack (2023-10-30) 1 commit
  (merged to 'next' on 2023-11-01 at 90892b5cf0)
 + upload-pack: add tracing for fetches

 Trace2 update.

 Will merge to 'master'.
 source: <pull.1598.v2.git.1697577168128.gitgitgadget@gmail.com>


* bc/merge-file-object-input (2023-11-02) 2 commits
 - merge-file: add an option to process object IDs
 - git-merge-file doc: drop "-file" from argument placeholders

 "git merge-file" learns a mode to read three contents to be merged
 from blob objects.

 Will merge to 'next'.
 source: <20231101192419.794162-1-sandals@crustytoothpaste.net>


* jc/test-i18ngrep (2023-10-31) 2 commits
 - tests: teach callers of test_i18ngrep to use test_grep
 - test framework: further deprecate test_i18ngrep

 Another step to deprecate test_i18ngrep.

 Will merge to 'next'.
 source: <20231031052330.3762989-1-gitster@pobox.com>


* an/clang-format-typofix (2023-11-01) 1 commit
  (merged to 'next' on 2023-11-02 at 7f639690ab)
 + clang-format: fix typo in comment

 Typofix.

 Will merge to 'master'.
 source: <pull.1602.v2.git.git.1698759629166.gitgitgadget@gmail.com>


* jk/tree-name-and-depth-limit (2023-11-02) 1 commit
 - max_tree_depth: lower it for MSVC to avoid stack overflows

 Further limit tree depth max to avoid Windows build running out of
 the stack space.

 Will merge to 'next' and then to 'master'.
 source: <pull.1604.v2.git.1698843810814.gitgitgadget@gmail.com>

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

* da/t7601-style-fix (2023-10-18) 1 commit
  (merged to 'next' on 2023-10-20 at 8e7326458c)
 + t7601: use "test_path_is_file" etc. instead of "test -f"

 Coding style update.
 source: <20231018124538.68549-2-anonolitunya@gmail.com>


* ii/branch-error-messages-update (2023-10-23) 1 commit
  (merged to 'next' on 2023-10-23 at 3d00599173)
 + builtin/branch.c: adjust error messages to coding guidelines

 Error message update.
 source: <20231023160656.4341-1-isokenjune@gmail.com>


* jc/am-doc-whitespace-action-fix (2023-10-18) 1 commit
  (merged to 'next' on 2023-10-20 at 9200d39c08)
 + am: align placeholder for --whitespace option with apply

 Docfix.
 source: <xmqqwmvjzeqd.fsf@gitster.g>


* jc/attr-tree-config (2023-10-13) 2 commits
  (merged to 'next' on 2023-10-19 at 202dc1c453)
 + attr: add attr.tree for setting the treeish to read attributes from
 + attr: read attributes from HEAD when bare repo

 The attribute subsystem learned to honor `attr.tree` configuration
 that specifies which tree to read the .gitattributes files from.
 source: <pull.1577.v5.git.git.1697218770.gitgitgadget@gmail.com>


* jc/commit-new-underscore-index-fix (2023-10-17) 1 commit
  (merged to 'next' on 2023-10-22 at 0e4787303d)
 + commit: do not use cryptic "new_index" in end-user facing messages

 Message fix.
 source: <xmqqo7gwvd8c.fsf_-_@gitster.g>


* jc/update-list-references-to-lore (2023-10-06) 1 commit
  (merged to 'next' on 2023-10-19 at 83a721a137)
 + doc: update list archive reference to use lore.kernel.org

 Doc update.
 source: <xmqq7cnz741s.fsf@gitster.g>


* jk/send-email-fix-addresses-from-composed-messages (2023-10-20) 3 commits
  (merged to 'next' on 2023-10-22 at 43221cc3a4)
 + send-email: handle to/cc/bcc from --compose message
 + Revert "send-email: extract email-parsing code into a subroutine"
 + doc/send-email: mention handling of "reply-to" with --compose

 The codepath to handle recipient addresses `git send-email
 --compose` learns from the user was completely broken, which has
 been corrected.
 source: <20231020100343.GA2194322@coredump.intra.peff.net>


* jm/bisect-run-synopsis-fix (2023-10-23) 1 commit
  (merged to 'next' on 2023-10-23 at 8dfa3ed356)
 + doc/git-bisect: clarify `git bisect run` syntax

 Doc and usage message update.
 source: <pull.1602.v2.git.1698088990478.gitgitgadget@gmail.com>


* kh/pathspec-error-wo-repository-fix (2023-10-20) 1 commit
  (merged to 'next' on 2023-10-22 at 4f77af1e40)
 + grep: die gracefully when outside repository

 The pathspec code carelessly dereferenced NULL while emitting an
 error message, which has been corrected.
 source: <5c8ef6bec1c99e0fae7ada903885a8e77f8137f9.1697819838.git.code@khaugsbakk.name>


* mm/p4-symlink-with-lfs (2023-10-19) 1 commit
  (merged to 'next' on 2023-10-20 at 9c05ce7e85)
 + git-p4 shouldn't attempt to store symlinks in LFS

 "git p4" tried to store symlinks to LFS when told, but has been
 fixed not to do so, because it does not make sense.
 source: <20231019002558.867830-1-mmcclain@noprivs.com>


* ms/doc-push-fix (2023-10-20) 1 commit
  (merged to 'next' on 2023-10-22 at 7ce3cef56b)
 + git-push doc: more visibility for -q option

 Docfix.
 source: <20231020184627.14336-1-msuchanek@suse.de>


* ni/die-message-fix-for-git-add (2023-10-17) 1 commit
  (merged to 'next' on 2023-10-22 at f46c5dfd63)
 + builtin/add.c: clean up die() messages

 Message updates.
 source: <20231017113946.747-1-naomi.ibeh69@gmail.com>


* ob/rebase-cleanup (2023-10-20) 3 commits
  (merged to 'next' on 2023-10-22 at 05e14ca4fc)
 + rebase: move parse_opt_keep_empty() down
 + rebase: handle --strategy via imply_merge() as well
 + rebase: simplify code related to imply_merge()

 Code clean-up.
 source: <20231020093654.922890-1-oswald.buddenhagen@gmx.de>


* ps/git-repack-doc-fixes (2023-10-16) 2 commits
  (merged to 'next' on 2023-10-22 at df64849f26)
 + doc/git-repack: don't mention nonexistent "--unpacked" option
 + doc/git-repack: fix syntax for `-g` shorthand option

 Doc updates.
 source: <cover.1697440686.git.ps@pks.im>


* sn/typo-grammo-phraso-fixes (2023-10-05) 5 commits
  (merged to 'next' on 2023-10-18 at 575d767f9a)
 + t/README: fix multi-prerequisite example
 + doc/gitk: s/sticked/stuck/
 + git-jump: admit to passing merge mode args to ls-files
 + doc/diff-options: improve wording of the log.diffMerges mention
 + doc: fix some typos, grammar and wording issues

 Many typos, ungrammatical sentences and wrong phrasing have been
 fixed.
 source: <20231003082107.3002173-1-stepnem@smrk.net>


* wx/merge-ort-comment-typofix (2023-10-21) 1 commit
  (merged to 'next' on 2023-10-22 at ad1e33883a)
 + merge-ort.c: fix typo 'neeed' to 'needed'

 Typofix.
 source: <pull.1592.v3.git.git.1697942768555.gitgitgadget@gmail.com>

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

* pw/rebase-sigint (2023-09-07) 1 commit
 - rebase -i: ignore signals when forking subprocesses

 If the commit log editor or other external programs (spawned via
 "exec" insn in the todo list) receive internactive signal during
 "git rebase -i", it caused not just the spawned program but the
 "Git" process that spawned them, which is often not what the end
 user intended.  "git" learned to ignore SIGINT and SIGQUIT while
 waiting for these subprocesses.

 Expecting a reroll.
 cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
 source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
 - diff-lib: fix check_removed() when fsmonitor is active
 - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
 - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
 (this branch uses jc/fake-lstat.)

 The optimization based on fsmonitor in the "diff --cached"
 codepath is resurrected with the "fake-lstat" introduced earlier.

 It is unknown if the optimization is worth resurrecting, but in case...
 source: <xmqqr0n0h0tw.fsf@gitster.g>

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

* ar/submitting-patches-doc-update (2023-10-24) 1 commit
  (merged to 'next' on 2023-10-30 at e140009eb6)
 + SubmittingPatches: call gitk's command "Copy commit reference"

 Doc update.

 Will merge to 'master'.
 source: <20231024195123.911431-1-rybak.a.v@gmail.com>


* es/bugreport-no-extra-arg (2023-10-29) 2 commits
  (merged to 'next' on 2023-11-01 at 4ca0a9c77c)
 + bugreport: reject positional arguments
 + t0091-bugreport: stop using i18ngrep

 "git bugreport" learned to complain when it received a command line
 argument that it will not use.

 Will merge to 'master'.
 source: <20231026155459.2234929-1-nasamuffin@google.com>


* js/my-first-contribution-update (2023-10-28) 1 commit
  (merged to 'next' on 2023-11-01 at 94590ee724)
 + Include gettext.h in MyFirstContribution tutorial

 Documentation update.

 Will merge to 'master'.
 source: <20231017041503.3249-1-jacob@initialcommit.io>


* ms/send-email-validate-fix (2023-10-26) 1 commit
  (merged to 'next' on 2023-11-01 at f9dd32186b)
 + send-email: move validation code below process_address_list

 "git send-email" did not have certain pieces of data computed yet
 when it tried to validate the outging messages and its recipient
 addresses, which has been sorted out.

 Will merge to 'master'.
 source: <ddd4bfdd-ed14-44f4-89d3-192332bbc1c4@amd.com>


* ps/ci-gitlab (2023-11-02) 8 commits
 - ci: add support for GitLab CI
 - ci: install test dependencies for linux-musl
 - ci: squelch warnings when testing with unusable Git repo
 - ci: unify setup of some environment variables
 - ci: split out logic to set up failed test artifacts
 - ci: group installation of Docker dependencies
 - ci: make grouping setup more generic
 - ci: reorder definitions for grouping functions

 Add support for GitLab CI.

 Comments?
 source: <cover.1698843660.git.ps@pks.im>


* ps/ref-tests-update (2023-10-24) 9 commits
 - t: mark several tests that assume the files backend with REFFILES
 - t7900: assert the absence of refs via git-for-each-ref(1)
 - t7300: assert exact states of repo
 - t4207: delete replace references via git-update-ref(1)
 - t1450: convert tests to remove worktrees via git-worktree(1)
 - t: convert tests to not access reflog via the filesystem
 - t: convert tests to not access symrefs via the filesystem
 - t: convert tests to not write references via the filesystem
 - t: allow skipping expected object ID in `ref-store update-ref`

 Update ref-related tests.

 Will merge to 'next'?
 source: <cover.1698156169.git.ps@pks.im>


* rs/fix-arghelp (2023-10-29) 1 commit
  (merged to 'next' on 2023-11-01 at cd923d3362)
 + am, rebase: fix arghelp syntax of --empty

 Doc and help update.

 Will merge to 'master'.
 source: <10e09b2d-15d7-4af1-b24c-217f9e2f457a@web.de>


* rs/parse-options-cmdmode (2023-10-29) 2 commits
  (merged to 'next' on 2023-11-01 at b83328f1e7)
 + am: simplify --show-current-patch handling
 + parse-options: make CMDMODE errors more precise

 parse-options improvements for OPT_CMDMODE options.

 Will merge to 'master'.
 source: <4520156b-9418-493c-a50c-e61b42e805b3@web.de>


* rs/reflog-expire-single-worktree-fix (2023-10-29) 1 commit
  (merged to 'next' on 2023-11-01 at 6b4dab2cd2)
 + reflog: fix expire --single-worktree

 "git reflog expire --single-worktree" has been broken for the past
 20 months or so, which has been corrected.

 Will merge to 'master'.
 source: <63eade0e-bf2c-4906-8b4c-689797cff737@web.de>


* jx/fetch-atomic-error-message-fix (2023-10-19) 2 commits
 - fetch: no redundant error message for atomic fetch
 - t5574: test porcelain output of atomic fetch

 "git fetch --atomic" issued an unnecessary empty error message,
 which has been corrected.

 Needs review.
 source: <ced46baeb1c18b416b4b4cc947f498bea2910b1b.1697725898.git.zhiyou.jx@alibaba-inc.com>


* js/bugreport-in-the-same-minute (2023-10-16) 1 commit
 - bugreport: include +i in outfile suffix as needed

 Instead of auto-generating a filename that is already in use for
 output and fail the command, `git bugreport` learned to fuzz the
 filename to avoid collisions with existing files.

 Expecting a reroll.
 cf. <ZTtZ5CbIGETy1ucV.jacob@initialcommit.io>
 source: <20231016214045.146862-2-jacob@initialcommit.io>


* kh/t7900-cleanup (2023-10-17) 9 commits
 - t7900: fix register dependency
 - t7900: factor out packfile dependency
 - t7900: fix `print-args` dependency
 - t7900: fix `pfx` dependency
 - t7900: factor out common schedule setup
 - t7900: factor out inheritance test dependency
 - t7900: create commit so that branch is born
 - t7900: setup and tear down clones
 - t7900: remove register dependency

 Test clean-up.

 Perhaps discard?
 cf. <655ca147-c214-41be-919d-023c1b27b311@app.fastmail.com>
 source: <cover.1697319294.git.code@khaugsbakk.name>


* tb/merge-tree-write-pack (2023-10-23) 5 commits
 - builtin/merge-tree.c: implement support for `--write-pack`
 - bulk-checkin: introduce `index_tree_bulk_checkin_incore()`
 - bulk-checkin: introduce `index_blob_bulk_checkin_incore()`
 - bulk-checkin: generify `stream_blob_to_pack()` for arbitrary types
 - bulk-checkin: extract abstract `bulk_checkin_source`

 "git merge-tree" learned "--write-pack" to record its result
 without creating loose objects.

 Will merge to 'next'?
 source: <cover.1698101088.git.me@ttaylorr.com>


* tb/format-pack-doc-update (2023-11-01) 2 commits
  (merged to 'next' on 2023-11-02 at 538991fe9b)
 + Documentation/gitformat-pack.txt: fix incorrect MIDX documentation
 + Documentation/gitformat-pack.txt: fix typo

 Doc update.

 Will merge to 'master'.
 source: <cover.1698780244.git.me@ttaylorr.com>


* ps/do-not-trust-commit-graph-blindly-for-existence (2023-11-01) 2 commits
  (merged to 'next' on 2023-11-01 at 06037376ee)
 + commit: detect commits that exist in commit-graph but not in the ODB
 + commit-graph: introduce envvar to disable commit existence checks
 (this branch is used by kn/rev-list-missing-fix.)

 The codepath to traverse the commit-graph learned to notice that a
 commit is missing (e.g., corrupt repository lost an object), even
 though it knows something about the commit (like its parents) from
 what is in commit-graph.

 Will merge to 'master'.
 source: <cover.1698736363.git.ps@pks.im>


* tb/pair-chunk-expect-size (2023-10-14) 8 commits
 - midx: read `OOFF` chunk with `pair_chunk_expect()`
 - midx: read `OIDL` chunk with `pair_chunk_expect()`
 - midx: read `OIDF` chunk with `pair_chunk_expect()`
 - commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 - commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `OIDF` chunk with `pair_chunk_expect()`
 - chunk-format: introduce `pair_chunk_expect()` helper

 Code clean-up for jk/chunk-bounds topic.

 Comments?
 source: <45cac29403e63483951f7766c6da3c022c68d9f0.1697225110.git.me@ttaylorr.com>
 source: <cover.1697225110.git.me@ttaylorr.com>


* jc/grep-f-relative-to-cwd (2023-10-12) 1 commit
  (merged to 'next' on 2023-10-31 at 0d32547b18)
 + grep: -f <path> is relative to $cwd

 "cd sub && git grep -f patterns" tried to read "patterns" file at
 the top level of the working tree; it has been corrected to read
 "sub/patterns" instead.

 Will merge to 'master'.
 cf. <ZUAnEVk65VQQE263@nand.local>
 source: <xmqqedhzg37z.fsf@gitster.g>


* tb/path-filter-fix (2023-10-18) 17 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Needs (hopefully final and quick) review.
 source: <cover.1697653929.git.me@ttaylorr.com>


* kn/rev-list-missing-fix (2023-11-01) 4 commits
  (merged to 'next' on 2023-11-02 at 2469dfc402)
 + rev-list: add commit object support in `--missing` option
 + rev-list: move `show_commit()` to the bottom
 + revision: rename bit to `do_not_die_on_missing_objects`
 + Merge branch 'ps/do-not-trust-commit-graph-blindly-for-existence' into kn/rev-list-missing-fix
 (this branch uses ps/do-not-trust-commit-graph-blindly-for-existence.)

 "git rev-list --missing" did not work for missing commit objects,
 which has been corrected.

 Will merge to 'master'.
 source: <20231026101109.43110-1-karthik.188@gmail.com>


* cc/git-replay (2023-10-10) 14 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: change rev walking options
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 Introduce "git replay", a tool meant on the server side without
 working tree to recreate a history.

 Expectting a (hopefully final and quick) reroll.
 cf. <bd872b81-80a9-5e4e-dcb6-faebc9671848@gmx.de>
 source: <20231010123847.2777056-1-christian.couder@gmail.com>


* ak/color-decorate-symbols (2023-10-23) 7 commits
 - log: add color.decorate.pseudoref config variable
 - refs: exempt pseudorefs from pattern prefixing
 - refs: add pseudorefs array and iteration functions
 - log: add color.decorate.ref config variable
 - log: add color.decorate.symbol config variable
 - log: use designated inits for decoration_colors
 - config: restructure color.decorate documentation

 A new config for coloring.

 Needs review.
 source: <20231023221143.72489-1-andy.koppe@gmail.com>


* js/update-urls-in-doc-and-comment (2023-09-26) 4 commits
 - doc: refer to internet archive
 - doc: update links for andre-simon.de
 - doc: update links to current pages
 - doc: switch links to https

 Stale URLs have been updated to their current counterparts (or
 archive.org) and HTTP links are replaced with working HTTPS links.

 Needs review.
 source: <pull.1589.v2.git.1695553041.gitgitgadget@gmail.com>


* la/trailer-cleanups (2023-10-20) 3 commits
 - trailer: use offsets for trailer_start/trailer_end
 - trailer: find the end of the log message
 - commit: ignore_non_trailer computes number of bytes to ignore

 Code clean-up.

 Will merge to 'next'?
 source: <pull.1563.v5.git.1697828495.gitgitgadget@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2023-10-04) 4 commits
 - archive: support remote archive from stateless transport
 - transport-helper: call do_take_over() in connect_helper
 - transport-helper: call do_take_over() in process_connect
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Needs review.
 source: <cover.1696432593.git.zhiyou.jx@alibaba-inc.com>


* jx/sideband-chomp-newline-fix (2023-10-04) 3 commits
 - pkt-line: do not chomp newlines for sideband messages
 - pkt-line: memorize sideband fragment in reader
 - test-pkt-line: add option parser for unpack-sideband

 Sideband demultiplexer fixes.

 Needs review.
 source: <cover.1696425168.git.zhiyou.jx@alibaba-inc.com>


* js/config-parse (2023-09-21) 5 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split do_event() into start and flush operations
 - config: split out config_parse_options

 The parsing routines for the configuration files have been split
 into a separate file.

 Needs review.
 source: <cover.1695330852.git.steadmon@google.com>


* jc/fake-lstat (2023-09-15) 1 commit
 - cache: add fake_lstat()
 (this branch is used by jc/diff-cached-fsmonitor-fix.)

 A new helper to let us pretend that we called lstat() when we know
 our cache_entry is up-to-date via fsmonitor.

 Needs review.
 source: <xmqqcyykig1l.fsf@gitster.g>


* js/doc-unit-tests (2023-11-02) 3 commits
 - ci: run unit tests in CI
 - unit tests: add TAP unit test framework
 - unit tests: add a project plan document
 (this branch is used by js/doc-unit-tests-with-cmake.)

 Process to add some form of low-level unit tests has started.

 Will merge to 'next'?
 source: <cover.1698881249.git.steadmon@google.com>


* js/doc-unit-tests-with-cmake (2023-11-02) 7 commits
 - cmake: handle also unit tests
 - cmake: use test names instead of full paths
 - cmake: fix typo in variable name
 - artifacts-tar: when including `.dll` files, don't forget the unit-tests
 - unit-tests: do show relative file paths
 - unit-tests: do not mistake `.pdb` files for being executable
 - cmake: also build unit tests
 (this branch uses js/doc-unit-tests.)

 Update the base topic to work with CMake builds.

 Will merge to 'next'?
 source: <pull.1579.v3.git.1695640836.gitgitgadget@gmail.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-10-16) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 source: <2e24ca9b-9c5f-f4df-b9f8-6574a714dfb2@gmail.com>

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

* rs/parse-options-value-int (2023-09-18) 2 commits
 . parse-options: use and require int pointer for OPT_CMDMODE
 . parse-options: add int value pointer to struct option

 A bit of type safety for the "value" pointer used in the
 parse-options API.

 Retracted.
 cf. <4014e490-c6c1-453d-b0ed-645220e3e614@web.de>
 source: <e6d8a291-03de-cfd3-3813-747fc2cad145@web.de>


^ permalink raw reply	[relevance 22%]

* Re: What's cooking in git.git (Oct 2023, #09; Mon, 30)
  @ 2023-10-30 20:59 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-10-30 20:59 UTC (permalink / raw)
  To: Robert Coup; +Cc: git

Robert Coup <robert.coup@koordinates.com> writes:

> Any thoughts on picking up "upload-pack: add tracing for fetches" [1]?
> It received positive feedback from Taylor and Peff, and I submitted a
> v2 [2] addressing the comments that Peff has re-reviewed.

Thanks for pinging.  It slipped through the cracks.

Queued.


^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Oct 2023, #09; Mon, 30)
@ 2023-10-29 23:52 22% Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2023-10-29 23:52 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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']

* bc/racy-4gb-files (2023-10-13) 2 commits
  (merged to 'next' on 2023-10-16 at c60962dfee)
 + Prevent git from rehashing 4GiB files
 + t: add a test helper to truncate files

 The index file has room only for lower 32-bit of the file size in
 the cached stat information, which means cached stat information
 will have 0 in its sd_size member for a file whose size is multiple
 of 4GiB.  This is mistaken for a racily clean path.  Avoid it by
 storing a bogus sd_size value instead for such files.
 source: <20231012160930.330618-1-sandals@crustytoothpaste.net>


* en/docfixes (2023-10-09) 25 commits
  (merged to 'next' on 2023-10-17 at 1e3cdeb427)
 + documentation: add missing parenthesis
 + documentation: add missing quotes
 + documentation: add missing fullstops
 + documentation: add some commas where they are helpful
 + documentation: fix whitespace issues
 + documentation: fix capitalization
 + documentation: fix punctuation
 + documentation: use clearer prepositions
 + documentation: add missing hyphens
 + documentation: remove unnecessary hyphens
 + documentation: add missing article
 + documentation: fix choice of article
 + documentation: whitespace is already generally plural
 + documentation: fix singular vs. plural
 + documentation: fix verb vs. noun
 + documentation: fix adjective vs. noun
 + documentation: fix verb tense
 + documentation: employ consistent verb tense for a list
 + documentation: fix subject/verb agreement
 + documentation: remove extraneous words
 + documentation: add missing words
 + documentation: fix apostrophe usage
 + documentation: fix typos
 + documentation: fix small error
 + documentation: wording improvements

 Documentation typo and grammo fixes.
 source: <pull.1595.git.1696747527.gitgitgadget@gmail.com>


* jc/fail-stash-to-store-non-stash (2023-10-11) 1 commit
  (merged to 'next' on 2023-10-16 at e26db57315)
 + stash: be careful what we store

 Feeding "git stash store" with a random commit that was not created
 by "git stash create" now errors out.
 source: <xmqqbkd4lwj0.fsf_-_@gitster.g>


* jk/chunk-bounds (2023-10-14) 21 commits
  (merged to 'next' on 2023-10-16 at 68c9e37980)
 + t5319: make corrupted large-offset test more robust
  (merged to 'next' on 2023-10-10 at 21139603ce)
 + chunk-format: drop pair_chunk_unsafe()
 + commit-graph: detect out-of-order BIDX offsets
 + commit-graph: check bounds when accessing BIDX chunk
 + commit-graph: check bounds when accessing BDAT chunk
 + commit-graph: bounds-check generation overflow chunk
 + commit-graph: check size of generations chunk
 + commit-graph: bounds-check base graphs chunk
 + commit-graph: detect out-of-bounds extra-edges pointers
 + commit-graph: check size of commit data chunk
 + midx: check size of revindex chunk
 + midx: bounds-check large offset chunk
 + midx: check size of object offset chunk
 + midx: enforce chunk alignment on reading
 + midx: check size of pack names chunk
 + commit-graph: check consistency of fanout table
 + midx: check size of oid lookup chunk
 + commit-graph: check size of oid fanout chunk
 + midx: stop ignoring malformed oid fanout chunk
 + t: add library for munging chunk-format files
 + chunk-format: note that pair_chunk() is unsafe
 (this branch is used by tb/pair-chunk-expect-size.)

 The codepaths that read "chunk" formatted files have been corrected
 to pay attention to the chunk size and notice broken files.
 source: <20231009205544.GA3281950@coredump.intra.peff.net>


* so/diff-merges-dd (2023-10-09) 3 commits
  (merged to 'next' on 2023-10-16 at 71b5e29625)
 + completion: complete '--dd'
 + diff-merges: introduce '--dd' option
 + diff-merges: improve --diff-merges documentation

 "git log" and friends learned "--dd" that is a short-hand for
 "--diff-merges=first-parent -p".
 source: <20231009160535.236523-1-sorganov@gmail.com>

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

* ii/branch-error-messages-update (2023-10-23) 1 commit
  (merged to 'next' on 2023-10-23 at 3d00599173)
 + builtin/branch.c: adjust error messages to coding guidelines

 Error message update.

 Will merge to 'master'.
 source: <20231023160656.4341-1-isokenjune@gmail.com>


* jm/bisect-run-synopsis-fix (2023-10-23) 1 commit
  (merged to 'next' on 2023-10-23 at 8dfa3ed356)
 + doc/git-bisect: clarify `git bisect run` syntax

 Doc and usage message update.

 Will merge to 'master'.
 source: <pull.1602.v2.git.1698088990478.gitgitgadget@gmail.com>


* ar/submitting-patches-doc-update (2023-10-24) 1 commit
 - SubmittingPatches: call gitk's command "Copy commit reference"

 Doc update.

 Will merge to 'next'.
 source: <20231024195123.911431-1-rybak.a.v@gmail.com>


* es/bugreport-no-extra-arg (2023-10-29) 2 commits
 - bugreport: reject positional arguments
 - t0091-bugreport: stop using i18ngrep

 source: <20231026155459.2234929-1-nasamuffin@google.com>


* js/my-first-contribution-update (2023-10-28) 1 commit
 - Include gettext.h in MyFirstContribution tutorial

 source: <20231017041503.3249-1-jacob@initialcommit.io>


* ms/send-email-validate-fix (2023-10-26) 1 commit
 - send-email: move validation code below process_address_list

 source: <ddd4bfdd-ed14-44f4-89d3-192332bbc1c4@amd.com>


* ps/ci-gitlab (2023-10-29) 5 commits
 - ci: add support for GitLab CI
 - ci: split out logic to set up failed test artifacts
 - ci: group installation of Docker dependencies
 - ci: make grouping setup more generic
 - ci: reorder definitions for grouping functions

 source: <cover.1698398590.git.ps@pks.im>


* ps/ref-tests-update (2023-10-24) 9 commits
 - t: mark several tests that assume the files backend with REFFILES
 - t7900: assert the absence of refs via git-for-each-ref(1)
 - t7300: assert exact states of repo
 - t4207: delete replace references via git-update-ref(1)
 - t1450: convert tests to remove worktrees via git-worktree(1)
 - t: convert tests to not access reflog via the filesystem
 - t: convert tests to not access symrefs via the filesystem
 - t: convert tests to not write references via the filesystem
 - t: allow skipping expected object ID in `ref-store update-ref`

 source: <cover.1698156169.git.ps@pks.im>


* rs/fix-arghelp (2023-10-29) 1 commit
 - am, rebase: fix arghelp syntax of --empty

 source: <10e09b2d-15d7-4af1-b24c-217f9e2f457a@web.de>


* rs/parse-options-cmdmode (2023-10-29) 2 commits
 - am: simplify --show-current-patch handling
 - parse-options: make CMDMODE errors more precise

 source: <4520156b-9418-493c-a50c-e61b42e805b3@web.de>


* rs/reflog-expire-single-worktree-fix (2023-10-29) 1 commit
 - reflog: fix expire --single-worktree

 source: <63eade0e-bf2c-4906-8b4c-689797cff737@web.de>

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

* pw/rebase-sigint (2023-09-07) 1 commit
 - rebase -i: ignore signals when forking subprocesses

 If the commit log editor or other external programs (spawned via
 "exec" insn in the todo list) receive internactive signal during
 "git rebase -i", it caused not just the spawned program but the
 "Git" process that spawned them, which is often not what the end
 user intended.  "git" learned to ignore SIGINT and SIGQUIT while
 waiting for these subprocesses.

 Expecting a reroll.
 cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
 source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
 - diff-lib: fix check_removed() when fsmonitor is active
 - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
 - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
 (this branch uses jc/fake-lstat.)

 The optimization based on fsmonitor in the "diff --cached"
 codepath is resurrected with the "fake-lstat" introduced earlier.

 It is unknown if the optimization is worth resurrecting, but in case...
 source: <xmqqr0n0h0tw.fsf@gitster.g>

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

* jc/am-doc-whitespace-action-fix (2023-10-18) 1 commit
  (merged to 'next' on 2023-10-20 at 9200d39c08)
 + am: align placeholder for --whitespace option with apply

 Docfix.

 Will merge to 'master'.
 source: <xmqqwmvjzeqd.fsf@gitster.g>


* da/t7601-style-fix (2023-10-18) 1 commit
  (merged to 'next' on 2023-10-20 at 8e7326458c)
 + t7601: use "test_path_is_file" etc. instead of "test -f"

 Coding style update.

 Will merge to 'master'.
 source: <20231018124538.68549-2-anonolitunya@gmail.com>


* jx/fetch-atomic-error-message-fix (2023-10-19) 2 commits
 - fetch: no redundant error message for atomic fetch
 - t5574: test porcelain output of atomic fetch

 "git fetch --atomic" issued an unnecessary empty error message,
 which has been corrected.

 Needs review.
 source: <ced46baeb1c18b416b4b4cc947f498bea2910b1b.1697725898.git.zhiyou.jx@alibaba-inc.com>


* mm/p4-symlink-with-lfs (2023-10-19) 1 commit
  (merged to 'next' on 2023-10-20 at 9c05ce7e85)
 + git-p4 shouldn't attempt to store symlinks in LFS

 "git p4" tried to store symlinks to LFS when told, but has been
 fixed not to do so, because it does not make sense.

 Will merge to 'master'.
 source: <20231019002558.867830-1-mmcclain@noprivs.com>


* jk/send-email-fix-addresses-from-composed-messages (2023-10-20) 3 commits
  (merged to 'next' on 2023-10-22 at 43221cc3a4)
 + send-email: handle to/cc/bcc from --compose message
 + Revert "send-email: extract email-parsing code into a subroutine"
 + doc/send-email: mention handling of "reply-to" with --compose

 The codepath to handle recipient addresses `git send-email
 --compose` learns from the user was completely broken, which has
 been corrected.

 Will merge to 'master'.
 source: <20231020100343.GA2194322@coredump.intra.peff.net>


* ms/doc-push-fix (2023-10-20) 1 commit
  (merged to 'next' on 2023-10-22 at 7ce3cef56b)
 + git-push doc: more visibility for -q option

 Docfix.

 Will merge to 'master'.
 source: <20231020184627.14336-1-msuchanek@suse.de>


* ob/rebase-cleanup (2023-10-20) 3 commits
  (merged to 'next' on 2023-10-22 at 05e14ca4fc)
 + rebase: move parse_opt_keep_empty() down
 + rebase: handle --strategy via imply_merge() as well
 + rebase: simplify code related to imply_merge()

 Code clean-up.

 Will merge to 'master'.
 source: <20231020093654.922890-1-oswald.buddenhagen@gmx.de>


* wx/merge-ort-comment-typofix (2023-10-21) 1 commit
  (merged to 'next' on 2023-10-22 at ad1e33883a)
 + merge-ort.c: fix typo 'neeed' to 'needed'

 Typofix.

 Will merge to 'master'.
 source: <pull.1592.v3.git.git.1697942768555.gitgitgadget@gmail.com>


* jc/commit-new-underscore-index-fix (2023-10-17) 1 commit
  (merged to 'next' on 2023-10-22 at 0e4787303d)
 + commit: do not use cryptic "new_index" in end-user facing messages

 Message fix.

 Will merge to 'master'.
 source: <xmqqo7gwvd8c.fsf_-_@gitster.g>


* js/bugreport-in-the-same-minute (2023-10-16) 1 commit
 - bugreport: include +i in outfile suffix as needed

 Instead of auto-generating a filename that is already in use for
 output and fail the command, `git bugreport` learned to fuzz the
 filename to avoid collisions with existing files.

 Expecting a reroll.
 cf. <ZTtZ5CbIGETy1ucV.jacob@initialcommit.io>
 source: <20231016214045.146862-2-jacob@initialcommit.io>


* kh/pathspec-error-wo-repository-fix (2023-10-20) 1 commit
  (merged to 'next' on 2023-10-22 at 4f77af1e40)
 + grep: die gracefully when outside repository

 The pathspec code carelessly dereferenced NULL while emitting an
 error message, which has been corrected.

 Will merge to 'master'.
 source: <5c8ef6bec1c99e0fae7ada903885a8e77f8137f9.1697819838.git.code@khaugsbakk.name>


* kh/t7900-cleanup (2023-10-17) 9 commits
 - t7900: fix register dependency
 - t7900: factor out packfile dependency
 - t7900: fix `print-args` dependency
 - t7900: fix `pfx` dependency
 - t7900: factor out common schedule setup
 - t7900: factor out inheritance test dependency
 - t7900: create commit so that branch is born
 - t7900: setup and tear down clones
 - t7900: remove register dependency

 Test clean-up.

 Needs review.
 source: <cover.1697319294.git.code@khaugsbakk.name>


* ni/die-message-fix-for-git-add (2023-10-17) 1 commit
  (merged to 'next' on 2023-10-22 at f46c5dfd63)
 + builtin/add.c: clean up die() messages

 Message updates.

 Will merge to 'master'.
 source: <20231017113946.747-1-naomi.ibeh69@gmail.com>


* ps/git-repack-doc-fixes (2023-10-16) 2 commits
  (merged to 'next' on 2023-10-22 at df64849f26)
 + doc/git-repack: don't mention nonexistent "--unpacked" option
 + doc/git-repack: fix syntax for `-g` shorthand option

 Doc updates.

 Will merge to 'master'.
 source: <cover.1697440686.git.ps@pks.im>


* tb/merge-tree-write-pack (2023-10-23) 5 commits
 - builtin/merge-tree.c: implement support for `--write-pack`
 - bulk-checkin: introduce `index_tree_bulk_checkin_incore()`
 - bulk-checkin: introduce `index_blob_bulk_checkin_incore()`
 - bulk-checkin: generify `stream_blob_to_pack()` for arbitrary types
 - bulk-checkin: extract abstract `bulk_checkin_source`

 "git merge-tree" learned "--write-pack" to record its result
 without creating loose objects.

 Will merge to 'next'?
 source: <cover.1698101088.git.me@ttaylorr.com>


* tb/format-pack-doc-update (2023-10-12) 2 commits
 - Documentation/gitformat-pack.txt: fix incorrect MIDX documentation
 - Documentation/gitformat-pack.txt: fix typo

 Doc update.

 Expecting a reroll.
 cf. <xmqq5y3b4id2.fsf@gitster.g>
 source: <cover.1697144959.git.me@ttaylorr.com>


* ps/do-not-trust-commit-graph-blindly-for-existence (2023-10-24) 2 commits
 - commit: detect commits that exist in commit-graph but not in the ODB
 - commit-graph: introduce envvar to disable commit existence checks
 (this branch is used by kn/rev-list-missing-fix.)

 The codepath to traverse the commit-graph learned to notice that a
 commit is missing (e.g., corrupt repository lost an object), even
 though it knows something about the commit (like its parents) from
 what is in commit-graph.

 Comments?
 source: <cover.1698060036.git.ps@pks.im>


* tb/pair-chunk-expect-size (2023-10-14) 8 commits
 - midx: read `OOFF` chunk with `pair_chunk_expect()`
 - midx: read `OIDL` chunk with `pair_chunk_expect()`
 - midx: read `OIDF` chunk with `pair_chunk_expect()`
 - commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 - commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `OIDF` chunk with `pair_chunk_expect()`
 - chunk-format: introduce `pair_chunk_expect()` helper

 Code clean-up for jk/chunk-bounds topic.

 Comments?
 source: <45cac29403e63483951f7766c6da3c022c68d9f0.1697225110.git.me@ttaylorr.com>
 source: <cover.1697225110.git.me@ttaylorr.com>


* jc/grep-f-relative-to-cwd (2023-10-12) 1 commit
 - grep: -f <path> is relative to $cwd

 "cd sub && git grep -f patterns" tried to read "patterns" file at
 the top level of the working tree; it has been corrected to read
 "sub/patterns" instead.

 Needs review.
 source: <xmqqedhzg37z.fsf@gitster.g>


* tb/path-filter-fix (2023-10-18) 17 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Needs (hopefully final and quick) review.
 source: <cover.1697653929.git.me@ttaylorr.com>


* kn/rev-list-missing-fix (2023-10-29) 4 commits
 - rev-list: add commit object support in `--missing` option
 - rev-list: move `show_commit()` to the bottom
 - revision: rename bit to `do_not_die_on_missing_objects`
 - Merge branch 'ps/do-not-trust-commit-graph-blindly-for-existence' into kn/rev-list-missing-fix
 (this branch uses ps/do-not-trust-commit-graph-blindly-for-existence.)

 "git rev-list --missing" did not work for missing commit objects,
 which has been corrected.

 Will merge to 'next'.
 source: <20231026101109.43110-1-karthik.188@gmail.com>


* sn/typo-grammo-phraso-fixes (2023-10-05) 5 commits
  (merged to 'next' on 2023-10-18 at 575d767f9a)
 + t/README: fix multi-prerequisite example
 + doc/gitk: s/sticked/stuck/
 + git-jump: admit to passing merge mode args to ls-files
 + doc/diff-options: improve wording of the log.diffMerges mention
 + doc: fix some typos, grammar and wording issues

 Many typos, ungrammatical sentences and wrong phrasing have been
 fixed.

 Will merge to 'master'.
 source: <20231003082107.3002173-1-stepnem@smrk.net>


* jc/update-list-references-to-lore (2023-10-06) 1 commit
  (merged to 'next' on 2023-10-19 at 83a721a137)
 + doc: update list archive reference to use lore.kernel.org

 Doc update.

 Will merge to 'master'.
 source: <xmqq7cnz741s.fsf@gitster.g>


* cc/git-replay (2023-10-10) 14 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: change rev walking options
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 Introduce "git replay", a tool meant on the server side without
 working tree to recreate a history.

 Expectting a (hopefully final and quick) reroll.
 cf. <bd872b81-80a9-5e4e-dcb6-faebc9671848@gmx.de>
 source: <20231010123847.2777056-1-christian.couder@gmail.com>


* ak/color-decorate-symbols (2023-10-23) 7 commits
 - log: add color.decorate.pseudoref config variable
 - refs: exempt pseudorefs from pattern prefixing
 - refs: add pseudorefs array and iteration functions
 - log: add color.decorate.ref config variable
 - log: add color.decorate.symbol config variable
 - log: use designated inits for decoration_colors
 - config: restructure color.decorate documentation

 A new config for coloring.

 Needs review.
 source: <20231023221143.72489-1-andy.koppe@gmail.com>


* jc/attr-tree-config (2023-10-13) 2 commits
  (merged to 'next' on 2023-10-19 at 202dc1c453)
 + attr: add attr.tree for setting the treeish to read attributes from
 + attr: read attributes from HEAD when bare repo

 The attribute subsystem learned to honor `attr.tree` configuration
 that specifies which tree to read the .gitattributes files from.

 Will merge to 'master'.
 source: <pull.1577.v5.git.git.1697218770.gitgitgadget@gmail.com>


* js/update-urls-in-doc-and-comment (2023-09-26) 4 commits
 - doc: refer to internet archive
 - doc: update links for andre-simon.de
 - doc: update links to current pages
 - doc: switch links to https

 Stale URLs have been updated to their current counterparts (or
 archive.org) and HTTP links are replaced with working HTTPS links.

 Needs review.
 source: <pull.1589.v2.git.1695553041.gitgitgadget@gmail.com>


* la/trailer-cleanups (2023-10-20) 3 commits
 - trailer: use offsets for trailer_start/trailer_end
 - trailer: find the end of the log message
 - commit: ignore_non_trailer computes number of bytes to ignore

 Code clean-up.

 Will merge to 'next'?
 source: <pull.1563.v5.git.1697828495.gitgitgadget@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2023-10-04) 4 commits
 - archive: support remote archive from stateless transport
 - transport-helper: call do_take_over() in connect_helper
 - transport-helper: call do_take_over() in process_connect
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Needs review.
 source: <cover.1696432593.git.zhiyou.jx@alibaba-inc.com>


* jx/sideband-chomp-newline-fix (2023-10-04) 3 commits
 - pkt-line: do not chomp newlines for sideband messages
 - pkt-line: memorize sideband fragment in reader
 - test-pkt-line: add option parser for unpack-sideband

 Sideband demultiplexer fixes.

 Needs review.
 source: <cover.1696425168.git.zhiyou.jx@alibaba-inc.com>


* js/config-parse (2023-09-21) 5 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split do_event() into start and flush operations
 - config: split out config_parse_options

 The parsing routines for the configuration files have been split
 into a separate file.

 Needs review.
 source: <cover.1695330852.git.steadmon@google.com>


* jc/fake-lstat (2023-09-15) 1 commit
 - cache: add fake_lstat()
 (this branch is used by jc/diff-cached-fsmonitor-fix.)

 A new helper to let us pretend that we called lstat() when we know
 our cache_entry is up-to-date via fsmonitor.

 Needs review.
 source: <xmqqcyykig1l.fsf@gitster.g>


* js/doc-unit-tests (2023-10-16) 5 commits
 - fixup! ci: run unit tests in CI
 - fixup! unit tests: add TAP unit test framework
 - ci: run unit tests in CI
 - unit tests: add TAP unit test framework
 - unit tests: add a project plan document
 (this branch is used by js/doc-unit-tests-with-cmake.)

 Process to add some form of low-level unit tests has started.

 Expecting a (hopefully final and minor) reroll.
 cf. <20231016134421.21659-1-phillip.wood123@gmail.com>
 source: <cover.1696889529.git.steadmon@google.com>


* js/doc-unit-tests-with-cmake (2023-10-19) 7 commits
 - cmake: handle also unit tests
 - cmake: use test names instead of full paths
 - cmake: fix typo in variable name
 - artifacts-tar: when including `.dll` files, don't forget the unit-tests
 - unit-tests: do show relative file paths
 - unit-tests: do not mistake `.pdb` files for being executable
 - cmake: also build unit tests
 (this branch uses js/doc-unit-tests.)

 Update the base topic to work with CMake builds.

 Needs review.
 source: <pull.1579.v3.git.1695640836.gitgitgadget@gmail.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-10-16) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 source: <2e24ca9b-9c5f-f4df-b9f8-6574a714dfb2@gmail.com>

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

* rs/parse-options-value-int (2023-09-18) 2 commits
 . parse-options: use and require int pointer for OPT_CMDMODE
 . parse-options: add int value pointer to struct option

 A bit of type safety for the "value" pointer used in the
 parse-options API.

 Retracted.
 cf. <4014e490-c6c1-453d-b0ed-645220e3e614@web.de>
 source: <e6d8a291-03de-cfd3-3813-747fc2cad145@web.de>


^ permalink raw reply	[relevance 22%]

* What's cooking in git.git (Oct 2023, #08; Sun, 22)
@ 2023-10-22 22:17 22% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-10-22 22:17 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

There are too many topics marked with "Needs review" label.  I can
review some of them myself, but obviously not all.  For now I will
refrain from adding more topics to 'seen' that are not reviewed at
all.

I'll be away from the keyboard for most of the later half of the
week, and the updates to my tree will be slower than usual.

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']

* ak/pretty-decorate-more-fix (2023-10-09) 1 commit
  (merged to 'next' on 2023-10-12 at 3cbb4c2268)
 + pretty: fix ref filtering for %(decorate) formats

 Unlike "git log --pretty=%D", "git log --pretty="%(decorate)" did
 not auto-initialize the decoration subsystem, which has been
 corrected.
 source: <20231008202307.1568477-1-andy.koppe@gmail.com>


* ps/rewritten-is-per-worktree-doc (2023-10-10) 1 commit
  (merged to 'next' on 2023-10-12 at 501b960e8c)
 + doc/git-worktree: mention "refs/rewritten" as per-worktree refs

 Doc update.
 source: <985ac850eb6e60ae76601acc8bfbcd56f99348b4.1696935657.git.ps@pks.im>


* ty/merge-tree-strategy-options (2023-10-11) 2 commits
  (merged to 'next' on 2023-10-12 at 9b873601df)
 + merge: introduce {copy|clear}_merge_options()
  (merged to 'next' on 2023-09-29 at aa65b54416)
 + merge-tree: add -X strategy option

 "git merge-tree" learned to take strategy backend specific options
 via the "-X" option, like "git merge" does.
 source: <pull.1565.v6.git.1695522222723.gitgitgadget@gmail.com>


* vd/loose-ref-iteration-optimization (2023-10-09) 4 commits
  (merged to 'next' on 2023-10-12 at 99e2f83855)
 + files-backend.c: avoid stat in 'loose_fill_ref_dir'
 + dir.[ch]: add 'follow_symlink' arg to 'get_dtype'
 + dir.[ch]: expose 'get_dtype'
 + ref-cache.c: fix prefix matching in ref iteration

 The code to iterate over loose references have been optimized to
 reduce the number of lstat() system calls.
 source: <pull.1594.v2.git.1696888736.gitgitgadget@gmail.com>

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

* jc/am-doc-whitespace-action-fix (2023-10-18) 1 commit
  (merged to 'next' on 2023-10-20 at 9200d39c08)
 + am: align placeholder for --whitespace option with apply

 Docfix.

 Will merge to 'master'.
 source: <xmqqwmvjzeqd.fsf@gitster.g>


* da/t7601-style-fix (2023-10-18) 1 commit
  (merged to 'next' on 2023-10-20 at 8e7326458c)
 + t7601: use "test_path_is_file" etc. instead of "test -f"

 Coding style update.

 Will merge to 'master'.
 source: <20231018124538.68549-2-anonolitunya@gmail.com>


* jx/fetch-atomic-error-message-fix (2023-10-19) 2 commits
 - fetch: no redundant error message for atomic fetch
 - t5574: test porcelain output of atomic fetch

 "git fetch --atomic" issued an unnecessary empty error message,
 which has been corrected.

 Needs review.
 source: <ced46baeb1c18b416b4b4cc947f498bea2910b1b.1697725898.git.zhiyou.jx@alibaba-inc.com>


* mm/p4-symlink-with-lfs (2023-10-19) 1 commit
  (merged to 'next' on 2023-10-20 at 9c05ce7e85)
 + git-p4 shouldn't attempt to store symlinks in LFS

 "git p4" tried to store symlinks to LFS when told, but has been
 fixed not to do so, because it does not make sense.

 Will merge to 'master'.
 source: <20231019002558.867830-1-mmcclain@noprivs.com>


* jk/send-email-fix-addresses-from-composed-messages (2023-10-20) 3 commits
  (merged to 'next' on 2023-10-22 at 43221cc3a4)
 + send-email: handle to/cc/bcc from --compose message
 + Revert "send-email: extract email-parsing code into a subroutine"
 + doc/send-email: mention handling of "reply-to" with --compose

 The codepath to handle recipient addresses `git send-email
 --compose` learns from the user was completely broken, which has
 been corrected.

 Will merge to 'master'.
 source: <20231020100343.GA2194322@coredump.intra.peff.net>


* ms/doc-push-fix (2023-10-20) 1 commit
  (merged to 'next' on 2023-10-22 at 7ce3cef56b)
 + git-push doc: more visibility for -q option

 Docfix.

 Will merge to 'master'.
 source: <20231020184627.14336-1-msuchanek@suse.de>


* ob/rebase-cleanup (2023-10-20) 3 commits
  (merged to 'next' on 2023-10-22 at 05e14ca4fc)
 + rebase: move parse_opt_keep_empty() down
 + rebase: handle --strategy via imply_merge() as well
 + rebase: simplify code related to imply_merge()

 Code clean-up.

 Will merge to 'master'.
 source: <20231020093654.922890-1-oswald.buddenhagen@gmx.de>


* wx/merge-ort-comment-typofix (2023-10-21) 1 commit
  (merged to 'next' on 2023-10-22 at ad1e33883a)
 + merge-ort.c: fix typo 'neeed' to 'needed'

 Typofix.

 Will merge to 'master'.
 source: <pull.1592.v3.git.git.1697942768555.gitgitgadget@gmail.com>

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

* pw/rebase-sigint (2023-09-07) 1 commit
 - rebase -i: ignore signals when forking subprocesses

 If the commit log editor or other external programs (spawned via
 "exec" insn in the todo list) receive internactive signal during
 "git rebase -i", it caused not just the spawned program but the
 "Git" process that spawned them, which is often not what the end
 user intended.  "git" learned to ignore SIGINT and SIGQUIT while
 waiting for these subprocesses.

 Expecting a reroll.
 cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
 source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
 - diff-lib: fix check_removed() when fsmonitor is active
 - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
 - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
 (this branch uses jc/fake-lstat.)

 The optimization based on fsmonitor in the "diff --cached"
 codepath is resurrected with the "fake-lstat" introduced earlier.

 It is unknown if the optimization is worth resurrecting, but in case...
 source: <xmqqr0n0h0tw.fsf@gitster.g>

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

* jc/commit-new-underscore-index-fix (2023-10-17) 1 commit
  (merged to 'next' on 2023-10-22 at 0e4787303d)
 + commit: do not use cryptic "new_index" in end-user facing messages

 Message fix.

 Will merge to 'master'.
 source: <xmqqo7gwvd8c.fsf_-_@gitster.g>


* js/bugreport-in-the-same-minute (2023-10-16) 1 commit
 - bugreport: include +i in outfile suffix as needed

 Instead of auto-generating a filename that is already in use for
 output and fail the command, `git bugreport` learned to fuzz the
 filename to avoid collisions with existing files.

 Needs review.
 source: <20231016214045.146862-2-jacob@initialcommit.io>


* kh/pathspec-error-wo-repository-fix (2023-10-20) 1 commit
  (merged to 'next' on 2023-10-22 at 4f77af1e40)
 + grep: die gracefully when outside repository

 The pathspec code carelessly dereferenced NULL while emitting an
 error message, which has been corrected.

 Will merge to 'master'.
 source: <5c8ef6bec1c99e0fae7ada903885a8e77f8137f9.1697819838.git.code@khaugsbakk.name>


* kh/t7900-cleanup (2023-10-17) 9 commits
 - t7900: fix register dependency
 - t7900: factor out packfile dependency
 - t7900: fix `print-args` dependency
 - t7900: fix `pfx` dependency
 - t7900: factor out common schedule setup
 - t7900: factor out inheritance test dependency
 - t7900: create commit so that branch is born
 - t7900: setup and tear down clones
 - t7900: remove register dependency

 Test clean-up.

 Needs review.
 source: <cover.1697319294.git.code@khaugsbakk.name>


* ni/die-message-fix-for-git-add (2023-10-17) 1 commit
  (merged to 'next' on 2023-10-22 at f46c5dfd63)
 + builtin/add.c: clean up die() messages

 Message updates.

 Will merge to 'master'.
 source: <20231017113946.747-1-naomi.ibeh69@gmail.com>


* ps/git-repack-doc-fixes (2023-10-16) 2 commits
  (merged to 'next' on 2023-10-22 at df64849f26)
 + doc/git-repack: don't mention nonexistent "--unpacked" option
 + doc/git-repack: fix syntax for `-g` shorthand option

 Doc updates.

 Will merge to 'master'.
 source: <cover.1697440686.git.ps@pks.im>


* tb/merge-tree-write-pack (2023-10-19) 7 commits
 - builtin/merge-tree.c: implement support for `--write-pack`
 - bulk-checkin: introduce `index_tree_bulk_checkin_incore()`
 - bulk-checkin: introduce `index_blob_bulk_checkin_incore()`
 - bulk-checkin: implement `SOURCE_INCORE` mode for `bulk_checkin_source`
 - bulk-checkin: refactor deflate routine to accept a `bulk_checkin_source`
 - bulk-checkin: generify `stream_blob_to_pack()` for arbitrary types
 - bulk-checkin: extract abstract `bulk_checkin_source`

 "git merge-tree" learned "--write-pack" to record its result
 without creating loose objects.

 Will merge to 'next'?
 source: <cover.1697736516.git.me@ttaylorr.com>


* tb/format-pack-doc-update (2023-10-12) 2 commits
 - Documentation/gitformat-pack.txt: fix incorrect MIDX documentation
 - Documentation/gitformat-pack.txt: fix typo

 Doc update.

 Expecting a reroll.
 cf. <xmqq5y3b4id2.fsf@gitster.g>
 source: <cover.1697144959.git.me@ttaylorr.com>


* ps/do-not-trust-commit-graph-blindly-for-existence (2023-10-13) 1 commit
 - commit: detect commits that exist in commit-graph but not in the ODB
 (this branch is used by kn/rev-list-missing-fix.)

 The codepath to traverse the commit-graph learned to notice that a
 commit is missing (e.g., corrupt repository lost an object), even
 though it knows something about the commit (like its parents) from
 what is in commit-graph.

 Comments?
 source: <b0bf576c51a706367a758b8e30eca37edb9c2734.1697200576.git.ps@pks.im>


* tb/pair-chunk-expect-size (2023-10-14) 8 commits
 - midx: read `OOFF` chunk with `pair_chunk_expect()`
 - midx: read `OIDL` chunk with `pair_chunk_expect()`
 - midx: read `OIDF` chunk with `pair_chunk_expect()`
 - commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 - commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `OIDF` chunk with `pair_chunk_expect()`
 - chunk-format: introduce `pair_chunk_expect()` helper
 (this branch uses jk/chunk-bounds.)

 Code clean-up for jk/chunk-bounds topic.

 Comments?
 source: <45cac29403e63483951f7766c6da3c022c68d9f0.1697225110.git.me@ttaylorr.com>
 source: <cover.1697225110.git.me@ttaylorr.com>


* jc/fail-stash-to-store-non-stash (2023-10-11) 1 commit
  (merged to 'next' on 2023-10-16 at e26db57315)
 + stash: be careful what we store

 Feeding "git stash store" with a random commit that was not created
 by "git stash create" now errors out.

 Will merge to 'master'.
 source: <xmqqbkd4lwj0.fsf_-_@gitster.g>


* bc/racy-4gb-files (2023-10-13) 2 commits
  (merged to 'next' on 2023-10-16 at c60962dfee)
 + Prevent git from rehashing 4GiB files
 + t: add a test helper to truncate files

 The index file has room only for lower 32-bit of the file size in
 the cached stat information, which means cached stat information
 will have 0 in its sd_size member for a file whose size is multiple
 of 4GiB.  This is mistaken for a racily clean path.  Avoid it by
 storing a bogus sd_size value instead for such files.

 Will merge to 'master'.
 source: <20231012160930.330618-1-sandals@crustytoothpaste.net>


* jc/grep-f-relative-to-cwd (2023-10-12) 1 commit
 - grep: -f <path> is relative to $cwd

 "cd sub && git grep -f patterns" tried to read "patterns" file at
 the top level of the working tree; it has been corrected to read
 "sub/patterns" instead.

 Needs review.
 source: <xmqqedhzg37z.fsf@gitster.g>


* tb/path-filter-fix (2023-10-18) 17 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Needs (hopefully final and quick) review.
 source: <cover.1697653929.git.me@ttaylorr.com>


* en/docfixes (2023-10-09) 25 commits
  (merged to 'next' on 2023-10-17 at 1e3cdeb427)
 + documentation: add missing parenthesis
 + documentation: add missing quotes
 + documentation: add missing fullstops
 + documentation: add some commas where they are helpful
 + documentation: fix whitespace issues
 + documentation: fix capitalization
 + documentation: fix punctuation
 + documentation: use clearer prepositions
 + documentation: add missing hyphens
 + documentation: remove unnecessary hyphens
 + documentation: add missing article
 + documentation: fix choice of article
 + documentation: whitespace is already generally plural
 + documentation: fix singular vs. plural
 + documentation: fix verb vs. noun
 + documentation: fix adjective vs. noun
 + documentation: fix verb tense
 + documentation: employ consistent verb tense for a list
 + documentation: fix subject/verb agreement
 + documentation: remove extraneous words
 + documentation: add missing words
 + documentation: fix apostrophe usage
 + documentation: fix typos
 + documentation: fix small error
 + documentation: wording improvements

 Documentation typo and grammo fixes.

 Will merge to 'master'.
 source: <pull.1595.git.1696747527.gitgitgadget@gmail.com>


* kn/rev-list-missing-fix (2023-10-22) 4 commits
 - rev-list: add commit object support in `--missing` option
 - rev-list: move `show_commit()` to the bottom
 - revision: rename bit to `do_not_die_on_missing_objects`
 - Merge branch 'ps/do-not-trust-commit-graph-blindly-for-existence' into kn/rev-list-missing-fix
 (this branch uses ps/do-not-trust-commit-graph-blindly-for-existence.)

 "git rev-list --missing" did not work for missing commit objects,
 which has been corrected.

 Comments?
 source: <20231019121024.194317-1-karthik.188@gmail.com>


* jk/chunk-bounds (2023-10-14) 21 commits
  (merged to 'next' on 2023-10-16 at 68c9e37980)
 + t5319: make corrupted large-offset test more robust
  (merged to 'next' on 2023-10-10 at 21139603ce)
 + chunk-format: drop pair_chunk_unsafe()
 + commit-graph: detect out-of-order BIDX offsets
 + commit-graph: check bounds when accessing BIDX chunk
 + commit-graph: check bounds when accessing BDAT chunk
 + commit-graph: bounds-check generation overflow chunk
 + commit-graph: check size of generations chunk
 + commit-graph: bounds-check base graphs chunk
 + commit-graph: detect out-of-bounds extra-edges pointers
 + commit-graph: check size of commit data chunk
 + midx: check size of revindex chunk
 + midx: bounds-check large offset chunk
 + midx: check size of object offset chunk
 + midx: enforce chunk alignment on reading
 + midx: check size of pack names chunk
 + commit-graph: check consistency of fanout table
 + midx: check size of oid lookup chunk
 + commit-graph: check size of oid fanout chunk
 + midx: stop ignoring malformed oid fanout chunk
 + t: add library for munging chunk-format files
 + chunk-format: note that pair_chunk() is unsafe
 (this branch is used by tb/pair-chunk-expect-size.)

 The codepaths that read "chunk" formatted files have been corrected
 to pay attention to the chunk size and notice broken files.

 Will merge to 'master'.
 source: <20231009205544.GA3281950@coredump.intra.peff.net>


* sn/typo-grammo-phraso-fixes (2023-10-05) 5 commits
  (merged to 'next' on 2023-10-18 at 575d767f9a)
 + t/README: fix multi-prerequisite example
 + doc/gitk: s/sticked/stuck/
 + git-jump: admit to passing merge mode args to ls-files
 + doc/diff-options: improve wording of the log.diffMerges mention
 + doc: fix some typos, grammar and wording issues

 Many typos, ungrammatical sentences and wrong phrasing have been
 fixed.

 Will merge to 'master'.
 source: <20231003082107.3002173-1-stepnem@smrk.net>


* so/diff-merges-dd (2023-10-09) 3 commits
  (merged to 'next' on 2023-10-16 at 71b5e29625)
 + completion: complete '--dd'
 + diff-merges: introduce '--dd' option
 + diff-merges: improve --diff-merges documentation

 "git log" and friends learned "--dd" that is a short-hand for
 "--diff-merges=first-parent -p".

 Will merge to 'master'.
 source: <20231009160535.236523-1-sorganov@gmail.com>


* jc/update-list-references-to-lore (2023-10-06) 1 commit
  (merged to 'next' on 2023-10-19 at 83a721a137)
 + doc: update list archive reference to use lore.kernel.org

 Doc update.

 Will merge to 'master'.
 source: <xmqq7cnz741s.fsf@gitster.g>


* cc/git-replay (2023-10-10) 14 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: change rev walking options
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 Introduce "git replay", a tool meant on the server side without
 working tree to recreate a history.

 Needs (hopefully final and quick) review.
 source: <20231010123847.2777056-1-christian.couder@gmail.com>


* ak/color-decorate-symbols (2023-10-19) 7 commits
 - log: show pseudorefs in decorations
 - refs: exempt pseudoref patterns from prefixing
 - log: add color.decorate.ref option for other refs
 - refs: separate decoration type from default filter
 - log: add color.decorate.symbol config option
 - log: use designated inits for decoration_colors
 - config: restructure color.decorate documentation

 A new config for coloring.

 Needs review.
 source: <20231003205442.22963-1-andy.koppe@gmail.com>


* jc/attr-tree-config (2023-10-13) 2 commits
  (merged to 'next' on 2023-10-19 at 202dc1c453)
 + attr: add attr.tree for setting the treeish to read attributes from
 + attr: read attributes from HEAD when bare repo

 The attribute subsystem learned to honor `attr.tree` configuration
 that specifies which tree to read the .gitattributes files from.

 Will merge to 'master'.
 source: <pull.1577.v5.git.git.1697218770.gitgitgadget@gmail.com>


* js/update-urls-in-doc-and-comment (2023-09-26) 4 commits
 - doc: refer to internet archive
 - doc: update links for andre-simon.de
 - doc: update links to current pages
 - doc: switch links to https

 Stale URLs have been updated to their current counterparts (or
 archive.org) and HTTP links are replaced with working HTTPS links.

 Needs review.
 source: <pull.1589.v2.git.1695553041.gitgitgadget@gmail.com>


* la/trailer-cleanups (2023-10-20) 3 commits
 - trailer: use offsets for trailer_start/trailer_end
 - trailer: find the end of the log message
 - commit: ignore_non_trailer computes number of bytes to ignore

 Code clean-up.

 Will merge to 'next'?
 source: <pull.1563.v5.git.1697828495.gitgitgadget@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2023-10-04) 4 commits
 - archive: support remote archive from stateless transport
 - transport-helper: call do_take_over() in connect_helper
 - transport-helper: call do_take_over() in process_connect
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Needs review.
 source: <cover.1696432593.git.zhiyou.jx@alibaba-inc.com>


* jx/sideband-chomp-newline-fix (2023-10-04) 3 commits
 - pkt-line: do not chomp newlines for sideband messages
 - pkt-line: memorize sideband fragment in reader
 - test-pkt-line: add option parser for unpack-sideband

 Sideband demultiplexer fixes.

 Needs review.
 source: <cover.1696425168.git.zhiyou.jx@alibaba-inc.com>


* js/config-parse (2023-09-21) 5 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split do_event() into start and flush operations
 - config: split out config_parse_options

 The parsing routines for the configuration files have been split
 into a separate file.

 Needs review.
 source: <cover.1695330852.git.steadmon@google.com>


* jc/fake-lstat (2023-09-15) 1 commit
 - cache: add fake_lstat()
 (this branch is used by jc/diff-cached-fsmonitor-fix.)

 A new helper to let us pretend that we called lstat() when we know
 our cache_entry is up-to-date via fsmonitor.

 Needs review.
 source: <xmqqcyykig1l.fsf@gitster.g>


* rs/parse-options-value-int (2023-09-18) 2 commits
 - parse-options: use and require int pointer for OPT_CMDMODE
 - parse-options: add int value pointer to struct option

 A bit of type safety for the "value" pointer used in the
 parse-options API.

 Not ready yet.
 cf. <4014e490-c6c1-453d-b0ed-645220e3e614@web.de>
 source: <e6d8a291-03de-cfd3-3813-747fc2cad145@web.de>


* js/doc-unit-tests (2023-10-16) 5 commits
 - fixup! ci: run unit tests in CI
 - fixup! unit tests: add TAP unit test framework
 - ci: run unit tests in CI
 - unit tests: add TAP unit test framework
 - unit tests: add a project plan document
 (this branch is used by js/doc-unit-tests-with-cmake.)

 Process to add some form of low-level unit tests has started.

 Expecting a (hopefully final and minor) reroll.
 cf. <20231016134421.21659-1-phillip.wood123@gmail.com>
 source: <cover.1696889529.git.steadmon@google.com>


* js/doc-unit-tests-with-cmake (2023-10-19) 7 commits
 - cmake: handle also unit tests
 - cmake: use test names instead of full paths
 - cmake: fix typo in variable name
 - artifacts-tar: when including `.dll` files, don't forget the unit-tests
 - unit-tests: do show relative file paths
 - unit-tests: do not mistake `.pdb` files for being executable
 - cmake: also build unit tests
 (this branch uses js/doc-unit-tests.)

 Update the base topic to work with CMake builds.

 Needs review.
 source: <pull.1579.v3.git.1695640836.gitgitgadget@gmail.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-10-16) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 source: <2e24ca9b-9c5f-f4df-b9f8-6574a714dfb2@gmail.com>

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

* jc/doc-unit-tests-fixup (2023-10-11) 1 commit
 . SQUASH???
 (this branch uses js/doc-unit-tests and js/doc-unit-tests-with-cmake.)

 Quick fix for jc/doc-unit-tests topic to unbreak CI running on 'seen'.

 Superseded by a fixup! in the base series.
 source: <xmqqwmvskf8t.fsf@gitster.g>


^ permalink raw reply	[relevance 22%]

* What's cooking in git.git (Oct 2023, #07; Wed, 18)
@ 2023-10-18 23:36 24% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-10-18 23:36 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

There are too many topics marked with "Needs review" label.  I can
help reviewing some of them myself, but obviously it will not scale.
For now, I'll let unreviewed new topics accumulating in the mailing
list archive without picking them up in 'seen' to encourage folks
help reduce the review backlog.

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']

* jc/merge-ort-attr-index-fix (2023-10-09) 1 commit
  (merged to 'next' on 2023-10-10 at b139b87502)
 + merge-ort: initialize repo in index state

 Fix "git merge-tree" to stop segfaulting when the --attr-source
 option is used.
 source: <pull.1583.v3.git.git.1696857660374.gitgitgadget@gmail.com>


* sn/cat-file-doc-update (2023-10-09) 1 commit
  (merged to 'next' on 2023-10-10 at 6719ba7bd4)
 + doc/cat-file: make synopsis and description less confusing

 "git cat-file" documentation updates.
 source: <20231009175604.2361700-1-stepnem@smrk.net>


* tb/repack-max-cruft-size (2023-10-09) 5 commits
  (merged to 'next' on 2023-10-09 at 38f039e880)
 + repack: free existing_cruft array after use
  (merged to 'next' on 2023-10-06 at b3ca6df3b9)
 + builtin/repack.c: avoid making cruft packs preferred
 + builtin/repack.c: implement support for `--max-cruft-size`
 + builtin/repack.c: parse `--max-pack-size` with OPT_MAGNITUDE
 + t7700: split cruft-related tests to t7704

 "git repack" learned "--max-cruft-size" to prevent cruft packs from
 growing without bounds.
 source: <cover.1696293862.git.me@ttaylorr.com>
 source: <20231007172031.GA1524950@coredump.intra.peff.net>
 source: <035393935108d02aaf8927189b05102f4f74f340.1696370003.git.me@ttaylorr.com>


* xz/commit-title-soft-limit-doc (2023-10-09) 1 commit
  (merged to 'next' on 2023-10-10 at 0bf3d9ed51)
 + doc: correct the 50 characters soft limit (+)

 Doc update.
 source: <pull.1585.v2.git.git.1696778367151.gitgitgadget@gmail.com>

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

* jc/commit-new-underscore-index-fix (2023-10-17) 1 commit
 - commit: do not use cryptic "new_index" in end-user facing messages

 source: <xmqqo7gwvd8c.fsf_-_@gitster.g>


* js/bugreport-in-the-same-minute (2023-10-16) 1 commit
 - bugreport: include +i in outfile suffix as needed

 source: <20231016214045.146862-2-jacob@initialcommit.io>


* kh/pathspec-error-wo-repository-fix (2023-10-17) 1 commit
 - grep: die gracefully when outside repository

 source: <087c92e3904dd774f672373727c300bf7f5f6369.1697317276.git.code@khaugsbakk.name>


* kh/t7900-cleanup (2023-10-17) 9 commits
 - t7900: fix register dependency
 - t7900: factor out packfile dependency
 - t7900: fix `print-args` dependency
 - t7900: fix `pfx` dependency
 - t7900: factor out common schedule setup
 - t7900: factor out inheritance test dependency
 - t7900: create commit so that branch is born
 - t7900: setup and tear down clones
 - t7900: remove register dependency

 source: <cover.1697319294.git.code@khaugsbakk.name>


* ni/die-message-fix-for-git-add (2023-10-17) 1 commit
 - builtin/add.c: clean up die() messages

 source: <20231017113946.747-1-naomi.ibeh69@gmail.com>


* ps/git-repack-doc-fixes (2023-10-16) 2 commits
 - doc/git-repack: don't mention nonexistent "--unpacked" option
 - doc/git-repack: fix syntax for `-g` shorthand option

 source: <cover.1697440686.git.ps@pks.im>


* tb/merge-tree-write-pack (2023-10-17) 7 commits
 - builtin/merge-tree.c: implement support for `--write-pack`
 - bulk-checkin: introduce `index_tree_bulk_checkin_incore()`
 - bulk-checkin: introduce `index_blob_bulk_checkin_incore()`
 - bulk-checkin: factor our `finalize_checkpoint()`
 - bulk-checkin: factor out `truncate_checkpoint()`
 - bulk-checkin: factor out `prepare_checkpoint()`
 - bulk-checkin: factor out `format_object_header_hash()`

 source: <cover.1697560266.git.me@ttaylorr.com>

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

* pw/rebase-sigint (2023-09-07) 1 commit
 - rebase -i: ignore signals when forking subprocesses

 If the commit log editor or other external programs (spawned via
 "exec" insn in the todo list) receive internactive signal during
 "git rebase -i", it caused not just the spawned program but the
 "Git" process that spawned them, which is often not what the end
 user intended.  "git" learned to ignore SIGINT and SIGQUIT while
 waiting for these subprocesses.

 Expecting a reroll.
 cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
 source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
 - diff-lib: fix check_removed() when fsmonitor is active
 - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
 - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
 (this branch uses jc/fake-lstat.)

 The optimization based on fsmonitor in the "diff --cached"
 codepath is resurrected with the "fake-lstat" introduced earlier.

 It is unknown if the optimization is worth resurrecting, but in case...
 source: <xmqqr0n0h0tw.fsf@gitster.g>

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

* tb/format-pack-doc-update (2023-10-12) 2 commits
 - Documentation/gitformat-pack.txt: fix incorrect MIDX documentation
 - Documentation/gitformat-pack.txt: fix typo

 Doc update.

 Expecting a reroll.
 cf. <xmqq5y3b4id2.fsf@gitster.g>
 source: <cover.1697144959.git.me@ttaylorr.com>


* ps/do-not-trust-commit-graph-blindly-for-existence (2023-10-13) 1 commit
 - commit: detect commits that exist in commit-graph but not in the ODB
 (this branch is used by kn/rev-list-missing-fix.)

 The codepath to traverse the commit-graph learned to notice that a
 commit is missing (e.g., corrupt repository lost an object), even
 though it knows something about the commit (like its parents) from
 what is in commit-graph.

 Comments?
 source: <b0bf576c51a706367a758b8e30eca37edb9c2734.1697200576.git.ps@pks.im>


* tb/pair-chunk-expect-size (2023-10-14) 8 commits
 - midx: read `OOFF` chunk with `pair_chunk_expect()`
 - midx: read `OIDL` chunk with `pair_chunk_expect()`
 - midx: read `OIDF` chunk with `pair_chunk_expect()`
 - commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 - commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `OIDF` chunk with `pair_chunk_expect()`
 - chunk-format: introduce `pair_chunk_expect()` helper
 (this branch uses jk/chunk-bounds.)

 Code clean-up for jk/chunk-bounds topic.

 Comments?
 source: <45cac29403e63483951f7766c6da3c022c68d9f0.1697225110.git.me@ttaylorr.com>
 source: <cover.1697225110.git.me@ttaylorr.com>


* jc/fail-stash-to-store-non-stash (2023-10-11) 1 commit
  (merged to 'next' on 2023-10-16 at e26db57315)
 + stash: be careful what we store

 Feeding "git stash store" with a random commit that was not created
 by "git stash create" now errors out.

 Will merge to 'master'.
 source: <xmqqbkd4lwj0.fsf_-_@gitster.g>


* bc/racy-4gb-files (2023-10-13) 2 commits
  (merged to 'next' on 2023-10-16 at c60962dfee)
 + Prevent git from rehashing 4GiB files
 + t: add a test helper to truncate files

 The index file has room only for lower 32-bit of the file size in
 the cached stat information, which means cached stat information
 will have 0 in its sd_size member for a file whose size is multiple
 of 4GiB.  This is mistaken for a racily clean path.  Avoid it by
 storing a bogus sd_size value instead for such files.

 Will merge to 'master'.
 source: <20231012160930.330618-1-sandals@crustytoothpaste.net>


* jc/grep-f-relative-to-cwd (2023-10-12) 1 commit
 - grep: -f <path> is relative to $cwd

 "cd sub && git grep -f patterns" tried to read "patterns" file at
 the top level of the working tree; it has been corrected to read
 "sub/patterns" instead.

 Needs review.
 source: <xmqqedhzg37z.fsf@gitster.g>


* tb/path-filter-fix (2023-10-10) 17 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Needs (hopefully final and quick) review.
 source: <cover.1696969994.git.me@ttaylorr.com>


* ak/pretty-decorate-more-fix (2023-10-09) 1 commit
  (merged to 'next' on 2023-10-12 at 3cbb4c2268)
 + pretty: fix ref filtering for %(decorate) formats

 Unlike "git log --pretty=%D", "git log --pretty="%(decorate)" did
 not auto-initialize the decoration subsystem, which has been
 corrected.

 Will merge to 'master'.
 source: <20231008202307.1568477-1-andy.koppe@gmail.com>


* en/docfixes (2023-10-09) 25 commits
  (merged to 'next' on 2023-10-17 at 1e3cdeb427)
 + documentation: add missing parenthesis
 + documentation: add missing quotes
 + documentation: add missing fullstops
 + documentation: add some commas where they are helpful
 + documentation: fix whitespace issues
 + documentation: fix capitalization
 + documentation: fix punctuation
 + documentation: use clearer prepositions
 + documentation: add missing hyphens
 + documentation: remove unnecessary hyphens
 + documentation: add missing article
 + documentation: fix choice of article
 + documentation: whitespace is already generally plural
 + documentation: fix singular vs. plural
 + documentation: fix verb vs. noun
 + documentation: fix adjective vs. noun
 + documentation: fix verb tense
 + documentation: employ consistent verb tense for a list
 + documentation: fix subject/verb agreement
 + documentation: remove extraneous words
 + documentation: add missing words
 + documentation: fix apostrophe usage
 + documentation: fix typos
 + documentation: fix small error
 + documentation: wording improvements

 Documentation typo and grammo fixes.

 Will merge to 'master'.
 source: <pull.1595.git.1696747527.gitgitgadget@gmail.com>


* kn/rev-list-missing-fix (2023-10-16) 4 commits
 . rev-list: add commit object support in `--missing` option
 . rev-list: move `show_commit()` to the bottom
 . revision: rename bit to `do_not_die_on_missing_objects`
 . Merge branch 'ps/do-not-trust-commit-graph-blindly-for-existence' into kn/rev-list-missing-fix
 (this branch uses ps/do-not-trust-commit-graph-blindly-for-existence.)

 "git rev-list --missing" did not work for missing commit objects,
 which has been corrected.

 cf. <xmqqbkcyo7ro.fsf@gitster.g>
 source: <20231016103830.56486-1-karthik.188@gmail.com>


* jk/chunk-bounds (2023-10-14) 21 commits
  (merged to 'next' on 2023-10-16 at 68c9e37980)
 + t5319: make corrupted large-offset test more robust
  (merged to 'next' on 2023-10-10 at 21139603ce)
 + chunk-format: drop pair_chunk_unsafe()
 + commit-graph: detect out-of-order BIDX offsets
 + commit-graph: check bounds when accessing BIDX chunk
 + commit-graph: check bounds when accessing BDAT chunk
 + commit-graph: bounds-check generation overflow chunk
 + commit-graph: check size of generations chunk
 + commit-graph: bounds-check base graphs chunk
 + commit-graph: detect out-of-bounds extra-edges pointers
 + commit-graph: check size of commit data chunk
 + midx: check size of revindex chunk
 + midx: bounds-check large offset chunk
 + midx: check size of object offset chunk
 + midx: enforce chunk alignment on reading
 + midx: check size of pack names chunk
 + commit-graph: check consistency of fanout table
 + midx: check size of oid lookup chunk
 + commit-graph: check size of oid fanout chunk
 + midx: stop ignoring malformed oid fanout chunk
 + t: add library for munging chunk-format files
 + chunk-format: note that pair_chunk() is unsafe
 (this branch is used by tb/pair-chunk-expect-size.)

 The codepaths that read "chunk" formatted files have been corrected
 to pay attention to the chunk size and notice broken files.

 Will merge to 'master'.
 source: <20231009205544.GA3281950@coredump.intra.peff.net>


* ps/rewritten-is-per-worktree-doc (2023-10-10) 1 commit
  (merged to 'next' on 2023-10-12 at 501b960e8c)
 + doc/git-worktree: mention "refs/rewritten" as per-worktree refs

 Doc update.

 Will merge to 'master'.
 source: <985ac850eb6e60ae76601acc8bfbcd56f99348b4.1696935657.git.ps@pks.im>


* sn/typo-grammo-phraso-fixes (2023-10-05) 5 commits
  (merged to 'next' on 2023-10-18 at 575d767f9a)
 + t/README: fix multi-prerequisite example
 + doc/gitk: s/sticked/stuck/
 + git-jump: admit to passing merge mode args to ls-files
 + doc/diff-options: improve wording of the log.diffMerges mention
 + doc: fix some typos, grammar and wording issues

 Many typos, ungrammatical sentences and wrong phrasing have been
 fixed.

 Will merge to 'master'.
 source: <20231003082107.3002173-1-stepnem@smrk.net>


* so/diff-merges-dd (2023-10-09) 3 commits
  (merged to 'next' on 2023-10-16 at 71b5e29625)
 + completion: complete '--dd'
 + diff-merges: introduce '--dd' option
 + diff-merges: improve --diff-merges documentation

 "git log" and friends learned "--dd" that is a short-hand for
 "--diff-merges=first-parent -p".

 Will merge to 'master'.
 source: <20231009160535.236523-1-sorganov@gmail.com>


* vd/loose-ref-iteration-optimization (2023-10-09) 4 commits
  (merged to 'next' on 2023-10-12 at 99e2f83855)
 + files-backend.c: avoid stat in 'loose_fill_ref_dir'
 + dir.[ch]: add 'follow_symlink' arg to 'get_dtype'
 + dir.[ch]: expose 'get_dtype'
 + ref-cache.c: fix prefix matching in ref iteration

 The code to iterate over loose references have been optimized to
 reduce the number of lstat() system calls.

 Will merge to 'master'.
 source: <pull.1594.v2.git.1696888736.gitgitgadget@gmail.com>


* jc/update-list-references-to-lore (2023-10-06) 1 commit
 - doc: update list archive reference to use lore.kernel.org

 Doc update.

 Needs review.
 source: <xmqq7cnz741s.fsf@gitster.g>


* cc/git-replay (2023-10-10) 14 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: change rev walking options
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 Introduce "git replay", a tool meant on the server side without
 working tree to recreate a history.

 Needs (hopefully final and quick) review.
 source: <20231010123847.2777056-1-christian.couder@gmail.com>


* ak/color-decorate-symbols (2023-10-03) 1 commit
 - decorate: add color.decorate.symbols config option

 A new config for coloring.

 Needs review.
 source: <20231003205442.22963-1-andy.koppe@gmail.com>


* jc/attr-tree-config (2023-10-13) 2 commits
 - attr: add attr.tree for setting the treeish to read attributes from
 - attr: read attributes from HEAD when bare repo

 The attribute subsystem learned to honor `attr.tree` configuration
 that specifies which tree to read the .gitattributes files from.

 Will merge to 'next'?
 source: <pull.1577.v5.git.git.1697218770.gitgitgadget@gmail.com>


* js/update-urls-in-doc-and-comment (2023-09-26) 4 commits
 - doc: refer to internet archive
 - doc: update links for andre-simon.de
 - doc: update links to current pages
 - doc: switch links to https

 Stale URLs have been updated to their current counterparts (or
 archive.org) and HTTP links are replaced with working HTTPS links.

 Needs review.
 source: <pull.1589.v2.git.1695553041.gitgitgadget@gmail.com>


* la/trailer-cleanups (2023-09-26) 4 commits
 - trailer: only use trailer_block_* variables if trailers were found
 - trailer: use offsets for trailer_start/trailer_end
 - trailer: find the end of the log message
 - commit: ignore_non_trailer computes number of bytes to ignore

 Code clean-up.

 Needs review.
 source: <pull.1563.v4.git.1695709372.gitgitgadget@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2023-10-04) 4 commits
 - archive: support remote archive from stateless transport
 - transport-helper: call do_take_over() in connect_helper
 - transport-helper: call do_take_over() in process_connect
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Needs review.
 source: <cover.1696432593.git.zhiyou.jx@alibaba-inc.com>


* jx/sideband-chomp-newline-fix (2023-10-04) 3 commits
 - pkt-line: do not chomp newlines for sideband messages
 - pkt-line: memorize sideband fragment in reader
 - test-pkt-line: add option parser for unpack-sideband

 Sideband demultiplexer fixes.

 Needs review.
 source: <cover.1696425168.git.zhiyou.jx@alibaba-inc.com>


* ty/merge-tree-strategy-options (2023-10-11) 2 commits
  (merged to 'next' on 2023-10-12 at 9b873601df)
 + merge: introduce {copy|clear}_merge_options()
  (merged to 'next' on 2023-09-29 at aa65b54416)
 + merge-tree: add -X strategy option

 "git merge-tree" learned to take strategy backend specific options
 via the "-X" option, like "git merge" does.

 Will merge to 'master'.
 source: <pull.1565.v6.git.1695522222723.gitgitgadget@gmail.com>


* js/config-parse (2023-09-21) 5 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split do_event() into start and flush operations
 - config: split out config_parse_options

 The parsing routines for the configuration files have been split
 into a separate file.

 Needs review.
 source: <cover.1695330852.git.steadmon@google.com>


* jc/fake-lstat (2023-09-15) 1 commit
 - cache: add fake_lstat()
 (this branch is used by jc/diff-cached-fsmonitor-fix.)

 A new helper to let us pretend that we called lstat() when we know
 our cache_entry is up-to-date via fsmonitor.

 Needs review.
 source: <xmqqcyykig1l.fsf@gitster.g>


* rs/parse-options-value-int (2023-09-18) 2 commits
 - parse-options: use and require int pointer for OPT_CMDMODE
 - parse-options: add int value pointer to struct option

 A bit of type safety for the "value" pointer used in the
 parse-options API.

 Not ready yet.
 cf. <4014e490-c6c1-453d-b0ed-645220e3e614@web.de>
 source: <e6d8a291-03de-cfd3-3813-747fc2cad145@web.de>


* js/doc-unit-tests (2023-10-16) 5 commits
 - fixup! ci: run unit tests in CI
 - fixup! unit tests: add TAP unit test framework
 - ci: run unit tests in CI
 - unit tests: add TAP unit test framework
 - unit tests: add a project plan document
 (this branch is used by js/doc-unit-tests-with-cmake.)

 Process to add some form of low-level unit tests has started.

 Expecting a (hopefully final and minor) reroll.
 cf. <20231016134421.21659-1-phillip.wood123@gmail.com>
 source: <cover.1696889529.git.steadmon@google.com>


* js/doc-unit-tests-with-cmake (2023-10-16) 7 commits
 - cmake: handle also unit tests
 - cmake: use test names instead of full paths
 - cmake: fix typo in variable name
 - artifacts-tar: when including `.dll` files, don't forget the unit-tests
 - unit-tests: do show relative file paths
 - unit-tests: do not mistake `.pdb` files for being executable
 - cmake: also build unit tests
 (this branch uses js/doc-unit-tests.)

 Update the base topic to work with CMake builds.

 Needs review.
 source: <pull.1579.v3.git.1695640836.gitgitgadget@gmail.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-10-16) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 source: <2e24ca9b-9c5f-f4df-b9f8-6574a714dfb2@gmail.com>

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

* jc/doc-unit-tests-fixup (2023-10-11) 1 commit
 . SQUASH???
 (this branch uses js/doc-unit-tests and js/doc-unit-tests-with-cmake.)

 Quick fix for jc/doc-unit-tests topic to unbreak CI running on 'seen'.

 Superseded by a fixup! in the base series.
 source: <xmqqwmvskf8t.fsf@gitster.g>


^ permalink raw reply	[relevance 24%]

* What's cooking in git.git (Oct 2023, #06; Fri, 13)
@ 2023-10-14 20:12 22% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-10-14 20:12 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

There are too many topics marked with "Needs review" label.  I can
help reviewing some of them myself, but obviously it will not scale.

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']

* ar/diff-index-merge-base-fix (2023-10-02) 1 commit
  (merged to 'next' on 2023-10-06 at 0ff4dfc0e1)
 + diff: fix --merge-base with annotated tags

 "git diff --merge-base X other args..." insisted that X must be a
 commit and errored out when given an annotated tag that peels to a
 commit, but we only need it to be a committish.  This has been
 corrected.
 source: <20231001151845.3621551-1-hi@alyssa.is>


* ds/mailmap-entry-update (2023-10-12) 1 commit
  (merged to 'next' on 2023-10-12 at 3de300ac62)
 + mailmap: change primary address for Derrick Stolee

 Update mailmap entry for Derrick.

 Will merge to 'master' immediately.
 source: <pull.1592.git.1697131834003.gitgitgadget@gmail.com>


* jk/commit-graph-leak-fixes (2023-10-03) 10 commits
  (merged to 'next' on 2023-10-06 at 5d202ef8b9)
 + commit-graph: clear oidset after finishing write
 + commit-graph: free write-context base_graph_name during cleanup
 + commit-graph: free write-context entries before overwriting
 + commit-graph: free graph struct that was not added to chain
 + commit-graph: delay base_graph assignment in add_graph_to_chain()
 + commit-graph: free all elements of graph chain
 + commit-graph: move slab-clearing to close_commit_graph()
 + merge: free result of repo_get_merge_bases()
 + commit-reach: free temporary list in get_octopus_merge_bases()
 + t6700: mark test as leak-free

 Leakfix.
 source: <20231003202504.GA7697@coredump.intra.peff.net>


* jk/decoration-and-other-leak-fixes (2023-10-05) 3 commits
  (merged to 'next' on 2023-10-06 at 5fc05c94dc)
 + daemon: free listen_addr before returning
 + revision: clear decoration structs during release_revisions()
 + decorate: add clear_decoration() function

 Leakfix.
 source: <20231005212802.GA982892@coredump.intra.peff.net>


* js/submodule-fix-misuse-of-path-and-name (2023-10-03) 6 commits
  (merged to 'next' on 2023-10-06 at 1054b6e752)
 + t7420: test that we correctly handle renamed submodules
 + t7419: test that we correctly handle renamed submodules
 + t7419, t7420: use test_cmp_config instead of grepping .gitmodules
 + t7419: actually test the branch switching
 + submodule--helper: return error from set-url when modifying failed
 + submodule--helper: use submodule_from_path in set-{url,branch}

 In .gitmodules files, submodules are keyed by their names, and the
 path to the submodule whose name is $name is specified by the
 submodule.$name.path variable.  There were a few codepaths that
 mixed the name and path up when consulting the submodule database,
 which have been corrected.  It took long for these bugs to be found
 as the name of a submodule initially is the same as its path, and
 the problem does not surface until it is moved to a different path,
 which apparently happens very rarely.
 source: <0a0a157f88321d25fdb0be771a454b3410a449f3.camel@archlinux.org>


* la/trailer-test-and-doc-updates (2023-09-07) 13 commits
  (merged to 'next' on 2023-10-06 at 69fef35819)
 + trailer doc: <token> is a <key> or <keyAlias>, not both
 + trailer doc: separator within key suppresses default separator
 + trailer doc: emphasize the effect of configuration variables
 + trailer --unfold help: prefer "reformat" over "join"
 + trailer --parse docs: add explanation for its usefulness
 + trailer --only-input: prefer "configuration variables" over "rules"
 + trailer --parse help: expose aliased options
 + trailer --no-divider help: describe usual "---" meaning
 + trailer: trailer location is a place, not an action
 + trailer doc: narrow down scope of --where and related flags
 + trailer: add tests to check defaulting behavior with --no-* flags
 + trailer test description: this tests --where=after, not --where=before
 + trailer tests: make test cases self-contained

 Test coverage for trailers has been improved.
 source: <pull.1564.v3.git.1694125209.gitgitgadget@gmail.com>

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

* tb/format-pack-doc-update (2023-10-12) 2 commits
 - Documentation/gitformat-pack.txt: fix incorrect MIDX documentation
 - Documentation/gitformat-pack.txt: fix typo

 Doc update.

 Expecting a reroll.
 cf. <xmqq5y3b4id2.fsf@gitster.g>
 source: <cover.1697144959.git.me@ttaylorr.com>


* ps/do-not-trust-commit-graph-blindly-for-existence (2023-10-13) 1 commit
 - commit: detect commits that exist in commit-graph but not in the ODB
 (this branch is used by kn/rev-list-missing-fix.)

 The codepath to traverse the commit-graph learned to notice that a
 commit is missing (e.g., corrupt repository lost an object), even
 though it knows something about the commit (like its parents) from
 what is in commit-graph.

 Comments?
 source: <b0bf576c51a706367a758b8e30eca37edb9c2734.1697200576.git.ps@pks.im>


* tb/pair-chunk-expect-size (2023-10-13) 8 commits
 - midx: read `OOFF` chunk with `pair_chunk_expect()`
 - midx: read `OIDL` chunk with `pair_chunk_expect()`
 - midx: read `OIDF` chunk with `pair_chunk_expect()`
 - commit-graph: read `BIDX` chunk with `pair_chunk_expect()`
 - commit-graph: read `GDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `CDAT` chunk with `pair_chunk_expect()`
 - commit-graph: read `OIDF` chunk with `pair_chunk_expect()`
 - chunk-format: introduce `pair_chunk_expect()` helper
 (this branch uses jk/chunk-bounds.)

 Code clean-up for jk/chunk-bounds topic.

 Comments?
 source: <45cac29403e63483951f7766c6da3c022c68d9f0.1697225110.git.me@ttaylorr.com>
 source: <cover.1697225110.git.me@ttaylorr.com>

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

* pw/rebase-sigint (2023-09-07) 1 commit
 - rebase -i: ignore signals when forking subprocesses

 If the commit log editor or other external programs (spawned via
 "exec" insn in the todo list) receive internactive signal during
 "git rebase -i", it caused not just the spawned program but the
 "Git" process that spawned them, which is often not what the end
 user intended.  "git" learned to ignore SIGINT and SIGQUIT while
 waiting for these subprocesses.

 Expecting a reroll.
 cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
 source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
 - diff-lib: fix check_removed() when fsmonitor is active
 - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
 - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
 (this branch uses jc/fake-lstat.)

 The optimization based on fsmonitor in the "diff --cached"
 codepath is resurrected with the "fake-lstat" introduced earlier.

 It is unknown if the optimization is worth resurrecting, but in case...
 source: <xmqqr0n0h0tw.fsf@gitster.g>

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

* jc/fail-stash-to-store-non-stash (2023-10-11) 1 commit
 - stash: be careful what we store

 Feeding "git stash store" with a random commit that was not created
 by "git stash create" now errors out.

 Will merge to 'next'?
 source: <xmqqbkd4lwj0.fsf_-_@gitster.g>


* jc/doc-unit-tests-fixup (2023-10-11) 1 commit
 - SQUASH???
 (this branch uses js/doc-unit-tests and js/doc-unit-tests-with-cmake.)

 Quick fix for jc/doc-unit-tests topic to unbreak CI running on 'seen'.
 source: <xmqqwmvskf8t.fsf@gitster.g>


* bc/racy-4gb-files (2023-10-13) 2 commits
 - Prevent git from rehashing 4GiB files
 - t: add a test helper to truncate files

 The index file has room only for lower 32-bit of the file size in
 the cached stat information, which means cached stat information
 will have 0 in its sd_size member for a file whose size is multiple
 of 4GiB.  This is mistaken for a racily clean path.  Avoid it by
 storing a bogus sd_size value instead for such files.

 Will merge to 'next'?
 source: <20231012160930.330618-1-sandals@crustytoothpaste.net>


* jc/grep-f-relative-to-cwd (2023-10-12) 1 commit
 - grep: -f <path> is relative to $cwd

 "cd sub && git grep -f patterns" tried to read "patterns" file at
 the top level of the working tree; it has been corrected to read
 "sub/patterns" instead.

 Needs review.
 source: <xmqqedhzg37z.fsf@gitster.g>


* tb/path-filter-fix (2023-10-10) 17 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Needs (hopefully final and quick) review.
 source: <cover.1696969994.git.me@ttaylorr.com>


* ak/pretty-decorate-more-fix (2023-10-09) 1 commit
  (merged to 'next' on 2023-10-12 at 3cbb4c2268)
 + pretty: fix ref filtering for %(decorate) formats

 Unlike "git log --pretty=%D", "git log --pretty="%(decorate)" did
 not auto-initialize the decoration subsystem, which has been
 corrected.

 Will merge to 'master'.
 source: <20231008202307.1568477-1-andy.koppe@gmail.com>


* en/docfixes (2023-10-09) 25 commits
 - documentation: add missing parenthesis
 - documentation: add missing quotes
 - documentation: add missing fullstops
 - documentation: add some commas where they are helpful
 - documentation: fix whitespace issues
 - documentation: fix capitalization
 - documentation: fix punctuation
 - documentation: use clearer prepositions
 - documentation: add missing hyphens
 - documentation: remove unnecessary hyphens
 - documentation: add missing article
 - documentation: fix choice of article
 - documentation: whitespace is already generally plural
 - documentation: fix singular vs. plural
 - documentation: fix verb vs. noun
 - documentation: fix adjective vs. noun
 - documentation: fix verb tense
 - documentation: employ consistent verb tense for a list
 - documentation: fix subject/verb agreement
 - documentation: remove extraneous words
 - documentation: add missing words
 - documentation: fix apostrophe usage
 - documentation: fix typos
 - documentation: fix small error
 - documentation: wording improvements

 Documentation typo and grammo fixes.

 Needs review.
 source: <pull.1595.git.1696747527.gitgitgadget@gmail.com>


* kn/rev-list-missing-fix (2023-10-13) 4 commits
 - rev-list: add commit object support in `--missing` option
 - rev-list: move `show_commit()` to the bottom
 - revision: rename bit to `do_not_die_on_missing_objects`
 - Merge branch 'ps/do-not-trust-commit-graph-blindly-for-existence' into kn/rev-list-missing-fix
 (this branch uses ps/do-not-trust-commit-graph-blindly-for-existence.)

 "git rev-list --missing" did not work for missing commit objects,
 which has been corrected.

 Needs review.
 source: <20231009105528.17777-1-karthik.188@gmail.com>


* sn/cat-file-doc-update (2023-10-09) 1 commit
  (merged to 'next' on 2023-10-10 at 6719ba7bd4)
 + doc/cat-file: make synopsis and description less confusing

 "git cat-file" documentation updates.

 Will merge to 'master'.
 source: <20231009175604.2361700-1-stepnem@smrk.net>


* xz/commit-title-soft-limit-doc (2023-10-09) 1 commit
  (merged to 'next' on 2023-10-10 at 0bf3d9ed51)
 + doc: correct the 50 characters soft limit (+)

 Doc update.

 Will merge to 'master'.
 source: <pull.1585.v2.git.git.1696778367151.gitgitgadget@gmail.com>


* jk/chunk-bounds (2023-10-09) 20 commits
  (merged to 'next' on 2023-10-10 at 21139603ce)
 + chunk-format: drop pair_chunk_unsafe()
 + commit-graph: detect out-of-order BIDX offsets
 + commit-graph: check bounds when accessing BIDX chunk
 + commit-graph: check bounds when accessing BDAT chunk
 + commit-graph: bounds-check generation overflow chunk
 + commit-graph: check size of generations chunk
 + commit-graph: bounds-check base graphs chunk
 + commit-graph: detect out-of-bounds extra-edges pointers
 + commit-graph: check size of commit data chunk
 + midx: check size of revindex chunk
 + midx: bounds-check large offset chunk
 + midx: check size of object offset chunk
 + midx: enforce chunk alignment on reading
 + midx: check size of pack names chunk
 + commit-graph: check consistency of fanout table
 + midx: check size of oid lookup chunk
 + commit-graph: check size of oid fanout chunk
 + midx: stop ignoring malformed oid fanout chunk
 + t: add library for munging chunk-format files
 + chunk-format: note that pair_chunk() is unsafe
 (this branch is used by tb/pair-chunk-expect-size.)

 The codepaths that read "chunk" formatted files have been corrected
 to pay attention to the chunk size and notice broken files.

 Will merge to 'master'.
 source: <20231009205544.GA3281950@coredump.intra.peff.net>


* ps/rewritten-is-per-worktree-doc (2023-10-10) 1 commit
  (merged to 'next' on 2023-10-12 at 501b960e8c)
 + doc/git-worktree: mention "refs/rewritten" as per-worktree refs

 Doc update.

 Will merge to 'master'.
 source: <985ac850eb6e60ae76601acc8bfbcd56f99348b4.1696935657.git.ps@pks.im>


* jc/merge-ort-attr-index-fix (2023-10-09) 1 commit
  (merged to 'next' on 2023-10-10 at b139b87502)
 + merge-ort: initialize repo in index state

 Fix "git merge-tree" to stop segfaulting when the --attr-source
 option is used.

 Will merge to 'master'.
 source: <pull.1583.v3.git.git.1696857660374.gitgitgadget@gmail.com>


* sn/typo-grammo-phraso-fixes (2023-10-05) 5 commits
 - t/README: fix multi-prerequisite example
 - doc/gitk: s/sticked/stuck/
 - git-jump: admit to passing merge mode args to ls-files
 - doc/diff-options: improve wording of the log.diffMerges mention
 - doc: fix some typos, grammar and wording issues

 Many typos, ungrammatical sentences and wrong phrasing have been
 fixed.

 Needs review.
 source: <20231003082107.3002173-1-stepnem@smrk.net>


* so/diff-merges-dd (2023-10-09) 3 commits
 - completion: complete '--dd'
 - diff-merges: introduce '--dd' option
 - diff-merges: improve --diff-merges documentation

 "git log" and friends learned "--dd" that is a short-hand for
 "--diff-merges=first-parent -p".

 Will merge to 'next'?
 source: <20231009160535.236523-1-sorganov@gmail.com>


* vd/loose-ref-iteration-optimization (2023-10-09) 4 commits
  (merged to 'next' on 2023-10-12 at 99e2f83855)
 + files-backend.c: avoid stat in 'loose_fill_ref_dir'
 + dir.[ch]: add 'follow_symlink' arg to 'get_dtype'
 + dir.[ch]: expose 'get_dtype'
 + ref-cache.c: fix prefix matching in ref iteration

 The code to iterate over loose references have been optimized to
 reduce the number of lstat() system calls.

 Will merge to 'master'.
 source: <pull.1594.v2.git.1696888736.gitgitgadget@gmail.com>


* jc/update-list-references-to-lore (2023-10-06) 1 commit
 - doc: update list archive reference to use lore.kernel.org

 Doc update.

 Needs review.
 source: <xmqq7cnz741s.fsf@gitster.g>


* cc/git-replay (2023-10-10) 14 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: change rev walking options
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 Introduce "git replay", a tool meant on the server side without
 working tree to recreate a history.

 Needs (hopefully final and quick) review.
 source: <20231010123847.2777056-1-christian.couder@gmail.com>


* tb/repack-max-cruft-size (2023-10-09) 5 commits
  (merged to 'next' on 2023-10-09 at 38f039e880)
 + repack: free existing_cruft array after use
  (merged to 'next' on 2023-10-06 at b3ca6df3b9)
 + builtin/repack.c: avoid making cruft packs preferred
 + builtin/repack.c: implement support for `--max-cruft-size`
 + builtin/repack.c: parse `--max-pack-size` with OPT_MAGNITUDE
 + t7700: split cruft-related tests to t7704

 "git repack" learned "--max-cruft-size" to prevent cruft packs from
 growing without bounds.

 Will merge to 'master'.
 source: <cover.1696293862.git.me@ttaylorr.com>
 source: <20231007172031.GA1524950@coredump.intra.peff.net>
 source: <035393935108d02aaf8927189b05102f4f74f340.1696370003.git.me@ttaylorr.com>


* ak/color-decorate-symbols (2023-10-03) 1 commit
 - decorate: add color.decorate.symbols config option

 A new config for coloring.

 Needs review.
 source: <20231003205442.22963-1-andy.koppe@gmail.com>


* jc/attr-tree-config (2023-10-13) 2 commits
 - attr: add attr.tree for setting the treeish to read attributes from
 - attr: read attributes from HEAD when bare repo

 The attribute subsystem learned to honor `attr.tree` configuration
 that specifies which tree to read the .gitattributes files from.

 Will merge to 'next'?
 source: <pull.1577.v5.git.git.1697218770.gitgitgadget@gmail.com>


* js/update-urls-in-doc-and-comment (2023-09-26) 4 commits
 - doc: refer to internet archive
 - doc: update links for andre-simon.de
 - doc: update links to current pages
 - doc: switch links to https

 Stale URLs have been updated to their current counterparts (or
 archive.org) and HTTP links are replaced with working HTTPS links.

 Needs review.
 source: <pull.1589.v2.git.1695553041.gitgitgadget@gmail.com>


* la/trailer-cleanups (2023-09-26) 4 commits
 - trailer: only use trailer_block_* variables if trailers were found
 - trailer: use offsets for trailer_start/trailer_end
 - trailer: find the end of the log message
 - commit: ignore_non_trailer computes number of bytes to ignore

 Code clean-up.

 Needs review.
 source: <pull.1563.v4.git.1695709372.gitgitgadget@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2023-10-04) 4 commits
 - archive: support remote archive from stateless transport
 - transport-helper: call do_take_over() in connect_helper
 - transport-helper: call do_take_over() in process_connect
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Needs review.
 source: <cover.1696432593.git.zhiyou.jx@alibaba-inc.com>


* jx/sideband-chomp-newline-fix (2023-10-04) 3 commits
 - pkt-line: do not chomp newlines for sideband messages
 - pkt-line: memorize sideband fragment in reader
 - test-pkt-line: add option parser for unpack-sideband

 Sideband demultiplexer fixes.

 Needs review.
 source: <cover.1696425168.git.zhiyou.jx@alibaba-inc.com>


* ty/merge-tree-strategy-options (2023-10-11) 2 commits
  (merged to 'next' on 2023-10-12 at 9b873601df)
 + merge: introduce {copy|clear}_merge_options()
  (merged to 'next' on 2023-09-29 at aa65b54416)
 + merge-tree: add -X strategy option

 "git merge-tree" learned to take strategy backend specific options
 via the "-X" option, like "git merge" does.

 Will merge to 'master'.
 source: <pull.1565.v6.git.1695522222723.gitgitgadget@gmail.com>


* js/config-parse (2023-09-21) 5 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split do_event() into start and flush operations
 - config: split out config_parse_options

 The parsing routines for the configuration files have been split
 into a separate file.

 Needs review.
 source: <cover.1695330852.git.steadmon@google.com>


* jc/fake-lstat (2023-09-15) 1 commit
 - cache: add fake_lstat()
 (this branch is used by jc/diff-cached-fsmonitor-fix.)

 A new helper to let us pretend that we called lstat() when we know
 our cache_entry is up-to-date via fsmonitor.

 Needs review.
 source: <xmqqcyykig1l.fsf@gitster.g>


* rs/parse-options-value-int (2023-09-18) 2 commits
 - parse-options: use and require int pointer for OPT_CMDMODE
 - parse-options: add int value pointer to struct option

 A bit of type safety for the "value" pointer used in the
 parse-options API.

 Not ready yet.
 cf. <4014e490-c6c1-453d-b0ed-645220e3e614@web.de>
 source: <e6d8a291-03de-cfd3-3813-747fc2cad145@web.de>


* js/doc-unit-tests (2023-10-09) 3 commits
 - ci: run unit tests in CI
 - unit tests: add TAP unit test framework
 - unit tests: add a project plan document
 (this branch is used by jc/doc-unit-tests-fixup and js/doc-unit-tests-with-cmake.)

 Process to add some form of low-level unit tests has started.

 Expecting a reroll to address CI breakage.
 source: <cover.1696889529.git.steadmon@google.com>


* js/doc-unit-tests-with-cmake (2023-10-09) 7 commits
 - cmake: handle also unit tests
 - cmake: use test names instead of full paths
 - cmake: fix typo in variable name
 - artifacts-tar: when including `.dll` files, don't forget the unit-tests
 - unit-tests: do show relative file paths
 - unit-tests: do not mistake `.pdb` files for being executable
 - cmake: also build unit tests
 (this branch is used by jc/doc-unit-tests-fixup; uses js/doc-unit-tests.)

 Update the base topic to work with CMake builds.

 Needs review.
 source: <pull.1579.v3.git.1695640836.gitgitgadget@gmail.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-08-01) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 cf. <xmqqtttia3vn.fsf@gitster.g>
 source: <48745298-f12b-8efb-4e48-90d2c22a8349@gmail.com>

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

* tb/ci-coverity (2023-09-21) 1 commit
 . .github/workflows: add coverity action

 GitHub CI workflow has learned to trigger Coverity check.

 Superseded by the js/ci-coverity topic.
 source: <b23951c569660e1891a7fb3ad2c2ea1952897bd7.1695332105.git.me@ttaylorr.com>


* cw/git-std-lib (2023-09-11) 7 commits
 . SQUASH???
 . git-std-lib: add test file to call git-std-lib.a functions
 . git-std-lib: introduce git standard library
 . parse: create new library for parsing strings and env values
 . config: correct bad boolean env value error message
 . wrapper: remove dependency to Git-specific internal file
 . hex-ll: split out functionality from hex

 Another libification effort.

 Superseded by the cw/prelim-cleanup topic.
 cf. <xmqqy1hfrk6p.fsf@gitster.g>
 cf. <20230915183927.1597414-1-jonathantanmy@google.com>
 source: <20230908174134.1026823-1-calvinwan@google.com>


* so/diff-merges-d (2023-09-11) 2 commits
 - diff-merges: introduce '-d' option
 - diff-merges: improve --diff-merges documentation

 Superseded by the so/diff-merges-dd topic.
 source: <20230909125446.142715-1-sorganov@gmail.com>


* kn/rev-list-ignore-missing-links (2023-09-20) 1 commit
 . revision: add `--ignore-missing-links` user option

 Surface the .ignore_missing_links bit that stops the revision
 traversal from stopping and dying when encountering a missing
 object to a new command line option of "git rev-list", so that the
 objects that are required but are missing can be enumerated.

 Superseded by kn/rev-list-missing-fix
 source: <20230920104507.21664-1-karthik.188@gmail.com>


^ permalink raw reply	[relevance 22%]

* What's cooking in git.git (Oct 2023, #05; Thu, 12)
@ 2023-10-12 23:21 22% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-10-12 23:21 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

There are too many topics marked with "Needs review" label.  I can
help reviewing some of them myself, but obviously it will not scale.

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']

* jm/git-status-submodule-states-docfix (2023-10-04) 1 commit
  (merged to 'next' on 2023-10-04 at 520b7711a4)
 + git-status.txt: fix minor asciidoc format issue

 Docfix.
 source: <pull.1591.v3.git.1696386165616.gitgitgadget@gmail.com>


* js/ci-coverity (2023-10-05) 6 commits
  (merged to 'next' on 2023-10-05 at 253788f0d1)
 + coverity: detect and report when the token or project is incorrect
 + coverity: allow running on macOS
 + coverity: support building on Windows
 + coverity: allow overriding the Coverity project
 + coverity: cache the Coverity Build Tool
 + ci: add a GitHub workflow to submit Coverity scans

 GitHub CI workflow has learned to trigger Coverity check.
 source: <pull.1588.v2.git.1695642662.gitgitgadget@gmail.com>


* rs/parse-opt-ctx-cleanup (2023-10-03) 1 commit
  (merged to 'next' on 2023-10-04 at d5d0a2ce3b)
 + parse-options: drop unused parse_opt_ctx_t member

 Code clean-up.
 source: <ebcaa9e1-d306-4c93-adec-3f35d7040531@web.de>

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

* jc/fail-stash-to-store-non-stash (2023-10-11) 1 commit
 - stash: be careful what we store

 Feeding "git stash store" with a random commit that was not created
 by "git stash create" now errors out.

 Will merge to 'next'?
 source: <xmqqbkd4lwj0.fsf_-_@gitster.g>


* jc/doc-unit-tests-fixup (2023-10-11) 1 commit
 - SQUASH???
 (this branch uses js/doc-unit-tests and js/doc-unit-tests-with-cmake.)

 Quick fix for jc/doc-unit-tests topic to unbreak CI running on 'seen'.
 source: <xmqqwmvskf8t.fsf@gitster.g>


* bc/racy-4gb-files (2023-10-12) 2 commits
 - Prevent git from rehashing 4GiB files
 - t: add a test helper to truncate files

 The index file has room only for lower 32-bit of the file size in
 the cached stat information, which means cached stat information
 will have 0 in its sd_size member for a file whose size is multiple
 of 4GiB.  This is mistaken for a racily clean path.  Avoid it by
 storing a bogus sd_size value instead for such files.

 Waiting for review response.
 source: <20231012160930.330618-1-sandals@crustytoothpaste.net>


* ds/mailmap-entry-update (2023-10-12) 1 commit
  (merged to 'next' on 2023-10-12 at 3de300ac62)
 + mailmap: change primary address for Derrick Stolee

 Update mailmap entry for Derrick.

 Will merge to 'master' immediately.
 source: <pull.1592.git.1697131834003.gitgitgadget@gmail.com>


* jc/grep-f-relative-to-cwd (2023-10-12) 1 commit
 - grep: -f <path> is relative to $cwd

 "cd sub && git grep -f patterns" tried to read "patterns" file at
 the top level of the working tree; it has been corrected to read
 "sub/patterns" instead.

 Needs review.
 source: <xmqqedhzg37z.fsf@gitster.g>

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

* pw/rebase-sigint (2023-09-07) 1 commit
 - rebase -i: ignore signals when forking subprocesses

 If the commit log editor or other external programs (spawned via
 "exec" insn in the todo list) receive internactive signal during
 "git rebase -i", it caused not just the spawned program but the
 "Git" process that spawned them, which is often not what the end
 user intended.  "git" learned to ignore SIGINT and SIGQUIT while
 waiting for these subprocesses.

 Expecting a reroll.
 cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
 source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
 - diff-lib: fix check_removed() when fsmonitor is active
 - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
 - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
 (this branch uses jc/fake-lstat.)

 The optimization based on fsmonitor in the "diff --cached"
 codepath is resurrected with the "fake-lstat" introduced earlier.

 It is unknown if the optimization is worth resurrecting, but in case...
 source: <xmqqr0n0h0tw.fsf@gitster.g>

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

* tb/path-filter-fix (2023-10-10) 17 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT
 - commit-graph: ensure Bloom filters are read with consistent settings
 - revision.c: consult Bloom filters for root commits
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Needs (hopefully final and quick) review.
 source: <cover.1696969994.git.me@ttaylorr.com>


* ak/pretty-decorate-more-fix (2023-10-09) 1 commit
  (merged to 'next' on 2023-10-12 at 3cbb4c2268)
 + pretty: fix ref filtering for %(decorate) formats

 Unlike "git log --pretty=%D", "git log --pretty="%(decorate)" did
 not auto-initialize the decoration subsystem, which has been
 corrected.

 Will merge to 'master'.
 source: <20231008202307.1568477-1-andy.koppe@gmail.com>


* en/docfixes (2023-10-09) 25 commits
 - documentation: add missing parenthesis
 - documentation: add missing quotes
 - documentation: add missing fullstops
 - documentation: add some commas where they are helpful
 - documentation: fix whitespace issues
 - documentation: fix capitalization
 - documentation: fix punctuation
 - documentation: use clearer prepositions
 - documentation: add missing hyphens
 - documentation: remove unnecessary hyphens
 - documentation: add missing article
 - documentation: fix choice of article
 - documentation: whitespace is already generally plural
 - documentation: fix singular vs. plural
 - documentation: fix verb vs. noun
 - documentation: fix adjective vs. noun
 - documentation: fix verb tense
 - documentation: employ consistent verb tense for a list
 - documentation: fix subject/verb agreement
 - documentation: remove extraneous words
 - documentation: add missing words
 - documentation: fix apostrophe usage
 - documentation: fix typos
 - documentation: fix small error
 - documentation: wording improvements

 Documentation typo and grammo fixes.

 Needs review.
 source: <pull.1595.git.1696747527.gitgitgadget@gmail.com>


* kn/rev-list-missing-fix (2023-10-09) 3 commits
 . rev-list: add commit object support in `--missing` option
 . rev-list: move `show_commit()` to the bottom
 . revision: rename bit to `do_not_die_on_missing_objects`

 "git rev-list --missing" did not work for missing commit objects,
 which has been corrected.

 Needs review.
 Seems to break CI job with extra environment settings.
 cf. <xmqqil7etndo.fsf@gitster.g>
 source: <20231009105528.17777-1-karthik.188@gmail.com>


* sn/cat-file-doc-update (2023-10-09) 1 commit
  (merged to 'next' on 2023-10-10 at 6719ba7bd4)
 + doc/cat-file: make synopsis and description less confusing

 "git cat-file" documentation updates.

 Will merge to 'master'.
 source: <20231009175604.2361700-1-stepnem@smrk.net>


* xz/commit-title-soft-limit-doc (2023-10-09) 1 commit
  (merged to 'next' on 2023-10-10 at 0bf3d9ed51)
 + doc: correct the 50 characters soft limit (+)

 Doc update.

 Will merge to 'master'.
 source: <pull.1585.v2.git.git.1696778367151.gitgitgadget@gmail.com>


* jk/chunk-bounds (2023-10-09) 20 commits
  (merged to 'next' on 2023-10-10 at 21139603ce)
 + chunk-format: drop pair_chunk_unsafe()
 + commit-graph: detect out-of-order BIDX offsets
 + commit-graph: check bounds when accessing BIDX chunk
 + commit-graph: check bounds when accessing BDAT chunk
 + commit-graph: bounds-check generation overflow chunk
 + commit-graph: check size of generations chunk
 + commit-graph: bounds-check base graphs chunk
 + commit-graph: detect out-of-bounds extra-edges pointers
 + commit-graph: check size of commit data chunk
 + midx: check size of revindex chunk
 + midx: bounds-check large offset chunk
 + midx: check size of object offset chunk
 + midx: enforce chunk alignment on reading
 + midx: check size of pack names chunk
 + commit-graph: check consistency of fanout table
 + midx: check size of oid lookup chunk
 + commit-graph: check size of oid fanout chunk
 + midx: stop ignoring malformed oid fanout chunk
 + t: add library for munging chunk-format files
 + chunk-format: note that pair_chunk() is unsafe

 The codepaths that read "chunk" formatted files have been corrected
 to pay attention to the chunk size and notice broken files.

 Will merge to 'master'.
 source: <20231009205544.GA3281950@coredump.intra.peff.net>


* ps/rewritten-is-per-worktree-doc (2023-10-10) 1 commit
  (merged to 'next' on 2023-10-12 at 501b960e8c)
 + doc/git-worktree: mention "refs/rewritten" as per-worktree refs

 Doc update.

 Will merge to 'master'.
 source: <985ac850eb6e60ae76601acc8bfbcd56f99348b4.1696935657.git.ps@pks.im>


* jc/merge-ort-attr-index-fix (2023-10-09) 1 commit
  (merged to 'next' on 2023-10-10 at b139b87502)
 + merge-ort: initialize repo in index state

 Fix "git merge-tree" to stop segfaulting when the --attr-source
 option is used.

 Will merge to 'master'.
 source: <pull.1583.v3.git.git.1696857660374.gitgitgadget@gmail.com>


* jk/decoration-and-other-leak-fixes (2023-10-05) 3 commits
  (merged to 'next' on 2023-10-06 at 5fc05c94dc)
 + daemon: free listen_addr before returning
 + revision: clear decoration structs during release_revisions()
 + decorate: add clear_decoration() function

 Leakfix.

 Will merge to 'master'.
 source: <20231005212802.GA982892@coredump.intra.peff.net>


* sn/typo-grammo-phraso-fixes (2023-10-05) 5 commits
 - t/README: fix multi-prerequisite example
 - doc/gitk: s/sticked/stuck/
 - git-jump: admit to passing merge mode args to ls-files
 - doc/diff-options: improve wording of the log.diffMerges mention
 - doc: fix some typos, grammar and wording issues

 Many typos, ungrammatical sentences and wrong phrasing have been
 fixed.

 Needs review.
 source: <20231003082107.3002173-1-stepnem@smrk.net>


* so/diff-merges-dd (2023-10-09) 3 commits
 - completion: complete '--dd'
 - diff-merges: introduce '--dd' option
 - diff-merges: improve --diff-merges documentation

 "git log" and friends learned "--dd" that is a short-hand for
 "--diff-merges=first-parent -p".

 Will merge to 'next'?
 source: <20231009160535.236523-1-sorganov@gmail.com>


* vd/loose-ref-iteration-optimization (2023-10-09) 4 commits
  (merged to 'next' on 2023-10-12 at 99e2f83855)
 + files-backend.c: avoid stat in 'loose_fill_ref_dir'
 + dir.[ch]: add 'follow_symlink' arg to 'get_dtype'
 + dir.[ch]: expose 'get_dtype'
 + ref-cache.c: fix prefix matching in ref iteration

 The code to iterate over loose references have been optimized to
 reduce the number of lstat() system calls.

 Will merge to 'master'.
 source: <pull.1594.v2.git.1696888736.gitgitgadget@gmail.com>


* jc/update-list-references-to-lore (2023-10-06) 1 commit
 - doc: update list archive reference to use lore.kernel.org

 Doc update.

 Needs review.
 source: <xmqq7cnz741s.fsf@gitster.g>


* cc/git-replay (2023-10-10) 14 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: change rev walking options
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 Introduce "git replay", a tool meant on the server side without
 working tree to recreate a history.

 Needs (hopefully final and quick) review.
 source: <20231010123847.2777056-1-christian.couder@gmail.com>


* jk/commit-graph-leak-fixes (2023-10-03) 10 commits
  (merged to 'next' on 2023-10-06 at 5d202ef8b9)
 + commit-graph: clear oidset after finishing write
 + commit-graph: free write-context base_graph_name during cleanup
 + commit-graph: free write-context entries before overwriting
 + commit-graph: free graph struct that was not added to chain
 + commit-graph: delay base_graph assignment in add_graph_to_chain()
 + commit-graph: free all elements of graph chain
 + commit-graph: move slab-clearing to close_commit_graph()
 + merge: free result of repo_get_merge_bases()
 + commit-reach: free temporary list in get_octopus_merge_bases()
 + t6700: mark test as leak-free

 Leakfix.

 Will merge to 'master'.
 source: <20231003202504.GA7697@coredump.intra.peff.net>


* tb/repack-max-cruft-size (2023-10-09) 5 commits
  (merged to 'next' on 2023-10-09 at 38f039e880)
 + repack: free existing_cruft array after use
  (merged to 'next' on 2023-10-06 at b3ca6df3b9)
 + builtin/repack.c: avoid making cruft packs preferred
 + builtin/repack.c: implement support for `--max-cruft-size`
 + builtin/repack.c: parse `--max-pack-size` with OPT_MAGNITUDE
 + t7700: split cruft-related tests to t7704

 "git repack" learned "--max-cruft-size" to prevent cruft packs from
 growing without bounds.

 Will merge to 'master'.
 source: <cover.1696293862.git.me@ttaylorr.com>
 source: <20231007172031.GA1524950@coredump.intra.peff.net>
 source: <035393935108d02aaf8927189b05102f4f74f340.1696370003.git.me@ttaylorr.com>


* ak/color-decorate-symbols (2023-10-03) 1 commit
 - decorate: add color.decorate.symbols config option

 A new config for coloring.

 Needs review.
 source: <20231003205442.22963-1-andy.koppe@gmail.com>


* jc/attr-tree-config (2023-10-11) 2 commits
 - attr: add attr.tree for setting the treeish to read attributes from
 - attr: read attributes from HEAD when bare repo

 The attribute subsystem learned to honor `attr.tree` configuration
 that specifies which tree to read the .gitattributes files from.

 Will merge to 'next'?
 source: <pull.1577.v4.git.git.1697044422.gitgitgadget@gmail.com>


* js/submodule-fix-misuse-of-path-and-name (2023-10-03) 6 commits
  (merged to 'next' on 2023-10-06 at 1054b6e752)
 + t7420: test that we correctly handle renamed submodules
 + t7419: test that we correctly handle renamed submodules
 + t7419, t7420: use test_cmp_config instead of grepping .gitmodules
 + t7419: actually test the branch switching
 + submodule--helper: return error from set-url when modifying failed
 + submodule--helper: use submodule_from_path in set-{url,branch}

 In .gitmodules files, submodules are keyed by their names, and the
 path to the submodule whose name is $name is specified by the
 submodule.$name.path variable.  There were a few codepaths that
 mixed the name and path up when consulting the submodule database,
 which have been corrected.  It took long for these bugs to be found
 as the name of a submodule initially is the same as its path, and
 the problem does not surface until it is moved to a different path,
 which apparently happens very rarely.

 Will merge to 'master'.
 source: <0a0a157f88321d25fdb0be771a454b3410a449f3.camel@archlinux.org>


* ar/diff-index-merge-base-fix (2023-10-02) 1 commit
  (merged to 'next' on 2023-10-06 at 0ff4dfc0e1)
 + diff: fix --merge-base with annotated tags

 "git diff --merge-base X other args..." insisted that X must be a
 commit and errored out when given an annotated tag that peels to a
 commit, but we only need it to be a committish.  This has been
 corrected.

 Will merge to 'master'.
 source: <20231001151845.3621551-1-hi@alyssa.is>


* js/update-urls-in-doc-and-comment (2023-09-26) 4 commits
 - doc: refer to internet archive
 - doc: update links for andre-simon.de
 - doc: update links to current pages
 - doc: switch links to https

 Stale URLs have been updated to their current counterparts (or
 archive.org) and HTTP links are replaced with working HTTPS links.

 Needs review.
 source: <pull.1589.v2.git.1695553041.gitgitgadget@gmail.com>


* la/trailer-cleanups (2023-09-26) 4 commits
 - trailer: only use trailer_block_* variables if trailers were found
 - trailer: use offsets for trailer_start/trailer_end
 - trailer: find the end of the log message
 - commit: ignore_non_trailer computes number of bytes to ignore

 Code clean-up.

 Needs review.
 source: <pull.1563.v4.git.1695709372.gitgitgadget@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2023-10-04) 4 commits
 - archive: support remote archive from stateless transport
 - transport-helper: call do_take_over() in connect_helper
 - transport-helper: call do_take_over() in process_connect
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Needs review.
 source: <cover.1696432593.git.zhiyou.jx@alibaba-inc.com>


* jx/sideband-chomp-newline-fix (2023-10-04) 3 commits
 - pkt-line: do not chomp newlines for sideband messages
 - pkt-line: memorize sideband fragment in reader
 - test-pkt-line: add option parser for unpack-sideband

 Sideband demultiplexer fixes.

 Needs review.
 source: <cover.1696425168.git.zhiyou.jx@alibaba-inc.com>


* ty/merge-tree-strategy-options (2023-10-11) 2 commits
  (merged to 'next' on 2023-10-12 at 9b873601df)
 + merge: introduce {copy|clear}_merge_options()
  (merged to 'next' on 2023-09-29 at aa65b54416)
 + merge-tree: add -X strategy option

 "git merge-tree" learned to take strategy backend specific options
 via the "-X" option, like "git merge" does.

 Will merge to 'master'.
 source: <pull.1565.v6.git.1695522222723.gitgitgadget@gmail.com>


* js/config-parse (2023-09-21) 5 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split do_event() into start and flush operations
 - config: split out config_parse_options

 The parsing routines for the configuration files have been split
 into a separate file.

 Needs review.
 source: <cover.1695330852.git.steadmon@google.com>


* jc/fake-lstat (2023-09-15) 1 commit
 - cache: add fake_lstat()
 (this branch is used by jc/diff-cached-fsmonitor-fix.)

 A new helper to let us pretend that we called lstat() when we know
 our cache_entry is up-to-date via fsmonitor.

 Needs review.
 source: <xmqqcyykig1l.fsf@gitster.g>


* rs/parse-options-value-int (2023-09-18) 2 commits
 - parse-options: use and require int pointer for OPT_CMDMODE
 - parse-options: add int value pointer to struct option

 A bit of type safety for the "value" pointer used in the
 parse-options API.

 Not ready yet.
 cf. <4014e490-c6c1-453d-b0ed-645220e3e614@web.de>
 source: <e6d8a291-03de-cfd3-3813-747fc2cad145@web.de>


* la/trailer-test-and-doc-updates (2023-09-07) 13 commits
  (merged to 'next' on 2023-10-06 at 69fef35819)
 + trailer doc: <token> is a <key> or <keyAlias>, not both
 + trailer doc: separator within key suppresses default separator
 + trailer doc: emphasize the effect of configuration variables
 + trailer --unfold help: prefer "reformat" over "join"
 + trailer --parse docs: add explanation for its usefulness
 + trailer --only-input: prefer "configuration variables" over "rules"
 + trailer --parse help: expose aliased options
 + trailer --no-divider help: describe usual "---" meaning
 + trailer: trailer location is a place, not an action
 + trailer doc: narrow down scope of --where and related flags
 + trailer: add tests to check defaulting behavior with --no-* flags
 + trailer test description: this tests --where=after, not --where=before
 + trailer tests: make test cases self-contained

 Test coverage for trailers has been improved.

 Will merge to 'master'.
 source: <pull.1564.v3.git.1694125209.gitgitgadget@gmail.com>


* js/doc-unit-tests (2023-10-09) 3 commits
 - ci: run unit tests in CI
 - unit tests: add TAP unit test framework
 - unit tests: add a project plan document
 (this branch is used by jc/doc-unit-tests-fixup and js/doc-unit-tests-with-cmake.)

 Process to add some form of low-level unit tests has started.

 Expecting a reroll to address CI breakage.
 source: <cover.1696889529.git.steadmon@google.com>


* js/doc-unit-tests-with-cmake (2023-10-09) 7 commits
 - cmake: handle also unit tests
 - cmake: use test names instead of full paths
 - cmake: fix typo in variable name
 - artifacts-tar: when including `.dll` files, don't forget the unit-tests
 - unit-tests: do show relative file paths
 - unit-tests: do not mistake `.pdb` files for being executable
 - cmake: also build unit tests
 (this branch is used by jc/doc-unit-tests-fixup; uses js/doc-unit-tests.)

 Update the base topic to work with CMake builds.

 Needs review.
 source: <pull.1579.v3.git.1695640836.gitgitgadget@gmail.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-08-01) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 cf. <xmqqtttia3vn.fsf@gitster.g>
 source: <48745298-f12b-8efb-4e48-90d2c22a8349@gmail.com>

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

* tb/ci-coverity (2023-09-21) 1 commit
 . .github/workflows: add coverity action

 GitHub CI workflow has learned to trigger Coverity check.

 Superseded by the js/ci-coverity topic.
 source: <b23951c569660e1891a7fb3ad2c2ea1952897bd7.1695332105.git.me@ttaylorr.com>


* cw/git-std-lib (2023-09-11) 7 commits
 . SQUASH???
 . git-std-lib: add test file to call git-std-lib.a functions
 . git-std-lib: introduce git standard library
 . parse: create new library for parsing strings and env values
 . config: correct bad boolean env value error message
 . wrapper: remove dependency to Git-specific internal file
 . hex-ll: split out functionality from hex

 Another libification effort.

 Superseded by the cw/prelim-cleanup topic.
 cf. <xmqqy1hfrk6p.fsf@gitster.g>
 cf. <20230915183927.1597414-1-jonathantanmy@google.com>
 source: <20230908174134.1026823-1-calvinwan@google.com>


* so/diff-merges-d (2023-09-11) 2 commits
 - diff-merges: introduce '-d' option
 - diff-merges: improve --diff-merges documentation

 Superseded by the so/diff-merges-dd topic.
 source: <20230909125446.142715-1-sorganov@gmail.com>


* kn/rev-list-ignore-missing-links (2023-09-20) 1 commit
 . revision: add `--ignore-missing-links` user option

 Surface the .ignore_missing_links bit that stops the revision
 traversal from stopping and dying when encountering a missing
 object to a new command line option of "git rev-list", so that the
 objects that are required but are missing can be enumerated.

 Superseded by kn/rev-list-missing-fix
 source: <20230920104507.21664-1-karthik.188@gmail.com>


^ permalink raw reply	[relevance 22%]

* What's cooking in git.git (Oct 2023, #04; Tue, 10)
@ 2023-10-11  1:32 22% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-10-11  1:32 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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']

* cc/repack-sift-filtered-objects-to-separate-pack (2023-10-02) 9 commits
  (merged to 'next' on 2023-10-03 at e5a4824609)
 + gc: add `gc.repackFilterTo` config option
 + repack: implement `--filter-to` for storing filtered out objects
 + gc: add `gc.repackFilter` config option
 + repack: add `--filter=<filter-spec>` option
 + pack-bitmap-write: rebuild using new bitmap when remapping
 + repack: refactor finding pack prefix
 + repack: refactor finishing pack-objects command
 + t/helper: add 'find-pack' test-tool
 + pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.
 cf. <ZRsknb4NxNHTR21E@nand.local>
 source: <20231002165504.1325153-1-christian.couder@gmail.com>


* cw/prelim-cleanup (2023-09-29) 4 commits
  (merged to 'next' on 2023-10-03 at 5985929612)
 + parse: separate out parsing functions from config.h
 + config: correct bad boolean env value error message
 + wrapper: reduce scope of remove_or_warn()
 + hex-ll: separate out non-hash-algo functions

 Shuffle some bits across headers and sources to prepare for
 libification effort.
 source: <cover.1696021277.git.jonathantanmy@google.com>


* ds/init-diffstat-width (2023-09-29) 1 commit
  (merged to 'next' on 2023-10-03 at 18383ac895)
 + diff --stat: set the width defaults in a helper function

 Code clean-up.
 source: <d45d1dac1a20699e370905b88b6fd0ec296751e7.1695441501.git.dsimic@manjaro.org>


* eb/limit-bulk-checkin-to-blobs (2023-09-26) 1 commit
  (merged to 'next' on 2023-10-02 at 89c9c95966)
 + bulk-checkin: only support blobs in index_bulk_checkin

 The "streaming" interface used for bulk-checkin codepath has been
 narrowed to take only blob objects for now, with no real loss of
 functionality.
 source: <87msx99b9o.fsf_-_@gmail.froward.int.ebiederm.org>

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

* ak/pretty-decorate-more-fix (2023-10-09) 1 commit
 - pretty: fix ref filtering for %(decorate) formats

 Unlike "git log --pretty=%D", "git log --pretty="%(decorate)" did
 not auto-initialize the decoration subsystem, which has been
 corrected.

 Will merge to 'next'?
 source: <20231008202307.1568477-1-andy.koppe@gmail.com>


* en/docfixes (2023-10-09) 25 commits
 - documentation: add missing parenthesis
 - documentation: add missing quotes
 - documentation: add missing fullstops
 - documentation: add some commas where they are helpful
 - documentation: fix whitespace issues
 - documentation: fix capitalization
 - documentation: fix punctuation
 - documentation: use clearer prepositions
 - documentation: add missing hyphens
 - documentation: remove unnecessary hyphens
 - documentation: add missing article
 - documentation: fix choice of article
 - documentation: whitespace is already generally plural
 - documentation: fix singular vs. plural
 - documentation: fix verb vs. noun
 - documentation: fix adjective vs. noun
 - documentation: fix verb tense
 - documentation: employ consistent verb tense for a list
 - documentation: fix subject/verb agreement
 - documentation: remove extraneous words
 - documentation: add missing words
 - documentation: fix apostrophe usage
 - documentation: fix typos
 - documentation: fix small error
 - documentation: wording improvements

 Documentation typo and grammo fixes.

 Needs review.
 source: <pull.1595.git.1696747527.gitgitgadget@gmail.com>


* kn/rev-list-missing-fix (2023-10-09) 3 commits
 - rev-list: add commit object support in `--missing` option
 - rev-list: move `show_commit()` to the bottom
 - revision: rename bit to `do_not_die_on_missing_objects`

 "git rev-list --missing" did not work for missing commit objects,
 which has been corrected.

 Needs review.
 source: <20231009105528.17777-1-karthik.188@gmail.com>


* sn/cat-file-doc-update (2023-10-09) 1 commit
  (merged to 'next' on 2023-10-10 at 6719ba7bd4)
 + doc/cat-file: make synopsis and description less confusing

 "git cat-file" documentation updates.

 Will merge to 'master'.
 source: <20231009175604.2361700-1-stepnem@smrk.net>


* xz/commit-title-soft-limit-doc (2023-10-09) 1 commit
  (merged to 'next' on 2023-10-10 at 0bf3d9ed51)
 + doc: correct the 50 characters soft limit (+)

 Doc update.

 Will merge to 'master'.
 source: <pull.1585.v2.git.git.1696778367151.gitgitgadget@gmail.com>


* jk/chunk-bounds (2023-10-09) 20 commits
  (merged to 'next' on 2023-10-10 at 21139603ce)
 + chunk-format: drop pair_chunk_unsafe()
 + commit-graph: detect out-of-order BIDX offsets
 + commit-graph: check bounds when accessing BIDX chunk
 + commit-graph: check bounds when accessing BDAT chunk
 + commit-graph: bounds-check generation overflow chunk
 + commit-graph: check size of generations chunk
 + commit-graph: bounds-check base graphs chunk
 + commit-graph: detect out-of-bounds extra-edges pointers
 + commit-graph: check size of commit data chunk
 + midx: check size of revindex chunk
 + midx: bounds-check large offset chunk
 + midx: check size of object offset chunk
 + midx: enforce chunk alignment on reading
 + midx: check size of pack names chunk
 + commit-graph: check consistency of fanout table
 + midx: check size of oid lookup chunk
 + commit-graph: check size of oid fanout chunk
 + midx: stop ignoring malformed oid fanout chunk
 + t: add library for munging chunk-format files
 + chunk-format: note that pair_chunk() is unsafe

 The codepaths that read "chunk" formatted files have been corrected
 to pay attention to the chunk size and notice broken files.

 Will merge to 'master'.
 source: <20231009205544.GA3281950@coredump.intra.peff.net>


* ps/rewritten-is-per-worktree-doc (2023-10-10) 1 commit
 - doc/git-worktree: mention "refs/rewritten" as per-worktree refs

 Doc update.

 Will merge to 'next'.
 source: <985ac850eb6e60ae76601acc8bfbcd56f99348b4.1696935657.git.ps@pks.im>

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

* tb/path-filter-fix (2023-08-30) 15 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Reroll exists, not picked up yet.
 cf. <20230830200218.GA5147@szeder.dev>
 cf. <20230901205616.3572722-1-jonathantanmy@google.com>
 cf. <20230924195900.GA1156862@szeder.dev>
 cf. <20231008143523.GA18858@szeder.dev>
 source: <cover.1693413637.git.jonathantanmy@google.com>


* pw/rebase-sigint (2023-09-07) 1 commit
 - rebase -i: ignore signals when forking subprocesses

 If the commit log editor or other external programs (spawned via
 "exec" insn in the todo list) receive internactive signal during
 "git rebase -i", it caused not just the spawned program but the
 "Git" process that spawned them, which is often not what the end
 user intended.  "git" learned to ignore SIGINT and SIGQUIT while
 waiting for these subprocesses.

 Expecting a reroll.
 cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
 source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
 - diff-lib: fix check_removed() when fsmonitor is active
 - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
 - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
 (this branch uses jc/fake-lstat.)

 The optimization based on fsmonitor in the "diff --cached"
 codepath is resurrected with the "fake-lstat" introduced earlier.

 It is unknown if the optimization is worth resurrecting, but in case...
 source: <xmqqr0n0h0tw.fsf@gitster.g>

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

* jc/merge-ort-attr-index-fix (2023-10-09) 1 commit
  (merged to 'next' on 2023-10-10 at b139b87502)
 + merge-ort: initialize repo in index state

 Fix "git merge-tree" to stop segfaulting when the --attr-source
 option is used.

 Will merge to 'master'.
 source: <pull.1583.v3.git.git.1696857660374.gitgitgadget@gmail.com>


* jk/decoration-and-other-leak-fixes (2023-10-05) 3 commits
  (merged to 'next' on 2023-10-06 at 5fc05c94dc)
 + daemon: free listen_addr before returning
 + revision: clear decoration structs during release_revisions()
 + decorate: add clear_decoration() function

 Leakfix.

 Will merge to 'master'.
 source: <20231005212802.GA982892@coredump.intra.peff.net>


* sn/typo-grammo-phraso-fixes (2023-10-05) 5 commits
 - t/README: fix multi-prerequisite example
 - doc/gitk: s/sticked/stuck/
 - git-jump: admit to passing merge mode args to ls-files
 - doc/diff-options: improve wording of the log.diffMerges mention
 - doc: fix some typos, grammar and wording issues

 Many typos, ungrammatical sentences and wrong phrasing have been
 fixed.

 Needs review.
 source: <20231003082107.3002173-1-stepnem@smrk.net>


* so/diff-merges-dd (2023-10-09) 3 commits
 - completion: complete '--dd'
 - diff-merges: introduce '--dd' option
 - diff-merges: improve --diff-merges documentation

 "git log" and friends learned "--dd" that is a short-hand for
 "--diff-merges=first-parent -p".

 Will merge to 'next'?
 source: <20231009160535.236523-1-sorganov@gmail.com>


* vd/loose-ref-iteration-optimization (2023-10-09) 4 commits
 - files-backend.c: avoid stat in 'loose_fill_ref_dir'
 - dir.[ch]: add 'follow_symlink' arg to 'get_dtype'
 - dir.[ch]: expose 'get_dtype'
 - ref-cache.c: fix prefix matching in ref iteration

 The code to iterate over loose references have been optimized to
 reduce the number of lstat() system calls.

 Will merge to 'next'?
 source: <pull.1594.v2.git.1696888736.gitgitgadget@gmail.com>


* jc/update-list-references-to-lore (2023-10-06) 1 commit
 - doc: update list archive reference to use lore.kernel.org

 Doc update.

 Needs review.
 source: <xmqq7cnz741s.fsf@gitster.g>


* cc/git-replay (2023-10-10) 14 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: change rev walking options
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 Introduce "git replay", a tool meant on the server side without
 working tree to recreate a history.
 source: <20231010123847.2777056-1-christian.couder@gmail.com>


* jk/commit-graph-leak-fixes (2023-10-03) 10 commits
  (merged to 'next' on 2023-10-06 at 5d202ef8b9)
 + commit-graph: clear oidset after finishing write
 + commit-graph: free write-context base_graph_name during cleanup
 + commit-graph: free write-context entries before overwriting
 + commit-graph: free graph struct that was not added to chain
 + commit-graph: delay base_graph assignment in add_graph_to_chain()
 + commit-graph: free all elements of graph chain
 + commit-graph: move slab-clearing to close_commit_graph()
 + merge: free result of repo_get_merge_bases()
 + commit-reach: free temporary list in get_octopus_merge_bases()
 + t6700: mark test as leak-free

 Leakfix.

 Will merge to 'master'.
 source: <20231003202504.GA7697@coredump.intra.peff.net>


* jm/git-status-submodule-states-docfix (2023-10-04) 1 commit
  (merged to 'next' on 2023-10-04 at 520b7711a4)
 + git-status.txt: fix minor asciidoc format issue

 Docfix.

 Will merge to 'master'.
 source: <pull.1591.v3.git.1696386165616.gitgitgadget@gmail.com>


* rs/parse-opt-ctx-cleanup (2023-10-03) 1 commit
  (merged to 'next' on 2023-10-04 at d5d0a2ce3b)
 + parse-options: drop unused parse_opt_ctx_t member

 Code clean-up.

 Will merge to 'master'.
 source: <ebcaa9e1-d306-4c93-adec-3f35d7040531@web.de>


* tb/repack-max-cruft-size (2023-10-09) 5 commits
  (merged to 'next' on 2023-10-09 at 38f039e880)
 + repack: free existing_cruft array after use
  (merged to 'next' on 2023-10-06 at b3ca6df3b9)
 + builtin/repack.c: avoid making cruft packs preferred
 + builtin/repack.c: implement support for `--max-cruft-size`
 + builtin/repack.c: parse `--max-pack-size` with OPT_MAGNITUDE
 + t7700: split cruft-related tests to t7704

 "git repack" learned "--max-cruft-size" to prevent cruft packs from
 growing without bounds.

 Will merge to 'master'.
 source: <cover.1696293862.git.me@ttaylorr.com>
 source: <20231007172031.GA1524950@coredump.intra.peff.net>
 source: <035393935108d02aaf8927189b05102f4f74f340.1696370003.git.me@ttaylorr.com>


* ak/color-decorate-symbols (2023-10-03) 1 commit
 - decorate: add color.decorate.symbols config option

 A new config for coloring.

 Needs review.
 source: <20231003205442.22963-1-andy.koppe@gmail.com>


* jc/attr-tree-config (2023-10-04) 2 commits
 - attr: add attr.allowInvalidSource config to allow invalid revision
 - attr: add attr.tree for setting the treeish to read attributes from

 The attribute subsystem learned to honor `attr.tree` configuration
 that specifies which tree to read the .gitattributes files from.

 Reroll exists, but not picked up (a review sent).
 source: <pull.1577.v2.git.git.1696443502.gitgitgadget@gmail.com>


* js/submodule-fix-misuse-of-path-and-name (2023-10-03) 6 commits
  (merged to 'next' on 2023-10-06 at 1054b6e752)
 + t7420: test that we correctly handle renamed submodules
 + t7419: test that we correctly handle renamed submodules
 + t7419, t7420: use test_cmp_config instead of grepping .gitmodules
 + t7419: actually test the branch switching
 + submodule--helper: return error from set-url when modifying failed
 + submodule--helper: use submodule_from_path in set-{url,branch}

 In .gitmodules files, submodules are keyed by their names, and the
 path to the submodule whose name is $name is specified by the
 submodule.$name.path variable.  There were a few codepaths that
 mixed the name and path up when consulting the submodule database,
 which have been corrected.  It took long for these bugs to be found
 as the name of a submodule initially is the same as its path, and
 the problem does not surface until it is moved to a different path,
 which apparently happens very rarely.

 Will merge to 'master'.
 source: <0a0a157f88321d25fdb0be771a454b3410a449f3.camel@archlinux.org>


* ar/diff-index-merge-base-fix (2023-10-02) 1 commit
  (merged to 'next' on 2023-10-06 at 0ff4dfc0e1)
 + diff: fix --merge-base with annotated tags

 "git diff --merge-base X other args..." insisted that X must be a
 commit and errored out when given an annotated tag that peels to a
 commit, but we only need it to be a committish.  This has been
 corrected.

 Will merge to 'master'.
 source: <20231001151845.3621551-1-hi@alyssa.is>


* js/update-urls-in-doc-and-comment (2023-09-26) 4 commits
 - doc: refer to internet archive
 - doc: update links for andre-simon.de
 - doc: update links to current pages
 - doc: switch links to https

 Stale URLs have been updated to their current counterparts (or
 archive.org) and HTTP links are replaced with working HTTPS links.

 Needs review.
 source: <pull.1589.v2.git.1695553041.gitgitgadget@gmail.com>


* la/trailer-cleanups (2023-09-26) 4 commits
 - trailer: only use trailer_block_* variables if trailers were found
 - trailer: use offsets for trailer_start/trailer_end
 - trailer: find the end of the log message
 - commit: ignore_non_trailer computes number of bytes to ignore

 Code clean-up.

 Needs review.
 source: <pull.1563.v4.git.1695709372.gitgitgadget@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2023-10-04) 4 commits
 - archive: support remote archive from stateless transport
 - transport-helper: call do_take_over() in connect_helper
 - transport-helper: call do_take_over() in process_connect
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Needs review.
 source: <cover.1696432593.git.zhiyou.jx@alibaba-inc.com>


* jx/sideband-chomp-newline-fix (2023-10-04) 3 commits
 - pkt-line: do not chomp newlines for sideband messages
 - pkt-line: memorize sideband fragment in reader
 - test-pkt-line: add option parser for unpack-sideband

 Sideband demultiplexer fixes.

 Needs review.
 source: <cover.1696425168.git.zhiyou.jx@alibaba-inc.com>


* ty/merge-tree-strategy-options (2023-09-25) 1 commit
  (merged to 'next' on 2023-09-29 at aa65b54416)
 + merge-tree: add -X strategy option

 "git merge-tree" learned to take strategy backend specific options
 via the "-X" option, like "git merge" does.

 Hold.  There is an unwanted structure copying going on.
 cf. <a482d047-dd40-436d-8daa-0c74780af11f@gmail.com>
 source: <pull.1565.v6.git.1695522222723.gitgitgadget@gmail.com>


* js/ci-coverity (2023-10-05) 6 commits
  (merged to 'next' on 2023-10-05 at 253788f0d1)
 + coverity: detect and report when the token or project is incorrect
 + coverity: allow running on macOS
 + coverity: support building on Windows
 + coverity: allow overriding the Coverity project
 + coverity: cache the Coverity Build Tool
 + ci: add a GitHub workflow to submit Coverity scans

 GitHub CI workflow has learned to trigger Coverity check.

 Will merge to 'master'.
 source: <pull.1588.v2.git.1695642662.gitgitgadget@gmail.com>


* js/config-parse (2023-09-21) 5 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split do_event() into start and flush operations
 - config: split out config_parse_options

 The parsing routines for the configuration files have been split
 into a separate file.

 Needs review.
 source: <cover.1695330852.git.steadmon@google.com>


* jc/fake-lstat (2023-09-15) 1 commit
 - cache: add fake_lstat()
 (this branch is used by jc/diff-cached-fsmonitor-fix.)

 A new helper to let us pretend that we called lstat() when we know
 our cache_entry is up-to-date via fsmonitor.

 Needs review.
 source: <xmqqcyykig1l.fsf@gitster.g>


* rs/parse-options-value-int (2023-09-18) 2 commits
 - parse-options: use and require int pointer for OPT_CMDMODE
 - parse-options: add int value pointer to struct option

 A bit of type safety for the "value" pointer used in the
 parse-options API.

 Not ready yet.
 cf. <4014e490-c6c1-453d-b0ed-645220e3e614@web.de>
 source: <e6d8a291-03de-cfd3-3813-747fc2cad145@web.de>


* la/trailer-test-and-doc-updates (2023-09-07) 13 commits
  (merged to 'next' on 2023-10-06 at 69fef35819)
 + trailer doc: <token> is a <key> or <keyAlias>, not both
 + trailer doc: separator within key suppresses default separator
 + trailer doc: emphasize the effect of configuration variables
 + trailer --unfold help: prefer "reformat" over "join"
 + trailer --parse docs: add explanation for its usefulness
 + trailer --only-input: prefer "configuration variables" over "rules"
 + trailer --parse help: expose aliased options
 + trailer --no-divider help: describe usual "---" meaning
 + trailer: trailer location is a place, not an action
 + trailer doc: narrow down scope of --where and related flags
 + trailer: add tests to check defaulting behavior with --no-* flags
 + trailer test description: this tests --where=after, not --where=before
 + trailer tests: make test cases self-contained

 Test coverage for trailers has been improved.

 Will merge to 'master'.
 source: <pull.1564.v3.git.1694125209.gitgitgadget@gmail.com>


* js/doc-unit-tests (2023-10-09) 3 commits
 - ci: run unit tests in CI
 - unit tests: add TAP unit test framework
 - unit tests: add a project plan document
 (this branch is used by js/doc-unit-tests-with-cmake.)

 Process to add some form of low-level unit tests has started.

 Will merge to 'next'?
 source: <cover.1696889529.git.steadmon@google.com>


* js/doc-unit-tests-with-cmake (2023-10-09) 7 commits
 - cmake: handle also unit tests
 - cmake: use test names instead of full paths
 - cmake: fix typo in variable name
 - artifacts-tar: when including `.dll` files, don't forget the unit-tests
 - unit-tests: do show relative file paths
 - unit-tests: do not mistake `.pdb` files for being executable
 - cmake: also build unit tests
 (this branch uses js/doc-unit-tests.)

 Update the base topic to work with CMake builds.

 Needs review.
 source: <pull.1579.v3.git.1695640836.gitgitgadget@gmail.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-08-01) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 cf. <xmqqtttia3vn.fsf@gitster.g>
 source: <48745298-f12b-8efb-4e48-90d2c22a8349@gmail.com>

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

* tb/ci-coverity (2023-09-21) 1 commit
 . .github/workflows: add coverity action

 GitHub CI workflow has learned to trigger Coverity check.

 Superseded by the js/ci-coverity topic.
 source: <b23951c569660e1891a7fb3ad2c2ea1952897bd7.1695332105.git.me@ttaylorr.com>


* cw/git-std-lib (2023-09-11) 7 commits
 . SQUASH???
 . git-std-lib: add test file to call git-std-lib.a functions
 . git-std-lib: introduce git standard library
 . parse: create new library for parsing strings and env values
 . config: correct bad boolean env value error message
 . wrapper: remove dependency to Git-specific internal file
 . hex-ll: split out functionality from hex

 Another libification effort.

 Superseded by the cw/prelim-cleanup topic.
 cf. <xmqqy1hfrk6p.fsf@gitster.g>
 cf. <20230915183927.1597414-1-jonathantanmy@google.com>
 source: <20230908174134.1026823-1-calvinwan@google.com>


* so/diff-merges-d (2023-09-11) 2 commits
 - diff-merges: introduce '-d' option
 - diff-merges: improve --diff-merges documentation

 Superseded by the so/diff-merges-dd topic.
 source: <20230909125446.142715-1-sorganov@gmail.com>


* kn/rev-list-ignore-missing-links (2023-09-20) 1 commit
 . revision: add `--ignore-missing-links` user option

 Surface the .ignore_missing_links bit that stops the revision
 traversal from stopping and dying when encountering a missing
 object to a new command line option of "git rev-list", so that the
 objects that are required but are missing can be enumerated.

 Superseded by kn/rev-list-missing-fix
 source: <20230920104507.21664-1-karthik.188@gmail.com>

^ permalink raw reply	[relevance 22%]

* Re: What's cooking in git.git (Oct 2023, #03; Fri, 6)
  @ 2023-10-09 21:07 99%       ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-10-09 21:07 UTC (permalink / raw)
  To: Taylor Blau; +Cc: git

Taylor Blau <me@ttaylorr.com> writes:

>> > Thanks. On a semi-related note, did you want to pick up my patch in
>> >
>> >   https://lore.kernel.org/git/035393935108d02aaf8927189b05102f4f74f340.1696370003.git.me@ttaylorr.com/
>> >
>> > ? That should address a performance bug that occurs when a repository
>> > (incorrectly) chooses a cruft pack as its preferred pack source when
>> > writing a MIDX bitmap, significantly impeding the pack-reuse mechanism.
>>
>> Isn't that in the above list already as b3ca6df3b9^2?
>
> Oops, duh. I hadn't expected you to group that patch in with the rest of
> tb/repack-max-cruft-size.

Heh, as you said, isn't it at least semi-related ;-)?

^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (Oct 2023, #03; Fri, 6)
  @ 2023-10-09 18:09 99%   ` Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2023-10-09 18:09 UTC (permalink / raw)
  To: Taylor Blau; +Cc: git

Taylor Blau <me@ttaylorr.com> writes:

> On Sat, Oct 07, 2023 at 01:20:02AM -0700, Junio C Hamano wrote:
>> * tb/repack-max-cruft-size (2023-10-05) 4 commits
>>   (merged to 'next' on 2023-10-06 at b3ca6df3b9)
>>  + builtin/repack.c: avoid making cruft packs preferred
>>  + builtin/repack.c: implement support for `--max-cruft-size`
>>  + builtin/repack.c: parse `--max-pack-size` with OPT_MAGNITUDE
>>  + t7700: split cruft-related tests to t7704
>>
>>  "git repack" learned "--max-cruft-size" to prevent cruft packs from
>>  growing without bounds.
>>
>>  Will merge to 'master'.
>>  source: <cover.1696293862.git.me@ttaylorr.com>
>>  source: <035393935108d02aaf8927189b05102f4f74f340.1696370003.git.me@ttaylorr.com>
>
> Thanks. On a semi-related note, did you want to pick up my patch in
>
>   https://lore.kernel.org/git/035393935108d02aaf8927189b05102f4f74f340.1696370003.git.me@ttaylorr.com/
>
> ? That should address a performance bug that occurs when a repository
> (incorrectly) chooses a cruft pack as its preferred pack source when
> writing a MIDX bitmap, significantly impeding the pack-reuse mechanism.

Isn't that in the above list already as b3ca6df3b9^2?



^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (Oct 2023, #03; Fri, 6)
  @ 2023-10-09 16:35 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-10-09 16:35 UTC (permalink / raw)
  To: René Scharfe; +Cc: git

René Scharfe <l.s.r@web.de> writes:

> Am 07.10.23 um 10:20 schrieb Junio C Hamano:
>> * rs/parse-options-value-int (2023-09-18) 2 commits
>>  - parse-options: use and require int pointer for OPT_CMDMODE
>>  - parse-options: add int value pointer to struct option
>> ...
> I don't mind removing this topic from seen for now; it's not ready, yet.

After seeing the discussion moved to giving a more type safe enum
support and then somehow convesation seemed to have petered out, I
was wondering if we figured out the problem space enough to see an
updated version with well defined scope and good problem
description.  I do not mind keeping it on 'seen', especially if
these two early steps are not expected to change.  It is not like
they are causing any maintenance burden.

Thanks.


^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Oct 2023, #03; Fri, 6)
@ 2023-10-07  8:20 25% Junio C Hamano
      0 siblings, 2 replies; 200+ results
From: Junio C Hamano @ 2023-10-07  8:20 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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]

* jc/merge-ort-attr-index-fix (2023-10-05) 1 commit
 - merge-ort: initialize repo in index state

 Fix "git merge-tree" to stop segfaulting when the --attr-source
 option is used.

 Waiting for review response.
 source: <pull.1583.git.git.1696519349407.gitgitgadget@gmail.com>


* jk/decoration-and-other-leak-fixes (2023-10-05) 3 commits
  (merged to 'next' on 2023-10-06 at 5fc05c94dc)
 + daemon: free listen_addr before returning
 + revision: clear decoration structs during release_revisions()
 + decorate: add clear_decoration() function

 Leakfix.

 Will merge to 'master'.
 source: <20231005212802.GA982892@coredump.intra.peff.net>


* sn/typo-grammo-phraso-fixes (2023-10-05) 5 commits
 - t/README: fix multi-prerequisite example
 - doc/gitk: s/sticked/stuck/
 - git-jump: admit to passing merge mode args to ls-files
 - doc/diff-options: improve wording of the log.diffMerges mention
 - doc: fix some typos, grammar and wording issues

 Many typos, ungrammatical sentences and wrong phrasing have been
 fixed.

 Needs review.
 source: <20231003082107.3002173-1-stepnem@smrk.net>


* so/diff-merges-dd (2023-10-05) 3 commits
 - completion: complete '--dd'
 - diff-merges: introduce '--dd' option
 - diff-merges: improve --diff-merges documentation

 "git log" and friends learned "--dd" that is a short-hand for
 "--diff-merges=first-parent -p".

 Expecting a reroll.
 cf. <871qe7r3rk.fsf@osv.gnss.ru>
 source: <20231004214558.210339-1-sorganov@gmail.com>


* vd/loose-ref-iteration-optimization (2023-10-06) 4 commits
 - files-backend.c: avoid stat in 'loose_fill_ref_dir'
 - dir.[ch]: add 'follow_symlink' arg to 'get_dtype'
 - dir.[ch]: expose 'get_dtype'
 - ref-cache.c: fix prefix matching in ref iteration

 The code to iterate over loose references have been optimized to
 reduce the number of lstat() system calls.
 source: <pull.1594.git.1696615769.gitgitgadget@gmail.com>


* jc/update-list-references-to-lore (2023-10-06) 1 commit
 - doc: update list archive reference to use lore.kernel.org

 source: <xmqq7cnz741s.fsf@gitster.g>

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

* cc/git-replay (2023-09-07) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 Waiting for review response.
 cf. <52277471-4ddd-b2e0-62ca-c2a5b59ae418@gmx.de>
 cf. <58daa706-7efb-51dd-9061-202ef650b96a@gmx.de>
 cf. <f0e75d47-c277-9fbb-7bcd-53e4e5686f3c@gmx.de>
 source: <20230907092521.733746-1-christian.couder@gmail.com>


* pw/rebase-sigint (2023-09-07) 1 commit
 - rebase -i: ignore signals when forking subprocesses

 If the commit log editor or other external programs (spawned via
 "exec" insn in the todo list) receive internactive signal during
 "git rebase -i", it caused not just the spawned program but the
 "Git" process that spawned them, which is often not what the end
 user intended.  "git" learned to ignore SIGINT and SIGQUIT while
 waiting for these subprocesses.

 Expecting a reroll.
 cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
 source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
 - diff-lib: fix check_removed() when fsmonitor is active
 - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
 - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
 (this branch uses jc/fake-lstat.)

 The optimization based on fsmonitor in the "diff --cached"
 codepath is resurrected with the "fake-lstat" introduced earlier.

 It is unknown if the optimization is worth resurrecting, but in case...
 source: <xmqqr0n0h0tw.fsf@gitster.g>

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

* jk/commit-graph-leak-fixes (2023-10-03) 10 commits
  (merged to 'next' on 2023-10-06 at 5d202ef8b9)
 + commit-graph: clear oidset after finishing write
 + commit-graph: free write-context base_graph_name during cleanup
 + commit-graph: free write-context entries before overwriting
 + commit-graph: free graph struct that was not added to chain
 + commit-graph: delay base_graph assignment in add_graph_to_chain()
 + commit-graph: free all elements of graph chain
 + commit-graph: move slab-clearing to close_commit_graph()
 + merge: free result of repo_get_merge_bases()
 + commit-reach: free temporary list in get_octopus_merge_bases()
 + t6700: mark test as leak-free

 Leakfix.

 Will merge to 'master'.
 source: <20231003202504.GA7697@coredump.intra.peff.net>


* jm/git-status-submodule-states-docfix (2023-10-04) 1 commit
  (merged to 'next' on 2023-10-04 at 520b7711a4)
 + git-status.txt: fix minor asciidoc format issue

 Docfix.

 Will merge to 'master'.
 source: <pull.1591.v3.git.1696386165616.gitgitgadget@gmail.com>


* rs/parse-opt-ctx-cleanup (2023-10-03) 1 commit
  (merged to 'next' on 2023-10-04 at d5d0a2ce3b)
 + parse-options: drop unused parse_opt_ctx_t member

 Code clean-up.

 Will merge to 'master'.
 source: <ebcaa9e1-d306-4c93-adec-3f35d7040531@web.de>


* tb/repack-max-cruft-size (2023-10-05) 4 commits
  (merged to 'next' on 2023-10-06 at b3ca6df3b9)
 + builtin/repack.c: avoid making cruft packs preferred
 + builtin/repack.c: implement support for `--max-cruft-size`
 + builtin/repack.c: parse `--max-pack-size` with OPT_MAGNITUDE
 + t7700: split cruft-related tests to t7704

 "git repack" learned "--max-cruft-size" to prevent cruft packs from
 growing without bounds.

 Will merge to 'master'.
 source: <cover.1696293862.git.me@ttaylorr.com>
 source: <035393935108d02aaf8927189b05102f4f74f340.1696370003.git.me@ttaylorr.com>


* ak/color-decorate-symbols (2023-10-03) 1 commit
 - decorate: add color.decorate.symbols config option

 A new config for coloring.

 Needs review.
 source: <20231003205442.22963-1-andy.koppe@gmail.com>


* jc/attr-tree-config (2023-10-04) 2 commits
 - attr: add attr.allowInvalidSource config to allow invalid revision
 - attr: add attr.tree for setting the treeish to read attributes from

 The attribute subsystem learned to honor `attr.tree` configuration
 that specifies which tree to read the .gitattributes files from.

 Needs review.
 source: <pull.1577.v2.git.git.1696443502.gitgitgadget@gmail.com>


* js/submodule-fix-misuse-of-path-and-name (2023-10-03) 6 commits
  (merged to 'next' on 2023-10-06 at 1054b6e752)
 + t7420: test that we correctly handle renamed submodules
 + t7419: test that we correctly handle renamed submodules
 + t7419, t7420: use test_cmp_config instead of grepping .gitmodules
 + t7419: actually test the branch switching
 + submodule--helper: return error from set-url when modifying failed
 + submodule--helper: use submodule_from_path in set-{url,branch}

 In .gitmodules files, submodules are keyed by their names, and the
 path to the submodule whose name is $name is specified by the
 submodule.$name.path variable.  There were a few codepaths that
 mixed the name and path up when consulting the submodule database,
 which have been corrected.  It took long for these bugs to be found
 as the name of a submodule initially is the same as its path, and
 the problem does not surface until it is moved to a different path,
 which apparently happens very rarely.

 Will merge to 'master'.
 source: <0a0a157f88321d25fdb0be771a454b3410a449f3.camel@archlinux.org>


* cw/prelim-cleanup (2023-09-29) 4 commits
  (merged to 'next' on 2023-10-03 at 5985929612)
 + parse: separate out parsing functions from config.h
 + config: correct bad boolean env value error message
 + wrapper: reduce scope of remove_or_warn()
 + hex-ll: separate out non-hash-algo functions

 Shuffle some bits across headers and sources to prepare for
 libification effort.

 Will merge to 'master'.
 source: <cover.1696021277.git.jonathantanmy@google.com>


* ds/init-diffstat-width (2023-09-29) 1 commit
  (merged to 'next' on 2023-10-03 at 18383ac895)
 + diff --stat: set the width defaults in a helper function

 Code clean-up.

 Will merge to 'master'.
 source: <d45d1dac1a20699e370905b88b6fd0ec296751e7.1695441501.git.dsimic@manjaro.org>


* ar/diff-index-merge-base-fix (2023-10-02) 1 commit
  (merged to 'next' on 2023-10-06 at 0ff4dfc0e1)
 + diff: fix --merge-base with annotated tags

 "git diff --merge-base X other args..." insisted that X must be a
 commit and errored out when given an annotated tag that peels to a
 commit, but we only need it to be a committish.  This has been
 corrected.

 Will merge to 'master'.
 source: <20231001151845.3621551-1-hi@alyssa.is>


* eb/limit-bulk-checkin-to-blobs (2023-09-26) 1 commit
  (merged to 'next' on 2023-10-02 at 89c9c95966)
 + bulk-checkin: only support blobs in index_bulk_checkin

 The "streaming" interface used for bulk-checkin codepath has been
 narrowed to take only blob objects for now, with no real loss of
 functionality.

 Will merge to 'master'.
 source: <87msx99b9o.fsf_-_@gmail.froward.int.ebiederm.org>


* js/update-urls-in-doc-and-comment (2023-09-26) 4 commits
 - doc: refer to internet archive
 - doc: update links for andre-simon.de
 - doc: update links to current pages
 - doc: switch links to https

 Stale URLs have been updated to their current counterparts (or
 archive.org) and HTTP links are replaced with working HTTPS links.

 Needs review.
 source: <pull.1589.v2.git.1695553041.gitgitgadget@gmail.com>


* la/trailer-cleanups (2023-09-26) 4 commits
 - trailer: only use trailer_block_* variables if trailers were found
 - trailer: use offsets for trailer_start/trailer_end
 - trailer: find the end of the log message
 - commit: ignore_non_trailer computes number of bytes to ignore

 Code clean-up.

 Needs review.
 source: <pull.1563.v4.git.1695709372.gitgitgadget@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Needs review.
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2023-10-04) 4 commits
 - archive: support remote archive from stateless transport
 - transport-helper: call do_take_over() in connect_helper
 - transport-helper: call do_take_over() in process_connect
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Needs review.
 source: <cover.1696432593.git.zhiyou.jx@alibaba-inc.com>


* jx/sideband-chomp-newline-fix (2023-10-04) 3 commits
 - pkt-line: do not chomp newlines for sideband messages
 - pkt-line: memorize sideband fragment in reader
 - test-pkt-line: add option parser for unpack-sideband

 Sideband demultiplexer fixes.

 Needs review.
 source: <cover.1696425168.git.zhiyou.jx@alibaba-inc.com>


* ty/merge-tree-strategy-options (2023-09-25) 1 commit
  (merged to 'next' on 2023-09-29 at aa65b54416)
 + merge-tree: add -X strategy option

 "git merge-tree" learned to take strategy backend specific options
 via the "-X" option, like "git merge" does.

 Will merge to 'master'.
 source: <pull.1565.v6.git.1695522222723.gitgitgadget@gmail.com>


* js/ci-coverity (2023-10-05) 6 commits
  (merged to 'next' on 2023-10-05 at 253788f0d1)
 + coverity: detect and report when the token or project is incorrect
 + coverity: allow running on macOS
 + coverity: support building on Windows
 + coverity: allow overriding the Coverity project
 + coverity: cache the Coverity Build Tool
 + ci: add a GitHub workflow to submit Coverity scans

 GitHub CI workflow has learned to trigger Coverity check.

 Will merge to 'master'.
 source: <pull.1588.v2.git.1695642662.gitgitgadget@gmail.com>


* js/config-parse (2023-09-21) 5 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split do_event() into start and flush operations
 - config: split out config_parse_options

 The parsing routines for the configuration files have been split
 into a separate file.

 Needs review.
 source: <cover.1695330852.git.steadmon@google.com>


* jc/fake-lstat (2023-09-15) 1 commit
 - cache: add fake_lstat()
 (this branch is used by jc/diff-cached-fsmonitor-fix.)

 A new helper to let us pretend that we called lstat() when we know
 our cache_entry is up-to-date via fsmonitor.

 Needs review.
 source: <xmqqcyykig1l.fsf@gitster.g>


* kn/rev-list-ignore-missing-links (2023-09-20) 1 commit
 - revision: add `--ignore-missing-links` user option

 Surface the .ignore_missing_links bit that stops the revision
 traversal from stopping and dying when encountering a missing
 object to a new command line option of "git rev-list", so that the
 objects that are required but are missing can be enumerated.

 What's the status of this thing?
 source: <20230920104507.21664-1-karthik.188@gmail.com>


* rs/parse-options-value-int (2023-09-18) 2 commits
 - parse-options: use and require int pointer for OPT_CMDMODE
 - parse-options: add int value pointer to struct option

 A bit of type safety for the "value" pointer used in the
 parse-options API.

 What's the status of this thing?
 source: <e6d8a291-03de-cfd3-3813-747fc2cad145@web.de>


* cc/repack-sift-filtered-objects-to-separate-pack (2023-10-02) 9 commits
  (merged to 'next' on 2023-10-03 at e5a4824609)
 + gc: add `gc.repackFilterTo` config option
 + repack: implement `--filter-to` for storing filtered out objects
 + gc: add `gc.repackFilter` config option
 + repack: add `--filter=<filter-spec>` option
 + pack-bitmap-write: rebuild using new bitmap when remapping
 + repack: refactor finding pack prefix
 + repack: refactor finishing pack-objects command
 + t/helper: add 'find-pack' test-tool
 + pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 Will merge to 'master'.
 cf. <ZRsknb4NxNHTR21E@nand.local>
 source: <20231002165504.1325153-1-christian.couder@gmail.com>


* la/trailer-test-and-doc-updates (2023-09-07) 13 commits
  (merged to 'next' on 2023-10-06 at 69fef35819)
 + trailer doc: <token> is a <key> or <keyAlias>, not both
 + trailer doc: separator within key suppresses default separator
 + trailer doc: emphasize the effect of configuration variables
 + trailer --unfold help: prefer "reformat" over "join"
 + trailer --parse docs: add explanation for its usefulness
 + trailer --only-input: prefer "configuration variables" over "rules"
 + trailer --parse help: expose aliased options
 + trailer --no-divider help: describe usual "---" meaning
 + trailer: trailer location is a place, not an action
 + trailer doc: narrow down scope of --where and related flags
 + trailer: add tests to check defaulting behavior with --no-* flags
 + trailer test description: this tests --where=after, not --where=before
 + trailer tests: make test cases self-contained

 Test coverage for trailers has been improved.

 Will merge to 'master'.
 source: <pull.1564.v3.git.1694125209.gitgitgadget@gmail.com>


* js/doc-unit-tests (2023-08-17) 3 commits
 - ci: run unit tests in CI
 - unit tests: add TAP unit test framework
 - unit tests: Add a project plan document
 (this branch is used by js/doc-unit-tests-with-cmake.)

 Process to add some form of low-level unit tests has started.

 Expecting a reroll.
 cf. <0b6de919-8dbf-454f-807b-5abb64388cb7@gmail.com>
 source: <cover.1692297001.git.steadmon@google.com>


* js/doc-unit-tests-with-cmake (2023-09-25) 7 commits
 - cmake: handle also unit tests
 - cmake: use test names instead of full paths
 - cmake: fix typo in variable name
 - artifacts-tar: when including `.dll` files, don't forget the unit-tests
 - unit-tests: do show relative file paths
 - unit-tests: do not mistake `.pdb` files for being executable
 - cmake: also build unit tests
 (this branch uses js/doc-unit-tests.)

 Update the base topic to work with CMake builds.

 Expecting a reroll.
 cf. <ZSCRFNkzXZb3fBaU@google.com>
 source: <pull.1579.v3.git.1695640836.gitgitgadget@gmail.com>


* tb/path-filter-fix (2023-08-30) 15 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 What's the status of this thing?
 cf. <20230830200218.GA5147@szeder.dev>
 cf. <20230901205616.3572722-1-jonathantanmy@google.com>
 cf. <20230924195900.GA1156862@szeder.dev>
 source: <cover.1693413637.git.jonathantanmy@google.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-08-01) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 cf. <xmqqtttia3vn.fsf@gitster.g>
 source: <48745298-f12b-8efb-4e48-90d2c22a8349@gmail.com>

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

* tb/ci-coverity (2023-09-21) 1 commit
 . .github/workflows: add coverity action

 GitHub CI workflow has learned to trigger Coverity check.

 Superseded by the js/ci-coverity topic.
 source: <b23951c569660e1891a7fb3ad2c2ea1952897bd7.1695332105.git.me@ttaylorr.com>


* cw/git-std-lib (2023-09-11) 7 commits
 . SQUASH???
 . git-std-lib: add test file to call git-std-lib.a functions
 . git-std-lib: introduce git standard library
 . parse: create new library for parsing strings and env values
 . config: correct bad boolean env value error message
 . wrapper: remove dependency to Git-specific internal file
 . hex-ll: split out functionality from hex

 Another libification effort.

 Superseded by the cw/prelim-cleanup topic.
 cf. <xmqqy1hfrk6p.fsf@gitster.g>
 cf. <20230915183927.1597414-1-jonathantanmy@google.com>
 source: <20230908174134.1026823-1-calvinwan@google.com>


* so/diff-merges-d (2023-09-11) 2 commits
 - diff-merges: introduce '-d' option
 - diff-merges: improve --diff-merges documentation

 Superseded by the so/diff-merges-dd topic.
 source: <20230909125446.142715-1-sorganov@gmail.com>

^ permalink raw reply	[relevance 25%]

* Re: What's cooking in git.git (Oct 2023, #01; Mon, 2)
  @ 2023-10-05 21:47 93%               ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-10-05 21:47 UTC (permalink / raw)
  To: Sergey Organov; +Cc: git

Sergey Organov <sorganov@gmail.com> writes:

> Overall, as an example, I'd understand if you had deflected the patch
> with "let's rather use -d for '--decorate=short', or '--date=relative'",
> or something like that, but you don't, leaving me uncertain about your
> actual worries and intentions.

Oh, I would be very much more sympathetic if somebody wanted to make
a short-and-sweet single-letter option to stand for "--first-parent
-p", if they come with the "first-parent chain is special---it is
the trunk history of the development" world view.  And the resulting
behaviour would be "give me the diffs" in their world view, so I
would understand if they wanted to use "-d" for such an operation.

However, to folks who do not subscribe to "the first parent chain is
the trunk history" world view, "give me the diffs" is not an
explanation of the resulting behaviour, because in "-d" there is no
trace of hint that it is also about first-parent traversal.  

So "-d" may not be a perfect fit for it, either.  But at least it is
based on a more consistent world view, I would think, than
"--diff-merges=1 -p", whose behaviour becomes unexplainable when it
hits "reverse" merges in a world where the first parent chain is not
necessarily the trunk.

Anyway, I've tentatively queued the "--dd" round.  Naming is hard,
I cannot tell what "dd" stards for, and I suspect no user can X-<.

Thanks.

^ permalink raw reply	[relevance 93%]

* Re: js/ci-coverity, was Re: What's cooking in git.git (Oct 2023, #02; Wed, 4)
  @ 2023-10-05 18:44 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-10-05 18:44 UTC (permalink / raw)
  To: Jeff King; +Cc: Johannes Schindelin, git

Jeff King <peff@peff.net> writes:

> On Wed, Oct 04, 2023 at 04:45:34PM -0700, Junio C Hamano wrote:
>
>> * js/ci-coverity (2023-09-25) 7 commits
>>  - SQUASH???
>>  - coverity: detect and report when the token or project is incorrect
>>  - coverity: allow running on macOS
>>  - coverity: support building on Windows
>>  - coverity: allow overriding the Coverity project
>>  - coverity: cache the Coverity Build Tool
>>  - ci: add a GitHub workflow to submit Coverity scans
>> 
>>  GitHub CI workflow has learned to trigger Coverity check.
>> 
>>  Looking good.
>>  source: <pull.1588.v2.git.1695642662.gitgitgadget@gmail.com>
>
> I think that has been sitting at "Looking good" for a few iterations.
> IMHO it is ready to progress, with the SQUASH applied on the final
> patch.

Ah, yes, unless I use some magic phrase (like "Will merge to" or
"Expecting") there in the report, entries tend to be left in the
noise.  Thanks for noticing and pinging.  Very much appreciated.

^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (Oct 2023, #01; Mon, 2)
  @ 2023-10-05 10:25 79%           ` Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2023-10-05 10:25 UTC (permalink / raw)
  To: Sergey Organov; +Cc: git

Sergey Organov <sorganov@gmail.com> writes:

> Just for better understanding: does it mean that *any* addition of
> one-letter option is prohibited from any existing Git command? Cause it
> definitely sounds this way.

No, we just prefer to think twice before giving short-and-sweet
single letter option to a feature that is not proven useful, and
during the discussion it has become rather clear that the proposed
combination of options goes against helping normal Git users by
forcing them to read an aggregated and redundant patch for a merge
when they already see patches for individual commits on the side
branch that was merged.

>> If I have to pick a candidate for "get me diff" that is the most
>> useful among those currently are available, it is "give patches to
>> all single-parent commit, and show tricky conflict resolution part
>> only for merge commits".
>
> I'm afraid you need to pick a candidate that will be natural for '-d',
> not just most useful output for your workflows, whatever it happens to
> be.

Literal match to word "diff" does not necessarily mean it is useful,
and short-and-sweet single-letter option name is primarily about
letting users reach useful features with minimum typing [*1*], so you
cannot avoid "most useful" being a large part of the equation.

I am wondering if we can have a generalized "personal command option
alias" mechanism implemented.  Then you can give '-[a-z]'[*2*] to
whatever combination you like without affecting others by only
futzing with your $HOME/.gitconfig file.


[Footnote]

 *1* ...or if we are mimicking options of an existing external
     commmand, we need to match them, but in this case it does not
     apply.

 *2* If we were to do this for real, it may make sense to carve out
     option namespace so that end-user aliases cannot overlap with
     official set of options.  For example, if you can never get a
     string that matches "^-![a-z]$" recognised as an official
     command line option by our parsers, then '-!' followed by a
     single letter would be a good candidate for our "personal
     command option alias" to work with, and '-!d' might be
     something you want to use your personal option alias, without
     having to worry about a later version of Git using the option
     officially for something else.

     Another thing that need to be considered when designing such a
     "command option alias" feature is how to express the set of
     commands an alias applies to, as some underlying commands may
     share the same set of options.  For example, having to say

	optionAlias.bisect.1 = --first-parent
	optionAlias.blame.1 = --first-parent
	optionAlias.log.1 = --first-parent

     is a bit too cumbersome to allow me to say "git bisect -!1",
     "git blame -!1", and "git log -!1".  But I am not offhand sure
     if a much simpler

	optionAlias.1 = --first-parent

     is sufficient.  "git commit -!1" would expand into "git commit
     --first-parent" and would give you an error with the usage
     message, which may not be too bad.  I dunno.


^ permalink raw reply	[relevance 79%]

* What's cooking in git.git (Oct 2023, #02; Wed, 4)
@ 2023-10-04 23:45 26% Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2023-10-04 23:45 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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']

* bb/unicode-width-table-15 (2023-09-25) 1 commit
  (merged to 'next' on 2023-09-28 at bb76f46606)
 + unicode: update the width tables to Unicode 15.1

 The display width table for unicode characters has been updated for
 Unicode 15.1
 source: <20230925190704.157731-1-dev+git@drbeat.li>


* jk/commit-graph-verify-fix (2023-09-28) 6 commits
  (merged to 'next' on 2023-09-28 at e3ed560a2f)
 + commit-graph: report incomplete chains during verification
 + commit-graph: tighten chain size check
 + commit-graph: detect read errors when verifying graph chain
 + t5324: harmonize sha1/sha256 graph chain corruption
 + commit-graph: check mixed generation validation when loading chain file
 + commit-graph: factor out chain opening function

 Various fixes to "git commit-graph verify".
 source: <20230928043746.GB57926@coredump.intra.peff.net>


* ks/ref-filter-mailmap (2023-09-25) 3 commits
  (merged to 'next' on 2023-09-28 at 0d3fd9959a)
 + ref-filter: add mailmap support
 + t/t6300: introduce test_bad_atom
 + t/t6300: cleanup test_atom

 "git for-each-ref" and friends learn to apply mailmap to authorname
 and other fields.
 source: <20230925175050.3498-1-five231003@gmail.com>


* ps/revision-cmdline-stdin-not (2023-09-25) 1 commit
  (merged to 'next' on 2023-09-28 at a28201e0dd)
 + revision: make pseudo-opt flags read via stdin behave consistently

 "git rev-list --stdin" learned to take non-revisions (like "--not")
 recently from the standard input, but the way such a "--not" was
 handled was quite confusing, which has been rethought.  This is
 potentially a change that breaks backward compatibility.
 source: <6221acd2796853144f8e84081655fbc79fdc6634.1695646898.git.ps@pks.im>


* xz/commit-title-soft-limit-doc (2023-09-28) 1 commit
  (merged to 'next' on 2023-09-28 at 20df852430)
 + doc: correct the 50 characters soft limit

 Doc tweak.
 source: <pull.1580.git.git.1695895155985.gitgitgadget@gmail.com>

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

* jk/commit-graph-leak-fixes (2023-10-03) 10 commits
 - commit-graph: clear oidset after finishing write
 - commit-graph: free write-context base_graph_name during cleanup
 - commit-graph: free write-context entries before overwriting
 - commit-graph: free graph struct that was not added to chain
 - commit-graph: delay base_graph assignment in add_graph_to_chain()
 - commit-graph: free all elements of graph chain
 - commit-graph: move slab-clearing to close_commit_graph()
 - merge: free result of repo_get_merge_bases()
 - commit-reach: free temporary list in get_octopus_merge_bases()
 - t6700: mark test as leak-free

 Leakfix.
 source: <20231003202504.GA7697@coredump.intra.peff.net>


* jm/git-status-submodule-states-docfix (2023-10-04) 1 commit
  (merged to 'next' on 2023-10-04 at 520b7711a4)
 + git-status.txt: fix minor asciidoc format issue

 Docfix.

 Will merge to 'master'.
 source: <pull.1591.v3.git.1696386165616.gitgitgadget@gmail.com>


* rs/parse-opt-ctx-cleanup (2023-10-03) 1 commit
  (merged to 'next' on 2023-10-04 at d5d0a2ce3b)
 + parse-options: drop unused parse_opt_ctx_t member

 Code clean-up.

 Will merge to 'master'.
 source: <ebcaa9e1-d306-4c93-adec-3f35d7040531@web.de>


* tb/repack-max-cruft-size (2023-10-03) 4 commits
 - builtin/repack.c: avoid making cruft packs preferred
 - builtin/repack.c: implement support for `--max-cruft-size`
 - builtin/repack.c: parse `--max-pack-size` with OPT_MAGNITUDE
 - t7700: split cruft-related tests to t7704

 "git repack" learned "--max-cruft-size" to prevent cruft packs from
 growing without bounds.

 Will merge to 'next'?
 source: <cover.1696293862.git.me@ttaylorr.com>


* ak/color-decorate-symbols (2023-10-03) 1 commit
 - decorate: add color.decorate.symbols config option

 A new config for coloring.

 Needs review.
 source: <20231003205442.22963-1-andy.koppe@gmail.com>


* jc/attr-tree-config (2023-10-04) 2 commits
 - attr: add attr.allowInvalidSource config to allow invalid revision
 - attr: add attr.tree for setting the treeish to read attributes from

 The attribute subsystem learned to honor `attr.tree` configuration
 that specifies which tree to read the .gitattributes files from.

 Needs review.
 source: <pull.1577.v2.git.git.1696443502.gitgitgadget@gmail.com>


* js/submodule-fix-misuse-of-path-and-name (2023-10-03) 6 commits
 - t7420: test that we correctly handle renamed submodules
 - t7419: test that we correctly handle renamed submodules
 - t7419, t7420: use test_cmp_config instead of grepping .gitmodules
 - t7419: actually test the branch switching
 - submodule--helper: return error from set-url when modifying failed
 - submodule--helper: use submodule_from_path in set-{url,branch}

 In .gitmodules files, submodules are keyed by their names, and the
 path to the submodule whose name is $name is specified by the
 submodule.$name.path variable.  There were a few codepaths that
 mixed the name and path up when consulting the submodule database,
 which have been corrected.  It took long for these bugs to be found
 as the name of a submodule initially is the same as its path, and
 the problem does not surface until it is moved to a different path,
 which apparently happens very rarely.

 Will merge to 'next'?
 source: <0a0a157f88321d25fdb0be771a454b3410a449f3.camel@archlinux.org>

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

* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
 - diff-lib: fix check_removed() when fsmonitor is active
 - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
 - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
 (this branch uses jc/fake-lstat.)

 The optimization based on fsmonitor in the "diff --cached"
 codepath is resurrected with the "fake-lstat" introduced earlier.

 It is unknown if the optimization is worth resurrecting, but in case...
 source: <xmqqr0n0h0tw.fsf@gitster.g>

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

* cw/prelim-cleanup (2023-09-29) 4 commits
  (merged to 'next' on 2023-10-03 at 5985929612)
 + parse: separate out parsing functions from config.h
 + config: correct bad boolean env value error message
 + wrapper: reduce scope of remove_or_warn()
 + hex-ll: separate out non-hash-algo functions

 Shuffle some bits across headers and sources to prepare for
 libification effort.

 Will merge to 'master'.
 source: <cover.1696021277.git.jonathantanmy@google.com>


* ds/init-diffstat-width (2023-09-29) 1 commit
  (merged to 'next' on 2023-10-03 at 18383ac895)
 + diff --stat: set the width defaults in a helper function

 Code clean-up.

 Will merge to 'master'.
 source: <d45d1dac1a20699e370905b88b6fd0ec296751e7.1695441501.git.dsimic@manjaro.org>


* ar/diff-index-merge-base-fix (2023-10-02) 1 commit
 - diff: fix --merge-base with annotated tags

 source: <20231001151845.3621551-1-hi@alyssa.is>


* eb/limit-bulk-checkin-to-blobs (2023-09-26) 1 commit
  (merged to 'next' on 2023-10-02 at 89c9c95966)
 + bulk-checkin: only support blobs in index_bulk_checkin

 The "streaming" interface used for bulk-checkin codepath has been
 narrowed to take only blob objects for now, with no real loss of
 functionality.

 Will merge to 'master'.
 source: <87msx99b9o.fsf_-_@gmail.froward.int.ebiederm.org>


* js/update-urls-in-doc-and-comment (2023-09-26) 4 commits
 - doc: refer to internet archive
 - doc: update links for andre-simon.de
 - doc: update links to current pages
 - doc: switch links to https

 Stale URLs have been updated to their current counterparts (or
 archive.org) and HTTP links are replaced with working HTTPS links.

 Needs eyeballing.
 source: <pull.1589.v2.git.1695553041.gitgitgadget@gmail.com>


* la/trailer-cleanups (2023-09-26) 4 commits
 - trailer: only use trailer_block_* variables if trailers were found
 - trailer: use offsets for trailer_start/trailer_end
 - trailer: find the end of the log message
 - commit: ignore_non_trailer computes number of bytes to ignore

 Code clean-up.

 Needs review.
 source: <pull.1563.v4.git.1695709372.gitgitgadget@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Breaks a few CI jobs when merged to 'seen'.
 cf. <xmqqbkdmjbkp.fsf@gitster.g>
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* jx/remote-archive-over-smart-http (2023-10-04) 4 commits
 - archive: support remote archive from stateless transport
 - transport-helper: call do_take_over() in connect_helper
 - transport-helper: call do_take_over() in process_connect
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 source: <cover.1696432593.git.zhiyou.jx@alibaba-inc.com>


* jx/sideband-chomp-newline-fix (2023-10-04) 3 commits
 - pkt-line: do not chomp newlines for sideband messages
 - pkt-line: memorize sideband fragment in reader
 - test-pkt-line: add option parser for unpack-sideband

 Sideband demultiplexer fixes.

 Needs review.
 source: <cover.1696425168.git.zhiyou.jx@alibaba-inc.com>


* ty/merge-tree-strategy-options (2023-09-25) 1 commit
  (merged to 'next' on 2023-09-29 at aa65b54416)
 + merge-tree: add -X strategy option

 "git merge-tree" learned to take strategy backend specific options
 via the "-X" option, like "git merge" does.

 Will merge to 'master'.
 source: <pull.1565.v6.git.1695522222723.gitgitgadget@gmail.com>


* js/ci-coverity (2023-09-25) 7 commits
 - SQUASH???
 - coverity: detect and report when the token or project is incorrect
 - coverity: allow running on macOS
 - coverity: support building on Windows
 - coverity: allow overriding the Coverity project
 - coverity: cache the Coverity Build Tool
 - ci: add a GitHub workflow to submit Coverity scans

 GitHub CI workflow has learned to trigger Coverity check.

 Looking good.
 source: <pull.1588.v2.git.1695642662.gitgitgadget@gmail.com>


* js/config-parse (2023-09-21) 5 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split do_event() into start and flush operations
 - config: split out config_parse_options

 The parsing routines for the configuration files have been split
 into a separate file.
 source: <cover.1695330852.git.steadmon@google.com>


* jc/fake-lstat (2023-09-15) 1 commit
 - cache: add fake_lstat()
 (this branch is used by jc/diff-cached-fsmonitor-fix.)

 A new helper to let us pretend that we called lstat() when we know
 our cache_entry is up-to-date via fsmonitor.

 Needs review.
 source: <xmqqcyykig1l.fsf@gitster.g>


* kn/rev-list-ignore-missing-links (2023-09-20) 1 commit
 - revision: add `--ignore-missing-links` user option

 Surface the .ignore_missing_links bit that stops the revision
 traversal from stopping and dying when encountering a missing
 object to a new command line option of "git rev-list", so that the
 objects that are required but are missing can be enumerated.

 Waiting for review response.
 source: <20230920104507.21664-1-karthik.188@gmail.com>


* rs/parse-options-value-int (2023-09-18) 2 commits
 - parse-options: use and require int pointer for OPT_CMDMODE
 - parse-options: add int value pointer to struct option

 A bit of type safety for the "value" pointer used in the
 parse-options API.

 Comments?
 source: <e6d8a291-03de-cfd3-3813-747fc2cad145@web.de>


* so/diff-merges-d (2023-09-11) 2 commits
 - diff-merges: introduce '-d' option
 - diff-merges: improve --diff-merges documentation

 Teach a new "-d" option that shows the patch against the first
 parent for merge commits (which is "--diff-merges=first-parent -p").

 Letting a less useful combination of options squat on short-and-sweet "-d" feels dubious.
 source: <20230909125446.142715-1-sorganov@gmail.com>


* cc/repack-sift-filtered-objects-to-separate-pack (2023-10-02) 9 commits
  (merged to 'next' on 2023-10-03 at e5a4824609)
 + gc: add `gc.repackFilterTo` config option
 + repack: implement `--filter-to` for storing filtered out objects
 + gc: add `gc.repackFilter` config option
 + repack: add `--filter=<filter-spec>` option
 + pack-bitmap-write: rebuild using new bitmap when remapping
 + repack: refactor finding pack prefix
 + repack: refactor finishing pack-objects command
 + t/helper: add 'find-pack' test-tool
 + pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 Will merge to 'master'.
 cf. <ZRsknb4NxNHTR21E@nand.local>
 source: <20231002165504.1325153-1-christian.couder@gmail.com>


* pw/rebase-sigint (2023-09-07) 1 commit
 - rebase -i: ignore signals when forking subprocesses

 If the commit log editor or other external programs (spawned via
 "exec" insn in the todo list) receive internactive signal during
 "git rebase -i", it caused not just the spawned program but the
 "Git" process that spawned them, which is often not what the end
 user intended.  "git" learned to ignore SIGINT and SIGQUIT while
 waiting for these subprocesses.

 Expecting a reroll.
 cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
 source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>


* cc/git-replay (2023-09-07) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 Waiting for review response.
 cf. <52277471-4ddd-b2e0-62ca-c2a5b59ae418@gmx.de>
 cf. <58daa706-7efb-51dd-9061-202ef650b96a@gmx.de>
 cf. <f0e75d47-c277-9fbb-7bcd-53e4e5686f3c@gmx.de>
 May want to wait until tb/repack-existing-packs-cleanup stabilizes.
 source: <20230907092521.733746-1-christian.couder@gmail.com>


* la/trailer-test-and-doc-updates (2023-09-07) 13 commits
 - trailer doc: <token> is a <key> or <keyAlias>, not both
 - trailer doc: separator within key suppresses default separator
 - trailer doc: emphasize the effect of configuration variables
 - trailer --unfold help: prefer "reformat" over "join"
 - trailer --parse docs: add explanation for its usefulness
 - trailer --only-input: prefer "configuration variables" over "rules"
 - trailer --parse help: expose aliased options
 - trailer --no-divider help: describe usual "---" meaning
 - trailer: trailer location is a place, not an action
 - trailer doc: narrow down scope of --where and related flags
 - trailer: add tests to check defaulting behavior with --no-* flags
 - trailer test description: this tests --where=after, not --where=before
 - trailer tests: make test cases self-contained

 Test coverage for trailers has been improved.
 source: <pull.1564.v3.git.1694125209.gitgitgadget@gmail.com>


* js/doc-unit-tests (2023-08-17) 3 commits
 - ci: run unit tests in CI
 - unit tests: add TAP unit test framework
 - unit tests: Add a project plan document
 (this branch is used by js/doc-unit-tests-with-cmake.)

 Process to add some form of low-level unit tests has started.

 Waiting for review response.
 cf. <xmqq350hw6n7.fsf@gitster.g>
 source: <cover.1692297001.git.steadmon@google.com>


* js/doc-unit-tests-with-cmake (2023-09-25) 7 commits
 - cmake: handle also unit tests
 - cmake: use test names instead of full paths
 - cmake: fix typo in variable name
 - artifacts-tar: when including `.dll` files, don't forget the unit-tests
 - unit-tests: do show relative file paths
 - unit-tests: do not mistake `.pdb` files for being executable
 - cmake: also build unit tests
 (this branch uses js/doc-unit-tests.)

 Update the base topic to work with CMake builds.

 Waiting for the base topic to settle.
 source: <pull.1579.v3.git.1695640836.gitgitgadget@gmail.com>


* tb/path-filter-fix (2023-08-30) 15 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Still being discussed.
 cf. <20230830200218.GA5147@szeder.dev>
 cf. <20230901205616.3572722-1-jonathantanmy@google.com>
 cf. <20230924195900.GA1156862@szeder.dev>
 source: <cover.1693413637.git.jonathantanmy@google.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-08-01) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 cf. <xmqqtttia3vn.fsf@gitster.g>
 source: <48745298-f12b-8efb-4e48-90d2c22a8349@gmail.com>

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

* tb/ci-coverity (2023-09-21) 1 commit
 . .github/workflows: add coverity action

 GitHub CI workflow has learned to trigger Coverity check.

 Superseded by the js/ci-coverity topic.
 source: <b23951c569660e1891a7fb3ad2c2ea1952897bd7.1695332105.git.me@ttaylorr.com>


* cw/git-std-lib (2023-09-11) 7 commits
 . SQUASH???
 . git-std-lib: add test file to call git-std-lib.a functions
 . git-std-lib: introduce git standard library
 . parse: create new library for parsing strings and env values
 . config: correct bad boolean env value error message
 . wrapper: remove dependency to Git-specific internal file
 . hex-ll: split out functionality from hex

 Another libification effort.

 Superseded by the cw/prelim-cleanup topic.
 cf. <xmqqy1hfrk6p.fsf@gitster.g>
 cf. <20230915183927.1597414-1-jonathantanmy@google.com>
 source: <20230908174134.1026823-1-calvinwan@google.com>

^ permalink raw reply	[relevance 26%]

* Re: What's cooking in git.git (Oct 2023, #01; Mon, 2)
  @ 2023-10-04 16:28 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-10-04 16:28 UTC (permalink / raw)
  To: Eric W. Biederman; +Cc: git, Eric W. Biederman

"Eric W. Biederman" <ebiederm@xmission.com> writes:

> I pushed v2 out precisely because it contains fixes that should have
> fixed all of the CI breakages.
>
> I am not really familiar with github but looking at the recent CI runs
> it appears since v2 landed the seen branch has been building cleanly.

https://github.com/git/git/actions/runs/6398848314 shows the CI run
with seen at 7052c9b and it seems it does have the
eb/hash-transition topic in it.

> I just don't want people to avoid reviewing it because it is that huge
> patchset that causes problems in seen.

Certainly.

I have seen people review patches that do not even compile, though,
so "problems in seen" may not be that much of an issue, compared to
how intimidating the large series looks like.

Thanks.

^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (Oct 2023, #01; Mon, 2)
  @ 2023-10-04  8:20 99%       ` Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2023-10-04  8:20 UTC (permalink / raw)
  To: Sergey Organov; +Cc: git

Sergey Organov <sorganov@gmail.com> writes:

> Junio C Hamano <gitster@pobox.com> writes:
>
>> Sergey Organov <sorganov@gmail.com> writes:
>>
>>> I believe I've addressed this in details in my reply here:
>>> <87o7hok8dx.fsf@osv.gnss.ru>, and got no further objections from you
>>> since then, so I figure I'd ask to finally let the patch in.
>>
>> You need to know that no response does not mean no objection.  You
>> repeated why the less useful combination is what you want, but that
>> does not mean the combination deserves to squat on short-and-sweet
>> 'd' and prevent others from coming up with a better use for it.
>
> Yep, but I've asked what's better use for -d than "get me diff"? Do you
> really have an idea?

The primary point is to leave it open for future developers.

If I have to pick a candidate for "get me diff" that is the most
useful among those currently are available, it is "give patches to
all single-parent commit, and show tricky conflict resolution part
only for merge commits".  Before "--remerge-diff" was invented, my
answer would have been "give patches to all single-parent commit,
and show combined diff in the compact form for merge commits", aka
"git log --cc".  Even though we did not know if a better output
presentation for merge commits would be coming, we did not let it
squat on any short-and-sweet single letter synonym.

^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (Oct 2023, #01; Mon, 2)
  @ 2023-10-03 16:33 99%   ` Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2023-10-03 16:33 UTC (permalink / raw)
  To: Sergey Organov; +Cc: git

Sergey Organov <sorganov@gmail.com> writes:

> I believe I've addressed this in details in my reply here:
> <87o7hok8dx.fsf@osv.gnss.ru>, and got no further objections from you
> since then, so I figure I'd ask to finally let the patch in.

You need to know that no response does not mean no objection.  You
repeated why the less useful combination is what you want, but that
does not mean the combination deserves to squat on short-and-sweet
'd' and prevent others from coming up with a better use for it.

^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Oct 2023, #01; Mon, 2)
@ 2023-10-03  0:30 25% Junio C Hamano
      0 siblings, 2 replies; 200+ results
From: Junio C Hamano @ 2023-10-03  0:30 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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']

* ds/stat-name-width-configuration (2023-09-18) 1 commit
  (merged to 'next' on 2023-09-22 at dbf5bd96e8)
 + diff --stat: add config option to limit filename width

 "git diff" learned diff.statNameWidth configuration variable, to
 give the default width for the name part in the "--stat" output.
 source: <87badb12f040d1c66cd9b89074d3de5015a45983.1694446743.git.dsimic@manjaro.org>


* hy/doc-show-is-like-log-not-diff-tree (2023-09-20) 1 commit
  (merged to 'next' on 2023-09-22 at 5492c03eae)
 + show doc: redirect user to git log manual instead of git diff-tree

 Doc update.
 source: <20230920132731.1259-1-hanyang.tony@bytedance.com>


* jc/alias-completion (2023-09-20) 1 commit
  (merged to 'next' on 2023-09-22 at 1d069e900b)
 + completion: loosen and document the requirement around completing alias

 The command line completion script (in contrib/) can be told to
 complete aliases by including ": git <cmd> ;" in the alias to tell
 it that the alias should be completed similar to how "git <cmd>" is
 completed.  The parsing code for the alias as been loosened to
 allow ';' without an extra space before it.
 cf. <owlyjzssjro2.fsf@fine.c.googlers.com>
 source: <xmqqy1h08zsp.fsf_-_@gitster.g>


* jc/unresolve-removal (2023-07-31) 7 commits
  (merged to 'next' on 2023-09-25 at 0563c8d8a1)
 + checkout: allow "checkout -m path" to unmerge removed paths
 + checkout/restore: add basic tests for --merge
 + checkout/restore: refuse unmerging paths unless checking out of the index
 + update-index: remove stale fallback code for "--unresolve"
 + update-index: use unmerge_index_entry() to support removal
 + resolve-undo: allow resurrecting conflicted state that resolved to deletion
 + update-index: do not read HEAD and MERGE_HEAD unconditionally
 (this branch is used by jc/rerere-cleanup.)

 "checkout --merge -- path" and "update-index --unresolve path" did
 not resurrect conflicted state that was resolved to remove path,
 but now they do.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* jk/fsmonitor-unused-parameter (2023-09-18) 8 commits
  (merged to 'next' on 2023-09-19 at bd06505f9e)
 + run-command: mark unused parameters in start_bg_wait callbacks
 + fsmonitor: mark unused hashmap callback parameters
 + fsmonitor/darwin: mark unused parameters in system callback
 + fsmonitor: mark unused parameters in stub functions
 + fsmonitor/win32: mark unused parameter in fsm_os__incompatible()
 + fsmonitor: mark some maybe-unused parameters
 + fsmonitor/win32: drop unused parameters
 + fsmonitor: prefer repo_git_path() to git_pathdup()

 Unused parameters in fsmonitor related code paths have been marked
 as such.
 source: <20230918222908.GA2659096@coredump.intra.peff.net>


* jk/test-pass-ubsan-options-to-http-test (2023-09-21) 1 commit
  (merged to 'next' on 2023-09-22 at bbe2f75937)
 + test-lib: set UBSAN_OPTIONS to match ASan

 UBSAN options were not propagated through the test framework to git
 run via the httpd, unlike ASAN options, which has been corrected.
 source: <20230921041825.GA2814583@coredump.intra.peff.net>


* js/doc-status-with-submodules-mark-up-fix (2023-09-22) 1 commit
  (merged to 'next' on 2023-09-25 at 7ed318fc91)
 + Documentation/git-status: add missing line breaks

 Docfix.
 source: <pull.1590.git.1695392082207.gitgitgadget@gmail.com>


* kh/range-diff-notes (2023-09-19) 1 commit
  (merged to 'next' on 2023-09-22 at ac04978b4b)
 + range-diff: treat notes like `log`

 "git range-diff --notes=foo" compared "log --notes=foo --notes" of
 the two ranges, instead of using just the specified notes tree.
 source: <6e114271a2e7d2323193bd58bb307f60101942ce.1695154855.git.code@khaugsbakk.name>


* ml/git-gui-exec-path-fix (2023-09-18) 3 commits
  (merged to 'next' on 2023-09-19 at 0565b0b14b)
 + Merge git-gui into ml/git-gui-exec-path-fix
 + git-gui - use git-hook, honor core.hooksPath
 + git-gui - re-enable use of hook scripts

 Fix recent regression in Git-GUI that fails to run hook scripts at
 all.


* ob/am-msgfix (2023-09-21) 1 commit
  (merged to 'next' on 2023-09-22 at 7f7589a06a)
 + am: fix error message in parse_opt_show_current_patch()

 The parameters to generate an error message have been corrected.
 source: <20230921110727.789156-1-oswald.buddenhagen@gmx.de>

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

* cw/prelim-cleanup (2023-09-29) 4 commits
 - parse: separate out parsing functions from config.h
 - config: correct bad boolean env value error message
 - wrapper: reduce scope of remove_or_warn()
 - hex-ll: separate out non-hash-algo functions

 Shuffle some bits across headers and sources to prepare for
 libification effort.

 Will merge to 'next'.
 source: <cover.1696021277.git.jonathantanmy@google.com>


* ds/init-diffstat-width (2023-09-29) 1 commit
 - diff --stat: set the width defaults in a helper function

 Code clean-up.

 Will merge to 'next'.
 source: <d45d1dac1a20699e370905b88b6fd0ec296751e7.1695441501.git.dsimic@manjaro.org>


* ar/diff-index-merge-base-fix (2023-10-02) 1 commit
 - diff: fix --merge-base with annotated tags

 source: <20231001151845.3621551-1-hi@alyssa.is>

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

* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
 - diff-lib: fix check_removed() when fsmonitor is active
 - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
 - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
 (this branch uses jc/fake-lstat.)

 The optimization based on fsmonitor in the "diff --cached"
 codepath is resurrected with the "fake-lstat" introduced earlier.

 It is unknown if the optimization is worth resurrecting, but in case...
 source: <xmqqr0n0h0tw.fsf@gitster.g>

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

* bb/unicode-width-table-15 (2023-09-25) 1 commit
  (merged to 'next' on 2023-09-28 at bb76f46606)
 + unicode: update the width tables to Unicode 15.1

 The display width table for unicode characters has been updated for
 Unicode 15.1

 Will merge to 'master'.
 source: <20230925190704.157731-1-dev+git@drbeat.li>


* eb/limit-bulk-checkin-to-blobs (2023-09-26) 1 commit
  (merged to 'next' on 2023-10-02 at 89c9c95966)
 + bulk-checkin: only support blobs in index_bulk_checkin

 The "streaming" interface used for bulk-checkin codepath has been
 narrowed to take only blob objects for now, with no real loss of
 functionality.

 Will merge to 'master'.
 source: <87msx99b9o.fsf_-_@gmail.froward.int.ebiederm.org>


* jk/commit-graph-verify-fix (2023-09-28) 6 commits
  (merged to 'next' on 2023-09-28 at e3ed560a2f)
 + commit-graph: report incomplete chains during verification
 + commit-graph: tighten chain size check
 + commit-graph: detect read errors when verifying graph chain
 + t5324: harmonize sha1/sha256 graph chain corruption
 + commit-graph: check mixed generation validation when loading chain file
 + commit-graph: factor out chain opening function

 Various fixes to "git commit-graph verify".

 Will merge to 'master'.
 source: <20230928043746.GB57926@coredump.intra.peff.net>


* js/update-urls-in-doc-and-comment (2023-09-26) 4 commits
 - doc: refer to internet archive
 - doc: update links for andre-simon.de
 - doc: update links to current pages
 - doc: switch links to https

 Stale URLs have been updated to their current counterparts (or
 archive.org) and HTTP links are replaced with working HTTPS links.

 Needs eyeballing.
 source: <pull.1589.v2.git.1695553041.gitgitgadget@gmail.com>


* la/trailer-cleanups (2023-09-26) 4 commits
 - trailer: only use trailer_block_* variables if trailers were found
 - trailer: use offsets for trailer_start/trailer_end
 - trailer: find the end of the log message
 - commit: ignore_non_trailer computes number of bytes to ignore

 Code clean-up.

 Needs review.
 source: <pull.1563.v4.git.1695709372.gitgitgadget@gmail.com>


* eb/hash-transition (2023-10-02) 30 commits
 - t1016-compatObjectFormat: add tests to verify the conversion between objects
 - t1006: test oid compatibility with cat-file
 - t1006: rename sha1 to oid
 - test-lib: compute the compatibility hash so tests may use it
 - builtin/ls-tree: let the oid determine the output algorithm
 - object-file: handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: let the oid determine the output algorithm
 - rev-parse: add an --output-object-format parameter
 - repository: implement extensions.compatObjectFormat
 - object-file: update object_info_extended to reencode objects
 - object-file-convert: convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: export add_header_signature to support handling signatures on tags
 - commit: convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: add a compat_oid_in parameter to write_object_file_flags
 - object-file: update the loose object map when writing loose objects
 - loose: compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: support input of oids in any supported hash
 - oid-array: teach oid-array to handle multiple kinds of oids
 - object-file-convert: stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Breaks a few CI jobs when merged to 'seen'.
 cf. <xmqqbkdmjbkp.fsf@gitster.g>
 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>


* xz/commit-title-soft-limit-doc (2023-09-28) 1 commit
  (merged to 'next' on 2023-09-28 at 20df852430)
 + doc: correct the 50 characters soft limit

 Doc tweak.

 Will merge to 'master'.
 source: <pull.1580.git.git.1695895155985.gitgitgadget@gmail.com>


* jx/remote-archive-over-smart-http (2023-09-25) 3 commits
 - archive: support remote archive from stateless transport
 - transport-helper: run do_take_over in connect_helper
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Expecting a reroll.
 cf. <CANYiYbFkG+CvrNFBkdNewZs7ADROVsjd051SDQsU0zVq8eBhew@mail.gmail.com>
 source: <20230923152201.14741-1-worldhello.net@gmail.com>


* jx/sideband-chomp-newline-fix (2023-09-25) 3 commits
 - pkt-line: do not chomp newlines for sideband messages
 - pkt-line: memorize sideband fragment in reader
 - test-pkt-line: add option parser for unpack-sideband

 Sideband demultiplexer fixes.

 Needs review.
 source: <CANYiYbF+Xmk4rCNLMJe+i_CFafg8=QU5vbXWNUZbOVsDLTe5QQ@mail.gmail.com>


* ks/ref-filter-mailmap (2023-09-25) 3 commits
  (merged to 'next' on 2023-09-28 at 0d3fd9959a)
 + ref-filter: add mailmap support
 + t/t6300: introduce test_bad_atom
 + t/t6300: cleanup test_atom

 "git for-each-ref" and friends learn to apply mailmap to authorname
 and other fields.

 Will merge to 'master'.
 source: <20230925175050.3498-1-five231003@gmail.com>


* ps/revision-cmdline-stdin-not (2023-09-25) 1 commit
  (merged to 'next' on 2023-09-28 at a28201e0dd)
 + revision: make pseudo-opt flags read via stdin behave consistently

 "git rev-list --stdin" learned to take non-revisions (like "--not")
 recently from the standard input, but the way such a "--not" was
 handled was quite confusing, which has been rethought.  This is
 potentially a change that breaks backward compatibility.

 Will merge to 'master'.
 source: <6221acd2796853144f8e84081655fbc79fdc6634.1695646898.git.ps@pks.im>


* ty/merge-tree-strategy-options (2023-09-25) 1 commit
  (merged to 'next' on 2023-09-29 at aa65b54416)
 + merge-tree: add -X strategy option

 "git merge-tree" learned to take strategy backend specific options
 via the "-X" option, like "git merge" does.

 Will merge to 'master'.
 source: <pull.1565.v6.git.1695522222723.gitgitgadget@gmail.com>


* js/ci-coverity (2023-09-25) 7 commits
 - SQUASH???
 - coverity: detect and report when the token or project is incorrect
 - coverity: allow running on macOS
 - coverity: support building on Windows
 - coverity: allow overriding the Coverity project
 - coverity: cache the Coverity Build Tool
 - ci: add a GitHub workflow to submit Coverity scans

 GitHub CI workflow has learned to trigger Coverity check.

 Looking good.
 source: <pull.1588.v2.git.1695642662.gitgitgadget@gmail.com>


* js/config-parse (2023-09-21) 5 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split do_event() into start and flush operations
 - config: split out config_parse_options

 The parsing routines for the configuration files have been split
 into a separate file.
 source: <cover.1695330852.git.steadmon@google.com>


* jc/fake-lstat (2023-09-15) 1 commit
 - cache: add fake_lstat()
 (this branch is used by jc/diff-cached-fsmonitor-fix.)

 A new helper to let us pretend that we called lstat() when we know
 our cache_entry is up-to-date via fsmonitor.

 Needs review.
 source: <xmqqcyykig1l.fsf@gitster.g>


* kn/rev-list-ignore-missing-links (2023-09-20) 1 commit
 - revision: add `--ignore-missing-links` user option

 Surface the .ignore_missing_links bit that stops the revision
 traversal from stopping and dying when encountering a missing
 object to a new command line option of "git rev-list", so that the
 objects that are required but are missing can be enumerated.

 Waiting for review response.
 source: <20230920104507.21664-1-karthik.188@gmail.com>


* rs/parse-options-value-int (2023-09-18) 2 commits
 - parse-options: use and require int pointer for OPT_CMDMODE
 - parse-options: add int value pointer to struct option

 A bit of type safety for the "value" pointer used in the
 parse-options API.

 Comments?
 source: <e6d8a291-03de-cfd3-3813-747fc2cad145@web.de>


* so/diff-merges-d (2023-09-11) 2 commits
 - diff-merges: introduce '-d' option
 - diff-merges: improve --diff-merges documentation

 Teach a new "-d" option that shows the patch against the first
 parent for merge commits (which is "--diff-merges=first-parent -p").

 Letting a less useful combination of options squat on short-and-sweet "-d" feels dubious.
 source: <20230909125446.142715-1-sorganov@gmail.com>


* cc/repack-sift-filtered-objects-to-separate-pack (2023-10-02) 9 commits
 - gc: add `gc.repackFilterTo` config option
 - repack: implement `--filter-to` for storing filtered out objects
 - gc: add `gc.repackFilter` config option
 - repack: add `--filter=<filter-spec>` option
 - pack-bitmap-write: rebuild using new bitmap when remapping
 - repack: refactor finding pack prefix
 - repack: refactor finishing pack-objects command
 - t/helper: add 'find-pack' test-tool
 - pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 Will merge to 'next'.
 cf. <ZRsknb4NxNHTR21E@nand.local>
 source: <20231002165504.1325153-1-christian.couder@gmail.com>


* pw/rebase-sigint (2023-09-07) 1 commit
 - rebase -i: ignore signals when forking subprocesses

 If the commit log editor or other external programs (spawned via
 "exec" insn in the todo list) receive internactive signal during
 "git rebase -i", it caused not just the spawned program but the
 "Git" process that spawned them, which is often not what the end
 user intended.  "git" learned to ignore SIGINT and SIGQUIT while
 waiting for these subprocesses.

 Expecting a reroll.
 cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
 source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>


* cc/git-replay (2023-09-07) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 Waiting for review response.
 cf. <52277471-4ddd-b2e0-62ca-c2a5b59ae418@gmx.de>
 cf. <58daa706-7efb-51dd-9061-202ef650b96a@gmx.de>
 cf. <f0e75d47-c277-9fbb-7bcd-53e4e5686f3c@gmx.de>
 May want to wait until tb/repack-existing-packs-cleanup stabilizes.
 source: <20230907092521.733746-1-christian.couder@gmail.com>


* la/trailer-test-and-doc-updates (2023-09-07) 13 commits
 - trailer doc: <token> is a <key> or <keyAlias>, not both
 - trailer doc: separator within key suppresses default separator
 - trailer doc: emphasize the effect of configuration variables
 - trailer --unfold help: prefer "reformat" over "join"
 - trailer --parse docs: add explanation for its usefulness
 - trailer --only-input: prefer "configuration variables" over "rules"
 - trailer --parse help: expose aliased options
 - trailer --no-divider help: describe usual "---" meaning
 - trailer: trailer location is a place, not an action
 - trailer doc: narrow down scope of --where and related flags
 - trailer: add tests to check defaulting behavior with --no-* flags
 - trailer test description: this tests --where=after, not --where=before
 - trailer tests: make test cases self-contained

 Test coverage for trailers has been improved.
 source: <pull.1564.v3.git.1694125209.gitgitgadget@gmail.com>


* js/doc-unit-tests (2023-08-17) 3 commits
 - ci: run unit tests in CI
 - unit tests: add TAP unit test framework
 - unit tests: Add a project plan document
 (this branch is used by js/doc-unit-tests-with-cmake.)

 Process to add some form of low-level unit tests has started.

 Waiting for review response.
 cf. <xmqq350hw6n7.fsf@gitster.g>
 source: <cover.1692297001.git.steadmon@google.com>


* js/doc-unit-tests-with-cmake (2023-09-25) 7 commits
 - cmake: handle also unit tests
 - cmake: use test names instead of full paths
 - cmake: fix typo in variable name
 - artifacts-tar: when including `.dll` files, don't forget the unit-tests
 - unit-tests: do show relative file paths
 - unit-tests: do not mistake `.pdb` files for being executable
 - cmake: also build unit tests
 (this branch uses js/doc-unit-tests.)

 Update the base topic to work with CMake builds.

 Waiting for the base topic to settle.
 source: <pull.1579.v3.git.1695640836.gitgitgadget@gmail.com>


* tb/path-filter-fix (2023-08-30) 15 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Still being discussed.
 cf. <20230830200218.GA5147@szeder.dev>
 cf. <20230901205616.3572722-1-jonathantanmy@google.com>
 cf. <20230924195900.GA1156862@szeder.dev>
 source: <cover.1693413637.git.jonathantanmy@google.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230824205456.1231371-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-08-01) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 cf. <xmqqtttia3vn.fsf@gitster.g>
 source: <48745298-f12b-8efb-4e48-90d2c22a8349@gmail.com>

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

* tb/ci-coverity (2023-09-21) 1 commit
 . .github/workflows: add coverity action

 GitHub CI workflow has learned to trigger Coverity check.

 Superseded by the js/ci-coverity topic.
 source: <b23951c569660e1891a7fb3ad2c2ea1952897bd7.1695332105.git.me@ttaylorr.com>


* cw/git-std-lib (2023-09-11) 7 commits
 . SQUASH???
 . git-std-lib: add test file to call git-std-lib.a functions
 . git-std-lib: introduce git standard library
 . parse: create new library for parsing strings and env values
 . config: correct bad boolean env value error message
 . wrapper: remove dependency to Git-specific internal file
 . hex-ll: split out functionality from hex

 Another libification effort.

 Superseded by the cw/prelim-cleanup topic.
 cf. <xmqqy1hfrk6p.fsf@gitster.g>
 cf. <20230915183927.1597414-1-jonathantanmy@google.com>
 source: <20230908174134.1026823-1-calvinwan@google.com>

^ permalink raw reply	[relevance 25%]

* What's cooking in git.git (Sep 2023, #09; Thu, 28)
@ 2023-09-29  1:15 25% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-09-29  1:15 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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]

* bb/unicode-width-table-15 (2023-09-25) 1 commit
  (merged to 'next' on 2023-09-28 at bb76f46606)
 + unicode: update the width tables to Unicode 15.1

 The display width table for unicode characters has been updated for
 Unicode 15.1

 Will merge to 'master'.
 source: <20230925190704.157731-1-dev+git@drbeat.li>


* eb/limit-bulk-checkin-to-blobs (2023-09-26) 1 commit
 - bulk-checkin: only support blobs in index_bulk_checkin

 The "streaming" interface used for bulk-checkin codepath has been
 narrowed to take only blob objects for now, with no real loss of
 functionality.

 Will merge to 'next'.
 source: <87msx99b9o.fsf_-_@gmail.froward.int.ebiederm.org>


* jk/commit-graph-verify-fix (2023-09-28) 6 commits
  (merged to 'next' on 2023-09-28 at e3ed560a2f)
 + commit-graph: report incomplete chains during verification
 + commit-graph: tighten chain size check
 + commit-graph: detect read errors when verifying graph chain
 + t5324: harmonize sha1/sha256 graph chain corruption
 + commit-graph: check mixed generation validation when loading chain file
 + commit-graph: factor out chain opening function

 Various fixes to "git commit-graph verify".

 Will merge to 'master'.
 source: <20230928043746.GB57926@coredump.intra.peff.net>


* js/update-urls-in-doc-and-comment (2023-09-26) 4 commits
 - doc: refer to internet archive
 - doc: update links for andre-simon.de
 - doc: update links to current pages
 - doc: switch links to https

 Stale URLs have been updated to their current counterparts (or
 archive.org) and HTTP links are replaced with working HTTPS links.

 Needs eyeballing.
 source: <pull.1589.v2.git.1695553041.gitgitgadget@gmail.com>


* la/trailer-cleanups (2023-09-26) 4 commits
 - trailer: only use trailer_block_* variables if trailers were found
 - trailer: use offsets for trailer_start/trailer_end
 - trailer: find the end of the log message
 - commit: ignore_non_trailer computes number of bytes to ignore

 Code clean-up.

 Needs review.
 source: <pull.1563.v4.git.1695709372.gitgitgadget@gmail.com>


* eb/hash-transition (2023-09-27) 30 commits
 - t1016-compatObjectFormat: Add tests to verify the conversion between objects
 - t1006: Test oid compatibility with cat-file
 - t1006: Rename sha1 to oid
 - test-lib: Compute the compatibility hash so tests may use it
 - builtin/ls-tree: Let the oid determine the output algorithm
 - object-file: Handle compat objects in check_object_signature
 - tree-walk: init_tree_desc take an oid to get the hash algorithm
 - builtin/cat-file: Let the oid determine the output algorithm
 - rev-parse: Add an --output-object-format parameter
 - repository: Implement extensions.compatObjectFormat
 - object-file: Update object_info_extended to reencode objects
 - object-file-convert: Convert commits that embed signed tags
 - object-file-convert: convert commit objects when writing
 - object-file-convert: Don't leak when converting tag objects
 - object-file-convert: convert tag objects when writing
 - object-file-convert: add a function to convert trees between algorithms
 - object: Factor out parse_mode out of fast-import and tree-walk into in object.h
 - cache: add a function to read an OID of a specific algorithm
 - tag: sign both hashes
 - commit: Export add_header_signature to support handling signatures on tags
 - commit: Convert mergetag before computing the signature of a commit
 - commit: write commits for both hashes
 - object-file: Add a compat_oid_in parameter to write_object_file_flags
 - object-file: Update the loose object map when writing loose objects
 - loose: Compatibilty short name support
 - loose: add a mapping between SHA-1 and SHA-256 for loose objects
 - repository: add a compatibility hash algorithm
 - object-names: Support input of oids in any supported hash
 - oid-array: Teach oid-array to handle multiple kinds of oids
 - object-file-convert: Stubs for converting from one object format to another

 Teach a repository to work with both SHA-1 and SHA-256 hash algorithms.

 Breaks a few CI jobs when merged to 'seen'.
 cf. <xmqqbkdmjbkp.fsf@gitster.g>
 source: <87jzsbjt0a.fsf@gmail.froward.int.ebiederm.org>


* xz/commit-title-soft-limit-doc (2023-09-28) 1 commit
  (merged to 'next' on 2023-09-28 at 20df852430)
 + doc: correct the 50 characters soft limit

 Doc tweak.

 Will merge to 'master'.
 source: <pull.1580.git.git.1695895155985.gitgitgadget@gmail.com>

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

* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
 - diff-lib: fix check_removed() when fsmonitor is active
 - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
 - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
 (this branch uses jc/fake-lstat.)

 The optimization based on fsmonitor in the "diff --cached"
 codepath is resurrected with the "fake-lstat" introduced earlier.

 It is unknown if the optimization is worth resurrecting, but in case...
 source: <xmqqr0n0h0tw.fsf@gitster.g>

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

* jx/remote-archive-over-smart-http (2023-09-25) 3 commits
 - archive: support remote archive from stateless transport
 - transport-helper: run do_take_over in connect_helper
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Expecting a reroll.
 cf. <CANYiYbFkG+CvrNFBkdNewZs7ADROVsjd051SDQsU0zVq8eBhew@mail.gmail.com>
 source: <20230923152201.14741-1-worldhello.net@gmail.com>


* jx/sideband-chomp-newline-fix (2023-09-25) 3 commits
 - pkt-line: do not chomp newlines for sideband messages
 - pkt-line: memorize sideband fragment in reader
 - test-pkt-line: add option parser for unpack-sideband

 Sideband demultiplexer fixes.

 Needs review.
 source: <CANYiYbF+Xmk4rCNLMJe+i_CFafg8=QU5vbXWNUZbOVsDLTe5QQ@mail.gmail.com>


* ks/ref-filter-mailmap (2023-09-25) 3 commits
  (merged to 'next' on 2023-09-28 at 0d3fd9959a)
 + ref-filter: add mailmap support
 + t/t6300: introduce test_bad_atom
 + t/t6300: cleanup test_atom

 "git for-each-ref" and friends learn to apply mailmap to authorname
 and other fields.

 Will merge to 'master'.
 source: <20230925175050.3498-1-five231003@gmail.com>


* ps/revision-cmdline-stdin-not (2023-09-25) 1 commit
  (merged to 'next' on 2023-09-28 at a28201e0dd)
 + revision: make pseudo-opt flags read via stdin behave consistently

 "git rev-list --stdin" learned to take non-revisions (like "--not")
 recently from the standard input, but the way such a "--not" was
 handled was quite confusing, which has been rethought.  This is
 potentially a change that breaks backward compatibility.

 Will merge to 'master'.
 source: <6221acd2796853144f8e84081655fbc79fdc6634.1695646898.git.ps@pks.im>


* ty/merge-tree-strategy-options (2023-09-25) 1 commit
 - merge-tree: add -X strategy option

 "git merge-tree" learned to take strategy backend specific options
 via the "-X" option, like "git merge" does.

 Will merge to 'next'.
 source: <pull.1565.v6.git.1695522222723.gitgitgadget@gmail.com>


* hy/doc-show-is-like-log-not-diff-tree (2023-09-20) 1 commit
  (merged to 'next' on 2023-09-22 at 5492c03eae)
 + show doc: redirect user to git log manual instead of git diff-tree

 Doc update.

 Will merge to 'master'.
 source: <20230920132731.1259-1-hanyang.tony@bytedance.com>


* jc/alias-completion (2023-09-20) 1 commit
  (merged to 'next' on 2023-09-22 at 1d069e900b)
 + completion: loosen and document the requirement around completing alias

 The command line completion script (in contrib/) can be told to
 complete aliases by including ": git <cmd> ;" in the alias to tell
 it that the alias should be completed similar to how "git <cmd>" is
 completed.  The parsing code for the alias as been loosened to
 allow ';' without an extra space before it.

 Will merge to 'master'.
 cf. <owlyjzssjro2.fsf@fine.c.googlers.com>
 source: <xmqqy1h08zsp.fsf_-_@gitster.g>


* jk/test-pass-ubsan-options-to-http-test (2023-09-21) 1 commit
  (merged to 'next' on 2023-09-22 at bbe2f75937)
 + test-lib: set UBSAN_OPTIONS to match ASan

 UBSAN options were not propagated through the test framework to git
 run via the httpd, unlike ASAN options, which has been corrected.

 Will merge to 'master'.
 source: <20230921041825.GA2814583@coredump.intra.peff.net>


* ob/am-msgfix (2023-09-21) 1 commit
  (merged to 'next' on 2023-09-22 at 7f7589a06a)
 + am: fix error message in parse_opt_show_current_patch()

 The parameters to generate an error message have been corrected.

 Will merge to 'master'.
 source: <20230921110727.789156-1-oswald.buddenhagen@gmx.de>


* js/ci-coverity (2023-09-25) 7 commits
 - SQUASH???
 - coverity: detect and report when the token or project is incorrect
 - coverity: allow running on macOS
 - coverity: support building on Windows
 - coverity: allow overriding the Coverity project
 - coverity: cache the Coverity Build Tool
 - ci: add a GitHub workflow to submit Coverity scans

 GitHub CI workflow has learned to trigger Coverity check.

 Looking good.
 source: <pull.1588.v2.git.1695642662.gitgitgadget@gmail.com>


* js/doc-status-with-submodules-mark-up-fix (2023-09-22) 1 commit
  (merged to 'next' on 2023-09-25 at 7ed318fc91)
 + Documentation/git-status: add missing line breaks

 Docfix.

 Will merge to 'master'.
 source: <pull.1590.git.1695392082207.gitgitgadget@gmail.com>


* js/config-parse (2023-09-21) 5 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split do_event() into start and flush operations
 - config: split out config_parse_options

 The parsing routines for the configuration files have been split
 into a separate file.
 source: <cover.1695330852.git.steadmon@google.com>


* ml/git-gui-exec-path-fix (2023-09-18) 3 commits
  (merged to 'next' on 2023-09-19 at 0565b0b14b)
 + Merge git-gui into ml/git-gui-exec-path-fix
 + git-gui - use git-hook, honor core.hooksPath
 + git-gui - re-enable use of hook scripts

 Fix recent regression in Git-GUI that fails to run hook scripts at
 all.

 Will merge to 'master'.


* ds/stat-name-width-configuration (2023-09-18) 1 commit
  (merged to 'next' on 2023-09-22 at dbf5bd96e8)
 + diff --stat: add config option to limit filename width

 "git diff" learned diff.statNameWidth configuration variable, to
 give the default width for the name part in the "--stat" output.

 Will merge to 'master'.
 source: <87badb12f040d1c66cd9b89074d3de5015a45983.1694446743.git.dsimic@manjaro.org>


* jk/fsmonitor-unused-parameter (2023-09-18) 8 commits
  (merged to 'next' on 2023-09-19 at bd06505f9e)
 + run-command: mark unused parameters in start_bg_wait callbacks
 + fsmonitor: mark unused hashmap callback parameters
 + fsmonitor/darwin: mark unused parameters in system callback
 + fsmonitor: mark unused parameters in stub functions
 + fsmonitor/win32: mark unused parameter in fsm_os__incompatible()
 + fsmonitor: mark some maybe-unused parameters
 + fsmonitor/win32: drop unused parameters
 + fsmonitor: prefer repo_git_path() to git_pathdup()

 Unused parameters in fsmonitor related code paths have been marked
 as such.

 Will merge to 'master'.
 source: <20230918222908.GA2659096@coredump.intra.peff.net>


* jc/fake-lstat (2023-09-15) 1 commit
 - cache: add fake_lstat()
 (this branch is used by jc/diff-cached-fsmonitor-fix.)

 A new helper to let us pretend that we called lstat() when we know
 our cache_entry is up-to-date via fsmonitor.

 Needs review.
 source: <xmqqcyykig1l.fsf@gitster.g>


* kn/rev-list-ignore-missing-links (2023-09-20) 1 commit
 - revision: add `--ignore-missing-links` user option

 Surface the .ignore_missing_links bit that stops the revision
 traversal from stopping and dying when encountering a missing
 object to a new command line option of "git rev-list", so that the
 objects that are required but are missing can be enumerated.

 Waiting for review response.
 source: <20230920104507.21664-1-karthik.188@gmail.com>


* kh/range-diff-notes (2023-09-19) 1 commit
  (merged to 'next' on 2023-09-22 at ac04978b4b)
 + range-diff: treat notes like `log`

 "git range-diff --notes=foo" compared "log --notes=foo --notes" of
 the two ranges, instead of using just the specified notes tree.

 Will merge to 'master'.
 source: <6e114271a2e7d2323193bd58bb307f60101942ce.1695154855.git.code@khaugsbakk.name>


* rs/parse-options-value-int (2023-09-18) 2 commits
 - parse-options: use and require int pointer for OPT_CMDMODE
 - parse-options: add int value pointer to struct option

 A bit of type safety for the "value" pointer used in the
 parse-options API.

 Comments?
 source: <e6d8a291-03de-cfd3-3813-747fc2cad145@web.de>


* so/diff-merges-d (2023-09-11) 2 commits
 - diff-merges: introduce '-d' option
 - diff-merges: improve --diff-merges documentation

 Teach a new "-d" option that shows the patch against the first
 parent for merge commits (which is "--diff-merges=first-parent -p").

 Letting a less useful combination of options squat on short-and-sweet "-d" feels dubious.
 source: <20230909125446.142715-1-sorganov@gmail.com>


* cc/repack-sift-filtered-objects-to-separate-pack (2023-09-25) 10 commits
 - SQUASH??? t0080 is already taken
 - gc: add `gc.repackFilterTo` config option
 - repack: implement `--filter-to` for storing filtered out objects
 - gc: add `gc.repackFilter` config option
 - repack: add `--filter=<filter-spec>` option
 - pack-bitmap-write: rebuild using new bitmap when remapping
 - repack: refactor finding pack prefix
 - repack: refactor finishing pack-objects command
 - t/helper: add 'find-pack' test-tool
 - pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 Looking better.
 source: <20230925152517.803579-1-christian.couder@gmail.com>


* pw/rebase-sigint (2023-09-07) 1 commit
 - rebase -i: ignore signals when forking subprocesses

 If the commit log editor or other external programs (spawned via
 "exec" insn in the todo list) receive internactive signal during
 "git rebase -i", it caused not just the spawned program but the
 "Git" process that spawned them, which is often not what the end
 user intended.  "git" learned to ignore SIGINT and SIGQUIT while
 waiting for these subprocesses.

 Expecting a reroll.
 cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
 source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>


* cw/git-std-lib (2023-09-11) 7 commits
 - SQUASH???
 - git-std-lib: add test file to call git-std-lib.a functions
 - git-std-lib: introduce git standard library
 - parse: create new library for parsing strings and env values
 - config: correct bad boolean env value error message
 - wrapper: remove dependency to Git-specific internal file
 - hex-ll: split out functionality from hex

 Another libification effort.

 Needs more work.
 cf. <xmqqy1hfrk6p.fsf@gitster.g>
 cf. <20230915183927.1597414-1-jonathantanmy@google.com>
 source: <20230908174134.1026823-1-calvinwan@google.com>


* cc/git-replay (2023-09-07) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 Waiting for review response.
 cf. <52277471-4ddd-b2e0-62ca-c2a5b59ae418@gmx.de>
 cf. <58daa706-7efb-51dd-9061-202ef650b96a@gmx.de>
 cf. <f0e75d47-c277-9fbb-7bcd-53e4e5686f3c@gmx.de>
 May want to wait until tb/repack-existing-packs-cleanup stabilizes.
 source: <20230907092521.733746-1-christian.couder@gmail.com>


* la/trailer-test-and-doc-updates (2023-09-07) 13 commits
 - trailer doc: <token> is a <key> or <keyAlias>, not both
 - trailer doc: separator within key suppresses default separator
 - trailer doc: emphasize the effect of configuration variables
 - trailer --unfold help: prefer "reformat" over "join"
 - trailer --parse docs: add explanation for its usefulness
 - trailer --only-input: prefer "configuration variables" over "rules"
 - trailer --parse help: expose aliased options
 - trailer --no-divider help: describe usual "---" meaning
 - trailer: trailer location is a place, not an action
 - trailer doc: narrow down scope of --where and related flags
 - trailer: add tests to check defaulting behavior with --no-* flags
 - trailer test description: this tests --where=after, not --where=before
 - trailer tests: make test cases self-contained

 Test coverage for trailers has been improved.
 source: <pull.1564.v3.git.1694125209.gitgitgadget@gmail.com>


* js/doc-unit-tests (2023-08-17) 3 commits
 - ci: run unit tests in CI
 - unit tests: add TAP unit test framework
 - unit tests: Add a project plan document
 (this branch is used by js/doc-unit-tests-with-cmake.)

 Process to add some form of low-level unit tests has started.

 Waiting for review response.
 cf. <xmqq350hw6n7.fsf@gitster.g>
 source: <cover.1692297001.git.steadmon@google.com>


* js/doc-unit-tests-with-cmake (2023-09-25) 7 commits
 - cmake: handle also unit tests
 - cmake: use test names instead of full paths
 - cmake: fix typo in variable name
 - artifacts-tar: when including `.dll` files, don't forget the unit-tests
 - unit-tests: do show relative file paths
 - unit-tests: do not mistake `.pdb` files for being executable
 - cmake: also build unit tests
 (this branch uses js/doc-unit-tests.)

 Update the base topic to work with CMake builds.

 Waiting for the base topic to settle.
 source: <pull.1579.v3.git.1695640836.gitgitgadget@gmail.com>


* tb/path-filter-fix (2023-08-30) 15 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Still being discussed.
 cf. <20230830200218.GA5147@szeder.dev>
 cf. <20230901205616.3572722-1-jonathantanmy@google.com>
 cf. <20230924195900.GA1156862@szeder.dev>
 source: <cover.1693413637.git.jonathantanmy@google.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function
 (this branch uses jc/unresolve-removal.)

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* jc/unresolve-removal (2023-07-31) 7 commits
  (merged to 'next' on 2023-09-25 at 0563c8d8a1)
 + checkout: allow "checkout -m path" to unmerge removed paths
 + checkout/restore: add basic tests for --merge
 + checkout/restore: refuse unmerging paths unless checking out of the index
 + update-index: remove stale fallback code for "--unresolve"
 + update-index: use unmerge_index_entry() to support removal
 + resolve-undo: allow resurrecting conflicted state that resolved to deletion
 + update-index: do not read HEAD and MERGE_HEAD unconditionally
 (this branch is used by jc/rerere-cleanup.)

 "checkout --merge -- path" and "update-index --unresolve path" did
 not resurrect conflicted state that was resolved to remove path,
 but now they do.

 Will merge to 'master'.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-08-01) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 cf. <xmqqtttia3vn.fsf@gitster.g>
 source: <48745298-f12b-8efb-4e48-90d2c22a8349@gmail.com>

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

* tb/ci-coverity (2023-09-21) 1 commit
 . .github/workflows: add coverity action

 GitHub CI workflow has learned to trigger Coverity check.

 Superseded by the js/ci-coverity topic.
 source: <b23951c569660e1891a7fb3ad2c2ea1952897bd7.1695332105.git.me@ttaylorr.com>

^ permalink raw reply	[relevance 25%]

* What's cooking in git.git (Sep 2023, #08; Mon, 25)
@ 2023-09-26  0:50 30% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-09-26  0:50 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

With Contributors' Summit happening this week, the early part of
the week may be slower than usual (my response time will certainly
be longer).

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]

* jx/remote-archive-over-smart-http (2023-09-25) 3 commits
 - archive: support remote archive from stateless transport
 - transport-helper: run do_take_over in connect_helper
 - transport-helper: no connection restriction in connect_helper

 "git archive --remote=<remote>" learned to talk over the smart
 http (aka stateless) transport.

 Expecting a reroll.
 cf. <CANYiYbFkG+CvrNFBkdNewZs7ADROVsjd051SDQsU0zVq8eBhew@mail.gmail.com>
 source: <20230923152201.14741-1-worldhello.net@gmail.com>


* jx/sideband-chomp-newline-fix (2023-09-25) 3 commits
 - pkt-line: do not chomp newlines for sideband messages
 - pkt-line: memorize sideband fragment in reader
 - test-pkt-line: add option parser for unpack-sideband

 Sideband demultiplexer fixes.

 Needs review.
 source: <CANYiYbF+Xmk4rCNLMJe+i_CFafg8=QU5vbXWNUZbOVsDLTe5QQ@mail.gmail.com>


* ks/ref-filter-mailmap (2023-09-25) 3 commits
 - ref-filter: add mailmap support
 - t/t6300: introduce test_bad_atom
 - t/t6300: cleanup test_atom

 "git for-each-ref" and friends learn to apply mailmap to authorname
 and other fields.

 Will merge to 'next'.
 source: <20230925175050.3498-1-five231003@gmail.com>


* ps/revision-cmdline-stdin-not (2023-09-25) 1 commit
 - revision: make pseudo-opt flags read via stdin behave consistently

 "git rev-list --stdin" learned to take non-revisions (like "--not")
 recently from the standard input, but the way such a "--not" was
 handled was quite confusing, which has been rethought.  This is
 potentially a change that breaks backward compatibility.

 Will merge to 'next'?
 source: <6221acd2796853144f8e84081655fbc79fdc6634.1695646898.git.ps@pks.im>


* ty/merge-tree-strategy-options (2023-09-25) 1 commit
 - merge-tree: add -X strategy option

 "git merge-tree" learned to take strategy backend specific options
 via the "-X" option, like "git merge" does.

 Will merge to 'next'?
 source: <pull.1565.v6.git.1695522222723.gitgitgadget@gmail.com>

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

* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
 - diff-lib: fix check_removed() when fsmonitor is active
 - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
 - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
 (this branch uses jc/fake-lstat.)

 The optimization based on fsmonitor in the "diff --cached"
 codepath is resurrected with the "fake-lstat" introduced earlier.

 It is unknown if the optimization is worth resurrecting, but in case...
 source: <xmqqr0n0h0tw.fsf@gitster.g>

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

* hy/doc-show-is-like-log-not-diff-tree (2023-09-20) 1 commit
  (merged to 'next' on 2023-09-22 at 5492c03eae)
 + show doc: redirect user to git log manual instead of git diff-tree

 Doc update.

 Will merge to 'master'.
 source: <20230920132731.1259-1-hanyang.tony@bytedance.com>


* jc/alias-completion (2023-09-20) 1 commit
  (merged to 'next' on 2023-09-22 at 1d069e900b)
 + completion: loosen and document the requirement around completing alias

 The command line completion script (in contrib/) can be told to
 complete aliases by including ": git <cmd> ;" in the alias to tell
 it that the alias should be completed similar to how "git <cmd>" is
 completed.  The parsing code for the alias as been loosened to
 allow ';' without an extra space before it.

 Will merge to 'master'.
 cf. <owlyjzssjro2.fsf@fine.c.googlers.com>
 source: <xmqqy1h08zsp.fsf_-_@gitster.g>


* jk/test-pass-ubsan-options-to-http-test (2023-09-21) 1 commit
  (merged to 'next' on 2023-09-22 at bbe2f75937)
 + test-lib: set UBSAN_OPTIONS to match ASan

 UBSAN options were not propagated through the test framework to git
 run via the httpd, unlike ASAN options, which has been corrected.

 Will merge to 'master'.
 source: <20230921041825.GA2814583@coredump.intra.peff.net>


* ob/am-msgfix (2023-09-21) 1 commit
  (merged to 'next' on 2023-09-22 at 7f7589a06a)
 + am: fix error message in parse_opt_show_current_patch()

 The parameters to generate an error message have been corrected.

 Will merge to 'master'.
 source: <20230921110727.789156-1-oswald.buddenhagen@gmx.de>


* js/ci-coverity (2023-09-25) 7 commits
 - SQUASH???
 - coverity: detect and report when the token or project is incorrect
 - coverity: allow running on macOS
 - coverity: support building on Windows
 - coverity: allow overriding the Coverity project
 - coverity: cache the Coverity Build Tool
 - ci: add a GitHub workflow to submit Coverity scans

 GitHub CI workflow has learned to trigger Coverity check.

 Looking good.
 source: <pull.1588.v2.git.1695642662.gitgitgadget@gmail.com>


* js/doc-status-with-submodules-mark-up-fix (2023-09-22) 1 commit
  (merged to 'next' on 2023-09-25 at 7ed318fc91)
 + Documentation/git-status: add missing line breaks

 Docfix.

 Will merge to 'master'.
 source: <pull.1590.git.1695392082207.gitgitgadget@gmail.com>


* js/config-parse (2023-09-21) 5 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split do_event() into start and flush operations
 - config: split out config_parse_options

 The parsing routines for the configuration files have been split
 into a separate file.
 source: <cover.1695330852.git.steadmon@google.com>


* ml/git-gui-exec-path-fix (2023-09-18) 3 commits
  (merged to 'next' on 2023-09-19 at 0565b0b14b)
 + Merge git-gui into ml/git-gui-exec-path-fix
 + git-gui - use git-hook, honor core.hooksPath
 + git-gui - re-enable use of hook scripts

 Fix recent regression in Git-GUI that fails to run hook scripts at
 all.

 Will merge to 'master'.


* ds/stat-name-width-configuration (2023-09-18) 1 commit
  (merged to 'next' on 2023-09-22 at dbf5bd96e8)
 + diff --stat: add config option to limit filename width

 "git diff" learned diff.statNameWidth configuration variable, to
 give the default width for the name part in the "--stat" output.

 Will merge to 'master'.
 source: <87badb12f040d1c66cd9b89074d3de5015a45983.1694446743.git.dsimic@manjaro.org>


* jk/fsmonitor-unused-parameter (2023-09-18) 8 commits
  (merged to 'next' on 2023-09-19 at bd06505f9e)
 + run-command: mark unused parameters in start_bg_wait callbacks
 + fsmonitor: mark unused hashmap callback parameters
 + fsmonitor/darwin: mark unused parameters in system callback
 + fsmonitor: mark unused parameters in stub functions
 + fsmonitor/win32: mark unused parameter in fsm_os__incompatible()
 + fsmonitor: mark some maybe-unused parameters
 + fsmonitor/win32: drop unused parameters
 + fsmonitor: prefer repo_git_path() to git_pathdup()

 Unused parameters in fsmonitor related code paths have been marked
 as such.

 Will merge to 'master'.
 source: <20230918222908.GA2659096@coredump.intra.peff.net>


* jc/fake-lstat (2023-09-15) 1 commit
 - cache: add fake_lstat()
 (this branch is used by jc/diff-cached-fsmonitor-fix.)

 A new helper to let us pretend that we called lstat() when we know
 our cache_entry is up-to-date via fsmonitor.

 Needs review.
 source: <xmqqcyykig1l.fsf@gitster.g>


* kn/rev-list-ignore-missing-links (2023-09-20) 1 commit
 - revision: add `--ignore-missing-links` user option

 Surface the .ignore_missing_links bit that stops the revision
 traversal from stopping and dying when encountering a missing
 object to a new command line option of "git rev-list", so that the
 objects that are required but are missing can be enumerated.

 Waiting for review response.
 source: <20230920104507.21664-1-karthik.188@gmail.com>


* kh/range-diff-notes (2023-09-19) 1 commit
  (merged to 'next' on 2023-09-22 at ac04978b4b)
 + range-diff: treat notes like `log`

 "git range-diff --notes=foo" compared "log --notes=foo --notes" of
 the two ranges, instead of using just the specified notes tree.

 Will merge to 'master'.
 source: <6e114271a2e7d2323193bd58bb307f60101942ce.1695154855.git.code@khaugsbakk.name>


* rs/parse-options-value-int (2023-09-18) 2 commits
 - parse-options: use and require int pointer for OPT_CMDMODE
 - parse-options: add int value pointer to struct option

 A bit of type safety for the "value" pointer used in the
 parse-options API.

 Comments?
 source: <e6d8a291-03de-cfd3-3813-747fc2cad145@web.de>


* so/diff-merges-d (2023-09-11) 2 commits
 - diff-merges: introduce '-d' option
 - diff-merges: improve --diff-merges documentation

 Teach a new "-d" option that shows the patch against the first
 parent for merge commits (which is "--diff-merges=first-parent -p").

 Letting a less useful combination of options squat on short-and-sweet "-d" feels dubious.
 source: <20230909125446.142715-1-sorganov@gmail.com>


* cc/repack-sift-filtered-objects-to-separate-pack (2023-09-25) 10 commits
 - SQUASH??? t0080 is already taken
 - gc: add `gc.repackFilterTo` config option
 - repack: implement `--filter-to` for storing filtered out objects
 - gc: add `gc.repackFilter` config option
 - repack: add `--filter=<filter-spec>` option
 - pack-bitmap-write: rebuild using new bitmap when remapping
 - repack: refactor finding pack prefix
 - repack: refactor finishing pack-objects command
 - t/helper: add 'find-pack' test-tool
 - pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 Looking better.
 source: <20230925152517.803579-1-christian.couder@gmail.com>


* pw/rebase-sigint (2023-09-07) 1 commit
 - rebase -i: ignore signals when forking subprocesses

 If the commit log editor or other external programs (spawned via
 "exec" insn in the todo list) receive internactive signal during
 "git rebase -i", it caused not just the spawned program but the
 "Git" process that spawned them, which is often not what the end
 user intended.  "git" learned to ignore SIGINT and SIGQUIT while
 waiting for these subprocesses.

 Expecting a reroll.
 cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
 source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>


* cw/git-std-lib (2023-09-11) 7 commits
 - SQUASH???
 - git-std-lib: add test file to call git-std-lib.a functions
 - git-std-lib: introduce git standard library
 - parse: create new library for parsing strings and env values
 - config: correct bad boolean env value error message
 - wrapper: remove dependency to Git-specific internal file
 - hex-ll: split out functionality from hex

 Another libification effort.

 Needs more work.
 cf. <xmqqy1hfrk6p.fsf@gitster.g>
 cf. <20230915183927.1597414-1-jonathantanmy@google.com>
 source: <20230908174134.1026823-1-calvinwan@google.com>


* cc/git-replay (2023-09-07) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 Waiting for review response.
 cf. <52277471-4ddd-b2e0-62ca-c2a5b59ae418@gmx.de>
 cf. <58daa706-7efb-51dd-9061-202ef650b96a@gmx.de>
 cf. <f0e75d47-c277-9fbb-7bcd-53e4e5686f3c@gmx.de>
 May want to wait until tb/repack-existing-packs-cleanup stabilizes.
 source: <20230907092521.733746-1-christian.couder@gmail.com>


* la/trailer-test-and-doc-updates (2023-09-07) 13 commits
 - trailer doc: <token> is a <key> or <keyAlias>, not both
 - trailer doc: separator within key suppresses default separator
 - trailer doc: emphasize the effect of configuration variables
 - trailer --unfold help: prefer "reformat" over "join"
 - trailer --parse docs: add explanation for its usefulness
 - trailer --only-input: prefer "configuration variables" over "rules"
 - trailer --parse help: expose aliased options
 - trailer --no-divider help: describe usual "---" meaning
 - trailer: trailer location is a place, not an action
 - trailer doc: narrow down scope of --where and related flags
 - trailer: add tests to check defaulting behavior with --no-* flags
 - trailer test description: this tests --where=after, not --where=before
 - trailer tests: make test cases self-contained

 Test coverage for trailers has been improved.
 source: <pull.1564.v3.git.1694125209.gitgitgadget@gmail.com>


* js/doc-unit-tests (2023-08-17) 3 commits
 - ci: run unit tests in CI
 - unit tests: add TAP unit test framework
 - unit tests: Add a project plan document
 (this branch is used by js/doc-unit-tests-with-cmake.)

 Process to add some form of low-level unit tests has started.

 Waiting for review response.
 cf. <xmqq350hw6n7.fsf@gitster.g>
 source: <cover.1692297001.git.steadmon@google.com>


* js/doc-unit-tests-with-cmake (2023-09-25) 7 commits
 - cmake: handle also unit tests
 - cmake: use test names instead of full paths
 - cmake: fix typo in variable name
 - artifacts-tar: when including `.dll` files, don't forget the unit-tests
 - unit-tests: do show relative file paths
 - unit-tests: do not mistake `.pdb` files for being executable
 - cmake: also build unit tests
 (this branch uses js/doc-unit-tests.)

 Update the base topic to work with CMake builds.

 Waiting for the base topic to settle.
 source: <pull.1579.v3.git.1695640836.gitgitgadget@gmail.com>


* tb/path-filter-fix (2023-08-30) 15 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Still being discussed.
 cf. <20230830200218.GA5147@szeder.dev>
 cf. <20230901205616.3572722-1-jonathantanmy@google.com>
 cf. <20230924195900.GA1156862@szeder.dev>
 source: <cover.1693413637.git.jonathantanmy@google.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function
 (this branch uses jc/unresolve-removal.)

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* jc/unresolve-removal (2023-07-31) 7 commits
  (merged to 'next' on 2023-09-25 at 0563c8d8a1)
 + checkout: allow "checkout -m path" to unmerge removed paths
 + checkout/restore: add basic tests for --merge
 + checkout/restore: refuse unmerging paths unless checking out of the index
 + update-index: remove stale fallback code for "--unresolve"
 + update-index: use unmerge_index_entry() to support removal
 + resolve-undo: allow resurrecting conflicted state that resolved to deletion
 + update-index: do not read HEAD and MERGE_HEAD unconditionally
 (this branch is used by jc/rerere-cleanup.)

 "checkout --merge -- path" and "update-index --unresolve path" did
 not resurrect conflicted state that was resolved to remove path,
 but now they do.

 Will merge to 'master'.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-08-01) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 cf. <xmqqtttia3vn.fsf@gitster.g>
 source: <48745298-f12b-8efb-4e48-90d2c22a8349@gmail.com>

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

* tb/ci-coverity (2023-09-21) 1 commit
 . .github/workflows: add coverity action

 GitHub CI workflow has learned to trigger Coverity check.

 Superseded by the js/ci-coverity topic.
 source: <b23951c569660e1891a7fb3ad2c2ea1952897bd7.1695332105.git.me@ttaylorr.com>

^ permalink raw reply	[relevance 30%]

* What's cooking in git.git (Sep 2023, #07; Fri, 22)
@ 2023-09-23  2:50 26% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-09-23  2:50 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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']

* ch/clean-docfix (2023-09-15) 1 commit
  (merged to 'next' on 2023-09-19 at 1e16b715bb)
 + git-clean doc: fix "without do cleaning" typo

 Typofix.
 source: <pull.1572.git.git.1694800409471.gitgitgadget@gmail.com>


* eg/config-type-path-docfix (2023-09-15) 1 commit
  (merged to 'next' on 2023-09-19 at 2c8ad3e731)
 + git-config: fix misworded --type=path explanation

 Typofix.
 source: <20230915202610.21206-1-evan.gates@gmail.com>


* jc/update-index-show-index-version (2023-09-12) 3 commits
  (merged to 'next' on 2023-09-13 at b754554df8)
 + test-tool: retire "index-version"
 + update-index: add --show-index-version
 + update-index doc: v4 is OK with JGit and libgit2

 "git update-index" learns "--show-index-version" to inspect
 the index format version used by the on-disk index file.
 source: <20230912193235.776292-1-gitster@pobox.com>


* jk/ort-unused-parameter-cleanups (2023-09-16) 5 commits
  (merged to 'next' on 2023-09-18 at 25a5dfc38e)
 + merge-ort: lowercase a few error messages
 + merge-ort: drop unused "opt" parameter from merge_check_renames_reusable()
 + merge-ort: drop unused parameters from detect_and_process_renames()
 + merge-ort: stop passing "opt" to read_oid_strbuf()
 + merge-ort: drop custom err() function

 Code clean-up.
 source: <20230914093409.GA2254811@coredump.intra.peff.net>


* jk/redact-h2h3-headers-fix (2023-09-15) 2 commits
  (merged to 'next' on 2023-09-19 at d40278ef9e)
 + http: update curl http/2 info matching for curl 8.3.0
 + http: factor out matching of curl http/2 trace lines

 HTTP Header redaction code has been adjusted for a newer version of
 cURL library that shows its traces differently from earlier
 versions.
 source: <20230915113237.GA3531328@coredump.intra.peff.net>


* js/diff-cached-fsmonitor-fix (2023-09-11) 1 commit
  (merged to 'next' on 2023-09-12 at 7479278da0)
 + diff-lib: fix check_removed when fsmonitor is on
 (this branch is used by jc/diff-cached-fsmonitor-fix.)

 "git diff --cached" codepath did not fill the necessary stat
 information for a file when fsmonitor knows it is clean and ended
 up behaving as if it is not clean, which has been corrected.
 source: <20230911170901.49050-2-sokcevic@google.com>


* js/systemd-timers-wsl-fix (2023-09-11) 1 commit
  (merged to 'next' on 2023-09-12 at 71c4cbb1df)
 + maintenance(systemd): support the Windows Subsystem for Linux

 Update "git maintainance" timers' implementation based on systemd
 timers to work with WSL.
 source: <pull.1586.git.1694334620260.gitgitgadget@gmail.com>


* la/trailer-cleanups (2023-09-11) 6 commits
  (merged to 'next' on 2023-09-12 at 779c4a097a)
 + trailer: split process_command_line_args into separate functions
 + trailer: split process_input_file into separate pieces
 + trailer: separate public from internal portion of trailer_iterator

 Code clean-up.

 Keep only the first three clean-ups, and discard the rest to be replaced later.
 cf. <owly1qetjqo1.fsf@fine.c.googlers.com>
 cf. <owlyzg1dsswr.fsf@fine.c.googlers.com>
 source: <pull.1563.v2.git.1694240177.gitgitgadget@gmail.com>


* ob/sequencer-remove-dead-code (2023-09-12) 1 commit
  (merged to 'next' on 2023-09-13 at 1f6c2b336b)
 + sequencer: remove unreachable exit condition in pick_commits()

 Code clean-up.
 source: <20230912105541.272917-1-oswald.buddenhagen@gmx.de>


* ob/t3404-typofix (2023-09-12) 1 commit
  (merged to 'next' on 2023-09-13 at b17fa78c3f)
 + t3404-rebase-interactive.sh: fix typos in title of a rewording test

 Code clean-up.
 source: <20230912104237.271616-1-oswald.buddenhagen@gmx.de>


* pb/complete-commit-trailers (2023-09-12) 2 commits
  (merged to 'next' on 2023-09-13 at 9a0ec17606)
 + completion: commit: complete trailers tokens more robustly
  (merged to 'next' on 2023-09-08 at 842587016d)
 + completion: commit: complete configured trailer tokens

 The command-line complation support (in contrib/) learned to
 complete "git commit --trailer=" for possible trailer keys.
 source: <pull.1583.v2.git.1694539827.gitgitgadget@gmail.com>


* pb/completion-aliases-doc (2023-09-12) 1 commit
  (merged to 'next' on 2023-09-13 at b248a5bc26)
 + completion: improve doc for complex aliases

 Clarify how "alias.foo = : git cmd ; aliased-command-string" should
 be spelled with necessary whitespaces around punctuation marks to
 work.
 source: <pull.1585.v2.git.1694538135853.gitgitgadget@gmail.com>


* pw/diff-no-index-from-named-pipes (2023-09-11) 1 commit
  (merged to 'next' on 2023-09-12 at 135ecd136f)
 + diff --no-index: fix -R with stdin

 "git diff --no-index -R <(one) <(two)" did not work correctly,
 which has been corrected.
 source: <22fdfa3b-f90e-afcc-667c-705fb7670245@web.de>


* tb/repack-existing-packs-cleanup (2023-09-13) 8 commits
  (merged to 'next' on 2023-09-14 at bb8065e89c)
 + builtin/repack.c: extract common cruft pack loop
 + builtin/repack.c: avoid directly inspecting "util"
 + builtin/repack.c: store existing cruft packs separately
 + builtin/repack.c: extract `has_existing_non_kept_packs()`
 + builtin/repack.c: extract redundant pack cleanup for existing packs
 + builtin/repack.c: extract redundant pack cleanup for --geometric
 + builtin/repack.c: extract marking packs for deletion
 + builtin/repack.c: extract structure to store existing packs

 The code to keep track of existing packs in the repository while
 repacking has been refactored.
 source: <cover.1694632644.git.me@ttaylorr.com>


* tb/send-email-extract-valid-address-error-message-fix (2023-09-18) 1 commit
  (merged to 'next' on 2023-09-19 at d037282391)
 + git-send-email.perl: avoid printing undef when validating addresses

 An error message given by "git send-email" when given a malformed
 address did not give correct information, which has been corrected.
 source: <545729b619308c6f3397b9aa1747f26ddc58f461.1695054945.git.me@ttaylorr.com>

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

* hy/doc-show-is-like-log-not-diff-tree (2023-09-20) 1 commit
  (merged to 'next' on 2023-09-22 at 5492c03eae)
 + show doc: redirect user to git log manual instead of git diff-tree

 Doc update.

 Will merge to 'master'.
 source: <20230920132731.1259-1-hanyang.tony@bytedance.com>


* jc/alias-completion (2023-09-20) 1 commit
  (merged to 'next' on 2023-09-22 at 1d069e900b)
 + completion: loosen and document the requirement around completing alias

 The command line completion script (in contrib/) can be told to
 complete aliases by including ": git <cmd> ;" in the alias to tell
 it that the alias should be completed similar to how "git <cmd>" is
 completed.  The parsing code for the alias as been loosened to
 allow ';' without an extra space before it.

 Will merge to 'master'.
 cf. <owlyjzssjro2.fsf@fine.c.googlers.com>
 source: <xmqqy1h08zsp.fsf_-_@gitster.g>


* jk/test-pass-ubsan-options-to-http-test (2023-09-21) 1 commit
  (merged to 'next' on 2023-09-22 at bbe2f75937)
 + test-lib: set UBSAN_OPTIONS to match ASan

 UBSAN options were not propagated through the test framework to git
 run via the httpd, unlike ASAN options, which has been corrected.

 Will merge to 'master'.
 source: <20230921041825.GA2814583@coredump.intra.peff.net>


* ob/am-msgfix (2023-09-21) 1 commit
  (merged to 'next' on 2023-09-22 at 7f7589a06a)
 + am: fix error message in parse_opt_show_current_patch()

 The parameters to generate an error message have been corrected.

 Will merge to 'master'.
 source: <20230921110727.789156-1-oswald.buddenhagen@gmx.de>


* js/ci-coverity (2023-09-22) 6 commits
 - coverity: detect and report when the token or project is incorrect
 - coverity: allow running on macOS
 - coverity: support building on Windows
 - coverity: allow overriding the Coverity project
 - coverity: cache the Coverity Build Tool
 - ci: add a GitHub workflow to submit Coverity scans

 GitHub CI workflow has learned to trigger Coverity check.

 source: <pull.1588.git.1695379323.gitgitgadget@gmail.com>


* js/doc-status-with-submodules-mark-up-fix (2023-09-22) 1 commit
 - Documentation/git-status: add missing line breaks

 Docfix.

 Will merge to 'next'.
 source: <pull.1590.git.1695392082207.gitgitgadget@gmail.com>

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

* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
 - diff-lib: fix check_removed() when fsmonitor is active
 - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
 - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
 (this branch uses jc/fake-lstat.)

 The optimization based on fsmonitor in the "diff --cached"
 codepath is resurrected with the "fake-lstat" introduced earlier.

 It is unknown if the optimization is worth resurrecting, but in case...
 source: <xmqqr0n0h0tw.fsf@gitster.g>

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

* js/config-parse (2023-09-21) 5 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split do_event() into start and flush operations
 - config: split out config_parse_options

 The parsing routines for the configuration files have been split
 into a separate file.
 source: <cover.1695330852.git.steadmon@google.com>


* ml/git-gui-exec-path-fix (2023-09-18) 3 commits
  (merged to 'next' on 2023-09-19 at 0565b0b14b)
 + Merge git-gui into ml/git-gui-exec-path-fix
 + git-gui - use git-hook, honor core.hooksPath
 + git-gui - re-enable use of hook scripts

 Fix recent regression in Git-GUI that fails to run hook scripts at
 all.

 Will merge to 'master'.


* ds/stat-name-width-configuration (2023-09-18) 1 commit
  (merged to 'next' on 2023-09-22 at dbf5bd96e8)
 + diff --stat: add config option to limit filename width

 "git diff" learned diff.statNameWidth configuration variable, to
 give the default width for the name part in the "--stat" output.

 Will merge to 'master'.
 source: <87badb12f040d1c66cd9b89074d3de5015a45983.1694446743.git.dsimic@manjaro.org>


* jk/fsmonitor-unused-parameter (2023-09-18) 8 commits
  (merged to 'next' on 2023-09-19 at bd06505f9e)
 + run-command: mark unused parameters in start_bg_wait callbacks
 + fsmonitor: mark unused hashmap callback parameters
 + fsmonitor/darwin: mark unused parameters in system callback
 + fsmonitor: mark unused parameters in stub functions
 + fsmonitor/win32: mark unused parameter in fsm_os__incompatible()
 + fsmonitor: mark some maybe-unused parameters
 + fsmonitor/win32: drop unused parameters
 + fsmonitor: prefer repo_git_path() to git_pathdup()

 Unused parameters in fsmonitor related code paths have been marked
 as such.

 Will merge to 'master'.
 source: <20230918222908.GA2659096@coredump.intra.peff.net>


* jc/fake-lstat (2023-09-15) 1 commit
 - cache: add fake_lstat()
 (this branch is used by jc/diff-cached-fsmonitor-fix.)

 A new helper to let us pretend that we called lstat() when we know
 our cache_entry is up-to-date via fsmonitor.

 Needs review.
 source: <xmqqcyykig1l.fsf@gitster.g>


* kn/rev-list-ignore-missing-links (2023-09-20) 1 commit
 - revision: add `--ignore-missing-links` user option

 Surface the .ignore_missing_links bit that stops the revision
 traversal from stopping and dying when encountering a missing
 object to a new command line option of "git rev-list", so that the
 objects that are required but are missing can be enumerated.

 Waiting for review response.
 source: <20230920104507.21664-1-karthik.188@gmail.com>


* kh/range-diff-notes (2023-09-19) 1 commit
  (merged to 'next' on 2023-09-22 at ac04978b4b)
 + range-diff: treat notes like `log`

 "git range-diff --notes=foo" compared "log --notes=foo --notes" of
 the two ranges, instead of using just the specified notes tree.

 Will merge to 'master'.
 source: <6e114271a2e7d2323193bd58bb307f60101942ce.1695154855.git.code@khaugsbakk.name>


* rs/parse-options-value-int (2023-09-18) 2 commits
 - parse-options: use and require int pointer for OPT_CMDMODE
 - parse-options: add int value pointer to struct option

 A bit of type safety for the "value" pointer used in the
 parse-options API.

 Comments?
 source: <e6d8a291-03de-cfd3-3813-747fc2cad145@web.de>


* so/diff-merges-d (2023-09-11) 2 commits
 - diff-merges: introduce '-d' option
 - diff-merges: improve --diff-merges documentation

 Teach a new "-d" option that shows the patch against the first
 parent for merge commits (which is "--diff-merges=first-parent -p").

 Letting a less useful combination of options squat on short-and-sweet "-d" feels dubious.
 source: <20230909125446.142715-1-sorganov@gmail.com>


* cc/repack-sift-filtered-objects-to-separate-pack (2023-09-11) 9 commits
 . gc: add `gc.repackFilterTo` config option
 . repack: implement `--filter-to` for storing filtered out objects
 . gc: add `gc.repackFilter` config option
 . repack: add `--filter=<filter-spec>` option
 . pack-bitmap-write: rebuild using new bitmap when remapping
 . repack: refactor finding pack prefix
 . repack: refactor finishing pack-objects command
 . t/helper: add 'find-pack' test-tool
 . pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 May need to wait until tb/repack-existing-packs-cleanup stablizes.
 source: <20230911150618.129737-1-christian.couder@gmail.com>


* pw/rebase-sigint (2023-09-07) 1 commit
 - rebase -i: ignore signals when forking subprocesses

 If the commit log editor or other external programs (spawned via
 "exec" insn in the todo list) receive internactive signal during
 "git rebase -i", it caused not just the spawned program but the
 "Git" process that spawned them, which is often not what the end
 user intended.  "git" learned to ignore SIGINT and SIGQUIT while
 waiting for these subprocesses.

 Expecting a reroll.
 cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
 source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>


* cw/git-std-lib (2023-09-11) 7 commits
 - SQUASH???
 - git-std-lib: add test file to call git-std-lib.a functions
 - git-std-lib: introduce git standard library
 - parse: create new library for parsing strings and env values
 - config: correct bad boolean env value error message
 - wrapper: remove dependency to Git-specific internal file
 - hex-ll: split out functionality from hex

 Another libification effort.

 Needs more work.
 cf. <xmqqy1hfrk6p.fsf@gitster.g>
 cf. <20230915183927.1597414-1-jonathantanmy@google.com>
 source: <20230908174134.1026823-1-calvinwan@google.com>


* cc/git-replay (2023-09-07) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 Waiting for review response.
 cf. <52277471-4ddd-b2e0-62ca-c2a5b59ae418@gmx.de>
 cf. <58daa706-7efb-51dd-9061-202ef650b96a@gmx.de>
 cf. <f0e75d47-c277-9fbb-7bcd-53e4e5686f3c@gmx.de>
 May want to wait until tb/repack-existing-packs-cleanup stabilizes.
 source: <20230907092521.733746-1-christian.couder@gmail.com>


* la/trailer-test-and-doc-updates (2023-09-07) 13 commits
 - trailer doc: <token> is a <key> or <keyAlias>, not both
 - trailer doc: separator within key suppresses default separator
 - trailer doc: emphasize the effect of configuration variables
 - trailer --unfold help: prefer "reformat" over "join"
 - trailer --parse docs: add explanation for its usefulness
 - trailer --only-input: prefer "configuration variables" over "rules"
 - trailer --parse help: expose aliased options
 - trailer --no-divider help: describe usual "---" meaning
 - trailer: trailer location is a place, not an action
 - trailer doc: narrow down scope of --where and related flags
 - trailer: add tests to check defaulting behavior with --no-* flags
 - trailer test description: this tests --where=after, not --where=before
 - trailer tests: make test cases self-contained

 Test coverage for trailers has been improved.
 source: <pull.1564.v3.git.1694125209.gitgitgadget@gmail.com>


* js/doc-unit-tests (2023-08-17) 3 commits
 - ci: run unit tests in CI
 - unit tests: add TAP unit test framework
 - unit tests: Add a project plan document
 (this branch is used by js/doc-unit-tests-with-cmake.)

 Process to add some form of low-level unit tests has started.

 Waiting for review response.
 cf. <xmqq350hw6n7.fsf@gitster.g>
 source: <cover.1692297001.git.steadmon@google.com>


* js/doc-unit-tests-with-cmake (2023-09-18) 7 commits
 - cmake: handle also unit tests
 - cmake: use test names instead of full paths
 - cmake: fix typo in variable name
 - artifacts-tar: when including `.dll` files, don't forget the unit-tests
 - unit-tests: do show relative file paths
 - unit-tests: do not mistake `.pdb` files for being executable
 - cmake: also build unit tests
 (this branch uses js/doc-unit-tests.)

 Update the base topic to work with CMake builds.

 Waiting for the base topic to settle.
 source: <pull.1579.v2.git.1695070468.gitgitgadget@gmail.com>


* tb/path-filter-fix (2023-08-30) 15 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Almost there.
 cf. <20230830200218.GA5147@szeder.dev>
 cf. <20230901205616.3572722-1-jonathantanmy@google.com>
 source: <cover.1693413637.git.jonathantanmy@google.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function
 (this branch uses jc/unresolve-removal.)

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* jc/unresolve-removal (2023-07-31) 7 commits
 - checkout: allow "checkout -m path" to unmerge removed paths
 - checkout/restore: add basic tests for --merge
 - checkout/restore: refuse unmerging paths unless checking out of the index
 - update-index: remove stale fallback code for "--unresolve"
 - update-index: use unmerge_index_entry() to support removal
 - resolve-undo: allow resurrecting conflicted state that resolved to deletion
 - update-index: do not read HEAD and MERGE_HEAD unconditionally
 (this branch is used by jc/rerere-cleanup.)

 "checkout --merge -- path" and "update-index --unresolve path" did
 not resurrect conflicted state that was resolved to remove path,
 but now they do.

 Will merge to 'next'.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-08-01) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 cf. <xmqqtttia3vn.fsf@gitster.g>
 source: <48745298-f12b-8efb-4e48-90d2c22a8349@gmail.com>


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

* tb/ci-coverity (2023-09-21) 1 commit
 . .github/workflows: add coverity action

 GitHub CI workflow has learned to trigger Coverity check.

 Superseded by the js/ci-coverity topic.
 source: <b23951c569660e1891a7fb3ad2c2ea1952897bd7.1695332105.git.me@ttaylorr.com>



^ permalink raw reply	[relevance 26%]

* Re: What's cooking in git.git (Sep 2023, #05; Fri, 15)
  @ 2023-09-20 14:57 99%       ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-09-20 14:57 UTC (permalink / raw)
  To: Linus Arver; +Cc: git

Linus Arver <linusa@google.com> writes:

>> Whatever improvements you have in mind, if they are
>> minor, letting the above graduate (they have been in 'next' for a
>> week without anybody complaining) and doing them as a follow-up
>> series would be sensible, I would think.
>>
>> Thanks.
>
> Hmm, I don't think they are minor? See
> https://github.com/listx/git/tree/trailer-libification-prep for the
> current state of things.

They do not look like "oops the patches I sent to the list was
totally bogus and they need replacing"; aren't they rather "these
are not yet complete and there are some of the follow-on work on top
of them"?

> I need to still follow up to your last comment on "trailer: rename
> *_DEFAULT enums to *_UNSPECIFIED" [2] (I was going to see if we needed
> the "obvious solution" as you described).
>
> If it's too painful to move this out of 'next' now, I'm OK with it
> graduating as is and doing a separate follow-up (I expect several more
> of these to happen anyway). Up to you.

Let's mark the topic as "waiting for follow-up updates" and keep it
in 'next' until the follow-up patches become ready, then.

> Sorry for not noticing that this was in 'next' sooner and communicating
> accordingly.

Gotchas happen.  Let's try to communicate better the next time.

Thanks.

^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Sep 2023, #06; Tue, 19)
@ 2023-09-20  0:49 28% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-09-20  0:49 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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']

* js/complete-checkout-t (2023-09-08) 1 commit
  (merged to 'next' on 2023-09-08 at 461bb28fbd)
 + completion(switch/checkout): treat --track and -t the same

 The completion script (in contrib/) has been taught to treat the
 "-t" option to "git checkout" and "git switch" just like the
 "--track" option, to complete remote-tracking branches.
 source: <pull.1584.git.1694176123471.gitgitgadget@gmail.com>


* rs/grep-no-no-or (2023-09-07) 1 commit
  (merged to 'next' on 2023-09-08 at 33849032bc)
 + grep: reject --no-or

 "git grep -e A --no-or -e B" is accepted, even though the negation
 of "or" did not mean anything, which has been tightened.
 source: <6aeb0ebe-0fea-ccd3-089a-ee0b5b5baf10@web.de>

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

* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
 - diff-lib: fix check_removed() when fsmonitor is active
 - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
 - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
 (this branch uses jc/fake-lstat and js/diff-cached-fsmonitor-fix.)

 The optimization based on fsmonitor in the "diff --cached"
 codepath is resurrected with the "fake-lstat" introduced earlier.

 It is unknown if the optimization is worth resurrecting, but in case...
 source: <xmqqr0n0h0tw.fsf@gitster.g>


* ml/git-gui-exec-path-fix (2023-09-18) 3 commits
  (merged to 'next' on 2023-09-19 at 0565b0b14b)
 + Merge git-gui into ml/git-gui-exec-path-fix
 + git-gui - use git-hook, honor core.hooksPath
 + git-gui - re-enable use of hook scripts

 Fix recent regression in Git-GUI that fails to run hook scripts at
 all.

 Will merge to 'master'.


* ds/stat-name-width-configuration (2023-09-18) 1 commit
 - diff --stat: add config option to limit filename width

 "git diff" learned diff.statNameWidth configuration variable, to
 give the default width for the name part in the "--stat" output.

 Will merge to 'next'.
 source: <87badb12f040d1c66cd9b89074d3de5015a45983.1694446743.git.dsimic@manjaro.org>


* tb/send-email-extract-valid-address-error-message-fix (2023-09-18) 1 commit
  (merged to 'next' on 2023-09-19 at d037282391)
 + git-send-email.perl: avoid printing undef when validating addresses

 An error message given by "git send-email" when given a malformed
 address did not give correct information, which has been corrected.

 Will merge to 'master'.
 source: <545729b619308c6f3397b9aa1747f26ddc58f461.1695054945.git.me@ttaylorr.com>


* jk/fsmonitor-unused-parameter (2023-09-18) 8 commits
  (merged to 'next' on 2023-09-19 at bd06505f9e)
 + run-command: mark unused parameters in start_bg_wait callbacks
 + fsmonitor: mark unused hashmap callback parameters
 + fsmonitor/darwin: mark unused parameters in system callback
 + fsmonitor: mark unused parameters in stub functions
 + fsmonitor/win32: mark unused parameter in fsm_os__incompatible()
 + fsmonitor: mark some maybe-unused parameters
 + fsmonitor/win32: drop unused parameters
 + fsmonitor: prefer repo_git_path() to git_pathdup()

 Unused parameters in fsmonitor related code paths have been marked
 as such.

 Will merge to 'master'.
 source: <20230918222908.GA2659096@coredump.intra.peff.net>

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

* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>

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

* ob/sequencer-remove-dead-code (2023-09-12) 1 commit
  (merged to 'next' on 2023-09-13 at 1f6c2b336b)
 + sequencer: remove unreachable exit condition in pick_commits()

 Code clean-up.

 Will merge to 'master'.
 source: <20230912105541.272917-1-oswald.buddenhagen@gmx.de>


* ob/t3404-typofix (2023-09-12) 1 commit
  (merged to 'next' on 2023-09-13 at b17fa78c3f)
 + t3404-rebase-interactive.sh: fix typos in title of a rewording test

 Code clean-up.

 Will merge to 'master'.
 source: <20230912104237.271616-1-oswald.buddenhagen@gmx.de>


* jk/ort-unused-parameter-cleanups (2023-09-16) 5 commits
  (merged to 'next' on 2023-09-18 at 25a5dfc38e)
 + merge-ort: lowercase a few error messages
 + merge-ort: drop unused "opt" parameter from merge_check_renames_reusable()
 + merge-ort: drop unused parameters from detect_and_process_renames()
 + merge-ort: stop passing "opt" to read_oid_strbuf()
 + merge-ort: drop custom err() function

 Code clean-up.

 Will merge to 'master'.
 source: <20230914093409.GA2254811@coredump.intra.peff.net>


* jc/fake-lstat (2023-09-15) 1 commit
 - cache: add fake_lstat()
 (this branch is used by jc/diff-cached-fsmonitor-fix.)

 A new helper to let us pretend that we called lstat() when we know
 our cache_entry is up-to-date via fsmonitor.

 Needs review.
 source: <xmqqcyykig1l.fsf@gitster.g>


* jk/redact-h2h3-headers-fix (2023-09-15) 2 commits
  (merged to 'next' on 2023-09-19 at d40278ef9e)
 + http: update curl http/2 info matching for curl 8.3.0
 + http: factor out matching of curl http/2 trace lines

 HTTP Header redaction code has been adjusted for a newer version of
 cURL library that shows its traces differently from earlier
 versions.

 Will merge to 'master'.
 source: <20230915113237.GA3531328@coredump.intra.peff.net>


* ch/clean-docfix (2023-09-15) 1 commit
  (merged to 'next' on 2023-09-19 at 1e16b715bb)
 + git-clean doc: fix "without do cleaning" typo

 Typofix.

 Will merge to 'master'.
 source: <pull.1572.git.git.1694800409471.gitgitgadget@gmail.com>


* eg/config-type-path-docfix (2023-09-15) 1 commit
  (merged to 'next' on 2023-09-19 at 2c8ad3e731)
 + git-config: fix misworded --type=path explanation

 Typofix.

 Will merge to 'master'.
 source: <20230915202610.21206-1-evan.gates@gmail.com>


* kn/rev-list-ignore-missing-links (2023-09-15) 1 commit
 - revision: add `--ignore-missing-links` user option

 Surface the .ignore_missing_links bit that stops the revision
 traversal from stopping and dying when encountering a missing
 object to a new command line option of "git rev-list", so that the
 objects that are required but are missing can be enumerated.

 Waiting for review response.
 source: <20230915083415.263187-1-knayak@gitlab.com>


* js/systemd-timers-wsl-fix (2023-09-11) 1 commit
  (merged to 'next' on 2023-09-12 at 71c4cbb1df)
 + maintenance(systemd): support the Windows Subsystem for Linux

 Update "git maintainance" timers' implementation based on systemd
 timers to work with WSL.

 Will merge to 'master'.
 source: <pull.1586.git.1694334620260.gitgitgadget@gmail.com>


* kh/range-diff-notes (2023-09-19) 1 commit
 - range-diff: treat notes like `log`

 "git range-diff --notes=foo" compared "log --notes=foo --notes" of
 the two ranges, instead of using just the specified notes tree.

 Will merge to 'next'.
 source: <6e114271a2e7d2323193bd58bb307f60101942ce.1695154855.git.code@khaugsbakk.name>


* pw/diff-no-index-from-named-pipes (2023-09-11) 1 commit
  (merged to 'next' on 2023-09-12 at 135ecd136f)
 + diff --no-index: fix -R with stdin

 "git diff --no-index -R <(one) <(two)" did not work correctly,
 which has been corrected.

 Will merge to 'master'.
 source: <22fdfa3b-f90e-afcc-667c-705fb7670245@web.de>


* rs/parse-options-value-int (2023-09-18) 2 commits
 - parse-options: use and require int pointer for OPT_CMDMODE
 - parse-options: add int value pointer to struct option

 A bit of type safety for the "value" pointer used in the
 parse-options API.

 Comments?
 source: <e6d8a291-03de-cfd3-3813-747fc2cad145@web.de>


* so/diff-merges-d (2023-09-11) 2 commits
 - diff-merges: introduce '-d' option
 - diff-merges: improve --diff-merges documentation

 Teach a new "-d" option that shows the patch against the first
 parent for merge commits (which is "--diff-merges=first-parent -p").

 Letting a less useful combination of options squat on short-and-sweet "-d" feels dubious.
 source: <20230909125446.142715-1-sorganov@gmail.com>


* js/diff-cached-fsmonitor-fix (2023-09-11) 1 commit
  (merged to 'next' on 2023-09-12 at 7479278da0)
 + diff-lib: fix check_removed when fsmonitor is on
 (this branch is used by jc/diff-cached-fsmonitor-fix.)

 "git diff --cached" codepath did not fill the necessary stat
 information for a file when fsmonitor knows it is clean and ended
 up behaving as if it is not clean, which has been corrected.

 Will merge to 'master'.
 source: <20230911170901.49050-2-sokcevic@google.com>


* pb/completion-aliases-doc (2023-09-12) 1 commit
  (merged to 'next' on 2023-09-13 at b248a5bc26)
 + completion: improve doc for complex aliases

 Clarify how "alias.foo = : git cmd ; aliased-command-string" should
 be spelled with necessary whitespaces around punctuation marks to
 work.

 Will merge to 'master'.
 source: <pull.1585.v2.git.1694538135853.gitgitgadget@gmail.com>


* cc/repack-sift-filtered-objects-to-separate-pack (2023-09-11) 9 commits
 . gc: add `gc.repackFilterTo` config option
 . repack: implement `--filter-to` for storing filtered out objects
 . gc: add `gc.repackFilter` config option
 . repack: add `--filter=<filter-spec>` option
 . pack-bitmap-write: rebuild using new bitmap when remapping
 . repack: refactor finding pack prefix
 . repack: refactor finishing pack-objects command
 . t/helper: add 'find-pack' test-tool
 . pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 May need to wait until tb/repack-existing-packs-cleanup stablizes.
 source: <20230911150618.129737-1-christian.couder@gmail.com>


* la/trailer-cleanups (2023-09-11) 6 commits
  (merged to 'next' on 2023-09-12 at 779c4a097a)
 + trailer: use offsets for trailer_start/trailer_end
 + trailer: rename *_DEFAULT enums to *_UNSPECIFIED
 + trailer: teach find_patch_start about --no-divider
 + trailer: split process_command_line_args into separate functions
 + trailer: split process_input_file into separate pieces
 + trailer: separate public from internal portion of trailer_iterator

 Code clean-up.

 Will merge to 'master'.
 source: <pull.1563.v2.git.1694240177.gitgitgadget@gmail.com>


* tb/repack-existing-packs-cleanup (2023-09-13) 8 commits
  (merged to 'next' on 2023-09-14 at bb8065e89c)
 + builtin/repack.c: extract common cruft pack loop
 + builtin/repack.c: avoid directly inspecting "util"
 + builtin/repack.c: store existing cruft packs separately
 + builtin/repack.c: extract `has_existing_non_kept_packs()`
 + builtin/repack.c: extract redundant pack cleanup for existing packs
 + builtin/repack.c: extract redundant pack cleanup for --geometric
 + builtin/repack.c: extract marking packs for deletion
 + builtin/repack.c: extract structure to store existing packs

 The code to keep track of existing packs in the repository while
 repacking has been refactored.

 Will merge to 'master'.
 source: <cover.1694632644.git.me@ttaylorr.com>


* pb/complete-commit-trailers (2023-09-12) 2 commits
  (merged to 'next' on 2023-09-13 at 9a0ec17606)
 + completion: commit: complete trailers tokens more robustly
  (merged to 'next' on 2023-09-08 at 842587016d)
 + completion: commit: complete configured trailer tokens

 The command-line complation support (in contrib/) learned to
 complete "git commit --trailer=" for possible trailer keys.

 Will merge to 'master'.
 source: <pull.1583.v2.git.1694539827.gitgitgadget@gmail.com>


* pw/rebase-sigint (2023-09-07) 1 commit
 - rebase -i: ignore signals when forking subprocesses

 If the commit log editor or other external programs (spawned via
 "exec" insn in the todo list) receive internactive signal during
 "git rebase -i", it caused not just the spawned program but the
 "Git" process that spawned them, which is often not what the end
 user intended.  "git" learned to ignore SIGINT and SIGQUIT while
 waiting for these subprocesses.

 Expecting a reroll.
 cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
 source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>


* cw/git-std-lib (2023-09-11) 7 commits
 - SQUASH???
 - git-std-lib: add test file to call git-std-lib.a functions
 - git-std-lib: introduce git standard library
 - parse: create new library for parsing strings and env values
 - config: correct bad boolean env value error message
 - wrapper: remove dependency to Git-specific internal file
 - hex-ll: split out functionality from hex

 Another libification effort.

 Needs more work.
 cf. <xmqqy1hfrk6p.fsf@gitster.g>
 cf. <20230915183927.1597414-1-jonathantanmy@google.com>
 source: <20230908174134.1026823-1-calvinwan@google.com>


* cc/git-replay (2023-09-07) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 Waiting for review response.
 cf. <52277471-4ddd-b2e0-62ca-c2a5b59ae418@gmx.de>
 cf. <58daa706-7efb-51dd-9061-202ef650b96a@gmx.de>
 cf. <f0e75d47-c277-9fbb-7bcd-53e4e5686f3c@gmx.de>
 May want to wait until tb/repack-existing-packs-cleanup stabilizes.
 source: <20230907092521.733746-1-christian.couder@gmail.com>


* la/trailer-test-and-doc-updates (2023-09-07) 13 commits
 - trailer doc: <token> is a <key> or <keyAlias>, not both
 - trailer doc: separator within key suppresses default separator
 - trailer doc: emphasize the effect of configuration variables
 - trailer --unfold help: prefer "reformat" over "join"
 - trailer --parse docs: add explanation for its usefulness
 - trailer --only-input: prefer "configuration variables" over "rules"
 - trailer --parse help: expose aliased options
 - trailer --no-divider help: describe usual "---" meaning
 - trailer: trailer location is a place, not an action
 - trailer doc: narrow down scope of --where and related flags
 - trailer: add tests to check defaulting behavior with --no-* flags
 - trailer test description: this tests --where=after, not --where=before
 - trailer tests: make test cases self-contained

 Test coverage for trailers has been improved.
 source: <pull.1564.v3.git.1694125209.gitgitgadget@gmail.com>


* js/doc-unit-tests (2023-08-17) 3 commits
 - ci: run unit tests in CI
 - unit tests: add TAP unit test framework
 - unit tests: Add a project plan document
 (this branch is used by js/doc-unit-tests-with-cmake.)

 Process to add some form of low-level unit tests has started.

 Waiting for review response.
 cf. <xmqq350hw6n7.fsf@gitster.g>
 source: <cover.1692297001.git.steadmon@google.com>


* js/doc-unit-tests-with-cmake (2023-09-18) 7 commits
 - cmake: handle also unit tests
 - cmake: use test names instead of full paths
 - cmake: fix typo in variable name
 - artifacts-tar: when including `.dll` files, don't forget the unit-tests
 - unit-tests: do show relative file paths
 - unit-tests: do not mistake `.pdb` files for being executable
 - cmake: also build unit tests
 (this branch uses js/doc-unit-tests.)

 Update the base topic to work with CMake builds.

 Waiting for the base topic to settle.
 source: <pull.1579.v2.git.1695070468.gitgitgadget@gmail.com>


* tb/path-filter-fix (2023-08-30) 15 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Needs more work.
 cf. <20230830200218.GA5147@szeder.dev>
 source: <cover.1693413637.git.jonathantanmy@google.com>


* js/config-parse (2023-08-23) 4 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split out config_parse_options

 The parsing routines for the configuration files have been split
 into a separate file.

 Needs review.
 source: <cover.1692827403.git.steadmon@google.com>


* jc/update-index-show-index-version (2023-09-12) 3 commits
  (merged to 'next' on 2023-09-13 at b754554df8)
 + test-tool: retire "index-version"
 + update-index: add --show-index-version
 + update-index doc: v4 is OK with JGit and libgit2

 "git update-index" learns "--show-index-version" to inspect
 the index format version used by the on-disk index file.

 Will merge to 'master'.
 source: <20230912193235.776292-1-gitster@pobox.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function
 (this branch uses jc/unresolve-removal.)

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* jc/unresolve-removal (2023-07-31) 7 commits
 - checkout: allow "checkout -m path" to unmerge removed paths
 - checkout/restore: add basic tests for --merge
 - checkout/restore: refuse unmerging paths unless checking out of the index
 - update-index: remove stale fallback code for "--unresolve"
 - update-index: use unmerge_index_entry() to support removal
 - resolve-undo: allow resurrecting conflicted state that resolved to deletion
 - update-index: do not read HEAD and MERGE_HEAD unconditionally
 (this branch is used by jc/rerere-cleanup.)

 "checkout --merge -- path" and "update-index --unresolve path" did
 not resurrect conflicted state that was resolved to remove path,
 but now they do.

 Needs review.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-08-01) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 cf. <xmqqtttia3vn.fsf@gitster.g>
 source: <48745298-f12b-8efb-4e48-90d2c22a8349@gmail.com>

^ permalink raw reply	[relevance 28%]

* Re: What's cooking in git.git (Sep 2023, #05; Fri, 15)
    2023-09-19 20:16 99%   ` Junio C Hamano
@ 2023-09-19 21:25 99%   ` Junio C Hamano
    1 sibling, 1 reply; 200+ results
From: Junio C Hamano @ 2023-09-19 21:25 UTC (permalink / raw)
  To: Linus Arver; +Cc: git

Linus Arver <linusa@google.com> writes:

> Junio C Hamano <gitster@pobox.com> writes:
>
>> [Cooking]
>>
>> [...]
>>
>> * la/trailer-cleanups (2023-09-11) 6 commits
>>   (merged to 'next' on 2023-09-12 at 779c4a097a)
>>  + trailer: use offsets for trailer_start/trailer_end
>>  + trailer: rename *_DEFAULT enums to *_UNSPECIFIED
>>  + trailer: teach find_patch_start about --no-divider
>>  + trailer: split process_command_line_args into separate functions
>>  + trailer: split process_input_file into separate pieces
>>  + trailer: separate public from internal portion of trailer_iterator
>>
>>  Code clean-up.
>>
>>  Will merge to 'master'.
>>  source: <pull.1563.v2.git.1694240177.gitgitgadget@gmail.com>
>
> This isn't ready yet (still need to reroll).

Whoa, wait.  I wasn't aware of any more comments that needed
addressing.  Whatever improvements you have in mind, if they are
minor, letting the above graduate (they have been in 'next' for a
week without anybody complaining) and doing them as a follow-up
series would be sensible, I would think.

Thanks.

^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (Sep 2023, #05; Fri, 15)
  @ 2023-09-19 20:16 99%   ` Junio C Hamano
  2023-09-19 21:25 99%   ` Junio C Hamano
  1 sibling, 0 replies; 200+ results
From: Junio C Hamano @ 2023-09-19 20:16 UTC (permalink / raw)
  To: Linus Arver; +Cc: git

Linus Arver <linusa@google.com> writes:

> Junio C Hamano <gitster@pobox.com> writes:
>
>> [Cooking]
>>
>> [...]
>>
>> * la/trailer-cleanups (2023-09-11) 6 commits
>>   (merged to 'next' on 2023-09-12 at 779c4a097a)
>>  + trailer: use offsets for trailer_start/trailer_end
>>  + trailer: rename *_DEFAULT enums to *_UNSPECIFIED
>>  + trailer: teach find_patch_start about --no-divider
>>  + trailer: split process_command_line_args into separate functions
>>  + trailer: split process_input_file into separate pieces
>>  + trailer: separate public from internal portion of trailer_iterator
>>
>>  Code clean-up.
>>
>>  Will merge to 'master'.
>>  source: <pull.1563.v2.git.1694240177.gitgitgadget@gmail.com>
>
> This isn't ready yet (still need to reroll).
>
>> [...]
>>
>> * la/trailer-test-and-doc-updates (2023-09-07) 13 commits
>>  - trailer doc: <token> is a <key> or <keyAlias>, not both
>>  - trailer doc: separator within key suppresses default separator
>>  - trailer doc: emphasize the effect of configuration variables
>>  - trailer --unfold help: prefer "reformat" over "join"
>>  - trailer --parse docs: add explanation for its usefulness
>>  - trailer --only-input: prefer "configuration variables" over "rules"
>>  - trailer --parse help: expose aliased options
>>  - trailer --no-divider help: describe usual "---" meaning
>>  - trailer: trailer location is a place, not an action
>>  - trailer doc: narrow down scope of --where and related flags
>>  - trailer: add tests to check defaulting behavior with --no-* flags
>>  - trailer test description: this tests --where=after, not --where=before
>>  - trailer tests: make test cases self-contained
>>
>>  Test coverage for trailers has been improved.
>>  source: <pull.1564.v3.git.1694125209.gitgitgadget@gmail.com>
>
> Did you forget to add "Need more reviews"? Not sure what the status is
> for the overall series (modulo your targetd comments for some of the
> patches).

I do not have status comment for this one because I do not know what
its status is.

^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Sep 2023, #05; Fri, 15)
@ 2023-09-16  1:41 26% Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2023-09-16  1:41 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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']

* ak/pretty-decorate-more (2023-08-21) 8 commits
  (merged to 'next' on 2023-09-07 at 6f5e14cef2)
 + decorate: use commit color for HEAD arrow
 + pretty: add pointer and tag options to %(decorate)
 + pretty: add %(decorate[:<options>]) format
 + decorate: color each token separately
 + decorate: avoid some unnecessary color overhead
 + decorate: refactor format_decorations()
 + pretty-formats: enclose options in angle brackets
 + pretty-formats: define "literal formatting code"

 "git log --format" has been taught the %(decorate) placeholder.
 source: <20230820185009.20095-1-andy.koppe@gmail.com>


* bc/more-git-var (2023-09-05) 1 commit
  (merged to 'next' on 2023-09-06 at d8af32874c)
 + var: avoid a segmentation fault when `HOME` is unset

 Fix-up for a topic that already has graduated.
 source: <pull.1580.git.1693808487058.gitgitgadget@gmail.com>


* ew/hash-with-openssl-evp (2023-08-31) 1 commit
  (merged to 'next' on 2023-09-05 at 1ddc0078c8)
 + treewide: fix various bugs w/ OpenSSL 3+ EVP API

 Fix-up new-ish code to support OpenSSL EVP API.
 source: <20230901020928.M610756@dcvr>


* jk/tree-name-and-depth-limit (2023-08-31) 10 commits
  (merged to 'next' on 2023-09-07 at 7ad767ab0d)
 + lower core.maxTreeDepth default to 2048
 + tree-diff: respect max_allowed_tree_depth
 + list-objects: respect max_allowed_tree_depth
 + read_tree(): respect max_allowed_tree_depth
 + traverse_trees(): respect max_allowed_tree_depth
 + add core.maxTreeDepth config
 + fsck: detect very large tree pathnames
 + tree-walk: rename "error" variable
 + tree-walk: drop MAX_TRAVERSE_TREES macro
 + tree-walk: reduce stack size for recursive functions

 We now limit depth of the tree objects and maximum length of
 pathnames recorded in tree objects.
 source: <20230831061735.GA2702156@coredump.intra.peff.net>


* jk/unused-post-2.42-part2 (2023-09-05) 10 commits
  (merged to 'next' on 2023-09-05 at 308ca3a052)
 + parse-options: mark unused parameters in noop callback
 + interpret-trailers: mark unused "unset" parameters in option callbacks
 + parse-options: add more BUG_ON() annotations
 + merge: do not pass unused opt->value parameter
 + parse-options: mark unused "opt" parameter in callbacks
 + parse-options: prefer opt->value to globals in callbacks
 + checkout-index: delay automatic setting of to_tempfile
 + format-patch: use OPT_STRING_LIST for to/cc options
 + merge: simplify parsing of "-n" option
 + merge: make xopts a strvec

 Unused parameters to functions are marked as such, and/or removed,
 in order to bring us closer to -Wunused-parameter clean.
 source: <20230831211637.GA949188@coredump.intra.peff.net>


* ks/ref-filter-sort-numerically (2023-09-05) 1 commit
  (merged to 'next' on 2023-09-06 at aa4d156366)
 + ref-filter: sort numerically when ":size" is used

 "git for-each-ref --sort='contents:size'" sorts the refs according
 to size numerically, giving a ref that points at a blob twelve-byte
 (12) long before showing a blob hundred-byte (100) long.
 source: <20230902090155.8978-1-five231003@gmail.com>


* ob/revert-of-revert-is-reapply (2023-09-02) 2 commits
  (merged to 'next' on 2023-09-07 at 9a54f66511)
 + git-revert.txt: add discussion
 + sequencer: beautify subject of reverts of reverts

 The default log message created by "git revert", when reverting a
 commit that records a revert, has been tweaked.
 source: <20230821170720.577850-1-oswald.buddenhagen@gmx.de>
 source: <20230902072035.652549-1-oswald.buddenhagen@gmx.de>


* ob/sequencer-reword-error-message (2023-09-05) 1 commit
  (merged to 'next' on 2023-09-06 at c5154b7aa2)
 + sequencer: fix error message on failure to copy SQUASH_MSG

 Update an error message (which would probably never been seen).
 source: <20230903151132.739136-1-oswald.buddenhagen@gmx.de>


* pw/rebase-i-after-failure (2023-09-06) 7 commits
  (merged to 'next' on 2023-09-07 at 3cbc3c4d63)
 + rebase -i: fix adding failed command to the todo list
 + rebase --continue: refuse to commit after failed command
 + rebase: fix rewritten list for failed pick
 + sequencer: factor out part of pick_commits()
 + sequencer: use rebase_path_message()
 + rebase -i: remove patch file after conflict resolution
 + rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.
 cf. <6b927687-cf6e-d73e-78fb-bd4f46736928@gmx.de>
 source: <pull.1492.v4.git.1694013771.gitgitgadget@gmail.com>


* rs/grep-parseopt-simplify (2023-09-05) 1 commit
  (merged to 'next' on 2023-09-06 at 249b69cfd2)
 + grep: use OPT_INTEGER_F for --max-depth

 Simplify use of parse-options API a bit.
 source: <4d2eb736-4f34-18f8-2eb7-20e7f7b8c2f8@web.de>


* rs/name-rev-use-opt-hidden-bool (2023-09-05) 1 commit
  (merged to 'next' on 2023-09-06 at 9b251a5392)
 + name-rev: use OPT_HIDDEN_BOOL for --peel-tag

 Simplify use of parse-options API a bit.
 source: <5a86c8f8-fcdc-fee9-8af5-aa5ecb036d2e@web.de>


* so/diff-doc-for-patch-update (2023-09-06) 1 commit
  (merged to 'next' on 2023-09-07 at 6da5e9defd)
 + doc/diff-options: fix link to generating patch section

 References from description of the `--patch` option in various
 manual pages have been simplified and improved.
 source: <87msxzpybo.fsf_-_@osv.gnss.ru>

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

* ob/sequencer-remove-dead-code (2023-09-12) 1 commit
  (merged to 'next' on 2023-09-13 at 1f6c2b336b)
 + sequencer: remove unreachable exit condition in pick_commits()

 Code clean-up.

 Will merge to 'master'.
 source: <20230912105541.272917-1-oswald.buddenhagen@gmx.de>


* ob/t3404-typofix (2023-09-12) 1 commit
  (merged to 'next' on 2023-09-13 at b17fa78c3f)
 + t3404-rebase-interactive.sh: fix typos in title of a rewording test

 Code clean-up.

 Will merge to 'master'.
 source: <20230912104237.271616-1-oswald.buddenhagen@gmx.de>


* jk/ort-unused-parameter-cleanups (2023-09-14) 4 commits
 - merge-ort: drop unused "opt" parameter from merge_check_renames_reusable()
 - merge-ort: drop unused parameters from detect_and_process_renames()
 - merge-ort: stop passing "opt" to read_oid_strbuf()
 - merge-ort: drop custom err() function

 Code clean-up.

 Needs review.
 source: <20230914093409.GA2254811@coredump.intra.peff.net>


* jc/fake-lstat (2023-09-14) 1 commit
 - cache: add fake_lstat()

 A new helper to let us pretend that we called lstat() when we know
 our cache_entry is up-to-date via fsmonitor.

 Needs review.
 source: <xmqqcyykig1l.fsf@gitster.g>


* jk/redact-h2h3-headers-fix (2023-09-15) 2 commits
 - http: update curl http/2 info matching for curl 8.3.0
 - http: factor out matching of curl http/2 trace lines

 HTTP Header redaction code has been adjusted for a newer version of
 cURL library that shows its traces differently from earlier
 versions.

 Will merge to 'next'.
 source: <20230915113237.GA3531328@coredump.intra.peff.net>


* ch/clean-docfix (2023-09-15) 1 commit
 - git-clean doc: fix "without do cleaning" typo

 Typofix.

 Will merge to 'next'.
 source: <pull.1572.git.git.1694800409471.gitgitgadget@gmail.com>


* eg/config-type-path-docfix (2023-09-15) 1 commit
 - git-config: fix misworded --type=path explanation

 Typofix.

 Will merge to 'next'.
 source: <20230915202610.21206-1-evan.gates@gmail.com>


* kn/rev-list-ignore-missing-links (2023-09-15) 1 commit
 - revision: add `--ignore-missing-links` user option

 Surface the .ignore_missing_links bit that stops the revision
 traversal from stopping and dying when encountering a missing
 object to a new command line option of "git rev-list", so that the
 objects that are required but are missing can be enumerated.

 Waiting for review response.
 source: <20230915083415.263187-1-knayak@gitlab.com>

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

* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>

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

* js/systemd-timers-wsl-fix (2023-09-11) 1 commit
  (merged to 'next' on 2023-09-12 at 71c4cbb1df)
 + maintenance(systemd): support the Windows Subsystem for Linux

 Update "git maintainance" timers' implementation based on systemd
 timers to work with WSL.

 Will merge to 'master'.
 source: <pull.1586.git.1694334620260.gitgitgadget@gmail.com>


* kh/range-diff-notes (2023-09-11) 1 commit
 - range-diff: treat notes like `log`

 "git range-diff --notes=foo" compared "log --notes=foo --notes" of
 the two ranges, instead of using just the specified notes tree.

 Expecting a reroll.
 cf. <dd2958c5-58bf-86dd-b666-9033259a8e1a@gmx.de>
 source: <a37dfb3748e23b4f5081bc9a3c80a5c546101f1d.1694383248.git.code@khaugsbakk.name>


* pw/diff-no-index-from-named-pipes (2023-09-11) 1 commit
  (merged to 'next' on 2023-09-12 at 135ecd136f)
 + diff --no-index: fix -R with stdin

 "git diff --no-index -R <(one) <(two)" did not work correctly,
 which has been corrected.

 Will merge to 'master'.
 source: <22fdfa3b-f90e-afcc-667c-705fb7670245@web.de>


* rs/parse-options-value-int (2023-09-11) 2 commits
 - parse-options: use and require int pointer for OPT_CMDMODE
 - parse-options: add int value pointer to struct option

 A bit of type safety for the "value" pointer used in the
 parse-options API.

 What's the status of this one?
 source: <e6d8a291-03de-cfd3-3813-747fc2cad145@web.de>


* so/diff-merges-d (2023-09-11) 2 commits
 - diff-merges: introduce '-d' option
 - diff-merges: improve --diff-merges documentation

 Teach a new "-d" option that shows the patch against the first
 parent for merge commits (which is "--diff-merges=first-parent -p").

 Needs more work.
 source: <20230909125446.142715-1-sorganov@gmail.com>


* js/diff-cached-fsmonitor-fix (2023-09-11) 1 commit
  (merged to 'next' on 2023-09-12 at 7479278da0)
 + diff-lib: fix check_removed when fsmonitor is on

 "git diff --cached" codepath did not fill the necessary stat
 information for a file when fsmonitor knows it is clean and ended
 up behaving as if it is not clean, which has been corrected.

 Will merge to 'master'.
 source: <20230911170901.49050-2-sokcevic@google.com>


* pb/completion-aliases-doc (2023-09-12) 1 commit
  (merged to 'next' on 2023-09-13 at b248a5bc26)
 + completion: improve doc for complex aliases

 Clarify how "alias.foo = : git cmd ; aliased-command-string" should
 be spelled with necessary whitespaces around punctuation marks to
 work.

 Will merge to 'master'.
 source: <pull.1585.v2.git.1694538135853.gitgitgadget@gmail.com>


* cc/repack-sift-filtered-objects-to-separate-pack (2023-09-11) 9 commits
 . gc: add `gc.repackFilterTo` config option
 . repack: implement `--filter-to` for storing filtered out objects
 . gc: add `gc.repackFilter` config option
 . repack: add `--filter=<filter-spec>` option
 . pack-bitmap-write: rebuild using new bitmap when remapping
 . repack: refactor finding pack prefix
 . repack: refactor finishing pack-objects command
 . t/helper: add 'find-pack' test-tool
 . pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 May need to wait until tb/repack-existing-packs-cleanup stablizes.
 source: <20230911150618.129737-1-christian.couder@gmail.com>


* la/trailer-cleanups (2023-09-11) 6 commits
  (merged to 'next' on 2023-09-12 at 779c4a097a)
 + trailer: use offsets for trailer_start/trailer_end
 + trailer: rename *_DEFAULT enums to *_UNSPECIFIED
 + trailer: teach find_patch_start about --no-divider
 + trailer: split process_command_line_args into separate functions
 + trailer: split process_input_file into separate pieces
 + trailer: separate public from internal portion of trailer_iterator

 Code clean-up.

 Will merge to 'master'.
 source: <pull.1563.v2.git.1694240177.gitgitgadget@gmail.com>


* tb/repack-existing-packs-cleanup (2023-09-13) 8 commits
  (merged to 'next' on 2023-09-14 at bb8065e89c)
 + builtin/repack.c: extract common cruft pack loop
 + builtin/repack.c: avoid directly inspecting "util"
 + builtin/repack.c: store existing cruft packs separately
 + builtin/repack.c: extract `has_existing_non_kept_packs()`
 + builtin/repack.c: extract redundant pack cleanup for existing packs
 + builtin/repack.c: extract redundant pack cleanup for --geometric
 + builtin/repack.c: extract marking packs for deletion
 + builtin/repack.c: extract structure to store existing packs

 The code to keep track of existing packs in the repository while
 repacking has been refactored.

 Will merge to 'master'.
 source: <cover.1694632644.git.me@ttaylorr.com>


* pb/complete-commit-trailers (2023-09-12) 2 commits
  (merged to 'next' on 2023-09-13 at 9a0ec17606)
 + completion: commit: complete trailers tokens more robustly
  (merged to 'next' on 2023-09-08 at 842587016d)
 + completion: commit: complete configured trailer tokens

 The command-line complation support (in contrib/) learned to
 complete "git commit --trailer=" for possible trailer keys.

 Will merge to 'master'.
 source: <pull.1583.v2.git.1694539827.gitgitgadget@gmail.com>


* pw/rebase-sigint (2023-09-07) 1 commit
 - rebase -i: ignore signals when forking subprocesses

 If the commit log editor or other external programs (spawned via
 "exec" insn in the todo list) receive internactive signal during
 "git rebase -i", it caused not just the spawned program but the
 "Git" process that spawned them, which is often not what the end
 user intended.  "git" learned to ignore SIGINT and SIGQUIT while
 waiting for these subprocesses.

 Expecting a reroll.
 cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
 source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>


* rs/grep-no-no-or (2023-09-07) 1 commit
  (merged to 'next' on 2023-09-08 at 33849032bc)
 + grep: reject --no-or

 "git grep -e A --no-or -e B" is accepted, even though the negation
 of "or" did not mean anything, which has been tightened.

 Will merge to 'master'.
 source: <6aeb0ebe-0fea-ccd3-089a-ee0b5b5baf10@web.de>


* js/complete-checkout-t (2023-09-08) 1 commit
  (merged to 'next' on 2023-09-08 at 461bb28fbd)
 + completion(switch/checkout): treat --track and -t the same

 The completion script (in contrib/) has been taught to treat the
 "-t" option to "git checkout" and "git switch" just like the
 "--track" option, to complete remote-tracking branches.

 Will merge to 'master'.
 source: <pull.1584.git.1694176123471.gitgitgadget@gmail.com>


* cw/git-std-lib (2023-09-11) 7 commits
 - SQUASH???
 - git-std-lib: add test file to call git-std-lib.a functions
 - git-std-lib: introduce git standard library
 - parse: create new library for parsing strings and env values
 - config: correct bad boolean env value error message
 - wrapper: remove dependency to Git-specific internal file
 - hex-ll: split out functionality from hex

 Another libification effort.

 Needs more work.
 cf. <xmqqy1hfrk6p.fsf@gitster.g>
 cf. <20230915183927.1597414-1-jonathantanmy@google.com>
 source: <20230908174134.1026823-1-calvinwan@google.com>


* cc/git-replay (2023-09-07) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 Waiting for review response.
 cf. <52277471-4ddd-b2e0-62ca-c2a5b59ae418@gmx.de>
 cf. <58daa706-7efb-51dd-9061-202ef650b96a@gmx.de>
 cf. <f0e75d47-c277-9fbb-7bcd-53e4e5686f3c@gmx.de>
 May want to wait until tb/repack-existing-packs-cleanup stabilizes.
 source: <20230907092521.733746-1-christian.couder@gmail.com>


* la/trailer-test-and-doc-updates (2023-09-07) 13 commits
 - trailer doc: <token> is a <key> or <keyAlias>, not both
 - trailer doc: separator within key suppresses default separator
 - trailer doc: emphasize the effect of configuration variables
 - trailer --unfold help: prefer "reformat" over "join"
 - trailer --parse docs: add explanation for its usefulness
 - trailer --only-input: prefer "configuration variables" over "rules"
 - trailer --parse help: expose aliased options
 - trailer --no-divider help: describe usual "---" meaning
 - trailer: trailer location is a place, not an action
 - trailer doc: narrow down scope of --where and related flags
 - trailer: add tests to check defaulting behavior with --no-* flags
 - trailer test description: this tests --where=after, not --where=before
 - trailer tests: make test cases self-contained

 Test coverage for trailers has been improved.
 source: <pull.1564.v3.git.1694125209.gitgitgadget@gmail.com>


* js/doc-unit-tests (2023-08-17) 3 commits
 - ci: run unit tests in CI
 - unit tests: add TAP unit test framework
 - unit tests: Add a project plan document
 (this branch is used by js/doc-unit-tests-with-cmake.)

 Process to add some form of low-level unit tests has started.

 Waiting for review response.
 cf. <xmqq350hw6n7.fsf@gitster.g>
 source: <cover.1692297001.git.steadmon@google.com>


* js/doc-unit-tests-with-cmake (2023-08-31) 4 commits
 - artifacts-tar: when including `.dll` files, don't forget the unit-tests
 - unit-tests: do show relative file paths
 - unit-tests: do not mistake `.pdb` files for being executable
 - cmake: also build unit tests
 (this branch uses js/doc-unit-tests.)

 Update the base topic to work with CMake builds.

 Waiting for the base topic to settle.
 source: <pull.1579.git.1693462532.gitgitgadget@gmail.com>


* tb/path-filter-fix (2023-08-30) 15 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Needs more work.
 cf. <20230830200218.GA5147@szeder.dev>
 source: <cover.1693413637.git.jonathantanmy@google.com>


* js/config-parse (2023-08-23) 4 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split out config_parse_options

 The parsing routines for the configuration files have been split
 into a separate file.

 Needs review.
 source: <cover.1692827403.git.steadmon@google.com>


* jc/update-index-show-index-version (2023-09-12) 3 commits
  (merged to 'next' on 2023-09-13 at b754554df8)
 + test-tool: retire "index-version"
 + update-index: add --show-index-version
 + update-index doc: v4 is OK with JGit and libgit2

 "git update-index" learns "--show-index-version" to inspect
 the index format version used by the on-disk index file.

 Will merge to 'master'.
 source: <20230912193235.776292-1-gitster@pobox.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function
 (this branch uses jc/unresolve-removal.)

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* jc/unresolve-removal (2023-07-31) 7 commits
 - checkout: allow "checkout -m path" to unmerge removed paths
 - checkout/restore: add basic tests for --merge
 - checkout/restore: refuse unmerging paths unless checking out of the index
 - update-index: remove stale fallback code for "--unresolve"
 - update-index: use unmerge_index_entry() to support removal
 - resolve-undo: allow resurrecting conflicted state that resolved to deletion
 - update-index: do not read HEAD and MERGE_HEAD unconditionally
 (this branch is used by jc/rerere-cleanup.)

 "checkout --merge -- path" and "update-index --unresolve path" did
 not resurrect conflicted state that was resolved to remove path,
 but now they do.

 Needs review.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-08-01) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 cf. <xmqqtttia3vn.fsf@gitster.g>
 source: <48745298-f12b-8efb-4e48-90d2c22a8349@gmail.com>

^ permalink raw reply	[relevance 26%]

* Re: What's cooking in git.git (Sep 2023, #04; Tue, 12)
  @ 2023-09-12 19:34 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-09-12 19:34 UTC (permalink / raw)
  To: Phillip Wood; +Cc: git

Phillip Wood <phillip.wood123@gmail.com> writes:

> On 12/09/2023 17:57, Junio C Hamano wrote:
>> * pw/rebase-sigint (2023-09-07) 1 commit
>>   - rebase -i: ignore signals when forking subprocesses
>>   If the commit log editor or other external programs (spawned via
>>   "exec" insn in the todo list) receive internactive signal during
>>   "git rebase -i", it caused not just the spawned program but the
>>   "Git" process that spawned them, which is often not what the end
>>   user intended.  "git" learned to ignore SIGINT and SIGQUIT while
>>   waiting for these subprocesses.
>>   Will merge to 'next'?
>>   source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>
>
> This needs a re-roll to stop it ignoring signals in the child
> c.f. <376d3ea0-a3eb-4b25-8bf2-ca40c4699e26@gmail.com>

Yeah, you're right.

Thanks.

^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (Sep 2023, #04; Tue, 12)
  @ 2023-09-12 19:25 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-09-12 19:25 UTC (permalink / raw)
  To: Philippe Blain; +Cc: git

Philippe Blain <levraiphilippeblain@gmail.com> writes:

> Hi Junio,
>
> Le 2023-09-12 à 12:57, Junio C Hamano a écrit :
>  
>> * pb/completion-aliases-doc (2023-09-11) 1 commit
>>  - completion: improve doc for complex aliases
>> 
>>  Clarify how "alias.foo = : git cmd ; aliased-command-string" should
>>  be spelled with necessary whitespaces around punctuation marks to
>>  work.
>> 
>>  Will merge to 'next'.
>>  source: <pull.1585.git.1694274592854.gitgitgadget@gmail.com> 
>
> Thanks, I just sent a v2 so let's make sure this is what you merge:
> <pull.1585.v2.git.1694538135853.gitgitgadget@gmail.com>

OK.  Thanks for a heads-up _before_ it hits 'next'.

>> * pb/complete-commit-trailers (2023-09-07) 1 commit
>>   (merged to 'next' on 2023-09-08 at 842587016d)
>>  + completion: commit: complete configured trailer tokens
>> 
>>  The command-line complation support (in contrib/) learned to
>>  complete "git commit --trailer=" for possible trailer keys.
>> 
>>  Will merge to 'master'.
>>  source: <pull.1583.git.1694108551683.gitgitgadget@gmail.com>
>> 
>
> I've incorporate Martin's suggestions so let's wait to merge my v2 
> instead:
> <pull.1583.v2.git.1694539827.gitgitgadget@gmail.com>

It is too late for a replacement v2 once it is in 'next', though.

^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Sep 2023, #04; Tue, 12)
@ 2023-09-12 17:07 29% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-09-12 17:07 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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]

* js/systemd-timers-wsl-fix (2023-09-11) 1 commit
 - maintenance(systemd): support the Windows Subsystem for Linux

 Update "git maintainance" timers' implementation based on systemd
 timers to work with WSL.

 Will merge to 'next'.
 source: <pull.1586.git.1694334620260.gitgitgadget@gmail.com>


* kh/range-diff-notes (2023-09-11) 1 commit
 - range-diff: treat notes like `log`

 "git range-diff --notes=foo" compared "log --notes=foo --notes" of
 the two ranges, instead of using just the specified notes tree.
 source: <a37dfb3748e23b4f5081bc9a3c80a5c546101f1d.1694383248.git.code@khaugsbakk.name>


* pw/diff-no-index-from-named-pipes (2023-09-11) 1 commit
 - diff --no-index: fix -R with stdin

 "git diff --no-index -R <(one) <(two)" did not work correctly,
 which has been corrected.

 Will merge to 'next'.
 source: <22fdfa3b-f90e-afcc-667c-705fb7670245@web.de>


* rs/parse-options-value-int (2023-09-11) 2 commits
 - parse-options: use and require int pointer for OPT_CMDMODE
 - parse-options: add int value pointer to struct option

 A bit of type safety for the "value" pointer used in the
 parse-options API.
 source: <e6d8a291-03de-cfd3-3813-747fc2cad145@web.de>


* so/diff-merges-d (2023-09-11) 2 commits
 - diff-merges: introduce '-d' option
 - diff-merges: improve --diff-merges documentation

 Teach a new "-d" option that shows the patch against the first
 parent for merge commits (which is "--diff-merges=first-parent -p").
 source: <20230909125446.142715-1-sorganov@gmail.com>


* js/diff-cached-fsmonitor-fix (2023-09-11) 1 commit
 - diff-lib: fix check_removed when fsmonitor is on

 "git diff --cached" codepath did not fill the necessary stat
 information for a file when fsmonitor knows it is clean and ended
 up behaving as if it is not clean, which has been corrected.

 Will merge to 'next'.
 source: <20230911170901.49050-2-sokcevic@google.com>


* pb/completion-aliases-doc (2023-09-11) 1 commit
 - completion: improve doc for complex aliases

 Clarify how "alias.foo = : git cmd ; aliased-command-string" should
 be spelled with necessary whitespaces around punctuation marks to
 work.

 Will merge to 'next'.
 source: <pull.1585.git.1694274592854.gitgitgadget@gmail.com>

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

* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>

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

* cc/repack-sift-filtered-objects-to-separate-pack (2023-09-11) 9 commits
 . gc: add `gc.repackFilterTo` config option
 . repack: implement `--filter-to` for storing filtered out objects
 . gc: add `gc.repackFilter` config option
 . repack: add `--filter=<filter-spec>` option
 . pack-bitmap-write: rebuild using new bitmap when remapping
 . repack: refactor finding pack prefix
 . repack: refactor finishing pack-objects command
 . t/helper: add 'find-pack' test-tool
 . pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 May need to wait until tb/repack-existing-packs-cleanup stablizes.
 source: <20230911150618.129737-1-christian.couder@gmail.com>


* la/trailer-cleanups (2023-09-11) 6 commits
 - trailer: use offsets for trailer_start/trailer_end
 - trailer: rename *_DEFAULT enums to *_UNSPECIFIED
 - trailer: teach find_patch_start about --no-divider
 - trailer: split process_command_line_args into separate functions
 - trailer: split process_input_file into separate pieces
 - trailer: separate public from internal portion of trailer_iterator

 Code clean-up.

 Will merge to 'next'.
 source: <pull.1563.v2.git.1694240177.gitgitgadget@gmail.com>


* so/diff-doc-for-patch-update (2023-09-06) 1 commit
  (merged to 'next' on 2023-09-07 at 6da5e9defd)
 + doc/diff-options: fix link to generating patch section

 References from description of the `--patch` option in various
 manual pages have been simplified and improved.

 Will merge to 'master'.
 source: <87msxzpybo.fsf_-_@osv.gnss.ru>


* tb/repack-existing-packs-cleanup (2023-09-06) 8 commits
 - builtin/repack.c: extract common cruft pack loop
 - builtin/repack.c: drop `DELETE_PACK` macro
 - builtin/repack.c: store existing cruft packs separately
 - builtin/repack.c: extract `has_existing_non_kept_packs()`
 - builtin/repack.c: extract redundant pack cleanup for existing packs
 - builtin/repack.c: extract redundant pack cleanup for --geometric
 - builtin/repack.c: extract marking packs for deletion
 - builtin/repack.c: extract structure to store existing packs

 The code to keep track of existing packs in the repository while
 repacking has been refactored.

 Will merge to 'next'?
 source: <cover.1693946195.git.me@ttaylorr.com>


* pb/complete-commit-trailers (2023-09-07) 1 commit
  (merged to 'next' on 2023-09-08 at 842587016d)
 + completion: commit: complete configured trailer tokens

 The command-line complation support (in contrib/) learned to
 complete "git commit --trailer=" for possible trailer keys.

 Will merge to 'master'.
 source: <pull.1583.git.1694108551683.gitgitgadget@gmail.com>


* pw/rebase-sigint (2023-09-07) 1 commit
 - rebase -i: ignore signals when forking subprocesses

 If the commit log editor or other external programs (spawned via
 "exec" insn in the todo list) receive internactive signal during
 "git rebase -i", it caused not just the spawned program but the
 "Git" process that spawned them, which is often not what the end
 user intended.  "git" learned to ignore SIGINT and SIGQUIT while
 waiting for these subprocesses.

 Will merge to 'next'?
 source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>


* rs/grep-no-no-or (2023-09-07) 1 commit
  (merged to 'next' on 2023-09-08 at 33849032bc)
 + grep: reject --no-or

 "git grep -e A --no-or -e B" is accepted, even though the negation
 of "or" did not mean anything, which has been tightened.

 Will merge to 'master'.
 source: <6aeb0ebe-0fea-ccd3-089a-ee0b5b5baf10@web.de>


* js/complete-checkout-t (2023-09-08) 1 commit
  (merged to 'next' on 2023-09-08 at 461bb28fbd)
 + completion(switch/checkout): treat --track and -t the same

 The completion script (in contrib/) has been taught to treat the
 "-t" option to "git checkout" and "git switch" just like the
 "--track" option, to complete remote-tracking branches.

 Will merge to 'master'.
 source: <pull.1584.git.1694176123471.gitgitgadget@gmail.com>


* cw/git-std-lib (2023-09-11) 7 commits
 - SQUASH???
 - git-std-lib: add test file to call git-std-lib.a functions
 - git-std-lib: introduce git standard library
 - parse: create new library for parsing strings and env values
 - config: correct bad boolean env value error message
 - wrapper: remove dependency to Git-specific internal file
 - hex-ll: split out functionality from hex

 Another libification effort.

 Needs more work.
 cf. <xmqqy1hfrk6p.fsf@gitster.g>
 source: <20230908174134.1026823-1-calvinwan@google.com>


* cc/git-replay (2023-09-07) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 source: <20230907092521.733746-1-christian.couder@gmail.com>


* la/trailer-test-and-doc-updates (2023-09-07) 13 commits
 - trailer doc: <token> is a <key> or <keyAlias>, not both
 - trailer doc: separator within key suppresses default separator
 - trailer doc: emphasize the effect of configuration variables
 - trailer --unfold help: prefer "reformat" over "join"
 - trailer --parse docs: add explanation for its usefulness
 - trailer --only-input: prefer "configuration variables" over "rules"
 - trailer --parse help: expose aliased options
 - trailer --no-divider help: describe usual "---" meaning
 - trailer: trailer location is a place, not an action
 - trailer doc: narrow down scope of --where and related flags
 - trailer: add tests to check defaulting behavior with --no-* flags
 - trailer test description: this tests --where=after, not --where=before
 - trailer tests: make test cases self-contained

 Test coverage for trailers has been improved.
 source: <pull.1564.v3.git.1694125209.gitgitgadget@gmail.com>


* ak/pretty-decorate-more (2023-08-21) 8 commits
  (merged to 'next' on 2023-09-07 at 6f5e14cef2)
 + decorate: use commit color for HEAD arrow
 + pretty: add pointer and tag options to %(decorate)
 + pretty: add %(decorate[:<options>]) format
 + decorate: color each token separately
 + decorate: avoid some unnecessary color overhead
 + decorate: refactor format_decorations()
 + pretty-formats: enclose options in angle brackets
 + pretty-formats: define "literal formatting code"

 "git log --format" has been taught the %(decorate) placeholder.

 Will merge to 'master'.
 source: <20230820185009.20095-1-andy.koppe@gmail.com>


* bc/more-git-var (2023-09-05) 1 commit
  (merged to 'next' on 2023-09-06 at d8af32874c)
 + var: avoid a segmentation fault when `HOME` is unset

 Fix-up for a topic that already has graduated.

 Will merge to 'master'.
 source: <pull.1580.git.1693808487058.gitgitgadget@gmail.com>


* ks/ref-filter-sort-numerically (2023-09-05) 1 commit
  (merged to 'next' on 2023-09-06 at aa4d156366)
 + ref-filter: sort numerically when ":size" is used

 "git for-each-ref --sort='contents:size'" sorts the refs according
 to size numerically, giving a ref that points at a blob twelve-byte
 (12) long before showing a blob hundred-byte (100) long.

 Will merge to 'master'.
 source: <20230902090155.8978-1-five231003@gmail.com>


* ob/sequencer-reword-error-message (2023-09-05) 1 commit
  (merged to 'next' on 2023-09-06 at c5154b7aa2)
 + sequencer: fix error message on failure to copy SQUASH_MSG

 Update an error message (which would probably never been seen).

 Will merge to 'master'.
 source: <20230903151132.739136-1-oswald.buddenhagen@gmx.de>


* rs/grep-parseopt-simplify (2023-09-05) 1 commit
  (merged to 'next' on 2023-09-06 at 249b69cfd2)
 + grep: use OPT_INTEGER_F for --max-depth

 Simplify use of parse-options API a bit.

 Will merge to 'master'.
 source: <4d2eb736-4f34-18f8-2eb7-20e7f7b8c2f8@web.de>


* rs/name-rev-use-opt-hidden-bool (2023-09-05) 1 commit
  (merged to 'next' on 2023-09-06 at 9b251a5392)
 + name-rev: use OPT_HIDDEN_BOOL for --peel-tag

 Simplify use of parse-options API a bit.

 Will merge to 'master'.
 source: <5a86c8f8-fcdc-fee9-8af5-aa5ecb036d2e@web.de>


* jk/unused-post-2.42-part2 (2023-09-05) 10 commits
  (merged to 'next' on 2023-09-05 at 308ca3a052)
 + parse-options: mark unused parameters in noop callback
 + interpret-trailers: mark unused "unset" parameters in option callbacks
 + parse-options: add more BUG_ON() annotations
 + merge: do not pass unused opt->value parameter
 + parse-options: mark unused "opt" parameter in callbacks
 + parse-options: prefer opt->value to globals in callbacks
 + checkout-index: delay automatic setting of to_tempfile
 + format-patch: use OPT_STRING_LIST for to/cc options
 + merge: simplify parsing of "-n" option
 + merge: make xopts a strvec

 Unused parameters to functions are marked as such, and/or removed,
 in order to bring us closer to -Wunused-parameter clean.

 Will merge to 'master'.
 source: <20230831211637.GA949188@coredump.intra.peff.net>


* jk/tree-name-and-depth-limit (2023-08-31) 10 commits
  (merged to 'next' on 2023-09-07 at 7ad767ab0d)
 + lower core.maxTreeDepth default to 2048
 + tree-diff: respect max_allowed_tree_depth
 + list-objects: respect max_allowed_tree_depth
 + read_tree(): respect max_allowed_tree_depth
 + traverse_trees(): respect max_allowed_tree_depth
 + add core.maxTreeDepth config
 + fsck: detect very large tree pathnames
 + tree-walk: rename "error" variable
 + tree-walk: drop MAX_TRAVERSE_TREES macro
 + tree-walk: reduce stack size for recursive functions

 We now limit depth of the tree objects and maximum length of
 pathnames recorded in tree objects.

 Will merge to 'master'.
 source: <20230831061735.GA2702156@coredump.intra.peff.net>


* js/doc-unit-tests (2023-08-17) 3 commits
 - ci: run unit tests in CI
 - unit tests: add TAP unit test framework
 - unit tests: Add a project plan document
 (this branch is used by js/doc-unit-tests-with-cmake.)

 Process to add some form of low-level unit tests has started.

 Comments?
 source: <cover.1692297001.git.steadmon@google.com>


* js/doc-unit-tests-with-cmake (2023-08-31) 4 commits
 - artifacts-tar: when including `.dll` files, don't forget the unit-tests
 - unit-tests: do show relative file paths
 - unit-tests: do not mistake `.pdb` files for being executable
 - cmake: also build unit tests
 (this branch uses js/doc-unit-tests.)

 Update the base topic to work with CMake builds.
 source: <pull.1579.git.1693462532.gitgitgadget@gmail.com>


* ew/hash-with-openssl-evp (2023-08-31) 1 commit
  (merged to 'next' on 2023-09-05 at 1ddc0078c8)
 + treewide: fix various bugs w/ OpenSSL 3+ EVP API

 Fix-up new-ish code to support OpenSSL EVP API.

 Will merge to 'master'.
 source: <20230901020928.M610756@dcvr>


* tb/path-filter-fix (2023-08-30) 15 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Needs more work?
 cf. <20230830200218.GA5147@szeder.dev>
 source: <cover.1693413637.git.jonathantanmy@google.com>


* js/config-parse (2023-08-23) 4 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split out config_parse_options

 The parsing routines for the configuration files have been split
 into a separate file.

 Needs review.
 source: <cover.1692827403.git.steadmon@google.com>


* jc/update-index-show-index-version (2023-08-18) 3 commits
 - test-tool: retire "index-version"
 - update-index: add --show-index-version
 - update-index doc: v4 is OK with JGit and libgit2

 "git update-index" learns "--show-index-version" to inspect
 the index format version used by the on-disk index file.

 Needs review.
 source: <20230818233729.2766281-1-gitster@pobox.com>


* ob/revert-of-revert-is-reapply (2023-09-02) 2 commits
  (merged to 'next' on 2023-09-07 at 9a54f66511)
 + git-revert.txt: add discussion
 + sequencer: beautify subject of reverts of reverts

 The default log message created by "git revert", when reverting a
 commit that records a revert, has been tweaked.

 Will merge to 'master'.
 source: <20230821170720.577850-1-oswald.buddenhagen@gmx.de>
 source: <20230902072035.652549-1-oswald.buddenhagen@gmx.de>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function
 (this branch uses jc/unresolve-removal.)

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* pw/rebase-i-after-failure (2023-09-06) 7 commits
  (merged to 'next' on 2023-09-07 at 3cbc3c4d63)
 + rebase -i: fix adding failed command to the todo list
 + rebase --continue: refuse to commit after failed command
 + rebase: fix rewritten list for failed pick
 + sequencer: factor out part of pick_commits()
 + sequencer: use rebase_path_message()
 + rebase -i: remove patch file after conflict resolution
 + rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Will merge to 'master'.
 cf. <6b927687-cf6e-d73e-78fb-bd4f46736928@gmx.de>
 source: <pull.1492.v4.git.1694013771.gitgitgadget@gmail.com>


* jc/unresolve-removal (2023-07-31) 7 commits
 - checkout: allow "checkout -m path" to unmerge removed paths
 - checkout/restore: add basic tests for --merge
 - checkout/restore: refuse unmerging paths unless checking out of the index
 - update-index: remove stale fallback code for "--unresolve"
 - update-index: use unmerge_index_entry() to support removal
 - resolve-undo: allow resurrecting conflicted state that resolved to deletion
 - update-index: do not read HEAD and MERGE_HEAD unconditionally
 (this branch is used by jc/rerere-cleanup.)

 "checkout --merge -- path" and "update-index --unresolve path" did
 not resurrect conflicted state that was resolved to remove path,
 but now they do.

 Needs review.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-08-01) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 cf. <xmqqtttia3vn.fsf@gitster.g>
 source: <48745298-f12b-8efb-4e48-90d2c22a8349@gmail.com>

^ permalink raw reply	[relevance 29%]

* What's cooking in git.git (Sep 2023, #04; Tue, 12)
@ 2023-09-12 16:57 29% Junio C Hamano
      0 siblings, 2 replies; 200+ results
From: Junio C Hamano @ 2023-09-12 16:57 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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]

* js/systemd-timers-wsl-fix (2023-09-11) 1 commit
 - maintenance(systemd): support the Windows Subsystem for Linux

 Update "git maintainance" timers' implementation based on systemd
 timers to work with WSL.

 Will merge to 'next'.
 source: <pull.1586.git.1694334620260.gitgitgadget@gmail.com>


* kh/range-diff-notes (2023-09-11) 1 commit
 - range-diff: treat notes like `log`

 "git range-diff --notes=foo" compared "log --notes=foo --notes" of
 the two ranges, instead of using just the specified notes tree.
 source: <a37dfb3748e23b4f5081bc9a3c80a5c546101f1d.1694383248.git.code@khaugsbakk.name>


* pw/diff-no-index-from-named-pipes (2023-09-11) 1 commit
 - diff --no-index: fix -R with stdin

 "git diff --no-index -R <(one) <(two)" did not work correctly,
 which has been corrected.

 Will merge to 'next'.
 source: <22fdfa3b-f90e-afcc-667c-705fb7670245@web.de>


* rs/parse-options-value-int (2023-09-11) 2 commits
 - parse-options: use and require int pointer for OPT_CMDMODE
 - parse-options: add int value pointer to struct option

 A bit of type safety for the "value" pointer used in the
 parse-options API.
 source: <e6d8a291-03de-cfd3-3813-747fc2cad145@web.de>


* so/diff-merges-d (2023-09-11) 2 commits
 - diff-merges: introduce '-d' option
 - diff-merges: improve --diff-merges documentation

 Teach a new "-d" option that shows the patch against the first
 parent for merge commits (which is "--diff-merges=first-parent -p").
 source: <20230909125446.142715-1-sorganov@gmail.com>


* js/diff-cached-fsmonitor-fix (2023-09-11) 1 commit
 - diff-lib: fix check_removed when fsmonitor is on

 "git diff --cached" codepath did not fill the necessary stat
 information for a file when fsmonitor knows it is clean and ended
 up behaving as if it is not clean, which has been corrected.

 Will merge to 'next'.
 source: <20230911170901.49050-2-sokcevic@google.com>


* pb/completion-aliases-doc (2023-09-11) 1 commit
 - completion: improve doc for complex aliases

 Clarify how "alias.foo = : git cmd ; aliased-command-string" should
 be spelled with necessary whitespaces around punctuation marks to
 work.

 Will merge to 'next'.
 source: <pull.1585.git.1694274592854.gitgitgadget@gmail.com>

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

* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>

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

* cc/repack-sift-filtered-objects-to-separate-pack (2023-09-11) 9 commits
 . gc: add `gc.repackFilterTo` config option
 . repack: implement `--filter-to` for storing filtered out objects
 . gc: add `gc.repackFilter` config option
 . repack: add `--filter=<filter-spec>` option
 . pack-bitmap-write: rebuild using new bitmap when remapping
 . repack: refactor finding pack prefix
 . repack: refactor finishing pack-objects command
 . t/helper: add 'find-pack' test-tool
 . pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 May need to wait until tb/repack-existing-packs-cleanup stablizes.
 source: <20230911150618.129737-1-christian.couder@gmail.com>


* la/trailer-cleanups (2023-09-11) 6 commits
 - trailer: use offsets for trailer_start/trailer_end
 - trailer: rename *_DEFAULT enums to *_UNSPECIFIED
 - trailer: teach find_patch_start about --no-divider
 - trailer: split process_command_line_args into separate functions
 - trailer: split process_input_file into separate pieces
 - trailer: separate public from internal portion of trailer_iterator

 Code clean-up.

 Will merge to 'next'.
 source: <pull.1563.v2.git.1694240177.gitgitgadget@gmail.com>


* so/diff-doc-for-patch-update (2023-09-06) 1 commit
  (merged to 'next' on 2023-09-07 at 6da5e9defd)
 + doc/diff-options: fix link to generating patch section

 References from description of the `--patch` option in various
 manual pages have been simplified and improved.

 Will merge to 'master'.
 source: <87msxzpybo.fsf_-_@osv.gnss.ru>


* tb/repack-existing-packs-cleanup (2023-09-06) 8 commits
 - builtin/repack.c: extract common cruft pack loop
 - builtin/repack.c: drop `DELETE_PACK` macro
 - builtin/repack.c: store existing cruft packs separately
 - builtin/repack.c: extract `has_existing_non_kept_packs()`
 - builtin/repack.c: extract redundant pack cleanup for existing packs
 - builtin/repack.c: extract redundant pack cleanup for --geometric
 - builtin/repack.c: extract marking packs for deletion
 - builtin/repack.c: extract structure to store existing packs

 The code to keep track of existing packs in the repository while
 repacking has been refactored.

 Will merge to 'next'?
 source: <cover.1693946195.git.me@ttaylorr.com>


* pb/complete-commit-trailers (2023-09-07) 1 commit
  (merged to 'next' on 2023-09-08 at 842587016d)
 + completion: commit: complete configured trailer tokens

 The command-line complation support (in contrib/) learned to
 complete "git commit --trailer=" for possible trailer keys.

 Will merge to 'master'.
 source: <pull.1583.git.1694108551683.gitgitgadget@gmail.com>


* pw/rebase-sigint (2023-09-07) 1 commit
 - rebase -i: ignore signals when forking subprocesses

 If the commit log editor or other external programs (spawned via
 "exec" insn in the todo list) receive internactive signal during
 "git rebase -i", it caused not just the spawned program but the
 "Git" process that spawned them, which is often not what the end
 user intended.  "git" learned to ignore SIGINT and SIGQUIT while
 waiting for these subprocesses.

 Will merge to 'next'?
 source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>


* rs/grep-no-no-or (2023-09-07) 1 commit
  (merged to 'next' on 2023-09-08 at 33849032bc)
 + grep: reject --no-or

 "git grep -e A --no-or -e B" is accepted, even though the negation
 of "or" did not mean anything, which has been tightened.

 Will merge to 'master'.
 source: <6aeb0ebe-0fea-ccd3-089a-ee0b5b5baf10@web.de>


* js/complete-checkout-t (2023-09-08) 1 commit
  (merged to 'next' on 2023-09-08 at 461bb28fbd)
 + completion(switch/checkout): treat --track and -t the same

 The completion script (in contrib/) has been taught to treat the
 "-t" option to "git checkout" and "git switch" just like the
 "--track" option, to complete remote-tracking branches.

 Will merge to 'master'.
 source: <pull.1584.git.1694176123471.gitgitgadget@gmail.com>


* cw/git-std-lib (2023-09-11) 7 commits
 - SQUASH???
 - git-std-lib: add test file to call git-std-lib.a functions
 - git-std-lib: introduce git standard library
 - parse: create new library for parsing strings and env values
 - config: correct bad boolean env value error message
 - wrapper: remove dependency to Git-specific internal file
 - hex-ll: split out functionality from hex

 Another libification effort.

 Needs more work.
 cf. <xmqqy1hfrk6p.fsf@gitster.g>
 source: <20230908174134.1026823-1-calvinwan@google.com>


* cc/git-replay (2023-09-07) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 source: <20230907092521.733746-1-christian.couder@gmail.com>


* la/trailer-test-and-doc-updates (2023-09-07) 13 commits
 - trailer doc: <token> is a <key> or <keyAlias>, not both
 - trailer doc: separator within key suppresses default separator
 - trailer doc: emphasize the effect of configuration variables
 - trailer --unfold help: prefer "reformat" over "join"
 - trailer --parse docs: add explanation for its usefulness
 - trailer --only-input: prefer "configuration variables" over "rules"
 - trailer --parse help: expose aliased options
 - trailer --no-divider help: describe usual "---" meaning
 - trailer: trailer location is a place, not an action
 - trailer doc: narrow down scope of --where and related flags
 - trailer: add tests to check defaulting behavior with --no-* flags
 - trailer test description: this tests --where=after, not --where=before
 - trailer tests: make test cases self-contained

 Test coverage for trailers has been improved.
 source: <pull.1564.v3.git.1694125209.gitgitgadget@gmail.com>


* ak/pretty-decorate-more (2023-08-21) 8 commits
  (merged to 'next' on 2023-09-07 at 6f5e14cef2)
 + decorate: use commit color for HEAD arrow
 + pretty: add pointer and tag options to %(decorate)
 + pretty: add %(decorate[:<options>]) format
 + decorate: color each token separately
 + decorate: avoid some unnecessary color overhead
 + decorate: refactor format_decorations()
 + pretty-formats: enclose options in angle brackets
 + pretty-formats: define "literal formatting code"

 "git log --format" has been taught the %(decorate) placeholder.

 Will merge to 'master'.
 source: <20230820185009.20095-1-andy.koppe@gmail.com>


* bc/more-git-var (2023-09-05) 1 commit
  (merged to 'next' on 2023-09-06 at d8af32874c)
 + var: avoid a segmentation fault when `HOME` is unset

 Fix-up for a topic that already has graduated.

 Will merge to 'master'.
 source: <pull.1580.git.1693808487058.gitgitgadget@gmail.com>


* ks/ref-filter-sort-numerically (2023-09-05) 1 commit
  (merged to 'next' on 2023-09-06 at aa4d156366)
 + ref-filter: sort numerically when ":size" is used

 "git for-each-ref --sort='contents:size'" sorts the refs according
 to size numerically, giving a ref that points at a blob twelve-byte
 (12) long before showing a blob hundred-byte (100) long.

 Will merge to 'master'.
 source: <20230902090155.8978-1-five231003@gmail.com>


* ob/sequencer-reword-error-message (2023-09-05) 1 commit
  (merged to 'next' on 2023-09-06 at c5154b7aa2)
 + sequencer: fix error message on failure to copy SQUASH_MSG

 Update an error message (which would probably never been seen).

 Will merge to 'master'.
 source: <20230903151132.739136-1-oswald.buddenhagen@gmx.de>


* rs/grep-parseopt-simplify (2023-09-05) 1 commit
  (merged to 'next' on 2023-09-06 at 249b69cfd2)
 + grep: use OPT_INTEGER_F for --max-depth

 Simplify use of parse-options API a bit.

 Will merge to 'master'.
 source: <4d2eb736-4f34-18f8-2eb7-20e7f7b8c2f8@web.de>


* rs/name-rev-use-opt-hidden-bool (2023-09-05) 1 commit
  (merged to 'next' on 2023-09-06 at 9b251a5392)
 + name-rev: use OPT_HIDDEN_BOOL for --peel-tag

 Simplify use of parse-options API a bit.

 Will merge to 'master'.
 source: <5a86c8f8-fcdc-fee9-8af5-aa5ecb036d2e@web.de>


* jk/unused-post-2.42-part2 (2023-09-05) 10 commits
  (merged to 'next' on 2023-09-05 at 308ca3a052)
 + parse-options: mark unused parameters in noop callback
 + interpret-trailers: mark unused "unset" parameters in option callbacks
 + parse-options: add more BUG_ON() annotations
 + merge: do not pass unused opt->value parameter
 + parse-options: mark unused "opt" parameter in callbacks
 + parse-options: prefer opt->value to globals in callbacks
 + checkout-index: delay automatic setting of to_tempfile
 + format-patch: use OPT_STRING_LIST for to/cc options
 + merge: simplify parsing of "-n" option
 + merge: make xopts a strvec

 Unused parameters to functions are marked as such, and/or removed,
 in order to bring us closer to -Wunused-parameter clean.

 Will merge to 'master'.
 source: <20230831211637.GA949188@coredump.intra.peff.net>


* jk/tree-name-and-depth-limit (2023-08-31) 10 commits
  (merged to 'next' on 2023-09-07 at 7ad767ab0d)
 + lower core.maxTreeDepth default to 2048
 + tree-diff: respect max_allowed_tree_depth
 + list-objects: respect max_allowed_tree_depth
 + read_tree(): respect max_allowed_tree_depth
 + traverse_trees(): respect max_allowed_tree_depth
 + add core.maxTreeDepth config
 + fsck: detect very large tree pathnames
 + tree-walk: rename "error" variable
 + tree-walk: drop MAX_TRAVERSE_TREES macro
 + tree-walk: reduce stack size for recursive functions

 We now limit depth of the tree objects and maximum length of
 pathnames recorded in tree objects.

 Will merge to 'master'.
 source: <20230831061735.GA2702156@coredump.intra.peff.net>


* js/doc-unit-tests (2023-08-17) 3 commits
 - ci: run unit tests in CI
 - unit tests: add TAP unit test framework
 - unit tests: Add a project plan document
 (this branch is used by js/doc-unit-tests-with-cmake.)

 Process to add some form of low-level unit tests has started.

 Comments?
 source: <cover.1692297001.git.steadmon@google.com>


* js/doc-unit-tests-with-cmake (2023-08-31) 4 commits
 - artifacts-tar: when including `.dll` files, don't forget the unit-tests
 - unit-tests: do show relative file paths
 - unit-tests: do not mistake `.pdb` files for being executable
 - cmake: also build unit tests
 (this branch uses js/doc-unit-tests.)

 Update the base topic to work with CMake builds.
 source: <pull.1579.git.1693462532.gitgitgadget@gmail.com>


* ew/hash-with-openssl-evp (2023-08-31) 1 commit
  (merged to 'next' on 2023-09-05 at 1ddc0078c8)
 + treewide: fix various bugs w/ OpenSSL 3+ EVP API

 Fix-up new-ish code to support OpenSSL EVP API.

 Will merge to 'master'.
 source: <20230901020928.M610756@dcvr>


* tb/path-filter-fix (2023-08-30) 15 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Needs more work?
 cf. <20230830200218.GA5147@szeder.dev>
 source: <cover.1693413637.git.jonathantanmy@google.com>


* js/config-parse (2023-08-23) 4 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split out config_parse_options

 The parsing routines for the configuration files have been split
 into a separate file.

 Needs review.
 source: <cover.1692827403.git.steadmon@google.com>


* jc/update-index-show-index-version (2023-08-18) 3 commits
 - test-tool: retire "index-version"
 - update-index: add --show-index-version
 - update-index doc: v4 is OK with JGit and libgit2

 "git update-index" learns "--show-index-version" to inspect
 the index format version used by the on-disk index file.

 Needs review.
 source: <20230818233729.2766281-1-gitster@pobox.com>


* ob/revert-of-revert-is-reapply (2023-09-02) 2 commits
  (merged to 'next' on 2023-09-07 at 9a54f66511)
 + git-revert.txt: add discussion
 + sequencer: beautify subject of reverts of reverts

 The default log message created by "git revert", when reverting a
 commit that records a revert, has been tweaked.

 Will merge to 'master'.
 source: <20230821170720.577850-1-oswald.buddenhagen@gmx.de>
 source: <20230902072035.652549-1-oswald.buddenhagen@gmx.de>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function
 (this branch uses jc/unresolve-removal.)

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* pw/rebase-i-after-failure (2023-09-06) 7 commits
  (merged to 'next' on 2023-09-07 at 3cbc3c4d63)
 + rebase -i: fix adding failed command to the todo list
 + rebase --continue: refuse to commit after failed command
 + rebase: fix rewritten list for failed pick
 + sequencer: factor out part of pick_commits()
 + sequencer: use rebase_path_message()
 + rebase -i: remove patch file after conflict resolution
 + rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Will merge to 'master'.
 cf. <6b927687-cf6e-d73e-78fb-bd4f46736928@gmx.de>
 source: <pull.1492.v4.git.1694013771.gitgitgadget@gmail.com>


* jc/unresolve-removal (2023-07-31) 7 commits
 - checkout: allow "checkout -m path" to unmerge removed paths
 - checkout/restore: add basic tests for --merge
 - checkout/restore: refuse unmerging paths unless checking out of the index
 - update-index: remove stale fallback code for "--unresolve"
 - update-index: use unmerge_index_entry() to support removal
 - resolve-undo: allow resurrecting conflicted state that resolved to deletion
 - update-index: do not read HEAD and MERGE_HEAD unconditionally
 (this branch is used by jc/rerere-cleanup.)

 "checkout --merge -- path" and "update-index --unresolve path" did
 not resurrect conflicted state that was resolved to remove path,
 but now they do.

 Needs review.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-08-01) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 cf. <xmqqtttia3vn.fsf@gitster.g>
 source: <48745298-f12b-8efb-4e48-90d2c22a8349@gmail.com>

^ permalink raw reply	[relevance 29%]

* What's cooking in git.git (Sep 2023, #02; Tue, 5)
@ 2023-09-06  1:29 31% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-09-06  1:29 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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']

* jk/test-lsan-denoise-output (2023-08-28) 1 commit
  (merged to 'next' on 2023-08-29 at 9642d76264)
 + test-lib: ignore uninteresting LSan output

 Tests with LSan from time to time seem to emit harmless message
 that makes our tests unnecessarily flakey; we work it around by
 filtering the uninteresting output.
 source: <20230828183735.GA3015072@coredump.intra.peff.net>


* js/ci-san-skip-p4-and-svn-tests (2023-08-29) 1 commit
  (merged to 'next' on 2023-08-29 at 9617f99668)
 + ci(linux-asan-ubsan): let's save some time

 Flakey "git p4" tests, as well as "git svn" tests, are now skipped
 in the (rather expensive) sanitizer CI job.
 source: <pull.1578.v2.git.1693342048633.gitgitgadget@gmail.com>


* rs/parse-options-help-text-is-optional (2023-08-28) 1 commit
  (merged to 'next' on 2023-08-29 at 5466f7fcb2)
 + parse-options: allow omitting option help text

 It may be tempting to leave the help text NULL for a command line
 option that is either hidden or too obvious, but "git subcmd -h"
 and "git subcmd --help-all" would have segfaulted if done so.  Now
 the help text is optional.
 source: <2b08dc43-621d-2170-c4a6-c2aac33a9a19@web.de>


* tb/mark-more-tests-as-leak-free (2023-08-29) 3 commits
  (merged to 'next' on 2023-08-29 at c1db288281)
 + leak tests: mark t5583-push-branches.sh as leak-free
 + leak tests: mark t3321-notes-stripspace.sh as leak-free
 + leak tests: mark a handful of tests as leak-free

 Tests that are known to pass with LSan are now marked as such.
 source: <cover.1693263171.git.me@ttaylorr.com>

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

* bc/more-git-var (2023-09-05) 1 commit
 - var: avoid a segmentation fault when `HOME` is unset

 source: <pull.1580.git.1693808487058.gitgitgadget@gmail.com>


* ks/ref-filter-sort-numerically (2023-09-05) 1 commit
 - ref-filter: sort numerically when ":size" is used

 source: <20230902090155.8978-1-five231003@gmail.com>


* ob/sequencer-reword-error-message (2023-09-05) 1 commit
 - sequencer: fix error message on failure to copy SQUASH_MSG

 source: <20230903151132.739136-1-oswald.buddenhagen@gmx.de>


* rs/grep-parseopt-simplify (2023-09-05) 1 commit
 - grep: use OPT_INTEGER_F for --max-depth

 source: <4d2eb736-4f34-18f8-2eb7-20e7f7b8c2f8@web.de>


* rs/name-rev-use-opt-hidden-bool (2023-09-05) 1 commit
 - name-rev: use OPT_HIDDEN_BOOL for --peel-tag

 source: <5a86c8f8-fcdc-fee9-8af5-aa5ecb036d2e@web.de>

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

* la/trailer-cleanups (2023-08-06) 5 commits
 - trailer: rename *_DEFAULT enums to *_UNSPECIFIED
 - trailer: teach find_patch_start about --no-divider
 - trailer: split process_command_line_args into separate functions
 - trailer: split process_input_file into separate pieces
 - trailer: separate public from internal portion of trailer_iterator

 Code clean-up.

 Expecting a reroll.
 cf. <owlyy1iifq0n.fsf@fine.c.googlers.com>
 source: <pull.1563.git.1691211879.gitgitgadget@gmail.com>


* la/trailer-test-and-doc-updates (2023-08-10) 14 commits
 - SQUASH???
 - trailer doc: <token> is a <key> or <keyAlias>, not both
 - trailer doc: separator within key suppresses default separator
 - trailer doc: emphasize the effect of configuration variables
 - trailer --unfold help: prefer "reformat" over "join"
 - trailer --parse docs: add explanation for its usefulness
 - trailer --only-input: prefer "configuration variables" over "rules"
 - trailer --parse help: expose aliased options
 - trailer --no-divider help: describe usual "---" meaning
 - trailer: trailer location is a place, not an action
 - trailer doc: narrow down scope of --where and related flags
 - trailer: add tests to check defaulting behavior with --no-* flags
 - trailer test description: this tests --where=after, not --where=before
 - trailer tests: make test cases self-contained

 Test coverage for trailers has been improved.

 Expecting a reroll.
 cf. <owlyh6p5fpi7.fsf@fine.c.googlers.com>
 source: <pull.1564.v2.git.1691702283.gitgitgadget@gmail.com>


* js/doc-unit-tests (2023-08-17) 3 commits
 - ci: run unit tests in CI
 - unit tests: add TAP unit test framework
 - unit tests: Add a project plan document
 (this branch is used by js/doc-unit-tests-with-cmake.)

 Process to add some form of low-level unit tests has started.

 Comments?
 source: <cover.1692297001.git.steadmon@google.com>


* ak/pretty-decorate-more (2023-08-21) 8 commits
 - decorate: use commit color for HEAD arrow
 - pretty: add pointer and tag options to %(decorate)
 - pretty: add %(decorate[:<options>]) format
 - decorate: color each token separately
 - decorate: avoid some unnecessary color overhead
 - decorate: refactor format_decorations()
 - pretty-formats: enclose options in angle brackets
 - pretty-formats: define "literal formatting code"

 "git log --format" has been taught the %(decorate) placeholder.

 What's the status of this thing?
 source: <20230820185009.20095-1-andy.koppe@gmail.com>


* cc/repack-sift-filtered-objects-to-separate-pack (2023-08-13) 8 commits
 . gc: add `gc.repackFilterTo` config option
 . repack: implement `--filter-to` for storing filtered out objects
 . gc: add `gc.repackFilter` config option
 . repack: add `--filter=<filter-spec>` option
 . repack: refactor finding pack prefix
 . repack: refactor finishing pack-objects command
 . t/helper: add 'find-pack' test-tool
 . pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 Kicked out of the 'seen', as it still seems to be failing tests.
 cf. https://github.com/git/git/actions/runs/5850998716/job/15861158252#step:4:1822
 source: <20230812000011.1227371-1-christian.couder@gmail.com>


* cc/git-replay (2023-06-03) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 No reviews?
 source: <20230602102533.876905-1-christian.couder@gmail.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>

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

* dd/format-patch-rfc-updates (2023-08-31) 1 commit
  (merged to 'next' on 2023-09-01 at ad87c89ee3)
 + format-patch: --rfc honors what --subject-prefix sets

 "git format-patch --rfc --subject-prefix=<foo>" used to ignore the
 "--subject-prefix" option and used "[RFC PATCH]"; now we will add
 "RFC" prefix to whatever subject prefix is specified.

 This is a backward compatible change that may deserve a note.

 Will merge to 'master'.
 source: <20230830064646.30904-1-sir@cmpwn.com>


* jk/unused-post-2.42 (2023-08-29) 22 commits
  (merged to 'next' on 2023-08-30 at ab0538e754)
 + update-ref: mark unused parameter in parser callbacks
 + gc: mark unused descriptors in scheduler callbacks
 + bundle-uri: mark unused parameters in callbacks
 + fetch: mark unused parameter in ref_transaction callback
 + credential: mark unused parameter in urlmatch callback
 + grep: mark unused parmaeters in pcre fallbacks
 + imap-send: mark unused parameters with NO_OPENSSL
 + worktree: mark unused parameters in noop repair callback
 + negotiator/noop: mark unused callback parameters
 + add-interactive: mark unused callback parameters
 + grep: mark unused parameter in output function
 + test-trace2: mark unused argv/argc parameters
 + trace2: mark unused config callback parameter
 + trace2: mark unused us_elapsed_absolute parameters
 + stash: mark unused parameter in diff callback
 + ls-tree: mark unused parameter in callback
 + commit-graph: mark unused data parameters in generation callbacks
 + worktree: mark unused parameters in each_ref_fn callback
 + pack-bitmap: mark unused parameters in show_object callback
 + ref-filter: mark unused parameters in parser callbacks
 + sequencer: mark repository argument as unused
 + sequencer: use repository parameter in short_commit_name()

 Unused parameters to functions are marked as such, and/or removed,
 in order to bring us closer to -Wunused-parameter clean.

 Will merge to 'master'.
 source: <20230829234305.GA226944@coredump.intra.peff.net>


* tb/multi-cruft-pack (2023-08-29) 4 commits
  (merged to 'next' on 2023-08-30 at 15f0b56ed0)
 + Documentation/gitformat-pack.txt: drop mixed version section
 + Documentation/gitformat-pack.txt: remove multi-cruft packs alternative
 + builtin/pack-objects.c: support `--max-pack-size` with `--cruft`
 + builtin/pack-objects.c: remove unnecessary strbuf_reset()

 Use of --max-pack-size to allow multiple packfiles to be created is
 now supported even when we are sending unreachable objects to cruft
 packs.

 Will merge to 'master'.
 source: <cover.1693262936.git.me@ttaylorr.com>


* jk/ci-retire-allow-ref (2023-08-30) 2 commits
  (merged to 'next' on 2023-08-31 at 5fe4861f16)
 + ci: deprecate ci/config/allow-ref script
 + ci: allow branch selection through "vars"

 CI update.

 Will merge to 'master'.
 source: <20230830194919.GA1709446@coredump.intra.peff.net>


* ws/git-svn-retire-faketerm (2023-08-30) 1 commit
  (merged to 'next' on 2023-08-31 at cb6e0d658d)
 + git-svn: drop FakeTerm hack

 Code clean-up.

 Will merge to 'master'.
 source: <xmqqa5u888lz.fsf_-_@gitster.g>


* jk/unused-post-2.42-part2 (2023-09-05) 10 commits
  (merged to 'next' on 2023-09-05 at 308ca3a052)
 + parse-options: mark unused parameters in noop callback
 + interpret-trailers: mark unused "unset" parameters in option callbacks
 + parse-options: add more BUG_ON() annotations
 + merge: do not pass unused opt->value parameter
 + parse-options: mark unused "opt" parameter in callbacks
 + parse-options: prefer opt->value to globals in callbacks
 + checkout-index: delay automatic setting of to_tempfile
 + format-patch: use OPT_STRING_LIST for to/cc options
 + merge: simplify parsing of "-n" option
 + merge: make xopts a strvec

 Unused parameters to functions are marked as such, and/or removed,
 in order to bring us closer to -Wunused-parameter clean.

 Will merge to 'master'.
 source: <20230831211637.GA949188@coredump.intra.peff.net>


* jk/tree-name-and-depth-limit (2023-08-31) 10 commits
 - lower core.maxTreeDepth default to 2048
 - tree-diff: respect max_allowed_tree_depth
 - list-objects: respect max_allowed_tree_depth
 - read_tree(): respect max_allowed_tree_depth
 - traverse_trees(): respect max_allowed_tree_depth
 - add core.maxTreeDepth config
 - fsck: detect very large tree pathnames
 - tree-walk: rename "error" variable
 - tree-walk: drop MAX_TRAVERSE_TREES macro
 - tree-walk: reduce stack size for recursive functions

 We now limit depth of the tree objects and maximum length of
 pathnames recorded in tree objects.
 source: <20230831061735.GA2702156@coredump.intra.peff.net>


* js/doc-unit-tests-with-cmake (2023-08-31) 4 commits
 - artifacts-tar: when including `.dll` files, don't forget the unit-tests
 - unit-tests: do show relative file paths
 - unit-tests: do not mistake `.pdb` files for being executable
 - cmake: also build unit tests
 (this branch uses js/doc-unit-tests.)

 Update the base topic to work with CMake builds.
 source: <pull.1579.git.1693462532.gitgitgadget@gmail.com>


* ew/hash-with-openssl-evp (2023-08-31) 1 commit
  (merged to 'next' on 2023-09-05 at 1ddc0078c8)
 + treewide: fix various bugs w/ OpenSSL 3+ EVP API

 Fix-up new-ish code to support OpenSSL EVP API.

 Will merge to 'master'.
 source: <20230901020928.M610756@dcvr>


* tb/path-filter-fix (2023-08-30) 15 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Needs more work?
 cf. <20230830200218.GA5147@szeder.dev>
 source: <cover.1693413637.git.jonathantanmy@google.com>


* js/config-parse (2023-08-23) 4 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split out config_parse_options

 The parsing routines for the configuration files have been split
 into a separate file.

 Needs review.
 source: <cover.1692827403.git.steadmon@google.com>


* jc/update-index-show-index-version (2023-08-18) 3 commits
 - test-tool: retire "index-version"
 - update-index: add --show-index-version
 - update-index doc: v4 is OK with JGit and libgit2

 "git update-index" learns "--show-index-version" to inspect
 the index format version used by the on-disk index file.

 Needs review.
 source: <20230818233729.2766281-1-gitster@pobox.com>


* ob/revert-of-revert-is-reapply (2023-09-02) 2 commits
 - git-revert.txt: add discussion
 - sequencer: beautify subject of reverts of reverts

 The default log message created by "git revert", when reverting a
 commit that records a revert, has been tweaked.

 Will merge to 'next'.
 source: <20230821170720.577850-1-oswald.buddenhagen@gmx.de>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function
 (this branch uses jc/unresolve-removal.)

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* pw/rebase-i-after-failure (2023-08-01) 7 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase --continue: refuse to commit after failed command
 - rebase: fix rewritten list for failed pick
 - sequencer: factor out part of pick_commits()
 - sequencer: use rebase_path_message()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Expecting a reroll.
 The latter half of the series should be reviewed by those who have
 more stake in the sequencer code than myself.
 cf. <619e458b-218b-a790-dfb4-9200e201b513@gmail.com>
 source: <pull.1492.v3.git.1690903412.gitgitgadget@gmail.com>


* jc/unresolve-removal (2023-07-31) 7 commits
 - checkout: allow "checkout -m path" to unmerge removed paths
 - checkout/restore: add basic tests for --merge
 - checkout/restore: refuse unmerging paths unless checking out of the index
 - update-index: remove stale fallback code for "--unresolve"
 - update-index: use unmerge_index_entry() to support removal
 - resolve-undo: allow resurrecting conflicted state that resolved to deletion
 - update-index: do not read HEAD and MERGE_HEAD unconditionally
 (this branch is used by jc/rerere-cleanup.)

 "checkout --merge -- path" and "update-index --unresolve path" did
 not resurrect conflicted state that was resolved to remove path,
 but now they do.

 Needs review.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-08-01) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 cf. <xmqqtttia3vn.fsf@gitster.g>
 source: <48745298-f12b-8efb-4e48-90d2c22a8349@gmail.com>

^ permalink raw reply	[relevance 31%]

* What's cooking in git.git (Sep 2023, #01; Fri, 1)
@ 2023-09-01 23:22 24% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-09-01 23:22 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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']

* ch/t6300-verify-commit-test-cleanup (2023-08-23) 2 commits
  (merged to 'next' on 2023-08-24 at 15b842867e)
 + t/t6300: drop magic filtering
 + t/lib-gpg: forcibly run a trustdb update

 Test clean-up.
 source: <20230822150149.541ccb35@leda.eworm.net>


* ds/scalar-updates (2023-08-28) 3 commits
  (merged to 'next' on 2023-08-28 at 093e6bcb9c)
 + scalar reconfigure: help users remove buggy repos
 + setup: add discover_git_directory_reason()
 + scalar: add --[no-]src option

 Scalar updates.
 source: <pull.1569.v3.git.1693230746.gitgitgadget@gmail.com>


* jc/ci-skip-same-commit (2023-08-25) 1 commit
  (merged to 'next' on 2023-08-28 at e978717961)
 + ci: avoid building from the same commit in parallel

 Tweak GitHub Actions CI so that pushing the same commit to multiple
 branch tips at the same time will not waste building and testing
 the same thing twice.
 source: <1da763f3-60bf-a572-2c71-336b1fa5553d@gmx.de>


* jc/diff-exit-code-with-w-fixes (2023-08-21) 5 commits
  (merged to 'next' on 2023-08-23 at 436a0aec3d)
 + diff: the -w option breaks --exit-code for --raw and other output modes
 + t4040: remove test that succeeded for a wrong reason
 + diff: teach "--stat -w --exit-code" to notice differences
 + diff: mode-only change should be noticed by "--patch -w --exit-code"
 + diff: move the fallback "--exit-code" code down

 "git diff -w --exit-code" with various options did not work
 correctly, which is being addressed.
 source: <20230818235932.3253552-1-gitster@pobox.com>


* jc/mv-d-to-d-error-message-fix (2023-08-11) 1 commit
  (merged to 'next' on 2023-08-21 at 2220d22d6f)
 + mv: fix error for moving directory to another

 Typofix in an error message.
 source: <xmqqjzu1njt0.fsf@gitster.g>


* jk/diff-result-code-cleanup (2023-08-21) 7 commits
  (merged to 'next' on 2023-08-25 at 3b1280d42f)
 + diff: drop useless "status" parameter from diff_result_code()
 + diff: drop useless return values in git-diff helpers
 + diff: drop useless return from run_diff_{files,index} functions
 + diff: die when failing to read index in git-diff builtin
 + diff: show usage for unknown builtin_diff_files() options
 + diff-files: avoid negative exit value
 + diff: spell DIFF_INDEX_CACHED out when calling run_diff_index()

 "git diff --no-such-option" and other corner cases around the exit
 status of the "diff" command has been corrected.
 source: <20230821201358.GA2663749@coredump.intra.peff.net>


* ob/format-patch-description-file (2023-08-21) 1 commit
  (merged to 'next' on 2023-08-25 at 89ea619311)
 + format-patch: add --description-file option

 "git format-patch" learns a way to feed cover letter description,
 that (1) can be used on detached HEAD where there is no branch
 description available, and (2) also can override the branch
 description if there is one.
 source: <20230821170720.577820-1-oswald.buddenhagen@gmx.de>


* ob/sequencer-empty-hint-fix (2023-08-24) 1 commit
  (merged to 'next' on 2023-08-24 at 626c52ad72)
 + sequencer: rectify empty hint in call of require_clean_work_tree()

 The use of API between two calls to require_clean_work_tree() from
 the sequencer code has been cleaned up for consistency.
 source: <20230824150046.802008-1-oswald.buddenhagen@gmx.de>


* py/git-gui-updates (2023-08-24) 16 commits
  (merged to 'next' on 2023-08-28 at df0b742344)
 + Merge https://github.com/prati0100/git-gui
 + Merge branch 'ml/cygwin-fixes'
 + git-gui - use mkshortcut on Cygwin
 + git-gui - use cygstart to browse on Cygwin
 + git-gui - remove obsolete Cygwin specific code
 + git gui Makefile - remove Cygwin modifications
 + Merge branch 'ab/makeflags'
 + Makefiles: change search through $(MAKEFLAGS) for GNU make 4.4
 + Merge branch 'js/windows-rce'
 + Work around Tcl's default `PATH` lookup
 + Move the `_which` function (almost) to the top
 + Move is_<platform> functions to the beginning
 + is_Cygwin: avoid `exec`ing anything
 + windows: ignore empty `PATH` elements
 + Merge branch 'vk/readme-typo'
 + git-gui: Fix a typo in README

 Git GUI updates.


* sl/sparse-check-attr (2023-08-11) 3 commits
  (merged to 'next' on 2023-08-21 at c202b15517)
 + check-attr: integrate with sparse-index
 + attr.c: read attributes in a sparse directory
 + t1092: add tests for 'git check-attr'

 Teach "git check-attr" work better with sparse-index.
 cf. <3b2a5b4b-ab8f-746b-6b69-8e8262b6390b@github.com>
 source: <20230811142211.4547-1-cheskaqiqi@gmail.com>


* tb/commit-graph-verify-fix (2023-08-21) 4 commits
  (merged to 'next' on 2023-08-23 at 2b4b74bb0d)
 + commit-graph: avoid repeated mixed generation number warnings
 + t/t5318-commit-graph.sh: test generation zero transitions during fsck
 + commit-graph: verify swapped zero/non-zero generation cases
 + commit-graph: introduce `commit_graph_generation_from_graph()`

 The commit-graph verification code that detects mixture of zero and
 non-zero generation numbers has been updated.
 source: <cover.1692653671.git.me@ttaylorr.com>


* ts/unpacklimit-config-fix (2023-08-22) 1 commit
  (merged to 'next' on 2023-08-23 at 4fabd9a697)
 + transfer.unpackLimit: fetch/receive.unpackLimit takes precedence

 transfer.unpackLimit ought to be used as a fallback, but overrode
 fetch.unpackLimit and receive.unpackLimit instead.
 source: <xmqqpm3eh7f6.fsf@gitster.g>

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

* dd/format-patch-rfc-updates (2023-08-31) 1 commit
  (merged to 'next' on 2023-09-01 at ad87c89ee3)
 + format-patch: --rfc honors what --subject-prefix sets

 "git format-patch --rfc --subject-prefix=<foo>" used to ignore the
 "--subject-prefix" option and used "[RFC PATCH]"; now we will add
 "RFC" prefix to whatever subject prefix is specified.

 This is a backward compatible change that may deserve a note.

 Will merge to 'master'.
 source: <20230830064646.30904-1-sir@cmpwn.com>


* jk/test-lsan-denoise-output (2023-08-28) 1 commit
  (merged to 'next' on 2023-08-29 at 9642d76264)
 + test-lib: ignore uninteresting LSan output

 Tests with LSan from time to time seem to emit harmless message
 that makes our tests unnecessarily flakey; we work it around by
 filtering the uninteresting output.

 Will merge to 'master'.
 source: <20230828183735.GA3015072@coredump.intra.peff.net>


* jk/unused-post-2.42 (2023-08-29) 22 commits
  (merged to 'next' on 2023-08-30 at ab0538e754)
 + update-ref: mark unused parameter in parser callbacks
 + gc: mark unused descriptors in scheduler callbacks
 + bundle-uri: mark unused parameters in callbacks
 + fetch: mark unused parameter in ref_transaction callback
 + credential: mark unused parameter in urlmatch callback
 + grep: mark unused parmaeters in pcre fallbacks
 + imap-send: mark unused parameters with NO_OPENSSL
 + worktree: mark unused parameters in noop repair callback
 + negotiator/noop: mark unused callback parameters
 + add-interactive: mark unused callback parameters
 + grep: mark unused parameter in output function
 + test-trace2: mark unused argv/argc parameters
 + trace2: mark unused config callback parameter
 + trace2: mark unused us_elapsed_absolute parameters
 + stash: mark unused parameter in diff callback
 + ls-tree: mark unused parameter in callback
 + commit-graph: mark unused data parameters in generation callbacks
 + worktree: mark unused parameters in each_ref_fn callback
 + pack-bitmap: mark unused parameters in show_object callback
 + ref-filter: mark unused parameters in parser callbacks
 + sequencer: mark repository argument as unused
 + sequencer: use repository parameter in short_commit_name()

 Unused parameters to functions are marked as such, and/or removed,
 in order to bring us closer to -Wunused-parameter clean.

 Will merge to 'master'.
 source: <20230829234305.GA226944@coredump.intra.peff.net>


* js/ci-san-skip-p4-and-svn-tests (2023-08-29) 1 commit
  (merged to 'next' on 2023-08-29 at 9617f99668)
 + ci(linux-asan-ubsan): let's save some time

 Flakey "git p4" tests, as well as "git svn" tests, are now skipped
 in the (rather expensive) sanitizer CI job.

 Will merge to 'master'.
 source: <pull.1578.v2.git.1693342048633.gitgitgadget@gmail.com>


* tb/multi-cruft-pack (2023-08-29) 4 commits
  (merged to 'next' on 2023-08-30 at 15f0b56ed0)
 + Documentation/gitformat-pack.txt: drop mixed version section
 + Documentation/gitformat-pack.txt: remove multi-cruft packs alternative
 + builtin/pack-objects.c: support `--max-pack-size` with `--cruft`
 + builtin/pack-objects.c: remove unnecessary strbuf_reset()

 Use of --max-pack-size to allow multiple packfiles to be created is
 now supported even when we are sending unreachable objects to cruft
 packs.

 Will merge to 'master'.
 source: <cover.1693262936.git.me@ttaylorr.com>


* jk/ci-retire-allow-ref (2023-08-30) 2 commits
  (merged to 'next' on 2023-08-31 at 5fe4861f16)
 + ci: deprecate ci/config/allow-ref script
 + ci: allow branch selection through "vars"

 CI update.

 Will merge to 'master'.
 source: <20230830194919.GA1709446@coredump.intra.peff.net>


* ws/git-svn-retire-faketerm (2023-08-30) 1 commit
  (merged to 'next' on 2023-08-31 at cb6e0d658d)
 + git-svn: drop FakeTerm hack

 Code clean-up.

 Will merge to 'master'.
 source: <xmqqa5u888lz.fsf_-_@gitster.g>


* jk/unused-post-2.42-part2 (2023-08-31) 10 commits
 - parse-options: mark unused parameters in noop callback
 - interpret-trailers: mark unused "unset" parameters in option callbacks
 - parse-options: add more BUG_ON() annotations
 - merge: do not pass unused opt->value parameter
 - parse-options: mark unused "opt" parameter in callbacks
 - parse-options: prefer opt->value to globals in callbacks
 - checkout-index: delay automatic setting of to_tempfile
 - format-patch: use OPT_STRING_LIST for to/cc options
 - merge: simplify parsing of "-n" option
 - merge: make xopts a strvec

 Unused parameters to functions are marked as such, and/or removed,
 in order to bring us closer to -Wunused-parameter clean.

 Will merge to 'next'?
 source: <20230831211637.GA949188@coredump.intra.peff.net>


* jk/tree-name-and-depth-limit (2023-08-31) 10 commits
 - lower core.maxTreeDepth default to 2048
 - tree-diff: respect max_allowed_tree_depth
 - list-objects: respect max_allowed_tree_depth
 - read_tree(): respect max_allowed_tree_depth
 - traverse_trees(): respect max_allowed_tree_depth
 - add core.maxTreeDepth config
 - fsck: detect very large tree pathnames
 - tree-walk: rename "error" variable
 - tree-walk: drop MAX_TRAVERSE_TREES macro
 - tree-walk: reduce stack size for recursive functions

 We now limit depth of the tree objects and maximum length of
 pathnames recorded in tree objects.
 source: <20230831061735.GA2702156@coredump.intra.peff.net>


* js/doc-unit-tests-with-cmake (2023-08-31) 4 commits
 - artifacts-tar: when including `.dll` files, don't forget the unit-tests
 - unit-tests: do show relative file paths
 - unit-tests: do not mistake `.pdb` files for being executable
 - cmake: also build unit tests
 (this branch uses js/doc-unit-tests.)

 Update the base topic to work with CMake builds.
 source: <pull.1579.git.1693462532.gitgitgadget@gmail.com>


* ew/hash-with-openssl-evp (2023-08-31) 1 commit
 - treewide: fix various bugs w/ OpenSSL 3+ EVP API

 Fix-up new-ish code to support OpenSSL EVP API.

 Will merge to 'next'?
 source: <20230901020928.M610756@dcvr>

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

* js/doc-unit-tests (2023-08-17) 3 commits
 - ci: run unit tests in CI
 - unit tests: add TAP unit test framework
 - unit tests: Add a project plan document
 (this branch is used by js/doc-unit-tests-with-cmake.)

 Process to add some form of low-level unit tests has started.

 Comments?
 source: <cover.1692297001.git.steadmon@google.com>


* ak/pretty-decorate-more (2023-08-21) 8 commits
 - decorate: use commit color for HEAD arrow
 - pretty: add pointer and tag options to %(decorate)
 - pretty: add %(decorate[:<options>]) format
 - decorate: color each token separately
 - decorate: avoid some unnecessary color overhead
 - decorate: refactor format_decorations()
 - pretty-formats: enclose options in angle brackets
 - pretty-formats: define "literal formatting code"

 "git log --format" has been taught the %(decorate) placeholder.

 What's the status of this thing?
 source: <20230820185009.20095-1-andy.koppe@gmail.com>


* cc/repack-sift-filtered-objects-to-separate-pack (2023-08-13) 8 commits
 . gc: add `gc.repackFilterTo` config option
 . repack: implement `--filter-to` for storing filtered out objects
 . gc: add `gc.repackFilter` config option
 . repack: add `--filter=<filter-spec>` option
 . repack: refactor finding pack prefix
 . repack: refactor finishing pack-objects command
 . t/helper: add 'find-pack' test-tool
 . pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 Kicked out of the 'seen', as it still seems to be failing tests.
 cf. https://github.com/git/git/actions/runs/5850998716/job/15861158252#step:4:1822
 source: <20230812000011.1227371-1-christian.couder@gmail.com>


* cc/git-replay (2023-06-03) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 No reviews?
 source: <20230602102533.876905-1-christian.couder@gmail.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>

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

* rs/parse-options-help-text-is-optional (2023-08-28) 1 commit
  (merged to 'next' on 2023-08-29 at 5466f7fcb2)
 + parse-options: allow omitting option help text

 It may be tempting to leave the help text NULL for a command line
 option that is either hidden or too obvious, but "git subcmd -h"
 and "git subcmd --help-all" would have segfaulted if done so.  Now
 the help text is optional.

 Will merge to 'master'.
 source: <2b08dc43-621d-2170-c4a6-c2aac33a9a19@web.de>


* tb/path-filter-fix (2023-08-30) 15 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Needs more work?
 cf. <20230830200218.GA5147@szeder.dev>
 source: <cover.1693413637.git.jonathantanmy@google.com>


* js/config-parse (2023-08-23) 4 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split out config_parse_options

 The parsing routines for the configuration files have been split
 into a separate file.

 Needs review.
 source: <cover.1692827403.git.steadmon@google.com>


* tb/mark-more-tests-as-leak-free (2023-08-29) 3 commits
  (merged to 'next' on 2023-08-29 at c1db288281)
 + leak tests: mark t5583-push-branches.sh as leak-free
 + leak tests: mark t3321-notes-stripspace.sh as leak-free
 + leak tests: mark a handful of tests as leak-free

 Tests that are known to pass with LSan are now marked as such.

 Will merge to 'master'.
 source: <cover.1693263171.git.me@ttaylorr.com>


* jc/update-index-show-index-version (2023-08-18) 3 commits
 - test-tool: retire "index-version"
 - update-index: add --show-index-version
 - update-index doc: v4 is OK with JGit and libgit2

 "git update-index" learns "--show-index-version" to inspect
 the index format version used by the on-disk index file.

 Needs review.
 source: <20230818233729.2766281-1-gitster@pobox.com>


* ob/revert-of-revert-is-reapply (2023-08-21) 2 commits
 - git-revert.txt: add discussion
 - sequencer: beautify subject of reverts of reverts

 The default log message created by "git revert", when reverting a
 commit that records a revert, has been tweaked.

 Expecting a (hopefully small and final) reroll.
 cf. <ZOZnNDd2pMX6M2Au@nand.local>
 source: <20230809171531.2564807-1-oswald.buddenhagen@gmx.de>


* la/trailer-cleanups (2023-08-06) 5 commits
 - trailer: rename *_DEFAULT enums to *_UNSPECIFIED
 - trailer: teach find_patch_start about --no-divider
 - trailer: split process_command_line_args into separate functions
 - trailer: split process_input_file into separate pieces
 - trailer: separate public from internal portion of trailer_iterator

 Code clean-up.

 Expecting a reroll.
 cf. <owlyy1iifq0n.fsf@fine.c.googlers.com>
 source: <pull.1563.git.1691211879.gitgitgadget@gmail.com>


* la/trailer-test-and-doc-updates (2023-08-10) 14 commits
 - SQUASH???
 - trailer doc: <token> is a <key> or <keyAlias>, not both
 - trailer doc: separator within key suppresses default separator
 - trailer doc: emphasize the effect of configuration variables
 - trailer --unfold help: prefer "reformat" over "join"
 - trailer --parse docs: add explanation for its usefulness
 - trailer --only-input: prefer "configuration variables" over "rules"
 - trailer --parse help: expose aliased options
 - trailer --no-divider help: describe usual "---" meaning
 - trailer: trailer location is a place, not an action
 - trailer doc: narrow down scope of --where and related flags
 - trailer: add tests to check defaulting behavior with --no-* flags
 - trailer test description: this tests --where=after, not --where=before
 - trailer tests: make test cases self-contained

 Test coverage for trailers has been improved.

 Expecting a reroll.
 cf. <owlyh6p5fpi7.fsf@fine.c.googlers.com>
 source: <pull.1564.v2.git.1691702283.gitgitgadget@gmail.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function
 (this branch uses jc/unresolve-removal.)

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* pw/rebase-i-after-failure (2023-08-01) 7 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase --continue: refuse to commit after failed command
 - rebase: fix rewritten list for failed pick
 - sequencer: factor out part of pick_commits()
 - sequencer: use rebase_path_message()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Expecting a reroll.
 The latter half of the series should be reviewed by those who have
 more stake in the sequencer code than myself.
 cf. <619e458b-218b-a790-dfb4-9200e201b513@gmail.com>
 source: <pull.1492.v3.git.1690903412.gitgitgadget@gmail.com>


* jc/unresolve-removal (2023-07-31) 7 commits
 - checkout: allow "checkout -m path" to unmerge removed paths
 - checkout/restore: add basic tests for --merge
 - checkout/restore: refuse unmerging paths unless checking out of the index
 - update-index: remove stale fallback code for "--unresolve"
 - update-index: use unmerge_index_entry() to support removal
 - resolve-undo: allow resurrecting conflicted state that resolved to deletion
 - update-index: do not read HEAD and MERGE_HEAD unconditionally
 (this branch is used by jc/rerere-cleanup.)

 "checkout --merge -- path" and "update-index --unresolve path" did
 not resurrect conflicted state that was resolved to remove path,
 but now they do.

 Needs review.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-08-01) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 cf. <xmqqtttia3vn.fsf@gitster.g>
 source: <48745298-f12b-8efb-4e48-90d2c22a8349@gmail.com>

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

* jt/path-filter-fix (2023-08-08) 8 commits
  (merged to 'next' on 2023-08-09 at 59952b9ec9)
 + commit-graph: fix small leak with invalid changedPathsVersion
  (merged to 'next' on 2023-08-03 at d99958c287)
 + commit-graph: new filter ver. that fixes murmur3
 + repo-settings: introduce commitgraph.changedPathsVersion
 + t4216: test changed path filters with high bit paths
 + t/helper/test-read-graph: implement `bloom-filters` mode
 + bloom.h: make `load_bloom_filter_from_graph()` public
 + t/helper/test-read-graph.c: extract `dump_graph_info()`
 + gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Reverted out of 'next', superseded by the tb/path-filter-fix topic.
 cf. <ZMqp6K2iXixWH/zT@nand.local>
 source: <cover.1690912539.git.jonathantanmy@google.com>
 source: <20230808192240.GA4091261@coredump.intra.peff.net>


* ab/tag-object-type-errors (2023-05-10) 4 commits
 . tag: don't emit potentially incorrect "object is a X, not a Y"
 . tag: don't misreport type of tagged objects in errors
 . object tests: add test for unexpected objects in tags
 . Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.

 Stalled for too long.
 source: <cover-v2-0.3-00000000000-20221230T011725Z-avarab@gmail.com>


* ob/send-email-interactive-failure (2023-08-29) 2 commits
 . SQUASH???
 . send-email: prompt-dependent exit codes

 "git send-email" exits with non-zero status when end-user
 interaction causes any prepared message not to be sent.

 Breaks existing users without even an opt-out knob.
 source: <20230821170720.577835-1-oswald.buddenhagen@gmx.de>


* ws/svn-with-new-readline (2023-08-11) 1 commit
 . git-svn: avoid creating more than one than one Term::ReadLine object

 Adjust to newer Term::ReadLine to prevent it from breaking
 the interactive prompt code in git-svn.

 Superseded by ws/git-svn-retire-faketerm
 source: <20230810011831.1423208-1-wesleys@opperschaap.net>

^ permalink raw reply	[relevance 24%]

* What's cooking in git.git (Aug 2023, #07; Fri, 25)
@ 2023-08-28 20:05 25% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-08-28 20:05 UTC (permalink / raw)
  To: git

[jc: for some reason I forgot to send this out last week]
--------------------------------------------------

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

The cycle for 2.43 has started.  Hopefully we can drain the topics
that have been cooking in 'next' during the pre-release freeze
period down to 'master' by the end of next week.

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']

* ds/maintenance-schedule-fuzz (2023-08-10) 8 commits
  (merged to 'next' on 2023-08-18 at 8d17424818)
 + maintenance: update schedule before config
 + maintenance: fix systemd schedule overlaps
 + maintenance: use random minute in systemd scheduler
 + maintenance: swap method locations
 + maintenance: use random minute in cron scheduler
 + maintenance: use random minute in Windows scheduler
 + maintenance: use random minute in launchctl scheduler
 + maintenance: add get_random_minute()

 Hourly and other schedule of "git maintenance" jobs are randomly
 distributed now.
 source: <pull.1567.v2.git.1691699987.gitgitgadget@gmail.com>


* ds/upload-pack-error-sequence-fix (2023-08-16) 2 commits
  (merged to 'next' on 2023-08-16 at d0522d547d)
 + upload-pack: fix exit code when denying fetch of unreachable object ID
  (merged to 'next' on 2023-08-13 at 6c740593cf)
 + upload-pack: fix race condition in error messages

 Error message generation fix.
 source: <pull.1572.git.1691678450757.gitgitgadget@gmail.com>
 source: <fe028981d353158e9840eb035194ca15e6a2c15e.1692165840.git.ps@pks.im>


* ja/worktree-orphan (2023-08-13) 1 commit
  (merged to 'next' on 2023-08-18 at b2a6f7fb71)
 + builtin/worktree.c: fix typo in "forgot fetch" msg

 Typofix in an error message.
 source: <20230811233940.30264-1-jacobabel@nullpo.dev>


* jk/function-pointer-mismatches-fix (2023-08-19) 1 commit
  (merged to 'next' on 2023-08-19 at d59a3bf2b4)
 + hashmap: use expected signatures for comparison functions

 Code clean-up to please clang-18.
 source: <20230819235530.GB600744@coredump.intra.peff.net>


* mp/rebase-label-length-limit (2023-08-10) 2 commits
  (merged to 'next' on 2023-08-13 at 85536da9f7)
 + rebase: allow overriding the maximal length of the generated labels
 + sequencer: truncate labels to accommodate loose refs

 Overly long label names used in the sequencer machinery are now
 chopped to fit under filesystem limitation.
 source: <pull.1562.git.git.1691685300.gitgitgadget@gmail.com>


* ob/sequencer-rearrange-cleanup (2023-08-09) 1 commit
  (merged to 'next' on 2023-08-09 at df4360945c)
 + sequencer: simplify allocation of result array in todo_list_rearrange_squash()

 Code clean-up.
 source: <20230809171532.2564880-1-oswald.buddenhagen@gmx.de>


* ob/t9001-indent-fix (2023-08-13) 1 commit
  (merged to 'next' on 2023-08-18 at 00c1cf4fe7)
 + t9001: fix indentation in test_no_confirm()

 Test style fix.
 source: <20230813104649.2919412-1-oswald.buddenhagen@gmx.de>


* ob/test-lib-rebase-fake-editor-updates (2023-08-10) 3 commits
  (merged to 'next' on 2023-08-13 at 16b87e890a)
 + t/lib-rebase: improve documentation of set_fake_editor()
 + t/lib-rebase: set_fake_editor(): handle FAKE_LINES more consistently
 + t/lib-rebase: set_fake_editor(): fix recognition of reset's short command

 Test updates.
 source: <20230807170935.2336663-1-oswald.buddenhagen@gmx.de>
 source: <20230809171531.2564785-1-oswald.buddenhagen@gmx.de>


* rj/branch-in-use-error-message (2023-08-08) 2 commits
  (merged to 'next' on 2023-08-09 at 5510985b1c)
 + branch: error message checking out a branch in use
 + branch: error message deleting a branch in use

 A message written in olden time prevented a branch from getting
 checked out saying it is already checked out elsewhere, but these
 days, we treat a branch that is being bisected or rebased just like
 a branch that is checked out and protect it.  Rephrase the message
 to say that the branch is in use.
 source: <7710c002-0832-d8f6-59b8-30119bd5efe6@gmail.com>


* rs/parse-options-negation-help (2023-08-06) 8 commits
  (merged to 'next' on 2023-08-18 at 9d37b5fbfe)
 + parse-options: simplify usage_padding()
 + parse-options: no --[no-]no-...
 + parse-options: factor out usage_indent() and usage_padding()
 + parse-options: show negatability of options in short help
 + t1502: test option negation
 + t1502: move optionspec help output to a file
 + t1502, docs: disallow --no-help
 + subtree: disallow --no-{help,quiet,debug,branch,message}

 "git cmd -h" learned to signal which options can be negated by
 listing such options like "--[no-]opt".
 cf. <xmqqbkfm3gne.fsf@gitster.g>
 source: <e4d46d97-1cd4-7fea-afd1-7de5023b1b09@web.de>


* tb/repack-geometry-cleanup (2023-08-09) 1 commit
  (merged to 'next' on 2023-08-13 at d79c778057)
 + repack: move `pack_geometry` struct to the stack

 Code clean-up.
 source: <2e2a760381be1f7cdae83e2f43b17d16aa8ab161.1691613149.git.me@ttaylorr.com>


* ws/git-push-doc-grammofix (2023-08-09) 1 commit
  (merged to 'next' on 2023-08-13 at f15e9bbe75)
 + git-push.txt: fix grammar

 Doc update.
 source: <20230810012105.1423462-1-wesleys@opperschaap.net>

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

* jk/diff-result-code-cleanup (2023-08-21) 7 commits
  (merged to 'next' on 2023-08-25 at 3b1280d42f)
 + diff: drop useless "status" parameter from diff_result_code()
 + diff: drop useless return values in git-diff helpers
 + diff: drop useless return from run_diff_{files,index} functions
 + diff: die when failing to read index in git-diff builtin
 + diff: show usage for unknown builtin_diff_files() options
 + diff-files: avoid negative exit value
 + diff: spell DIFF_INDEX_CACHED out when calling run_diff_index()

 "git diff --no-such-option" and other corner cases around the exit
 status of the "diff" command has been corrected.

 Will merge to 'master'.
 source: <20230821201358.GA2663749@coredump.intra.peff.net>


* tb/path-filter-fix (2023-08-21) 15 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Comments?
 source: <cover.1692654233.git.me@ttaylorr.com>


* ch/t6300-verify-commit-test-cleanup (2023-08-23) 2 commits
  (merged to 'next' on 2023-08-24 at 15b842867e)
 + t/t6300: drop magic filtering
 + t/lib-gpg: forcibly run a trustdb update

 Test clean-up.

 Will merge to 'master'.
 source: <20230822150149.541ccb35@leda.eworm.net>


* ts/unpacklimit-config-fix (2023-08-22) 1 commit
  (merged to 'next' on 2023-08-23 at 4fabd9a697)
 + transfer.unpackLimit: fetch/receive.unpackLimit takes precedence

 transfer.unpackLimit ought to be used as a fallback, but overrode
 fetch.unpackLimit and receive.unpackLimit instead.

 Will merge to 'master'.
 source: <xmqqpm3eh7f6.fsf@gitster.g>


* js/config-parse (2023-08-23) 4 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split out config_parse_options

 Split out parsing routines for the configuration files into a
 separate file.

 Needs review.
 source: <cover.1692827403.git.steadmon@google.com>


* jc/ci-skip-same-commit (2023-08-25) 1 commit
 - ci: avoid building from the same commit in parallel

 Tweak GitHub Actions CI so that pushing the same commit to multiple
 branch tips at the same time will not waste building and testing
 the same thing twice.

 Will merge to 'next'.
 source: <1da763f3-60bf-a572-2c71-336b1fa5553d@gmx.de>


* py/git-gui-updates (2023-08-24) 16 commits
 - Merge https://github.com/prati0100/git-gui
 - Merge branch 'ml/cygwin-fixes'
 - git-gui - use mkshortcut on Cygwin
 - git-gui - use cygstart to browse on Cygwin
 - git-gui - remove obsolete Cygwin specific code
 - git gui Makefile - remove Cygwin modifications
 - Merge branch 'ab/makeflags'
 - Makefiles: change search through $(MAKEFLAGS) for GNU make 4.4
 - Merge branch 'js/windows-rce'
 - Work around Tcl's default `PATH` lookup
 - Move the `_which` function (almost) to the top
 - Move is_<platform> functions to the beginning
 - is_Cygwin: avoid `exec`ing anything
 - windows: ignore empty `PATH` elements
 - Merge branch 'vk/readme-typo'
 - git-gui: Fix a typo in README


* tb/mark-more-tests-as-leak-free (2023-08-24) 3 commits
 - leak tests: mark t5583-push-branches.sh as leak-free
 - leak tests: mark t3321-notes-stripspace.sh as leak-free
 - leak tests: mark a handful of tests as leak-free

 source: <cover.1692902414.git.me@ttaylorr.com>

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

* cc/repack-sift-filtered-objects-to-separate-pack (2023-08-13) 8 commits
 . gc: add `gc.repackFilterTo` config option
 . repack: implement `--filter-to` for storing filtered out objects
 . gc: add `gc.repackFilter` config option
 . repack: add `--filter=<filter-spec>` option
 . repack: refactor finding pack prefix
 . repack: refactor finishing pack-objects command
 . t/helper: add 'find-pack' test-tool
 . pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 Kicked out of the 'seen', as it still seems to be failing tests.
 cf. https://github.com/git/git/actions/runs/5850998716/job/15861158252#step:4:1822
 source: <20230812000011.1227371-1-christian.couder@gmail.com>


* ob/send-email-interactive-failure (2023-08-21) 1 commit
 - send-email: prompt-dependent exit codes

 "git send-email" exits with non-zero status when end-user
 interaction causes any prepared message not to be sent.

 Expecting a reroll.
 Without an opt-in fix, this will be a backward-incompatible
 change that needs mention in the release notes.
 source: <20230821170720.577835-1-oswald.buddenhagen@gmx.de>


* cc/git-replay (2023-06-03) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 No reviews?
 source: <20230602102533.876905-1-christian.couder@gmail.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>

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

* ob/sequencer-empty-hint-fix (2023-08-24) 1 commit
  (merged to 'next' on 2023-08-24 at 626c52ad72)
 + sequencer: rectify empty hint in call of require_clean_work_tree()

 Update the use of API for consistency between two calls to
 require_clean_work_tree() from the sequencer code.

 Will merge to 'master'.
 source: <20230824150046.802008-1-oswald.buddenhagen@gmx.de>


* jc/diff-exit-code-with-w-fixes (2023-08-21) 5 commits
  (merged to 'next' on 2023-08-23 at 436a0aec3d)
 + diff: the -w option breaks --exit-code for --raw and other output modes
 + t4040: remove test that succeeded for a wrong reason
 + diff: teach "--stat -w --exit-code" to notice differences
 + diff: mode-only change should be noticed by "--patch -w --exit-code"
 + diff: move the fallback "--exit-code" code down

 "git diff -w --exit-code" with various options did not work
 correctly, which is being addressed.

 Will merge to 'master'.
 source: <20230818235932.3253552-1-gitster@pobox.com>


* jc/update-index-show-index-version (2023-08-18) 3 commits
 - test-tool: retire "index-version"
 - update-index: add --show-index-version
 - update-index doc: v4 is OK with JGit and libgit2

 "git update-index" learns "--show-index-version" to inspect
 the index format version used by the on-disk index file.

 Needs review.
 source: <20230818233729.2766281-1-gitster@pobox.com>


* ob/revert-of-revert-is-reapply (2023-08-21) 2 commits
 - git-revert.txt: add discussion
 - sequencer: beautify subject of reverts of reverts

 Tweak the default log message created by "git revert" when
 reverting a commit that records a revert.

 Expecting a (hopefully small and final) reroll.
 cf. <ZOZnNDd2pMX6M2Au@nand.local>
 source: <20230809171531.2564807-1-oswald.buddenhagen@gmx.de>


* ob/format-patch-description-file (2023-08-21) 1 commit
  (merged to 'next' on 2023-08-25 at 89ea619311)
 + format-patch: add --description-file option

 "git format-patch" learns a way to feed cover letter description,
 that (1) can be used on detached HEAD where there is no branch
 description available, and (2) also can override the branch
 description if there is one.

 Will merge to 'master'.
 source: <20230821170720.577820-1-oswald.buddenhagen@gmx.de>


* ds/scalar-updates (2023-08-22) 3 commits
 - scalar reconfigure: help users remove buggy repos
 - setup: add discover_git_directory_reason()
 - scalar: add --[no-]src option

 Scalar updates.
 source: <pull.1569.v2.git.1692725056.gitgitgadget@gmail.com>


* jc/mv-d-to-d-error-message-fix (2023-08-11) 1 commit
  (merged to 'next' on 2023-08-21 at 2220d22d6f)
 + mv: fix error for moving directory to another

 Typofix in an error message.

 Will merge to 'master'.
 source: <xmqqjzu1njt0.fsf@gitster.g>


* sl/sparse-check-attr (2023-08-11) 3 commits
  (merged to 'next' on 2023-08-21 at c202b15517)
 + check-attr: integrate with sparse-index
 + attr.c: read attributes in a sparse directory
 + t1092: add tests for 'git check-attr'

 Teach "git check-attr" work better with sparse-index.

 Will merge to 'master'.
 cf. <3b2a5b4b-ab8f-746b-6b69-8e8262b6390b@github.com>
 source: <20230811142211.4547-1-cheskaqiqi@gmail.com>


* ws/svn-with-new-readline (2023-08-11) 1 commit
 - git-svn: avoid creating more than one than one Term::ReadLine object

 Adjust to newer Term::ReadLine to prevent it from breaking
 the interactive prompt code in git-svn.

 Not needed for correctness.
 source: <20230810011831.1423208-1-wesleys@opperschaap.net>


* ak/pretty-decorate-more (2023-08-21) 8 commits
 - decorate: use commit color for HEAD arrow
 - pretty: add pointer and tag options to %(decorate)
 - pretty: add %(decorate[:<options>]) format
 - decorate: color each token separately
 - decorate: avoid some unnecessary color overhead
 - decorate: refactor format_decorations()
 - pretty-formats: enclose options in angle brackets
 - pretty-formats: define "literal formatting code"

 Teach "git log --format" a customizable %(decorate) placeholder.

 What's the status of this thing?
 source: <20230820185009.20095-1-andy.koppe@gmail.com>


* tb/commit-graph-verify-fix (2023-08-21) 4 commits
  (merged to 'next' on 2023-08-23 at 2b4b74bb0d)
 + commit-graph: avoid repeated mixed generation number warnings
 + t/t5318-commit-graph.sh: test generation zero transitions during fsck
 + commit-graph: verify swapped zero/non-zero generation cases
 + commit-graph: introduce `commit_graph_generation_from_graph()`

 Update commit-graph verification code that detects mixture of zero
 and non-zero generation numbers.

 Will merge to 'master'.
 source: <cover.1692653671.git.me@ttaylorr.com>


* la/trailer-cleanups (2023-08-06) 5 commits
 - trailer: rename *_DEFAULT enums to *_UNSPECIFIED
 - trailer: teach find_patch_start about --no-divider
 - trailer: split process_command_line_args into separate functions
 - trailer: split process_input_file into separate pieces
 - trailer: separate public from internal portion of trailer_iterator

 Code clean-up.

 Expecting a reroll.
 cf. <owlyy1iifq0n.fsf@fine.c.googlers.com>
 source: <pull.1563.git.1691211879.gitgitgadget@gmail.com>


* la/trailer-test-and-doc-updates (2023-08-10) 14 commits
 - SQUASH???
 - trailer doc: <token> is a <key> or <keyAlias>, not both
 - trailer doc: separator within key suppresses default separator
 - trailer doc: emphasize the effect of configuration variables
 - trailer --unfold help: prefer "reformat" over "join"
 - trailer --parse docs: add explanation for its usefulness
 - trailer --only-input: prefer "configuration variables" over "rules"
 - trailer --parse help: expose aliased options
 - trailer --no-divider help: describe usual "---" meaning
 - trailer: trailer location is a place, not an action
 - trailer doc: narrow down scope of --where and related flags
 - trailer: add tests to check defaulting behavior with --no-* flags
 - trailer test description: this tests --where=after, not --where=before
 - trailer tests: make test cases self-contained

 Test coverage improvement for trailers.

 Expecting a reroll.
 cf. <owlyh6p5fpi7.fsf@fine.c.googlers.com>
 source: <pull.1564.v2.git.1691702283.gitgitgadget@gmail.com>


* mh/credential-libsecret-attrs (2023-06-16) 1 commit
  (merged to 'next' on 2023-08-08 at dc73a2c55a)
 + credential/libsecret: store new attributes

 The way authentication related data other than passwords (e.g.
 oath token and password expiration data) are stored in libsecret
 keyrings has been rethought.

 Will merge to 'master'.
 source: <pull.1469.v5.git.git.1686945306242.gitgitgadget@gmail.com>


* jc/rerere-cleanup (2023-08-03) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function
 (this branch uses jc/unresolve-removal.)

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* pw/rebase-i-after-failure (2023-08-01) 7 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase --continue: refuse to commit after failed command
 - rebase: fix rewritten list for failed pick
 - sequencer: factor out part of pick_commits()
 - sequencer: use rebase_path_message()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Expecting a reroll.
 The latter half of the series should be reviewed by those who have
 more stake in the sequencer code than myself.
 cf. <619e458b-218b-a790-dfb4-9200e201b513@gmail.com>
 source: <pull.1492.v3.git.1690903412.gitgitgadget@gmail.com>


* jc/unresolve-removal (2023-07-31) 7 commits
 - checkout: allow "checkout -m path" to unmerge removed paths
 - checkout/restore: add basic tests for --merge
 - checkout/restore: refuse unmerging paths unless checking out of the index
 - update-index: remove stale fallback code for "--unresolve"
 - update-index: use unmerge_index_entry() to support removal
 - resolve-undo: allow resurrecting conflicted state that resolved to deletion
 - update-index: do not read HEAD and MERGE_HEAD unconditionally
 (this branch is used by jc/rerere-cleanup.)

 "checkout --merge -- path" and "update-index --unresolve path" did
 not resurrect conflicted state that was resolved to remove path,
 but now they do.

 Needs review.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-08-01) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 cf. <xmqqtttia3vn.fsf@gitster.g>
 source: <48745298-f12b-8efb-4e48-90d2c22a8349@gmail.com>


* mh/credential-erase-improvements-more (2023-07-26) 2 commits
  (merged to 'next' on 2023-08-08 at fd1ba4accf)
 + credential/wincred: erase matching creds only
 + credential/libsecret: erase matching creds only

 Update two credential helpers to correctly match which credential
 to erase; they dropped not the ones with stale password.

 Will merge to 'master'.
 source: <pull.1527.v2.git.git.1690387585634.gitgitgadget@gmail.com>
 source: <pull.1529.git.git.1687596777147.gitgitgadget@gmail.com>


* js/doc-unit-tests (2023-08-17) 3 commits
 - ci: run unit tests in CI
 - unit tests: add TAP unit test framework
 - unit tests: Add a project plan document

 Process to add some form of low-level unit tests has started.

 Comments?
 source: <cover.1692297001.git.steadmon@google.com>

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

* jt/path-filter-fix (2023-08-08) 8 commits
  (merged to 'next' on 2023-08-09 at 59952b9ec9)
 + commit-graph: fix small leak with invalid changedPathsVersion
  (merged to 'next' on 2023-08-03 at d99958c287)
 + commit-graph: new filter ver. that fixes murmur3
 + repo-settings: introduce commitgraph.changedPathsVersion
 + t4216: test changed path filters with high bit paths
 + t/helper/test-read-graph: implement `bloom-filters` mode
 + bloom.h: make `load_bloom_filter_from_graph()` public
 + t/helper/test-read-graph.c: extract `dump_graph_info()`
 + gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Reverted out of 'next', superseded by the tb/path-filter-fix topic.
 cf. <ZMqp6K2iXixWH/zT@nand.local>
 source: <cover.1690912539.git.jonathantanmy@google.com>
 source: <20230808192240.GA4091261@coredump.intra.peff.net>


* ab/tag-object-type-errors (2023-05-10) 4 commits
 . tag: don't emit potentially incorrect "object is a X, not a Y"
 . tag: don't misreport type of tagged objects in errors
 . object tests: add test for unexpected objects in tags
 . Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.

 Stalled for too long.
 source: <cover-v2-0.3-00000000000-20221230T011725Z-avarab@gmail.com>

^ permalink raw reply	[relevance 25%]

* What's cooking in git.git (Aug 2023, #08; Mon, 28)
@ 2023-08-28 19:08 28% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-08-28 19:08 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

The cycle for 2.43 has started.  Hopefully we can drain the topics
that have been cooking in 'next' during the pre-release freeze
period down to 'master' by the end of this week.

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]

* rs/parse-options-help-text-is-optional (2023-08-28) 1 commit
 - parse-options: allow omitting option help text

 It may be tempting to leave the help text NULL for a command line
 option that is either hidden or too obvious, but "git subcmd -h"
 and "git subcmd --help-all" would have segfaulted if done so.  Now
 the help text is optional.

 Will merge to 'next'.
 source: <2b08dc43-621d-2170-c4a6-c2aac33a9a19@web.de>

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

* mh/credential-erase-improvements-more (2023-07-26) 2 commits
  (merged to 'next' on 2023-08-08 at fd1ba4accf)
 + credential/wincred: erase matching creds only
 + credential/libsecret: erase matching creds only

 Update two credential helpers to correctly match which credential
 to erase; they dropped not the ones with stale password.
 source: <pull.1527.v2.git.git.1690387585634.gitgitgadget@gmail.com>
 source: <pull.1529.git.git.1687596777147.gitgitgadget@gmail.com>


* mh/credential-libsecret-attrs (2023-06-16) 1 commit
  (merged to 'next' on 2023-08-08 at dc73a2c55a)
 + credential/libsecret: store new attributes

 The way authentication related data other than passwords (e.g.
 oath token and password expiration data) are stored in libsecret
 keyrings has been rethought.
 source: <pull.1469.v5.git.git.1686945306242.gitgitgadget@gmail.com>

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

* cc/repack-sift-filtered-objects-to-separate-pack (2023-08-13) 8 commits
 . gc: add `gc.repackFilterTo` config option
 . repack: implement `--filter-to` for storing filtered out objects
 . gc: add `gc.repackFilter` config option
 . repack: add `--filter=<filter-spec>` option
 . repack: refactor finding pack prefix
 . repack: refactor finishing pack-objects command
 . t/helper: add 'find-pack' test-tool
 . pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 Kicked out of the 'seen', as it still seems to be failing tests.
 cf. https://github.com/git/git/actions/runs/5850998716/job/15861158252#step:4:1822
 source: <20230812000011.1227371-1-christian.couder@gmail.com>


* ob/send-email-interactive-failure (2023-08-21) 1 commit
 - send-email: prompt-dependent exit codes

 "git send-email" exits with non-zero status when end-user
 interaction causes any prepared message not to be sent.

 Expecting a reroll.
 Without an opt-in fix, this will be a backward-incompatible
 change that needs mention in the release notes.
 source: <20230821170720.577835-1-oswald.buddenhagen@gmx.de>


* cc/git-replay (2023-06-03) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 No reviews?
 source: <20230602102533.876905-1-christian.couder@gmail.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>

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

* jk/diff-result-code-cleanup (2023-08-21) 7 commits
  (merged to 'next' on 2023-08-25 at 3b1280d42f)
 + diff: drop useless "status" parameter from diff_result_code()
 + diff: drop useless return values in git-diff helpers
 + diff: drop useless return from run_diff_{files,index} functions
 + diff: die when failing to read index in git-diff builtin
 + diff: show usage for unknown builtin_diff_files() options
 + diff-files: avoid negative exit value
 + diff: spell DIFF_INDEX_CACHED out when calling run_diff_index()

 "git diff --no-such-option" and other corner cases around the exit
 status of the "diff" command has been corrected.

 Will merge to 'master'.
 source: <20230821201358.GA2663749@coredump.intra.peff.net>


* tb/path-filter-fix (2023-08-21) 15 commits
 - bloom: introduce `deinit_bloom_filters()`
 - commit-graph: reuse existing Bloom filters where possible
 - object.h: fix mis-aligned flag bits table
 - commit-graph: drop unnecessary `graph_read_bloom_data_context`
 - commit-graph.c: unconditionally load Bloom filters
 - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`
 - bloom: prepare to discard incompatible Bloom filters
 - bloom: annotate filters with hash version
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Comments?
 source: <cover.1692654233.git.me@ttaylorr.com>


* ch/t6300-verify-commit-test-cleanup (2023-08-23) 2 commits
  (merged to 'next' on 2023-08-24 at 15b842867e)
 + t/t6300: drop magic filtering
 + t/lib-gpg: forcibly run a trustdb update

 Test clean-up.

 Will merge to 'master'.
 source: <20230822150149.541ccb35@leda.eworm.net>


* ts/unpacklimit-config-fix (2023-08-22) 1 commit
  (merged to 'next' on 2023-08-23 at 4fabd9a697)
 + transfer.unpackLimit: fetch/receive.unpackLimit takes precedence

 transfer.unpackLimit ought to be used as a fallback, but overrode
 fetch.unpackLimit and receive.unpackLimit instead.

 Will merge to 'master'.
 source: <xmqqpm3eh7f6.fsf@gitster.g>


* js/config-parse (2023-08-23) 4 commits
 - config-parse: split library out of config.[c|h]
 - config.c: accept config_parse_options in git_config_from_stdin
 - config: report config parse errors using cb
 - config: split out config_parse_options

 Split out parsing routines for the configuration files into a
 separate file.

 Needs review.
 source: <cover.1692827403.git.steadmon@google.com>


* jc/ci-skip-same-commit (2023-08-25) 1 commit
  (merged to 'next' on 2023-08-28 at e978717961)
 + ci: avoid building from the same commit in parallel

 Tweak GitHub Actions CI so that pushing the same commit to multiple
 branch tips at the same time will not waste building and testing
 the same thing twice.

 Will merge to 'master'.
 source: <1da763f3-60bf-a572-2c71-336b1fa5553d@gmx.de>


* py/git-gui-updates (2023-08-24) 16 commits
  (merged to 'next' on 2023-08-28 at df0b742344)
 + Merge https://github.com/prati0100/git-gui
 + Merge branch 'ml/cygwin-fixes'
 + git-gui - use mkshortcut on Cygwin
 + git-gui - use cygstart to browse on Cygwin
 + git-gui - remove obsolete Cygwin specific code
 + git gui Makefile - remove Cygwin modifications
 + Merge branch 'ab/makeflags'
 + Makefiles: change search through $(MAKEFLAGS) for GNU make 4.4
 + Merge branch 'js/windows-rce'
 + Work around Tcl's default `PATH` lookup
 + Move the `_which` function (almost) to the top
 + Move is_<platform> functions to the beginning
 + is_Cygwin: avoid `exec`ing anything
 + windows: ignore empty `PATH` elements
 + Merge branch 'vk/readme-typo'
 + git-gui: Fix a typo in README

 Git GUI updates.

 Will merge to 'master'.


* tb/mark-more-tests-as-leak-free (2023-08-24) 3 commits
 - leak tests: mark t5583-push-branches.sh as leak-free
 - leak tests: mark t3321-notes-stripspace.sh as leak-free
 - leak tests: mark a handful of tests as leak-free

 source: <cover.1692902414.git.me@ttaylorr.com>


* ob/sequencer-empty-hint-fix (2023-08-24) 1 commit
  (merged to 'next' on 2023-08-24 at 626c52ad72)
 + sequencer: rectify empty hint in call of require_clean_work_tree()

 Update the use of API for consistency between two calls to
 require_clean_work_tree() from the sequencer code.

 Will merge to 'master'.
 source: <20230824150046.802008-1-oswald.buddenhagen@gmx.de>


* jc/diff-exit-code-with-w-fixes (2023-08-21) 5 commits
  (merged to 'next' on 2023-08-23 at 436a0aec3d)
 + diff: the -w option breaks --exit-code for --raw and other output modes
 + t4040: remove test that succeeded for a wrong reason
 + diff: teach "--stat -w --exit-code" to notice differences
 + diff: mode-only change should be noticed by "--patch -w --exit-code"
 + diff: move the fallback "--exit-code" code down

 "git diff -w --exit-code" with various options did not work
 correctly, which is being addressed.

 Will merge to 'master'.
 source: <20230818235932.3253552-1-gitster@pobox.com>


* jc/update-index-show-index-version (2023-08-18) 3 commits
 - test-tool: retire "index-version"
 - update-index: add --show-index-version
 - update-index doc: v4 is OK with JGit and libgit2

 "git update-index" learns "--show-index-version" to inspect
 the index format version used by the on-disk index file.

 Needs review.
 source: <20230818233729.2766281-1-gitster@pobox.com>


* ob/revert-of-revert-is-reapply (2023-08-21) 2 commits
 - git-revert.txt: add discussion
 - sequencer: beautify subject of reverts of reverts

 Tweak the default log message created by "git revert" when
 reverting a commit that records a revert.

 Expecting a (hopefully small and final) reroll.
 cf. <ZOZnNDd2pMX6M2Au@nand.local>
 source: <20230809171531.2564807-1-oswald.buddenhagen@gmx.de>


* ob/format-patch-description-file (2023-08-21) 1 commit
  (merged to 'next' on 2023-08-25 at 89ea619311)
 + format-patch: add --description-file option

 "git format-patch" learns a way to feed cover letter description,
 that (1) can be used on detached HEAD where there is no branch
 description available, and (2) also can override the branch
 description if there is one.

 Will merge to 'master'.
 source: <20230821170720.577820-1-oswald.buddenhagen@gmx.de>


* ds/scalar-updates (2023-08-28) 3 commits
  (merged to 'next' on 2023-08-28 at 093e6bcb9c)
 + scalar reconfigure: help users remove buggy repos
 + setup: add discover_git_directory_reason()
 + scalar: add --[no-]src option

 Scalar updates.
 Will merge to 'master'.
 source: <pull.1569.v3.git.1693230746.gitgitgadget@gmail.com>


* jc/mv-d-to-d-error-message-fix (2023-08-11) 1 commit
  (merged to 'next' on 2023-08-21 at 2220d22d6f)
 + mv: fix error for moving directory to another

 Typofix in an error message.

 Will merge to 'master'.
 source: <xmqqjzu1njt0.fsf@gitster.g>


* sl/sparse-check-attr (2023-08-11) 3 commits
  (merged to 'next' on 2023-08-21 at c202b15517)
 + check-attr: integrate with sparse-index
 + attr.c: read attributes in a sparse directory
 + t1092: add tests for 'git check-attr'

 Teach "git check-attr" work better with sparse-index.

 Will merge to 'master'.
 cf. <3b2a5b4b-ab8f-746b-6b69-8e8262b6390b@github.com>
 source: <20230811142211.4547-1-cheskaqiqi@gmail.com>


* ws/svn-with-new-readline (2023-08-11) 1 commit
 - git-svn: avoid creating more than one than one Term::ReadLine object

 Adjust to newer Term::ReadLine to prevent it from breaking
 the interactive prompt code in git-svn.

 Not needed for correctness.
 source: <20230810011831.1423208-1-wesleys@opperschaap.net>


* ak/pretty-decorate-more (2023-08-21) 8 commits
 - decorate: use commit color for HEAD arrow
 - pretty: add pointer and tag options to %(decorate)
 - pretty: add %(decorate[:<options>]) format
 - decorate: color each token separately
 - decorate: avoid some unnecessary color overhead
 - decorate: refactor format_decorations()
 - pretty-formats: enclose options in angle brackets
 - pretty-formats: define "literal formatting code"

 Teach "git log --format" a customizable %(decorate) placeholder.

 What's the status of this thing?
 source: <20230820185009.20095-1-andy.koppe@gmail.com>


* tb/commit-graph-verify-fix (2023-08-21) 4 commits
  (merged to 'next' on 2023-08-23 at 2b4b74bb0d)
 + commit-graph: avoid repeated mixed generation number warnings
 + t/t5318-commit-graph.sh: test generation zero transitions during fsck
 + commit-graph: verify swapped zero/non-zero generation cases
 + commit-graph: introduce `commit_graph_generation_from_graph()`

 Update commit-graph verification code that detects mixture of zero
 and non-zero generation numbers.

 Will merge to 'master'.
 source: <cover.1692653671.git.me@ttaylorr.com>


* la/trailer-cleanups (2023-08-06) 5 commits
 - trailer: rename *_DEFAULT enums to *_UNSPECIFIED
 - trailer: teach find_patch_start about --no-divider
 - trailer: split process_command_line_args into separate functions
 - trailer: split process_input_file into separate pieces
 - trailer: separate public from internal portion of trailer_iterator

 Code clean-up.

 Expecting a reroll.
 cf. <owlyy1iifq0n.fsf@fine.c.googlers.com>
 source: <pull.1563.git.1691211879.gitgitgadget@gmail.com>


* la/trailer-test-and-doc-updates (2023-08-10) 14 commits
 - SQUASH???
 - trailer doc: <token> is a <key> or <keyAlias>, not both
 - trailer doc: separator within key suppresses default separator
 - trailer doc: emphasize the effect of configuration variables
 - trailer --unfold help: prefer "reformat" over "join"
 - trailer --parse docs: add explanation for its usefulness
 - trailer --only-input: prefer "configuration variables" over "rules"
 - trailer --parse help: expose aliased options
 - trailer --no-divider help: describe usual "---" meaning
 - trailer: trailer location is a place, not an action
 - trailer doc: narrow down scope of --where and related flags
 - trailer: add tests to check defaulting behavior with --no-* flags
 - trailer test description: this tests --where=after, not --where=before
 - trailer tests: make test cases self-contained

 Test coverage improvement for trailers.

 Expecting a reroll.
 cf. <owlyh6p5fpi7.fsf@fine.c.googlers.com>
 source: <pull.1564.v2.git.1691702283.gitgitgadget@gmail.com>


* jc/rerere-cleanup (2023-08-25) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function
 (this branch uses jc/unresolve-removal.)

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* pw/rebase-i-after-failure (2023-08-01) 7 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase --continue: refuse to commit after failed command
 - rebase: fix rewritten list for failed pick
 - sequencer: factor out part of pick_commits()
 - sequencer: use rebase_path_message()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Expecting a reroll.
 The latter half of the series should be reviewed by those who have
 more stake in the sequencer code than myself.
 cf. <619e458b-218b-a790-dfb4-9200e201b513@gmail.com>
 source: <pull.1492.v3.git.1690903412.gitgitgadget@gmail.com>


* jc/unresolve-removal (2023-07-31) 7 commits
 - checkout: allow "checkout -m path" to unmerge removed paths
 - checkout/restore: add basic tests for --merge
 - checkout/restore: refuse unmerging paths unless checking out of the index
 - update-index: remove stale fallback code for "--unresolve"
 - update-index: use unmerge_index_entry() to support removal
 - resolve-undo: allow resurrecting conflicted state that resolved to deletion
 - update-index: do not read HEAD and MERGE_HEAD unconditionally
 (this branch is used by jc/rerere-cleanup.)

 "checkout --merge -- path" and "update-index --unresolve path" did
 not resurrect conflicted state that was resolved to remove path,
 but now they do.

 Needs review.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-08-01) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 cf. <xmqqtttia3vn.fsf@gitster.g>
 source: <48745298-f12b-8efb-4e48-90d2c22a8349@gmail.com>


* js/doc-unit-tests (2023-08-17) 3 commits
 - ci: run unit tests in CI
 - unit tests: add TAP unit test framework
 - unit tests: Add a project plan document

 Process to add some form of low-level unit tests has started.

 Comments?
 source: <cover.1692297001.git.steadmon@google.com>

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

* jt/path-filter-fix (2023-08-08) 8 commits
  (merged to 'next' on 2023-08-09 at 59952b9ec9)
 + commit-graph: fix small leak with invalid changedPathsVersion
  (merged to 'next' on 2023-08-03 at d99958c287)
 + commit-graph: new filter ver. that fixes murmur3
 + repo-settings: introduce commitgraph.changedPathsVersion
 + t4216: test changed path filters with high bit paths
 + t/helper/test-read-graph: implement `bloom-filters` mode
 + bloom.h: make `load_bloom_filter_from_graph()` public
 + t/helper/test-read-graph.c: extract `dump_graph_info()`
 + gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Reverted out of 'next', superseded by the tb/path-filter-fix topic.
 cf. <ZMqp6K2iXixWH/zT@nand.local>
 source: <cover.1690912539.git.jonathantanmy@google.com>
 source: <20230808192240.GA4091261@coredump.intra.peff.net>


* ab/tag-object-type-errors (2023-05-10) 4 commits
 . tag: don't emit potentially incorrect "object is a X, not a Y"
 . tag: don't misreport type of tagged objects in errors
 . object tests: add test for unexpected objects in tags
 . Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.

 Stalled for too long.
 source: <cover-v2-0.3-00000000000-20221230T011725Z-avarab@gmail.com>

^ permalink raw reply	[relevance 28%]

* What's cooking in git.git (Aug 2023, #06; Fri, 18)
@ 2023-08-19  2:31 28% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-08-19  2:31 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

Git 2.42 will be released early next week.

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']

* ps/revision-stdin-with-options (2023-08-16) 1 commit
  (merged to 'next' on 2023-08-16 at 6eef21f632)
 + rev-list-options: fix typo in `--stdin` documentation

 Typofix to documentation added during this cycle.
 source: <b1b3f1d10b64e63c62db0105957a4ad5e0295d34.1692194193.git.martin.agren@gmail.com>


* sa/doc-ls-remote (2023-08-16) 1 commit
  (merged to 'next' on 2023-08-16 at 059ebeb48b)
 + show-ref doc: fix carets in monospace

 Mark-up fix to documentation added during this cycle.
 source: <f52247af9027192d0a29b8ee049db20250314d74.1692194193.git.martin.agren@gmail.com>


* tl/notes-separator (2023-08-16) 2 commits
  (merged to 'next' on 2023-08-16 at 397c62dd35)
 + notes doc: tidy up `--no-stripspace` paragraph
 + notes doc: split up run-on sentences

 Typo/grammofix to documentation added during this cycle.
 source: <cover.1692194193.git.martin.agren@gmail.com>

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

* jc/diff-exit-code-with-w-fixes (2023-08-18) 5 commits
 - diff: the -w option breaks --exit-code for --raw and other output modes
 - t4040: remove test that succeeded for a wrong reason
 - diff: teach "--stat -w --exit-code" to notice differences
 - diff: mode-only change should be noticed by "--patch -w --exit-code"
 - diff: move the fallback "--exit-code" code down

 "git diff -w --exit-code" with various options did not work
 correctly, which is being addressed.

 Needs review.
 source: <20230818235932.3253552-1-gitster@pobox.com>


* jc/update-index-show-index-version (2023-08-18) 3 commits
 - test-tool: retire "index-version"
 - update-index: add --show-index-version
 - update-index doc: v4 is OK with JGit and libgit2

 "git update-index" learns "--show-index-version" to inspect
 the index format version used by the on-disk index file.

 Needs review.
 source: <20230818233729.2766281-1-gitster@pobox.com>

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

* ob/send-email-interactive-failure (2023-08-09) 1 commit
 . send-email: prompt-dependent exit codes

 "git send-email" exits with non-zero status when end-user
 interaction causes any prepared message not to be sent.

 Expecting a reroll.
 Without an opt-in fix, this will be a backward-incompatible
 change that needs mention in the release notes.
 source: <20230809171531.2564739-1-oswald.buddenhagen@gmx.de>


* ob/sequencer-empty-hint-fix (2023-08-09) 1 commit
 . sequencer: rectify empty hint in call of require_clean_work_tree()

 Update the use of API for consistency between two calls to
 require_clean_work_tree() from the sequencer code.

 Expecting a reroll.
 cf. <xmqqedkahoio.fsf@gitster.g>
 source: <20230809171531.2564829-1-oswald.buddenhagen@gmx.de>


* cc/git-replay (2023-06-03) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 No reviews?
 source: <20230602102533.876905-1-christian.couder@gmail.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>

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

* ob/revert-of-revert-is-reapply (2023-08-11) 3 commits
 - SQUASH??? reword by Linus Arver and Phillip Wood
 - doc: revert: add discussion
 - sequencer: beautify subject of reverts of reverts

 Tweak the default log message created by "git revert" when
 reverting a commit that records a revert.

 Expecting a hopefully final reroll, without the [3/2].
 source: <20230428083528.1699221-1-oswald.buddenhagen@gmx.de>


* ob/format-patch-description-file (2023-08-11) 1 commit
 - format-patch: add --description-file option

 "git format-patch" learns a way to feed cover letter description,
 that (1) can be used on detached HEAD where there is no branch
 description available, and (2) also can override the branch
 description if there is one.

 Expecting a reroll.
 cf. <ZNa2VQQzZmaMzM4C@ugly>
 source: <20230809171530.2564724-1-oswald.buddenhagen@gmx.de>


* ds/scalar-updates (2023-08-14) 2 commits
 - setup: add discover_git_directory_reason()
 - scalar: add --[no-]src option

 Scalar updates.

 Expecting a reroll.
 cf. <abae52d5-47d5-4439-9d2b-68bb6e1c96fa@github.com>
 source: <pull.1569.git.1692025937.gitgitgadget@gmail.com>


* ja/worktree-orphan (2023-08-13) 1 commit
  (merged to 'next' on 2023-08-18 at b2a6f7fb71)
 + builtin/worktree.c: fix typo in "forgot fetch" msg

 Typofix in an error message.

 Will cook in 'next'.
 source: <20230811233940.30264-1-jacobabel@nullpo.dev>


* jc/mv-d-to-d-error-message-fix (2023-08-11) 1 commit
 - mv: fix error for moving directory to another

 Typofix in an error message.

 Will merge to 'next'.
 source: <xmqqjzu1njt0.fsf@gitster.g>


* ob/t9001-indent-fix (2023-08-13) 1 commit
  (merged to 'next' on 2023-08-18 at 00c1cf4fe7)
 + t9001: fix indentation in test_no_confirm()

 Test style fix.

 Will cook in 'next'.
 source: <20230813104649.2919412-1-oswald.buddenhagen@gmx.de>


* sl/sparse-check-attr (2023-08-11) 3 commits
 - check-attr: integrate with sparse-index
 - attr.c: read attributes in a sparse directory
 - t1092: add tests for 'git check-attr'

 Teach "git check-attr" work better with sparse-index.

 Will merge to 'next'.
 cf. <3b2a5b4b-ab8f-746b-6b69-8e8262b6390b@github.com>
 Looking good.
 source: <20230811142211.4547-1-cheskaqiqi@gmail.com>


* ob/sequencer-rearrange-cleanup (2023-08-09) 1 commit
  (merged to 'next' on 2023-08-09 at df4360945c)
 + sequencer: simplify allocation of result array in todo_list_rearrange_squash()

 Code clean-up.

 Will cook in 'next'.
 source: <20230809171532.2564880-1-oswald.buddenhagen@gmx.de>


* tb/repack-geometry-cleanup (2023-08-09) 1 commit
  (merged to 'next' on 2023-08-13 at d79c778057)
 + repack: move `pack_geometry` struct to the stack

 Code clean-up.

 Will cook in 'next'.
 source: <2e2a760381be1f7cdae83e2f43b17d16aa8ab161.1691613149.git.me@ttaylorr.com>


* ws/git-push-doc-grammofix (2023-08-09) 1 commit
  (merged to 'next' on 2023-08-13 at f15e9bbe75)
 + git-push.txt: fix grammar

 Doc update.

 Will cook in 'next'.
 source: <20230810012105.1423462-1-wesleys@opperschaap.net>


* ws/svn-with-new-readline (2023-08-11) 1 commit
 - git-svn: avoid creating more than one than one Term::ReadLine object

 Adjust to newer Term::ReadLine to prevent it from breaking
 the interactive prompt code in git-svn.

 Not needed for correctness.
 source: <20230810011831.1423208-1-wesleys@opperschaap.net>


* ak/pretty-decorate-more (2023-08-10) 7 commits
 - pretty: add pointer and tag options to %(decorate)
 - pretty: add %(decorate[:<options>]) format
 - decorate: color each token separately
 - decorate: avoid some unnecessary color overhead
 - decorate: refactor format_decorations()
 - pretty-formats: enclose options in angle brackets
 - pretty-formats: define "literal formatting code"

 Teach "git log --format" a customizable %(decorate) placeholder.

 What's the status of this thing?
 source: <20230810211619.19055-1-andy.koppe@gmail.com>


* ds/upload-pack-error-sequence-fix (2023-08-16) 2 commits
  (merged to 'next' on 2023-08-16 at d0522d547d)
 + upload-pack: fix exit code when denying fetch of unreachable object ID
  (merged to 'next' on 2023-08-13 at 6c740593cf)
 + upload-pack: fix race condition in error messages

 Error message generation fix.

 Will cook in 'next'.
 source: <pull.1572.git.1691678450757.gitgitgadget@gmail.com>
 source: <fe028981d353158e9840eb035194ca15e6a2c15e.1692165840.git.ps@pks.im>


* mp/rebase-label-length-limit (2023-08-10) 2 commits
  (merged to 'next' on 2023-08-13 at 85536da9f7)
 + rebase: allow overriding the maximal length of the generated labels
 + sequencer: truncate labels to accommodate loose refs

 Chomp overly long label names used in the sequencer machinery.

 Will cook in 'next'.
 source: <pull.1562.git.git.1691685300.gitgitgadget@gmail.com>


* tb/commit-graph-verify-fix (2023-08-10) 4 commits
  (merged to 'next' on 2023-08-13 at ba45da55f5)
 + commit-graph: invert negated conditional
 + t/t5318-commit-graph.sh: test generation zero transitions during fsck
 + commit-graph: verify swapped zero/non-zero generation cases
 + commit-graph: introduce `commit_graph_generation_from_graph()`

 Update commit-graph verification code that detects mixture of zero
 and non-zero generation numbers.

 Will cook in 'next'.
 source: <cover.1691699851.git.me@ttaylorr.com>


* la/trailer-cleanups (2023-08-06) 5 commits
 - trailer: rename *_DEFAULT enums to *_UNSPECIFIED
 - trailer: teach find_patch_start about --no-divider
 - trailer: split process_command_line_args into separate functions
 - trailer: split process_input_file into separate pieces
 - trailer: separate public from internal portion of trailer_iterator

 Code clean-up.

 Expecting a reroll.
 cf. <owlyy1iifq0n.fsf@fine.c.googlers.com>
 source: <pull.1563.git.1691211879.gitgitgadget@gmail.com>


* la/trailer-test-and-doc-updates (2023-08-10) 14 commits
 - SQUASH???
 - trailer doc: <token> is a <key> or <keyAlias>, not both
 - trailer doc: separator within key suppresses default separator
 - trailer doc: emphasize the effect of configuration variables
 - trailer --unfold help: prefer "reformat" over "join"
 - trailer --parse docs: add explanation for its usefulness
 - trailer --only-input: prefer "configuration variables" over "rules"
 - trailer --parse help: expose aliased options
 - trailer --no-divider help: describe usual "---" meaning
 - trailer: trailer location is a place, not an action
 - trailer doc: narrow down scope of --where and related flags
 - trailer: add tests to check defaulting behavior with --no-* flags
 - trailer test description: this tests --where=after, not --where=before
 - trailer tests: make test cases self-contained

 Test coverage improvement for trailers.

 Expecting a reroll.
 cf. <owlyh6p5fpi7.fsf@fine.c.googlers.com>
 source: <pull.1564.v2.git.1691702283.gitgitgadget@gmail.com>


* ds/maintenance-schedule-fuzz (2023-08-10) 8 commits
  (merged to 'next' on 2023-08-18 at 8d17424818)
 + maintenance: update schedule before config
 + maintenance: fix systemd schedule overlaps
 + maintenance: use random minute in systemd scheduler
 + maintenance: swap method locations
 + maintenance: use random minute in cron scheduler
 + maintenance: use random minute in Windows scheduler
 + maintenance: use random minute in launchctl scheduler
 + maintenance: add get_random_minute()

 Allow "git maintenance" schedule to be randomly distributed.

 Will cook in 'next'.
 source: <pull.1567.v2.git.1691699987.gitgitgadget@gmail.com>


* rj/branch-in-use-error-message (2023-08-08) 2 commits
  (merged to 'next' on 2023-08-09 at 5510985b1c)
 + branch: error message checking out a branch in use
 + branch: error message deleting a branch in use

 A message written in olden time prevented a branch from getting
 checked out saying it is already checked out elsewhere, but these
 days, we treat a branch that is being bisected or rebased just like
 a branch that is checked out and protect it.  Rephrase the message
 to say that the branch is in use.

 Will cook in 'next'.
 source: <7710c002-0832-d8f6-59b8-30119bd5efe6@gmail.com>


* mh/credential-libsecret-attrs (2023-06-16) 1 commit
  (merged to 'next' on 2023-08-08 at dc73a2c55a)
 + credential/libsecret: store new attributes

 The way authentication related data other than passwords (e.g.
 oath token and password expiration data) are stored in libsecret
 keyrings has been rethought.

 Will cook in 'next'.
 Needs review.
 source: <pull.1469.v5.git.git.1686945306242.gitgitgadget@gmail.com>


* jc/rerere-cleanup (2023-08-03) 4 commits
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function
 (this branch uses jc/unresolve-removal.)

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* pw/rebase-i-after-failure (2023-08-01) 7 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase --continue: refuse to commit after failed command
 - rebase: fix rewritten list for failed pick
 - sequencer: factor out part of pick_commits()
 - sequencer: use rebase_path_message()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Expecting a reroll.
 The latter half of the series should be reviewed by those who have
 more stake in the sequencer code than myself.
 cf. <619e458b-218b-a790-dfb4-9200e201b513@gmail.com>
 source: <pull.1492.v3.git.1690903412.gitgitgadget@gmail.com>


* jc/unresolve-removal (2023-07-31) 7 commits
 - checkout: allow "checkout -m path" to unmerge removed paths
 - checkout/restore: add basic tests for --merge
 - checkout/restore: refuse unmerging paths unless checking out of the index
 - update-index: remove stale fallback code for "--unresolve"
 - update-index: use unmerge_index_entry() to support removal
 - resolve-undo: allow resurrecting conflicted state that resolved to deletion
 - update-index: do not read HEAD and MERGE_HEAD unconditionally
 (this branch is used by jc/rerere-cleanup.)

 "checkout --merge -- path" and "update-index --unresolve path" did
 not resurrect conflicted state that was resolved to remove path,
 but now they do.

 Needs review.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-08-01) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 cf. <xmqqtttia3vn.fsf@gitster.g>
 source: <48745298-f12b-8efb-4e48-90d2c22a8349@gmail.com>


* rs/parse-options-negation-help (2023-08-06) 8 commits
  (merged to 'next' on 2023-08-18 at 9d37b5fbfe)
 + parse-options: simplify usage_padding()
 + parse-options: no --[no-]no-...
 + parse-options: factor out usage_indent() and usage_padding()
 + parse-options: show negatability of options in short help
 + t1502: test option negation
 + t1502: move optionspec help output to a file
 + t1502, docs: disallow --no-help
 + subtree: disallow --no-{help,quiet,debug,branch,message}

 "git cmd -h" learned to signal which options can be negated by
 listing such options like "--[no-]opt".

 Will cook in 'next'.
 cf. <xmqqbkfm3gne.fsf@gitster.g>
 source: <e4d46d97-1cd4-7fea-afd1-7de5023b1b09@web.de>


* mh/credential-erase-improvements-more (2023-07-26) 2 commits
  (merged to 'next' on 2023-08-08 at fd1ba4accf)
 + credential/wincred: erase matching creds only
 + credential/libsecret: erase matching creds only

 Update two credential helpers to correctly match which credential
 to erase; they dropped not the ones with stale password.

 Will cook in 'next'.
 Needs review.
 source: <pull.1527.v2.git.git.1690387585634.gitgitgadget@gmail.com>
 source: <pull.1529.git.git.1687596777147.gitgitgadget@gmail.com>


* cc/repack-sift-filtered-objects-to-separate-pack (2023-08-13) 8 commits
 . gc: add `gc.repackFilterTo` config option
 . repack: implement `--filter-to` for storing filtered out objects
 . gc: add `gc.repackFilter` config option
 . repack: add `--filter=<filter-spec>` option
 . repack: refactor finding pack prefix
 . repack: refactor finishing pack-objects command
 . t/helper: add 'find-pack' test-tool
 . pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 Kicked out of the 'seen', as it still seems to be failing tests.
 cf. https://github.com/git/git/actions/runs/5850998716/job/15861158252#step:4:1822
 source: <20230812000011.1227371-1-christian.couder@gmail.com>


* js/doc-unit-tests (2023-08-17) 3 commits
 - ci: run unit tests in CI
 - unit tests: add TAP unit test framework
 - unit tests: Add a project plan document

 Process to add some form of low-level unit tests has started.

 Comments?
 source: <cover.1692297001.git.steadmon@google.com>


* jt/path-filter-fix (2023-08-08) 8 commits
  (merged to 'next' on 2023-08-09 at 59952b9ec9)
 + commit-graph: fix small leak with invalid changedPathsVersion
  (merged to 'next' on 2023-08-03 at d99958c287)
 + commit-graph: new filter ver. that fixes murmur3
 + repo-settings: introduce commitgraph.changedPathsVersion
 + t4216: test changed path filters with high bit paths
 + t/helper/test-read-graph: implement `bloom-filters` mode
 + bloom.h: make `load_bloom_filter_from_graph()` public
 + t/helper/test-read-graph.c: extract `dump_graph_info()`
 + gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Will cook in 'next'.
 cf. <ZMqp6K2iXixWH/zT@nand.local>
 source: <cover.1690912539.git.jonathantanmy@google.com>
 source: <20230808192240.GA4091261@coredump.intra.peff.net>


* ob/test-lib-rebase-fake-editor-updates (2023-08-10) 3 commits
  (merged to 'next' on 2023-08-13 at 16b87e890a)
 + t/lib-rebase: improve documentation of set_fake_editor()
 + t/lib-rebase: set_fake_editor(): handle FAKE_LINES more consistently
 + t/lib-rebase: set_fake_editor(): fix recognition of reset's short command

 Test updates.

 Will cook in 'next'.
 source: <20230807170935.2336663-1-oswald.buddenhagen@gmx.de>
 source: <20230809171531.2564785-1-oswald.buddenhagen@gmx.de>

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

* ab/tag-object-type-errors (2023-05-10) 4 commits
 . tag: don't emit potentially incorrect "object is a X, not a Y"
 . tag: don't misreport type of tagged objects in errors
 . object tests: add test for unexpected objects in tags
 . Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.

 Stalled for too long.
 source: <cover-v2-0.3-00000000000-20221230T011725Z-avarab@gmail.com>

^ permalink raw reply	[relevance 28%]

* What's cooking in git.git (Aug 2023, #05; Tue, 15)
@ 2023-08-15 22:22 28% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-08-15 22:22 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

Git 2.42-rc2 has been tagged.

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']

* ds/maintenance-on-windows-fix (2023-08-09) 2 commits
  (merged to 'next' on 2023-08-09 at 3d7abef9be)
 + git maintenance: avoid console window in scheduled tasks on Windows
 + win32: add a helper to run `git.exe` without a foreground window

 Windows updates.
 source: <pull.1570.git.1691600087.gitgitgadget@gmail.com>


* jc/send-email-pre-process-fix (2023-08-09) 1 commit
  (merged to 'next' on 2023-08-09 at ba1b999ec2)
 + t9001: remove excessive GIT_SEND_EMAIL_NOTTY=1

 Test fix.
 source: <20230809171531.2564754-1-oswald.buddenhagen@gmx.de>


* jk/repack-leakfix (2023-08-08) 1 commit
  (merged to 'next' on 2023-08-09 at 8692d7b2e0)
 + repack: free geometry struct
 (this branch is used by tb/repack-geometry-cleanup.)

 Leakfix.
 source: <20230808185023.GA3498623@coredump.intra.peff.net>


* jk/send-email-with-new-readline (2023-08-08) 2 commits
  (merged to 'next' on 2023-08-09 at d42e4ca9f8)
 + send-email: avoid creating more than one Term::ReadLine object
 + send-email: drop FakeTerm hack
 (this branch is used by ws/svn-with-new-readline.)

 Adjust to newer Term::ReadLine to prevent it from breaking
 the interactive prompt code in send-email.
 source: <20230808180935.GA2096901@coredump.intra.peff.net>


* js/allow-t4000-to-be-indented-with-spaces (2023-08-08) 1 commit
  (merged to 'next' on 2023-08-09 at 9c0d6659ec)
 + t0040: declare non-tab indentation to be okay in this script

 File attribute update.
 source: <pull.1568.git.1691491054706.gitgitgadget@gmail.com>


* ob/rebase-conflict-advice-i18n-fix (2023-08-07) 1 commit
  (merged to 'next' on 2023-08-09 at 0e02113510)
 + advice: handle "rebase" in error_resolve_conflict()

 i18n coverage improvement and avoidance of sentence lego.
 source: <20230807170935.2336715-1-oswald.buddenhagen@gmx.de>


* pw/diff-no-index-from-named-pipes (2023-08-13) 2 commits
  (merged to 'next' on 2023-08-13 at 6600a9f80c)
 + t4053: avoid writing to unopened pipe
 + t4053: avoid race when killing background processes

 Test updates.
 source: <pull.1571.git.1691677993195.gitgitgadget@gmail.com>
 source: <20230813162440.GA1688763@coredump.intra.peff.net>


* rs/parse-opt-forbid-set-int-0-without-noneg (2023-08-08) 1 commit
  (merged to 'next' on 2023-08-09 at fab1193dbc)
 + parse-options: disallow negating OPTION_SET_INT 0

 Developer support to detect meaningless combination of options.
 source: <c4cd1591-3a83-920a-6a80-19ffbfe3089d@web.de>


* st/mv-lstat-fix (2023-08-09) 1 commit
  (merged to 'next' on 2023-08-09 at 4b5708df7c)
 + mv: handle lstat() failure correctly

 Correct use of lstat() that assumed a failing call would not
 clobber the statbuf.
 source: <pull.1561.v2.git.1691567261701.gitgitgadget@gmail.com>

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

* ob/revert-of-revert-is-reapply (2023-08-11) 3 commits
 - SQUASH??? reword by Linus Arver and Phillip Wood
 - doc: revert: add discussion
 - sequencer: beautify subject of reverts of reverts

 Tweak the default log message created by "git revert" when
 reverting a commit that records a revert.

 Expecting a hopefully final reroll, without the [3/2].
 source: <20230428083528.1699221-1-oswald.buddenhagen@gmx.de>


* ob/format-patch-description-file (2023-08-11) 1 commit
 - format-patch: add --description-file option

 "git format-patch" learns a way to feed cover letter description,
 that (1) can be used on detached HEAD where there is no branch
 description available, and (2) also can override the branch
 description if there is one.

 Expecting a reroll.
 cf. <ZNa2VQQzZmaMzM4C@ugly>
 source: <20230809171530.2564724-1-oswald.buddenhagen@gmx.de>


* ds/scalar-updates (2023-08-14) 2 commits
 - setup: add discover_git_directory_reason()
 - scalar: add --[no-]src option

 Scalar updates.

 Expecting a reroll.
 cf. <abae52d5-47d5-4439-9d2b-68bb6e1c96fa@github.com>
 source: <pull.1569.git.1692025937.gitgitgadget@gmail.com>


* ja/worktree-orphan (2023-08-13) 1 commit
 - builtin/worktree.c: fix typo in "forgot fetch" msg

 Typofix in an error message.

 Will merge to 'next'.
 source: <20230811233940.30264-1-jacobabel@nullpo.dev>


* jc/mv-d-to-d-error-message-fix (2023-08-11) 1 commit
 - mv: fix error for moving directory to another

 Typofix in an error message.

 Will merge to 'next'.
 source: <xmqqjzu1njt0.fsf@gitster.g>


* ob/t9001-indent-fix (2023-08-13) 1 commit
 - t9001: fix indentation in test_no_confirm()

 Test style fix.

 Will merge to 'next'.
 source: <20230813104649.2919412-1-oswald.buddenhagen@gmx.de>

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

* cc/git-replay (2023-06-03) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 No reviews?
 source: <20230602102533.876905-1-christian.couder@gmail.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* ab/tag-object-type-errors (2023-05-10) 4 commits
 . tag: don't emit potentially incorrect "object is a X, not a Y"
 . tag: don't misreport type of tagged objects in errors
 . object tests: add test for unexpected objects in tags
 . Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.

 Will discard.
 Stalled for too long.
 source: <cover-v2-0.3-00000000000-20221230T011725Z-avarab@gmail.com>

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

* sl/sparse-check-attr (2023-08-11) 3 commits
 - check-attr: integrate with sparse-index
 - attr.c: read attributes in a sparse directory
 - t1092: add tests for 'git check-attr'

 Teach "git check-attr" work better with sparse-index.

 Will merge to 'next'.
 cf. <3b2a5b4b-ab8f-746b-6b69-8e8262b6390b@github.com>
 Looking good.
 source: <20230811142211.4547-1-cheskaqiqi@gmail.com>


* ob/sequencer-rearrange-cleanup (2023-08-09) 1 commit
  (merged to 'next' on 2023-08-09 at df4360945c)
 + sequencer: simplify allocation of result array in todo_list_rearrange_squash()

 Code clean-up.

 Will cook in 'next'.
 source: <20230809171532.2564880-1-oswald.buddenhagen@gmx.de>


* tb/repack-geometry-cleanup (2023-08-09) 1 commit
  (merged to 'next' on 2023-08-13 at d79c778057)
 + repack: move `pack_geometry` struct to the stack

 Code clean-up.

 Will cook in 'next'.
 source: <2e2a760381be1f7cdae83e2f43b17d16aa8ab161.1691613149.git.me@ttaylorr.com>


* ws/git-push-doc-grammofix (2023-08-09) 1 commit
  (merged to 'next' on 2023-08-13 at f15e9bbe75)
 + git-push.txt: fix grammar

 Doc update.

 Will cook in 'next'.
 source: <20230810012105.1423462-1-wesleys@opperschaap.net>


* ws/svn-with-new-readline (2023-08-11) 1 commit
 - git-svn: avoid creating more than one than one Term::ReadLine object

 Adjust to newer Term::ReadLine to prevent it from breaking
 the interactive prompt code in git-svn.

 Not needed for correctness.
 source: <20230810011831.1423208-1-wesleys@opperschaap.net>


* ak/pretty-decorate-more (2023-08-10) 7 commits
 - pretty: add pointer and tag options to %(decorate)
 - pretty: add %(decorate[:<options>]) format
 - decorate: color each token separately
 - decorate: avoid some unnecessary color overhead
 - decorate: refactor format_decorations()
 - pretty-formats: enclose options in angle brackets
 - pretty-formats: define "literal formatting code"

 Teach "git log --format" a customizable %(decorate) placeholder.

 What's the status of this thing?
 source: <20230810211619.19055-1-andy.koppe@gmail.com>


* ds/upload-pack-error-sequence-fix (2023-08-10) 1 commit
  (merged to 'next' on 2023-08-13 at 6c740593cf)
 + upload-pack: fix race condition in error messages

 Error message generation fix.

 Will cook in 'next'.
 source: <pull.1572.git.1691678450757.gitgitgadget@gmail.com>


* mp/rebase-label-length-limit (2023-08-10) 2 commits
  (merged to 'next' on 2023-08-13 at 85536da9f7)
 + rebase: allow overriding the maximal length of the generated labels
 + sequencer: truncate labels to accommodate loose refs

 Chomp overly long label names used in the sequencer machinery.

 Will cook in 'next'.
 source: <pull.1562.git.git.1691685300.gitgitgadget@gmail.com>


* tb/commit-graph-verify-fix (2023-08-10) 4 commits
  (merged to 'next' on 2023-08-13 at ba45da55f5)
 + commit-graph: invert negated conditional
 + t/t5318-commit-graph.sh: test generation zero transitions during fsck
 + commit-graph: verify swapped zero/non-zero generation cases
 + commit-graph: introduce `commit_graph_generation_from_graph()`

 Update commit-graph verification code that detects mixture of zero
 and non-zero generation numbers.

 Will cook in 'next'.
 source: <cover.1691699851.git.me@ttaylorr.com>


* la/trailer-cleanups (2023-08-06) 5 commits
 - trailer: rename *_DEFAULT enums to *_UNSPECIFIED
 - trailer: teach find_patch_start about --no-divider
 - trailer: split process_command_line_args into separate functions
 - trailer: split process_input_file into separate pieces
 - trailer: separate public from internal portion of trailer_iterator

 Code clean-up.

 Expecting a reroll.
 cf. <owlyy1iifq0n.fsf@fine.c.googlers.com>
 source: <pull.1563.git.1691211879.gitgitgadget@gmail.com>


* la/trailer-test-and-doc-updates (2023-08-10) 14 commits
 - SQUASH???
 - trailer doc: <token> is a <key> or <keyAlias>, not both
 - trailer doc: separator within key suppresses default separator
 - trailer doc: emphasize the effect of configuration variables
 - trailer --unfold help: prefer "reformat" over "join"
 - trailer --parse docs: add explanation for its usefulness
 - trailer --only-input: prefer "configuration variables" over "rules"
 - trailer --parse help: expose aliased options
 - trailer --no-divider help: describe usual "---" meaning
 - trailer: trailer location is a place, not an action
 - trailer doc: narrow down scope of --where and related flags
 - trailer: add tests to check defaulting behavior with --no-* flags
 - trailer test description: this tests --where=after, not --where=before
 - trailer tests: make test cases self-contained

 Test coverage improvement for trailers.

 Expecting a reroll.
 cf. <owlyh6p5fpi7.fsf@fine.c.googlers.com>
 source: <pull.1564.v2.git.1691702283.gitgitgadget@gmail.com>


* ds/maintenance-schedule-fuzz (2023-08-10) 8 commits
 - maintenance: update schedule before config
 - maintenance: fix systemd schedule overlaps
 - maintenance: use random minute in systemd scheduler
 - maintenance: swap method locations
 - maintenance: use random minute in cron scheduler
 - maintenance: use random minute in Windows scheduler
 - maintenance: use random minute in launchctl scheduler
 - maintenance: add get_random_minute()

 Allow "git maintenance" schedule to be randomly distributed.

 Will merge to 'next'.
 source: <pull.1567.v2.git.1691699987.gitgitgadget@gmail.com>


* ob/send-email-interactive-failure (2023-08-09) 1 commit
 . send-email: prompt-dependent exit codes

 "git send-email" exits with non-zero status when end-user
 interaction causes any prepared message not to be sent.

 Expecting a reroll.
 Without an opt-in fix, this will be a backward-incompatible
 change that needs mention in the release notes.
 source: <20230809171531.2564739-1-oswald.buddenhagen@gmx.de>


* ob/sequencer-empty-hint-fix (2023-08-09) 1 commit
 . sequencer: rectify empty hint in call of require_clean_work_tree()

 Update the use of API for consistency between two calls to
 require_clean_work_tree() from the sequencer code.

 Expecting a reroll.
 cf. <xmqqedkahoio.fsf@gitster.g>
 source: <20230809171531.2564829-1-oswald.buddenhagen@gmx.de>


* rj/branch-in-use-error-message (2023-08-08) 2 commits
  (merged to 'next' on 2023-08-09 at 5510985b1c)
 + branch: error message checking out a branch in use
 + branch: error message deleting a branch in use

 A message written in olden time prevented a branch from getting
 checked out saying it is already checked out elsewhere, but these
 days, we treat a branch that is being bisected or rebased just like
 a branch that is checked out and protect it.  Rephrase the message
 to say that the branch is in use.

 Will cook in 'next'.
 source: <7710c002-0832-d8f6-59b8-30119bd5efe6@gmail.com>


* mh/credential-libsecret-attrs (2023-06-16) 1 commit
  (merged to 'next' on 2023-08-08 at dc73a2c55a)
 + credential/libsecret: store new attributes

 The way authentication related data other than passwords (e.g.
 oath token and password expiration data) are stored in libsecret
 keyrings has been rethought.

 Will cook in 'next'.
 Needs review.
 source: <pull.1469.v5.git.git.1686945306242.gitgitgadget@gmail.com>


* jc/rerere-cleanup (2023-08-03) 5 commits
 - rerere: plug small strbuf leak
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function
 (this branch uses jc/unresolve-removal.)

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* pw/rebase-i-after-failure (2023-08-01) 7 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase --continue: refuse to commit after failed command
 - rebase: fix rewritten list for failed pick
 - sequencer: factor out part of pick_commits()
 - sequencer: use rebase_path_message()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Expecting a reroll.
 The latter half of the series should be reviewed by those who have
 more stake in the sequencer code than myself.
 cf. <619e458b-218b-a790-dfb4-9200e201b513@gmail.com>
 source: <pull.1492.v3.git.1690903412.gitgitgadget@gmail.com>


* jc/unresolve-removal (2023-07-31) 7 commits
 - checkout: allow "checkout -m path" to unmerge removed paths
 - checkout/restore: add basic tests for --merge
 - checkout/restore: refuse unmerging paths unless checking out of the index
 - update-index: remove stale fallback code for "--unresolve"
 - update-index: use unmerge_index_entry() to support removal
 - resolve-undo: allow resurrecting conflicted state that resolved to deletion
 - update-index: do not read HEAD and MERGE_HEAD unconditionally
 (this branch is used by jc/rerere-cleanup.)

 "checkout --merge -- path" and "update-index --unresolve path" did
 not resurrect conflicted state that was resolved to remove path,
 but now they do.

 Needs review.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-08-01) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 cf. <xmqqtttia3vn.fsf@gitster.g>
 source: <48745298-f12b-8efb-4e48-90d2c22a8349@gmail.com>


* rs/parse-options-negation-help (2023-08-06) 8 commits
 - parse-options: simplify usage_padding()
 - parse-options: no --[no-]no-...
 - parse-options: factor out usage_indent() and usage_padding()
 - parse-options: show negatability of options in short help
 - t1502: test option negation
 - t1502: move optionspec help output to a file
 - t1502, docs: disallow --no-help
 - subtree: disallow --no-{help,quiet,debug,branch,message}

 "git cmd -h" learned to signal which options can be negated by
 listing such options like "--[no-]opt".

 Will merge to 'next'.
 cf. <xmqqbkfm3gne.fsf@gitster.g>
 source: <e4d46d97-1cd4-7fea-afd1-7de5023b1b09@web.de>


* mh/credential-erase-improvements-more (2023-07-26) 2 commits
  (merged to 'next' on 2023-08-08 at fd1ba4accf)
 + credential/wincred: erase matching creds only
 + credential/libsecret: erase matching creds only

 Update two credential helpers to correctly match which credential
 to erase; they dropped not the ones with stale password.

 Will cook in 'next'.
 Needs review.
 source: <pull.1527.v2.git.git.1690387585634.gitgitgadget@gmail.com>
 source: <pull.1529.git.git.1687596777147.gitgitgadget@gmail.com>


* cc/repack-sift-filtered-objects-to-separate-pack (2023-08-13) 8 commits
 . gc: add `gc.repackFilterTo` config option
 . repack: implement `--filter-to` for storing filtered out objects
 . gc: add `gc.repackFilter` config option
 . repack: add `--filter=<filter-spec>` option
 . repack: refactor finding pack prefix
 . repack: refactor finishing pack-objects command
 . t/helper: add 'find-pack' test-tool
 . pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 Kicked out of the 'seen', as it still seems to be failing tests.
 cf. https://github.com/git/git/actions/runs/5850998716/job/15861158252#step:4:1822
 source: <20230812000011.1227371-1-christian.couder@gmail.com>


* js/doc-unit-tests (2023-08-07) 1 commit
 - unit tests: add a project plan document

 Process to add some form of low-level unit tests has started.

 Comments?
 source: <c7dca1a805a16fd4fd68e86efeec97510e3ac4b8.1691449216.git.steadmon@google.com>


* jt/path-filter-fix (2023-08-08) 8 commits
  (merged to 'next' on 2023-08-09 at 59952b9ec9)
 + commit-graph: fix small leak with invalid changedPathsVersion
  (merged to 'next' on 2023-08-03 at d99958c287)
 + commit-graph: new filter ver. that fixes murmur3
 + repo-settings: introduce commitgraph.changedPathsVersion
 + t4216: test changed path filters with high bit paths
 + t/helper/test-read-graph: implement `bloom-filters` mode
 + bloom.h: make `load_bloom_filter_from_graph()` public
 + t/helper/test-read-graph.c: extract `dump_graph_info()`
 + gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Will cook in 'next'.
 cf. <ZMqp6K2iXixWH/zT@nand.local>
 source: <cover.1690912539.git.jonathantanmy@google.com>
 source: <20230808192240.GA4091261@coredump.intra.peff.net>


* ob/test-lib-rebase-fake-editor-updates (2023-08-10) 3 commits
  (merged to 'next' on 2023-08-13 at 16b87e890a)
 + t/lib-rebase: improve documentation of set_fake_editor()
 + t/lib-rebase: set_fake_editor(): handle FAKE_LINES more consistently
 + t/lib-rebase: set_fake_editor(): fix recognition of reset's short command

 Test updates.

 Will cook in 'next'.
 source: <20230807170935.2336663-1-oswald.buddenhagen@gmx.de>
 source: <20230809171531.2564785-1-oswald.buddenhagen@gmx.de>

^ permalink raw reply	[relevance 28%]

* What's cooking in git.git (Aug 2023, #04; Thu, 10)
@ 2023-08-11  3:51 28% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-08-11  3:51 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

Git 2.42-rc1 has been tagged.  From here on, the 'master' front is
expected to merge only fixes for new regressions that happened in
this cycle, while other topics will wait in 'next' or on the mailing
list for their turn after the release is done.

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']

* bc/ident-dot-is-no-longer-crud-letter (2023-08-02) 1 commit
  (merged to 'next' on 2023-08-03 at e786442a9b)
 + ident: don't consider '.' a crud

 Exclude "." from the set of characters to be removed from the
 beginning and the end of the human-readable name.
 source: <xmqqsf918k4j.fsf@gitster.g>


* bc/ignore-clangd-cache (2023-08-04) 1 commit
  (merged to 'next' on 2023-08-04 at 5cf8d41911)
 + gitignore: ignore clangd .cache directory

 .gitignore update.
 source: <20230804171328.1737188-1-sandals@crustytoothpaste.net>


* ew/hash-with-openssl-evp (2023-08-01) 2 commits
  (merged to 'next' on 2023-08-02 at 996db74865)
 + avoid SHA-1 functions deprecated in OpenSSL 3+
 + sha256: avoid functions deprecated in OpenSSL 3+

 Adjust to OpenSSL 3+, which deprecates its SHA-1 functions based on
 its traditional API, by using its EVP API instead.
 source: <20230801025454.1137802-1-e@80x24.org>


* ma/locate-in-path-for-windows (2023-08-04) 3 commits
  (merged to 'next' on 2023-08-06 at 02bc13f4a3)
 + docs: update when `git bisect visualize` uses `gitk`
 + compat/mingw: implement a native locate_in_PATH()
 + run-command: conditionally define locate_in_PATH()

 "git bisect visualize" stopped running "gitk" on Git for Windows
 when the command was reimplemented in C around Git 2.34 timeframe.
 This has been corrected.
 source: <pull.1560.v2.git.1691122124.gitgitgadget@gmail.com>


* pw/rebase-skip-commit-message-fix (2023-08-03) 1 commit
  (merged to 'next' on 2023-08-06 at 1e44443e65)
 + rebase --skip: fix commit message clean up when skipping squash

 "git rebase -i" with a series of squash/fixup, when one of the
 steps stopped in conflicts and ended up getting skipped, did not
 handle the accumulated commit log messages, which has been
 corrected.
 source: <pull.1558.git.git.1691068176051.gitgitgadget@gmail.com>

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

* ds/maintenance-on-windows-fix (2023-08-09) 2 commits
  (merged to 'next' on 2023-08-09 at 3d7abef9be)
 + git maintenance: avoid console window in scheduled tasks on Windows
 + win32: add a helper to run `git.exe` without a foreground window

 Windows updates.

 Will merge to 'master'.
 source: <pull.1570.git.1691600087.gitgitgadget@gmail.com>


* jc/send-email-pre-process-fix (2023-08-09) 1 commit
  (merged to 'next' on 2023-08-09 at ba1b999ec2)
 + t9001: remove excessive GIT_SEND_EMAIL_NOTTY=1

 Test fix.

 Will merge to 'master'.
 source: <20230809171531.2564754-1-oswald.buddenhagen@gmx.de>


* ob/sequencer-rearrange-cleanup (2023-08-09) 1 commit
  (merged to 'next' on 2023-08-09 at df4360945c)
 + sequencer: simplify allocation of result array in todo_list_rearrange_squash()

 Code clean-up.

 Will cook in 'next'.
 source: <20230809171532.2564880-1-oswald.buddenhagen@gmx.de>


* st/mv-lstat-fix (2023-08-09) 1 commit
  (merged to 'next' on 2023-08-09 at 4b5708df7c)
 + mv: handle lstat() failure correctly

 Correct use of lstat() that assumed a failing call would not
 clobber the statbuf.

 Will merge to 'master'.
 source: <pull.1561.v2.git.1691567261701.gitgitgadget@gmail.com>


* tb/repack-geometry-cleanup (2023-08-09) 1 commit
 - repack: move `pack_geometry` struct to the stack
 (this branch uses jk/repack-leakfix.)

 Code clean-up.

 Will merge to 'next'.
 source: <cover.1691613149.git.me@ttaylorr.com>


* ws/git-push-doc-grammofix (2023-08-09) 1 commit
 - git-push.txt: fix grammar

 Doc update.

 Will merge to 'next'.
 source: <20230810012105.1423462-1-wesleys@opperschaap.net>


* ws/svn-with-new-readline (2023-08-09) 1 commit
 - git-svn: avoid creating more than one than one Term::ReadLine object
 (this branch uses jk/send-email-with-new-readline.)

 Adjust to newer Term::ReadLine to prevent it from breaking
 the interactive prompt code in git-svn.

 Will merge to 'next' and then to 'master'.
 source: <20230810011831.1423208-1-wesleys@opperschaap.net>


* ak/pretty-decorate-more (2023-08-10) 7 commits
 - pretty: add pointer and tag options to %(decorate)
 - pretty: add %(decorate[:<options>]) format
 - decorate: color each token separately
 - decorate: avoid some unnecessary color overhead
 - decorate: refactor format_decorations()
 - pretty-formats: enclose options in angle brackets
 - pretty-formats: define "literal formatting code"

 Teach "git log --format" a customizable %(decorate) placeholder.

 Needs review.
 source: <20230715160730.4046-1-andy.koppe@gmail.com>


* ds/upload-pack-error-sequence-fix (2023-08-10) 1 commit
 - upload-pack: fix race condition in error messages

 Error message generation fix.

 Will merge to 'next'.
 source: <pull.1572.git.1691678450757.gitgitgadget@gmail.com>


* mp/rebase-label-length-limit (2023-08-10) 2 commits
 - rebase: allow overriding the maximal length of the generated labels
 - sequencer: truncate labels to accommodate loose refs

 Chomp overly long label names used in the sequencer machinery.

 Will merge to 'next'.
 source: <pull.1562.git.git.1691685300.gitgitgadget@gmail.com>


* pw/diff-no-index-from-named-pipes (2023-08-10) 1 commit
 - t4053: avoid race when killing background processes

 Test updates.

 Will merge to 'next'?
 source: <pull.1571.git.1691677993195.gitgitgadget@gmail.com>


* tb/commit-graph-verify-fix (2023-08-10) 4 commits
 - commit-graph: invert negated conditional
 - t/t5318-commit-graph.sh: test generation zero transitions during fsck
 - commit-graph: verify swapped zero/non-zero generation cases
 - commit-graph: introduce `commit_graph_generation_from_graph()`

 Update commit-graph verification code that detects mixture of zero
 and non-zero generation numbers.

 Will merge to 'next'.
 source: <cover.1691699851.git.me@ttaylorr.com>

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

* sl/sparse-check-attr (2023-07-18) 3 commits
 - check-attr: integrate with sparse-index
 - attr.c: read attributes in a sparse directory
 - t1092: add tests for 'git check-attr'

 Teach "git check-attr" work better with sparse-index.

 Expecting a reroll.
 cf. <c3ebe3b4-88b9-8ca2-2ee3-39a3e0d82201@github.com>
 cf. <5e478d8b-9ef4-864b-41e4-e0a79877d278@github.com>
 source: <20230718232916.31660-1-cheskaqiqi@gmail.com>


* cc/git-replay (2023-06-03) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 No reviews?
 source: <20230602102533.876905-1-christian.couder@gmail.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* ab/tag-object-type-errors (2023-05-10) 4 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.

 Will discard.
 Stalled for too long.
 source: <cover-v2-0.3-00000000000-20221230T011725Z-avarab@gmail.com>

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

* la/trailer-cleanups (2023-08-06) 5 commits
 - trailer: rename *_DEFAULT enums to *_UNSPECIFIED
 - trailer: teach find_patch_start about --no-divider
 - trailer: split process_command_line_args into separate functions
 - trailer: split process_input_file into separate pieces
 - trailer: separate public from internal portion of trailer_iterator

 Code clean-up.

 Needs review.
 source: <pull.1563.git.1691211879.gitgitgadget@gmail.com>


* la/trailer-test-and-doc-updates (2023-08-10) 14 commits
 - SQUASH???
 - trailer doc: <token> is a <key> or <keyAlias>, not both
 - trailer doc: separator within key suppresses default separator
 - trailer doc: emphasize the effect of configuration variables
 - trailer --unfold help: prefer "reformat" over "join"
 - trailer --parse docs: add explanation for its usefulness
 - trailer --only-input: prefer "configuration variables" over "rules"
 - trailer --parse help: expose aliased options
 - trailer --no-divider help: describe usual "---" meaning
 - trailer: trailer location is a place, not an action
 - trailer doc: narrow down scope of --where and related flags
 - trailer: add tests to check defaulting behavior with --no-* flags
 - trailer test description: this tests --where=after, not --where=before
 - trailer tests: make test cases self-contained

 Test coverage improvement for trailers.

 Needs review.
 source: <pull.1564.v2.git.1691702283.gitgitgadget@gmail.com>


* jk/repack-leakfix (2023-08-08) 1 commit
  (merged to 'next' on 2023-08-09 at 8692d7b2e0)
 + repack: free geometry struct
 (this branch is used by tb/repack-geometry-cleanup.)

 Leakfix.

 Will merge to 'master'.
 source: <20230808185023.GA3498623@coredump.intra.peff.net>


* jk/send-email-with-new-readline (2023-08-08) 2 commits
  (merged to 'next' on 2023-08-09 at d42e4ca9f8)
 + send-email: avoid creating more than one Term::ReadLine object
 + send-email: drop FakeTerm hack
 (this branch is used by ws/svn-with-new-readline.)

 Adjust to newer Term::ReadLine to prevent it from breaking
 the interactive prompt code in send-email.

 Will merge to 'master'.
 source: <20230808180935.GA2096901@coredump.intra.peff.net>


* js/allow-t4000-to-be-indented-with-spaces (2023-08-08) 1 commit
  (merged to 'next' on 2023-08-09 at 9c0d6659ec)
 + t0040: declare non-tab indentation to be okay in this script

 File attribute update.

 Will merge to 'master'.
 source: <pull.1568.git.1691491054706.gitgitgadget@gmail.com>


* ob/rebase-conflict-advice-i18n-fix (2023-08-07) 1 commit
  (merged to 'next' on 2023-08-09 at 0e02113510)
 + advice: handle "rebase" in error_resolve_conflict()

 i18n coverage improvement and avoidance of sentence lego.

 Will merge to 'master'.
 source: <20230807170935.2336715-1-oswald.buddenhagen@gmx.de>


* rs/parse-opt-forbid-set-int-0-without-noneg (2023-08-08) 1 commit
  (merged to 'next' on 2023-08-09 at fab1193dbc)
 + parse-options: disallow negating OPTION_SET_INT 0

 Developer support to detect meaningless combination of options.

 Will merge to 'master'.
 source: <c4cd1591-3a83-920a-6a80-19ffbfe3089d@web.de>


* ds/maintenance-schedule-fuzz (2023-08-10) 8 commits
 - maintenance: update schedule before config
 - maintenance: fix systemd schedule overlaps
 - maintenance: use random minute in systemd scheduler
 - maintenance: swap method locations
 - maintenance: use random minute in cron scheduler
 - maintenance: use random minute in Windows scheduler
 - maintenance: use random minute in launchctl scheduler
 - maintenance: add get_random_minute()

 Allow "git maintenance" schedule to be randomly distributed.

 Looking good.
 source: <pull.1567.v2.git.1691699987.gitgitgadget@gmail.com>


* ob/send-email-interactive-failure (2023-08-09) 1 commit
 . send-email: prompt-dependent exit codes

 "git send-email" exits with non-zero status when end-user
 interaction causes any prepared message not to be sent.

 Expecting a reroll.
 Without an opt-in fix, this will be a backward-incompatible
 change that needs mention in the release notes.
 source: <20230809171531.2564739-1-oswald.buddenhagen@gmx.de>


* ob/sequencer-empty-hint-fix (2023-08-09) 1 commit
 . sequencer: rectify empty hint in call of require_clean_work_tree()

 Update the use of API for consistency between two calls to
 require_clean_work_tree() from the sequencer code.

 source: <20230809171531.2564829-1-oswald.buddenhagen@gmx.de>


* rj/branch-in-use-error-message (2023-08-08) 2 commits
  (merged to 'next' on 2023-08-09 at 5510985b1c)
 + branch: error message checking out a branch in use
 + branch: error message deleting a branch in use

 A message written in olden time prevented a branch from getting
 checked out saying it is already checked out elsewhere, but these
 days, we treat a branch that is being bisected or rebased just like
 a branch that is checked out and protect it.  Rephrase the message
 to say that the branch is in use.

 Will cook in 'next'.
 source: <7710c002-0832-d8f6-59b8-30119bd5efe6@gmail.com>


* mh/credential-libsecret-attrs (2023-06-16) 1 commit
  (merged to 'next' on 2023-08-08 at dc73a2c55a)
 + credential/libsecret: store new attributes

 The way authentication related data other than passwords (e.g.
 oath token and password expiration data) are stored in libsecret
 keyrings has been rethought.

 Will cook in 'next'.
 Needs review.
 source: <pull.1469.v5.git.git.1686945306242.gitgitgadget@gmail.com>


* jc/rerere-cleanup (2023-08-03) 5 commits
 - rerere: plug small strbuf leak
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function
 (this branch uses jc/unresolve-removal.)

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* pw/rebase-i-after-failure (2023-08-01) 7 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase --continue: refuse to commit after failed command
 - rebase: fix rewritten list for failed pick
 - sequencer: factor out part of pick_commits()
 - sequencer: use rebase_path_message()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Expecting a reroll.
 The latter half of the series should be reviewed by those who have
 more stake in the sequencer code than myself.
 cf. <619e458b-218b-a790-dfb4-9200e201b513@gmail.com>
 source: <pull.1492.v3.git.1690903412.gitgitgadget@gmail.com>


* jc/unresolve-removal (2023-07-31) 7 commits
 - checkout: allow "checkout -m path" to unmerge removed paths
 - checkout/restore: add basic tests for --merge
 - checkout/restore: refuse unmerging paths unless checking out of the index
 - update-index: remove stale fallback code for "--unresolve"
 - update-index: use unmerge_index_entry() to support removal
 - resolve-undo: allow resurrecting conflicted state that resolved to deletion
 - update-index: do not read HEAD and MERGE_HEAD unconditionally
 (this branch is used by jc/rerere-cleanup.)

 "checkout --merge -- path" and "update-index --unresolve path" did
 not resurrect conflicted state that was resolved to remove path,
 but now they do.

 Needs review.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* rj/status-bisect-while-rebase (2023-08-01) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 source: <48745298-f12b-8efb-4e48-90d2c22a8349@gmail.com>


* rs/parse-options-negation-help (2023-08-06) 8 commits
 - parse-options: simplify usage_padding()
 - parse-options: no --[no-]no-...
 - parse-options: factor out usage_indent() and usage_padding()
 - parse-options: show negatability of options in short help
 - t1502: test option negation
 - t1502: move optionspec help output to a file
 - t1502, docs: disallow --no-help
 - subtree: disallow --no-{help,quiet,debug,branch,message}

 "git cmd -h" learned to signal which options can be negated by
 listing such options like "--[no-]opt".

 Comments?
 source: <e4d46d97-1cd4-7fea-afd1-7de5023b1b09@web.de>


* mh/credential-erase-improvements-more (2023-07-26) 2 commits
  (merged to 'next' on 2023-08-08 at fd1ba4accf)
 + credential/wincred: erase matching creds only
 + credential/libsecret: erase matching creds only

 Update two credential helpers to correctly match which credential
 to erase; they dropped not the ones with stale password.

 Will cook in 'next'.
 Needs review.
 source: <pull.1527.v2.git.git.1690387585634.gitgitgadget@gmail.com>
 source: <pull.1529.git.git.1687596777147.gitgitgadget@gmail.com>


* cc/repack-sift-filtered-objects-to-separate-pack (2023-08-09) 9 commits
 - SQUASH???
 - gc: add `gc.repackFilterTo` config option
 - repack: implement `--filter-to` for storing filtered out objects
 - gc: add `gc.repackFilter` config option
 - repack: add `--filter=<filter-spec>` option
 - repack: refactor finding pack prefix
 - repack: refactor finishing pack-objects command
 - t/helper: add 'find-pack' test-tool
 - pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 cf. https://github.com/git/git/actions/runs/5812873987
 source: <20230808082608.582319-1-christian.couder@gmail.com>


* js/doc-unit-tests (2023-08-07) 1 commit
 - unit tests: add a project plan document

 Process to add some form of low-level unit tests has started.

 Comments?
 source: <c7dca1a805a16fd4fd68e86efeec97510e3ac4b8.1691449216.git.steadmon@google.com>


* jt/path-filter-fix (2023-08-08) 8 commits
  (merged to 'next' on 2023-08-09 at 59952b9ec9)
 + commit-graph: fix small leak with invalid changedPathsVersion
  (merged to 'next' on 2023-08-03 at d99958c287)
 + commit-graph: new filter ver. that fixes murmur3
 + repo-settings: introduce commitgraph.changedPathsVersion
 + t4216: test changed path filters with high bit paths
 + t/helper/test-read-graph: implement `bloom-filters` mode
 + bloom.h: make `load_bloom_filter_from_graph()` public
 + t/helper/test-read-graph.c: extract `dump_graph_info()`
 + gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Will cook in 'next'.
 cf. <ZMqp6K2iXixWH/zT@nand.local>
 source: <cover.1690912539.git.jonathantanmy@google.com>
 source: <20230808192240.GA4091261@coredump.intra.peff.net>


* ob/test-lib-rebase-fake-editor-updates (2023-08-10) 3 commits
 - t/lib-rebase: improve documentation of set_fake_editor()
 - t/lib-rebase: set_fake_editor(): handle FAKE_LINES more consistently
 - t/lib-rebase: set_fake_editor(): fix recognition of reset's short command

 Test updates.

 Will merge to 'next'.
 source: <20230807170935.2336663-1-oswald.buddenhagen@gmx.de>
 source: <20230809171531.2564785-1-oswald.buddenhagen@gmx.de>

^ permalink raw reply	[relevance 28%]

* What's cooking in git.git (Aug 2023, #03; Tue, 8)
@ 2023-08-09  2:42 32% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-08-09  2:42 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

There are some last-minute fixes that update or add messages that
are marked for i18n, and they may have to be fast-tracked to -rc1,
which we may want to delay by one day for that reason.

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']

* am/doc-sha256 (2023-07-31) 1 commit
  (merged to 'next' on 2023-08-01 at d7419bf527)
 + doc: sha256 is no longer experimental

 Tone down the warning on SHA-256 repositories being an experimental
 curiosity.  We do not have support for them to interoperate with
 traditional SHA-1 repositories, but at this point, we do not plan
 to make breaking changes to SHA-256 repositories and there is no
 longer need for such a strongly phrased warning.
 source: <ZMe6KmzZGVubYpvO@adams>


* ew/sha256-gcrypt-leak-fixes (2023-07-31) 3 commits
  (merged to 'next' on 2023-08-01 at eed83801c3)
 + sha256/gcrypt: die on gcry_md_open failures
 + sha256/gcrypt: fix memory leak with SHA-256 repos
 + sha256/gcrypt: fix build with SANITIZE=leak

 Leakfixes.
 source: <20230731120808.1230210-1-e@80x24.org>


* rs/bundle-parseopt-cleanup (2023-07-31) 1 commit
  (merged to 'next' on 2023-08-01 at 405eb138fa)
 + bundle: use OPT_PASSTHRU_ARGV

 Code clean-up.
 source: <2dcb915f-b926-e024-6394-23aff200955c@web.de>


* tb/commit-graph-tests (2023-07-24) 5 commits
  (merged to 'next' on 2023-07-31 at 740a260315)
 + t/lib-commit-graph.sh: avoid sub-shell in `graph_git_behavior()`
 + t5328: avoid top-level directory changes
 + t5318: avoid top-level directory changes
 + t/lib-commit-graph.sh: avoid directory change in `graph_git_behavior()`
 + t/lib-commit-graph.sh: allow `graph_read_expect()` in sub-directories

 Test updates.
 source: <cover.1690216758.git.me@ttaylorr.com>

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

* la/trailer-cleanups (2023-08-06) 5 commits
 - trailer: rename *_DEFAULT enums to *_UNSPECIFIED
 - trailer: teach find_patch_start about --no-divider
 - trailer: split process_command_line_args into separate functions
 - trailer: split process_input_file into separate pieces
 - trailer: separate public from internal portion of trailer_iterator

 Code clean-up.

 Needs review.
 source: <pull.1563.git.1691211879.gitgitgadget@gmail.com>


* la/trailer-test-and-doc-updates (2023-08-06) 5 commits
 - trailer --no-divider help: describe usual "---" meaning
 - trailer: trailer location is a place, not an action
 - trailer: add tests to check defaulting behavior with --no-* flags
 - trailer test description: this tests --where=after, not --where=before
 - trailer tests: make test cases self-contained

 Test coverage improvement for trailers.

 Needs review.
 source: <pull.1564.git.1691210737.gitgitgadget@gmail.com>


* jk/repack-leakfix (2023-08-08) 1 commit
 - repack: free geometry struct

 Leakfix.

 Will merge to 'next'.
 source: <20230808185023.GA3498623@coredump.intra.peff.net>


* jk/send-email-with-new-readline (2023-08-08) 2 commits
 - send-email: avoid creating more than one Term::ReadLine object
 - send-email: drop FakeTerm hack

 Adjust to newer Term::ReadLine to prevent it from breaking
 the interactive prompt code in send-email.

 Will merge to 'next'.
 source: <20230808180935.GA2096901@coredump.intra.peff.net>


* js/allow-t4000-to-be-indented-with-spaces (2023-08-08) 1 commit
 - t0040: declare non-tab indentation to be okay in this script

 File attribute update.

 Will merge to 'next'.
 source: <pull.1568.git.1691491054706.gitgitgadget@gmail.com>


* ob/rebase-conflict-advice-i18n-fix (2023-08-07) 1 commit
 - advice: handle "rebase" in error_resolve_conflict()

 i18n coverage improvement and avoidance of sentence lego.

 Will merge to 'next'.
 source: <20230807170935.2336715-1-oswald.buddenhagen@gmx.de>


* rs/parse-opt-forbid-set-int-0-without-noneg (2023-08-08) 1 commit
 - parse-options: disallow negating OPTION_SET_INT 0

 Developer support to detect meaningless combination of options.

 Will merge to 'next'.
 source: <c4cd1591-3a83-920a-6a80-19ffbfe3089d@web.de>


* ds/maintenance-schedule-fuzz (2023-08-07) 6 commits
 - maintenance: use random minute in systemd scheduler
 - maintenance: swap method locations
 - maintenance: use random minute in cron scheduler
 - maintenance: use random minute in Windows scheduler
 - maintenance: use random minute in launchctl scheduler
 - maintenance: add get_random_minute()

 Allow "git maintenance" schedule to be randomly distributed.

 Still under discussion.
 Expecting a reroll.
 source: <pull.1567.git.1691434300.gitgitgadget@gmail.com>


* ob/send-email-interactive-failure (2023-08-07) 1 commit
 - send-email: prompt-dependent exit codes

 "git send-email" exits with non-zero status when end-user
 interaction causes any prepared message not to be sent.

 Expecting a reroll.
 Without an opt-in fix, this will be a backward-incompatible
 change that needs mention in the release notes.
 source: <20230807165850.2335067-1-oswald.buddenhagen@gmx.de>


* ob/sequencer-empty-hint-fix (2023-08-07) 1 commit
 - sequencer: rectify empty hint in call of require_clean_work_tree()

 Under some unspecified condition, a code that calls into the
 sequencer can produce an extra "error:" output that has no
 meaningful message on it.

 Expecting a reroll.
 cf. <xmqqcyzx6ma1.fsf@gitster.g>
 source: <20230807170935.2336730-1-oswald.buddenhagen@gmx.de>


* ob/test-lib-rebase-fake-editor-updates (2023-08-07) 3 commits
 - t/lib-rebase: improve documentation of set_fake_editor()
 - t/lib-rebase: set_fake_editor(): handle FAKE_LINES more consistently
 - t/lib-rebase: set_fake_editor(): fix recognition of reset's short command

 Test updates.

 Will merge to 'next'.
 source: <20230807170935.2336663-1-oswald.buddenhagen@gmx.de>


* rj/branch-in-use-error-message (2023-08-08) 2 commits
 - branch: error message checking out a branch in use
 - branch: error message deleting a branch in use

 A message written in olden time prevented a branch from getting
 checked out saying it is already checked out elsewhere, but these
 days, we treat a branch that is being bisected or rebased just like
 a branch that is checked out and protect it.  Rephrase the message
 to say that the branch is in use.

 Will merge to 'next'.
 source: <7710c002-0832-d8f6-59b8-30119bd5efe6@gmail.com>

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

* sl/sparse-check-attr (2023-07-18) 3 commits
 - check-attr: integrate with sparse-index
 - attr.c: read attributes in a sparse directory
 - t1092: add tests for 'git check-attr'

 Teach "git check-attr" work better with sparse-index.

 Expecting a reroll.
 cf. <c3ebe3b4-88b9-8ca2-2ee3-39a3e0d82201@github.com>
 cf. <5e478d8b-9ef4-864b-41e4-e0a79877d278@github.com>
 source: <20230718232916.31660-1-cheskaqiqi@gmail.com>


* cc/git-replay (2023-06-03) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 No reviews?
 source: <20230602102533.876905-1-christian.couder@gmail.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* ab/tag-object-type-errors (2023-05-10) 4 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.

 Will discard.
 Stalled for too long.
 source: <cover-v2-0.3-00000000000-20221230T011725Z-avarab@gmail.com>

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

* mh/credential-libsecret-attrs (2023-06-16) 1 commit
  (merged to 'next' on 2023-08-08 at dc73a2c55a)
 + credential/libsecret: store new attributes

 The way authentication related data other than passwords (e.g.
 oath token and password expiration data) are stored in libsecret
 keyrings has been rethought.

 Will cook in 'next'.
 Needs review.
 source: <pull.1469.v5.git.git.1686945306242.gitgitgadget@gmail.com>


* jc/rerere-cleanup (2023-08-03) 5 commits
 - rerere: plug small strbuf leak
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function
 (this branch uses jc/unresolve-removal.)

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* ma/locate-in-path-for-windows (2023-08-04) 3 commits
  (merged to 'next' on 2023-08-06 at 02bc13f4a3)
 + docs: update when `git bisect visualize` uses `gitk`
 + compat/mingw: implement a native locate_in_PATH()
 + run-command: conditionally define locate_in_PATH()

 "git bisect visualize" stopped running "gitk" on Git for Windows
 when the command was reimplemented in C around Git 2.34 timeframe.
 This has been corrected.

 Will merge to 'master'.
 source: <pull.1560.v2.git.1691122124.gitgitgadget@gmail.com>


* pw/rebase-skip-commit-message-fix (2023-08-03) 1 commit
  (merged to 'next' on 2023-08-06 at 1e44443e65)
 + rebase --skip: fix commit message clean up when skipping squash

 "git rebase -i" with a series of squash/fixup, when one of the
 steps stopped in conflicts and ended up getting skipped, did not
 handle the accumulated commit log messages, which has been
 corrected.

 Will merge to 'master'.
 source: <pull.1558.git.git.1691068176051.gitgitgadget@gmail.com>


* bc/ignore-clangd-cache (2023-08-04) 1 commit
  (merged to 'next' on 2023-08-04 at 5cf8d41911)
 + gitignore: ignore clangd .cache directory

 .gitignore update.

 Will merge to 'master'.
 source: <20230804171328.1737188-1-sandals@crustytoothpaste.net>


* pw/rebase-i-after-failure (2023-08-01) 7 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase --continue: refuse to commit after failed command
 - rebase: fix rewritten list for failed pick
 - sequencer: factor out part of pick_commits()
 - sequencer: use rebase_path_message()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Expecting a reroll.
 The latter half of the series should be reviewed by those who have
 more stake in the sequencer code than myself.
 cf. <619e458b-218b-a790-dfb4-9200e201b513@gmail.com>
 source: <pull.1492.v3.git.1690903412.gitgitgadget@gmail.com>


* bc/ident-dot-is-no-longer-crud-letter (2023-08-02) 1 commit
  (merged to 'next' on 2023-08-03 at e786442a9b)
 + ident: don't consider '.' a crud

 Exclude "." from the set of characters to be removed from the
 beginning and the end of the human-readable name.

 Will merge to 'master'.
 source: <xmqqsf918k4j.fsf@gitster.g>


* jc/unresolve-removal (2023-07-31) 7 commits
 - checkout: allow "checkout -m path" to unmerge removed paths
 - checkout/restore: add basic tests for --merge
 - checkout/restore: refuse unmerging paths unless checking out of the index
 - update-index: remove stale fallback code for "--unresolve"
 - update-index: use unmerge_index_entry() to support removal
 - resolve-undo: allow resurrecting conflicted state that resolved to deletion
 - update-index: do not read HEAD and MERGE_HEAD unconditionally
 (this branch is used by jc/rerere-cleanup.)

 "checkout --merge -- path" and "update-index --unresolve path" did
 not resurrect conflicted state that was resolved to remove path,
 but now they do.

 Needs review.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* ew/hash-with-openssl-evp (2023-08-01) 2 commits
  (merged to 'next' on 2023-08-02 at 996db74865)
 + avoid SHA-1 functions deprecated in OpenSSL 3+
 + sha256: avoid functions deprecated in OpenSSL 3+

 Adjust to OpenSSL 3+, which deprecates its SHA-1 functions based on
 its traditional API, by using its EVP API instead.

 Will merge to 'master'.
 source: <20230801025454.1137802-1-e@80x24.org>


* rj/status-bisect-while-rebase (2023-08-01) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 source: <48745298-f12b-8efb-4e48-90d2c22a8349@gmail.com>


* rs/parse-options-negation-help (2023-08-06) 8 commits
 - parse-options: simplify usage_padding()
 - parse-options: no --[no-]no-...
 - parse-options: factor out usage_indent() and usage_padding()
 - parse-options: show negatability of options in short help
 - t1502: test option negation
 - t1502: move optionspec help output to a file
 - t1502, docs: disallow --no-help
 - subtree: disallow --no-{help,quiet,debug,branch,message}

 "git cmd -h" learned to signal which options can be negated by
 listing such options like "--[no-]opt".

 Comments?
 source: <e4d46d97-1cd4-7fea-afd1-7de5023b1b09@web.de>


* mh/credential-erase-improvements-more (2023-07-26) 2 commits
  (merged to 'next' on 2023-08-08 at fd1ba4accf)
 + credential/wincred: erase matching creds only
 + credential/libsecret: erase matching creds only

 Update two credential helpers to correctly match which credential
 to erase; they dropped not the ones with stale password.

 Will cook in 'next'.
 Needs review.
 source: <pull.1527.v2.git.git.1690387585634.gitgitgadget@gmail.com>
 source: <pull.1529.git.git.1687596777147.gitgitgadget@gmail.com>


* cc/repack-sift-filtered-objects-to-separate-pack (2023-08-08) 8 commits
 . gc: add `gc.repackFilterTo` config option
 . repack: implement `--filter-to` for storing filtered out objects
 . gc: add `gc.repackFilter` config option
 . repack: add `--filter=<filter-spec>` option
 . repack: refactor finding pack prefix
 . repack: refactor finishing pack-objects command
 . t/helper: add 'find-pack' test-tool
 . pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 Comments?
 source: <20230808082608.582319-1-christian.couder@gmail.com>


* js/doc-unit-tests (2023-08-07) 1 commit
 - unit tests: add a project plan document

 Process to add some form of low-level unit tests has started.

 Comments?
 source: <c7dca1a805a16fd4fd68e86efeec97510e3ac4b8.1691449216.git.steadmon@google.com>


* jt/path-filter-fix (2023-08-08) 8 commits
 - commit-graph: fix small leak with invalid changedPathsVersion
  (merged to 'next' on 2023-08-03 at d99958c287)
 + commit-graph: new filter ver. that fixes murmur3
 + repo-settings: introduce commitgraph.changedPathsVersion
 + t4216: test changed path filters with high bit paths
 + t/helper/test-read-graph: implement `bloom-filters` mode
 + bloom.h: make `load_bloom_filter_from_graph()` public
 + t/helper/test-read-graph.c: extract `dump_graph_info()`
 + gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Will cook in 'next'.
 cf. <ZMqp6K2iXixWH/zT@nand.local>
 source: <cover.1690912539.git.jonathantanmy@google.com>
 source: <20230808192240.GA4091261@coredump.intra.peff.net>

^ permalink raw reply	[relevance 32%]

* Re: What's cooking in git.git (Aug 2023, #01; Wed, 2)
  @ 2023-08-07 16:19 99%     ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-08-07 16:19 UTC (permalink / raw)
  To: Christian Couder; +Cc: Elijah Newren, Johannes Schindelin, John Cai, git

Christian Couder <christian.couder@gmail.com> writes:

> (Sorry I somehow forgot to put the mailing list in Cc: of this.)

This seems to be a response to an older issue of the report, but I
take it that the status of these two topics haven't changed since
then.

>> > * cc/repack-sift-filtered-objects-to-separate-pack (2023-07-24) 8 commits
>> > ...
>> >  Breaks CI with some environment variables configured.
>> >  cf. <xmqqo7jzh9mh.fsf@gitster.g>
>> >  source: <20230724085909.3831831-1-christian.couder@gmail.com>
>>
>> I am working on this and hope to send a version 4 soon.

Sounds good.  Thanks.

>> > * cc/git-replay (2023-06-03) 15 commits
>> > ...
>> >
>> >  What's the status of this thing?
>> >  source: <20230602102533.876905-1-christian.couder@gmail.com>
>>
>> I have a 2 week long vacation starting soon, so I will likely not have
>> time to work on a new round in the next 3 weeks.

OK.  Enjoy.

>> However in a recent article
>> (https://github.blog/2023-07-27-scaling-merge-ort-across-github/)
>> GitHub says that they are already using git-replay (though not sure
>> it's this exact version or another one), and GitLab plans to use it
>> too.

So there are plenty folks who are capable of reviewing but they are
not interested in giving it to the general public by withholding
their reviews ;-)?



^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Aug 2023, #02; Fri, 4)
@ 2023-08-04 21:10 32% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-08-04 21:10 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

Git 2.42-rc0 has been tagged.  Hopefully people can help find and
fix plenty of regressions before we tag -rc1 mid next week ;-)

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']

* hy/blame-in-bare-with-contents (2023-07-21) 1 commit
  (merged to 'next' on 2023-07-31 at 39ac96d8d8)
 + blame: allow --contents to work with bare repo

 "git blame --contents=file" has been taught to work in a bare
 repository.
 source: <20230721035758.61956-1-hanyang.tony@bytedance.com>


* ja/worktree-orphan-fix (2023-07-26) 3 commits
  (merged to 'next' on 2023-07-27 at e475016065)
 + t2400: rewrite regex to avoid unintentional PCRE
 + builtin/worktree.c: convert tab in advice to space
 + t2400: drop no-op `--sq` from rev-parse call

 Fix tests with unportable regex patterns.
 source: <20230726214202.15775-1-jacobabel@nullpo.dev>


* jc/branch-in-use-error-message (2023-07-21) 1 commit
  (merged to 'next' on 2023-07-31 at 22f17d131b)
 + branch: update the message to refuse touching a branch in-use

 "git branch -f X" to repoint the branch X said that X was "checked
 out" in another worktree, even when branch X was not and instead
 being bisected or rebased.  The message was reworded to say the
 branch was "in use".
 source: <xmqqr0p1szhz.fsf_-_@gitster.g>


* jc/doc-sent-patch-now-what (2023-07-27) 1 commit
  (merged to 'next' on 2023-07-31 at 51f5d9d465)
 + MyFirstContribution: refrain from self-iterating too much

 Process document update.
 source: <xmqqmszg987u.fsf_-_@gitster.g>


* jc/parse-options-short-help (2023-07-19) 3 commits
  (merged to 'next' on 2023-07-31 at e076d1f497)
 + short help: allow a gap smaller than USAGE_GAP
 + remote: simplify "remote add --tags" help text
 + short help: allow multi-line opthelp

 Command line parser fix, and a small parse-options API update.
 source: <xmqq5y6gg8fn.fsf@gitster.g>


* jc/retire-get-sha1-hex (2023-07-24) 1 commit
  (merged to 'next' on 2023-07-27 at eeb9cc37f5)
 + hex: retire get_sha1_hex()

 The implementation of "get_sha1_hex()" that reads a hexadecimal
 string that spells a full object name has been extended to cope
 with any hash function used in the repository, but the "sha1" in
 its name survived.  Rename it to get_hash_hex(), a name that is
 more consistent within its friends like get_hash_hex_algop().
 source: <xmqq1qgwoqgo.fsf_-_@gitster.g>


* la/doc-choose-starting-point (2023-07-14) 5 commits
  (merged to 'next' on 2023-07-19 at 5a807cae46)
 + SubmittingPatches: simplify guidance for choosing a starting point
 + SubmittingPatches: emphasize need to communicate non-default starting points
 + SubmittingPatches: de-emphasize branches as starting points
 + SubmittingPatches: discuss subsystems separately from git.git
 + SubmittingPatches: reword awkward phrasing
 (this branch is used by la/doc-choose-starting-point-fixup.)

 Clarify how to choose the starting point for a new topic in
 developer guidance document.

 Will merge to 'master' together with the follow-on topic.
 source: <pull.1556.v2.git.1689314493.gitgitgadget@gmail.com>


* la/doc-choose-starting-point-fixup (2023-07-27) 3 commits
  (merged to 'next' on 2023-07-28 at 047dcae31c)
 + SubmittingPatches: use of older maintenance tracks is an exception
 + SubmittingPatches: explain why 'next' and above are inappropriate base
 + SubmittingPatches: choice of base for fixing an older maintenance track
 (this branch uses la/doc-choose-starting-point.)

 Clarify how to pick a starting point for a new topic in the
 SubmittingPatches document.

 Will merge to 'master', together with the underlying topic.
 source: <pull.1556.v2.git.1689314493.gitgitgadget@gmail.com>
 source: <pull.1556.v3.git.1690340701.gitgitgadget@gmail.com>


* pv/doc-submodule-update-settings (2023-07-25) 1 commit
  (merged to 'next' on 2023-07-27 at e27b5b7ba8)
 + doc: highlight that .gitmodules does not support !command

 Rewrite the description of giving a custom command to the
 submodule.<name>.update configuration variable.
 source: <20230725212218.711116-1-pvutov@imap.cc>

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

* jc/rerere-cleanup (2023-08-03) 5 commits
 - rerere: plug small strbuf leak
 - rerere: modernize use of empty strbuf
 - rerere: try_merge() should use LL_MERGE_ERROR when it means an error
 - rerere: fix comment on handle_file() helper
 - rerere: simplify check_one_conflict() helper function
 (this branch uses jc/unresolve-removal.)

 Code clean-up.

 Not ready to be reviewed yet.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* ma/locate-in-path-for-windows (2023-08-04) 3 commits
 - docs: update when `git bisect visualize` uses `gitk`
 - compat/mingw: implement a native locate_in_PATH()
 - run-command: conditionally define locate_in_PATH()

 "git bisect visualize" stopped running "gitk" on Git for Windows
 when the command was reimplemented in C around Git 2.34 timeframe.
 This has been corrected.

 Will merge to 'next'.
 source: <pull.1560.v2.git.1691122124.gitgitgadget@gmail.com>


* pw/rebase-skip-commit-message-fix (2023-08-03) 1 commit
 - rebase --skip: fix commit message clean up when skipping squash

 "git rebase -i" with a series of squash/fixup, when one of the
 steps stopped in conflicts and ended up getting skipped, did not
 handle the accumulated commit log messages, which has been
 corrected.

 Will merge to 'next'.
 source: <pull.1558.git.git.1691068176051.gitgitgadget@gmail.com>


* bc/ignore-cland-cache (2023-08-04) 1 commit
  (merged to 'next' on 2023-08-04 at 5cf8d41911)
 + gitignore: ignore clangd .cache directory

 .gitignore update.

 Will merge to 'master'.
 source: <20230804171328.1737188-1-sandals@crustytoothpaste.net>

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

* mh/credential-libsecret-attrs (2023-06-16) 1 commit
 - credential/libsecret: store new attributes

 The way authentication related data other than passwords (e.g.
 oath token and password expiration data) are stored in libsecret
 keyrings has been rethought.

 Needs review.
 source: <pull.1469.v5.git.git.1686945306242.gitgitgadget@gmail.com>


* cc/git-replay (2023-06-03) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 No reviews?
 source: <20230602102533.876905-1-christian.couder@gmail.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* ab/tag-object-type-errors (2023-05-10) 4 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.

 Will discard.
 Stalled for too long.
 source: <cover-v2-0.3-00000000000-20221230T011725Z-avarab@gmail.com>

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

* pw/rebase-i-after-failure (2023-08-01) 7 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase --continue: refuse to commit after failed command
 - rebase: fix rewritten list for failed pick
 - sequencer: factor out part of pick_commits()
 - sequencer: use rebase_path_message()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Expecting a reroll.
 The latter half of the series should be reviewed by those who have
 more stake in the sequencer code than myself.
 cf. <619e458b-218b-a790-dfb4-9200e201b513@gmail.com>
 source: <pull.1492.v3.git.1690903412.gitgitgadget@gmail.com>


* bc/ident-dot-is-no-longer-crud-letter (2023-08-02) 1 commit
  (merged to 'next' on 2023-08-03 at e786442a9b)
 + ident: don't consider '.' a crud

 Exclude "." from the set of characters to be removed from the
 beginning and the end of the human-readable name.

 Will merge to 'master'.
 source: <xmqqsf918k4j.fsf@gitster.g>


* jc/unresolve-removal (2023-07-31) 7 commits
 - checkout: allow "checkout -m path" to unmerge removed paths
 - checkout/restore: add basic tests for --merge
 - checkout/restore: refuse unmerging paths unless checking out of the index
 - update-index: remove stale fallback code for "--unresolve"
 - update-index: use unmerge_index_entry() to support removal
 - resolve-undo: allow resurrecting conflicted state that resolved to deletion
 - update-index: do not read HEAD and MERGE_HEAD unconditionally
 (this branch is used by jc/rerere-cleanup.)

 "checkout --merge -- path" and "update-index --unresolve path" did
 not resurrect conflicted state that was resolved to remove path,
 but now they do.

 Needs review.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* ew/hash-with-openssl-evp (2023-08-01) 2 commits
  (merged to 'next' on 2023-08-02 at 996db74865)
 + avoid SHA-1 functions deprecated in OpenSSL 3+
 + sha256: avoid functions deprecated in OpenSSL 3+

 Adjust to OpenSSL 3+, which deprecates its SHA-1 functions based on
 its traditional API, by using its EVP API instead.

 Will merge to 'master'.
 source: <20230801025454.1137802-1-e@80x24.org>


* rj/status-bisect-while-rebase (2023-08-01) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 source: <48745298-f12b-8efb-4e48-90d2c22a8349@gmail.com>


* ew/sha256-gcrypt-leak-fixes (2023-07-31) 3 commits
  (merged to 'next' on 2023-08-01 at eed83801c3)
 + sha256/gcrypt: die on gcry_md_open failures
 + sha256/gcrypt: fix memory leak with SHA-256 repos
 + sha256/gcrypt: fix build with SANITIZE=leak

 Leakfixes.

 Will merge to 'master'.
 source: <20230731120808.1230210-1-e@80x24.org>


* rs/bundle-parseopt-cleanup (2023-07-31) 1 commit
  (merged to 'next' on 2023-08-01 at 405eb138fa)
 + bundle: use OPT_PASSTHRU_ARGV

 Code clean-up.

 Will merge to 'master'.
 source: <2dcb915f-b926-e024-6394-23aff200955c@web.de>


* am/doc-sha256 (2023-07-31) 1 commit
  (merged to 'next' on 2023-08-01 at d7419bf527)
 + doc: sha256 is no longer experimental

 Tone down the warning on SHA-256 repositories being an experimental
 curiosity.  We do not have support for them to interoperate with
 traditional SHA-1 repositories, but at this point, we do not plan
 to make breaking changes to SHA-256 repositories and there is no
 longer need for such a strongly phrased warning.

 Will merge to 'master'.
 source: <ZMe6KmzZGVubYpvO@adams>


* rs/parse-options-negation-help (2023-07-24) 5 commits
 - parse-options: show negatability of options in short help
 - t1502: test option negation
 - t1502: move optionspec help output to a file
 - t1502, docs: disallow --no-help
 - subtree: disallow --no-{help,quiet,debug,branch,message}

 "git cmd -h" learned to signal which options can be negated by
 listing such options like "--[no-]opt".

 Will merge to 'next'.
 I personally liked a later suggestion to deal with "--[no-]no-foo"
 but that can be done as a separate enhancement.
 cf. <31b71333-de8b-d9a8-3ec4-1bad9cae2bf3@web.de>
 cf. <xmqqjzug14jo.fsf@gitster.g>
 source: <4d01e971-07cb-4f11-3cc6-9d9f21e590c1@web.de>


* tb/commit-graph-tests (2023-07-24) 5 commits
  (merged to 'next' on 2023-07-31 at 740a260315)
 + t/lib-commit-graph.sh: avoid sub-shell in `graph_git_behavior()`
 + t5328: avoid top-level directory changes
 + t5318: avoid top-level directory changes
 + t/lib-commit-graph.sh: avoid directory change in `graph_git_behavior()`
 + t/lib-commit-graph.sh: allow `graph_read_expect()` in sub-directories

 Test updates.

 Will merge to 'master'.
 source: <cover.1690216758.git.me@ttaylorr.com>


* sl/sparse-check-attr (2023-07-18) 3 commits
 - check-attr: integrate with sparse-index
 - attr.c: read attributes in a sparse directory
 - t1092: add tests for 'git check-attr'

 Teach "git check-attr" work better with sparse-index.

 Expecting a reroll.
 cf. <c3ebe3b4-88b9-8ca2-2ee3-39a3e0d82201@github.com>
 cf. <5e478d8b-9ef4-864b-41e4-e0a79877d278@github.com>
 source: <20230718232916.31660-1-cheskaqiqi@gmail.com>


* mh/credential-erase-improvements-more (2023-07-26) 2 commits
 - credential/wincred: erase matching creds only
 - credential/libsecret: erase matching creds only

 Update two credential helpers to correctly match which credential
 to erase; they dropped not the ones with stale password.

 Needs review.
 source: <pull.1527.v2.git.git.1690387585634.gitgitgadget@gmail.com>
 source: <pull.1529.git.git.1687596777147.gitgitgadget@gmail.com>


* cc/repack-sift-filtered-objects-to-separate-pack (2023-07-24) 8 commits
 . gc: add `gc.repackFilterTo` config option
 . repack: implement `--filter-to` for storing filtered out objects
 . gc: add `gc.repackFilter` config option
 . repack: add `--filter=<filter-spec>` option
 . repack: refactor finding pack prefix
 . repack: refactor finishing pack-objects command
 . t/helper: add 'find-pack' test-tool
 . pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 Breaks CI with some environment variables configured.
 cf. <xmqqo7jzh9mh.fsf@gitster.g>
 source: <20230724085909.3831831-1-christian.couder@gmail.com>


* js/doc-unit-tests (2023-06-30) 1 commit
 - unit tests: Add a project plan document

 Process to add some form of low-level unit tests has started.

 Still filling in blanks.
 source: <0169ce6fb9ccafc089b74ae406db0d1a8ff8ac65.1688165272.git.steadmon@google.com>


* jt/path-filter-fix (2023-08-01) 7 commits
  (merged to 'next' on 2023-08-03 at d99958c287)
 + commit-graph: new filter ver. that fixes murmur3
 + repo-settings: introduce commitgraph.changedPathsVersion
 + t4216: test changed path filters with high bit paths
 + t/helper/test-read-graph: implement `bloom-filters` mode
 + bloom.h: make `load_bloom_filter_from_graph()` public
 + t/helper/test-read-graph.c: extract `dump_graph_info()`
 + gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Will merge to 'master'.
 cf. <ZMqp6K2iXixWH/zT@nand.local>
 source: <cover.1690912539.git.jonathantanmy@google.com>

^ permalink raw reply	[relevance 32%]

* What's cooking in git.git (Aug 2023, #01; Wed, 2)
@ 2023-08-02 18:10 28% Junio C Hamano
       [not found]     ` <CAP8UFD1vuB2kRr890B7GXum9HAMjRep86zy2tE4yE2C3W5QGHA@mail.gmail.com>
  0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2023-08-02 18:10 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

We are getting closer to the final phase of this cycle, which begins
when -rc0 preview release is tagged this coming Friday, followed by
about 1 1/2 weeks of stabilization period that begins when -rc1 is
tagged (cf. tinyurl.com/gitCal).  There are a handful of topics that
still need reviews before getting merged to 'next', but because the
summer in the northern hemisphere is historically a slower season,
too few reviewers seem to be active, relative to the number of these
topics.

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/autoconf-fixes (2023-07-19) 3 commits
  (merged to 'next' on 2023-07-25 at 35ff66e0cb)
 + configure.ac: always save NO_ICONV to config.status
 + configure.ac: don't overwrite NO_CURL option
 + configure.ac: don't overwrite NO_EXPAT option

 "./configure --with-expat=no" did not work as a way to refuse use
 of the expat library on a system with the library installed, which
 has been corrected.
 source: <20230719145211.17854-2-aherrmann@suse.de>


* ah/sequencer-rewrite-todo-fix (2023-07-24) 1 commit
  (merged to 'next' on 2023-07-26 at 24e74d9eda)
 + sequencer: finish parsing the todo list despite an invalid first line

 When the user edits "rebase -i" todo file so that it starts with a
 "fixup", which would make it invalid, the command truncated the
 rest of the file before giving an error and returning the control
 back to the user.  Stop truncating to make it easier to correct
 such a malformed todo file.
 cf. <https://lore.kernel.org/git/0d1c5bfd-3ae5-83f0-a333-bbb8510a973a@gmail.com/>
 source: <20230722212830.132135-2-alexhenrie24@gmail.com>


* bb/use-trace2-counters-for-fsync-stats (2023-07-20) 1 commit
  (merged to 'next' on 2023-07-26 at f2c2e3f2b9)
 + wrapper: use trace2 counters to collect fsync stats

 Instead of inventing a custom counter variables for debugging,
 use existing trace2 facility in the fsync customization codepath.
 source: <20230720164823.625815-1-dev+git@drbeat.li>


* jc/tree-walk-drop-base-offset (2023-07-07) 2 commits
  (merged to 'next' on 2023-07-25 at cc050c60a6)
 + tree-walk: drop unused base_offset from do_match()
 + tree-walk: lose base_offset that is never used in tree_entry_interesting

 Code simplification.
 source: <20230707222116.4129415-1-gitster@pobox.com>


* ks/ref-filter-describe (2023-07-24) 2 commits
  (merged to 'next' on 2023-07-26 at f4b3b3b7ef)
 + ref-filter: add new "describe" atom
 + ref-filter: add multiple-option parsing functions

 "git branch --list --format=<format>" and friends are taught
 a new "%(describe)" placeholder.
 source: <20230723162717.68123-1-five231003@gmail.com>

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

* bc/ident-dot-is-no-longer-crud-letter (2023-08-02) 1 commit
 - ident: don't consider '.' a crud

 Exclude "." from the set of characters to be removed from the
 beginning and the end of the human-readable name.

 Will merge to 'next'?
 source: <xmqqsf918k4j.fsf@gitster.g>


* jc/unresolve-removal (2023-07-31) 7 commits
 - checkout: allow "checkout -m path" to unmerge removed paths
 - checkout/restore: add basic tests for --merge
 - checkout/restore: refuse unmerging paths unless checking out of the index
 - update-index: remove stale fallback code for "--unresolve"
 - update-index: use unmerge_index_entry() to support removal
 - resolve-undo: allow resurrecting conflicted state that resolved to deletion
 - update-index: do not read HEAD and MERGE_HEAD unconditionally

 "checkout --merge -- path" and "update-index --unresolve path" did
 not resurrect conflicted state that was resolved to remove path,
 but now they do.

 Needs review.
 source: <20230731224409.4181277-1-gitster@pobox.com>


* ew/hash-with-openssl-evp (2023-08-01) 2 commits
 - avoid SHA-1 functions deprecated in OpenSSL 3+
 - sha256: avoid functions deprecated in OpenSSL 3+

 Adjust to OpenSSL 3+, which deprecates its SHA-1 functions based on
 its traditional API, by using its EVP API instead.

 Will merge to 'next'. 
 source: <20230801025454.1137802-1-e@80x24.org>


* rj/status-bisect-while-rebase (2023-08-01) 1 commit
 - status: fix branch shown when not only bisecting

 "git status" is taught to show both the branch being bisected and
 being rebased when both are in effect at the same time.

 Needs review.
 source: <48745298-f12b-8efb-4e48-90d2c22a8349@gmail.com>

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

* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* ab/tag-object-type-errors (2023-05-10) 4 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.

 Will discard.
 Stalled for too long.
 source: <cover-v2-0.3-00000000000-20221230T011725Z-avarab@gmail.com>


* ob/revert-of-revert (2023-05-05) 1 commit
 - sequencer: beautify subject of reverts of reverts

 Instead of "Revert "Revert "original"", give "Reapply "original""
 as the title for a revert of a revert.

 Will discard.
 Have been expecting a hopefully final reroll for too long.
 Looking much better, except for minor cosmetic issues.
 cf. <xmqqmt21txid.fsf@gitster.g>
 source: <20230428083528.1699221-1-oswald.buddenhagen@gmx.de>


* pw/rebase-i-after-failure (2023-08-01) 7 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase --continue: refuse to commit after failed command
 - rebase: fix rewritten list for failed pick
 - sequencer: factor out part of pick_commits()
 - sequencer: use rebase_path_message()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Will merge to 'next'?
 cf. <xmqqa5vad6ea.fsf@gitster.g>
 cf. <xmqq5y5yd6d7.fsf@gitster.g>
 source: <pull.1492.v3.git.1690903412.gitgitgadget@gmail.com>

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

* ew/sha256-gcrypt-leak-fixes (2023-07-31) 3 commits
  (merged to 'next' on 2023-08-01 at eed83801c3)
 + sha256/gcrypt: die on gcry_md_open failures
 + sha256/gcrypt: fix memory leak with SHA-256 repos
 + sha256/gcrypt: fix build with SANITIZE=leak

 Leakfixes.

 Will merge to 'master'.
 source: <20230731120808.1230210-1-e@80x24.org>


* rs/bundle-parseopt-cleanup (2023-07-31) 1 commit
  (merged to 'next' on 2023-08-01 at 405eb138fa)
 + bundle: use OPT_PASSTHRU_ARGV

 Code clean-up.

 Will merge to 'master'.
 source: <2dcb915f-b926-e024-6394-23aff200955c@web.de>


* pv/doc-submodule-update-settings (2023-07-25) 1 commit
  (merged to 'next' on 2023-07-27 at e27b5b7ba8)
 + doc: highlight that .gitmodules does not support !command

 Rewrite the description of giving a custom command to the
 submodule.<name>.update configuraiton variable.

 Will merge to 'master'.
 source: <20230725212218.711116-1-pvutov@imap.cc>


* la/doc-choose-starting-point-fixup (2023-07-27) 3 commits
  (merged to 'next' on 2023-07-28 at 047dcae31c)
 + SubmittingPatches: use of older maintenance tracks is an exception
 + SubmittingPatches: explain why 'next' and above are inappropriate base
 + SubmittingPatches: choice of base for fixing an older maintenance track
 (this branch uses la/doc-choose-starting-point.)

 Clarify how to pick a starting point for a new topic in the
 SubmittingPatches document.

 Will merge to 'master', together with the underlying topic.
 source: <pull.1556.v2.git.1689314493.gitgitgadget@gmail.com>
 source: <pull.1556.v3.git.1690340701.gitgitgadget@gmail.com>


* am/doc-sha256 (2023-07-31) 1 commit
  (merged to 'next' on 2023-08-01 at d7419bf527)
 + doc: sha256 is no longer experimental

 Tone down the warning on SHA-256 repositories being an experimental
 curiosity.  We do not have support for them to interoperate with
 traditional SHA-1 repositories, but at this point, we do not plan
 to make breaking changes to SHA-256 repositories and there is no
 longer need for such a strongly phrased warning.

 Will merge to 'master'.
 source: <ZMe6KmzZGVubYpvO@adams>


* hy/blame-in-bare-with-contents (2023-07-21) 1 commit
  (merged to 'next' on 2023-07-31 at 39ac96d8d8)
 + blame: allow --contents to work with bare repo

 "git blame --contents=file" has been taught to work in a bare
 repository.

 Will merge to 'master'.
 source: <20230721035758.61956-1-hanyang.tony@bytedance.com>


* ja/worktree-orphan-fix (2023-07-26) 3 commits
  (merged to 'next' on 2023-07-27 at e475016065)
 + t2400: rewrite regex to avoid unintentional PCRE
 + builtin/worktree.c: convert tab in advice to space
 + t2400: drop no-op `--sq` from rev-parse call

 Fix tests with unportable regex patterns.

 Will merge to 'master'.
 source: <20230726214202.15775-1-jacobabel@nullpo.dev>


* jc/retire-get-sha1-hex (2023-07-24) 1 commit
  (merged to 'next' on 2023-07-27 at eeb9cc37f5)
 + hex: retire get_sha1_hex()

 The implementation of "get_sha1_hex()" that reads a hexadecimal
 string that spells a full object name has been extended to cope
 with any hash function used in the repository, but the "sha1" in
 its name survived.  Rename it to get_hash_hex(), a name that is
 more consistent within its friends like get_hash_hex_algop().

 Will merge to 'master'.
 source: <xmqq1qgwoqgo.fsf_-_@gitster.g>


* rs/parse-options-negation-help (2023-07-24) 5 commits
 - parse-options: show negatability of options in short help
 - t1502: test option negation
 - t1502: move optionspec help output to a file
 - t1502, docs: disallow --no-help
 - subtree: disallow --no-{help,quiet,debug,branch,message}

 "git cmd -h" learned to signal which options can be negated by
 listing such options like "--[no-]opt".

 Comments?
 Would showing "--[[no-]no-]opt" for "no-opt" be worth it?
 cf. <9e8225dd-1e8b-8af2-c3e1-0c5834694244@web.de>
 source: <4d01e971-07cb-4f11-3cc6-9d9f21e590c1@web.de>


* tb/commit-graph-tests (2023-07-24) 5 commits
  (merged to 'next' on 2023-07-31 at 740a260315)
 + t/lib-commit-graph.sh: avoid sub-shell in `graph_git_behavior()`
 + t5328: avoid top-level directory changes
 + t5318: avoid top-level directory changes
 + t/lib-commit-graph.sh: avoid directory change in `graph_git_behavior()`
 + t/lib-commit-graph.sh: allow `graph_read_expect()` in sub-directories

 Test updates.

 Will merge to 'master'.
 source: <cover.1690216758.git.me@ttaylorr.com>


* la/doc-choose-starting-point (2023-07-14) 5 commits
  (merged to 'next' on 2023-07-19 at 5a807cae46)
 + SubmittingPatches: simplify guidance for choosing a starting point
 + SubmittingPatches: emphasize need to communicate non-default starting points
 + SubmittingPatches: de-emphasize branches as starting points
 + SubmittingPatches: discuss subsystems separately from git.git
 + SubmittingPatches: reword awkward phrasing
 (this branch is used by la/doc-choose-starting-point-fixup.)

 Clarify how to choose the starting point for a new topic in
 developer guidance document.

 Will merge to 'master' together with the follow-on topic.
 source: <pull.1556.v2.git.1689314493.gitgitgadget@gmail.com>


* jc/doc-sent-patch-now-what (2023-07-27) 1 commit
  (merged to 'next' on 2023-07-31 at 51f5d9d465)
 + MyFirstContribution: refrain from self-iterating too much

 Process document update.

 Will merge to 'master'.
 source: <xmqqmszg987u.fsf_-_@gitster.g>


* jc/parse-options-short-help (2023-07-19) 3 commits
  (merged to 'next' on 2023-07-31 at e076d1f497)
 + short help: allow a gap smaller than USAGE_GAP
 + remote: simplify "remote add --tags" help text
 + short help: allow multi-line opthelp

 Command line parser fix, and a small parse-options API update.

 Will merge to 'master'.
 source: <xmqq5y6gg8fn.fsf@gitster.g>


* sl/sparse-check-attr (2023-07-18) 3 commits
 - check-attr: integrate with sparse-index
 - attr.c: read attributes in a sparse directory
 - t1092: add tests for 'git check-attr'

 Teach "git check-attr" work better with sparse-index.

 Expecting a reroll.
 cf. <c3ebe3b4-88b9-8ca2-2ee3-39a3e0d82201@github.com>
 cf. <5e478d8b-9ef4-864b-41e4-e0a79877d278@github.com>
 source: <20230718232916.31660-1-cheskaqiqi@gmail.com>


* jc/branch-in-use-error-message (2023-07-21) 1 commit
  (merged to 'next' on 2023-07-31 at 22f17d131b)
 + branch: update the message to refuse touching a branch in-use

 "git branch -f X" to repoint the branch X seid that X was "checked
 out" in another worktree, even when branch X was not and instead
 being bisected or rebased.  The message was reworded to say the
 branch was "in use".

 Will merge to 'master'.
 source: <xmqqr0p1szhz.fsf_-_@gitster.g>


* mh/credential-erase-improvements-more (2023-07-26) 2 commits
 - credential/wincred: erase matching creds only
 - credential/libsecret: erase matching creds only

 Update two credential helpers to correctly match which credential
 to erase; they dropped not the ones with stale password.

 Needs review.
 source: <pull.1527.v2.git.git.1690387585634.gitgitgadget@gmail.com>
 source: <pull.1529.git.git.1687596777147.gitgitgadget@gmail.com>


* cc/repack-sift-filtered-objects-to-separate-pack (2023-07-24) 8 commits
 . gc: add `gc.repackFilterTo` config option
 . repack: implement `--filter-to` for storing filtered out objects
 . gc: add `gc.repackFilter` config option
 . repack: add `--filter=<filter-spec>` option
 . repack: refactor finding pack prefix
 . repack: refactor finishing pack-objects command
 . t/helper: add 'find-pack' test-tool
 . pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 Breaks CI with some environment variables configured.
 cf. <xmqqo7jzh9mh.fsf@gitster.g>
 source: <20230724085909.3831831-1-christian.couder@gmail.com>


* js/doc-unit-tests (2023-06-30) 1 commit
 - unit tests: Add a project plan document

 Process to add some form of low-level unit tests has started.

 Still filling in blanks.
 source: <0169ce6fb9ccafc089b74ae406db0d1a8ff8ac65.1688165272.git.steadmon@google.com>


* jt/path-filter-fix (2023-08-01) 7 commits
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Still under discussion.
 cf. <20230801185232.1457172-1-jonathantanmy@google.com>
 source: <cover.1690912539.git.jonathantanmy@google.com>


* mh/credential-libsecret-attrs (2023-06-16) 1 commit
 - credential/libsecret: store new attributes

 The way authentication related data other than passwords (e.g.
 oath token and password expiration data) are stored in libsecret
 keyrings has been rethought.

 Needs review.
 source: <pull.1469.v5.git.git.1686945306242.gitgitgadget@gmail.com>


* cc/git-replay (2023-06-03) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 What's the status of this thing?
 source: <20230602102533.876905-1-christian.couder@gmail.com>

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

* jc/doc-submodule-update-settings (2023-07-13) 1 commit
 . submodule: clarify that "!custom command" is the only oddball

 Rewrite the description of giving a custom command to the
 submodule.<name>.update configuraiton variable.

 Superseded by pv/doc-submodule-update-settings topic.
 source: <xmqqwmz3oacg.fsf@gitster.g>


* jc/rerere-read-rr-fix (2023-07-21) 1 commit
 . rerere: match the hash algorithm with its length

 SHA-256 fix.

 Superseded by jc/retire-get-sha1-hex
 source: <xmqqa5vou9ar.fsf@gitster.g>


* cb/checkout-same-branch-twice (2023-03-22) 2 commits
 . SQUASH??? the test marked to expect failure passes from day one
 . checkout/switch: disallow checking out same branch in multiple worktrees

 "git checkout -B $branch" failed to protect against checking out
 a branch that is checked out elsewhere, unlike "git branch -f" did.

 Have been expecting a hopefully minor and final reroll for too long.
 cf. <CAPUEspj_Bh+LgYLnWfeBdcq_uV5Cbou-7H51GLFjzSa5Qzby9w@mail.gmail.com>
 source: <20230120113553.24655-1-carenas@gmail.com>


* ed/fsmonitor-windows-named-pipe (2023-03-24) 1 commit
 . fsmonitor: handle differences between Windows named pipe functions

 Fix fsmonitor on Windows when the filesystem path contains certain
 characters.

 Have been expecting a reroll for too long.
 cf. <b9cf67e4-22a7-2ff0-8310-9223bea10d6d@jeffhostetler.com>
 source: <pull.1503.git.1679678090412.gitgitgadget@gmail.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
 . diff-index: enable sparse index

 "git diff-index" command has been taught to work better with the
 sparse index.

 Have been expecting a reroll for too long.
 cf. <62821012-4fc3-5ad8-695c-70f7ab14a8c9@github.com>
 source: <20230408112342.404318-1-nanth.raghul@gmail.com>


* es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
 . usage: clarify --recurse-submodules as a boolean

 The "--[no-]recurse-submodules" option of "git checkout" and others
 supported an undocumented syntax --recurse-submodules=<value> where
 the value can spell a Boolean in various ways.  The support for the
 syntax is being dropped.

 Have been expecting a reroll for too long.
 cf. <ZDSTFwMFO7vbj/du@google.com>
 source: <ZDSTFwMFO7vbj/du@google.com>


* jc/checkout-merge-fix (2023-07-28) 2 commits
 . checkout/restore: add basic tests for --merge
 . checkout/restore: refuse unmerging paths unless checking out of the index

 "git checkout/restore --merge -- $path" improvements.

 Superseded by jc/unresolve-removal
 source: <xmqq7cqj4rme.fsf@gitster.g>


* jc/resolve-undo-fixes (2023-07-28) 4 commits
 . update-index: remove stale fallback code for "--unresolve"
 . update-index: use unmerge_index_entry() to support removal
 . resolve-undo: allow resurrecting conflicted state that resolved to deletion
 . update-index: do not read HEAD and MERGE_HEAD unconditionally

 Assorted fixes and clean-up around resolve-undo data.

 Superseded by jc/unresolve-removal
 source: <xmqqo7jv4y0t.fsf_-_@gitster.g>

^ permalink raw reply	[relevance 28%]

* Re: What's cooking in git.git (Jul 2023, #07; Mon, 31)
  @ 2023-08-01 20:35 99%       ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-08-01 20:35 UTC (permalink / raw)
  To: Emily Shaffer; +Cc: git

Emily Shaffer <nasamuffin@google.com> writes:

>> Or are there still further changes in behaviours planned?
>
> Huh, I thought that you wanted further changes. In
> https://lore.kernel.org/git/ZDSTFwMFO7vbj%2Fdu@google.com/ I was
> asking for opinions on adding tests; if you're fine to take it without
> tests, then of course I don't have an objection to an identical patch
> with objectively improved grammar in the commit message. But since you
> were asking for a reroll in the What's Cooking, I figured there was
> more you were unhappy with in the patch. If that's not the case, by
> all means, go ahead and take it.

Well, this is why an overly slow reaction is bad for everybody.

I quite honestly do not recall what was suggested and with what
severity (was it a good to have?  was it a showstopper?).

Anyway, if it is not urgent and nobody else is jumping up and down
and asking for an immediate inclusion of the current iteration, we
can wait a bit longer without hurting anybody ;-)

Thanks.

^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (Jul 2023, #07; Mon, 31)
  @ 2023-08-01 18:12 99%   ` Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2023-08-01 18:12 UTC (permalink / raw)
  To: Emily Shaffer; +Cc: git

Emily Shaffer <nasamuffin@google.com> writes:

> On Mon, Jul 31, 2023 at 10:57 AM Junio C Hamano <gitster@pobox.com> wrote:
>> * es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
>>  . usage: clarify --recurse-submodules as a boolean
>>
>>  The "--[no-]recurse-submodules" option of "git checkout" and others
>>  supported an undocumented syntax --recurse-submodules=<value> where
>>  the value can spell a Boolean in various ways.  The support for the
>>  syntax is being dropped.
>>
>>  Have been expecting a reroll for too long.
>>  cf. <ZDSTFwMFO7vbj/du@google.com>
>>  source: <ZDSTFwMFO7vbj/du@google.com>
>
> Yeah, sorry about the annoying wait. It's not something I have time to
> reroll soon - but it's on the short list for "up next" bugs for my
> team to get a reroll. We still intend to reroll and push through, but
> I don't have an ETA. I'll leave it up to you to decide whether to keep
> it in seen or drop it with that information.

I actually do not quite understand this ;-) It wouldn't take more
than 20 seconds to read the "minimally touched-up version" sent
months ago https://lore.kernel.org/git/xmqqfs97cozz.fsf@gitster.g/
and say "yeah, that is perfect and please queue with the fixup" ;-)

Or are there still further changes in behaviours planned?

Thanks.

^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Jul 2023, #07; Mon, 31)
@ 2023-07-31 17:57 29% Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2023-07-31 17:57 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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]

* jc/checkout-merge-fix (2023-07-28) 2 commits
 - checkout/restore: add basic tests for --merge
 - checkout/restore: refuse unmerging paths unless checking out of the index

 "git checkout/restore --merge -- $path" improvements.

 Needs review.
 source: <xmqq7cqj4rme.fsf@gitster.g>


* ew/sha256-gcrypt-leak-fixes (2023-07-31) 3 commits
 - sha256/gcrypt: die on gcry_md_open failures
 - sha256/gcrypt: fix memory leak with SHA-256 repos
 - sha256/gcrypt: fix build with SANITIZE=leak

 Leakfixes.

 Will merge to 'next'.
 source: <20230731120808.1230210-1-e@80x24.org>


* rs/bundle-parseopt-cleanup (2023-07-31) 1 commit
 - bundle: use OPT_PASSTHRU_ARGV

 Code clean-up.

 Will merge to 'next'.
 source: <2dcb915f-b926-e024-6394-23aff200955c@web.de>

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

* bb/trace2-comment-fix (2023-07-19) 1 commit
  (merged to 'next' on 2023-07-21 at f77aeba1b5)
 + trace2: fix a comment

 In-code comment fix.
 source: <20230719232444.555838-1-dev+git@drbeat.li>


* rs/describe-parseopt-fix (2023-07-21) 1 commit
  (merged to 'next' on 2023-07-21 at e74749af0c)
 + describe: fix --no-exact-match

 Command line parser fix.
 source: <4eea7e15-6594-93e2-27b5-3d6e3c0baac6@web.de>


* rs/pack-objects-parseopt-fix (2023-07-21) 2 commits
  (merged to 'next' on 2023-07-21 at acdf84416c)
 + pack-objects: fix --no-quiet
 + pack-objects: fix --no-keep-true-parents

 Command line parser fix.
 source: <xmqqo7k9fa5x.fsf@gitster.g>

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

* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* ab/tag-object-type-errors (2023-05-10) 4 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.

 Will discard.
 Stalled for too long.
 source: <cover-v2-0.3-00000000000-20221230T011725Z-avarab@gmail.com>


* ob/revert-of-revert (2023-05-05) 1 commit
 - sequencer: beautify subject of reverts of reverts

 Instead of "Revert "Revert "original"", give "Reapply "original""
 as the title for a revert of a revert.

 Will discard.
 Have been expecting a hopefully final reroll for too long.
 Looking much better, except for minor cosmetic issues.
 cf. <xmqqmt21txid.fsf@gitster.g>
 source: <20230428083528.1699221-1-oswald.buddenhagen@gmx.de>


* pw/rebase-i-after-failure (2023-04-21) 6 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase: fix rewritten list for failed pick
 - rebase --continue: refuse to commit after failed command
 - sequencer: factor out part of pick_commits()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Will discard.
 Have been expecting a reroll for too long.
 cf. <xmqqsfcthrpb.fsf@gitster.g>
 cf. <1fd54422-b66a-c2e4-7cd7-934ea01190ad@gmail.com>
 cf. <55dd6194-25e5-1a66-9c39-27cb19bfbb3c@gmail.com>
 source: <pull.1492.v2.git.1682089074.gitgitgadget@gmail.com>

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

* pv/doc-submodule-update-settings (2023-07-25) 1 commit
  (merged to 'next' on 2023-07-27 at e27b5b7ba8)
 + doc: highlight that .gitmodules does not support !command

 Rewrite the description of giving a custom command to the
 submodule.<name>.update configuraiton variable.

 Will merge to 'master'.
 source: <20230725212218.711116-1-pvutov@imap.cc>


* la/doc-choose-starting-point-fixup (2023-07-27) 3 commits
  (merged to 'next' on 2023-07-28 at 047dcae31c)
 + SubmittingPatches: use of older maintenance tracks is an exception
 + SubmittingPatches: explain why 'next' and above are inappropriate base
 + SubmittingPatches: choice of base for fixing an older maintenance track
 (this branch uses la/doc-choose-starting-point.)

 Clarify how to pick a starting point for a new topic in the
 SubmittingPatches document.

 Will merge to 'master', together with the underlying topic.
 source: <pull.1556.v2.git.1689314493.gitgitgadget@gmail.com>
 source: <pull.1556.v3.git.1690340701.gitgitgadget@gmail.com>


* jc/resolve-undo-fixes (2023-07-28) 4 commits
 - update-index: remove stale fallback code for "--unresolve"
 - update-index: use unmerge_index_entry() to support removal
 - resolve-undo: allow resurrecting conflicted state that resolved to deletion
 - update-index: do not read HEAD and MERGE_HEAD unconditionally

 Assorted fixes and clean-up around resolve-undo data.

 Needs review.
 source: <xmqqo7jv4y0t.fsf_-_@gitster.g>


* ah/sequencer-rewrite-todo-fix (2023-07-24) 1 commit
  (merged to 'next' on 2023-07-26 at 24e74d9eda)
 + sequencer: finish parsing the todo list despite an invalid first line

 When the user edits "rebase -i" todo file so that it starts with a
 "fixup", which would make it invalid, the command truncated the
 rest of the file before giving an error and returning the control
 back to the user.  Stop truncating to make it easier to correct
 such a malformed todo file.

 Will merge to 'master'.
 cf. <https://lore.kernel.org/git/0d1c5bfd-3ae5-83f0-a333-bbb8510a973a@gmail.com/>
 source: <20230722212830.132135-2-alexhenrie24@gmail.com>


* ks/ref-filter-describe (2023-07-24) 2 commits
  (merged to 'next' on 2023-07-26 at f4b3b3b7ef)
 + ref-filter: add new "describe" atom
 + ref-filter: add multiple-option parsing functions

 "git branch --list --format=<format>" and friends are taught
 a new "%(describe)" placeholder.

 Will merge to 'master'.
 source: <20230723162717.68123-1-five231003@gmail.com>


* bb/use-trace2-counters-for-fsync-stats (2023-07-20) 1 commit
  (merged to 'next' on 2023-07-26 at f2c2e3f2b9)
 + wrapper: use trace2 counters to collect fsync stats

 Instead of inventing a custom counter variables for debugging,
 use existing trace2 facility in the fsync customization codepath.

 Will merge to 'master'.
 source: <20230720164823.625815-1-dev+git@drbeat.li>


* am/doc-sha256 (2023-07-31) 1 commit
 - doc: sha256 is no longer experimental

 Tone down the warning on SHA-256 repositories being an experimental
 curiosity.  We do not have support for them to interoperate with
 traditional SHA-1 repositories, but at this point, we do not plan
 to make breaking changes to SHA-256 repositories and there is no
 longer need for such a strongly phrased warning.

 Will merge to 'next'.
 source: <ZMe6KmzZGVubYpvO@adams>


* hy/blame-in-bare-with-contents (2023-07-21) 1 commit
  (merged to 'next' on 2023-07-31 at 39ac96d8d8)
 + blame: allow --contents to work with bare repo

 "git blame --contents=file" has been taught to work in a bare
 repository.

 Will merge to 'master'.
 source: <20230721035758.61956-1-hanyang.tony@bytedance.com>


* ja/worktree-orphan-fix (2023-07-26) 3 commits
  (merged to 'next' on 2023-07-27 at e475016065)
 + t2400: rewrite regex to avoid unintentional PCRE
 + builtin/worktree.c: convert tab in advice to space
 + t2400: drop no-op `--sq` from rev-parse call

 Fix tests with unportable regex patterns.

 Will merge to 'master'.
 source: <20230726214202.15775-1-jacobabel@nullpo.dev>


* jc/retire-get-sha1-hex (2023-07-24) 1 commit
  (merged to 'next' on 2023-07-27 at eeb9cc37f5)
 + hex: retire get_sha1_hex()

 The implementation of "get_sha1_hex()" that reads a hexadecimal
 string that spells a full object name has been extended to cope
 with any hash function used in the repository, but the "sha1" in
 its name survived.  Rename it to get_hash_hex(), a name that is
 more consistent within its friends like get_hash_hex_algop().

 Will merge to 'master'.
 source: <xmqq1qgwoqgo.fsf_-_@gitster.g>


* rs/parse-options-negation-help (2023-07-24) 5 commits
 - parse-options: show negatability of options in short help
 - t1502: test option negation
 - t1502: move optionspec help output to a file
 - t1502, docs: disallow --no-help
 - subtree: disallow --no-{help,quiet,debug,branch,message}

 "git cmd -h" learned to signal which options can be negated by
 listing such options like "--[no-]opt".

 Comments?
 Would showing "--[[no-]no-]opt" for "no-opt" be worth it?
 cf. <9e8225dd-1e8b-8af2-c3e1-0c5834694244@web.de>
 source: <4d01e971-07cb-4f11-3cc6-9d9f21e590c1@web.de>


* tb/commit-graph-tests (2023-07-24) 5 commits
  (merged to 'next' on 2023-07-31 at 740a260315)
 + t/lib-commit-graph.sh: avoid sub-shell in `graph_git_behavior()`
 + t5328: avoid top-level directory changes
 + t5318: avoid top-level directory changes
 + t/lib-commit-graph.sh: avoid directory change in `graph_git_behavior()`
 + t/lib-commit-graph.sh: allow `graph_read_expect()` in sub-directories

 Test updates.

 Will merge to 'master'.
 source: <cover.1690216758.git.me@ttaylorr.com>


* la/doc-choose-starting-point (2023-07-14) 5 commits
  (merged to 'next' on 2023-07-19 at 5a807cae46)
 + SubmittingPatches: simplify guidance for choosing a starting point
 + SubmittingPatches: emphasize need to communicate non-default starting points
 + SubmittingPatches: de-emphasize branches as starting points
 + SubmittingPatches: discuss subsystems separately from git.git
 + SubmittingPatches: reword awkward phrasing
 (this branch is used by la/doc-choose-starting-point-fixup.)

 Clarify how to choose the starting point for a new topic in
 developer guidance document.

 Will merge to 'master' together with the follow-on topic.
 source: <pull.1556.v2.git.1689314493.gitgitgadget@gmail.com>


* jc/doc-sent-patch-now-what (2023-07-27) 1 commit
  (merged to 'next' on 2023-07-31 at 51f5d9d465)
 + MyFirstContribution: refrain from self-iterating too much

 Process document update.

 Will merge to 'master'.
 source: <xmqqmszg987u.fsf_-_@gitster.g>


* jc/parse-options-short-help (2023-07-19) 3 commits
  (merged to 'next' on 2023-07-31 at e076d1f497)
 + short help: allow a gap smaller than USAGE_GAP
 + remote: simplify "remote add --tags" help text
 + short help: allow multi-line opthelp

 Command line parser fix, and a small parse-options API update.

 Will merge to 'master'.
 source: <xmqq5y6gg8fn.fsf@gitster.g>


* sl/sparse-check-attr (2023-07-18) 3 commits
 - check-attr: integrate with sparse-index
 - attr.c: read attributes in a sparse directory
 - t1092: add tests for 'git check-attr'

 Teach "git check-attr" work better with sparse-index.

 Expecting a reroll.
 cf. <c3ebe3b4-88b9-8ca2-2ee3-39a3e0d82201@github.com>
 cf. <5e478d8b-9ef4-864b-41e4-e0a79877d278@github.com>
 source: <20230718232916.31660-1-cheskaqiqi@gmail.com>


* ah/autoconf-fixes (2023-07-19) 3 commits
  (merged to 'next' on 2023-07-25 at 35ff66e0cb)
 + configure.ac: always save NO_ICONV to config.status
 + configure.ac: don't overwrite NO_CURL option
 + configure.ac: don't overwrite NO_EXPAT option

 "./configure --with-expat=no" did not work as a way to refuse use
 of the expat library on a system with the library installed, which
 has been corrected.

 Will merge to 'master'.
 source: <20230719145211.17854-2-aherrmann@suse.de>


* jc/branch-in-use-error-message (2023-07-21) 1 commit
  (merged to 'next' on 2023-07-31 at 22f17d131b)
 + branch: update the message to refuse touching a branch in-use

 "git branch -f X" to repoint the branch X seid that X was "checked
 out" in another worktree, even when branch X was not and instead
 being bisected or rebased.  The message was reworded to say the
 branch was "in use".

 Will merge to 'master'.
 source: <xmqqr0p1szhz.fsf_-_@gitster.g>


* jc/tree-walk-drop-base-offset (2023-07-07) 2 commits
  (merged to 'next' on 2023-07-25 at cc050c60a6)
 + tree-walk: drop unused base_offset from do_match()
 + tree-walk: lose base_offset that is never used in tree_entry_interesting

 Code simplification.

 Will merge to 'master'.
 source: <20230707222116.4129415-1-gitster@pobox.com>


* mh/credential-erase-improvements-more (2023-07-26) 2 commits
 - credential/wincred: erase matching creds only
 - credential/libsecret: erase matching creds only

 Update two credential helpers to correctly match which credential
 to erase; they dropped not the ones with stale password.

 Needs review.
 source: <pull.1527.v2.git.git.1690387585634.gitgitgadget@gmail.com>
 source: <pull.1529.git.git.1687596777147.gitgitgadget@gmail.com>


* cc/repack-sift-filtered-objects-to-separate-pack (2023-07-24) 8 commits
 . gc: add `gc.repackFilterTo` config option
 . repack: implement `--filter-to` for storing filtered out objects
 . gc: add `gc.repackFilter` config option
 . repack: add `--filter=<filter-spec>` option
 . repack: refactor finding pack prefix
 . repack: refactor finishing pack-objects command
 . t/helper: add 'find-pack' test-tool
 . pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 Breaks CI with some environment variables configured.
 cf. <xmqqo7jzh9mh.fsf@gitster.g>
 source: <20230724085909.3831831-1-christian.couder@gmail.com>


* js/doc-unit-tests (2023-06-30) 1 commit
 - unit tests: Add a project plan document

 Process to add some form of low-level unit tests has started.

 Still filling in blanks.
 source: <0169ce6fb9ccafc089b74ae406db0d1a8ff8ac65.1688165272.git.steadmon@google.com>


* jt/path-filter-fix (2023-07-25) 7 commits
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Still under discussion.
 cf. <20230727205308.401364-1-jonathantanmy@google.com>
 source: <cover.1689889382.git.jonathantanmy@google.com>


* mh/credential-libsecret-attrs (2023-06-16) 1 commit
 - credential/libsecret: store new attributes

 The way authentication related data other than passwords (e.g.
 oath token and password expiration data) are stored in libsecret
 keyrings has been rethought.

 Needs review.
 source: <pull.1469.v5.git.git.1686945306242.gitgitgadget@gmail.com>


* cc/git-replay (2023-06-03) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 What's the status of this thing?
 source: <20230602102533.876905-1-christian.couder@gmail.com>

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

* jc/doc-submodule-update-settings (2023-07-13) 1 commit
 . submodule: clarify that "!custom command" is the only oddball

 Rewrite the description of giving a custom command to the
 submodule.<name>.update configuraiton variable.

 Superseded by pv/doc-submodule-update-settings topic.
 source: <xmqqwmz3oacg.fsf@gitster.g>


* jc/rerere-read-rr-fix (2023-07-21) 1 commit
 . rerere: match the hash algorithm with its length

 SHA-256 fix.

 Superseded by jc/retire-get-sha1-hex
 source: <xmqqa5vou9ar.fsf@gitster.g>


* cb/checkout-same-branch-twice (2023-03-22) 2 commits
 . SQUASH??? the test marked to expect failure passes from day one
 . checkout/switch: disallow checking out same branch in multiple worktrees

 "git checkout -B $branch" failed to protect against checking out
 a branch that is checked out elsewhere, unlike "git branch -f" did.

 Have been expecting a hopefully minor and final reroll for too long.
 cf. <CAPUEspj_Bh+LgYLnWfeBdcq_uV5Cbou-7H51GLFjzSa5Qzby9w@mail.gmail.com>
 source: <20230120113553.24655-1-carenas@gmail.com>


* ed/fsmonitor-windows-named-pipe (2023-03-24) 1 commit
 . fsmonitor: handle differences between Windows named pipe functions

 Fix fsmonitor on Windows when the filesystem path contains certain
 characters.

 Have been expecting a reroll for too long.
 cf. <b9cf67e4-22a7-2ff0-8310-9223bea10d6d@jeffhostetler.com>
 source: <pull.1503.git.1679678090412.gitgitgadget@gmail.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
 . diff-index: enable sparse index

 "git diff-index" command has been taught to work better with the
 sparse index.

 Have been expecting a reroll for too long.
 cf. <62821012-4fc3-5ad8-695c-70f7ab14a8c9@github.com>
 source: <20230408112342.404318-1-nanth.raghul@gmail.com>


* es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
 . usage: clarify --recurse-submodules as a boolean

 The "--[no-]recurse-submodules" option of "git checkout" and others
 supported an undocumented syntax --recurse-submodules=<value> where
 the value can spell a Boolean in various ways.  The support for the
 syntax is being dropped.

 Have been expecting a reroll for too long.
 cf. <ZDSTFwMFO7vbj/du@google.com>
 source: <ZDSTFwMFO7vbj/du@google.com>

^ permalink raw reply	[relevance 29%]

* Re: What's cooking in git.git (Jul 2023, #06; Thu, 27)
  @ 2023-07-28  5:11 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-07-28  5:11 UTC (permalink / raw)
  To: Jacob Abel; +Cc: git

Jacob Abel <jacobabel@nullpo.dev> writes:

> On 23/07/27 06:46PM, Junio C Hamano wrote:
>> * ja/worktree-orphan-fix (2023-07-26) 3 commits
>>   (merged to 'next' on 2023-07-27 at e475016065)
>>  + t2400: rewrite regex to avoid unintentional PCRE
>>  + builtin/worktree.c: convert tab in advice to space
>>  + t2400: drop no-op `--sq` from rev-parse call
>> 
>>  Fix tests with unportable regex patterns.
>> 
>>  Will merge to 'master'.
>>  source: <20230726214202.15775-1-jacobabel@nullpo.dev>
>
> Now that this patchset has been merged to `next` I was able to confirm
> that the Cirrus CI builds on `freebsd_12` are passing again.
>
> source: https://cirrus-ci.com/task/4872784707321856?logs=test

Thanks for a positive confirmation ;-)

^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Jul 2023, #06; Thu, 27)
@ 2023-07-28  1:46 28% Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2023-07-28  1:46 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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']

* jc/am-parseopt-fix (2023-07-18) 1 commit
  (merged to 'next' on 2023-07-19 at eaf592531e)
 + am: simplify parsing of "--[no-]keep-cr"

 Code simplification.
 source: <xmqqr0p5gjv3.fsf@gitster.g>


* jc/branch-parseopt-fix (2023-07-18) 1 commit
  (merged to 'next' on 2023-07-19 at 738d25bbb6)
 + branch: reject "--no-all" and "--no-remotes" early

 Command line parser fixes.
 source: <xmqqjzuxgjmi.fsf@gitster.g>


* jc/gitignore-doc-pattern-markup (2023-07-18) 1 commit
  (merged to 'next' on 2023-07-20 at ecfc9c6118)
 + gitignore.txt: mark up explanation of patterns consistently

 Doc mark-up update.
 source: <xmqqwmyxglhg.fsf@gitster.g>


* jc/parse-options-reset (2023-07-19) 1 commit
  (merged to 'next' on 2023-07-20 at d2178a4bd4)
 + reset: reject --no-(mixed|soft|hard|merge|keep) option

 Command line parser fix.
 source: <xmqq1qh4c998.fsf@gitster.g>


* jc/parse-options-show-branch (2023-07-19) 2 commits
  (merged to 'next' on 2023-07-20 at 4fa809c2f2)
 + show-branch: reject --[no-](topo|date)-order
 + show-branch: --no-sparse should give dense output

 Command line parser fixes.
 source: <xmqqh6pzc15n.fsf@gitster.g>


* jc/transport-parseopt-fix (2023-07-18) 2 commits
  (merged to 'next' on 2023-07-20 at 07f0026aaa)
 + fetch: reject --no-ipv[46]
 + parse-options: introduce OPT_IPVERSION()

 Command line parser fixes.
 source: <xmqqedl4gag8.fsf@gitster.g>


* jr/gitignore-doc-example-markup (2023-07-18) 1 commit
  (merged to 'next' on 2023-07-19 at 4f2ece568d)
 + gitignore.txt: use backticks instead of double quotes

 Doc update.
 source: <pull.1553.git.git.1689685982027.gitgitgadget@gmail.com>


* rs/ls-tree-no-full-name-fix (2023-07-18) 1 commit
  (merged to 'next' on 2023-07-19 at 86e570c084)
 + ls-tree: fix --no-full-name

 Command line parser fix.
 source: <d392a005-4eba-7cc7-9554-cdb8dc53975e@web.de>

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

* pv/doc-submodule-update-settings (2023-07-25) 1 commit
  (merged to 'next' on 2023-07-27 at e27b5b7ba8)
 + doc: highlight that .gitmodules does not support !command

 Rewrite the description of giving a custom command to the
 submodule.<name>.update configuraiton variable.

 Will merge to 'master'.
 source: <20230725212218.711116-1-pvutov@imap.cc>


* la/doc-choose-starting-point-fixup (2023-07-27) 3 commits
 - SubmittingPatches: use of older maintenance tracks is an exception
 - SubmittingPatches: explain why 'next' and above are inappropriate base
 - SubmittingPatches: choice of base for fixing an older maintenance track
 (this branch uses la/doc-choose-starting-point.)

 Clarify how to pick a starting point for a new topic in the
 SubmittingPatches document.

 Will merge to 'next'.
 source: <pull.1556.v2.git.1689314493.gitgitgadget@gmail.com>
 source: <pull.1556.v3.git.1690340701.gitgitgadget@gmail.com>


* jc/resolve-undo-fixes (2023-07-27) 3 commits
 - update-index: use unmerge_index_entry() to support removal
 - resolve-undo: allow resurrecting conflicted state that resolved to deletion
 - update-index: do not read HEAD and MERGE_HEAD unconditionally

 Assorted fixes and clean-up around resolve-undo data.

 source: <xmqqtttp9g6r.fsf@gitster.g>

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

* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* ab/tag-object-type-errors (2023-05-10) 4 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.

 Will discard.
 Stalled for too long.
 source: <cover-v2-0.3-00000000000-20221230T011725Z-avarab@gmail.com>


* ob/revert-of-revert (2023-05-05) 1 commit
 - sequencer: beautify subject of reverts of reverts

 Instead of "Revert "Revert "original"", give "Reapply "original""
 as the title for a revert of a revert.

 Will discard.
 Have been expecting a hopefully final reroll for too long.
 Looking much better, except for minor cosmetic issues.
 cf. <xmqqmt21txid.fsf@gitster.g>
 source: <20230428083528.1699221-1-oswald.buddenhagen@gmx.de>


* pw/rebase-i-after-failure (2023-04-21) 6 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase: fix rewritten list for failed pick
 - rebase --continue: refuse to commit after failed command
 - sequencer: factor out part of pick_commits()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Will discard.
 Have been expecting a reroll for too long.
 cf. <xmqqsfcthrpb.fsf@gitster.g>
 cf. <1fd54422-b66a-c2e4-7cd7-934ea01190ad@gmail.com>
 cf. <55dd6194-25e5-1a66-9c39-27cb19bfbb3c@gmail.com>
 source: <pull.1492.v2.git.1682089074.gitgitgadget@gmail.com>

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

* ah/sequencer-rewrite-todo-fix (2023-07-24) 1 commit
  (merged to 'next' on 2023-07-26 at 24e74d9eda)
 + sequencer: finish parsing the todo list despite an invalid first line

 When the user edits "rebase -i" todo file so that it starts with a
 "fixup", which would make it invalid, the command truncated the
 rest of the file before giving an error and returning the control
 back to the user.  Stop truncating to make it easier to correct
 such a malformed todo file.

 Will merge to 'master'.
 cf. <https://lore.kernel.org/git/0d1c5bfd-3ae5-83f0-a333-bbb8510a973a@gmail.com/>
 source: <20230722212830.132135-2-alexhenrie24@gmail.com>


* bb/trace2-comment-fix (2023-07-19) 1 commit
  (merged to 'next' on 2023-07-21 at f77aeba1b5)
 + trace2: fix a comment

 In-code comment fix.

 Will merge to 'master'.
 source: <20230719232444.555838-1-dev+git@drbeat.li>


* ks/ref-filter-describe (2023-07-24) 2 commits
  (merged to 'next' on 2023-07-26 at f4b3b3b7ef)
 + ref-filter: add new "describe" atom
 + ref-filter: add multiple-option parsing functions

 "git branch --list --format=<format>" and friends are taught
 a new "%(describe)" placeholder.

 Will merge to 'master'.
 source: <20230723162717.68123-1-five231003@gmail.com>


* bb/use-trace2-counters-for-fsync-stats (2023-07-20) 1 commit
  (merged to 'next' on 2023-07-26 at f2c2e3f2b9)
 + wrapper: use trace2 counters to collect fsync stats

 Instead of inventing a custom counter variables for debugging,
 use existing trace2 facility in the fsync customization codepath.

 Will merge to 'master'.
 source: <20230720164823.625815-1-dev+git@drbeat.li>


* am/doc-sha256 (2023-07-20) 1 commit
 - doc: sha256 is no longer experimental

 Tone down the warning on SHA-256 repositories being an experimental
 curiosity.  We do not have support for them to interoperate with
 traditional SHA-1 repositories, but at this point, we do not plan
 to make breaking changes to SHA-256 repositories and there is no
 longer need for such a strongly phrased warning.

 Review comments sent.
 cf. <xmqqr0p230rj.fsf@gitster.g>
 source: <ZLlNtbAbVcYH7eFb@adams>


* hy/blame-in-bare-with-contents (2023-07-21) 1 commit
 - blame: allow --contents to work with bare repo

 "git blame --contents=file" has been taught to work in a bare
 repository.

 Will merge to 'next'?
 source: <20230721035758.61956-1-hanyang.tony@bytedance.com>


* ja/worktree-orphan-fix (2023-07-26) 3 commits
  (merged to 'next' on 2023-07-27 at e475016065)
 + t2400: rewrite regex to avoid unintentional PCRE
 + builtin/worktree.c: convert tab in advice to space
 + t2400: drop no-op `--sq` from rev-parse call

 Fix tests with unportable regex patterns.

 Will merge to 'master'.
 source: <20230726214202.15775-1-jacobabel@nullpo.dev>


* rs/describe-parseopt-fix (2023-07-21) 1 commit
  (merged to 'next' on 2023-07-21 at e74749af0c)
 + describe: fix --no-exact-match

 Command line parser fix.

 Will merge to 'master'.
 source: <4eea7e15-6594-93e2-27b5-3d6e3c0baac6@web.de>


* rs/pack-objects-parseopt-fix (2023-07-21) 2 commits
  (merged to 'next' on 2023-07-21 at acdf84416c)
 + pack-objects: fix --no-quiet
 + pack-objects: fix --no-keep-true-parents

 Command line parser fix.

 Will merge to 'master'.
 source: <xmqqo7k9fa5x.fsf@gitster.g>


* jc/retire-get-sha1-hex (2023-07-24) 1 commit
  (merged to 'next' on 2023-07-27 at eeb9cc37f5)
 + hex: retire get_sha1_hex()

 The implementation of "get_sha1_hex()" that reads a hexadecimal
 string that spells a full object name has been extended to cope
 with any hash function used in the repository, but the "sha1" in
 its name survived.  Rename it to get_hash_hex(), a name that is
 more consistent within its friends like get_hash_hex_algop().

 Will merge to 'master'.
 source: <xmqq1qgwoqgo.fsf_-_@gitster.g>


* rs/parse-options-negation-help (2023-07-24) 5 commits
 - parse-options: show negatability of options in short help
 - t1502: test option negation
 - t1502: move optionspec help output to a file
 - t1502, docs: disallow --no-help
 - subtree: disallow --no-{help,quiet,debug,branch,message}

 "git cmd -h" learned to signal which options can be negated by
 listing such options like "--[no-]opt".

 Comments?
 Would showing "--[[no-]no-]opt" for "no-opt" be worth it?
 cf. <9e8225dd-1e8b-8af2-c3e1-0c5834694244@web.de>
 source: <4d01e971-07cb-4f11-3cc6-9d9f21e590c1@web.de>


* tb/commit-graph-tests (2023-07-24) 5 commits
 - t/lib-commit-graph.sh: avoid sub-shell in `graph_git_behavior()`
 - t5328: avoid top-level directory changes
 - t5318: avoid top-level directory changes
 - t/lib-commit-graph.sh: avoid directory change in `graph_git_behavior()`
 - t/lib-commit-graph.sh: allow `graph_read_expect()` in sub-directories

 Test updates.

 Will merge to 'next'?
 source: <cover.1690216758.git.me@ttaylorr.com>


* la/doc-choose-starting-point (2023-07-14) 5 commits
  (merged to 'next' on 2023-07-19 at 5a807cae46)
 + SubmittingPatches: simplify guidance for choosing a starting point
 + SubmittingPatches: emphasize need to communicate non-default starting points
 + SubmittingPatches: de-emphasize branches as starting points
 + SubmittingPatches: discuss subsystems separately from git.git
 + SubmittingPatches: reword awkward phrasing
 (this branch is used by la/doc-choose-starting-point-fixup.)

 Clarify how to choose the starting point for a new topic in
 developer guidance document.

 Will merge to 'master' together with the follow-on topic.
 source: <pull.1556.v2.git.1689314493.gitgitgadget@gmail.com>


* jc/doc-sent-patch-now-what (2023-07-19) 1 commit
 - MyFirstContribution: refrain from self-iterating too much

 Process document update.

 Will merge to 'next'?
 source: <xmqqzga9opdu.fsf@gitster.g>


* jc/parse-options-short-help (2023-07-19) 3 commits
 - short help: allow a gap smaller than USAGE_GAP
 - remote: simplify "remote add --tags" help text
 - short help: allow multi-line opthelp

 Command line parser fix, and a small parse-options API update.

 Comments?
 source: <xmqq5y6gg8fn.fsf@gitster.g>


* sl/sparse-check-attr (2023-07-18) 3 commits
 - check-attr: integrate with sparse-index
 - attr.c: read attributes in a sparse directory
 - t1092: add tests for 'git check-attr'

 Teach "git check-attr" work better with sparse-index.

 Expecting a reroll.
 cf. <c3ebe3b4-88b9-8ca2-2ee3-39a3e0d82201@github.com>
 cf. <5e478d8b-9ef4-864b-41e4-e0a79877d278@github.com>
 source: <20230718232916.31660-1-cheskaqiqi@gmail.com>


* ah/autoconf-fixes (2023-07-19) 3 commits
  (merged to 'next' on 2023-07-25 at 35ff66e0cb)
 + configure.ac: always save NO_ICONV to config.status
 + configure.ac: don't overwrite NO_CURL option
 + configure.ac: don't overwrite NO_EXPAT option

 "./configure --with-expat=no" did not work as a way to refuse use
 of the expat library on a system with the library installed, which
 has been corrected.

 Will merge to 'master'.
 source: <20230719145211.17854-2-aherrmann@suse.de>


* jc/branch-in-use-error-message (2023-07-21) 1 commit
 - branch: update the message to refuse touching a branch in-use

 "git branch -f X" to repoint the branch X seid that X was "checked
 out" in another worktree, even when branch X was not and instead
 being bisected or rebased.  The message was reworded to say the
 branch was "in use".

 Will merge to 'next'?
 source: <xmqqr0p1szhz.fsf_-_@gitster.g>


* jc/tree-walk-drop-base-offset (2023-07-07) 2 commits
  (merged to 'next' on 2023-07-25 at cc050c60a6)
 + tree-walk: drop unused base_offset from do_match()
 + tree-walk: lose base_offset that is never used in tree_entry_interesting

 Code simplification.

 Will merge to 'master'.
 source: <20230707222116.4129415-1-gitster@pobox.com>


* mh/credential-erase-improvements-more (2023-07-26) 2 commits
 - credential/wincred: erase matching creds only
 - credential/libsecret: erase matching creds only

 Update two credential helpers to correctly match which credential
 to erase; they dropped not the ones with stale password.

 Needs review.
 source: <pull.1527.v2.git.git.1690387585634.gitgitgadget@gmail.com>
 source: <pull.1529.git.git.1687596777147.gitgitgadget@gmail.com>


* cc/repack-sift-filtered-objects-to-separate-pack (2023-07-24) 8 commits
 . gc: add `gc.repackFilterTo` config option
 . repack: implement `--filter-to` for storing filtered out objects
 . gc: add `gc.repackFilter` config option
 . repack: add `--filter=<filter-spec>` option
 . repack: refactor finding pack prefix
 . repack: refactor finishing pack-objects command
 . t/helper: add 'find-pack' test-tool
 . pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 Breaks CI with some environment variables configured.
 cf. <xmqqo7jzh9mh.fsf@gitster.g>
 source: <20230724085909.3831831-1-christian.couder@gmail.com>


* js/doc-unit-tests (2023-06-30) 1 commit
 - unit tests: Add a project plan document

 Process to add some form of low-level unit tests has started.

 Still filling in blanks.
 source: <0169ce6fb9ccafc089b74ae406db0d1a8ff8ac65.1688165272.git.steadmon@google.com>


* jt/path-filter-fix (2023-07-25) 7 commits
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - t/helper/test-read-graph: implement `bloom-filters` mode
 - bloom.h: make `load_bloom_filter_from_graph()` public
 - t/helper/test-read-graph.c: extract `dump_graph_info()`
 - gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Still under discussion.
 cf. <20230727205308.401364-1-jonathantanmy@google.com>
 source: <cover.1689889382.git.jonathantanmy@google.com>


* mh/credential-libsecret-attrs (2023-06-16) 1 commit
 - credential/libsecret: store new attributes

 The way authentication related data other than passwords (e.g.
 oath token and password expiration data) are stored in libsecret
 keyrings has been rethought.

 Needs review.
 source: <pull.1469.v5.git.git.1686945306242.gitgitgadget@gmail.com>


* cc/git-replay (2023-06-03) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 What's the status of this thing?
 source: <20230602102533.876905-1-christian.couder@gmail.com>

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

* jc/doc-submodule-update-settings (2023-07-13) 1 commit
 . submodule: clarify that "!custom command" is the only oddball

 Rewrite the description of giving a custom command to the
 submodule.<name>.update configuraiton variable.

 Superseded by pv/doc-submodule-update-settings topic.
 source: <xmqqwmz3oacg.fsf@gitster.g>


* jc/rerere-read-rr-fix (2023-07-21) 1 commit
 . rerere: match the hash algorithm with its length

 SHA-256 fix.

 Superseded by jc/retire-get-sha1-hex
 source: <xmqqa5vou9ar.fsf@gitster.g>


* cb/checkout-same-branch-twice (2023-03-22) 2 commits
 . SQUASH??? the test marked to expect failure passes from day one
 . checkout/switch: disallow checking out same branch in multiple worktrees

 "git checkout -B $branch" failed to protect against checking out
 a branch that is checked out elsewhere, unlike "git branch -f" did.

 Have been expecting a hopefully minor and final reroll for too long.
 cf. <CAPUEspj_Bh+LgYLnWfeBdcq_uV5Cbou-7H51GLFjzSa5Qzby9w@mail.gmail.com>
 source: <20230120113553.24655-1-carenas@gmail.com>


* ed/fsmonitor-windows-named-pipe (2023-03-24) 1 commit
 . fsmonitor: handle differences between Windows named pipe functions

 Fix fsmonitor on Windows when the filesystem path contains certain
 characters.

 Have been expecting a reroll for too long.
 cf. <b9cf67e4-22a7-2ff0-8310-9223bea10d6d@jeffhostetler.com>
 source: <pull.1503.git.1679678090412.gitgitgadget@gmail.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
 . diff-index: enable sparse index

 "git diff-index" command has been taught to work better with the
 sparse index.

 Have been expecting a reroll for too long.
 cf. <62821012-4fc3-5ad8-695c-70f7ab14a8c9@github.com>
 source: <20230408112342.404318-1-nanth.raghul@gmail.com>


* es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
 . usage: clarify --recurse-submodules as a boolean

 The "--[no-]recurse-submodules" option of "git checkout" and others
 supported an undocumented syntax --recurse-submodules=<value> where
 the value can spell a Boolean in various ways.  The support for the
 syntax is being dropped.

 Have been expecting a reroll for too long.
 cf. <ZDSTFwMFO7vbj/du@google.com>
 source: <ZDSTFwMFO7vbj/du@google.com>

^ permalink raw reply	[relevance 28%]

* Re: What's cooking in git.git (Jul 2023, #05; Tue, 25)
  @ 2023-07-27 21:52 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-07-27 21:52 UTC (permalink / raw)
  To: Linus Arver; +Cc: git

Linus Arver <linusa@google.com> writes:

> Junio C Hamano <gitster@pobox.com> writes:
>
>> ...
>> 
>> --------------------------------------------------
>> [Cooking]
>>
>> ...
>> 
>> * jc/doc-sent-patch-now-what (2023-07-19) 1 commit
>>  - MyFirstContribution: refrain from self-iterating too much
>>
>>  Process document update.
>>
>>  Will merge to 'next'?
>>  source: <xmqqzga9opdu.fsf@gitster.g>
>
> Please wait until seeing my review (will send later today).

Thanks.

^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (Jul 2023, #05; Tue, 25)
  @ 2023-07-26 16:34 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-07-26 16:34 UTC (permalink / raw)
  To: Phillip Wood; +Cc: git

Phillip Wood <phillip.wood123@gmail.com> writes:

> On 25/07/2023 21:57, Junio C Hamano wrote:
>> * pw/rebase-i-after-failure (2023-04-21) 6 commits
>>   - rebase -i: fix adding failed command to the todo list
>>   - rebase: fix rewritten list for failed pick
>>   - rebase --continue: refuse to commit after failed command
>>   - sequencer: factor out part of pick_commits()
>>   - rebase -i: remove patch file after conflict resolution
>>   - rebase -i: move unlink() calls
>>   Various fixes to the behaviour of "rebase -i" when the command got
>>   interrupted by conflicting changes.
>>   Will discard.
>>   Have been expecting a reroll for too long.
>
> I am slowly working on a new version, but it probably makes sense to
> drop it in the meantime as it has been so long that the new version
> probably wants to be rebased onto master anyway.

Yeah, I think that is a good next step.  Unfortunately, folks who
have seen this round would likely have already forgotten and the
updated round would need fresh reviews anyway.

Thanks.

^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (Jul 2023, #05; Tue, 25)
  @ 2023-07-25 23:59 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-07-25 23:59 UTC (permalink / raw)
  To: Taylor Blau; +Cc: git, Christian Couder

Taylor Blau <me@ttaylorr.com> writes:

> On Tue, Jul 25, 2023 at 01:57:39PM -0700, Junio C Hamano wrote:
>> * cc/repack-sift-filtered-objects-to-separate-pack (2023-07-24) 8 commits
>> ...
>>  Will merge to 'next'.
>>  source: <20230724085909.3831831-1-christian.couder@gmail.com>
>
> This may be a little soon to merge into 'next'. I looked at version 1
> and had some concerns, but haven't had a chance to look at version 2.
>
> Now that we have a third round, I'll take a look at it now. Sorry for
> the hold up.

Thanks.

^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (Jul 2023, #05; Tue, 25)
  @ 2023-07-25 21:50 99% ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-07-25 21:50 UTC (permalink / raw)
  To: Kousik Sanagavarapu; +Cc: git

Kousik Sanagavarapu <five231003@gmail.com> writes:

> Junio C Hamano <gitster@pobox.com> wrote:
>
>> [New Topics]
>
>> * ks/ref-filter-describe (2023-07-24) 2 commits
>>  - ref-filter: add new "describe" atom
>>  - ref-filter: add multiple-option parsing functions
>> 
>>  "git branch --list --format=<format>" and friends are taught
>>  a new "%(describe)" placeholder.
>> 
>>  Will merge to 'next'.
>>  source: <20230723162717.68123-1-five231003@gmail.com>
>
> Hi,
>
> Could you merge the version (v5) that I sent out just now to 'next'
> instead of these? They address a minor change.

Nah, that is not worth it, as I've already done ! -> test_must_fail
fix locally yesterday.

Thanks.

^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (Jul 2023, #05; Tue, 25)
  2023-07-25 20:57 24% What's cooking in git.git (Jul 2023, #05; Tue, 25) Junio C Hamano
@ 2023-07-25 20:59 81% ` Junio C Hamano
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-07-25 20:59 UTC (permalink / raw)
  To: git

Here is a list of one-line summary for topics in flight.

The dates are committer date for topics not in 'next' (i.e.
typically the first time I happened to have "seen" them); for the
topics in 'next', there is a second date that shows when the topic
was last merged to 'next'.  Typically a topic is expected to spend
7 or so calendar days in 'next' before graduating to 'master'.

----------------------------------------------------------------
Expecting a reroll from the original author.
 - jc/doc-submodule-update-settings                             07-13          #1

Expecting a reroll.
 - tk/cherry-pick-sequence-requires-clean-worktree              06-01          #1
 - jt/path-filter-fix                                           07-13          #4
 - sl/sparse-check-attr                                         07-18          #3
 - ja/worktree-orphan-fix                                       07-21          #4

Needs review.
 - mh/credential-libsecret-attrs                                06-16          #1
 - mh/credential-erase-improvements-more                        06-24          #2

Still filling in blanks.
 - js/doc-unit-tests                                            06-30          #1

Undecided
 - cc/git-replay                                                06-03         #15
 - jc/parse-options-short-help                                  07-19          #3
 - am/doc-sha256                                                07-20          #1
 - rs/parse-options-negation-help                               07-24          #5

Will discard.
 - cb/checkout-same-branch-twice                                03-22          #2
 - ed/fsmonitor-windows-named-pipe                              03-24          #1
 - rn/sparse-diff-index                                         04-10          #1
 - es/recurse-submodules-option-is-a-bool                       04-10          #1
 - pw/rebase-i-after-failure                                    04-21          #6
 - ob/revert-of-revert                                          05-05          #1
 - ab/tag-object-type-errors                                    05-10          #4

Will merge to 'master'.
 + la/doc-choose-starting-point                                 07-14/07-19    #5
 + jr/gitignore-doc-example-markup                              07-18/07-19    #1
 + jc/am-parseopt-fix                                           07-18/07-19    #1
 + jc/branch-parseopt-fix                                       07-18/07-19    #1
 + rs/ls-tree-no-full-name-fix                                  07-18/07-19    #1
 + jc/gitignore-doc-pattern-markup                              07-18/07-20    #1
 + jc/transport-parseopt-fix                                    07-18/07-20    #2
 + jc/parse-options-reset                                       07-19/07-20    #1
 + jc/parse-options-show-branch                                 07-19/07-20    #2
 + bb/trace2-comment-fix                                        07-19/07-21    #1
 + rs/describe-parseopt-fix                                     07-21/07-21    #1
 + rs/pack-objects-parseopt-fix                                 07-21/07-21    #2
 + jc/tree-walk-drop-base-offset                                07-07/07-25    #2
 + ah/autoconf-fixes                                            07-19/07-25    #3

Will merge to 'next'.
 - bb/use-trace2-counters-for-fsync-stats                       07-20          #1
 - ah/sequencer-rewrite-todo-fix                                07-24          #1
 - ks/ref-filter-describe                                       07-24          #2
 - jc/retire-get-sha1-hex                                       07-24          #1
 - cc/repack-sift-filtered-objects-to-separate-pack             07-24          #8

Will merge to 'next'?
 - jc/doc-sent-patch-now-what                                   07-19          #1
 - hy/blame-in-bare-with-contents                               07-21          #1
 - jc/branch-in-use-error-message                               07-21          #1
 - tb/commit-graph-tests                                        07-24          #5

^ permalink raw reply	[relevance 81%]

* What's cooking in git.git (Jul 2023, #05; Tue, 25)
@ 2023-07-25 20:57 24% Junio C Hamano
  2023-07-25 20:59 81% ` Junio C Hamano
                   ` (3 more replies)
  0 siblings, 4 replies; 200+ results
From: Junio C Hamano @ 2023-07-25 20:57 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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/advise-force-pushing (2023-07-13) 3 commits
  (merged to 'next' on 2023-07-17 at b040e8280e)
 + push: don't imply that integration is always required before pushing
 + remote: don't imply that integration is always required before pushing
 + wt-status: don't show divergence advice when committing

 Help newbies by suggesting that there are cases where force-pushing
 is a valid and sensible thing to update a branch at a remote
 repository, rather than reconciling with merge/rebase.
 source: <20230713044128.3771818-1-alexhenrie24@gmail.com>


* dk/bundle-i18n-more (2023-07-13) 1 commit
  (merged to 'next' on 2023-07-18 at a9745efbe2)
 + i18n: mark more bundle.c strings for translation

 Update message mark-up for i18n in "git bundle".
 source: <pull.1550.git.1689285683013.gitgitgadget@gmail.com>


* dk/t4002-syntaxo-fix (2023-07-14) 1 commit
  (merged to 'next' on 2023-07-17 at 75d729ee52)
 + t4002: fix "diff can read from stdin" syntax

 Test fix.
 source: <pull.1545.git.git.1689341410476.gitgitgadget@gmail.com>


* jk/nested-points-at (2023-07-17) 4 commits
  (merged to 'next' on 2023-07-18 at cf33f44a50)
 + ref-filter: simplify return type of match_points_at
 + ref-filter: avoid parsing non-tags in match_points_at()
 + ref-filter: avoid parsing tagged objects in match_points_at()
 + ref-filter: handle nested tags in --points-at option

 "git tag --list --points-at X" showed tags that directly refers to
 object X, but did not list a tag that points at such a tag, which
 has been corrected.
 source: <20230702223342.GA1598765@coredump.intra.peff.net>


* jk/unused-parameter (2023-07-13) 14 commits
  (merged to 'next' on 2023-07-18 at 59d8f4ec1e)
 + t/helper: mark unused callback void data parameters
 + tag: mark unused parameters in each_tag_name_fn callbacks
 + rev-parse: mark unused parameter in for_each_abbrev callback
 + replace: mark unused parameter in each_mergetag_fn callback
 + replace: mark unused parameter in ref callback
 + merge-tree: mark unused parameter in traverse callback
 + fsck: mark unused parameters in various fsck callbacks
 + revisions: drop unused "opt" parameter in "tweak" callbacks
 + count-objects: mark unused parameter in alternates callback
 + am: mark unused keep_cr parameters
 + http-push: mark unused parameter in xml callback
 + http: mark unused parameters in curl callbacks
 + do_for_each_ref_helper(): mark unused repository parameter
 + test-ref-store: drop unimplemented reflog-expire command

 Mark-up unused parameters in the code so that we can eventually
 enable -Wunused-parameter by default.
 source: <20230703064347.GA3524892@coredump.intra.peff.net>


* mh/mingw-case-sensitive-build (2023-06-12) 1 commit
  (merged to 'next' on 2023-07-17 at 2c72856851)
 + mingw: use lowercase includes for some Windows headers

 Names of MinGW header files are spelled in mixed case in some
 source files, but the build host can be using case sensitive
 filesystem with header files with their name spelled in all
 lowercase.
 source: <20230604211934.1365289-1-mh@glandium.org>


* rs/ref-filter-signature-fix (2023-07-17) 1 commit
  (merged to 'next' on 2023-07-18 at e74f016a60)
 + t6300: fix setup with GPGSSH but without GPG

 Test fix.
 source: <cbc22750-af93-9274-2ed4-6dfd356568e8@web.de>


* rs/strbuf-addftime-simplify (2023-07-17) 1 commit
  (merged to 'next' on 2023-07-18 at d665b0f0e9)
 + strbuf: use skip_prefix() in strbuf_addftime()

 Code clean-up.
 source: <fccba24c-584d-6329-69a7-75cf0458af7d@web.de>


* tb/object-access-overflow-protection (2023-07-14) 20 commits
  (merged to 'next' on 2023-07-17 at 9ad8a08011)
 + commit-graph.c: prevent overflow in `verify_commit_graph()`
 + commit-graph.c: prevent overflow in `write_commit_graph()`
 + commit-graph.c: prevent overflow in `merge_commit_graph()`
 + commit-graph.c: prevent overflow in `split_graph_merge_strategy()`
 + commit-graph.c: prevent overflow in `load_tree_for_commit()`
 + commit-graph.c: prevent overflow in `fill_commit_in_graph()`
 + commit-graph.c: prevent overflow in `fill_commit_graph_info()`
 + commit-graph.c: prevent overflow in `load_oid_from_graph()`
 + commit-graph.c: prevent overflow in add_graph_to_chain()
 + commit-graph.c: prevent overflow in `write_commit_graph_file()`
 + pack-bitmap.c: ensure that eindex lookups don't overflow
 + midx.c: prevent overflow in `fill_included_packs_batch()`
 + midx.c: prevent overflow in `write_midx_internal()`
 + midx.c: store `nr`, `alloc` variables as `size_t`'s
 + midx.c: prevent overflow in `nth_midxed_offset()`
 + midx.c: prevent overflow in `nth_midxed_object_oid()`
 + midx.c: use `size_t`'s for fanout nr and alloc
 + packfile.c: use checked arithmetic in `nth_packed_object_offset()`
 + packfile.c: prevent overflow in `load_idx()`
 + packfile.c: prevent overflow in `nth_packed_object_id()`

 Various offset computation in the code that accesses the packfiles
 and other data in the object layer has been hardened against
 arithmetic overflow, especially on 32-bit systems.
 source: <ZLAJNbIBFUPHYhlt@nand.local>
 source: <cover.1689205042.git.me@ttaylorr.com>


* tb/refs-exclusion-and-packed-refs (2023-07-10) 16 commits
  (merged to 'next' on 2023-07-13 at 6d72f3e995)
 + ls-refs.c: avoid enumerating hidden refs where possible
 + upload-pack.c: avoid enumerating hidden refs where possible
 + builtin/receive-pack.c: avoid enumerating hidden references
 + refs.h: implement `hidden_refs_to_excludes()`
 + refs.h: let `for_each_namespaced_ref()` take excluded patterns
 + revision.h: store hidden refs in a `strvec`
 + refs/packed-backend.c: add trace2 counters for jump list
 + refs/packed-backend.c: implement jump lists to avoid excluded pattern(s)
 + refs/packed-backend.c: refactor `find_reference_location()`
 + refs: plumb `exclude_patterns` argument throughout
 + builtin/for-each-ref.c: add `--exclude` option
 + ref-filter.c: parameterize match functions over patterns
 + ref-filter: add `ref_filter_clear()`
 + ref-filter: clear reachable list pointers after freeing
 + ref-filter.h: provide `REF_FILTER_INIT`
 + refs.c: rename `ref_filter`

 Enumerating refs in the packed-refs file, while excluding refs that
 match certain patterns, has been optimized.
 source: <cover.1689023520.git.me@ttaylorr.com>

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

* ah/sequencer-rewrite-todo-fix (2023-07-24) 1 commit
 - sequencer: finish parsing the todo list despite an invalid first line

 When the user edits "rebase -i" todo file so that it starts with a
 "fixup", which would make it invalid, the command truncated the
 rest of the file before giving an error and returning the control
 back to the user.  Stop truncating to make it easier to correct
 such a malformed todo file.

 Will merge to 'next'.
 cf. <https://lore.kernel.org/git/0d1c5bfd-3ae5-83f0-a333-bbb8510a973a@gmail.com/>
 source: <20230722212830.132135-2-alexhenrie24@gmail.com>


* bb/trace2-comment-fix (2023-07-19) 1 commit
  (merged to 'next' on 2023-07-21 at f77aeba1b5)
 + trace2: fix a comment

 In-code comment fix.

 Will merge to 'master'.
 source: <20230719232444.555838-1-dev+git@drbeat.li>


* ks/ref-filter-describe (2023-07-24) 2 commits
 - ref-filter: add new "describe" atom
 - ref-filter: add multiple-option parsing functions

 "git branch --list --format=<format>" and friends are taught
 a new "%(describe)" placeholder.

 Will merge to 'next'.
 source: <20230723162717.68123-1-five231003@gmail.com>


* bb/use-trace2-counters-for-fsync-stats (2023-07-20) 1 commit
 - wrapper: use trace2 counters to collect fsync stats

 Instead of inventing a custom counter variables for debugging,
 use existing trace2 facility in the fsync customization codepath.

 Will merge to 'next'.
 source: <20230720164823.625815-1-dev+git@drbeat.li>


* am/doc-sha256 (2023-07-20) 1 commit
 - doc: sha256 is no longer experimental

 Tone down the warning on SHA-256 repositories being an experimental
 curiosity.  We do not have support for them to interoperate with
 traditional SHA-1 repositories, but at this point, we do not plan
 to make breaking changes to SHA-256 repositories and there is no
 longer need for such a strongly phrased warning.

 Review comments sent.
 cf. <xmqqr0p230rj.fsf@gitster.g>
 source: <ZLlNtbAbVcYH7eFb@adams>


* hy/blame-in-bare-with-contents (2023-07-21) 1 commit
 - blame: allow --contents to work with bare repo

 "git blame --contents=file" has been taught to work in a bare
 repository.

 Will merge to 'next'?
 source: <20230721035758.61956-1-hanyang.tony@bytedance.com>


* ja/worktree-orphan-fix (2023-07-21) 4 commits
 - SQUASH???
 - t2400: rewrite regex to avoid unintentional PCRE
 - builtin/worktree.c: convert tab in advice to space
 - t2400: drop no-op `--sq` from rev-parse call

 Expecting a reroll.
 cf. <axnxvnmo6ekhhccppinji73ivlandwuqs44epmq4pdefm7ukiv@ejz7bee5xjli>
 source: <20230721044012.24360-1-jacobabel@nullpo.dev>


* rs/describe-parseopt-fix (2023-07-21) 1 commit
  (merged to 'next' on 2023-07-21 at e74749af0c)
 + describe: fix --no-exact-match

 Command line parser fix.

 Will merge to 'master'.
 source: <4eea7e15-6594-93e2-27b5-3d6e3c0baac6@web.de>


* rs/pack-objects-parseopt-fix (2023-07-21) 2 commits
  (merged to 'next' on 2023-07-21 at acdf84416c)
 + pack-objects: fix --no-quiet
 + pack-objects: fix --no-keep-true-parents

 Command line parser fix.

 Will merge to 'master'.
 source: <xmqqo7k9fa5x.fsf@gitster.g>


* jc/retire-get-sha1-hex (2023-07-24) 1 commit
 - hex: retire get_sha1_hex()

 The implementation of "get_sha1_hex()" that reads a hexadecimal
 string that spells a full object name has been extended to cope
 with any hash function used in the repository, but the "sha1" in
 its name survived.  Rename it to get_hash_hex(), a name that is
 more consistent within its friends like get_hash_hex_algop().

 Will merge to 'next'.
 source: <xmqq1qgwoqgo.fsf_-_@gitster.g>


* rs/parse-options-negation-help (2023-07-24) 5 commits
 - parse-options: show negatability of options in short help
 - t1502: test option negation
 - t1502: move optionspec help output to a file
 - t1502, docs: disallow --no-help
 - subtree: disallow --no-{help,quiet,debug,branch,message}

 "git cmd -h" learned to signal which options can be negated by
 listing such options like "--[no-]opt".

 Comments?
 Would showing "--[[no-]no-]opt" for "no-opt" be worth it?
 cf. <9e8225dd-1e8b-8af2-c3e1-0c5834694244@web.de>
 source: <4d01e971-07cb-4f11-3cc6-9d9f21e590c1@web.de>


* tb/commit-graph-tests (2023-07-24) 5 commits
 - t/lib-commit-graph.sh: avoid sub-shell in `graph_git_behavior()`
 - t5328: avoid top-level directory changes
 - t5318: avoid top-level directory changes
 - t/lib-commit-graph.sh: avoid directory change in `graph_git_behavior()`
 - t/lib-commit-graph.sh: allow `graph_read_expect()` in sub-directories

 Test updates.

 Will merge to 'next'?
 source: <cover.1690216758.git.me@ttaylorr.com>

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

* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* ed/fsmonitor-windows-named-pipe (2023-03-24) 1 commit
 - fsmonitor: handle differences between Windows named pipe functions

 Fix fsmonitor on Windows when the filesystem path contains certain
 characters.

 Will discard.
 Have been expecting a reroll for too long.
 cf. <b9cf67e4-22a7-2ff0-8310-9223bea10d6d@jeffhostetler.com>
 source: <pull.1503.git.1679678090412.gitgitgadget@gmail.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
 - diff-index: enable sparse index

 "git diff-index" command has been taught to work better with the
 sparse index.

 Will discard.
 Have been expecting a reroll for too long.
 cf. <62821012-4fc3-5ad8-695c-70f7ab14a8c9@github.com>
 source: <20230408112342.404318-1-nanth.raghul@gmail.com>


* es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
 - usage: clarify --recurse-submodules as a boolean

 The "--[no-]recurse-submodules" option of "git checkout" and others
 supported an undocumented syntax --recurse-submodules=<value> where
 the value can spell a Boolean in various ways.  The support for the
 syntax is being dropped.

 Will discard.
 Have been expecting a reroll for too long.
 cf. <ZDSTFwMFO7vbj/du@google.com>
 source: <ZDSTFwMFO7vbj/du@google.com>


* cb/checkout-same-branch-twice (2023-03-22) 2 commits
 - SQUASH??? the test marked to expect failure passes from day one
 - checkout/switch: disallow checking out same branch in multiple worktrees

 "git checkout -B $branch" failed to protect against checking out
 a branch that is checked out elsewhere, unlike "git branch -f" did.

 Will discard.
 Have been expecting a hopefully minor and final reroll for too long.
 cf. <CAPUEspj_Bh+LgYLnWfeBdcq_uV5Cbou-7H51GLFjzSa5Qzby9w@mail.gmail.com>
 source: <20230120113553.24655-1-carenas@gmail.com>


* ab/tag-object-type-errors (2023-05-10) 4 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.

 Will discard.
 Stalled for too long.
 source: <cover-v2-0.3-00000000000-20221230T011725Z-avarab@gmail.com>


* ob/revert-of-revert (2023-05-05) 1 commit
 - sequencer: beautify subject of reverts of reverts

 Instead of "Revert "Revert "original"", give "Reapply "original""
 as the title for a revert of a revert.

 Will discard.
 Have been expecting a hopefully final reroll for too long.
 Looking much better, except for minor cosmetic issues.
 cf. <xmqqmt21txid.fsf@gitster.g>
 source: <20230428083528.1699221-1-oswald.buddenhagen@gmx.de>


* pw/rebase-i-after-failure (2023-04-21) 6 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase: fix rewritten list for failed pick
 - rebase --continue: refuse to commit after failed command
 - sequencer: factor out part of pick_commits()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Will discard.
 Have been expecting a reroll for too long.
 cf. <xmqqsfcthrpb.fsf@gitster.g>
 cf. <1fd54422-b66a-c2e4-7cd7-934ea01190ad@gmail.com>
 cf. <55dd6194-25e5-1a66-9c39-27cb19bfbb3c@gmail.com>
 source: <pull.1492.v2.git.1682089074.gitgitgadget@gmail.com>

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

* la/doc-choose-starting-point (2023-07-14) 5 commits
  (merged to 'next' on 2023-07-19 at 5a807cae46)
 + SubmittingPatches: simplify guidance for choosing a starting point
 + SubmittingPatches: emphasize need to communicate non-default starting points
 + SubmittingPatches: de-emphasize branches as starting points
 + SubmittingPatches: discuss subsystems separately from git.git
 + SubmittingPatches: reword awkward phrasing

 Clarify how to choose the starting point for a new topic in
 developer guidance document.

 Will merge to 'master'.
 source: <pull.1556.v2.git.1689314493.gitgitgadget@gmail.com>


* jr/gitignore-doc-example-markup (2023-07-18) 1 commit
  (merged to 'next' on 2023-07-19 at 4f2ece568d)
 + gitignore.txt: use backticks instead of double quotes

 Doc update.

 Will merge to 'master'.
 source: <pull.1553.git.git.1689685982027.gitgitgadget@gmail.com>


* jc/am-parseopt-fix (2023-07-18) 1 commit
  (merged to 'next' on 2023-07-19 at eaf592531e)
 + am: simplify parsing of "--[no-]keep-cr"

 Code simplification.

 Will merge to 'master'.
 source: <xmqqr0p5gjv3.fsf@gitster.g>


* jc/branch-parseopt-fix (2023-07-18) 1 commit
  (merged to 'next' on 2023-07-19 at 738d25bbb6)
 + branch: reject "--no-all" and "--no-remotes" early

 Command line parser fixes.

 Will merge to 'master'.
 source: <xmqqjzuxgjmi.fsf@gitster.g>


* rs/ls-tree-no-full-name-fix (2023-07-18) 1 commit
  (merged to 'next' on 2023-07-19 at 86e570c084)
 + ls-tree: fix --no-full-name

 Command line parser fix.

 Will merge to 'master'.
 source: <d392a005-4eba-7cc7-9554-cdb8dc53975e@web.de>


* jc/doc-sent-patch-now-what (2023-07-19) 1 commit
 - MyFirstContribution: refrain from self-iterating too much

 Process document update.

 Will merge to 'next'?
 source: <xmqqzga9opdu.fsf@gitster.g>


* jc/gitignore-doc-pattern-markup (2023-07-18) 1 commit
  (merged to 'next' on 2023-07-20 at ecfc9c6118)
 + gitignore.txt: mark up explanation of patterns consistently

 Doc mark-up update.

 Will merge to 'master'.
 source: <xmqqwmyxglhg.fsf@gitster.g>


* jc/parse-options-reset (2023-07-19) 1 commit
  (merged to 'next' on 2023-07-20 at d2178a4bd4)
 + reset: reject --no-(mixed|soft|hard|merge|keep) option

 Command line parser fix.

 Will merge to 'master'.
 source: <xmqq1qh4c998.fsf@gitster.g>


* jc/parse-options-short-help (2023-07-19) 3 commits
 - short help: allow a gap smaller than USAGE_GAP
 - remote: simplify "remote add --tags" help text
 - short help: allow multi-line opthelp

 Command line parser fix, and a small parse-options API update.

 Comments?
 source: <xmqq5y6gg8fn.fsf@gitster.g>


* jc/parse-options-show-branch (2023-07-19) 2 commits
  (merged to 'next' on 2023-07-20 at 4fa809c2f2)
 + show-branch: reject --[no-](topo|date)-order
 + show-branch: --no-sparse should give dense output

 Command line parser fixes.

 Will merge to 'master'.
 source: <xmqqh6pzc15n.fsf@gitster.g>


* jc/transport-parseopt-fix (2023-07-18) 2 commits
  (merged to 'next' on 2023-07-20 at 07f0026aaa)
 + fetch: reject --no-ipv[46]
 + parse-options: introduce OPT_IPVERSION()

 Command line parser fixes.

 Will merge to 'master'.
 source: <xmqqedl4gag8.fsf@gitster.g>


* sl/sparse-check-attr (2023-07-18) 3 commits
 - check-attr: integrate with sparse-index
 - attr.c: read attributes in a sparse directory
 - t1092: add tests for 'git check-attr'

 Teach "git check-attr" work better with sparse-index.

 Expecting a reroll.
 cf. <c3ebe3b4-88b9-8ca2-2ee3-39a3e0d82201@github.com>
 cf. <5e478d8b-9ef4-864b-41e4-e0a79877d278@github.com>
 source: <20230718232916.31660-1-cheskaqiqi@gmail.com>


* ah/autoconf-fixes (2023-07-19) 3 commits
  (merged to 'next' on 2023-07-25 at 35ff66e0cb)
 + configure.ac: always save NO_ICONV to config.status
 + configure.ac: don't overwrite NO_CURL option
 + configure.ac: don't overwrite NO_EXPAT option

 "./configure --with-expat=no" did not work as a way to refuse use
 of the expat library on a system with the library installed, which
 has been corrected.

 Will merge to 'master'.
 source: <20230719145211.17854-2-aherrmann@suse.de>


* jc/branch-in-use-error-message (2023-07-21) 1 commit
 - branch: update the message to refuse touching a branch in-use

 "git branch -f X" to repoint the branch X seid that X was "checked
 out" in another worktree, even when branch X was not and instead
 being bisected or rebased.  The message was reworded to say the
 branch was "in use".

 Will merge to 'next'?
 source: <xmqqr0p1szhz.fsf_-_@gitster.g>


* jc/doc-submodule-update-settings (2023-07-13) 1 commit
 . submodule: clarify that "!custom command" is the only oddball

 Rewrite the description of giving a custom command to the
 submodule.<name>.update configuraiton variable.

 Expecting a reroll from the original author.
 cf. <0d29ac42-4e8f-71b6-b85f-00de182e2957@imap.cc>
 source: <xmqqwmz3oacg.fsf@gitster.g>


* jc/tree-walk-drop-base-offset (2023-07-07) 2 commits
  (merged to 'next' on 2023-07-25 at cc050c60a6)
 + tree-walk: drop unused base_offset from do_match()
 + tree-walk: lose base_offset that is never used in tree_entry_interesting

 Code simplification.

 Will merge to 'master'.
 source: <20230707222116.4129415-1-gitster@pobox.com>


* mh/credential-erase-improvements-more (2023-06-24) 2 commits
 - credential/wincred: erase matching creds only
 - credential/libsecret: erase matching creds only

 Needs review.
 source: <pull.1529.git.git.1687596777147.gitgitgadget@gmail.com>


* cc/repack-sift-filtered-objects-to-separate-pack (2023-07-24) 8 commits
 - gc: add `gc.repackFilterTo` config option
 - repack: implement `--filter-to` for storing filtered out objects
 - gc: add `gc.repackFilter` config option
 - repack: add `--filter=<filter-spec>` option
 - repack: refactor finding pack prefix
 - repack: refactor finishing pack-objects command
 - t/helper: add 'find-pack' test-tool
 - pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 Will merge to 'next'.
 source: <20230724085909.3831831-1-christian.couder@gmail.com>


* js/doc-unit-tests (2023-06-30) 1 commit
 - unit tests: Add a project plan document

 Process to add some form of low-level unit tests has started.

 Still filling in blanks.
 source: <0169ce6fb9ccafc089b74ae406db0d1a8ff8ac65.1688165272.git.steadmon@google.com>


* jt/path-filter-fix (2023-07-13) 4 commits
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Expecting a reroll.
 cf. <20230720202203.3816309-1-jonathantanmy@google.com>
 source: <cover.1689283789.git.jonathantanmy@google.com>


* mh/credential-libsecret-attrs (2023-06-16) 1 commit
 - credential/libsecret: store new attributes

 The way authentication related data other than passwords (e.g.
 oath token and password expiration data) are stored in libsecret
 keyrings has been rethought.

 Needs review.
 source: <pull.1469.v5.git.git.1686945306242.gitgitgadget@gmail.com>


* cc/git-replay (2023-06-03) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 What's the status of this thing?
 source: <20230602102533.876905-1-christian.couder@gmail.com>

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

* jc/rerere-read-rr-fix (2023-07-21) 1 commit
 . rerere: match the hash algorithm with its length

 SHA-256 fix.

 Superseded by jc/retire-get-sha1-hex
 source: <xmqqa5vou9ar.fsf@gitster.g>

^ permalink raw reply	[relevance 24%]

* What's cooking in git.git (Jul 2023, #04; Wed, 19)
@ 2023-07-19 21:25 22% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-07-19 21:25 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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']

* cw/compat-util-header-cleanup (2023-07-05) 6 commits
  (merged to 'next' on 2023-07-08 at c244b65c4f)
 + git-compat-util: move alloc macros to git-compat-util.h
 + treewide: remove unnecessary includes for wrapper.h
 + kwset: move translation table from ctype
 + sane-ctype.h: create header for sane-ctype macros
 + git-compat-util: move wrapper.c funcs to its header
 + git-compat-util: move strbuf.c funcs to its header

 Further shuffling of declarations across header files to streamline
 file dependencies.
 source: <20230705170812.3833103-1-calvinwan@google.com>


* jc/pathspec-match-with-common-prefix (2023-07-08) 2 commits
  (merged to 'next' on 2023-07-10 at 4146f391ed)
 + dir: match "attr" pathspec magic with correct paths
 + t6135: attr magic with path pattern

 "git ls-files '(attr:X)D/'" that triggers the common prefix
 optimization codepath failed to read from "D/.gitattributes",
 which has been corrected.
 source: <20230707220457.3655121-1-gitster@pobox.com>


* jk/imap-send-unused-variable-cleanup (2023-07-05) 3 commits
  (merged to 'next' on 2023-07-06 at d2798ee0fe)
 + imap-send: drop unused fields from imap_cmd_cb
 + imap-send: drop unused parameter from imap_cmd_cb callback
 + imap-send: use server conf argument in setup_curl()

 "imap-send" codepaths got cleaned up to get rid of unused
 parameters.
 source: <20230703063247.GA3524302@coredump.intra.peff.net>


* ks/ref-filter-signature (2023-06-06) 2 commits
  (merged to 'next' on 2023-07-06 at 1748d2bb93)
 + ref-filter: add new "signature" atom
 + t/lib-gpg: introduce new prereq GPG2

 The "git for-each-ref" family of commands learned placeholders
 related to GPG signature verification.
 cf. <CAP8UFD1CfUm+9PTXO0wBBdBs0U=YVte+EiPbDyUyg7T152aw2g@mail.gmail.com>
 source: <20230604185815.15761-1-five231003@gmail.com>


* ma/t0091-fixup (2023-07-05) 1 commit
  (merged to 'next' on 2023-07-06 at 3f82b468b4)
 + t0091-bugreport.sh: actually verify some content of report

 "git bugreport" tests did not test what it wanted to test, which
 has been corrected.
 source: <20230705183532.3057433-1-martin.agren@gmail.com>


* mh/doc-credential-helpers (2023-07-10) 1 commit
  (merged to 'next' on 2023-07-11 at a391669194)
 + doc: gitcredentials: link to helper list

 Doc update.
 source: <pull.1538.v3.git.1688848614262.gitgitgadget@gmail.com>


* pw/diff-no-index-from-named-pipes (2023-07-05) 4 commits
  (merged to 'next' on 2023-07-08 at 225230a441)
 + diff --no-index: support reading from named pipes
 + t4054: test diff --no-index with stdin
 + diff --no-index: die on error reading stdin
 + diff --no-index: refuse to compare stdin to a directory

 "git diff --no-index" learned to read from named pipes as if they
 were regular files, to allow "git diff <(process) <(substitution)"
 some shells support.
 source: <cover.1688586536.git.phillip.wood@dunelm.org.uk>


* rs/ls-tree-prefix-simplify (2023-07-07) 1 commit
  (merged to 'next' on 2023-07-08 at 3e4826525f)
 + ls-tree: simplify prefix handling

 Code simplification.
 source: <b34aa99b-2bf1-c645-bdf5-03ac258b4bf5@web.de>


* rs/packet-length-simplify (2023-07-07) 1 commit
  (merged to 'next' on 2023-07-08 at 7f4b52e75b)
 + pkt-line: add size parameter to packet_length()

 Code simplification.
 source: <4d2bb49b-9c3c-ea58-274b-d9e9586620c1@web.de>


* rs/pretty-format-double-negation-fix (2023-07-07) 1 commit
  (merged to 'next' on 2023-07-08 at 6674b562ff)
 + pretty: avoid double negative in format_commit_item()

 Code clarification.
 source: <8d4fcad1-5f71-4790-17ee-e9ba0a3118dc@web.de>


* rs/userformat-find-requirements-simplify (2023-07-07) 1 commit
  (merged to 'next' on 2023-07-08 at 6cdc328a08)
 + pretty: use strchr(3) in userformat_find_requirements()

 Code simplification.
 source: <108ab1a2-28f4-dd62-1f90-64f37708aa8c@web.de>


* tb/fsck-no-progress (2023-07-10) 6 commits
  (merged to 'next' on 2023-07-11 at aab8389518)
 + commit-graph.c: avoid duplicated progress output during `verify`
 + commit-graph.c: pass progress to `verify_one_commit_graph()`
 + commit-graph.c: iteratively verify commit-graph chains
 + commit-graph.c: extract `verify_one_commit_graph()`
 + fsck: suppress MIDX output with `--no-progress`
 + fsck: suppress commit-graph output with `--no-progress`

 "git fsck --no-progress" still spewed noise from the commit-graph
 subsystem, which has been corrected.
 source: <cover.1688776280.git.me@ttaylorr.com>


* tb/repack-cleanup (2023-07-11) 2 commits
  (merged to 'next' on 2023-07-11 at f598c59a8a)
 + builtin/repack.c: avoid dir traversal in `collect_pack_filenames()`
 + builtin/repack.c: only repack `.pack`s that exist

 The recent change to "git repack" made it react less nicely when a
 leftover .idx file that no longer has the corresponding .pack file
 in the repository, which has been corrected.
 source: <cover.1689096750.git.me@ttaylorr.com>


* vd/adjust-mfow-doc-to-updated-headers (2023-07-04) 1 commit
  (merged to 'next' on 2023-07-08 at 38103c697d)
 + docs: add necessary headers to Documentation/MFOW.txt

 Code snippets in a tutorial document no longer compiled after
 recent header shuffling, which have been corrected.
 source: <20230702151457.3227-1-vinayakdev.sci@gmail.com>

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

* dk/bundle-i18n-more (2023-07-13) 1 commit
  (merged to 'next' on 2023-07-18 at a9745efbe2)
 + i18n: mark more bundle.c strings for translation

 Update message mark-up for i18n in "git bundle".

 Will merge to 'master'.
 source: <pull.1550.git.1689285683013.gitgitgadget@gmail.com>


* jk/unused-parameter (2023-07-13) 14 commits
  (merged to 'next' on 2023-07-18 at 59d8f4ec1e)
 + t/helper: mark unused callback void data parameters
 + tag: mark unused parameters in each_tag_name_fn callbacks
 + rev-parse: mark unused parameter in for_each_abbrev callback
 + replace: mark unused parameter in each_mergetag_fn callback
 + replace: mark unused parameter in ref callback
 + merge-tree: mark unused parameter in traverse callback
 + fsck: mark unused parameters in various fsck callbacks
 + revisions: drop unused "opt" parameter in "tweak" callbacks
 + count-objects: mark unused parameter in alternates callback
 + am: mark unused keep_cr parameters
 + http-push: mark unused parameter in xml callback
 + http: mark unused parameters in curl callbacks
 + do_for_each_ref_helper(): mark unused repository parameter
 + test-ref-store: drop unimplemented reflog-expire command

 Mark-up unused parameters in the code so that we can eventually
 enable -Wunused-parameter by default.

 Will merge to 'master'.
 source: <20230703064347.GA3524892@coredump.intra.peff.net>


* dk/t4002-syntaxo-fix (2023-07-14) 1 commit
  (merged to 'next' on 2023-07-17 at 75d729ee52)
 + t4002: fix "diff can read from stdin" syntax

 Test fix.

 Will merge to 'master'.
 source: <pull.1545.git.git.1689341410476.gitgitgadget@gmail.com>


* la/doc-choose-starting-point (2023-07-14) 5 commits
  (merged to 'next' on 2023-07-19 at 5a807cae46)
 + SubmittingPatches: simplify guidance for choosing a starting point
 + SubmittingPatches: emphasize need to communicate non-default starting points
 + SubmittingPatches: de-emphasize branches as starting points
 + SubmittingPatches: discuss subsystems separately from git.git
 + SubmittingPatches: reword awkward phrasing

 Clarify how to choose the starting point for a new topic in
 developer guidance document.

 Will merge to 'master'.
 source: <pull.1556.v2.git.1689314493.gitgitgadget@gmail.com>


* rs/ref-filter-signature-fix (2023-07-17) 1 commit
  (merged to 'next' on 2023-07-18 at e74f016a60)
 + t6300: fix setup with GPGSSH but without GPG

 Test fix.

 Will merge to 'master'.
 source: <cbc22750-af93-9274-2ed4-6dfd356568e8@web.de>


* rs/strbuf-addftime-simplify (2023-07-17) 1 commit
  (merged to 'next' on 2023-07-18 at d665b0f0e9)
 + strbuf: use skip_prefix() in strbuf_addftime()

 Code clean-up.

 Will merge to 'master'.
 source: <fccba24c-584d-6329-69a7-75cf0458af7d@web.de>


* jk/nested-points-at (2023-07-17) 4 commits
  (merged to 'next' on 2023-07-18 at cf33f44a50)
 + ref-filter: simplify return type of match_points_at
 + ref-filter: avoid parsing non-tags in match_points_at()
 + ref-filter: avoid parsing tagged objects in match_points_at()
 + ref-filter: handle nested tags in --points-at option

 "git tag --list --points-at X" showed tags that directly refers to
 object X, but did not list a tag that points at such a tag, which
 has been corrected.

 Will merge to 'master'.
 source: <20230702223342.GA1598765@coredump.intra.peff.net>


* jr/gitignore-doc-example-markup (2023-07-18) 1 commit
  (merged to 'next' on 2023-07-19 at 4f2ece568d)
 + gitignore.txt: use backticks instead of double quotes

 Doc update.

 Will merge to 'master'.
 source: <pull.1553.git.git.1689685982027.gitgitgadget@gmail.com>


* jc/am-parseopt-fix (2023-07-18) 1 commit
  (merged to 'next' on 2023-07-19 at eaf592531e)
 + am: simplify parsing of "--[no-]keep-cr"

 Code simplification.

 Will merge to 'master'.
 source: <xmqqr0p5gjv3.fsf@gitster.g>


* jc/branch-parseopt-fix (2023-07-18) 1 commit
  (merged to 'next' on 2023-07-19 at 738d25bbb6)
 + branch: reject "--no-all" and "--no-remotes" early

 Command line parser fixes.

 Will merge to 'master'.
 source: <xmqqjzuxgjmi.fsf@gitster.g>


* rs/ls-tree-no-full-name-fix (2023-07-18) 1 commit
  (merged to 'next' on 2023-07-19 at 86e570c084)
 + ls-tree: fix --no-full-name

 Command line parser fix.

 Will merge to 'master'.
 source: <d392a005-4eba-7cc7-9554-cdb8dc53975e@web.de>


* jc/describe-parseopt-fix (2023-07-18) 1 commit
 - describe: --no-exact-match should not be the same as --exact-match

 Command line parser fix.

 Comments?
 source: <xmqqy1jcgbiv.fsf@gitster.g>


* jc/doc-sent-patch-now-what (2023-07-19) 1 commit
 - MyFirstContribution: refrain from self-iterating too much

 Process document update.

 Will merge to 'next'?
 source: <xmqqzga9opdu.fsf@gitster.g>


* jc/gitignore-doc-pattern-markup (2023-07-18) 1 commit
 - gitignore.txt: mark up explanation of patterns consistently

 Doc mark-up update.

 Will merge to 'next'.
 source: <xmqqwmyxglhg.fsf@gitster.g>


* jc/parse-options-reset (2023-07-19) 1 commit
 - reset: reject --no-(mixed|soft|hard|merge|keep) option

 Command line parser fix.

 Will merge to 'next'.
 source: <xmqq1qh4c998.fsf@gitster.g>


* jc/parse-options-short-help (2023-07-18) 3 commits
 - short help: allow a gap smaller than USAGE_GAP
 - remote: simplify "remote add --tags" help text
 - short help: allow multi-line opthelp

 Command line parser fix, and a small parse-options API update.

 Comments?
 source: <xmqq5y6gg8fn.fsf@gitster.g>


* jc/parse-options-show-branch (2023-07-19) 2 commits
 - show-branch: reject --[no-](topo|date)-order
 - show-branch: --no-sparse should give dense output

 Command line parser fixes.

 Will merge to 'next'.
 source: <xmqqh6pzc15n.fsf@gitster.g>


* jc/transport-parseopt-fix (2023-07-18) 2 commits
 - fetch: reject --no-ipv[46]
 - parse-options: introduce OPT_IPVERSION()

 Command line parser fixes.

 Will merge to 'next'.
 source: <xmqqedl4gag8.fsf@gitster.g>


* sl/sparse-check-attr (2023-07-18) 3 commits
 - check-attr: integrate with sparse-index
 - attr.c: read attributes in a sparse directory
 - t1092: add tests for 'git check-attr'

 Teach "git check-attr" work better with sparse-index.

 Needs review.
 source: <20230718232916.31660-1-cheskaqiqi@gmail.com>

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

* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* ed/fsmonitor-windows-named-pipe (2023-03-24) 1 commit
 - fsmonitor: handle differences between Windows named pipe functions

 Fix fsmonitor on Windows when the filesystem path contains certain
 characters.

 Will discard.
 Have been expecting a reroll for too long.
 cf. <b9cf67e4-22a7-2ff0-8310-9223bea10d6d@jeffhostetler.com>
 source: <pull.1503.git.1679678090412.gitgitgadget@gmail.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
 - diff-index: enable sparse index

 "git diff-index" command has been taught to work better with the
 sparse index.

 Will discard.
 Have been expecting a reroll for too long.
 cf. <62821012-4fc3-5ad8-695c-70f7ab14a8c9@github.com>
 source: <20230408112342.404318-1-nanth.raghul@gmail.com>


* es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
 - usage: clarify --recurse-submodules as a boolean

 The "--[no-]recurse-submodules" option of "git checkout" and others
 supported an undocumented syntax --recurse-submodules=<value> where
 the value can spell a Boolean in various ways.  The support for the
 syntax is being dropped.

 Will discard.
 Have been expecting a reroll for too long.
 cf. <ZDSTFwMFO7vbj/du@google.com>
 source: <ZDSTFwMFO7vbj/du@google.com>


* cb/checkout-same-branch-twice (2023-03-22) 2 commits
 - SQUASH??? the test marked to expect failure passes from day one
 - checkout/switch: disallow checking out same branch in multiple worktrees

 "git checkout -B $branch" failed to protect against checking out
 a branch that is checked out elsewhere, unlike "git branch -f" did.

 Will discard.
 Have been expecting a hopefully minor and final reroll for too long.
 cf. <CAPUEspj_Bh+LgYLnWfeBdcq_uV5Cbou-7H51GLFjzSa5Qzby9w@mail.gmail.com>
 source: <20230120113553.24655-1-carenas@gmail.com>


* tk/pull-conflict-suggest-rebase-merge-not-rebase-true (2023-02-13) 1 commit
 - pull: conflict hint pull.rebase suggestion should offer "merges" vs "true"

 In an advice message after failed non-ff pull, we used to suggest
 setting pull.rebase=true, but these days pull.rebase=merges may be
 more inline with the original spirit of "rebuild your side on top
 of theirs".

 Will discard.
 This is too much of a departure from the existing practice.
 cf. <CAMMLpeTPEoKVTbfc17w+Y9qn7jOGmQi_Ux0Y3sFW5QTgGWJ=SA@mail.gmail.com>
 cf. <CABPp-BGqAxKnxDRVN4cYMteLp33hvto07R3=TJBT5WubJT4+Og@mail.gmail.com>
 source: <pull.1474.git.1675614276549.gitgitgadget@gmail.com>


* ab/tag-object-type-errors (2023-05-10) 4 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.

 Will discard.
 Stalled for too long.
 source: <cover-v2-0.3-00000000000-20221230T011725Z-avarab@gmail.com>


* ad/test-record-count-when-harness-is-in-use (2022-12-25) 1 commit
 - test-lib: allow storing counts with test harnesses

 Allow summary results from tests to be written to t/test-results
 directory even when a test harness like 'prove' is in use.

 Will discard.
 Have been expecting a reroll for too long.
 cf. <CABPp-BGoPuGCZw+9wCgdYyRR4Zf4y9Kun27GrQhtMdYWpOUsYQ@mail.gmail.com>
 source: <20221224225200.1027806-1-adam@dinwoodie.org>


* so/diff-merges-more (2022-12-18) 5 commits
 - diff-merges: improve --diff-merges documentation
 - diff-merges: issue warning on lone '-m' option
 - diff-merges: support list of values for --diff-merges
 - diff-merges: implement log.diffMerges-m-imply-p config
 - diff-merges: implement [no-]hide option and log.diffMergesHide config

 Assorted updates to "--diff-merges=X" option.

 Will discard.
 Breaking compatibility does not seem worth it.
 source: <20221217132955.108542-1-sorganov@gmail.com>


* ab/imap-send-requires-curl (2023-02-02) 6 commits
 - imap-send: correctly report "host" when using "tunnel"
 - imap-send: remove old --no-curl codepath
 - imap-send: make --curl no-optional
 - imap-send: replace auto-probe libcurl with hard dependency
 - imap-send doc: the imap.sslVerify is used with imap.tunnel
 - imap-send: note "auth_method", not "host" on auth method failure

 Give a hard dependency on cURL library to build "git imap-send",
 and remove the code to interact with IMAP server without using cURL.

 Will discard.
 Have been expecting a reroll for too long.
 The 'tunnel' part is still iffy.
 cf. <230203.86bkmabfjr.gmgdl@evledraar.gmail.com>
 source: <cover-v2-0.6-00000000000-20230202T093706Z-avarab@gmail.com>


* cw/submodule-status-in-parallel (2023-03-02) 6 commits
 - diff-lib: parallelize run_diff_files for submodules
 - diff-lib: refactor out diff_change logic
 - submodule: refactor is_submodule_modified()
 - submodule: move status parsing into function
 - submodule: rename strbuf variable
 - run-command: add on_stderr_output_fn to run_processes_parallel_opts

 "git submodule status" learned to run the comparison in submodule
 repositories in parallel.

 Will discard.
 Have been expecting a reroll for too long.
 cf. <CAFySSZDk05m6gU5-V1R+y3YnQ5PPduVW54+_gjBwD0rmacsLsw@mail.gmail.com>
 cf. <230307.865ybc273g.gmgdl@evledraar.gmail.com>
 source: <20230302215237.1473444-1-calvinwan@google.com>


* ob/revert-of-revert (2023-05-05) 1 commit
 - sequencer: beautify subject of reverts of reverts

 Instead of "Revert "Revert "original"", give "Reapply "original""
 as the title for a revert of a revert.

 Will discard.
 Have been expecting a hopefully final reroll for too long.
 Looking much better, except for minor cosmetic issues.
 cf. <xmqqmt21txid.fsf@gitster.g>
 source: <20230428083528.1699221-1-oswald.buddenhagen@gmx.de>


* pw/rebase-i-after-failure (2023-04-21) 6 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase: fix rewritten list for failed pick
 - rebase --continue: refuse to commit after failed command
 - sequencer: factor out part of pick_commits()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Expecting a reroll.
 cf. <xmqqsfcthrpb.fsf@gitster.g>
 cf. <1fd54422-b66a-c2e4-7cd7-934ea01190ad@gmail.com>
 cf. <55dd6194-25e5-1a66-9c39-27cb19bfbb3c@gmail.com>
 source: <pull.1492.v2.git.1682089074.gitgitgadget@gmail.com>

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

* ah/autoconf-fixes (2023-07-19) 3 commits
 - configure.ac: always save NO_ICONV to config.status
 - configure.ac: don't overwrite NO_CURL option
 - configure.ac: don't overwrite NO_EXPAT option

 "./configure --with-expat=no" did not work as a way to refuse use
 of the expat library on a system with the library installed, which
 has been corrected.

 Needs review.
 source: <20230719145211.17854-2-aherrmann@suse.de>


* jc/branch-in-use-error-message (2023-07-12) 1 commit
 . branch: update the message to refuse touching a branch in-use

 "git branch -f X" to repoint the branch X seid that X was "checked
 out" in another worktree, even when branch X was not and instead
 being bisected or rebased.  The message was reworded to say the
 branch was "in use".

 Just a weather-balloon.
 source: <xmqqy1jkrcmg.fsf_-_@gitster.g>


* tb/object-access-overflow-protection (2023-07-14) 20 commits
  (merged to 'next' on 2023-07-17 at 9ad8a08011)
 + commit-graph.c: prevent overflow in `verify_commit_graph()`
 + commit-graph.c: prevent overflow in `write_commit_graph()`
 + commit-graph.c: prevent overflow in `merge_commit_graph()`
 + commit-graph.c: prevent overflow in `split_graph_merge_strategy()`
 + commit-graph.c: prevent overflow in `load_tree_for_commit()`
 + commit-graph.c: prevent overflow in `fill_commit_in_graph()`
 + commit-graph.c: prevent overflow in `fill_commit_graph_info()`
 + commit-graph.c: prevent overflow in `load_oid_from_graph()`
 + commit-graph.c: prevent overflow in add_graph_to_chain()
 + commit-graph.c: prevent overflow in `write_commit_graph_file()`
 + pack-bitmap.c: ensure that eindex lookups don't overflow
 + midx.c: prevent overflow in `fill_included_packs_batch()`
 + midx.c: prevent overflow in `write_midx_internal()`
 + midx.c: store `nr`, `alloc` variables as `size_t`'s
 + midx.c: prevent overflow in `nth_midxed_offset()`
 + midx.c: prevent overflow in `nth_midxed_object_oid()`
 + midx.c: use `size_t`'s for fanout nr and alloc
 + packfile.c: use checked arithmetic in `nth_packed_object_offset()`
 + packfile.c: prevent overflow in `load_idx()`
 + packfile.c: prevent overflow in `nth_packed_object_id()`

 Various offset computation in the code that accesses the packfiles
 and other data in the object layer has been hardened against
 arithmetic overflow, especially on 32-bit systems.

 Will merge to 'master'.
 source: <ZLAJNbIBFUPHYhlt@nand.local>
 source: <cover.1689205042.git.me@ttaylorr.com>


* jc/doc-submodule-update-settings (2023-07-13) 1 commit
 . submodule: clarify that "!custom command" is the only oddball

 Rewrite the description of giving a custom command to the
 submodule.<name>.update configuraiton variable.

 Just a weather-balloon.
 source: <xmqqwmz3oacg.fsf@gitster.g>


* ah/advise-force-pushing (2023-07-13) 3 commits
  (merged to 'next' on 2023-07-17 at b040e8280e)
 + push: don't imply that integration is always required before pushing
 + remote: don't imply that integration is always required before pushing
 + wt-status: don't show divergence advice when committing

 Help newbies by suggesting that there are cases where force-pushing
 is a valid and sensible thing to update a branch at a remote
 repository, rather than reconciling with merge/rebase.

 Will merge to 'master'.
 cf. <919d1ba8-bb8b-a77b-cef3-db14f168ed4a@gmail.com>
 source: <20230713044128.3771818-1-alexhenrie24@gmail.com>


* jc/tree-walk-drop-base-offset (2023-07-07) 2 commits
 - tree-walk: drop unused base_offset from do_match()
 - tree-walk: lose base_offset that is never used in tree_entry_interesting

 Code simplification.

 Needs review.
 source: <20230707222116.4129415-1-gitster@pobox.com>


* mh/credential-erase-improvements-more (2023-06-24) 2 commits
 - credential/wincred: erase matching creds only
 - credential/libsecret: erase matching creds only

 Needs review.
 source: <pull.1529.git.git.1687596777147.gitgitgadget@gmail.com>


* cc/repack-sift-filtered-objects-to-separate-pack (2023-07-05) 8 commits
 - gc: add `gc.repackFilterTo` config option
 - repack: implement `--filter-to` for storing filtered out objects
 - gc: add `gc.repackFilter` config option
 - repack: add `--filter=<filter-spec>` option
 - repack: refactor finding pack prefix
 - repack: refactor finishing pack-objects command
 - t/helper: add 'find-pack' test-tool
 - pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 Comments?
 cf. <xmqqh6qi1byn.fsf@gitster.g>
 source: <20230705060812.2865188-1-christian.couder@gmail.com>


* js/doc-unit-tests (2023-06-30) 1 commit
 - unit tests: Add a project plan document

 Process to add some form of low-level unit tests has started.

 Still filling in blanks.
 source: <0169ce6fb9ccafc089b74ae406db0d1a8ff8ac65.1688165272.git.steadmon@google.com>


* mh/mingw-case-sensitive-build (2023-06-12) 1 commit
  (merged to 'next' on 2023-07-17 at 2c72856851)
 + mingw: use lowercase includes for some Windows headers

 Names of MinGW header files are spelled in mixed case in some
 source files, but the build host can be using case sensitive
 filesystem with header files with their name spelled in all
 lowercase.

 Will merge to 'master'.
 cf. <xmqqmt14a36k.fsf@gitster.g>
 source: <20230604211934.1365289-1-mh@glandium.org>


* jt/path-filter-fix (2023-07-13) 4 commits
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.
 source: <cover.1689283789.git.jonathantanmy@google.com>


* mh/credential-libsecret-attrs (2023-06-16) 1 commit
 - credential/libsecret: store new attributes

 The way authentication related data other than passwords (e.g.
 oath token and password expiration data) are stored in libsecret
 keyrings has been rethought.

 Needs review.
 source: <pull.1469.v5.git.git.1686945306242.gitgitgadget@gmail.com>


* tb/refs-exclusion-and-packed-refs (2023-07-10) 16 commits
  (merged to 'next' on 2023-07-13 at 6d72f3e995)
 + ls-refs.c: avoid enumerating hidden refs where possible
 + upload-pack.c: avoid enumerating hidden refs where possible
 + builtin/receive-pack.c: avoid enumerating hidden references
 + refs.h: implement `hidden_refs_to_excludes()`
 + refs.h: let `for_each_namespaced_ref()` take excluded patterns
 + revision.h: store hidden refs in a `strvec`
 + refs/packed-backend.c: add trace2 counters for jump list
 + refs/packed-backend.c: implement jump lists to avoid excluded pattern(s)
 + refs/packed-backend.c: refactor `find_reference_location()`
 + refs: plumb `exclude_patterns` argument throughout
 + builtin/for-each-ref.c: add `--exclude` option
 + ref-filter.c: parameterize match functions over patterns
 + ref-filter: add `ref_filter_clear()`
 + ref-filter: clear reachable list pointers after freeing
 + ref-filter.h: provide `REF_FILTER_INIT`
 + refs.c: rename `ref_filter`

 Enumerating refs in the packed-refs file, while excluding refs that
 match certain patterns, has been optimized.

 Will merge to 'master'.
 source: <cover.1689023520.git.me@ttaylorr.com>


* cc/git-replay (2023-06-03) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 What's the status of this thing?
 source: <20230602102533.876905-1-christian.couder@gmail.com>

^ permalink raw reply	[relevance 22%]

* What's cooking in git.git (Jul 2023, #03; Thu, 13)
@ 2023-07-13 23:09 27% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-07-13 23:09 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

There are quite a few topics that have been in "Expecting a reroll"
for too long.  I've moved those that are more than 3 months old to
the "Will discard" section, but given that Summer is a relatively
slow season, I'll keep these topics for a few more weeks at least.

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]

* ah/configure-no-expat (2023-07-13) 1 commit
 - configure.ac: Don't overwrite NO_EXPAT option

 "./configure --with-expat=no" did not work as a way to refuse use
 of the expat library on a system with the library installed, which
 has been corrected.

 Review response sent.
 cf. <xmqqwmz3pwx2.fsf@gitster.g>
 source: <20230713074654.23957-1-aherrmann@suse.de>


* jc/branch-in-use-error-message (2023-07-12) 1 commit
 - branch: update the message to refuse touching a branch in-use

 "git branch -f X" to repoint the branch X seid that X was "checked
 out" in another worktree, even when branch X was not and instead
 being bisected or rebased.  The message was reworded to say the
 branch was "in use".

 Will merge to 'next'?
 source: <xmqqy1jkrcmg.fsf_-_@gitster.g>


* tb/object-access-overflow-protection (2023-07-12) 20 commits
 - commit-graph.c: prevent overflow in `verify_commit_graph()`
 - commit-graph.c: prevent overflow in `write_commit_graph()`
 - commit-graph.c: prevent overflow in `merge_commit_graph()`
 - commit-graph.c: prevent overflow in `split_graph_merge_strategy()`
 - commit-graph.c: prevent overflow in `load_tree_for_commit()`
 - commit-graph.c: prevent overflow in `fill_commit_in_graph()`
 - commit-graph.c: prevent overflow in `fill_commit_graph_info()`
 - commit-graph.c: prevent overflow in `load_oid_from_graph()`
 - commit-graph.c: prevent overflow in add_graph_to_chain()
 - commit-graph.c: prevent overflow in `write_commit_graph_file()`
 - pack-bitmap.c: ensure that eindex lookups don't overflow
 - midx.c: prevent overflow in `fill_included_packs_batch()`
 - midx.c: prevent overflow in `write_midx_internal()`
 - midx.c: store `nr`, `alloc` variables as `size_t`'s
 - midx.c: prevent overflow in `nth_midxed_offset()`
 - midx.c: prevent overflow in `nth_midxed_object_oid()`
 - midx.c: use `size_t`'s for fanout nr and alloc
 - packfile.c: use checked arithmetic in `nth_packed_object_offset()`
 - packfile.c: prevent overflow in `load_idx()`
 - packfile.c: prevent overflow in `nth_packed_object_id()`

 Various offset computation in the code that accesses the packfiles
 and other data in the object layer has been hardened against
 arithmetic overflow, especially on 32-bit systems.

 Expecting a reroll or a fix-up.
 cf. <5d2cf09f-34c7-9a88-bab2-8bf348dd13bb@gmail.com>
 source: <cover.1689205042.git.me@ttaylorr.com>


* jc/doc-submodule-update-settings (2023-07-13) 1 commit
 - submodule: clarify that "!custom command" is the only oddball

 Rewrite the description of giving a custom command to the
 submodule.<name>.update configuraiton variable.

 source: <xmqqwmz3oacg.fsf@gitster.g>

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

* ed/fsmonitor-windows-named-pipe (2023-03-24) 1 commit
 - fsmonitor: handle differences between Windows named pipe functions

 Fix fsmonitor on Windows when the filesystem path contains certain
 characters.

 Will discard.
 Have been expecting a reroll for too long.
 cf. <b9cf67e4-22a7-2ff0-8310-9223bea10d6d@jeffhostetler.com>
 source: <pull.1503.git.1679678090412.gitgitgadget@gmail.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
 - diff-index: enable sparse index

 "git diff-index" command has been taught to work better with the
 sparse index.

 Will discard.
 Have been expecting a reroll for too long.
 cf. <62821012-4fc3-5ad8-695c-70f7ab14a8c9@github.com>
 source: <20230408112342.404318-1-nanth.raghul@gmail.com>


* es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
 - usage: clarify --recurse-submodules as a boolean

 The "--[no-]recurse-submodules" option of "git checkout" and others
 supported an undocumented syntax --recurse-submodules=<value> where
 the value can spell a Boolean in various ways.  The support for the
 syntax is being dropped.

 Will discard.
 Have been expecting a reroll for too long.
 cf. <ZDSTFwMFO7vbj/du@google.com>
 source: <ZDSTFwMFO7vbj/du@google.com>


* cb/checkout-same-branch-twice (2023-03-22) 2 commits
 - SQUASH??? the test marked to expect failure passes from day one
 - checkout/switch: disallow checking out same branch in multiple worktrees

 "git checkout -B $branch" failed to protect against checking out
 a branch that is checked out elsewhere, unlike "git branch -f" did.

 Will discard.
 Have been expecting a hopefully minor and final reroll for too long.
 cf. <CAPUEspj_Bh+LgYLnWfeBdcq_uV5Cbou-7H51GLFjzSa5Qzby9w@mail.gmail.com>
 source: <20230120113553.24655-1-carenas@gmail.com>


* tk/pull-conflict-suggest-rebase-merge-not-rebase-true (2023-02-13) 1 commit
 - pull: conflict hint pull.rebase suggestion should offer "merges" vs "true"

 In an advice message after failed non-ff pull, we used to suggest
 setting pull.rebase=true, but these days pull.rebase=merges may be
 more inline with the original spirit of "rebuild your side on top
 of theirs".

 Will discard.
 This is too much of a departure from the existing practice.
 cf. <CAMMLpeTPEoKVTbfc17w+Y9qn7jOGmQi_Ux0Y3sFW5QTgGWJ=SA@mail.gmail.com>
 cf. <CABPp-BGqAxKnxDRVN4cYMteLp33hvto07R3=TJBT5WubJT4+Og@mail.gmail.com>
 source: <pull.1474.git.1675614276549.gitgitgadget@gmail.com>


* ab/tag-object-type-errors (2023-05-10) 4 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.

 Will discard.
 Stalled for too long.
 source: <cover-v2-0.3-00000000000-20221230T011725Z-avarab@gmail.com>


* ad/test-record-count-when-harness-is-in-use (2022-12-25) 1 commit
 - test-lib: allow storing counts with test harnesses

 Allow summary results from tests to be written to t/test-results
 directory even when a test harness like 'prove' is in use.

 Will discard.
 Have been expecting a reroll for too long.
 cf. <CABPp-BGoPuGCZw+9wCgdYyRR4Zf4y9Kun27GrQhtMdYWpOUsYQ@mail.gmail.com>
 source: <20221224225200.1027806-1-adam@dinwoodie.org>


* so/diff-merges-more (2022-12-18) 5 commits
 - diff-merges: improve --diff-merges documentation
 - diff-merges: issue warning on lone '-m' option
 - diff-merges: support list of values for --diff-merges
 - diff-merges: implement log.diffMerges-m-imply-p config
 - diff-merges: implement [no-]hide option and log.diffMergesHide config

 Assorted updates to "--diff-merges=X" option.

 Will discard.
 Breaking compatibility does not seem worth it.
 source: <20221217132955.108542-1-sorganov@gmail.com>


* ab/imap-send-requires-curl (2023-02-02) 6 commits
 - imap-send: correctly report "host" when using "tunnel"
 - imap-send: remove old --no-curl codepath
 - imap-send: make --curl no-optional
 - imap-send: replace auto-probe libcurl with hard dependency
 - imap-send doc: the imap.sslVerify is used with imap.tunnel
 - imap-send: note "auth_method", not "host" on auth method failure

 Give a hard dependency on cURL library to build "git imap-send",
 and remove the code to interact with IMAP server without using cURL.

 Will discard.
 Have been expecting a reroll for too long.
 The 'tunnel' part is still iffy.
 cf. <230203.86bkmabfjr.gmgdl@evledraar.gmail.com>
 source: <cover-v2-0.6-00000000000-20230202T093706Z-avarab@gmail.com>


* cw/submodule-status-in-parallel (2023-03-02) 6 commits
 - diff-lib: parallelize run_diff_files for submodules
 - diff-lib: refactor out diff_change logic
 - submodule: refactor is_submodule_modified()
 - submodule: move status parsing into function
 - submodule: rename strbuf variable
 - run-command: add on_stderr_output_fn to run_processes_parallel_opts

 "git submodule status" learned to run the comparison in submodule
 repositories in parallel.

 Will discard.
 Have been expecting a reroll for too long.
 cf. <CAFySSZDk05m6gU5-V1R+y3YnQ5PPduVW54+_gjBwD0rmacsLsw@mail.gmail.com>
 cf. <230307.865ybc273g.gmgdl@evledraar.gmail.com>
 source: <20230302215237.1473444-1-calvinwan@google.com>


* ob/revert-of-revert (2023-05-05) 1 commit
 - sequencer: beautify subject of reverts of reverts

 Instead of "Revert "Revert "original"", give "Reapply "original""
 as the title for a revert of a revert.

 Will discard.
 Have been expecting a hopefully final reroll for too long.
 Looking much better, except for minor cosmetic issues.
 cf. <xmqqmt21txid.fsf@gitster.g>
 source: <20230428083528.1699221-1-oswald.buddenhagen@gmx.de>


* pw/rebase-i-after-failure (2023-04-21) 6 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase: fix rewritten list for failed pick
 - rebase --continue: refuse to commit after failed command
 - sequencer: factor out part of pick_commits()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Expecting a reroll.
 cf. <xmqqsfcthrpb.fsf@gitster.g>
 cf. <1fd54422-b66a-c2e4-7cd7-934ea01190ad@gmail.com>
 source: <pull.1492.v2.git.1682089074.gitgitgadget@gmail.com>

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

* ah/advise-force-pushing (2023-07-13) 3 commits
 - push: don't imply that integration is always required before pushing
 - remote: don't imply that integration is always required before pushing
 - wt-status: don't show divergence advice when committing

 Help newbies by suggesting that there are cases where force-pushing
 is a valid and sensible thing to update a branch at a remote
 repository, rather than reconciling with merge/rebase.

 Will merge to 'next'.
 cf. <919d1ba8-bb8b-a77b-cef3-db14f168ed4a@gmail.com>
 source: <20230713044128.3771818-1-alexhenrie24@gmail.com>


* jc/pathspec-match-with-common-prefix (2023-07-08) 2 commits
  (merged to 'next' on 2023-07-10 at 4146f391ed)
 + dir: match "attr" pathspec magic with correct paths
 + t6135: attr magic with path pattern

 "git ls-files '(attr:X)D/'" that triggers the common prefix
 optimization codepath failed to read from "D/.gitattributes",
 which has been corrected.

 Will merge to 'master'.
 source: <20230707220457.3655121-1-gitster@pobox.com>


* jc/tree-walk-drop-base-offset (2023-07-07) 2 commits
 - tree-walk: drop unused base_offset from do_match()
 - tree-walk: lose base_offset that is never used in tree_entry_interesting

 Code simplification.

 Needs review.
 source: <20230707222116.4129415-1-gitster@pobox.com>


* rs/ls-tree-prefix-simplify (2023-07-07) 1 commit
  (merged to 'next' on 2023-07-08 at 3e4826525f)
 + ls-tree: simplify prefix handling

 Code simplification.

 Will merge to 'master'.
 source: <b34aa99b-2bf1-c645-bdf5-03ac258b4bf5@web.de>


* rs/pretty-format-double-negation-fix (2023-07-07) 1 commit
  (merged to 'next' on 2023-07-08 at 6674b562ff)
 + pretty: avoid double negative in format_commit_item()

 Code clarification.

 Will merge to 'master'.
 source: <8d4fcad1-5f71-4790-17ee-e9ba0a3118dc@web.de>


* rs/userformat-find-requirements-simplify (2023-07-07) 1 commit
  (merged to 'next' on 2023-07-08 at 6cdc328a08)
 + pretty: use strchr(3) in userformat_find_requirements()

 Code simplification.

 Will merge to 'master'.
 source: <108ab1a2-28f4-dd62-1f90-64f37708aa8c@web.de>


* mh/doc-credential-helpers (2023-07-10) 1 commit
  (merged to 'next' on 2023-07-11 at a391669194)
 + doc: gitcredentials: link to helper list

 Doc update.

 Will merge to 'master'.
 source: <pull.1538.v3.git.1688848614262.gitgitgadget@gmail.com>


* tb/fsck-no-progress (2023-07-10) 6 commits
  (merged to 'next' on 2023-07-11 at aab8389518)
 + commit-graph.c: avoid duplicated progress output during `verify`
 + commit-graph.c: pass progress to `verify_one_commit_graph()`
 + commit-graph.c: iteratively verify commit-graph chains
 + commit-graph.c: extract `verify_one_commit_graph()`
 + fsck: suppress MIDX output with `--no-progress`
 + fsck: suppress commit-graph output with `--no-progress`

 "git fsck --no-progress" still spewed noise from the commit-graph
 subsystem, which has been corrected.

 Will merge to 'master'.
 source: <cover.1688776280.git.me@ttaylorr.com>


* tb/repack-cleanup (2023-07-11) 2 commits
  (merged to 'next' on 2023-07-11 at f598c59a8a)
 + builtin/repack.c: avoid dir traversal in `collect_pack_filenames()`
 + builtin/repack.c: only repack `.pack`s that exist

 The recent change to "git repack" made it react less nicely when a
 leftover .idx file that no longer has the corresponding .pack file
 in the repository, which has been corrected.

 Will merge to 'master'.
 source: <cover.1689096750.git.me@ttaylorr.com>


* cw/compat-util-header-cleanup (2023-07-05) 6 commits
  (merged to 'next' on 2023-07-08 at c244b65c4f)
 + git-compat-util: move alloc macros to git-compat-util.h
 + treewide: remove unnecessary includes for wrapper.h
 + kwset: move translation table from ctype
 + sane-ctype.h: create header for sane-ctype macros
 + git-compat-util: move wrapper.c funcs to its header
 + git-compat-util: move strbuf.c funcs to its header

 Further shuffling of declarations across header files to streamline
 file dependencies.

 Will merge to 'master'.
 source: <20230705170812.3833103-1-calvinwan@google.com>


* jk/imap-send-unused-variable-cleanup (2023-07-05) 3 commits
  (merged to 'next' on 2023-07-06 at d2798ee0fe)
 + imap-send: drop unused fields from imap_cmd_cb
 + imap-send: drop unused parameter from imap_cmd_cb callback
 + imap-send: use server conf argument in setup_curl()

 "imap-send" codepaths got cleaned up to get rid of unused
 parameters.

 Will merge to 'master'.
 source: <20230703063247.GA3524302@coredump.intra.peff.net>


* ma/t0091-fixup (2023-07-05) 1 commit
  (merged to 'next' on 2023-07-06 at 3f82b468b4)
 + t0091-bugreport.sh: actually verify some content of report

 "git bugreport" tests did not test what it wanted to test, which
 has been corrected.

 Will merge to 'master'.
 source: <20230705183532.3057433-1-martin.agren@gmail.com>


* rs/packet-length-simplify (2023-07-07) 1 commit
  (merged to 'next' on 2023-07-08 at 7f4b52e75b)
 + pkt-line: add size parameter to packet_length()

 Code simplification.

 Will merge to 'master'.
 source: <4d2bb49b-9c3c-ea58-274b-d9e9586620c1@web.de>


* vd/adjust-mfow-doc-to-updated-headers (2023-07-04) 1 commit
  (merged to 'next' on 2023-07-08 at 38103c697d)
 + docs: add necessary headers to Documentation/MFOW.txt

 Code snippets in a tutorial document no longer compiled after
 recent header shuffling, which have been corrected.

 Will merge to 'master'.
 source: <20230702151457.3227-1-vinayakdev.sci@gmail.com>


* mh/credential-erase-improvements-more (2023-06-24) 2 commits
 - credential/wincred: erase matching creds only
 - credential/libsecret: erase matching creds only

 Needs review.
 source: <pull.1529.git.git.1687596777147.gitgitgadget@gmail.com>


* pw/diff-no-index-from-named-pipes (2023-07-05) 4 commits
  (merged to 'next' on 2023-07-08 at 225230a441)
 + diff --no-index: support reading from named pipes
 + t4054: test diff --no-index with stdin
 + diff --no-index: die on error reading stdin
 + diff --no-index: refuse to compare stdin to a directory

 "git diff --no-index" learned to read from named pipes as if they
 were regular files, to allow "git diff <(process) <(substitution)"
 some shells support.

 Will merge to 'master'.
 source: <cover.1688586536.git.phillip.wood@dunelm.org.uk>


* cc/repack-sift-filtered-objects-to-separate-pack (2023-07-05) 8 commits
 - gc: add `gc.repackFilterTo` config option
 - repack: implement `--filter-to` for storing filtered out objects
 - gc: add `gc.repackFilter` config option
 - repack: add `--filter=<filter-spec>` option
 - repack: refactor finding pack prefix
 - repack: refactor finishing pack-objects command
 - t/helper: add 'find-pack' test-tool
 - pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 Comments?
 cf. <xmqqh6qi1byn.fsf@gitster.g>
 source: <20230705060812.2865188-1-christian.couder@gmail.com>


* js/doc-unit-tests (2023-06-30) 1 commit
 - unit tests: Add a project plan document

 Process to add some form of low-level unit tests has started.

 Still filling in blanks.
 source: <0169ce6fb9ccafc089b74ae406db0d1a8ff8ac65.1688165272.git.steadmon@google.com>


* mh/mingw-case-sensitive-build (2023-06-12) 1 commit
 - mingw: use lowercase includes for some Windows headers

 Names of MinGW header files are spelled in mixed case in some
 source files, but the build host can be using case sensitive
 filesystem with header files with their name spelled in all
 lowercase.

 Needs review.
 source: <20230604211934.1365289-1-mh@glandium.org>


* ks/ref-filter-signature (2023-06-06) 2 commits
  (merged to 'next' on 2023-07-06 at 1748d2bb93)
 + ref-filter: add new "signature" atom
 + t/lib-gpg: introduce new prereq GPG2

 The "git for-each-ref" family of commands learned placeholders
 related to GPG signature verification.

 Will merge to 'master'.
 cf. <CAP8UFD1CfUm+9PTXO0wBBdBs0U=YVte+EiPbDyUyg7T152aw2g@mail.gmail.com>
 source: <20230604185815.15761-1-five231003@gmail.com>


* jt/path-filter-fix (2023-06-13) 4 commits
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Expecting a reroll.
 cf. <c7b66d2c-cdc3-1f0f-60a0-a2ee21c277bf@github.com>
 source: <cover.1686677910.git.jonathantanmy@google.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* mh/credential-libsecret-attrs (2023-06-16) 1 commit
 - credential/libsecret: store new attributes

 The way authentication related data other than passwords (e.g.
 oath token and password expiration data) are stored in libsecret
 keyrings has been rethought.

 Needs review.
 source: <pull.1469.v5.git.git.1686945306242.gitgitgadget@gmail.com>


* tb/refs-exclusion-and-packed-refs (2023-07-10) 16 commits
  (merged to 'next' on 2023-07-13 at 6d72f3e995)
 + ls-refs.c: avoid enumerating hidden refs where possible
 + upload-pack.c: avoid enumerating hidden refs where possible
 + builtin/receive-pack.c: avoid enumerating hidden references
 + refs.h: implement `hidden_refs_to_excludes()`
 + refs.h: let `for_each_namespaced_ref()` take excluded patterns
 + revision.h: store hidden refs in a `strvec`
 + refs/packed-backend.c: add trace2 counters for jump list
 + refs/packed-backend.c: implement jump lists to avoid excluded pattern(s)
 + refs/packed-backend.c: refactor `find_reference_location()`
 + refs: plumb `exclude_patterns` argument throughout
 + builtin/for-each-ref.c: add `--exclude` option
 + ref-filter.c: parameterize match functions over patterns
 + ref-filter: add `ref_filter_clear()`
 + ref-filter: clear reachable list pointers after freeing
 + ref-filter.h: provide `REF_FILTER_INIT`
 + refs.c: rename `ref_filter`

 Enumerating refs in the packed-refs file, while excluding refs that
 match certain patterns, has been optimized.

 Will merge to 'master'.
 source: <cover.1689023520.git.me@ttaylorr.com>


* cc/git-replay (2023-06-03) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 source: <20230602102533.876905-1-christian.couder@gmail.com>

^ permalink raw reply	[relevance 27%]

* Re: What's cooking in git.git (Jul 2023, #01; Wed, 5)
  2023-07-06  1:05 26% What's cooking in git.git (Jul 2023, #01; Wed, 5) Junio C Hamano
@ 2023-07-06 23:28 99% ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-07-06 23:28 UTC (permalink / raw)
  To: git

Incremental update:

> * jk/imap-send-unused-variable-cleanup (2023-07-05) 3 commits
> * ma/t0091-fixup (2023-07-05) 1 commit
> * ks/ref-filter-signature (2023-06-06) 2 commits

Now in 'next'.

> * jk/cherry-pick-revert-status (2023-06-27) 1 commit
> * gc/config-context (2023-06-28) 11 commits
> * gc/config-partial-submodule-kvi-fix (2023-06-26) 1 commit
> * pw/apply-too-large (2023-06-26) 1 commit
> * jc/doc-hash-object-types (2023-06-28) 1 commit
> * rs/strbuf-expand-step (2023-06-18) 5 commits
> * pb/complete-diff-options (2023-06-26) 24 commits
> * cw/strbuf-cleanup (2023-06-12) 7 commits
> * tl/notes-separator (2023-06-21) 7 commits

Now in 'master'.

^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Jul 2023, #01; Wed, 5)
@ 2023-07-06  1:05 26% Junio C Hamano
  2023-07-06 23:28 99% ` Junio C Hamano
  0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2023-07-06  1:05 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

I expect the rest of the week would also be slower than usual.
There are quite a few good topics cooking, though.

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']

* bc/more-git-var (2023-06-27) 8 commits
  (merged to 'next' on 2023-06-27 at ea14687e91)
 + var: add config file locations
 + var: add attributes files locations
 + attr: expose and rename accessor functions
 + var: adjust memory allocation for strings
 + var: format variable structure with C99 initializers
 + var: add support for listing the shell
 + t: add a function to check executable bit
 + var: mark unused parameters in git_var callbacks

 Add more "git var" for toolsmiths to learn various locations Git is
 configured with either via the configuration or hardcoded defaults.
 source: <20230627161902.754472-1-sandals@crustytoothpaste.net>


* ps/revision-stdin-with-options (2023-06-15) 3 commits
  (merged to 'next' on 2023-06-26 at eda3e4d0b5)
 + revision: handle pseudo-opts in `--stdin` mode
 + revision: small readability improvement for reading from stdin
 + revision: reorder `read_revisions_from_stdin()`

 The set-up code for the get_revision() API now allows feeding
 options like --all and --not in the --stdin mode.
 source: <cover.1686839572.git.ps@pks.im>

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

* cw/compat-util-header-cleanup (2023-07-05) 6 commits
 - git-compat-util: move alloc macros to git-compat-util.h
 - treewide: remove unnecessary includes for wrapper.h
 - kwset: move translation table from ctype
 - sane-ctype.h: create header for sane-ctype macros
 - git-compat-util: move wrapper.c funcs to its header
 - git-compat-util: move strbuf.c funcs to its header

 Further shuffling of declarations across header files to streamline
 file dependencies.

 Will merge to 'next'?
 source: <20230705170812.3833103-1-calvinwan@google.com>


* jk/imap-send-unused-variable-cleanup (2023-07-05) 3 commits
 - imap-send: drop unused fields from imap_cmd_cb
 - imap-send: drop unused parameter from imap_cmd_cb callback
 - imap-send: use server conf argument in setup_curl()

 "imap-send" codepaths got cleaned up to get rid of unused
 parameters.

 Will merge to 'next'.
 source: <20230703063247.GA3524302@coredump.intra.peff.net>


* ma/t0091-fixup (2023-07-05) 1 commit
 - t0091-bugreport.sh: actually verify some content of report

 "git bugreport" tests did not test what it wanted to test, which
 has been corrected.

 Will merge to 'next'.
 source: <20230705183532.3057433-1-martin.agren@gmail.com>


* rs/packet-length-simplify (2023-07-04) 1 commit
 - pkt-line: don't check string length in packet_length()

 Code simplification.

 Will merge to 'next'?
 source: <89d58db7-6a01-b3fa-54f0-19d5a3819eb3@web.de>

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

* ed/fsmonitor-windows-named-pipe (2023-03-24) 1 commit
 - fsmonitor: handle differences between Windows named pipe functions

 Fix fsmonitor on Windows when the filesystem path contains certain
 characters.

 Expecting a reroll.
 cf. <b9cf67e4-22a7-2ff0-8310-9223bea10d6d@jeffhostetler.com>
 source: <pull.1503.git.1679678090412.gitgitgadget@gmail.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
 - diff-index: enable sparse index

 "git diff-index" command has been taught to work better with the
 sparse index.

 Expecting a reroll.
 cf. <62821012-4fc3-5ad8-695c-70f7ab14a8c9@github.com>
 source: <20230408112342.404318-1-nanth.raghul@gmail.com>


* es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
 - usage: clarify --recurse-submodules as a boolean

 The "--[no-]recurse-submodules" option of "git checkout" and others
 supported an undocumented syntax --recurse-submodules=<value> where
 the value can spell a Boolean in various ways.  The support for the
 syntax is being dropped.

 Expecting a reroll.
 cf. <ZDSTFwMFO7vbj/du@google.com>
 source: <ZDSTFwMFO7vbj/du@google.com>


* cb/checkout-same-branch-twice (2023-03-22) 2 commits
 - SQUASH??? the test marked to expect failure passes from day one
 - checkout/switch: disallow checking out same branch in multiple worktrees

 "git checkout -B $branch" failed to protect against checking out
 a branch that is checked out elsewhere, unlike "git branch -f" did.

 Expecting a hopefully minor and final reroll.
 cf. <CAPUEspj_Bh+LgYLnWfeBdcq_uV5Cbou-7H51GLFjzSa5Qzby9w@mail.gmail.com>
 source: <20230120113553.24655-1-carenas@gmail.com>


* tk/pull-conflict-suggest-rebase-merge-not-rebase-true (2023-02-13) 1 commit
 - pull: conflict hint pull.rebase suggestion should offer "merges" vs "true"

 In an advice message after failed non-ff pull, we used to suggest
 setting pull.rebase=true, but these days pull.rebase=merges may be
 more inline with the original spirit of "rebuild your side on top
 of theirs".

 May want to discard.
 This is too much of a departure from the existing practice.
 cf. <CAMMLpeTPEoKVTbfc17w+Y9qn7jOGmQi_Ux0Y3sFW5QTgGWJ=SA@mail.gmail.com>
 cf. <CABPp-BGqAxKnxDRVN4cYMteLp33hvto07R3=TJBT5WubJT4+Og@mail.gmail.com>
 source: <pull.1474.git.1675614276549.gitgitgadget@gmail.com>


* ab/tag-object-type-errors (2023-05-10) 4 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.
 source: <cover-v2-0.3-00000000000-20221230T011725Z-avarab@gmail.com>


* ad/test-record-count-when-harness-is-in-use (2022-12-25) 1 commit
 - test-lib: allow storing counts with test harnesses

 Allow summary results from tests to be written to t/test-results
 directory even when a test harness like 'prove' is in use.

 Expecting a reroll.
 cf. <CABPp-BGoPuGCZw+9wCgdYyRR4Zf4y9Kun27GrQhtMdYWpOUsYQ@mail.gmail.com>
 source: <20221224225200.1027806-1-adam@dinwoodie.org>


* so/diff-merges-more (2022-12-18) 5 commits
 - diff-merges: improve --diff-merges documentation
 - diff-merges: issue warning on lone '-m' option
 - diff-merges: support list of values for --diff-merges
 - diff-merges: implement log.diffMerges-m-imply-p config
 - diff-merges: implement [no-]hide option and log.diffMergesHide config

 Assorted updates to "--diff-merges=X" option.

 May want to discard.
 Breaking compatibility does not seem worth it.
 source: <20221217132955.108542-1-sorganov@gmail.com>


* ab/imap-send-requires-curl (2023-02-02) 6 commits
 - imap-send: correctly report "host" when using "tunnel"
 - imap-send: remove old --no-curl codepath
 - imap-send: make --curl no-optional
 - imap-send: replace auto-probe libcurl with hard dependency
 - imap-send doc: the imap.sslVerify is used with imap.tunnel
 - imap-send: note "auth_method", not "host" on auth method failure

 Give a hard dependency on cURL library to build "git imap-send",
 and remove the code to interact with IMAP server without using cURL.

 Expecting a reroll.
 The 'tunnel' part is still iffy.
 cf. <230203.86bkmabfjr.gmgdl@evledraar.gmail.com>
 source: <cover-v2-0.6-00000000000-20230202T093706Z-avarab@gmail.com>


* cw/submodule-status-in-parallel (2023-03-02) 6 commits
 - diff-lib: parallelize run_diff_files for submodules
 - diff-lib: refactor out diff_change logic
 - submodule: refactor is_submodule_modified()
 - submodule: move status parsing into function
 - submodule: rename strbuf variable
 - run-command: add on_stderr_output_fn to run_processes_parallel_opts

 "git submodule status" learned to run the comparison in submodule
 repositories in parallel.

 Expecting a reroll.
 cf. <CAFySSZDk05m6gU5-V1R+y3YnQ5PPduVW54+_gjBwD0rmacsLsw@mail.gmail.com>
 cf. <230307.865ybc273g.gmgdl@evledraar.gmail.com>
 source: <20230302215237.1473444-1-calvinwan@google.com>

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

* jk/cherry-pick-revert-status (2023-06-27) 1 commit
  (merged to 'next' on 2023-06-28 at 4a0d88ef7a)
 + fix cherry-pick/revert status when doing multiple commits

 During a cherry-pick or revert session that works on multiple
 commits, "git status" did not give correct information, which has
 been corrected.

 Will merge to 'master'.
 source: <20230627224230.1951135-1-jacob.e.keller@intel.com>


* ks/t4205-test-describe-with-abbrev-fix (2023-06-29) 1 commit
  (merged to 'next' on 2023-06-29 at 5fc309dc75)
 + t4205: correctly test %(describe:abbrev=...)

 Test update.

 Will merge to 'master'.
 source: <20230629133841.18784-2-five231003@gmail.com>


* jk/fsck-indices-in-worktrees (2023-06-29) 1 commit
  (merged to 'next' on 2023-06-29 at 9d245b3681)
 + fsck: avoid misleading variable name

 Code clarification.

 Will merge to 'master'.
 source: <20230629181333.87465-1-ericsunshine@charter.net>


* js/empty-index-fixes (2023-06-29) 3 commits
  (merged to 'next' on 2023-06-29 at cdfd131900)
 + commit -a -m: allow the top-level tree to become empty again
 + split-index: accept that a base index can be empty
 + do_read_index(): always mark index as initialized unless erroring out

 A few places failed to differenciate the case where the index is
 truly empty (nothing added) and we haven't yet read from the
 on-disk index file, which have been corrected.

 Will merge to 'master'.
 source: <pull.1554.git.1688044991.gitgitgadget@gmail.com>


* vd/adjust-mfow-doc-to-updated-headers (2023-07-04) 1 commit
 - docs: add necessary headers to Documentation/MFOW.txt

 Code snippets in a tutorial document no longer compiled after
 recent header shuffling, which have been corrected.

 Will merge to 'next'?
 source: <20230702151457.3227-1-vinayakdev.sci@gmail.com>


* mh/credential-erase-improvements-more (2023-06-24) 2 commits
 - credential/wincred: erase matching creds only
 - credential/libsecret: erase matching creds only

 Needs review.
 source: <pull.1529.git.git.1687596777147.gitgitgadget@gmail.com>


* gc/config-context (2023-06-28) 11 commits
  (merged to 'next' on 2023-06-28 at 38632f3daf)
 + config: pass source to config_parser_event_fn_t
 + config: add kvi.path, use it to evaluate includes
 + config.c: remove config_reader from configsets
 + config: pass kvi to die_bad_number()
 + trace2: plumb config kvi
 + config.c: pass ctx with CLI config
 + config: pass ctx with config files
 + config.c: pass ctx in configsets
 + config: add ctx arg to config_fn_t
 + urlmatch.h: use config_fn_t type
 + config: inline git_color_default_config

 Reduce reliance on a global state in the config reading API.

 Will merge to 'master'.
 source: <pull.1497.v5.git.git.1687980390.gitgitgadget@gmail.com>


* gc/config-partial-submodule-kvi-fix (2023-06-26) 1 commit
  (merged to 'next' on 2023-06-28 at 1fb30a34e3)
 + config: don't BUG when both kvi and source are set

 Partially revert a sanity check that the rest of the config code
 was not ready, to avoid triggering it in a corner case.

 Will merge to 'master'.
 source: <pull.1535.git.git.1687801297404.gitgitgadget@gmail.com>


* pw/apply-too-large (2023-06-26) 1 commit
  (merged to 'next' on 2023-06-28 at c0460d682c)
 + apply: improve error messages when reading patch

 "git apply" punts when it is fed too large a patch input; the error
 message it gives when it happens has been clarified.

 Will merge to 'master'.
 source: <pull.1552.git.1687772253869.gitgitgadget@gmail.com>


* pw/diff-no-index-from-named-pipes (2023-07-05) 4 commits
 - diff --no-index: support reading from named pipes
 - t4054: test diff --no-index with stdin
 - diff --no-index: die on error reading stdin
 - diff --no-index: refuse to compare stdin to a directory

 "git diff --no-index" learned to read from named pipes as if they
 were regular files, to allow "git diff <(process) <(substitution)"
 some shells support.

 Will merge to 'next'.
 source: <cover.1688586536.git.phillip.wood@dunelm.org.uk>


* jc/doc-hash-object-types (2023-06-28) 1 commit
  (merged to 'next' on 2023-06-28 at adff1700c2)
 + docs: add git hash-object -t option's possible values

 Doc update.

 Will merge to 'master'.
 source: <pull.1533.v3.git.git.1688004473941.gitgitgadget@gmail.com>


* cc/repack-sift-filtered-objects-to-separate-pack (2023-07-05) 8 commits
 - gc: add `gc.repackFilterTo` config option
 - repack: implement `--filter-to` for storing filtered out objects
 - gc: add `gc.repackFilter` config option
 - repack: add `--filter=<filter-spec>` option
 - repack: refactor finding pack prefix
 - repack: refactor finishing pack-objects command
 - t/helper: add 'find-pack' test-tool
 - pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 Comments?
 cf. <xmqqh6qi1byn.fsf@gitster.g>
 source: <20230705060812.2865188-1-christian.couder@gmail.com>


* rs/strbuf-expand-step (2023-06-18) 5 commits
  (merged to 'next' on 2023-06-28 at 1918915b71)
 + strbuf: simplify strbuf_expand_literal_cb()
 + replace strbuf_expand() with strbuf_expand_step()
 + replace strbuf_expand_dict_cb() with strbuf_expand_step()
 + strbuf: factor out strbuf_expand_step()
 + pretty: factor out expand_separator()

 Code clean-up around strbuf_expand() API.

 Will merge to 'master'.
 source: <767baa64-20a6-daf2-d34b-d81f72363749@web.de>


* js/doc-unit-tests (2023-06-30) 1 commit
 - unit tests: Add a project plan document

 Process to add some form of low-level unit tests has started.

 Still filling in blanks.
 source: <0169ce6fb9ccafc089b74ae406db0d1a8ff8ac65.1688165272.git.steadmon@google.com>


* mh/mingw-case-sensitive-build (2023-06-12) 1 commit
 - mingw: use lowercase includes for some Windows headers

 Names of MinGW header files are spelled in mixed case in some
 source files, but the build host can be using case sensitive
 filesystem with header files with their name spelled in all
 lowercase.

 Needs review.
 source: <20230604211934.1365289-1-mh@glandium.org>


* pb/complete-diff-options (2023-06-26) 24 commits
  (merged to 'next' on 2023-06-28 at ccff93557d)
 + diff.c: mention completion above add_diff_options
 + completion: complete --remerge-diff
 + completion: complete --diff-merges, its options and --no-diff-merges
 + completion: move --pickaxe-{all,regex} to __git_diff_common_options
 + completion: complete --ws-error-highlight
 + completion: complete --unified
 + completion: complete --output-indicator-{context,new,old}
 + completion: complete --output
 + completion: complete --no-stat
 + completion: complete --no-relative
 + completion: complete --line-prefix
 + completion: complete --ita-invisible-in-index and --ita-visible-in-index
 + completion: complete --irreversible-delete
 + completion: complete --ignore-matching-lines
 + completion: complete --function-context
 + completion: complete --find-renames
 + completion: complete --find-object
 + completion: complete --find-copies
 + completion: complete --default-prefix
 + completion: complete --compact-summary
 + completion: complete --combined-all-paths
 + completion: complete --cc
 + completion: complete --break-rewrites
 + completion: add comments describing __git_diff_* globals

 Completion updates.

 Will merge to 'master'.
 source: <pull.1543.v3.git.1687796688.gitgitgadget@gmail.com>


* ks/ref-filter-signature (2023-06-06) 2 commits
 - ref-filter: add new "signature" atom
 - t/lib-gpg: introduce new prereq GPG2

 The "git for-each-ref" family of commands learned placeholders
 related to GPG signature verification.

 Will merge to 'next'.
 cf. <CAP8UFD1CfUm+9PTXO0wBBdBs0U=YVte+EiPbDyUyg7T152aw2g@mail.gmail.com>
 source: <20230604185815.15761-1-five231003@gmail.com>


* jt/path-filter-fix (2023-06-13) 4 commits
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Expecting a reroll.
 cf. <c7b66d2c-cdc3-1f0f-60a0-a2ee21c277bf@github.com>
 source: <cover.1686677910.git.jonathantanmy@google.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* mh/credential-libsecret-attrs (2023-06-16) 1 commit
 - credential/libsecret: store new attributes

 The way authentication related data other than passwords (e.g.
 oath token and password expiration data) are stored in libsecret
 keyrings has been rethought.

 Needs review.
 source: <pull.1469.v5.git.git.1686945306242.gitgitgadget@gmail.com>


* tb/refs-exclusion-and-packed-refs (2023-06-20) 16 commits
 - ls-refs.c: avoid enumerating hidden refs where possible
 - upload-pack.c: avoid enumerating hidden refs where possible
 - builtin/receive-pack.c: avoid enumerating hidden references
 - refs.h: let `for_each_namespaced_ref()` take excluded patterns
 - refs/packed-backend.c: ignore complicated hidden refs rules
 - revision.h: store hidden refs in a `strvec`
 - refs/packed-backend.c: add trace2 counters for jump list
 - refs/packed-backend.c: implement jump lists to avoid excluded pattern(s)
 - refs/packed-backend.c: refactor `find_reference_location()`
 - refs: plumb `exclude_patterns` argument throughout
 - builtin/for-each-ref.c: add `--exclude` option
 - ref-filter.c: parameterize match functions over patterns
 - ref-filter: add `ref_filter_clear()`
 - ref-filter: clear reachable list pointers after freeing
 - ref-filter.h: provide `REF_FILTER_INIT`
 - refs.c: rename `ref_filter`

 Enumerating refs in the packed-refs file, while excluding refs that
 match certain patterns, has been optimized.

 Under discussion.
 source: <cover.1687270849.git.me@ttaylorr.com>


* cc/git-replay (2023-06-03) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 source: <20230602102533.876905-1-christian.couder@gmail.com>


* ob/revert-of-revert (2023-05-05) 1 commit
 - sequencer: beautify subject of reverts of reverts

 Instead of "Revert "Revert "original"", give "Reapply "original""
 as the title for a revert of a revert.

 Expecting a hopefully final reroll.
 Looking much better, except for minor cosmetic issues.
 source: <20230428083528.1699221-1-oswald.buddenhagen@gmx.de>


* cw/strbuf-cleanup (2023-06-12) 7 commits
  (merged to 'next' on 2023-06-28 at c158b004a8)
 + strbuf: remove global variable
 + path: move related function to path
 + object-name: move related functions to object-name
 + credential-store: move related functions to credential-store file
 + abspath: move related functions to abspath
 + strbuf: clarify dependency
 + strbuf: clarify API boundary

 Move functions that are not about pure string manipulation out of
 strbuf.[ch]

 Will merge to 'master'.
 source: <20230606194720.2053551-1-calvinwan@google.com>


* tl/notes-separator (2023-06-21) 7 commits
  (merged to 'next' on 2023-06-28 at 74fa459f4d)
 + notes: introduce "--no-separator" option
 + notes.c: introduce "--[no-]stripspace" option
 + notes.c: append separator instead of insert by pos
 + notes.c: introduce '--separator=<paragraph-break>' option
 + t3321: add test cases about the notes stripspace behavior
 + notes.c: use designated initializers for clarity
 + notes.c: cleanup 'strbuf_grow' call in 'append_edit'

 'git notes append' was taught '--separator' to specify string to insert
 between paragraphs.

 Will merge to 'master'.
 source: <cover.1685174011.git.dyroneteng@gmail.com>


* pw/rebase-i-after-failure (2023-04-21) 6 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase: fix rewritten list for failed pick
 - rebase --continue: refuse to commit after failed command
 - sequencer: factor out part of pick_commits()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Expecting a reroll.
 cf. <xmqqsfcthrpb.fsf@gitster.g>
 cf. <1fd54422-b66a-c2e4-7cd7-934ea01190ad@gmail.com>
 source: <pull.1492.v2.git.1682089074.gitgitgadget@gmail.com>

^ permalink raw reply	[relevance 26%]

* Re: What's cooking in git.git (Jun 2023, #08; Fri, 30)
  @ 2023-07-05  5:37 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-07-05  5:37 UTC (permalink / raw)
  To: Vinayak Dev; +Cc: Emily Shaffer, git

Vinayak Dev <vinayakdev.sci@gmail.com> writes:

>> * vd/adjust-mfow-doc-to-updated-headers (2023-06-29) 1 commit
>>  - docs: include "trace.h" in MyFirstObjectWalk.txt
>>
>>  Code snippets in a tutorial document no longer compiled after
>>  recent header shuffling, which have been corrected.
>>
>>  Will merge to 'next'?
>>  source: <20230629185238.58961-1-vinayakdev.sci@gmail.com>
>
> I found an error in this patch while fixing Emily's branch to which the tutorial
> points, which I linked in a prior mail[1]. This would also require "hex.h" to be
> added down in the tutorial where the function oid_to_hex() has been called.
> Accordingly, I have fixed this mistake and rebased, and will send it
> as a resubmission.

Thanks, will take a look at the updated one.

^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (Jun 2023, #08; Fri, 30)
  @ 2023-07-04 21:56 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-07-04 21:56 UTC (permalink / raw)
  To: Christian Couder; +Cc: git

Christian Couder <christian.couder@gmail.com> writes:

>> * ks/ref-filter-signature (2023-06-06) 2 commits
>>  - ref-filter: add new "signature" atom
>>  - t/lib-gpg: introduce new prereq GPG2
>>
>>  The "git for-each-ref" family of commands learned placeholders
>>  related to GPG signature verification.
>>
>>  Needs review.
>>  source: <20230604185815.15761-1-five231003@gmail.com>
>
> I took another look at the v3 at:
>
> https://lore.kernel.org/git/20230604185815.15761-1-five231003@gmail.com/
>
> which properly addresses the comments made by Eric and Oswald on the
> v2 and looks great to me.

Thanks.  I'll take it as an Ack then.

^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Jun 2023, #08; Fri, 30)
@ 2023-06-30 20:27 25% Junio C Hamano
      0 siblings, 2 replies; 200+ results
From: Junio C Hamano @ 2023-06-30 20:27 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

The northern hemisphere being in Summer vacation season, the list
traffic in the coming week is expected to be lighter.  Have fun and
be safe, everybody.

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']

* ds/remove-idx-before-pack (2023-06-20) 1 commit
  (merged to 'next' on 2023-06-23 at fa97bf0e41)
 + packfile: delete .idx files before .pack files

 We create .pack and then .idx, we consider only packfiles that have
 .idx usable (those with only .pack are not ready yet), so we should
 remove .idx before removing .pack for consistency.
 source: <pull.1547.git.1687287675248.gitgitgadget@gmail.com>


* en/header-split-cache-h-part-3 (2023-06-21) 28 commits
  (merged to 'next' on 2023-06-23 at 84ad22bf36)
 + fsmonitor-ll.h: split this header out of fsmonitor.h
 + hash-ll, hashmap: move oidhash() to hash-ll
 + object-store-ll.h: split this header out of object-store.h
 + khash: name the structs that khash declares
 + merge-ll: rename from ll-merge
 + git-compat-util.h: remove unneccessary include of wildmatch.h
 + builtin.h: remove unneccessary includes
 + list-objects-filter-options.h: remove unneccessary include
 + diff.h: remove unnecessary include of oidset.h
 + repository: remove unnecessary include of path.h
 + log-tree: replace include of revision.h with simple forward declaration
 + cache.h: remove this no-longer-used header
 + read-cache*.h: move declarations for read-cache.c functions from cache.h
 + repository.h: move declaration of the_index from cache.h
 + merge.h: move declarations for merge.c from cache.h
 + diff.h: move declaration for global in diff.c from cache.h
 + preload-index.h: move declarations for preload-index.c from elsewhere
 + sparse-index.h: move declarations for sparse-index.c from cache.h
 + name-hash.h: move declarations for name-hash.c from cache.h
 + run-command.h: move declarations for run-command.c from cache.h
 + statinfo: move stat_{data,validity} functions from cache/read-cache
 + read-cache: move shared add/checkout/commit code
 + add: modify add_files_to_cache() to avoid globals
 + read-cache: move shared commit and ls-files code
 + setup: adopt shared init-db & clone code
 + init-db, clone: change unnecessary global into passed parameter
 + init-db: remove unnecessary global variable
 + init-db: document existing bug with core.bare in template config

 Header files cleanup.
 source: <pull.1525.v3.git.1684218848.gitgitgadget@gmail.com>


* jc/abort-ll-merge-with-a-signal (2023-06-23) 2 commits
  (merged to 'next' on 2023-06-24 at 685eb5d25c)
 + t6406: skip "external merge driver getting killed by a signal" test on Windows
  (merged to 'next' on 2023-06-23 at 9c9c37e95e)
 + ll-merge: killing the external merge driver aborts the merge

 When the external merge driver is killed by a signal, its output
 should not be trusted as a resolution with conflicts that is
 proposed by the driver, but the code did.
 source: <xmqq4jmzc91e.fsf_-_@gitster.g>


* tb/gc-recent-object-hook (2023-06-24) 1 commit
  (merged to 'next' on 2023-06-24 at e8c295841b)
 + t7701: make annotated tag unreachable

 Test update.
 source: <259b1b559114ab1a9a0bd7f1ad29a4cba2612ae0.1687617197.git.me@ttaylorr.com>

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

* jk/cherry-pick-revert-status (2023-06-27) 1 commit
  (merged to 'next' on 2023-06-28 at 4a0d88ef7a)
 + fix cherry-pick/revert status when doing multiple commits

 During a cherry-pick or revert session that works on multiple
 commits, "git status" did not give correct information, which has
 been corrected.

 Will merge to 'master'.
 source: <20230627224230.1951135-1-jacob.e.keller@intel.com>


* ks/t4205-test-describe-with-abbrev-fix (2023-06-29) 1 commit
  (merged to 'next' on 2023-06-29 at 5fc309dc75)
 + t4205: correctly test %(describe:abbrev=...)

 Test update.

 Will merge to 'master'.
 source: <20230629133841.18784-2-five231003@gmail.com>


* jk/fsck-indices-in-worktrees (2023-06-29) 1 commit
  (merged to 'next' on 2023-06-29 at 9d245b3681)
 + fsck: avoid misleading variable name

 Code clarification.

 Will merge to 'master'.
 source: <20230629181333.87465-1-ericsunshine@charter.net>


* js/empty-index-fixes (2023-06-29) 3 commits
  (merged to 'next' on 2023-06-29 at cdfd131900)
 + commit -a -m: allow the top-level tree to become empty again
 + split-index: accept that a base index can be empty
 + do_read_index(): always mark index as initialized unless erroring out

 A few places failed to differenciate the case where the index is
 truly empty (nothing added) and we haven't yet read from the
 on-disk index file, which have been corrected.

 Will merge to 'master'.
 source: <pull.1554.git.1688044991.gitgitgadget@gmail.com>


* vd/adjust-mfow-doc-to-updated-headers (2023-06-29) 1 commit
 - docs: include "trace.h" in MyFirstObjectWalk.txt

 Code snippets in a tutorial document no longer compiled after
 recent header shuffling, which have been corrected.

 Will merge to 'next'?
 source: <20230629185238.58961-1-vinayakdev.sci@gmail.com>

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

* ed/fsmonitor-windows-named-pipe (2023-03-24) 1 commit
 - fsmonitor: handle differences between Windows named pipe functions

 Fix fsmonitor on Windows when the filesystem path contains certain
 characters.

 Expecting a reroll.
 cf. <b9cf67e4-22a7-2ff0-8310-9223bea10d6d@jeffhostetler.com>
 source: <pull.1503.git.1679678090412.gitgitgadget@gmail.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
 - diff-index: enable sparse index

 "git diff-index" command has been taught to work better with the
 sparse index.

 Expecting a reroll.
 cf. <62821012-4fc3-5ad8-695c-70f7ab14a8c9@github.com>
 source: <20230408112342.404318-1-nanth.raghul@gmail.com>


* es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
 - usage: clarify --recurse-submodules as a boolean

 The "--[no-]recurse-submodules" option of "git checkout" and others
 supported an undocumented syntax --recurse-submodules=<value> where
 the value can spell a Boolean in various ways.  The support for the
 syntax is being dropped.

 Expecting a reroll.
 cf. <ZDSTFwMFO7vbj/du@google.com>
 source: <ZDSTFwMFO7vbj/du@google.com>


* cb/checkout-same-branch-twice (2023-03-22) 2 commits
 - SQUASH??? the test marked to expect failure passes from day one
 - checkout/switch: disallow checking out same branch in multiple worktrees

 "git checkout -B $branch" failed to protect against checking out
 a branch that is checked out elsewhere, unlike "git branch -f" did.

 Expecting a hopefully minor and final reroll.
 cf. <CAPUEspj_Bh+LgYLnWfeBdcq_uV5Cbou-7H51GLFjzSa5Qzby9w@mail.gmail.com>
 source: <20230120113553.24655-1-carenas@gmail.com>


* tk/pull-conflict-suggest-rebase-merge-not-rebase-true (2023-02-13) 1 commit
 - pull: conflict hint pull.rebase suggestion should offer "merges" vs "true"

 In an advice message after failed non-ff pull, we used to suggest
 setting pull.rebase=true, but these days pull.rebase=merges may be
 more inline with the original spirit of "rebuild your side on top
 of theirs".

 May want to discard.
 This is too much of a departure from the existing practice.
 cf. <CAMMLpeTPEoKVTbfc17w+Y9qn7jOGmQi_Ux0Y3sFW5QTgGWJ=SA@mail.gmail.com>
 cf. <CABPp-BGqAxKnxDRVN4cYMteLp33hvto07R3=TJBT5WubJT4+Og@mail.gmail.com>
 source: <pull.1474.git.1675614276549.gitgitgadget@gmail.com>


* ab/tag-object-type-errors (2023-05-10) 4 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.
 source: <cover-v2-0.3-00000000000-20221230T011725Z-avarab@gmail.com>


* ad/test-record-count-when-harness-is-in-use (2022-12-25) 1 commit
 - test-lib: allow storing counts with test harnesses

 Allow summary results from tests to be written to t/test-results
 directory even when a test harness like 'prove' is in use.

 Expecting a reroll.
 cf. <CABPp-BGoPuGCZw+9wCgdYyRR4Zf4y9Kun27GrQhtMdYWpOUsYQ@mail.gmail.com>
 source: <20221224225200.1027806-1-adam@dinwoodie.org>


* so/diff-merges-more (2022-12-18) 5 commits
 - diff-merges: improve --diff-merges documentation
 - diff-merges: issue warning on lone '-m' option
 - diff-merges: support list of values for --diff-merges
 - diff-merges: implement log.diffMerges-m-imply-p config
 - diff-merges: implement [no-]hide option and log.diffMergesHide config

 Assorted updates to "--diff-merges=X" option.

 May want to discard.
 Breaking compatibility does not seem worth it.
 source: <20221217132955.108542-1-sorganov@gmail.com>


* ab/imap-send-requires-curl (2023-02-02) 6 commits
 - imap-send: correctly report "host" when using "tunnel"
 - imap-send: remove old --no-curl codepath
 - imap-send: make --curl no-optional
 - imap-send: replace auto-probe libcurl with hard dependency
 - imap-send doc: the imap.sslVerify is used with imap.tunnel
 - imap-send: note "auth_method", not "host" on auth method failure

 Give a hard dependency on cURL library to build "git imap-send",
 and remove the code to interact with IMAP server without using cURL.

 Expecting a reroll.
 The 'tunnel' part is still iffy.
 cf. <230203.86bkmabfjr.gmgdl@evledraar.gmail.com>
 source: <cover-v2-0.6-00000000000-20230202T093706Z-avarab@gmail.com>


* cw/submodule-status-in-parallel (2023-03-02) 6 commits
 - diff-lib: parallelize run_diff_files for submodules
 - diff-lib: refactor out diff_change logic
 - submodule: refactor is_submodule_modified()
 - submodule: move status parsing into function
 - submodule: rename strbuf variable
 - run-command: add on_stderr_output_fn to run_processes_parallel_opts

 "git submodule status" learned to run the comparison in submodule
 repositories in parallel.

 Expecting a reroll.
 cf. <CAFySSZDk05m6gU5-V1R+y3YnQ5PPduVW54+_gjBwD0rmacsLsw@mail.gmail.com>
 cf. <230307.865ybc273g.gmgdl@evledraar.gmail.com>
 source: <20230302215237.1473444-1-calvinwan@google.com>

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

* mh/credential-erase-improvements-more (2023-06-24) 2 commits
 - credential/wincred: erase matching creds only
 - credential/libsecret: erase matching creds only

 Needs review.
 source: <pull.1529.git.git.1687596777147.gitgitgadget@gmail.com>


* gc/config-context (2023-06-28) 11 commits
  (merged to 'next' on 2023-06-28 at 38632f3daf)
 + config: pass source to config_parser_event_fn_t
 + config: add kvi.path, use it to evaluate includes
 + config.c: remove config_reader from configsets
 + config: pass kvi to die_bad_number()
 + trace2: plumb config kvi
 + config.c: pass ctx with CLI config
 + config: pass ctx with config files
 + config.c: pass ctx in configsets
 + config: add ctx arg to config_fn_t
 + urlmatch.h: use config_fn_t type
 + config: inline git_color_default_config

 Reduce reliance on a global state in the config reading API.

 Will merge to 'master'.
 source: <pull.1497.v5.git.git.1687980390.gitgitgadget@gmail.com>


* gc/config-partial-submodule-kvi-fix (2023-06-26) 1 commit
  (merged to 'next' on 2023-06-28 at 1fb30a34e3)
 + config: don't BUG when both kvi and source are set

 Partially revert a sanity check that the rest of the config code
 was not ready, to avoid triggering it in a corner case.

 Will merge to 'master'.
 source: <pull.1535.git.git.1687801297404.gitgitgadget@gmail.com>


* pw/apply-too-large (2023-06-26) 1 commit
  (merged to 'next' on 2023-06-28 at c0460d682c)
 + apply: improve error messages when reading patch

 "git apply" punts when it is fed too large a patch input; the error
 message it gives when it happens has been clarified.

 Will merge to 'master'.
 source: <pull.1552.git.1687772253869.gitgitgadget@gmail.com>


* pw/diff-no-index-from-named-pipes (2023-06-27) 3 commits
 - diff --no-index: support reading from named pipes
 - t4054: test diff --no-index with stdin
 - diff --no-index: die on error reading stdin

 "git diff --no-index" learned to read from named pipes as if they
 were regular files, to allow "git diff <(process) <(substitution)"
 some shells support.

 Expecting a reroll.
 cf. <457ff920-865e-f018-1d79-f3cb1121d199@gmail.com>
 source: <cover.1687874975.git.phillip.wood@dunelm.org.uk>


* bc/more-git-var (2023-06-27) 8 commits
  (merged to 'next' on 2023-06-27 at ea14687e91)
 + var: add config file locations
 + var: add attributes files locations
 + attr: expose and rename accessor functions
 + var: adjust memory allocation for strings
 + var: format variable structure with C99 initializers
 + var: add support for listing the shell
 + t: add a function to check executable bit
 + var: mark unused parameters in git_var callbacks

 Add more "git var" for toolsmiths to learn various locations Git is
 configured with either via the configuration or hardcoded defaults.

 Will merge to 'master'.
 source: <20230627161902.754472-1-sandals@crustytoothpaste.net>


* jc/doc-hash-object-types (2023-06-28) 1 commit
  (merged to 'next' on 2023-06-28 at adff1700c2)
 + docs: add git hash-object -t option's possible values

 Doc update.

 Will merge to 'master'.
 source: <pull.1533.v3.git.git.1688004473941.gitgitgadget@gmail.com>


* cc/repack-sift-filtered-objects-to-separate-pack (2023-06-14) 9 commits
 - gc: add `gc.repackFilterTo` config option
 - repack: implement `--filter-to` for storing filtered out objects
 - gc: add `gc.repackFilter` config option
 - repack: add `--filter=<filter-spec>` option
 - repack: refactor finishing pack-objects command
 - repack: refactor piping an oid to a command
 - t/helper: add 'find-pack' test-tool
 - pack-objects: add `--print-filtered` to print omitted objects
 - pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 Needs review.
 source: <20230614192541.1599256-1-christian.couder@gmail.com>


* ps/revision-stdin-with-options (2023-06-15) 3 commits
  (merged to 'next' on 2023-06-26 at eda3e4d0b5)
 + revision: handle pseudo-opts in `--stdin` mode
 + revision: small readability improvement for reading from stdin
 + revision: reorder `read_revisions_from_stdin()`

 The set-up code for the get_revision() API now allows feeding
 options like --all and --not in the --stdin mode.

 Will merge to 'master'.
 source: <cover.1686839572.git.ps@pks.im>


* rs/strbuf-expand-step (2023-06-18) 5 commits
  (merged to 'next' on 2023-06-28 at 1918915b71)
 + strbuf: simplify strbuf_expand_literal_cb()
 + replace strbuf_expand() with strbuf_expand_step()
 + replace strbuf_expand_dict_cb() with strbuf_expand_step()
 + strbuf: factor out strbuf_expand_step()
 + pretty: factor out expand_separator()

 Code clean-up around strbuf_expand() API.

 Will merge to 'master'.
 source: <767baa64-20a6-daf2-d34b-d81f72363749@web.de>


* js/doc-unit-tests (2023-06-13) 1 commit
 - unit tests: Add a project plan document

 Process to add some form of low-level unit tests has started.

 Comments?  Filling in blanks?
 source: <8afdb215d7e10ca16a2ce8226b4127b3d8a2d971.1686352386.git.steadmon@google.com>


* mh/mingw-case-sensitive-build (2023-06-12) 1 commit
 - mingw: use lowercase includes for some Windows headers

 Names of MinGW header files are spelled in mixed case in some
 source files, but the build host can be using case sensitive
 filesystem with header files with their name spelled in all
 lowercase.

 Needs review.
 source: <20230604211934.1365289-1-mh@glandium.org>


* pb/complete-diff-options (2023-06-26) 24 commits
  (merged to 'next' on 2023-06-28 at ccff93557d)
 + diff.c: mention completion above add_diff_options
 + completion: complete --remerge-diff
 + completion: complete --diff-merges, its options and --no-diff-merges
 + completion: move --pickaxe-{all,regex} to __git_diff_common_options
 + completion: complete --ws-error-highlight
 + completion: complete --unified
 + completion: complete --output-indicator-{context,new,old}
 + completion: complete --output
 + completion: complete --no-stat
 + completion: complete --no-relative
 + completion: complete --line-prefix
 + completion: complete --ita-invisible-in-index and --ita-visible-in-index
 + completion: complete --irreversible-delete
 + completion: complete --ignore-matching-lines
 + completion: complete --function-context
 + completion: complete --find-renames
 + completion: complete --find-object
 + completion: complete --find-copies
 + completion: complete --default-prefix
 + completion: complete --compact-summary
 + completion: complete --combined-all-paths
 + completion: complete --cc
 + completion: complete --break-rewrites
 + completion: add comments describing __git_diff_* globals

 Completion updates.

 Will merge to 'master'.
 source: <pull.1543.v3.git.1687796688.gitgitgadget@gmail.com>


* ks/ref-filter-signature (2023-06-06) 2 commits
 - ref-filter: add new "signature" atom
 - t/lib-gpg: introduce new prereq GPG2

 The "git for-each-ref" family of commands learned placeholders
 related to GPG signature verification.

 Needs review.
 source: <20230604185815.15761-1-five231003@gmail.com>


* jt/path-filter-fix (2023-06-13) 4 commits
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Expecting a reroll.
 cf. <c7b66d2c-cdc3-1f0f-60a0-a2ee21c277bf@github.com>
 source: <cover.1686677910.git.jonathantanmy@google.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* mh/credential-libsecret-attrs (2023-06-16) 1 commit
 - credential/libsecret: store new attributes

 The way authentication related data other than passwords (e.g.
 oath token and password expiration data) are stored in libsecret
 keyrings has been rethought.

 Needs review.
 source: <pull.1469.v5.git.git.1686945306242.gitgitgadget@gmail.com>


* tb/refs-exclusion-and-packed-refs (2023-06-20) 16 commits
 - ls-refs.c: avoid enumerating hidden refs where possible
 - upload-pack.c: avoid enumerating hidden refs where possible
 - builtin/receive-pack.c: avoid enumerating hidden references
 - refs.h: let `for_each_namespaced_ref()` take excluded patterns
 - refs/packed-backend.c: ignore complicated hidden refs rules
 - revision.h: store hidden refs in a `strvec`
 - refs/packed-backend.c: add trace2 counters for jump list
 - refs/packed-backend.c: implement jump lists to avoid excluded pattern(s)
 - refs/packed-backend.c: refactor `find_reference_location()`
 - refs: plumb `exclude_patterns` argument throughout
 - builtin/for-each-ref.c: add `--exclude` option
 - ref-filter.c: parameterize match functions over patterns
 - ref-filter: add `ref_filter_clear()`
 - ref-filter: clear reachable list pointers after freeing
 - ref-filter.h: provide `REF_FILTER_INIT`
 - refs.c: rename `ref_filter`

 Enumerating refs in the packed-refs file, while excluding refs that
 match certain patterns, has been optimized.
 source: <cover.1687270849.git.me@ttaylorr.com>


* cc/git-replay (2023-06-03) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 source: <20230602102533.876905-1-christian.couder@gmail.com>


* ob/revert-of-revert (2023-05-05) 1 commit
 - sequencer: beautify subject of reverts of reverts

 Instead of "Revert "Revert "original"", give "Reapply "original""
 as the title for a revert of a revert.

 Expecting a hopefully final reroll.
 Looking much better, except for minor cosmetic issues.
 source: <20230428083528.1699221-1-oswald.buddenhagen@gmx.de>


* cw/strbuf-cleanup (2023-06-12) 7 commits
  (merged to 'next' on 2023-06-28 at c158b004a8)
 + strbuf: remove global variable
 + path: move related function to path
 + object-name: move related functions to object-name
 + credential-store: move related functions to credential-store file
 + abspath: move related functions to abspath
 + strbuf: clarify dependency
 + strbuf: clarify API boundary

 Move functions that are not about pure string manipulation out of
 strbuf.[ch]

 Will merge to 'master'.
 source: <20230606194720.2053551-1-calvinwan@google.com>


* tl/notes-separator (2023-06-21) 7 commits
  (merged to 'next' on 2023-06-28 at 74fa459f4d)
 + notes: introduce "--no-separator" option
 + notes.c: introduce "--[no-]stripspace" option
 + notes.c: append separator instead of insert by pos
 + notes.c: introduce '--separator=<paragraph-break>' option
 + t3321: add test cases about the notes stripspace behavior
 + notes.c: use designated initializers for clarity
 + notes.c: cleanup 'strbuf_grow' call in 'append_edit'

 'git notes append' was taught '--separator' to specify string to insert
 between paragraphs.

 Will merge to 'master'.
 source: <cover.1685174011.git.dyroneteng@gmail.com>


* pw/rebase-i-after-failure (2023-04-21) 6 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase: fix rewritten list for failed pick
 - rebase --continue: refuse to commit after failed command
 - sequencer: factor out part of pick_commits()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Expecting a reroll.
 cf. <xmqqsfcthrpb.fsf@gitster.g>
 cf. <1fd54422-b66a-c2e4-7cd7-934ea01190ad@gmail.com>
 source: <pull.1492.v2.git.1682089074.gitgitgadget@gmail.com>

^ permalink raw reply	[relevance 25%]

* Re: What's cooking in git.git (Jun 2023, #07; Tue, 27)
  2023-06-27 22:11 25% What's cooking in git.git (Jun 2023, #07; Tue, 27) Junio C Hamano
    @ 2023-06-28 23:58 99% ` Junio C Hamano
  2 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-06-28 23:58 UTC (permalink / raw)
  To: git

Summary of updates from today's integration cycle.

> * gc/config-context (2023-06-26) 12 commits
> ...
>  source: <pull.1497.v4.git.git.1687803083.gitgitgadget@gmail.com>

This is now in 'next', hopefully in 'master' in a week.

> * gc/config-partial-submodule-kvi-fix (2023-06-26) 1 commit
> ...
>  source: <pull.1535.git.git.1687801297404.gitgitgadget@gmail.com>

This is now in 'next', hopefully in 'master' in a week.

> * pw/apply-too-large (2023-06-26) 1 commit
> ...
>  source: <pull.1552.git.1687772253869.gitgitgadget@gmail.com>

Will merge to 'next'.

> * pw/diff-no-index-from-named-pipes (2023-06-27) 3 commits
> ...
>  source: <cover.1687874975.git.phillip.wood@dunelm.org.uk>

Expecting a reroll.

> * jc/doc-hash-object-types (2023-06-23) 1 commit
> ...
>  source: <pull.1533.v2.git.git.1687555504551.gitgitgadget@gmail.com>

Expecting a hopefully minor and final reroll.

> * rs/strbuf-expand-step (2023-06-18) 5 commits
> ...
>  source: <767baa64-20a6-daf2-d34b-d81f72363749@web.de>

Now in 'next'.

> * pb/complete-diff-options (2023-06-26) 24 commits
> ...
>  source: <pull.1543.v3.git.1687796688.gitgitgadget@gmail.com>

Now in 'next'.

> * cw/strbuf-cleanup (2023-06-12) 7 commits
> ...
>  source: <20230606194720.2053551-1-calvinwan@google.com>

Now in 'next'.

> * tl/notes-separator (2023-06-21) 7 commits
> ...
>  source: <cover.1685174011.git.dyroneteng@gmail.com>

Will merge to 'next'.

^ permalink raw reply	[relevance 99%]

* Re: cw/header-compat-util-shuffle (was Re: What's cooking in git.git (Jun 2023, #07; Tue, 27))
  2023-06-28 22:31 84%       ` Junio C Hamano
@ 2023-06-28 22:47 99%         ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-06-28 22:47 UTC (permalink / raw)
  To: Glen Choo; +Cc: git, Calvin Wan

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

> If the topic is too disruptive, however, they may have to synthesize
> a good base (i.e. "merge on top of 'master' topics A, B and C, and
> then queue these patches") but it may not be possible (e.g. among
> the topics it interacts with, some topic may not yet be stable to
> build on), in which case they must catch up quickly every time these
> other topics it depends on are updated to avoid being left behind.
>
> If the contributor cannot afford the time for quicker turnaround
> that way, it would very much help everybody to announce that they
> tentatively withdraw the topic until the other topics get more
> stable, after which time they will send an updated version.  It
> will help everybody, including those who want to build on top of
> what the series adds.

Oh, another thing.  Such a contributor who is blocked by topics by
others can help their own series by helping these other topics get
polished, i.e. with additional reviews, additional test reports,
etc.


^ permalink raw reply	[relevance 99%]

* Re: cw/header-compat-util-shuffle (was Re: What's cooking in git.git (Jun 2023, #07; Tue, 27))
  @ 2023-06-28 22:31 84%       ` Junio C Hamano
  2023-06-28 22:47 99%         ` Junio C Hamano
  0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2023-06-28 22:31 UTC (permalink / raw)
  To: Glen Choo; +Cc: git, Calvin Wan

Glen Choo <chooglen@google.com> writes:

>> Yes, I have found that it had too many bad interactions with topics
>> in flight and, keeping it out of 'seen' was very much deliberate.
>
> Thanks, that makes sense.
>
> Perhaps it should still get a call out in What's Cooking? When Calvin
> referenced that series, I went digging in What's Cooking for the topic
> name, and when I couldn't find it, I manually listed the topic branches
> starting with "cw/"; fortunately, Calvin's contribution history is short
> enough to make that tenable ;)

Maybe.

As I only have limited bandwidth, I do not know how stale the posted
version got since other topics in flight also moved.  It may be that
other topics have graduated to 'master' and the conflicts got even
worse but it can be easier to resurrect on top of updated 'master'.
Or other topics that had interactions somehow magically stopped
being conflicting.  Or the series by itself may have remaining
issues pointed out during the review and is not ready to be picked
up.  I truly do not know.  Sorry.

One thing that many contributors are doing, which is very much
appreciated, is make sure that the series they are going to post
would work well with at least the tip of 'next' and also with
'seen', as well as 'master', before sending them out.  It would help
everybody: those who own topics that the series interacts with, the
maintainer, and those who may want to build on top of what the
series adds.

If the topic is too disruptive, however, they may have to synthesize
a good base (i.e. "merge on top of 'master' topics A, B and C, and
then queue these patches") but it may not be possible (e.g. among
the topics it interacts with, some topic may not yet be stable to
build on), in which case they must catch up quickly every time these
other topics it depends on are updated to avoid being left behind.

If the contributor cannot afford the time for quicker turnaround
that way, it would very much help everybody to announce that they
tentatively withdraw the topic until the other topics get more
stable, after which time they will send an updated version.  It
will help everybody, including those who want to build on top of
what the series adds.

Thanks.

^ permalink raw reply	[relevance 84%]

* Re: cw/header-compat-util-shuffle (was Re: What's cooking in git.git (Jun 2023, #07; Tue, 27))
  @ 2023-06-28 21:03 99%   ` Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2023-06-28 21:03 UTC (permalink / raw)
  To: Glen Choo; +Cc: git, Calvin Wan

Glen Choo <chooglen@google.com> writes:

> I notice that
>
>   https://lore.kernel.org/git/20230606170711.912972-1-calvinwan@google.com/
>
> is available as cw/header-compat-util-shuffle, but AFAICT that's not in
> this announcement or 'seen'.

Yes, I have found that it had too many bad interactions with topics
in flight and, keeping it out of 'seen' was very much deliberate.

Thanks.


^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (Jun 2023, #07; Tue, 27)
  @ 2023-06-28 16:24 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-06-28 16:24 UTC (permalink / raw)
  To: Teng Long; +Cc: git

Teng Long <dyroneteng@gmail.com> writes:

> Junio C Hamano <gitster@pobox.com> writes:
>
>> * tl/notes-separator (2023-06-21) 7 commits
>>  - notes: introduce "--no-separator" option
>>  - notes.c: introduce "--[no-]stripspace" option
>>  - notes.c: append separator instead of insert by pos
>>  - notes.c: introduce '--separator=<paragraph-break>' option
>>  - t3321: add test cases about the notes stripspace behavior
>>  - notes.c: use designated initializers for clarity
>>  - notes.c: cleanup 'strbuf_grow' call in 'append_edit'
>> 
>>  'git notes append' was taught '--separator' to specify string to insert
>>  between paragraphs.
>>  source: <cover.1685174011.git.dyroneteng@gmail.com>
>
> There are no pending issues I think ;-)
>
> Please let me know if there are some obstables to merge.

Yes, please do (this is not a message to Teng, but to others) ;-)

Thanks.

^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Jun 2023, #07; Tue, 27)
@ 2023-06-27 22:11 25% Junio C Hamano
                     ` (2 more replies)
  0 siblings, 3 replies; 200+ results
From: Junio C Hamano @ 2023-06-27 22:11 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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']

* jk/commit-use-no-divider-with-interpret-trailers (2023-06-16) 1 commit
  (merged to 'next' on 2023-06-20 at 08e5f2a6b5)
 + commit: pass --no-divider to interpret-trailers

 When "git commit --trailer=..." invokes the interpret-trailers
 machinery, it knows what it feeds to interpret-trailers is a full
 log message without any patch, but failed to express that by
 passing the "--no-divider" option, which has been corrected.
 source: <20230617042624.GA562686@coredump.intra.peff.net>


* jk/redact-h2h3-headers-fix (2023-06-17) 1 commit
  (merged to 'next' on 2023-06-20 at c1247fd527)
 + http: handle both "h2" and "h2h3" in curl info lines

 Curl library recently changed how http2 traces are shown and broke
 the code to redact sensitive info header, which has been fixed.

 The GitHub Actions CI has been broken for recent macOS jobs, so
 this topic has been fast-tracked to help them.
 source: <20230617051559.GD562686@coredump.intra.peff.net>


* tb/collect-pack-filenames-fix (2023-06-12) 1 commit
  (merged to 'next' on 2023-06-20 at abcc6892c8)
 + builtin/repack.c: only collect fully-formed packs

 Avoid breakage of "git pack-objects --cruft" due to inconsistency
 between the way the code enumerates packfiles in the repository.
 source: <20230607101617.ges6tnMry4E52lDGld43QgtNUsIS4YQq6w-t71hEfkQ@z>

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

* mh/credential-erase-improvements-more (2023-06-24) 2 commits
 - credential/wincred: erase matching creds only
 - credential/libsecret: erase matching creds only

 Needs review.
 source: <pull.1529.git.git.1687596777147.gitgitgadget@gmail.com>


* tb/gc-recent-object-hook (2023-06-24) 1 commit
  (merged to 'next' on 2023-06-24 at e8c295841b)
 + t7701: make annotated tag unreachable

 Test update.

 Will merge to 'master'.
 source: <259b1b559114ab1a9a0bd7f1ad29a4cba2612ae0.1687617197.git.me@ttaylorr.com>


* gc/config-context (2023-06-26) 12 commits
 - config: pass source to config_parser_event_fn_t
 - config: add kvi.path, use it to evaluate includes
 - config.c: remove config_reader from configsets
 - config: pass kvi to die_bad_number()
 - trace2: plumb config kvi
 - config.c: pass ctx with CLI config
 - builtin/config.c: test misuse of format_config()
 - config: pass ctx with config files
 - config.c: pass ctx in configsets
 - config: add ctx arg to config_fn_t
 - urlmatch.h: use config_fn_t type
 - config: inline git_color_default_config

 source: <pull.1497.v4.git.git.1687803083.gitgitgadget@gmail.com>


* gc/config-partial-submodule-kvi-fix (2023-06-26) 1 commit
 - config: don't BUG when both kvi and source are set

 source: <pull.1535.git.git.1687801297404.gitgitgadget@gmail.com>


* pw/apply-too-large (2023-06-26) 1 commit
 - apply: improve error messages when reading patch

 source: <pull.1552.git.1687772253869.gitgitgadget@gmail.com>


* pw/diff-no-index-from-named-pipes (2023-06-27) 3 commits
 . diff --no-index: support reading from named pipes
 . t4054: test diff --no-index with stdin
 . diff --no-index: die on error reading stdin

 source: <cover.1687874975.git.phillip.wood@dunelm.org.uk>

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

* ed/fsmonitor-windows-named-pipe (2023-03-24) 1 commit
 - fsmonitor: handle differences between Windows named pipe functions

 Fix fsmonitor on Windows when the filesystem path contains certain
 characters.

 Expecting a reroll.
 cf. <b9cf67e4-22a7-2ff0-8310-9223bea10d6d@jeffhostetler.com>
 source: <pull.1503.git.1679678090412.gitgitgadget@gmail.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
 - diff-index: enable sparse index

 "git diff-index" command has been taught to work better with the
 sparse index.

 Expecting a reroll.
 cf. <62821012-4fc3-5ad8-695c-70f7ab14a8c9@github.com>
 source: <20230408112342.404318-1-nanth.raghul@gmail.com>


* es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
 - usage: clarify --recurse-submodules as a boolean

 The "--[no-]recurse-submodules" option of "git checkout" and others
 supported an undocumented syntax --recurse-submodules=<value> where
 the value can spell a Boolean in various ways.  The support for the
 syntax is being dropped.

 Expecting a reroll.
 cf. <ZDSTFwMFO7vbj/du@google.com>
 source: <ZDSTFwMFO7vbj/du@google.com>


* cb/checkout-same-branch-twice (2023-03-22) 2 commits
 - SQUASH??? the test marked to expect failure passes from day one
 - checkout/switch: disallow checking out same branch in multiple worktrees

 "git checkout -B $branch" failed to protect against checking out
 a branch that is checked out elsewhere, unlike "git branch -f" did.

 Expecting a hopefully minor and final reroll.
 cf. <CAPUEspj_Bh+LgYLnWfeBdcq_uV5Cbou-7H51GLFjzSa5Qzby9w@mail.gmail.com>
 source: <20230120113553.24655-1-carenas@gmail.com>


* tk/pull-conflict-suggest-rebase-merge-not-rebase-true (2023-02-13) 1 commit
 - pull: conflict hint pull.rebase suggestion should offer "merges" vs "true"

 In an advice message after failed non-ff pull, we used to suggest
 setting pull.rebase=true, but these days pull.rebase=merges may be
 more inline with the original spirit of "rebuild your side on top
 of theirs".

 May want to discard.
 This is too much of a departure from the existing practice.
 cf. <CAMMLpeTPEoKVTbfc17w+Y9qn7jOGmQi_Ux0Y3sFW5QTgGWJ=SA@mail.gmail.com>
 cf. <CABPp-BGqAxKnxDRVN4cYMteLp33hvto07R3=TJBT5WubJT4+Og@mail.gmail.com>
 source: <pull.1474.git.1675614276549.gitgitgadget@gmail.com>


* ab/tag-object-type-errors (2023-05-10) 4 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.
 source: <cover-v2-0.3-00000000000-20221230T011725Z-avarab@gmail.com>


* ad/test-record-count-when-harness-is-in-use (2022-12-25) 1 commit
 - test-lib: allow storing counts with test harnesses

 Allow summary results from tests to be written to t/test-results
 directory even when a test harness like 'prove' is in use.

 Expecting a reroll.
 cf. <CABPp-BGoPuGCZw+9wCgdYyRR4Zf4y9Kun27GrQhtMdYWpOUsYQ@mail.gmail.com>
 source: <20221224225200.1027806-1-adam@dinwoodie.org>


* so/diff-merges-more (2022-12-18) 5 commits
 - diff-merges: improve --diff-merges documentation
 - diff-merges: issue warning on lone '-m' option
 - diff-merges: support list of values for --diff-merges
 - diff-merges: implement log.diffMerges-m-imply-p config
 - diff-merges: implement [no-]hide option and log.diffMergesHide config

 Assorted updates to "--diff-merges=X" option.

 May want to discard.
 Breaking compatibility does not seem worth it.
 source: <20221217132955.108542-1-sorganov@gmail.com>


* ab/imap-send-requires-curl (2023-02-02) 6 commits
 - imap-send: correctly report "host" when using "tunnel"
 - imap-send: remove old --no-curl codepath
 - imap-send: make --curl no-optional
 - imap-send: replace auto-probe libcurl with hard dependency
 - imap-send doc: the imap.sslVerify is used with imap.tunnel
 - imap-send: note "auth_method", not "host" on auth method failure

 Give a hard dependency on cURL library to build "git imap-send",
 and remove the code to interact with IMAP server without using cURL.

 Expecting a reroll.
 The 'tunnel' part is still iffy.
 cf. <230203.86bkmabfjr.gmgdl@evledraar.gmail.com>
 source: <cover-v2-0.6-00000000000-20230202T093706Z-avarab@gmail.com>


* cw/submodule-status-in-parallel (2023-03-02) 6 commits
 - diff-lib: parallelize run_diff_files for submodules
 - diff-lib: refactor out diff_change logic
 - submodule: refactor is_submodule_modified()
 - submodule: move status parsing into function
 - submodule: rename strbuf variable
 - run-command: add on_stderr_output_fn to run_processes_parallel_opts

 "git submodule status" learned to run the comparison in submodule
 repositories in parallel.

 Expecting a reroll.
 cf. <CAFySSZDk05m6gU5-V1R+y3YnQ5PPduVW54+_gjBwD0rmacsLsw@mail.gmail.com>
 cf. <230307.865ybc273g.gmgdl@evledraar.gmail.com>
 source: <20230302215237.1473444-1-calvinwan@google.com>

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

* ds/remove-idx-before-pack (2023-06-20) 1 commit
  (merged to 'next' on 2023-06-23 at fa97bf0e41)
 + packfile: delete .idx files before .pack files

 We create .pack and then .idx, we consider only packfiles that have
 .idx usable (those with only .pack are not ready yet), so we should
 remove .idx before removing .pack for consistency.

 Will merge to 'master'.
 source: <pull.1547.git.1687287675248.gitgitgadget@gmail.com>


* bc/more-git-var (2023-06-27) 8 commits
  (merged to 'next' on 2023-06-27 at ea14687e91)
 + var: add config file locations
 + var: add attributes files locations
 + attr: expose and rename accessor functions
 + var: adjust memory allocation for strings
 + var: format variable structure with C99 initializers
 + var: add support for listing the shell
 + t: add a function to check executable bit
 + var: mark unused parameters in git_var callbacks
<<
* bc/more-git-var (2023-06-27) 8 commits
 . var: add config file locations
 . var: add attributes files locations
 . attr: expose and rename accessor functions
 . var: adjust memory allocation for strings
 . var: format variable structure with C99 initializers
 . var: add support for listing the shell
 . t: add a function to check executable bit
 . var: mark unused parameters in git_var callbacks
>>

 Add more "git var" for toolsmiths to learn various locations Git is
 configured with either via the configuration or hardcoded defaults.

 Will merge to 'master'.
 source: <20230627161902.754472-1-sandals@crustytoothpaste.net>


* jc/doc-hash-object-types (2023-06-23) 1 commit
 - docs: add git hash-object -t option's possible values

 Doc update.

 Will merge to 'next'.
 source: <pull.1533.v2.git.git.1687555504551.gitgitgadget@gmail.com>


* jc/abort-ll-merge-with-a-signal (2023-06-23) 2 commits
  (merged to 'next' on 2023-06-24 at 685eb5d25c)
 + t6406: skip "external merge driver getting killed by a signal" test on Windows
  (merged to 'next' on 2023-06-23 at 9c9c37e95e)
 + ll-merge: killing the external merge driver aborts the merge

 When the external merge driver is killed by a signal, its output
 should not be trusted as a resolution with conflicts that is
 proposed by the driver, but the code did.

 Will merge to 'master'.
 source: <xmqq4jmzc91e.fsf_-_@gitster.g>


* cc/repack-sift-filtered-objects-to-separate-pack (2023-06-14) 9 commits
 - gc: add `gc.repackFilterTo` config option
 - repack: implement `--filter-to` for storing filtered out objects
 - gc: add `gc.repackFilter` config option
 - repack: add `--filter=<filter-spec>` option
 - repack: refactor finishing pack-objects command
 - repack: refactor piping an oid to a command
 - t/helper: add 'find-pack' test-tool
 - pack-objects: add `--print-filtered` to print omitted objects
 - pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 Needs review.
 source: <20230614192541.1599256-1-christian.couder@gmail.com>


* ps/revision-stdin-with-options (2023-06-15) 3 commits
  (merged to 'next' on 2023-06-26 at eda3e4d0b5)
 + revision: handle pseudo-opts in `--stdin` mode
 + revision: small readability improvement for reading from stdin
 + revision: reorder `read_revisions_from_stdin()`

 The set-up code for the get_revision() API now allows feeding
 options like --all and --not in the --stdin mode.

 Will merge to 'master'.
 source: <cover.1686839572.git.ps@pks.im>


* rs/strbuf-expand-step (2023-06-18) 5 commits
 - strbuf: simplify strbuf_expand_literal_cb()
 - replace strbuf_expand() with strbuf_expand_step()
 - replace strbuf_expand_dict_cb() with strbuf_expand_step()
 - strbuf: factor out strbuf_expand_step()
 - pretty: factor out expand_separator()

 Code clean-up around strbuf_expand() API.

 Will merge to 'next'.
 source: <767baa64-20a6-daf2-d34b-d81f72363749@web.de>


* js/doc-unit-tests (2023-06-13) 1 commit
 - unit tests: Add a project plan document

 Process to add some form of low-level unit tests has started.

 Comments?  Filling in blanks?
 source: <8afdb215d7e10ca16a2ce8226b4127b3d8a2d971.1686352386.git.steadmon@google.com>


* mh/mingw-case-sensitive-build (2023-06-12) 1 commit
 - mingw: use lowercase includes for some Windows headers

 Names of MinGW header files are spelled in mixed case in some
 source files, but the build host can be using case sensitive
 filesystem with header files with their name spelled in all
 lowercase.

 Needs review.
 source: <20230604211934.1365289-1-mh@glandium.org>


* pb/complete-diff-options (2023-06-26) 24 commits
 - diff.c: mention completion above add_diff_options
 - completion: complete --remerge-diff
 - completion: complete --diff-merges, its options and --no-diff-merges
 - completion: move --pickaxe-{all,regex} to __git_diff_common_options
 - completion: complete --ws-error-highlight
 - completion: complete --unified
 - completion: complete --output-indicator-{context,new,old}
 - completion: complete --output
 - completion: complete --no-stat
 - completion: complete --no-relative
 - completion: complete --line-prefix
 - completion: complete --ita-invisible-in-index and --ita-visible-in-index
 - completion: complete --irreversible-delete
 - completion: complete --ignore-matching-lines
 - completion: complete --function-context
 - completion: complete --find-renames
 - completion: complete --find-object
 - completion: complete --find-copies
 - completion: complete --default-prefix
 - completion: complete --compact-summary
 - completion: complete --combined-all-paths
 - completion: complete --cc
 - completion: complete --break-rewrites
 - completion: add comments describing __git_diff_* globals

 Completion updates.

 Will merge to 'next'.
 source: <pull.1543.v3.git.1687796688.gitgitgadget@gmail.com>


* ks/ref-filter-signature (2023-06-06) 2 commits
 - ref-filter: add new "signature" atom
 - t/lib-gpg: introduce new prereq GPG2

 The "git for-each-ref" family of commands learned placeholders
 related to GPG signature verification.

 Needs review.
 source: <20230604185815.15761-1-five231003@gmail.com>


* jt/path-filter-fix (2023-06-13) 4 commits
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Expecting a reroll.
 cf. <c7b66d2c-cdc3-1f0f-60a0-a2ee21c277bf@github.com>
 source: <cover.1686677910.git.jonathantanmy@google.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* mh/credential-libsecret-attrs (2023-06-16) 1 commit
 - credential/libsecret: store new attributes

 The way authentication related data other than passwords (e.g.
 oath token and password expiration data) are stored in libsecret
 keyrings has been rethought.

 Needs review.
 source: <pull.1469.v5.git.git.1686945306242.gitgitgadget@gmail.com>


* tb/refs-exclusion-and-packed-refs (2023-06-20) 16 commits
 - ls-refs.c: avoid enumerating hidden refs where possible
 - upload-pack.c: avoid enumerating hidden refs where possible
 - builtin/receive-pack.c: avoid enumerating hidden references
 - refs.h: let `for_each_namespaced_ref()` take excluded patterns
 - refs/packed-backend.c: ignore complicated hidden refs rules
 - revision.h: store hidden refs in a `strvec`
 - refs/packed-backend.c: add trace2 counters for jump list
 - refs/packed-backend.c: implement jump lists to avoid excluded pattern(s)
 - refs/packed-backend.c: refactor `find_reference_location()`
 - refs: plumb `exclude_patterns` argument throughout
 - builtin/for-each-ref.c: add `--exclude` option
 - ref-filter.c: parameterize match functions over patterns
 - ref-filter: add `ref_filter_clear()`
 - ref-filter: clear reachable list pointers after freeing
 - ref-filter.h: provide `REF_FILTER_INIT`
 - refs.c: rename `ref_filter`

 Enumerating refs in the packed-refs file, while excluding refs that
 match certain patterns, has been optimized.
 source: <cover.1687270849.git.me@ttaylorr.com>


* en/header-split-cache-h-part-3 (2023-06-21) 28 commits
  (merged to 'next' on 2023-06-23 at 84ad22bf36)
 + fsmonitor-ll.h: split this header out of fsmonitor.h
 + hash-ll, hashmap: move oidhash() to hash-ll
 + object-store-ll.h: split this header out of object-store.h
 + khash: name the structs that khash declares
 + merge-ll: rename from ll-merge
 + git-compat-util.h: remove unneccessary include of wildmatch.h
 + builtin.h: remove unneccessary includes
 + list-objects-filter-options.h: remove unneccessary include
 + diff.h: remove unnecessary include of oidset.h
 + repository: remove unnecessary include of path.h
 + log-tree: replace include of revision.h with simple forward declaration
 + cache.h: remove this no-longer-used header
 + read-cache*.h: move declarations for read-cache.c functions from cache.h
 + repository.h: move declaration of the_index from cache.h
 + merge.h: move declarations for merge.c from cache.h
 + diff.h: move declaration for global in diff.c from cache.h
 + preload-index.h: move declarations for preload-index.c from elsewhere
 + sparse-index.h: move declarations for sparse-index.c from cache.h
 + name-hash.h: move declarations for name-hash.c from cache.h
 + run-command.h: move declarations for run-command.c from cache.h
 + statinfo: move stat_{data,validity} functions from cache/read-cache
 + read-cache: move shared add/checkout/commit code
 + add: modify add_files_to_cache() to avoid globals
 + read-cache: move shared commit and ls-files code
 + setup: adopt shared init-db & clone code
 + init-db, clone: change unnecessary global into passed parameter
 + init-db: remove unnecessary global variable
 + init-db: document existing bug with core.bare in template config

 Header files cleanup.

 Will merge to 'master'.
 source: <pull.1525.v3.git.1684218848.gitgitgadget@gmail.com>


* cc/git-replay (2023-06-03) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 source: <20230602102533.876905-1-christian.couder@gmail.com>


* ob/revert-of-revert (2023-05-05) 1 commit
 - sequencer: beautify subject of reverts of reverts

 Instead of "Revert "Revert "original"", give "Reapply "original""
 as the title for a revert of a revert.

 Expecting a hopefully final reroll.
 Looking much better, except for minor cosmetic issues.
 source: <20230428083528.1699221-1-oswald.buddenhagen@gmx.de>


* cw/strbuf-cleanup (2023-06-12) 7 commits
 - strbuf: remove global variable
 - path: move related function to path
 - object-name: move related functions to object-name
 - credential-store: move related functions to credential-store file
 - abspath: move related functions to abspath
 - strbuf: clarify dependency
 - strbuf: clarify API boundary

 Move functions that are not about pure string manipulation out of
 strbuf.[ch]

 Will merge to 'next'.
 source: <20230606194720.2053551-1-calvinwan@google.com>


* tl/notes-separator (2023-06-21) 7 commits
 - notes: introduce "--no-separator" option
 - notes.c: introduce "--[no-]stripspace" option
 - notes.c: append separator instead of insert by pos
 - notes.c: introduce '--separator=<paragraph-break>' option
 - t3321: add test cases about the notes stripspace behavior
 - notes.c: use designated initializers for clarity
 - notes.c: cleanup 'strbuf_grow' call in 'append_edit'

 'git notes append' was taught '--separator' to specify string to insert
 between paragraphs.
 source: <cover.1685174011.git.dyroneteng@gmail.com>


* pw/rebase-i-after-failure (2023-04-21) 6 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase: fix rewritten list for failed pick
 - rebase --continue: refuse to commit after failed command
 - sequencer: factor out part of pick_commits()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Expecting a reroll.
 cf. <xmqqsfcthrpb.fsf@gitster.g>
 cf. <1fd54422-b66a-c2e4-7cd7-934ea01190ad@gmail.com>
 source: <pull.1492.v2.git.1682089074.gitgitgadget@gmail.com>

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

* mh/credential-password-expiry-libsecret (2023-05-05) 1 commit
 . credential/libsecret: support password_expiry_utc

 Originally merged to 'next' on 2023-05-09

 The libsecret credential helper learns to handle the password
 expiry time information.

 Superseded by mh/credential-libsecret-attrs.
 cf. <CAGJzqskMwOJkriH6serqdwAVYi+fftEL8ohJd-suP6v+OxB_bg@mail.gmail.com>
 source: <pull.1469.v3.git.git.1683270298313.gitgitgadget@gmail.com>


* tb/pack-bitmap-index-seek (2023-03-20) 6 commits
 . pack-bitmap.c: factor out `bitmap_index_seek_commit()`
 . pack-bitmap.c: use `bitmap_index_seek()` where possible
 . pack-bitmap.c: factor out manual `map_pos` manipulation
 . pack-bitmap.c: drop unnecessary 'inline's
 . pack-bitmap.c: hide bitmap internals in `read_be32()`
 . pack-bitmap.c: hide bitmap internals in `read_u8()`

 Clean-up the pack-bitmap codepath.

 Retracted for now.
 cf. <ZJCI6FHtbuOKPlV1@nand.local>
 source: <cover.1679342296.git.me@ttaylorr.com>


* js/cmake-wo-cache-h (2023-06-15) 1 commit
 . cmake: adapt to `cache.h` being no more

 Build fix in en/header-split-cache-h-part-3 topic.

 Ejected out of 'next' and made into a part of en/header-split-cache-h-part-3
 source: <pull.1525.v3.git.1684218848.gitgitgadget@gmail.com>


* jc/notes-separator-fix (2023-06-13) 7 commits
 . notes: do not access before the beginning of an array

 Fix to tl/notes-separator topic.

 Discarded as the updated base topic should not require it anymore.
 source: <cover.1682671758.git.dyroneteng@gmail.com>

^ permalink raw reply	[relevance 25%]

* Re: What's cooking in git.git (Jun 2023, #06; Fri, 23)
  2023-06-23 22:54 22% What's cooking in git.git (Jun 2023, #06; Fri, 23) Junio C Hamano
@ 2023-06-23 23:22 99% ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-06-23 23:22 UTC (permalink / raw)
  To: git

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

> * jk/redact-h2h3-headers-fix (2023-06-17) 1 commit
>   (merged to 'next' on 2023-06-20 at c1247fd527)
>  + http: handle both "h2" and "h2h3" in curl info lines
>
>  Curl library recently changed how http2 traces are shown and broke
>  the code to redact sensitive info header, which has been fixed.
>
>  Will merge to 'master'.
>  source: <20230617051559.GD562686@coredump.intra.peff.net>

Even though this hasn't spent the usual 1 calendar week days in
'next', I am inclined to fast-track merge it to 'master' (and
probably to 'maint'), as GitHub actions CI currently is broken
with any branch without this fix for macOS jobs.

^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Jun 2023, #06; Fri, 23)
@ 2023-06-23 22:54 22% Junio C Hamano
  2023-06-23 23:22 99% ` Junio C Hamano
  0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2023-06-23 22:54 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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']

* as/dtype-compilation-fix (2023-06-12) 1 commit
  (merged to 'next' on 2023-06-16 at 267100947e)
 + statinfo.h: move DTYPE defines from dir.h

 Compilation fix for platforms without D_TYPE in struct dirent.
 source: <20230606205935.3183276-1-asedeno@google.com>


* ds/add-i-color-configuration-fix (2023-06-12) 2 commits
  (merged to 'next' on 2023-06-15 at 377b9f9a00)
 + add: test use of brackets when color is disabled
 + add: check color.ui for interactive add

 The reimplemented "git add -i" did not honor color.ui configuration.
 source: <pull.1541.v2.git.1686061219078.gitgitgadget@gmail.com>


* ds/disable-replace-refs (2023-06-12) 3 commits
  (merged to 'next' on 2023-06-15 at e7baddb745)
 + repository: create read_replace_refs setting
 + replace-objects: create wrapper around setting
 + repository: create disable_replace_refs()
 (this branch uses tb/pack-bitmap-traversal-with-boundary.)

 Introduce a mechanism to disable replace refs globally and per
 repository.
 source: <pull.1537.v3.git.1686057877.gitgitgadget@gmail.com>


* gc/discover-not-setup (2023-06-16) 1 commit
  (merged to 'next' on 2023-06-16 at 27d1cd2a1b)
 + setup.c: don't setup in discover_git_directory()

 discover_git_directory() no longer touches the_repository.
 source: <pull.1526.git.git.1686771358484.gitgitgadget@gmail.com>


* ja/worktree-orphan (2023-05-17) 8 commits
  (merged to 'next' on 2023-06-15 at 16bb552b79)
 + worktree add: emit warn when there is a bad HEAD
 + worktree add: extend DWIM to infer --orphan
 + worktree add: introduce "try --orphan" hint
 + worktree add: add --orphan flag
 + t2400: add tests to verify --quiet
 + t2400: refactor "worktree add" opt exclusion tests
 + t2400: cleanup created worktree in test
 + worktree add: include -B in usage docs

 Originally merged to 'next' on 2023-06-14

 'git worktree add' learned how to create a worktree based on an
 orphaned branch with `--orphan`.
 source: <20230517214711.12467-1-jacobabel@nullpo.dev>


* js/defeat-ignore-submodules-config-with-explicit-addition (2023-06-14) 1 commit
  (merged to 'next' on 2023-06-16 at bfc01bd5e2)
 + diff-lib: honor override_submodule_config flag bit

 Even when diff.ignoreSubmodules tells us to ignore submodule
 changes, "git commit" with an index that already records changes to
 submodules should include the submodule changes in the resulting
 commit, but it did not.
 source: <20230614164856.3186012-2-sokcevic@google.com>


* jt/doc-use-octal-with-printf (2023-06-14) 1 commit
  (merged to 'next' on 2023-06-16 at ebb72b9bd8)
 + CodingGuidelines: use octal escapes, not hex

 Suggest to refrain from using hex literals that are non-portable
 when writing printf(1) format strings.
 source: <20230614213145.475607-1-jonathantanmy@google.com>


* la/docs-typofixes (2023-06-12) 1 commit
  (merged to 'next' on 2023-06-16 at 56ddcb16e6)
 + docs: typofixes

 Typofixes.
 source: <pull.1542.v2.git.1686166007816.gitgitgadget@gmail.com>


* mh/credential-erase-improvements (2023-06-15) 2 commits
  (merged to 'next' on 2023-06-16 at 5a3ed25303)
 + credential: erase all matching credentials
 + credential: avoid erasing distinct password

 Will merge to 'master'.
 cf. <20230615212116.GA39325@coredump.intra.peff.net>
 source: <pull.1525.v4.git.git.1686856773.gitgitgadget@gmail.com>


* ps/cat-file-null-output (2023-06-12) 5 commits
  (merged to 'next' on 2023-06-15 at e841ad2be5)
 + cat-file: add option '-Z' that delimits input and output with NUL
 + cat-file: simplify reading from standard input
 + strbuf: provide CRLF-aware helper to read until a specified delimiter
 + t1006: modernize test style to use `test_cmp`
 + t1006: don't strip timestamps from expected results

 "git cat-file --batch" and friends learned "-Z" that uses NUL
 delimiter for both input and output.
 source: <cover.1686028409.git.ps@pks.im>


* rj/leakfixes (2023-06-17) 11 commits
  (merged to 'next' on 2023-06-17 at 49e54a88e2)
 + tests: mark as passing with SANITIZE=leak
 + config: fix a leak in git_config_copy_or_rename_section_in_file
 + branch: fix a leak in cmd_branch
 + branch: fix a leak in setup_tracking
 + rev-parse: fix a leak with --abbrev-ref
  (merged to 'next' on 2023-06-16 at d9330ea230)
 + branch: fix a leak in setup_tracking
 + branch: fix a leak in check_tracking_branch
 + branch: fix a leak in inherit_tracking
 + branch: fix a leak in dwim_and_setup_tracking
 + remote: fix a leak in query_matches_negative_refspec
 + config: fix a leak in git_config_copy_or_rename_section_in_file

 Leakfixes
 source: <71b49be1-eeef-2f60-38f1-cfcbe4c8252f@gmail.com>
 source: <9eb931e7-dd18-8ce8-4d4a-cf3d85066189@gmail.com>


* rs/doc-ls-tree-hex-literal (2023-06-15) 1 commit
  (merged to 'next' on 2023-06-16 at 472c7f55c9)
 + ls-tree: fix documentation of %x format placeholder

 Doc update.
 source: <23e54256-9ad5-e978-d0b8-abb511232fd1@web.de>


* rs/run-command-exec-error-on-noent (2023-06-12) 2 commits
  (merged to 'next' on 2023-06-16 at 6bb4425334)
 + run-command: report exec error even on ENOENT
 + t1800: loosen matching of error message for bad shebang

 Simplify error message when run-command fails to start a command.
 source: <14e1be60-3765-0ba5-00f5-2848bb57bf53@web.de>


* sl/worktree-sparse (2023-06-12) 1 commit
  (merged to 'next' on 2023-06-16 at ca0a7edcc5)
 + worktree: integrate with sparse-index

 "git worktree" learned to work better with sparse index feature.
 source: <20230606172633.669916-1-cheskaqiqi@gmail.com>


* tb/gc-recent-object-hook (2023-06-12) 2 commits
  (merged to 'next' on 2023-06-16 at 2d8d8ea2ef)
 + gc: introduce `gc.recentObjectsHook`
 + reachable.c: extract `obj_is_recent()`

 "git pack-objects" learned to invoke a new hook program that
 enumerates extra objects to be used as anchoring points to keep
 otherwise unreachable objects in cruft packs.
 source: <cover.1686178684.git.me@ttaylorr.com>


* tb/open-midx-bitmap-fallback (2023-06-12) 1 commit
  (merged to 'next' on 2023-06-16 at 6546fee734)
 + pack-bitmap.c: gracefully degrade on failure to load MIDX'd pack

 Gracefully deal with a stale MIDX file that lists a packfile that
 no longer exists.
 source: <f123b68cb8a277fbf105b1789a84b9405a499b79.1686178854.git.me@ttaylorr.com>


* tb/pack-bitmap-traversal-with-boundary (2023-05-08) 3 commits
 + pack-bitmap.c: use commit boundary during bitmap traversal
 + pack-bitmap.c: extract `fill_in_bitmap()`
 + object: add object_array initializer helper function
 (this branch is used by ds/disable-replace-refs.)

 Originally merged to 'next' on 2023-06-15

 The object traversal using reachability bitmap done by
 "pack-object" has been tweaked to take advantage of the fact that
 using "boundary" commits as representative of all the uninteresting
 ones can save quite a lot of object enumeration.
 source: <cover.1683567065.git.me@ttaylorr.com>


* tz/lib-gpg-prereq-fix (2023-06-12) 1 commit
  (merged to 'next' on 2023-06-16 at 19770e970a)
 + t/lib-gpg: require GPGSSH for GPGSSH_VERIFYTIME prereq

 Test update.
 source: <20230606214707.55739-1-tmz@pobox.com>

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

* ds/remove-idx-before-pack (2023-06-20) 1 commit
  (merged to 'next' on 2023-06-23 at fa97bf0e41)
 + packfile: delete .idx files before .pack files

 We create .pack and then .idx, we consider only packfiles that have
 .idx usable (those with only .pack are not ready yet), so we should
 remove .idx before removing .pack for consistency.

 Will merge to 'master'.
 source: <pull.1547.git.1687287675248.gitgitgadget@gmail.com>


* bc/more-git-var (2023-06-22) 3 commits
 - var: add config file locations
 - var: add attributes files locations
 - var: add support for listing the shell

 Add more "git var" for toolsmiths to learn various locations Git is
 configured with either via the configuration or hardcoded defaults.

 Expecting a reroll.
 source: <20230622195059.320593-1-sandals@crustytoothpaste.net>


* jc/doc-hash-object-types (2023-06-22) 1 commit
 - docs: add "git hash-object -t" option's possible values

 Doc update.

 Expecting a reroll.
 cf. <62B7F5FF-F85D-47C0-B553-F57B991D0BCC@gmail.com>
 source: <pull.1533.git.git.1687394795009.gitgitgadget@gmail.com>


* jc/abort-ll-merge-with-a-signal (2023-06-23) 1 commit
  (merged to 'next' on 2023-06-23 at 9c9c37e95e)
 + ll-merge: killing the external merge driver aborts the merge

 When the external merge driver is killed by a signal, its output
 should not be trusted as a resolution with conflicts that is
 proposed by the driver, but the code did.

 Will merge to 'master'.
 source: <xmqq4jmzc91e.fsf_-_@gitster.g>

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

* ed/fsmonitor-windows-named-pipe (2023-03-24) 1 commit
 - fsmonitor: handle differences between Windows named pipe functions

 Fix fsmonitor on Windows when the filesystem path contains certain
 characters.

 Expecting a reroll.
 cf. <b9cf67e4-22a7-2ff0-8310-9223bea10d6d@jeffhostetler.com>
 source: <pull.1503.git.1679678090412.gitgitgadget@gmail.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
 - diff-index: enable sparse index

 "git diff-index" command has been taught to work better with the
 sparse index.

 Expecting a reroll.
 cf. <62821012-4fc3-5ad8-695c-70f7ab14a8c9@github.com>
 source: <20230408112342.404318-1-nanth.raghul@gmail.com>


* es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
 - usage: clarify --recurse-submodules as a boolean

 The "--[no-]recurse-submodules" option of "git checkout" and others
 supported an undocumented syntax --recurse-submodules=<value> where
 the value can spell a Boolean in various ways.  The support for the
 syntax is being dropped.

 Expecting a reroll.
 cf. <ZDSTFwMFO7vbj/du@google.com>
 source: <ZDSTFwMFO7vbj/du@google.com>


* cb/checkout-same-branch-twice (2023-03-22) 2 commits
 - SQUASH??? the test marked to expect failure passes from day one
 - checkout/switch: disallow checking out same branch in multiple worktrees

 "git checkout -B $branch" failed to protect against checking out
 a branch that is checked out elsewhere, unlike "git branch -f" did.

 Expecting a hopefully minor and final reroll.
 cf. <CAPUEspj_Bh+LgYLnWfeBdcq_uV5Cbou-7H51GLFjzSa5Qzby9w@mail.gmail.com>
 source: <20230120113553.24655-1-carenas@gmail.com>


* tk/pull-conflict-suggest-rebase-merge-not-rebase-true (2023-02-13) 1 commit
 - pull: conflict hint pull.rebase suggestion should offer "merges" vs "true"

 In an advice message after failed non-ff pull, we used to suggest
 setting pull.rebase=true, but these days pull.rebase=merges may be
 more inline with the original spirit of "rebuild your side on top
 of theirs".

 May want to discard.
 This is too much of a departure from the existing practice.
 cf. <CAMMLpeTPEoKVTbfc17w+Y9qn7jOGmQi_Ux0Y3sFW5QTgGWJ=SA@mail.gmail.com>
 cf. <CABPp-BGqAxKnxDRVN4cYMteLp33hvto07R3=TJBT5WubJT4+Og@mail.gmail.com>
 source: <pull.1474.git.1675614276549.gitgitgadget@gmail.com>


* ab/tag-object-type-errors (2023-05-10) 4 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.
 source: <cover-v2-0.3-00000000000-20221230T011725Z-avarab@gmail.com>


* ad/test-record-count-when-harness-is-in-use (2022-12-25) 1 commit
 - test-lib: allow storing counts with test harnesses

 Allow summary results from tests to be written to t/test-results
 directory even when a test harness like 'prove' is in use.

 Expecting a reroll.
 cf. <CABPp-BGoPuGCZw+9wCgdYyRR4Zf4y9Kun27GrQhtMdYWpOUsYQ@mail.gmail.com>
 source: <20221224225200.1027806-1-adam@dinwoodie.org>


* so/diff-merges-more (2022-12-18) 5 commits
 - diff-merges: improve --diff-merges documentation
 - diff-merges: issue warning on lone '-m' option
 - diff-merges: support list of values for --diff-merges
 - diff-merges: implement log.diffMerges-m-imply-p config
 - diff-merges: implement [no-]hide option and log.diffMergesHide config

 Assorted updates to "--diff-merges=X" option.

 May want to discard.
 Breaking compatibility does not seem worth it.
 source: <20221217132955.108542-1-sorganov@gmail.com>


* ab/imap-send-requires-curl (2023-02-02) 6 commits
 - imap-send: correctly report "host" when using "tunnel"
 - imap-send: remove old --no-curl codepath
 - imap-send: make --curl no-optional
 - imap-send: replace auto-probe libcurl with hard dependency
 - imap-send doc: the imap.sslVerify is used with imap.tunnel
 - imap-send: note "auth_method", not "host" on auth method failure

 Give a hard dependency on cURL library to build "git imap-send",
 and remove the code to interact with IMAP server without using cURL.

 Expecting a reroll.
 The 'tunnel' part is still iffy.
 cf. <230203.86bkmabfjr.gmgdl@evledraar.gmail.com>
 source: <cover-v2-0.6-00000000000-20230202T093706Z-avarab@gmail.com>


* cw/submodule-status-in-parallel (2023-03-02) 6 commits
 - diff-lib: parallelize run_diff_files for submodules
 - diff-lib: refactor out diff_change logic
 - submodule: refactor is_submodule_modified()
 - submodule: move status parsing into function
 - submodule: rename strbuf variable
 - run-command: add on_stderr_output_fn to run_processes_parallel_opts

 "git submodule status" learned to run the comparison in submodule
 repositories in parallel.

 Expecting a reroll.
 cf. <CAFySSZDk05m6gU5-V1R+y3YnQ5PPduVW54+_gjBwD0rmacsLsw@mail.gmail.com>
 cf. <230307.865ybc273g.gmgdl@evledraar.gmail.com>
 source: <20230302215237.1473444-1-calvinwan@google.com>

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

* cc/repack-sift-filtered-objects-to-separate-pack (2023-06-14) 9 commits
 - gc: add `gc.repackFilterTo` config option
 - repack: implement `--filter-to` for storing filtered out objects
 - gc: add `gc.repackFilter` config option
 - repack: add `--filter=<filter-spec>` option
 - repack: refactor finishing pack-objects command
 - repack: refactor piping an oid to a command
 - t/helper: add 'find-pack' test-tool
 - pack-objects: add `--print-filtered` to print omitted objects
 - pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 Needs review.
 source: <20230614192541.1599256-1-christian.couder@gmail.com>


* ps/revision-stdin-with-options (2023-06-15) 3 commits
 - revision: handle pseudo-opts in `--stdin` mode
 - revision: small readability improvement for reading from stdin
 - revision: reorder `read_revisions_from_stdin()`

 The set-up code for the get_revision() API now allows feeding
 options like --all and --not in the --stdin mode.

 Will merge to 'next'?
 source: <cover.1686839572.git.ps@pks.im>


* jk/commit-use-no-divider-with-interpret-trailers (2023-06-16) 1 commit
  (merged to 'next' on 2023-06-20 at 08e5f2a6b5)
 + commit: pass --no-divider to interpret-trailers

 When "git commit --trailer=..." invokes the interpret-trailers
 machinery, it knows what it feeds to interpret-trailers is a full
 log message without any patch, but failed to express that by
 passing the "--no-divider" option, which has been corrected.

 Will merge to 'master'.
 source: <20230617042624.GA562686@coredump.intra.peff.net>


* jk/redact-h2h3-headers-fix (2023-06-17) 1 commit
  (merged to 'next' on 2023-06-20 at c1247fd527)
 + http: handle both "h2" and "h2h3" in curl info lines

 Curl library recently changed how http2 traces are shown and broke
 the code to redact sensitive info header, which has been fixed.

 Will merge to 'master'.
 source: <20230617051559.GD562686@coredump.intra.peff.net>


* rs/strbuf-expand-step (2023-06-18) 5 commits
 - strbuf: simplify strbuf_expand_literal_cb()
 - replace strbuf_expand() with strbuf_expand_step()
 - replace strbuf_expand_dict_cb() with strbuf_expand_step()
 - strbuf: factor out strbuf_expand_step()
 - pretty: factor out expand_separator()

 Code clean-up around strbuf_expand() API.
 source: <767baa64-20a6-daf2-d34b-d81f72363749@web.de>


* js/doc-unit-tests (2023-06-13) 1 commit
 - unit tests: Add a project plan document

 Process to add some form of low-level unit tests has started.

 Comments?  Filling in blanks?
 source: <8afdb215d7e10ca16a2ce8226b4127b3d8a2d971.1686352386.git.steadmon@google.com>


* mh/mingw-case-sensitive-build (2023-06-12) 1 commit
 - mingw: use lowercase includes for some Windows headers

 Names of MinGW header files are spelled in mixed case in some
 source files, but the build host can be using case sensitive
 filesystem with header files with their name spelled in all
 lowercase.

 Needs review.
 source: <20230604211934.1365289-1-mh@glandium.org>


* pb/complete-diff-options (2023-06-12) 25 commits
 - diff.c: mention completion above add_diff_options
 - completion: complete --remerge-diff
 - completion: complete --diff-merges, its options and --no-diff-merges
 - completion: move --pickaxe-{all,regex} to __git_diff_common_options
 - completion: complete --ws-error-highlight
 - completion: complete --unified
 - completion: complete --patch-with-raw
 - completion: complete --output-indicator-{context,new,old}
 - completion: complete --output
 - completion: complete --no-stat
 - completion: complete --no-relative
 - completion: complete --line-prefix
 - completion: complete --ita-invisible-in-index and --ita-visible-in-index
 - completion: complete --irreversible-delete
 - completion: complete --ignore-matching-lines
 - completion: complete --function-context
 - completion: complete --find-renames
 - completion: complete --find-object
 - completion: complete --find-copies
 - completion: complete --default-prefix
 - completion: complete --compact-summary
 - completion: complete --combined-all-paths
 - completion: complete --cc
 - completion: complete --break-rewrites
 - completion: add comments describing __git_diff_* globals

 Completion updates.

 Expecting a reroll.
 cf. <5cba334c-4d75-0dac-20c6-9e3def1f224a@gmail.com>
 source: <pull.1543.v2.git.1686574374.gitgitgadget@gmail.com>


* tb/collect-pack-filenames-fix (2023-06-12) 1 commit
  (merged to 'next' on 2023-06-20 at abcc6892c8)
 + builtin/repack.c: only collect fully-formed packs

 Avoid breakage of "git pack-objects --cruft" due to inconsistency
 between the way the code enumerates packfiles in the repository.

 Will merge to 'master'.
 source: <20230607101617.ges6tnMry4E52lDGld43QgtNUsIS4YQq6w-t71hEfkQ@z>


* ks/ref-filter-signature (2023-06-06) 2 commits
 - ref-filter: add new "signature" atom
 - t/lib-gpg: introduce new prereq GPG2

 The "git for-each-ref" family of commands learned placeholders
 related to GPG signature verification.

 Needs review.
 source: <20230604185815.15761-1-five231003@gmail.com>


* jt/path-filter-fix (2023-06-13) 4 commits
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Expecting a reroll.
 cf. <c7b66d2c-cdc3-1f0f-60a0-a2ee21c277bf@github.com>
 source: <cover.1686677910.git.jonathantanmy@google.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* mh/credential-libsecret-attrs (2023-06-16) 1 commit
 - credential/libsecret: store new attributes

 The way authentication related data other than passwords (e.g.
 oath token and password expiration data) are stored in libsecret
 keyrings has been rethought.

 Needs review.
 source: <pull.1469.v5.git.git.1686945306242.gitgitgadget@gmail.com>


* tb/refs-exclusion-and-packed-refs (2023-06-20) 16 commits
 - ls-refs.c: avoid enumerating hidden refs where possible
 - upload-pack.c: avoid enumerating hidden refs where possible
 - builtin/receive-pack.c: avoid enumerating hidden references
 - refs.h: let `for_each_namespaced_ref()` take excluded patterns
 - refs/packed-backend.c: ignore complicated hidden refs rules
 - revision.h: store hidden refs in a `strvec`
 - refs/packed-backend.c: add trace2 counters for jump list
 - refs/packed-backend.c: implement jump lists to avoid excluded pattern(s)
 - refs/packed-backend.c: refactor `find_reference_location()`
 - refs: plumb `exclude_patterns` argument throughout
 - builtin/for-each-ref.c: add `--exclude` option
 - ref-filter.c: parameterize match functions over patterns
 - ref-filter: add `ref_filter_clear()`
 - ref-filter: clear reachable list pointers after freeing
 - ref-filter.h: provide `REF_FILTER_INIT`
 - refs.c: rename `ref_filter`

 Enumerating refs in the packed-refs file, while excluding refs that
 match certain patterns, has been optimized.
 source: <cover.1687270849.git.me@ttaylorr.com>


* en/header-split-cache-h-part-3 (2023-06-21) 28 commits
  (merged to 'next' on 2023-06-23 at 84ad22bf36)
 + fsmonitor-ll.h: split this header out of fsmonitor.h
 + hash-ll, hashmap: move oidhash() to hash-ll
 + object-store-ll.h: split this header out of object-store.h
 + khash: name the structs that khash declares
 + merge-ll: rename from ll-merge
 + git-compat-util.h: remove unneccessary include of wildmatch.h
 + builtin.h: remove unneccessary includes
 + list-objects-filter-options.h: remove unneccessary include
 + diff.h: remove unnecessary include of oidset.h
 + repository: remove unnecessary include of path.h
 + log-tree: replace include of revision.h with simple forward declaration
 + cache.h: remove this no-longer-used header
 + read-cache*.h: move declarations for read-cache.c functions from cache.h
 + repository.h: move declaration of the_index from cache.h
 + merge.h: move declarations for merge.c from cache.h
 + diff.h: move declaration for global in diff.c from cache.h
 + preload-index.h: move declarations for preload-index.c from elsewhere
 + sparse-index.h: move declarations for sparse-index.c from cache.h
 + name-hash.h: move declarations for name-hash.c from cache.h
 + run-command.h: move declarations for run-command.c from cache.h
 + statinfo: move stat_{data,validity} functions from cache/read-cache
 + read-cache: move shared add/checkout/commit code
 + add: modify add_files_to_cache() to avoid globals
 + read-cache: move shared commit and ls-files code
 + setup: adopt shared init-db & clone code
 + init-db, clone: change unnecessary global into passed parameter
 + init-db: remove unnecessary global variable
 + init-db: document existing bug with core.bare in template config

 Header files cleanup.

 Will merge to 'master'.
 source: <pull.1525.v3.git.1684218848.gitgitgadget@gmail.com>


* cc/git-replay (2023-06-03) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 source: <20230602102533.876905-1-christian.couder@gmail.com>


* ob/revert-of-revert (2023-05-05) 1 commit
 - sequencer: beautify subject of reverts of reverts

 Instead of "Revert "Revert "original"", give "Reapply "original""
 as the title for a revert of a revert.

 Expecting a hopefully final reroll.
 Looking much better, except for minor cosmetic issues.
 source: <20230428083528.1699221-1-oswald.buddenhagen@gmx.de>


* cw/strbuf-cleanup (2023-06-12) 7 commits
 - strbuf: remove global variable
 - path: move related function to path
 - object-name: move related functions to object-name
 - credential-store: move related functions to credential-store file
 - abspath: move related functions to abspath
 - strbuf: clarify dependency
 - strbuf: clarify API boundary

 Move functions that are not about pure string manipulation out of
 strbuf.[ch]
 source: <20230606194720.2053551-1-calvinwan@google.com>


* tl/notes-separator (2023-06-21) 7 commits
 - notes: introduce "--no-separator" option
 - notes.c: introduce "--[no-]stripspace" option
 - notes.c: append separator instead of insert by pos
 - notes.c: introduce '--separator=<paragraph-break>' option
 - t3321: add test cases about the notes stripspace behavior
 - notes.c: use designated initializers for clarity
 - notes.c: cleanup 'strbuf_grow' call in 'append_edit'

 'git notes append' was taught '--separator' to specify string to insert
 between paragraphs.
 source: <cover.1685174011.git.dyroneteng@gmail.com>


* pw/rebase-i-after-failure (2023-04-21) 6 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase: fix rewritten list for failed pick
 - rebase --continue: refuse to commit after failed command
 - sequencer: factor out part of pick_commits()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Expecting a reroll.
 cf. <xmqqsfcthrpb.fsf@gitster.g>
 cf. <1fd54422-b66a-c2e4-7cd7-934ea01190ad@gmail.com>
 source: <pull.1492.v2.git.1682089074.gitgitgadget@gmail.com>

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

* mh/credential-password-expiry-libsecret (2023-05-05) 1 commit
 . credential/libsecret: support password_expiry_utc

 Originally merged to 'next' on 2023-05-09

 The libsecret credential helper learns to handle the password
 expiry time information.

 Superseded by mh/credential-libsecret-attrs.
 cf. <CAGJzqskMwOJkriH6serqdwAVYi+fftEL8ohJd-suP6v+OxB_bg@mail.gmail.com>
 source: <pull.1469.v3.git.git.1683270298313.gitgitgadget@gmail.com>


* tb/pack-bitmap-index-seek (2023-03-20) 6 commits
 . pack-bitmap.c: factor out `bitmap_index_seek_commit()`
 . pack-bitmap.c: use `bitmap_index_seek()` where possible
 . pack-bitmap.c: factor out manual `map_pos` manipulation
 . pack-bitmap.c: drop unnecessary 'inline's
 . pack-bitmap.c: hide bitmap internals in `read_be32()`
 . pack-bitmap.c: hide bitmap internals in `read_u8()`

 Clean-up the pack-bitmap codepath.

 Retracted for now.
 cf. <ZJCI6FHtbuOKPlV1@nand.local>
 source: <cover.1679342296.git.me@ttaylorr.com>


* js/cmake-wo-cache-h (2023-06-15) 1 commit
 . cmake: adapt to `cache.h` being no more

 Build fix in en/header-split-cache-h-part-3 topic.

 Ejected out of 'next' and made into a part of en/header-split-cache-h-part-3
 source: <pull.1525.v3.git.1684218848.gitgitgadget@gmail.com>


* jc/notes-separator-fix (2023-06-13) 7 commits
 . notes: do not access before the beginning of an array

 Fix to tl/notes-separator topic.

 Discarded as the updated base topic should not require it anymore.
 source: <cover.1682671758.git.dyroneteng@gmail.com>

^ permalink raw reply	[relevance 22%]

* Re: bug in en/header-split-cache-h-part-3, was Re: What's cooking in git.git (Jun 2023, #05; Tue, 20)
  @ 2023-06-23 16:38 99%           ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-06-23 16:38 UTC (permalink / raw)
  To: Elijah Newren; +Cc: Jeff King, git

Elijah Newren <newren@gmail.com> writes:

> Anyway, your rebase of en/header-split-cache-h-part-3, including
> Dscho's and Peff's changes, all look good to me.
>
> Thanks everyone!

Thanks for confirming.  Let's merge it down to 'next' then.

^ permalink raw reply	[relevance 99%]

* Re: bug in en/header-split-cache-h-part-3, was Re: What's cooking in git.git (Jun 2023, #05; Tue, 20)
  @ 2023-06-21 22:03 99%       ` Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2023-06-21 22:03 UTC (permalink / raw)
  To: Jeff King; +Cc: Elijah Newren, git

Jeff King <peff@peff.net> writes:

> Yeah. I guess the real build problem is actually in the merge of split-2
> (it conflicted with a simultaneous topic, hence the fix coming in the
> merge). So another option to address that here would be to amend the
> 4bd872e0ed (Merge branch 'en/header-split-cache-h-part-2' into
> en/header-split-cache-h-part-3, 2023-05-08) to include that fixup.
>
> As for the others, I'd consider:
>
>   1. (optional) Drop the #ifndef at the very start of the series, before
>      we touch anything, with the rationale that it is not doing anything
>      and masks errors. I don't _think_ this can ever backfire, because
>      we unconditionally set DEFAULT_GIT_TEMPLATE_DIR (unlike some other
>      things like DEFAULT_PAGER, where the Makefile might leave it
>      unset). But we can also leave this out, or do it as a separate
>      topic, if we want to minimize changes / risk of screwing something
>      up.
>
>   2. Squash the Makefile fix into the "adopt shared init-db" patch
>      (currently 0d652b238).
>
> And that would leave the result fully bisectable. But if we prefer to
> keep the history closer to reality, I can prepare the Makefile thing as
> a patch on top.

I've done the messiest, I guess ;-)

 * revert merge of the part-3 topic and Dscho's cmake fix out of 'next'.

 * rebase part-3 on top of the more recent 'master'.

 * squash in the two hunks (including setup.c change) from you into
   the "setup: adopt shared init-db & clone code" step.

 * squash in Dscho's cmake fix into "cache.h: remove this
   no-longer-used header" step.

The result is not in 'next' yet until I hear something from those
who have been involved in the topic, including Elijah and Dscho.

Thanks.

^ permalink raw reply	[relevance 99%]

* Re: bug in en/header-split-cache-h-part-3, was Re: What's cooking in git.git (Jun 2023, #05; Tue, 20)
  @ 2023-06-21 17:05 99%   ` Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2023-06-21 17:05 UTC (permalink / raw)
  To: Jeff King; +Cc: Elijah Newren, git

Jeff King <peff@peff.net> writes:

> On Tue, Jun 20, 2023 at 05:04:42PM -0700, Junio C Hamano wrote:
>
>> * en/header-split-cache-h-part-3 (2023-05-16) 29 commits
>>  ...
>>  Will merge to 'master' together with its fix-up in js/cmake-wo-cache-h
>>  source: <pull.1525.v3.git.1684218848.gitgitgadget@gmail.com>
>
> I think this series has a bug with finding the correct templates dir. If
> I check out 76ebce0b7a (Merge branch 'en/header-split-cache-h-part-3'
> into next, 2023-06-15) and run:
>
>   make prefix=/tmp/foo install && /tmp/foo/bin/git init /tmp/bar
>
> I get:
>
>   warning: templates not found in /usr/share/git-core/templates
>
> Whereas if I go to 76ebce0b7a^, that warning does not appear (and
> presumably the templates come from /tmp/foo/share, but I didn't check).

Ouch.

> Our tests can't notice because they always specify the in-repo template
> dir directly in the bin-wrappers script (and other users might not even
> get the warning if they have another git installed in /usr; it would
> just silently use the wrong template).
>
>   Side note: I'm using the merge along 'next' there because much to my
>   surprise, the tip of en/header-split-cache-h-part-3 does not build by
>   itself! It needs the evil merge result from ccd12a3d6c (Merge branch
>   'en/header-split-cache-h-part-2', 2023-05-09). I wonder if it got
>   applied on the wrong base. It does work when merged to 'next' (and
>   should with 'master' as well), but it hurts bisectability.
>
> After rebasing on 'master' to make it buildable on its own, I bisected
> my make/init command above, which shows the template problem appearing
> in 3f85c72fad (setup: adopt shared init-db & clone code, 2023-05-16).
>
> I guess the problem is the movement of the code from init-db.c to
> setup.c, and we'd want something like this:
>
> diff --git a/Makefile b/Makefile
> index e440728c24..b09c8165d0 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -2742,8 +2742,8 @@ exec-cmd.sp exec-cmd.s exec-cmd.o: EXTRA_CPPFLAGS = \
>  	'-DBINDIR="$(bindir_relative_SQ)"' \
>  	'-DFALLBACK_RUNTIME_PREFIX="$(prefix_SQ)"'
>  
> -builtin/init-db.sp builtin/init-db.s builtin/init-db.o: GIT-PREFIX
> -builtin/init-db.sp builtin/init-db.s builtin/init-db.o: EXTRA_CPPFLAGS = \
> +setup.sp setup.s setup.o: GIT-PREFIX
> +setup.sp setup.s setup.o: EXTRA_CPPFLAGS = \
>  	-DDEFAULT_GIT_TEMPLATE_DIR='"$(template_dir_SQ)"'
>  
>  config.sp config.s config.o: GIT-PREFIX
>
>
> It does make me wonder if we should also just do this:
>
> diff --git a/setup.c b/setup.c
> index f8e1296766..6e7282e680 100644
> --- a/setup.c
> +++ b/setup.c
> @@ -1718,10 +1718,6 @@ int daemonize(void)
>  #endif
>  }
>  
> -#ifndef DEFAULT_GIT_TEMPLATE_DIR
> -#define DEFAULT_GIT_TEMPLATE_DIR "/usr/share/git-core/templates"
> -#endif
> -
>  #ifdef NO_TRUSTABLE_FILEMODE
>  #define TEST_FILEMODE 0
>  #else
>
> Since the Makefile always provides that value, having a baked-in
> fallback does not make much sense. And in this case it masked a real bug
> which should have been a compilation error, and instead silently used
> the wrong value.
>
> So I think we'd at least want to fix the Makefile before graduating this
> topic any further. But IMHO it would also be worth adjusting the topic's
> start point so that we don't have a big chunk of commits which fail to
> build in the final history.

Hmph, meaning (1) revert the merge of the topic to 'next', (2)
rebase the topic on top of the current 'master', instead of 4bd872e0,
which was a merge of the prerequisite series into then-current
master, (3) apply the Makefile (plus setup.c) fix, and then (4)
merge the result back to 'next'?


^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Jun 2023, #05; Tue, 20)
@ 2023-06-21  0:04 18% Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2023-06-21  0:04 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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']

* jc/test-modernization (2023-05-19) 20 commits
  (merged to 'next' on 2023-06-15 at 811ac3f7ad)
 + t7101-reset-empty-subdirs: modernize test format
 + t6050-replace: modernize test format
 + t5306-pack-nobase: modernize test format
 + t5303-pack-corruption-resilience: modernize test format
 + t5301-sliding-window: modernize test format
 + t5300-pack-object: modernize test format
 + t4206-log-follow-harder-copies: modernize test format
 + t4202-log: modernize test format
 + t4004-diff-rename-symlink: modernize test format
 + t4003-diff-rename-1: modernize test format
 + t4002-diff-basic: modernize test format
 + t3903-stash: modernize test format
 + t3700-add: modernize test format
 + t3500-cherry: modernize test format
 + t1006-cat-file: modernize test format
 + t1002-read-tree-m-u-2way: modernize test format
 + t1001-read-tree-m-2way: modernize test format
 + t3210-pack-refs: modernize test format
 + t0030-stripspace: modernize test format
 + t0000-basic: modernize test format
 (this branch is used by jc/test-modernization-2.)

 Originally merged to 'next' on 2023-06-13
 source: <pull.1513.git.git.1684440205.gitgitgadget@gmail.com>


* jc/test-modernization-2 (2023-05-23) 10 commits
  (merged to 'next' on 2023-06-15 at 01df673682)
 + t9400-git-cvsserver-server: modernize test format
 + t9200-git-cvsexportcommit: modernize test format
 + t9104-git-svn-follow-parent: modernize test format
 + t9100-git-svn-basic: modernize test format
 + t7700-repack: modernize test format
 + t7600-merge: modernize test format
 + t7508-status: modernize test format
 + t7201-co: modernize test format
 + t7111-reset-table: modernize test format
 + t7110-reset-merge: modernize test format
 (this branch uses jc/test-modernization.)

 Originally merged to 'next' on 2023-06-13

 Test style updates.
 source: <pull.1514.git.git.1684599239.gitgitgadget@gmail.com>


* jk/ci-use-clang-for-sanitizer-jobs (2023-06-03) 3 commits
  (merged to 'next' on 2023-06-15 at 268459fc6a)
 + ci: drop linux-clang job
 + ci: run ASan/UBSan in a single job
 + ci: use clang for ASan/UBSan checks

 Originally merged to 'next' on 2023-06-12

 Clang's sanitizer implementation seems to work better than GCC's.
 source: <20230601180220.GA4167745@coredump.intra.peff.net>


* jk/log-follow-with-non-literal-pathspec (2023-06-03) 3 commits
  (merged to 'next' on 2023-06-15 at 6848e0b8e6)
 + diff: detect pathspec magic not supported by --follow
 + diff: factor out --follow pathspec check
 + pathspec: factor out magic-to-name function

 Originally merged to 'next' on 2023-06-13

 "git [-c log.follow=true] log [--follow] ':(glob)f**'" used to barf.
 source: <20230601173724.GA4158369@coredump.intra.peff.net>


* kh/use-default-notes-doc (2023-06-06) 2 commits
  (merged to 'next' on 2023-06-15 at f25ced157e)
 + notes: move the documentation to the struct
 + notes: update documentation for `use_default_notes`

 Originally merged to 'next' on 2023-06-13

 Doc update.
 source: <cover.1685958731.git.code@khaugsbakk.name>


* la/doc-interpret-trailers (2023-06-14) 9 commits
  (merged to 'next' on 2023-06-15 at 6ff4a2b913)
 + doc: trailer: add more examples in DESCRIPTION
 + doc: trailer: mention 'key' in DESCRIPTION
 + doc: trailer.<token>.command: emphasize deprecation
 + doc: trailer: use angle brackets for <token> and <value>
 + doc: trailer: remove redundant phrasing
 + doc: trailer: examples: avoid the word "message" by itself
 + doc: trailer: drop "commit message part" phrasing
 + doc: trailer: swap verb order
 + doc: trailer: fix grammar

 Originally merged to 'next' on 2023-06-14

 Doc update.
 source: <pull.1506.v4.git.git.1686797630.gitgitgadget@gmail.com>


* mh/commit-reach-get-reachable-plug-leak (2023-06-04) 1 commit
  (merged to 'next' on 2023-06-15 at 62e19d66fb)
 + commit-reach: fix memory leak in get_reachable_subset()

 Originally merged to 'next' on 2023-06-12

 Plug memory leak.
 source: <20230603002819.1122129-1-mh@glandium.org>


* pb/complete-and-document-auto-merge-and-friends (2023-05-23) 6 commits
  (merged to 'next' on 2023-06-15 at ebe3216719)
 + completion: complete AUTO_MERGE
 + Documentation: document AUTO_MERGE
 + git-merge.txt: modernize word choice in "True merge" section
 + completion: complete REVERT_HEAD and BISECT_HEAD
 + revisions.txt: document more special refs
 + revisions.txt: use description list for special refs

 Originally merged to 'next' on 2023-06-13

 Document more pseudo-refs and teach the command line completion
 machinery to complete AUTO_MERGE.
 source: <pull.1515.v2.git.1684783741.gitgitgadget@gmail.com>


* ps/fetch-cleanups (2023-05-17) 9 commits
  (merged to 'next' on 2023-06-15 at 33878153a5)
 + fetch: use `fetch_config` to store "submodule.fetchJobs" value
 + fetch: use `fetch_config` to store "fetch.parallel" value
 + fetch: use `fetch_config` to store "fetch.recurseSubmodules" value
 + fetch: use `fetch_config` to store "fetch.showForcedUpdates" value
 + fetch: use `fetch_config` to store "fetch.pruneTags" value
 + fetch: use `fetch_config` to store "fetch.prune" value
 + fetch: pass through `fetch_config` directly
 + fetch: drop unneeded NULL-check for `remote_ref`
 + fetch: drop unused DISPLAY_FORMAT_UNKNOWN enum value

 Originally merged to 'next' on 2023-06-12

 Code clean-up.
 cf. <20230519002128.GD2442034@coredump.intra.peff.net>
 source: <cover.1684324059.git.ps@pks.im>


* tb/submodule-null-deref-fix (2023-05-25) 1 commit
  (merged to 'next' on 2023-06-15 at 8cb6a7710a)
 + builtin/submodule--helper.c: handle missing submodule URLs

 Originally merged to 'next' on 2023-06-13

 "git submodule" code trusted the data coming from the config (and
 the in-tree .gitmodules file) too much without validating, leading
 to NULL dereference if the user mucks with a repository (e.g.
 submodule.<name>.url is removed).  This has been corrected.
 source: <ae6cf3fa461b85e346f034371dae56a2790dfa20.1684957882.git.me@ttaylorr.com>


* tl/quote-problematic-arg-for-clarity (2023-06-03) 1 commit
  (merged to 'next' on 2023-06-15 at 4e52ad2fb3)
 + surround %s with quotes when failed to lookup commit

 Originally merged to 'next' on 2023-06-12

 Error message fix.
 source: <1f7c62a8870433792076fae30d6c4dc4b61a00d8.1685366301.git.dyroneteng@gmail.com>


* tz/test-fix-pthreads-prereq (2023-05-26) 1 commit
  (merged to 'next' on 2023-06-15 at 2d2446ff97)
 + trace2 tests: fix PTHREADS prereq

 Originally merged to 'next' on 2023-06-12

 Test fix.
 source: <20230525031218.3554586-1-tmz@pobox.com>


* tz/test-ssh-verifytime-fix (2023-05-26) 1 commit
  (merged to 'next' on 2023-06-15 at dd97dd32f3)
 + t/lib-gpg: fix ssh-keygen -Y check-novalidate with openssh-9.0

 Originally merged to 'next' on 2023-06-12

 Test fix.
 source: <20230525031026.3554406-1-tmz@pobox.com>


* vd/worktree-config-is-per-repository (2023-05-26) 3 commits
  (merged to 'next' on 2023-06-15 at 6301770cd6)
 + repository: move 'repository_format_worktree_config' to repo scope
 + config: pass 'repo' directly to 'config_with_options()'
 + config: use gitdir to get worktree config

 Originally merged to 'next' on 2023-06-13

 The value of config.worktree is per-repository, but has been kept
 in a singleton global variable per process. This has been OK as
 most Git operations interacted with a single repository at a time,
 but not right for operations like recursive "grep" that want to
 access multiple repositories from a single process without forking.

 The global variable has been eliminated and made into a member in
 the per-repository data structure.
 cf. <3145f4f3-7bd4-8a1b-4943-11b7d22b60c6@github.com>
 cf. <kl6lr0qwno2q.fsf@chooglen-macbookpro.roam.corp.google.com>
 source: <pull.1536.v2.git.1685064781.gitgitgadget@gmail.com>

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

* gc/discover-not-setup (2023-06-16) 1 commit
  (merged to 'next' on 2023-06-16 at 27d1cd2a1b)
 + setup.c: don't setup in discover_git_directory()

 discover_git_directory() no longer touches the_repository.

 Will merge to 'master'.
 source: <pull.1526.git.git.1686771358484.gitgitgadget@gmail.com>


* mh/credential-erase-improvements (2023-06-15) 2 commits
  (merged to 'next' on 2023-06-16 at 5a3ed25303)
 + credential: erase all matching credentials
 + credential: avoid erasing distinct password

 Will merge to 'master'.
 cf. <20230615212116.GA39325@coredump.intra.peff.net>
 source: <pull.1525.v4.git.git.1686856773.gitgitgadget@gmail.com>


* cc/repack-sift-filtered-objects-to-separate-pack (2023-06-14) 9 commits
 - gc: add `gc.repackFilterTo` config option
 - repack: implement `--filter-to` for storing filtered out objects
 - gc: add `gc.repackFilter` config option
 - repack: add `--filter=<filter-spec>` option
 - repack: refactor finishing pack-objects command
 - repack: refactor piping an oid to a command
 - t/helper: add 'find-pack' test-tool
 - pack-objects: add `--print-filtered` to print omitted objects
 - pack-objects: allow `--filter` without `--stdout`

 "git repack" machinery learns to pay attention to the "--filter="
 option.

 Needs review.
 source: <20230614192541.1599256-1-christian.couder@gmail.com>


* js/cmake-wo-cache-h (2023-06-15) 1 commit
  (merged to 'next' on 2023-06-16 at b138273e7e)
 + cmake: adapt to `cache.h` being no more
 (this branch uses en/header-split-cache-h-part-3.)

 Build fix in en/header-split-cache-h-part-3 topic.

 Will merge to 'master'.
 source: <pull.1525.v3.git.1684218848.gitgitgadget@gmail.com>


* ps/revision-stdin-with-options (2023-06-15) 3 commits
 - revision: handle pseudo-opts in `--stdin` mode
 - revision: small readability improvement for reading from stdin
 - revision: reorder `read_revisions_from_stdin()`

 The set-up code for the get_revision() API now allows feeding
 options like --all and --not in the --stdin mode.

 Will merge to 'next'?
 source: <cover.1686839572.git.ps@pks.im>


* rs/doc-ls-tree-hex-literal (2023-06-15) 1 commit
  (merged to 'next' on 2023-06-16 at 472c7f55c9)
 + ls-tree: fix documentation of %x format placeholder

 Doc update.

 Will merge to 'master'.
 source: <23e54256-9ad5-e978-d0b8-abb511232fd1@web.de>


* jk/commit-use-no-divider-with-interpret-trailers (2023-06-16) 1 commit
  (merged to 'next' on 2023-06-20 at 08e5f2a6b5)
 + commit: pass --no-divider to interpret-trailers

 When "git commit --trailer=..." invokes the interpret-trailers
 machinery, it knows what it feeds to interpret-trailers is a full
 log message without any patch, but failed to express that by
 passing the "--no-divider" option, which has been corrected.

 Will merge to 'master'.
 source: <20230617042624.GA562686@coredump.intra.peff.net>


* jk/redact-h2h3-headers-fix (2023-06-17) 1 commit
  (merged to 'next' on 2023-06-20 at c1247fd527)
 + http: handle both "h2" and "h2h3" in curl info lines

 Curl library recently changed how http2 traces are shown and broke
 the code to redact sensitive info header, which has been fixed.

 Will merge to 'master'.
 source: <20230617051559.GD562686@coredump.intra.peff.net>


* rs/strbuf-expand-step (2023-06-18) 5 commits
 - strbuf: simplify strbuf_expand_literal_cb()
 - replace strbuf_expand() with strbuf_expand_step()
 - replace strbuf_expand_dict_cb() with strbuf_expand_step()
 - strbuf: factor out strbuf_expand_step()
 - pretty: factor out expand_separator()

 Code clean-up around strbuf_expand() API.

 source: <767baa64-20a6-daf2-d34b-d81f72363749@web.de>

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

* ed/fsmonitor-windows-named-pipe (2023-03-24) 1 commit
 - fsmonitor: handle differences between Windows named pipe functions

 Fix fsmonitor on Windows when the filesystem path contains certain
 characters.

 Expecting a reroll.
 cf. <b9cf67e4-22a7-2ff0-8310-9223bea10d6d@jeffhostetler.com>
 source: <pull.1503.git.1679678090412.gitgitgadget@gmail.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
 - diff-index: enable sparse index

 "git diff-index" command has been taught to work better with the
 sparse index.

 Expecting a reroll.
 cf. <62821012-4fc3-5ad8-695c-70f7ab14a8c9@github.com>
 source: <20230408112342.404318-1-nanth.raghul@gmail.com>


* es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
 - usage: clarify --recurse-submodules as a boolean

 The "--[no-]recurse-submodules" option of "git checkout" and others
 supported an undocumented syntax --recurse-submodules=<value> where
 the value can spell a Boolean in various ways.  The support for the
 syntax is being dropped.

 Expecting a reroll.
 cf. <ZDSTFwMFO7vbj/du@google.com>
 source: <ZDSTFwMFO7vbj/du@google.com>


* cb/checkout-same-branch-twice (2023-03-22) 2 commits
 - SQUASH??? the test marked to expect failure passes from day one
 - checkout/switch: disallow checking out same branch in multiple worktrees

 "git checkout -B $branch" failed to protect against checking out
 a branch that is checked out elsewhere, unlike "git branch -f" did.

 Expecting a hopefully minor and final reroll.
 cf. <CAPUEspj_Bh+LgYLnWfeBdcq_uV5Cbou-7H51GLFjzSa5Qzby9w@mail.gmail.com>
 source: <20230120113553.24655-1-carenas@gmail.com>


* tk/pull-conflict-suggest-rebase-merge-not-rebase-true (2023-02-13) 1 commit
 - pull: conflict hint pull.rebase suggestion should offer "merges" vs "true"

 In an advice message after failed non-ff pull, we used to suggest
 setting pull.rebase=true, but these days pull.rebase=merges may be
 more inline with the original spirit of "rebuild your side on top
 of theirs".

 May want to discard.
 This is too much of a departure from the existing practice.
 cf. <CAMMLpeTPEoKVTbfc17w+Y9qn7jOGmQi_Ux0Y3sFW5QTgGWJ=SA@mail.gmail.com>
 cf. <CABPp-BGqAxKnxDRVN4cYMteLp33hvto07R3=TJBT5WubJT4+Og@mail.gmail.com>
 source: <pull.1474.git.1675614276549.gitgitgadget@gmail.com>


* ab/tag-object-type-errors (2023-05-10) 4 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.
 source: <cover-v2-0.3-00000000000-20221230T011725Z-avarab@gmail.com>


* ad/test-record-count-when-harness-is-in-use (2022-12-25) 1 commit
 - test-lib: allow storing counts with test harnesses

 Allow summary results from tests to be written to t/test-results
 directory even when a test harness like 'prove' is in use.

 Expecting a reroll.
 cf. <CABPp-BGoPuGCZw+9wCgdYyRR4Zf4y9Kun27GrQhtMdYWpOUsYQ@mail.gmail.com>
 source: <20221224225200.1027806-1-adam@dinwoodie.org>


* so/diff-merges-more (2022-12-18) 5 commits
 - diff-merges: improve --diff-merges documentation
 - diff-merges: issue warning on lone '-m' option
 - diff-merges: support list of values for --diff-merges
 - diff-merges: implement log.diffMerges-m-imply-p config
 - diff-merges: implement [no-]hide option and log.diffMergesHide config

 Assorted updates to "--diff-merges=X" option.

 May want to discard.
 Breaking compatibility does not seem worth it.
 source: <20221217132955.108542-1-sorganov@gmail.com>


* ab/imap-send-requires-curl (2023-02-02) 6 commits
 - imap-send: correctly report "host" when using "tunnel"
 - imap-send: remove old --no-curl codepath
 - imap-send: make --curl no-optional
 - imap-send: replace auto-probe libcurl with hard dependency
 - imap-send doc: the imap.sslVerify is used with imap.tunnel
 - imap-send: note "auth_method", not "host" on auth method failure

 Give a hard dependency on cURL library to build "git imap-send",
 and remove the code to interact with IMAP server without using cURL.

 Expecting a reroll.
 The 'tunnel' part is still iffy.
 cf. <230203.86bkmabfjr.gmgdl@evledraar.gmail.com>
 source: <cover-v2-0.6-00000000000-20230202T093706Z-avarab@gmail.com>


* cw/submodule-status-in-parallel (2023-03-02) 6 commits
 - diff-lib: parallelize run_diff_files for submodules
 - diff-lib: refactor out diff_change logic
 - submodule: refactor is_submodule_modified()
 - submodule: move status parsing into function
 - submodule: rename strbuf variable
 - run-command: add on_stderr_output_fn to run_processes_parallel_opts

 "git submodule status" learned to run the comparison in submodule
 repositories in parallel.

 Expecting a reroll.
 cf. <CAFySSZDk05m6gU5-V1R+y3YnQ5PPduVW54+_gjBwD0rmacsLsw@mail.gmail.com>
 cf. <230307.865ybc273g.gmgdl@evledraar.gmail.com>
 source: <20230302215237.1473444-1-calvinwan@google.com>

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

* js/doc-unit-tests (2023-06-13) 1 commit
 - unit tests: Add a project plan document

 Process to add some form of low-level unit tests has started.

 Comments?  Filling in blanks?
 source: <8afdb215d7e10ca16a2ce8226b4127b3d8a2d971.1686352386.git.steadmon@google.com>


* jt/doc-use-octal-with-printf (2023-06-14) 1 commit
  (merged to 'next' on 2023-06-16 at ebb72b9bd8)
 + CodingGuidelines: use octal escapes, not hex

 Suggest to refrain from using hex literals that are non-portable
 when writing printf(1) format strings.

 Will merge to 'master'.
 source: <20230614213145.475607-1-jonathantanmy@google.com>


* js/defeat-ignore-submodules-config-with-explicit-addition (2023-06-14) 1 commit
  (merged to 'next' on 2023-06-16 at bfc01bd5e2)
 + diff-lib: honor override_submodule_config flag bit

 Even when diff.ignoreSubmodules tells us to ignore submodule
 changes, "git commit" with an index that already records changes to
 submodules should include the submodule changes in the resulting
 commit, but it did not.

 Will merge to 'master'.
 source: <20230614164856.3186012-2-sokcevic@google.com>


* as/dtype-compilation-fix (2023-06-12) 1 commit
  (merged to 'next' on 2023-06-16 at 267100947e)
 + statinfo.h: move DTYPE defines from dir.h

 Compilation fix for platforms without D_TYPE in struct dirent.

 Will merge to 'master'.
 source: <20230606205935.3183276-1-asedeno@google.com>


* la/docs-typofixes (2023-06-12) 1 commit
  (merged to 'next' on 2023-06-16 at 56ddcb16e6)
 + docs: typofixes

 Typofixes.

 Will merge to 'master'.
 source: <pull.1542.v2.git.1686166007816.gitgitgadget@gmail.com>


* mh/mingw-case-sensitive-build (2023-06-12) 1 commit
 - mingw: use lowercase includes for some Windows headers

 Names of MinGW header files are spelled in mixed case in some
 source files, but the build host can be using case sensitive
 filesystem with header files with their name spelled in all
 lowercase.

 Needs review.
 source: <20230604211934.1365289-1-mh@glandium.org>


* pb/complete-diff-options (2023-06-12) 25 commits
 - diff.c: mention completion above add_diff_options
 - completion: complete --remerge-diff
 - completion: complete --diff-merges, its options and --no-diff-merges
 - completion: move --pickaxe-{all,regex} to __git_diff_common_options
 - completion: complete --ws-error-highlight
 - completion: complete --unified
 - completion: complete --patch-with-raw
 - completion: complete --output-indicator-{context,new,old}
 - completion: complete --output
 - completion: complete --no-stat
 - completion: complete --no-relative
 - completion: complete --line-prefix
 - completion: complete --ita-invisible-in-index and --ita-visible-in-index
 - completion: complete --irreversible-delete
 - completion: complete --ignore-matching-lines
 - completion: complete --function-context
 - completion: complete --find-renames
 - completion: complete --find-object
 - completion: complete --find-copies
 - completion: complete --default-prefix
 - completion: complete --compact-summary
 - completion: complete --combined-all-paths
 - completion: complete --cc
 - completion: complete --break-rewrites
 - completion: add comments describing __git_diff_* globals

 Completion updates.

 Expecting a reroll.
 cf. <5cba334c-4d75-0dac-20c6-9e3def1f224a@gmail.com>
 source: <pull.1543.v2.git.1686574374.gitgitgadget@gmail.com>


* rj/leakfixes (2023-06-17) 11 commits
  (merged to 'next' on 2023-06-17 at 49e54a88e2)
 + tests: mark as passing with SANITIZE=leak
 + config: fix a leak in git_config_copy_or_rename_section_in_file
 + branch: fix a leak in cmd_branch
 + branch: fix a leak in setup_tracking
 + rev-parse: fix a leak with --abbrev-ref
  (merged to 'next' on 2023-06-16 at d9330ea230)
 + branch: fix a leak in setup_tracking
 + branch: fix a leak in check_tracking_branch
 + branch: fix a leak in inherit_tracking
 + branch: fix a leak in dwim_and_setup_tracking
 + remote: fix a leak in query_matches_negative_refspec
 + config: fix a leak in git_config_copy_or_rename_section_in_file

 Leakfixes

 Will merge to 'master'.
 source: <71b49be1-eeef-2f60-38f1-cfcbe4c8252f@gmail.com>
 source: <9eb931e7-dd18-8ce8-4d4a-cf3d85066189@gmail.com>


* rs/run-command-exec-error-on-noent (2023-06-12) 2 commits
  (merged to 'next' on 2023-06-16 at 6bb4425334)
 + run-command: report exec error even on ENOENT
 + t1800: loosen matching of error message for bad shebang

 Simplify error message when run-command fails to start a command.

 Will merge to 'master'.
 source: <14e1be60-3765-0ba5-00f5-2848bb57bf53@web.de>


* sl/worktree-sparse (2023-06-12) 1 commit
  (merged to 'next' on 2023-06-16 at ca0a7edcc5)
 + worktree: integrate with sparse-index

 "git worktree" learned to work better with sparse index feature.

 Will merge to 'master'.
 source: <20230606172633.669916-1-cheskaqiqi@gmail.com>


* tb/collect-pack-filenames-fix (2023-06-12) 1 commit
  (merged to 'next' on 2023-06-20 at abcc6892c8)
 + builtin/repack.c: only collect fully-formed packs

 Avoid breakage of "git pack-objects --cruft" due to inconsistency
 between the way the code enumerates packfiles in the repository.

 Will merge to 'master'.
 source: <20230607101617.ges6tnMry4E52lDGld43QgtNUsIS4YQq6w-t71hEfkQ@z>


* tb/open-midx-bitmap-fallback (2023-06-12) 1 commit
  (merged to 'next' on 2023-06-16 at 6546fee734)
 + pack-bitmap.c: gracefully degrade on failure to load MIDX'd pack

 Gracefully deal with a stale MIDX file that lists a packfile that
 no longer exists.

 Will merge to 'master'.
 source: <f123b68cb8a277fbf105b1789a84b9405a499b79.1686178854.git.me@ttaylorr.com>


* tz/lib-gpg-prereq-fix (2023-06-12) 1 commit
  (merged to 'next' on 2023-06-16 at 19770e970a)
 + t/lib-gpg: require GPGSSH for GPGSSH_VERIFYTIME prereq

 Test update.

 Will merge to 'master'.
 source: <20230606214707.55739-1-tmz@pobox.com>


* ps/cat-file-null-output (2023-06-12) 5 commits
  (merged to 'next' on 2023-06-15 at e841ad2be5)
 + cat-file: add option '-Z' that delimits input and output with NUL
 + cat-file: simplify reading from standard input
 + strbuf: provide CRLF-aware helper to read until a specified delimiter
 + t1006: modernize test style to use `test_cmp`
 + t1006: don't strip timestamps from expected results

 "git cat-file --batch" and friends learned "-Z" that uses NUL
 delimiter for both input and output.

 Will merge to 'master'.
 source: <cover.1686028409.git.ps@pks.im>


* ds/add-i-color-configuration-fix (2023-06-12) 2 commits
  (merged to 'next' on 2023-06-15 at 377b9f9a00)
 + add: test use of brackets when color is disabled
 + add: check color.ui for interactive add

 The reimplemented "git add -i" did not honor color.ui configuration.

 Will merge to 'master'.
 source: <pull.1541.v2.git.1686061219078.gitgitgadget@gmail.com>


* ks/ref-filter-signature (2023-06-06) 2 commits
 - ref-filter: add new "signature" atom
 - t/lib-gpg: introduce new prereq GPG2

 The "git for-each-ref" family of commands learned placeholders
 related to GPG signature verification.

 Needs review.
 source: <20230604185815.15761-1-five231003@gmail.com>


* ds/disable-replace-refs (2023-06-12) 3 commits
  (merged to 'next' on 2023-06-15 at e7baddb745)
 + repository: create read_replace_refs setting
 + replace-objects: create wrapper around setting
 + repository: create disable_replace_refs()
 (this branch uses tb/pack-bitmap-traversal-with-boundary.)

 Introduce a mechanism to disable replace refs globally and per
 repository.

 Will merge to 'master'.
 source: <pull.1537.v3.git.1686057877.gitgitgadget@gmail.com>


* jt/path-filter-fix (2023-06-13) 4 commits
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Expecting a reroll.
 cf. <c7b66d2c-cdc3-1f0f-60a0-a2ee21c277bf@github.com>
 source: <cover.1686677910.git.jonathantanmy@google.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* mh/credential-libsecret-attrs (2023-06-16) 1 commit
 - credential/libsecret: store new attributes

 The way authentication related data other than passwords (e.g.
 oath token and password expiration data) are stored in libsecret
 keyrings has been rethought.

 Needs review.
 source: <pull.1469.v5.git.git.1686945306242.gitgitgadget@gmail.com>


* ja/worktree-orphan (2023-05-17) 8 commits
  (merged to 'next' on 2023-06-15 at 16bb552b79)
 + worktree add: emit warn when there is a bad HEAD
 + worktree add: extend DWIM to infer --orphan
 + worktree add: introduce "try --orphan" hint
 + worktree add: add --orphan flag
 + t2400: add tests to verify --quiet
 + t2400: refactor "worktree add" opt exclusion tests
 + t2400: cleanup created worktree in test
 + worktree add: include -B in usage docs

 Originally merged to 'next' on 2023-06-14

 'git worktree add' learned how to create a worktree based on an
 orphaned branch with `--orphan`.

 Will merge to 'master'.
 source: <20230517214711.12467-1-jacobabel@nullpo.dev>


* tb/refs-exclusion-and-packed-refs (2023-06-20) 16 commits
 - ls-refs.c: avoid enumerating hidden refs where possible
 - upload-pack.c: avoid enumerating hidden refs where possible
 - builtin/receive-pack.c: avoid enumerating hidden references
 - refs.h: let `for_each_namespaced_ref()` take excluded patterns
 - refs/packed-backend.c: ignore complicated hidden refs rules
 - revision.h: store hidden refs in a `strvec`
 - refs/packed-backend.c: add trace2 counters for jump list
 - refs/packed-backend.c: implement jump lists to avoid excluded pattern(s)
 - refs/packed-backend.c: refactor `find_reference_location()`
 - refs: plumb `exclude_patterns` argument throughout
 - builtin/for-each-ref.c: add `--exclude` option
 - ref-filter.c: parameterize match functions over patterns
 - ref-filter: add `ref_filter_clear()`
 - ref-filter: clear reachable list pointers after freeing
 - ref-filter.h: provide `REF_FILTER_INIT`
 - refs.c: rename `ref_filter`

 Enumerating refs in the packed-refs file, while excluding refs that
 match certain patterns, has been optimized.

 source: <cover.1687270849.git.me@ttaylorr.com>


* en/header-split-cache-h-part-3 (2023-05-16) 29 commits
  (merged to 'next' on 2023-06-15 at 76ebce0b7a)
 + fsmonitor-ll.h: split this header out of fsmonitor.h
 + hash-ll, hashmap: move oidhash() to hash-ll
 + object-store-ll.h: split this header out of object-store.h
 + khash: name the structs that khash declares
 + merge-ll: rename from ll-merge
 + git-compat-util.h: remove unneccessary include of wildmatch.h
 + builtin.h: remove unneccessary includes
 + list-objects-filter-options.h: remove unneccessary include
 + diff.h: remove unnecessary include of oidset.h
 + repository: remove unnecessary include of path.h
 + log-tree: replace include of revision.h with simple forward declaration
 + cache.h: remove this no-longer-used header
 + read-cache*.h: move declarations for read-cache.c functions from cache.h
 + repository.h: move declaration of the_index from cache.h
 + merge.h: move declarations for merge.c from cache.h
 + diff.h: move declaration for global in diff.c from cache.h
 + preload-index.h: move declarations for preload-index.c from elsewhere
 + sparse-index.h: move declarations for sparse-index.c from cache.h
 + name-hash.h: move declarations for name-hash.c from cache.h
 + run-command.h: move declarations for run-command.c from cache.h
 + statinfo: move stat_{data,validity} functions from cache/read-cache
 + read-cache: move shared add/checkout/commit code
 + add: modify add_files_to_cache() to avoid globals
 + read-cache: move shared commit and ls-files code
 + setup: adopt shared init-db & clone code
 + init-db, clone: change unnecessary global into passed parameter
 + init-db: remove unnecessary global variable
 + init-db: document existing bug with core.bare in template config
 + Merge branch 'en/header-split-cache-h-part-2' into en/header-split-cache-h-part-3
 (this branch is used by js/cmake-wo-cache-h.)

 Originally merged to 'next' on 2023-06-13

 Header files cleanup.

 Will merge to 'master' together with its fix-up in js/cmake-wo-cache-h
 source: <pull.1525.v3.git.1684218848.gitgitgadget@gmail.com>


* cc/git-replay (2023-06-03) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 source: <20230602102533.876905-1-christian.couder@gmail.com>


* tb/gc-recent-object-hook (2023-06-12) 2 commits
  (merged to 'next' on 2023-06-16 at 2d8d8ea2ef)
 + gc: introduce `gc.recentObjectsHook`
 + reachable.c: extract `obj_is_recent()`

 "git pack-objects" learned to invoke a new hook program that
 enumerates extra objects to be used as anchoring points to keep
 otherwise unreachable objects in cruft packs.

 Will merge to 'master'.
 source: <cover.1686178684.git.me@ttaylorr.com>


* ob/revert-of-revert (2023-05-05) 1 commit
 - sequencer: beautify subject of reverts of reverts

 Instead of "Revert "Revert "original"", give "Reapply "original""
 as the title for a revert of a revert.

 Expecting a hopefully final reroll.
 Looking much better, except for minor cosmetic issues.
 source: <20230428083528.1699221-1-oswald.buddenhagen@gmx.de>


* cw/strbuf-cleanup (2023-06-12) 7 commits
 - strbuf: remove global variable
 - path: move related function to path
 - object-name: move related functions to object-name
 - credential-store: move related functions to credential-store file
 - abspath: move related functions to abspath
 - strbuf: clarify dependency
 - strbuf: clarify API boundary

 Move functions that are not about pure string manipulation out of
 strbuf.[ch]
 source: <20230606194720.2053551-1-calvinwan@google.com>


* tl/notes-separator (2023-04-28) 6 commits
 - notes.c: introduce "--[no-]stripspace" option
 - notes.c: append separator instead of insert by pos
 - notes.c: introduce '--separator=<paragraph-break>' option
 - t3321: add test cases about the notes stripspace behavior
 - notes.c: use designated initializers for clarity
 - notes.c: cleanup 'strbuf_grow' call in 'append_edit'
 (this branch is used by jc/notes-separator-fix.)

 'git notes append' was taught '--separator' to specify string to insert
 between paragraphs.

 Expecting a reroll.
 cf. <20230615071314.GC1460739@coredump.intra.peff.net>
 source: <cover.1682671758.git.dyroneteng@gmail.com>


* jc/notes-separator-fix (2023-06-13) 1 commit
 - notes: do not access before the beginning of an array
 (this branch uses tl/notes-separator.)

 Fix to tl/notes-separator topic.

 Will drop once tl/notes-separator gets updated.
 source: <cover.1682671758.git.dyroneteng@gmail.com>


* pw/rebase-i-after-failure (2023-04-21) 6 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase: fix rewritten list for failed pick
 - rebase --continue: refuse to commit after failed command
 - sequencer: factor out part of pick_commits()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Expecting a reroll.
 cf. <xmqqsfcthrpb.fsf@gitster.g>
 cf. <1fd54422-b66a-c2e4-7cd7-934ea01190ad@gmail.com>
 source: <pull.1492.v2.git.1682089074.gitgitgadget@gmail.com>


* tb/pack-bitmap-traversal-with-boundary (2023-05-08) 3 commits
 + pack-bitmap.c: use commit boundary during bitmap traversal
 + pack-bitmap.c: extract `fill_in_bitmap()`
 + object: add object_array initializer helper function
 (this branch is used by ds/disable-replace-refs.)

 Originally merged to 'next' on 2023-06-15

 The object traversal using reachability bitmap done by
 "pack-object" has been tweaked to take advantage of the fact that
 using "boundary" commits as representative of all the uninteresting
 ones can save quite a lot of object enumeration.

 Will merge to 'master'.
 source: <cover.1683567065.git.me@ttaylorr.com>

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

* mh/credential-password-expiry-libsecret (2023-05-05) 1 commit
 . credential/libsecret: support password_expiry_utc

 Originally merged to 'next' on 2023-05-09

 The libsecret credential helper learns to handle the password
 expiry time information.

 Superseded by mh/credential-libsecret-attrs.
 cf. <CAGJzqskMwOJkriH6serqdwAVYi+fftEL8ohJd-suP6v+OxB_bg@mail.gmail.com>
 source: <pull.1469.v3.git.git.1683270298313.gitgitgadget@gmail.com>


* tb/pack-bitmap-index-seek (2023-03-20) 6 commits
 . pack-bitmap.c: factor out `bitmap_index_seek_commit()`
 . pack-bitmap.c: use `bitmap_index_seek()` where possible
 . pack-bitmap.c: factor out manual `map_pos` manipulation
 . pack-bitmap.c: drop unnecessary 'inline's
 . pack-bitmap.c: hide bitmap internals in `read_be32()`
 . pack-bitmap.c: hide bitmap internals in `read_u8()`

 Clean-up the pack-bitmap codepath.

 Retracted for now.
 cf. <ZJCI6FHtbuOKPlV1@nand.local>
 source: <cover.1679342296.git.me@ttaylorr.com>

^ permalink raw reply	[relevance 18%]

* What's cooking in git.git (Jun 2023, #04; Wed, 14)
@ 2023-06-15  0:06 19% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-06-15  0:06 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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]

* jc/notes-separator-fix (2023-06-13) 1 commit
  (merged to 'next' on 2023-06-14 at 3321da32a9)
 + notes: do not access before the beginning of an array
 (this branch uses tl/notes-separator.)

 Fix to tl/notes-separator topic.

 Will merge to 'master'.
 source: <cover.1682671758.git.dyroneteng@gmail.com>


* js/doc-unit-tests (2023-06-13) 1 commit
 - unit tests: Add a project plan document

 Process to add some form of low-level unit tests has started.

 Comments?  Filling in blanks?
 source: <8afdb215d7e10ca16a2ce8226b4127b3d8a2d971.1686352386.git.steadmon@google.com>


* jt/doc-use-octal-with-printf (2023-06-13) 1 commit
 - CodingGuidelines: use octal escapes, not hex

 Suggest to refrain from using hex literals that are non-portable
 when writing printf(1) format strings.

 Will merge to 'next'.
 source: <20230614001558.277755-1-jonathantanmy@google.com>


* js/defeat-ignore-submodules-config-with-explicit-addition (2023-06-14) 1 commit
 - diff-lib: honor override_submodule_config flag bit

 Even when diff.ignoreSubmodules tells us to ignore submodule
 changes, "git commit" with an index that already records changes to
 submodules should include the submodule changes in the resulting
 commit, but it did not.

 Will merge to 'next'.
 source: <20230614164856.3186012-2-sokcevic@google.com>

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

* gc/doc-cocci-updates (2023-04-27) 2 commits
  (merged to 'next' on 2023-05-20 at 3fe237c1a8)
 + cocci: codify authoring and reviewing practices
 + cocci: add headings to and reword README

 Update documentation regarding Coccinelle patches.
 source: <pull.1495.v2.git.git.1682634143.gitgitgadget@gmail.com>


* jc/diff-s-with-other-options (2023-05-05) 1 commit
  (merged to 'next' on 2023-05-20 at dda3826a68)
 + diff: fix interaction between the "-s" option and other options

 The "-s" (silent, squelch) option of the "diff" family of commands
 did not interact with other options that specify the output format
 well.  This has been cleaned up so that it will clear all the
 formatting options given before.
 source: <20230505165952.335256-1-gitster@pobox.com>


* jc/pack-ref-exclude-include (2023-05-12) 3 commits
  (merged to 'next' on 2023-05-23 at 37333a2d00)
 + pack-refs: teach pack-refs --include option
 + pack-refs: teach --exclude option to exclude refs from being packed
 + docs: clarify git-pack-refs --all will pack all refs

 "git pack-refs" learns "--include" and "--exclude" to tweak the ref
 hierarchy to be packed using pattern matching.
 source: <pull.1501.v4.git.git.1683927282.gitgitgadget@gmail.com>


* jk/format-patch-message-id-unleak (2023-05-19) 2 commits
  (merged to 'next' on 2023-05-23 at 44b9e1ab91)
 + format-patch: free elements of rev.ref_message_ids list
 + format-patch: free rev.message_id when exiting

 Leakfix.
 source: <20230519000239.GA1975039@coredump.intra.peff.net>


* kh/keep-tag-editmsg-upon-failure (2023-05-16) 3 commits
  (merged to 'next' on 2023-05-19 at fc0fe3173d)
 + tag: keep the message file in case ref transaction fails
 + t/t7004-tag: add regression test for successful tag creation
 + doc: tag: document `TAG_EDITMSG`

 "git tag" learned to leave the "$GIT_DIR/TAG_EDITMSG" file when the
 command failed, so that the user can salvage what they typed.
 source: <cover.1684258780.git.code@khaugsbakk.name>


* sa/doc-ls-remote (2023-05-19) 6 commits
  (merged to 'next' on 2023-05-20 at d577bf75a0)
 + ls-remote doc: document the output format
 + ls-remote doc: explain what each example does
 + ls-remote doc: show peeled tags in examples
 + ls-remote doc: remove redundant --tags example
 + show-branch doc: say <ref>, not <reference>
 + show-ref doc: update for internal consistency

 Doc update.
 source: <pull.1471.v4.git.git.1684469874.gitgitgadget@gmail.com>


* sl/diff-tree-sparse (2023-05-18) 1 commit
  (merged to 'next' on 2023-05-24 at 5d4f2dec4d)
 + diff-tree: integrate with sparse index

 "git diff-tree" has been taught to take advantage of the
 sparse-index feature.
 cf. <2a2b7223-bb5d-65f9-95bb-9be45d329c87@github.com>
 source: <20230518154454.475487-1-cheskaqiqi@gmail.com>


* zh/ls-files-format-atoms (2023-05-23) 1 commit
  (merged to 'next' on 2023-05-24 at 116b11effb)
 + ls-files: align format atoms with ls-tree

 Some atoms that can be used in "--format=<format>" for "git ls-tree"
 were not supported by "git ls-files", even though they were relevant
 in the context of the latter.
 source: <pull.1533.v2.git.1684832418299.gitgitgadget@gmail.com>

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

* ed/fsmonitor-windows-named-pipe (2023-03-24) 1 commit
 - fsmonitor: handle differences between Windows named pipe functions

 Fix fsmonitor on Windows when the filesystem path contains certain
 characters.

 Expecting a reroll.
 cf. <b9cf67e4-22a7-2ff0-8310-9223bea10d6d@jeffhostetler.com>
 source: <pull.1503.git.1679678090412.gitgitgadget@gmail.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
 - diff-index: enable sparse index

 "git diff-index" command has been taught to work better with the
 sparse index.

 Expecting a reroll.
 cf. <62821012-4fc3-5ad8-695c-70f7ab14a8c9@github.com>
 source: <20230408112342.404318-1-nanth.raghul@gmail.com>


* es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
 - usage: clarify --recurse-submodules as a boolean

 The "--[no-]recurse-submodules" option of "git checkout" and others
 supported an undocumented syntax --recurse-submodules=<value> where
 the value can spell a Boolean in various ways.  The support for the
 syntax is being dropped.

 Expecting a reroll.
 cf. <ZDSTFwMFO7vbj/du@google.com>
 source: <ZDSTFwMFO7vbj/du@google.com>


* tb/pack-bitmap-index-seek (2023-03-20) 6 commits
 - pack-bitmap.c: factor out `bitmap_index_seek_commit()`
 - pack-bitmap.c: use `bitmap_index_seek()` where possible
 - pack-bitmap.c: factor out manual `map_pos` manipulation
 - pack-bitmap.c: drop unnecessary 'inline's
 - pack-bitmap.c: hide bitmap internals in `read_be32()`
 - pack-bitmap.c: hide bitmap internals in `read_u8()`

 Clean-up the pack-bitmap codepath.

 Kicked back to 'seen' out of 'next'.
 There is a BUG() on data errors that needs to be fixed.
 source: <cover.1679342296.git.me@ttaylorr.com>


* cb/checkout-same-branch-twice (2023-03-22) 2 commits
 - SQUASH??? the test marked to expect failure passes from day one
 - checkout/switch: disallow checking out same branch in multiple worktrees

 "git checkout -B $branch" failed to protect against checking out
 a branch that is checked out elsewhere, unlike "git branch -f" did.

 Expecting a hopefully minor and final reroll.
 cf. <CAPUEspj_Bh+LgYLnWfeBdcq_uV5Cbou-7H51GLFjzSa5Qzby9w@mail.gmail.com>
 source: <20230120113553.24655-1-carenas@gmail.com>


* tk/pull-conflict-suggest-rebase-merge-not-rebase-true (2023-02-13) 1 commit
 - pull: conflict hint pull.rebase suggestion should offer "merges" vs "true"

 In an advice message after failed non-ff pull, we used to suggest
 setting pull.rebase=true, but these days pull.rebase=merges may be
 more inline with the original spirit of "rebuild your side on top
 of theirs".

 May want to discard.
 This is too much of a departure from the existing practice.
 cf. <CAMMLpeTPEoKVTbfc17w+Y9qn7jOGmQi_Ux0Y3sFW5QTgGWJ=SA@mail.gmail.com>
 cf. <CABPp-BGqAxKnxDRVN4cYMteLp33hvto07R3=TJBT5WubJT4+Og@mail.gmail.com>
 source: <pull.1474.git.1675614276549.gitgitgadget@gmail.com>


* ab/tag-object-type-errors (2023-05-10) 4 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.
 source: <cover-v2-0.3-00000000000-20221230T011725Z-avarab@gmail.com>


* ad/test-record-count-when-harness-is-in-use (2022-12-25) 1 commit
 - test-lib: allow storing counts with test harnesses

 Allow summary results from tests to be written to t/test-results
 directory even when a test harness like 'prove' is in use.

 Expecting a reroll.
 cf. <CABPp-BGoPuGCZw+9wCgdYyRR4Zf4y9Kun27GrQhtMdYWpOUsYQ@mail.gmail.com>
 source: <20221224225200.1027806-1-adam@dinwoodie.org>


* so/diff-merges-more (2022-12-18) 5 commits
 - diff-merges: improve --diff-merges documentation
 - diff-merges: issue warning on lone '-m' option
 - diff-merges: support list of values for --diff-merges
 - diff-merges: implement log.diffMerges-m-imply-p config
 - diff-merges: implement [no-]hide option and log.diffMergesHide config

 Assorted updates to "--diff-merges=X" option.

 May want to discard.
 Breaking compatibility does not seem worth it.
 source: <20221217132955.108542-1-sorganov@gmail.com>


* ab/imap-send-requires-curl (2023-02-02) 6 commits
 - imap-send: correctly report "host" when using "tunnel"
 - imap-send: remove old --no-curl codepath
 - imap-send: make --curl no-optional
 - imap-send: replace auto-probe libcurl with hard dependency
 - imap-send doc: the imap.sslVerify is used with imap.tunnel
 - imap-send: note "auth_method", not "host" on auth method failure

 Give a hard dependency on cURL library to build "git imap-send",
 and remove the code to interact with IMAP server without using cURL.

 Expecting a reroll.
 The 'tunnel' part is still iffy.
 cf. <230203.86bkmabfjr.gmgdl@evledraar.gmail.com>
 source: <cover-v2-0.6-00000000000-20230202T093706Z-avarab@gmail.com>


* cw/submodule-status-in-parallel (2023-03-02) 6 commits
 - diff-lib: parallelize run_diff_files for submodules
 - diff-lib: refactor out diff_change logic
 - submodule: refactor is_submodule_modified()
 - submodule: move status parsing into function
 - submodule: rename strbuf variable
 - run-command: add on_stderr_output_fn to run_processes_parallel_opts

 "git submodule status" learned to run the comparison in submodule
 repositories in parallel.

 Expecting a reroll.
 cf. <CAFySSZDk05m6gU5-V1R+y3YnQ5PPduVW54+_gjBwD0rmacsLsw@mail.gmail.com>
 cf. <230307.865ybc273g.gmgdl@evledraar.gmail.com>
 source: <20230302215237.1473444-1-calvinwan@google.com>

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

* as/dtype-compilation-fix (2023-06-12) 1 commit
 - statinfo.h: move DTYPE defines from dir.h

 Compilation fix for platforms without D_TYPE in struct dirent.

 Will merge to 'next'.
 source: <20230606205935.3183276-1-asedeno@google.com>


* la/docs-typofixes (2023-06-12) 1 commit
 - docs: typofixes

 Typofixes.

 Will merge to 'next'.
 source: <pull.1542.v2.git.1686166007816.gitgitgadget@gmail.com>


* mh/mingw-case-sensitive-build (2023-06-12) 1 commit
 - mingw: use lowercase includes for some Windows headers

 Names of MinGW header files are spelled in mixed case in some
 source files, but the build host can be using case sensitive
 filesystem with header files with their name spelled in all
 lowercase.

 Needs review.
 source: <20230604211934.1365289-1-mh@glandium.org>


* pb/complete-diff-options (2023-06-12) 25 commits
 - diff.c: mention completion above add_diff_options
 - completion: complete --remerge-diff
 - completion: complete --diff-merges, its options and --no-diff-merges
 - completion: move --pickaxe-{all,regex} to __git_diff_common_options
 - completion: complete --ws-error-highlight
 - completion: complete --unified
 - completion: complete --patch-with-raw
 - completion: complete --output-indicator-{context,new,old}
 - completion: complete --output
 - completion: complete --no-stat
 - completion: complete --no-relative
 - completion: complete --line-prefix
 - completion: complete --ita-invisible-in-index and --ita-visible-in-index
 - completion: complete --irreversible-delete
 - completion: complete --ignore-matching-lines
 - completion: complete --function-context
 - completion: complete --find-renames
 - completion: complete --find-object
 - completion: complete --find-copies
 - completion: complete --default-prefix
 - completion: complete --compact-summary
 - completion: complete --combined-all-paths
 - completion: complete --cc
 - completion: complete --break-rewrites
 - completion: add comments describing __git_diff_* globals

 Completion updates.

 Expecting a reroll.
 cf. <5cba334c-4d75-0dac-20c6-9e3def1f224a@gmail.com>
 source: <pull.1543.v2.git.1686574374.gitgitgadget@gmail.com>


* rj/leakfixes (2023-06-12) 6 commits
 - branch: fix a leak in setup_tracking
 - branch: fix a leak in check_tracking_branch
 - branch: fix a leak in inherit_tracking
 - branch: fix a leak in dwim_and_setup_tracking
 - remote: fix a leak in query_matches_negative_refspec
 - config: fix a leak in git_config_copy_or_rename_section_in_file

 Leakfixes (subset)

 Will merge to 'next'.
 source: <9eb931e7-dd18-8ce8-4d4a-cf3d85066189@gmail.com>


* rs/run-command-exec-error-on-noent (2023-06-12) 2 commits
 - run-command: report exec error even on ENOENT
 - t1800: loosen matching of error message for bad shebang

 Simplify error message when run-command fails to start a command.

 Will merge to 'next'.
 source: <14e1be60-3765-0ba5-00f5-2848bb57bf53@web.de>


* sl/worktree-sparse (2023-06-12) 1 commit
 - worktree: integrate with sparse-index

 "git worktree" learned to work better with sparse index feature.

 Will merge to 'next'.
 source: <20230606172633.669916-1-cheskaqiqi@gmail.com>


* tb/collect-pack-filenames-fix (2023-06-12) 1 commit
 - builtin/repack.c: only collect fully-formed packs

 Avoid breakage of "git pack-objects --cruft" due to inconsistency
 between the way the code enumerates packfiles in the repository.

 Will merge to 'next'?
 source: <20230607101617.ges6tnMry4E52lDGld43QgtNUsIS4YQq6w-t71hEfkQ@z>


* tb/open-midx-bitmap-fallback (2023-06-12) 1 commit
 - pack-bitmap.c: gracefully degrade on failure to load MIDX'd pack

 Gracefully deal with a stale MIDX file that lists a packfile that
 no longer exists.

 Will merge to 'next'.
 source: <f123b68cb8a277fbf105b1789a84b9405a499b79.1686178854.git.me@ttaylorr.com>


* tz/lib-gpg-prereq-fix (2023-06-12) 1 commit
 - t/lib-gpg: require GPGSSH for GPGSSH_VERIFYTIME prereq

 Test update.

 Will merge to 'next'.
 source: <20230606214707.55739-1-tmz@pobox.com>


* jk/ci-use-clang-for-sanitizer-jobs (2023-06-03) 3 commits
  (merged to 'next' on 2023-06-12 at f6d4c5aac6)
 + ci: drop linux-clang job
 + ci: run ASan/UBSan in a single job
 + ci: use clang for ASan/UBSan checks

 Clang's sanitizer implementation seems to work better than GCC's.

 Will merge to 'master'.
 source: <20230601180220.GA4167745@coredump.intra.peff.net>


* jk/log-follow-with-non-literal-pathspec (2023-06-03) 3 commits
  (merged to 'next' on 2023-06-13 at 6c864e2f8a)
 + diff: detect pathspec magic not supported by --follow
 + diff: factor out --follow pathspec check
 + pathspec: factor out magic-to-name function

 "git [-c log.follow=true] log [--follow] ':(glob)f**'" used to barf.

 Will merge to 'master'.
 source: <20230601173724.GA4158369@coredump.intra.peff.net>


* kh/use-default-notes-doc (2023-06-06) 2 commits
  (merged to 'next' on 2023-06-13 at ebfbf7a376)
 + notes: move the documentation to the struct
 + notes: update documentation for `use_default_notes`

 Doc update.

 Will merge to 'master'.
 source: <cover.1685958731.git.code@khaugsbakk.name>


* ps/cat-file-null-output (2023-06-12) 5 commits
  (merged to 'next' on 2023-06-14 at f879ffcbf0)
 + cat-file: add option '-Z' that delimits input and output with NUL
 + cat-file: simplify reading from standard input
 + strbuf: provide CRLF-aware helper to read until a specified delimiter
 + t1006: modernize test style to use `test_cmp`
 + t1006: don't strip timestamps from expected results

 "git cat-file --batch" and friends learned "-Z" that uses NUL
 delimiter for both input and output.

 Will merge to 'master'.
 source: <cover.1686028409.git.ps@pks.im>


* tl/quote-problematic-arg-for-clarity (2023-06-03) 1 commit
  (merged to 'next' on 2023-06-12 at 68851799e5)
 + surround %s with quotes when failed to lookup commit

 Error message fix.

 Will merge to 'master'.
 source: <1f7c62a8870433792076fae30d6c4dc4b61a00d8.1685366301.git.dyroneteng@gmail.com>


* ds/add-i-color-configuration-fix (2023-06-12) 2 commits
  (merged to 'next' on 2023-06-14 at 91eec092e0)
 + add: test use of brackets when color is disabled
 + add: check color.ui for interactive add

 The reimplemented "git add -i" did not honor color.ui configuration.

 Will merge to 'master'.
 source: <pull.1541.v2.git.1686061219078.gitgitgadget@gmail.com>


* ks/ref-filter-signature (2023-06-06) 2 commits
 - ref-filter: add new "signature" atom
 - t/lib-gpg: introduce new prereq GPG2

 The "git for-each-ref" family of commands learned placeholders
 related to GPG signature verification.

 Needs review.
 source: <20230604185815.15761-1-five231003@gmail.com>


* mh/commit-reach-get-reachable-plug-leak (2023-06-04) 1 commit
  (merged to 'next' on 2023-06-12 at 7c58973941)
 + commit-reach: fix memory leak in get_reachable_subset()

 Plug memory leak.

 Will merge to 'master'.
 source: <20230603002819.1122129-1-mh@glandium.org>


* ds/disable-replace-refs (2023-06-12) 3 commits
  (merged to 'next' on 2023-06-14 at 82ba5a6ffa)
 + repository: create read_replace_refs setting
 + replace-objects: create wrapper around setting
 + repository: create disable_replace_refs()
 (this branch uses tb/pack-bitmap-traversal-with-boundary.)

 Introduce a mechanism to disable replace refs globally and per
 repository.

 Will merge to 'master'.
 source: <pull.1537.v3.git.1686057877.gitgitgadget@gmail.com>


* tz/test-fix-pthreads-prereq (2023-05-26) 1 commit
  (merged to 'next' on 2023-06-12 at 82d9529f2c)
 + trace2 tests: fix PTHREADS prereq

 Test fix.

 Will merge to 'master'.
 source: <20230525031218.3554586-1-tmz@pobox.com>


* tz/test-ssh-verifytime-fix (2023-05-26) 1 commit
  (merged to 'next' on 2023-06-12 at 3abad605d6)
 + t/lib-gpg: fix ssh-keygen -Y check-novalidate with openssh-9.0

 Test fix.

 Will merge to 'master'.
 source: <20230525031026.3554406-1-tmz@pobox.com>


* vd/worktree-config-is-per-repository (2023-05-26) 3 commits
  (merged to 'next' on 2023-06-13 at 339d281663)
 + repository: move 'repository_format_worktree_config' to repo scope
 + config: pass 'repo' directly to 'config_with_options()'
 + config: use gitdir to get worktree config

 The value of config.worktree is per-repository, but has been kept
 in a singleton global variable per process. This has been OK as
 most Git operations interacted with a single repository at a time,
 but not right for operations like recursive "grep" that want to
 access multiple repositories from a single process without forking.

 The global variable has been eliminated and made into a member in
 the per-repository data structure.

 Will merge to 'master'.
 cf. <3145f4f3-7bd4-8a1b-4943-11b7d22b60c6@github.com>
 cf. <kl6lr0qwno2q.fsf@chooglen-macbookpro.roam.corp.google.com>
 source: <pull.1536.v2.git.1685064781.gitgitgadget@gmail.com>


* tb/submodule-null-deref-fix (2023-05-25) 1 commit
  (merged to 'next' on 2023-06-13 at 5eb6a7948d)
 + builtin/submodule--helper.c: handle missing submodule URLs

 "git submodule" code trusted the data coming from the config (and
 the in-tree .gitmodules file) too much without validating, leading
 to NULL dereference if the user mucks with a repository (e.g.
 submodule.<name>.url is removed).  This has been corrected.

 Will merge to 'master'.
 source: <ae6cf3fa461b85e346f034371dae56a2790dfa20.1684957882.git.me@ttaylorr.com>


* jc/test-modernization-2 (2023-05-23) 10 commits
  (merged to 'next' on 2023-06-13 at e3ab8eea9a)
 + t9400-git-cvsserver-server: modernize test format
 + t9200-git-cvsexportcommit: modernize test format
 + t9104-git-svn-follow-parent: modernize test format
 + t9100-git-svn-basic: modernize test format
 + t7700-repack: modernize test format
 + t7600-merge: modernize test format
 + t7508-status: modernize test format
 + t7201-co: modernize test format
 + t7111-reset-table: modernize test format
 + t7110-reset-merge: modernize test format
 (this branch uses jc/test-modernization.)

 Test style updates.

 Will merge to 'master'.
 source: <pull.1514.git.git.1684599239.gitgitgadget@gmail.com>


* jt/path-filter-fix (2023-06-13) 4 commits
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Will merge to 'next'?
 source: <cover.1686677910.git.jonathantanmy@google.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* mh/credential-libsecret-attrs (2023-05-17) 1 commit
 - credential/libsecret: store new attributes

 The way authentication related data other than passwords (e.g.
 oath token and password expiration data) are stored in libsecret
 keyrings has been rethought.

 Needs review.
 source: <pull.1469.v4.git.git.1684306540947.gitgitgadget@gmail.com>


* ps/fetch-cleanups (2023-05-17) 9 commits
  (merged to 'next' on 2023-06-12 at d15d335893)
 + fetch: use `fetch_config` to store "submodule.fetchJobs" value
 + fetch: use `fetch_config` to store "fetch.parallel" value
 + fetch: use `fetch_config` to store "fetch.recurseSubmodules" value
 + fetch: use `fetch_config` to store "fetch.showForcedUpdates" value
 + fetch: use `fetch_config` to store "fetch.pruneTags" value
 + fetch: use `fetch_config` to store "fetch.prune" value
 + fetch: pass through `fetch_config` directly
 + fetch: drop unneeded NULL-check for `remote_ref`
 + fetch: drop unused DISPLAY_FORMAT_UNKNOWN enum value

 Code clean-up.

 Will merge to 'master'.
 cf. <20230519002128.GD2442034@coredump.intra.peff.net>
 source: <cover.1684324059.git.ps@pks.im>


* jc/test-modernization (2023-05-19) 20 commits
  (merged to 'next' on 2023-06-13 at a61e7b7248)
 + t7101-reset-empty-subdirs: modernize test format
 + t6050-replace: modernize test format
 + t5306-pack-nobase: modernize test format
 + t5303-pack-corruption-resilience: modernize test format
 + t5301-sliding-window: modernize test format
 + t5300-pack-object: modernize test format
 + t4206-log-follow-harder-copies: modernize test format
 + t4202-log: modernize test format
 + t4004-diff-rename-symlink: modernize test format
 + t4003-diff-rename-1: modernize test format
 + t4002-diff-basic: modernize test format
 + t3903-stash: modernize test format
 + t3700-add: modernize test format
 + t3500-cherry: modernize test format
 + t1006-cat-file: modernize test format
 + t1002-read-tree-m-u-2way: modernize test format
 + t1001-read-tree-m-2way: modernize test format
 + t3210-pack-refs: modernize test format
 + t0030-stripspace: modernize test format
 + t0000-basic: modernize test format
 (this branch is used by jc/test-modernization-2.)

 Will merge to 'master'.
 source: <pull.1513.git.git.1684440205.gitgitgadget@gmail.com>


* ja/worktree-orphan (2023-05-17) 8 commits
  (merged to 'next' on 2023-06-14 at 25d508496b)
 + worktree add: emit warn when there is a bad HEAD
 + worktree add: extend DWIM to infer --orphan
 + worktree add: introduce "try --orphan" hint
 + worktree add: add --orphan flag
 + t2400: add tests to verify --quiet
 + t2400: refactor "worktree add" opt exclusion tests
 + t2400: cleanup created worktree in test
 + worktree add: include -B in usage docs

 'git worktree add' learned how to create a worktree based on an
 orphaned branch with `--orphan`.

 Will merge to 'master'.
 source: <20230517214711.12467-1-jacobabel@nullpo.dev>


* tb/refs-exclusion-and-packed-refs (2023-06-12) 16 commits
 - ls-refs.c: avoid enumerating hidden refs where possible
 - upload-pack.c: avoid enumerating hidden refs where possible
 - builtin/receive-pack.c: avoid enumerating hidden references
 - refs.h: let `for_each_namespaced_ref()` take excluded patterns
 - refs/packed-backend.c: ignore complicated hidden refs rules
 - revision.h: store hidden refs in a `strvec`
 - refs/packed-backend.c: add trace2 counters for jump list
 - refs/packed-backend.c: implement jump lists to avoid excluded pattern(s)
 - refs/packed-backend.c: refactor `find_reference_location()`
 - refs: plumb `exclude_patterns` argument throughout
 - builtin/for-each-ref.c: add `--exclude` option
 - ref-filter.c: parameterize match functions over patterns
 - ref-filter: add `ref_filter_clear()`
 - ref-filter: clear reachable list pointers after freeing
 - ref-filter.h: provide `REF_FILTER_INIT`
 - refs.c: rename `ref_filter`

 Enumerating refs in the packed-refs file, while excluding refs that
 match certain patterns, has been optimized.
 source: <cover.1686134440.git.me@ttaylorr.com>


* en/header-split-cache-h-part-3 (2023-05-16) 29 commits
  (merged to 'next' on 2023-06-13 at 56bcca52ac)
 + fsmonitor-ll.h: split this header out of fsmonitor.h
 + hash-ll, hashmap: move oidhash() to hash-ll
 + object-store-ll.h: split this header out of object-store.h
 + khash: name the structs that khash declares
 + merge-ll: rename from ll-merge
 + git-compat-util.h: remove unneccessary include of wildmatch.h
 + builtin.h: remove unneccessary includes
 + list-objects-filter-options.h: remove unneccessary include
 + diff.h: remove unnecessary include of oidset.h
 + repository: remove unnecessary include of path.h
 + log-tree: replace include of revision.h with simple forward declaration
 + cache.h: remove this no-longer-used header
 + read-cache*.h: move declarations for read-cache.c functions from cache.h
 + repository.h: move declaration of the_index from cache.h
 + merge.h: move declarations for merge.c from cache.h
 + diff.h: move declaration for global in diff.c from cache.h
 + preload-index.h: move declarations for preload-index.c from elsewhere
 + sparse-index.h: move declarations for sparse-index.c from cache.h
 + name-hash.h: move declarations for name-hash.c from cache.h
 + run-command.h: move declarations for run-command.c from cache.h
 + statinfo: move stat_{data,validity} functions from cache/read-cache
 + read-cache: move shared add/checkout/commit code
 + add: modify add_files_to_cache() to avoid globals
 + read-cache: move shared commit and ls-files code
 + setup: adopt shared init-db & clone code
 + init-db, clone: change unnecessary global into passed parameter
 + init-db: remove unnecessary global variable
 + init-db: document existing bug with core.bare in template config
 + Merge branch 'en/header-split-cache-h-part-2' into en/header-split-cache-h-part-3

 Header files cleanup.

 Will merge to 'master'.
 source: <pull.1525.v3.git.1684218848.gitgitgadget@gmail.com>


* la/doc-interpret-trailers (2023-06-12) 9 commits
  (merged to 'next' on 2023-06-14 at 64a59e71b3)
 + doc: trailer: add more examples in DESCRIPTION
 + doc: trailer: mention 'key' in DESCRIPTION
 + doc: trailer.<token>.command: emphasize deprecation
 + doc: trailer: use angle brackets for <token> and <value>
 + doc: trailer: remove redundant phrasing
 + doc: trailer: examples: avoid the word "message" by itself
 + doc: trailer: drop "commit message part" phrasing
 + doc: trailer: swap verb order
 + doc: trailer: fix grammar

 Doc update.

 Will merge to 'master'.
 source: <pull.1506.v3.git.git.1686017304.gitgitgadget@gmail.com>


* cc/git-replay (2023-06-03) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 source: <20230602102533.876905-1-christian.couder@gmail.com>


* tb/gc-recent-object-hook (2023-06-12) 2 commits
 - gc: introduce `gc.recentObjectsHook`
 - reachable.c: extract `obj_is_recent()`

 "git pack-objects" learned to invoke a new hook program that
 enumerates extra objects to be used as anchoring points to keep
 otherwise unreachable objects in cruft packs.

 Will merge to 'next'.
 source: <cover.1686178684.git.me@ttaylorr.com>


* ob/revert-of-revert (2023-05-05) 1 commit
 - sequencer: beautify subject of reverts of reverts

 Instead of "Revert "Revert "original"", give "Reapply "original""
 as the title for a revert of a revert.

 Expecting a hopefully final reroll.
 Looking much better, except for minor cosmetic issues.
 source: <20230428083528.1699221-1-oswald.buddenhagen@gmx.de>


* cw/strbuf-cleanup (2023-06-12) 7 commits
 - strbuf: remove global variable
 - path: move related function to path
 - object-name: move related functions to object-name
 - credential-store: move related functions to credential-store file
 - abspath: move related functions to abspath
 - strbuf: clarify dependency
 - strbuf: clarify API boundary

 Move functions that are not about pure string manipulation out of
 strbuf.[ch]
 source: <20230606194720.2053551-1-calvinwan@google.com>


* tl/notes-separator (2023-04-28) 6 commits
  (merged to 'next' on 2023-05-06 at 598ed19c9b)
 + notes.c: introduce "--[no-]stripspace" option
 + notes.c: append separator instead of insert by pos
 + notes.c: introduce '--separator=<paragraph-break>' option
 + t3321: add test cases about the notes stripspace behavior
 + notes.c: use designated initializers for clarity
 + notes.c: cleanup 'strbuf_grow' call in 'append_edit'
 (this branch is used by jc/notes-separator-fix.)

 'git notes append' was taught '--separator' to specify string to insert
 between paragraphs.

 Will merge to 'next' together with its fix-up.
 source: <cover.1682671758.git.dyroneteng@gmail.com>


* pw/rebase-i-after-failure (2023-04-21) 6 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase: fix rewritten list for failed pick
 - rebase --continue: refuse to commit after failed command
 - sequencer: factor out part of pick_commits()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Expecting a reroll.
 cf. <xmqqsfcthrpb.fsf@gitster.g>
 cf. <1fd54422-b66a-c2e4-7cd7-934ea01190ad@gmail.com>
 source: <pull.1492.v2.git.1682089074.gitgitgadget@gmail.com>


* tb/pack-bitmap-traversal-with-boundary (2023-05-08) 3 commits
 + pack-bitmap.c: use commit boundary during bitmap traversal
 + pack-bitmap.c: extract `fill_in_bitmap()`
 + object: add object_array initializer helper function
 (this branch is used by ds/disable-replace-refs.)

 The object traversal using reachability bitmap done by
 "pack-object" has been tweaked to take advantage of the fact that
 using "boundary" commits as representative of all the uninteresting
 ones can save quite a lot of object enumeration.

 Will merge to 'next'.
 source: <cover.1683567065.git.me@ttaylorr.com>


* pb/complete-and-document-auto-merge-and-friends (2023-05-23) 6 commits
  (merged to 'next' on 2023-06-13 at 46ca10d88d)
 + completion: complete AUTO_MERGE
 + Documentation: document AUTO_MERGE
 + git-merge.txt: modernize word choice in "True merge" section
 + completion: complete REVERT_HEAD and BISECT_HEAD
 + revisions.txt: document more special refs
 + revisions.txt: use description list for special refs

 Document more pseudo-refs and teach the command line completion
 machinery to complete AUTO_MERGE.

 Will merge to 'master'.
 source: <pull.1515.v2.git.1684783741.gitgitgadget@gmail.com>


* mh/credential-password-expiry-libsecret (2023-05-05) 1 commit
  (merged to 'next' on 2023-05-09 at fd898e3756)
 + credential/libsecret: support password_expiry_utc

 The libsecret credential helper learns to handle the password
 expiry time information.

 On hold.
 The database gets littered with entries whose expiration dates only differ.
 cf. <CAGJzqskMwOJkriH6serqdwAVYi+fftEL8ohJd-suP6v+OxB_bg@mail.gmail.com>
 source: <pull.1469.v3.git.git.1683270298313.gitgitgadget@gmail.com>

^ permalink raw reply	[relevance 19%]

* What's cooking in git.git (Jun 2023, #03; Mon, 12)
@ 2023-06-13  2:28 19% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-06-13  2:28 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

Sorry for being rather quiet for a few weeks.  I was visiting Japan,
attending a couple of memorial services, and then got sick and was
in bed for about a week X-<.  It makes you feel really old when a
friend from your highschool days passes away.  I think I've caught
up with the list traffic, but stale topics may want to be re-sent.

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]

* as/dtype-compilation-fix (2023-06-12) 1 commit
 - statinfo.h: move DTYPE defines from dir.h

 Compilation fix for platforms without D_TYPE in struct dirent.

 Will merge to 'next'. 
 source: <20230606205935.3183276-1-asedeno@google.com>


* la/docs-typofixes (2023-06-12) 1 commit
 - docs: typofixes

 Typofixes.

 Will merge to 'next'.
 source: <pull.1542.v2.git.1686166007816.gitgitgadget@gmail.com>


* mh/mingw-case-sensitive-build (2023-06-12) 1 commit
 - mingw: use lowercase includes for some Windows headers

 Names of MinGW header files are spelled in mixed case in some
 source files, but the build host can be using case sensitive
 filesystem with header files with their name spelled in all
 lowercase.

 Needs review.
 source: <20230604211934.1365289-1-mh@glandium.org>


* pb/complete-diff-options (2023-06-12) 25 commits
 - diff.c: mention completion above add_diff_options
 - completion: complete --remerge-diff
 - completion: complete --diff-merges, its options and --no-diff-merges
 - completion: move --pickaxe-{all,regex} to __git_diff_common_options
 - completion: complete --ws-error-highlight
 - completion: complete --unified
 - completion: complete --patch-with-raw
 - completion: complete --output-indicator-{context,new,old}
 - completion: complete --output
 - completion: complete --no-stat
 - completion: complete --no-relative
 - completion: complete --line-prefix
 - completion: complete --ita-invisible-in-index and --ita-visible-in-index
 - completion: complete --irreversible-delete
 - completion: complete --ignore-matching-lines
 - completion: complete --function-context
 - completion: complete --find-renames
 - completion: complete --find-object
 - completion: complete --find-copies
 - completion: complete --default-prefix
 - completion: complete --compact-summary
 - completion: complete --combined-all-paths
 - completion: complete --cc
 - completion: complete --break-rewrites
 - completion: add comments describing __git_diff_* globals

 Completion updates.

 Expecting a reroll.
 cf. <5cba334c-4d75-0dac-20c6-9e3def1f224a@gmail.com>
 source: <pull.1543.v2.git.1686574374.gitgitgadget@gmail.com>


* rj/leakfixes (2023-06-12) 6 commits
 - branch: fix a leak in setup_tracking
 - branch: fix a leak in check_tracking_branch
 - branch: fix a leak in inherit_tracking
 - branch: fix a leak in dwim_and_setup_tracking
 - remote: fix a leak in query_matches_negative_refspec
 - config: fix a leak in git_config_copy_or_rename_section_in_file

 Leakfixes (subset)

 Will merge to 'next'.
 source: <9eb931e7-dd18-8ce8-4d4a-cf3d85066189@gmail.com>


* rs/run-command-exec-error-on-noent (2023-06-12) 2 commits
 - run-command: report exec error even on ENOENT
 - t1800: loosen matching of error message for bad shebang

 Simplify error message when run-command fails to start a command.

 Will merge to 'next'.
 source: <14e1be60-3765-0ba5-00f5-2848bb57bf53@web.de>


* sl/worktree-sparse (2023-06-12) 1 commit
 - worktree: integrate with sparse-index

 "git worktree" learned to work better with sparse index feature.

 Will merge to 'next'.
 source: <20230606172633.669916-1-cheskaqiqi@gmail.com>


* tb/collect-pack-filenames-fix (2023-06-12) 1 commit
 - builtin/repack.c: only collect fully-formed packs

 Avoid breakage of "git pack-objects --cruft" due to inconsistency
 between the way the code enumerates packfiles in the repository.

 Will merge to 'next'?
 source: <20230607101617.ges6tnMry4E52lDGld43QgtNUsIS4YQq6w-t71hEfkQ@z>


* tb/open-midx-bitmap-fallback (2023-06-12) 1 commit
 - pack-bitmap.c: gracefully degrade on failure to load MIDX'd pack

 Gracefully deal with a stale MIDX file that lists a packfile that
 no longer exists.

 Will merge to 'next'.
 source: <f123b68cb8a277fbf105b1789a84b9405a499b79.1686178854.git.me@ttaylorr.com>


* tz/lib-gpg-prereq-fix (2023-06-12) 1 commit
 - t/lib-gpg: require GPGSSH for GPGSSH_VERIFYTIME prereq

 Test update.

 Will merge to 'next'.
 source: <20230606214707.55739-1-tmz@pobox.com>

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

* ed/fsmonitor-windows-named-pipe (2023-03-24) 1 commit
 - fsmonitor: handle differences between Windows named pipe functions

 Fix fsmonitor on Windows when the filesystem path contains certain
 characters.

 Expecting a reroll.
 cf. <b9cf67e4-22a7-2ff0-8310-9223bea10d6d@jeffhostetler.com>
 source: <pull.1503.git.1679678090412.gitgitgadget@gmail.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
 - diff-index: enable sparse index

 "git diff-index" command has been taught to work better with the
 sparse index.

 Expecting a reroll.
 cf. <62821012-4fc3-5ad8-695c-70f7ab14a8c9@github.com>
 source: <20230408112342.404318-1-nanth.raghul@gmail.com>


* es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
 - usage: clarify --recurse-submodules as a boolean

 The "--[no-]recurse-submodules" option of "git checkout" and others
 supported an undocumented syntax --recurse-submodules=<value> where
 the value can spell a Boolean in various ways.  The support for the
 syntax is being dropped.

 Expecting a reroll.
 cf. <ZDSTFwMFO7vbj/du@google.com>
 source: <ZDSTFwMFO7vbj/du@google.com>


* tb/pack-bitmap-index-seek (2023-03-20) 6 commits
 - pack-bitmap.c: factor out `bitmap_index_seek_commit()`
 - pack-bitmap.c: use `bitmap_index_seek()` where possible
 - pack-bitmap.c: factor out manual `map_pos` manipulation
 - pack-bitmap.c: drop unnecessary 'inline's
 - pack-bitmap.c: hide bitmap internals in `read_be32()`
 - pack-bitmap.c: hide bitmap internals in `read_u8()`

 Clean-up the pack-bitmap codepath.

 Kicked back to 'seen' out of 'next'.
 There is a BUG() on data errors that needs to be fixed.
 source: <cover.1679342296.git.me@ttaylorr.com>


* cb/checkout-same-branch-twice (2023-03-22) 2 commits
 - SQUASH??? the test marked to expect failure passes from day one
 - checkout/switch: disallow checking out same branch in multiple worktrees

 "git checkout -B $branch" failed to protect against checking out
 a branch that is checked out elsewhere, unlike "git branch -f" did.

 Expecting a hopefully minor and final reroll.
 cf. <CAPUEspj_Bh+LgYLnWfeBdcq_uV5Cbou-7H51GLFjzSa5Qzby9w@mail.gmail.com>
 source: <20230120113553.24655-1-carenas@gmail.com>


* tk/pull-conflict-suggest-rebase-merge-not-rebase-true (2023-02-13) 1 commit
 - pull: conflict hint pull.rebase suggestion should offer "merges" vs "true"

 In an advice message after failed non-ff pull, we used to suggest
 setting pull.rebase=true, but these days pull.rebase=merges may be
 more inline with the original spirit of "rebuild your side on top
 of theirs".

 May want to discard.
 This is too much of a departure from the existing practice.
 cf. <CAMMLpeTPEoKVTbfc17w+Y9qn7jOGmQi_Ux0Y3sFW5QTgGWJ=SA@mail.gmail.com>
 cf. <CABPp-BGqAxKnxDRVN4cYMteLp33hvto07R3=TJBT5WubJT4+Og@mail.gmail.com>
 source: <pull.1474.git.1675614276549.gitgitgadget@gmail.com>


* ab/tag-object-type-errors (2023-05-10) 4 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.
 source: <cover-v2-0.3-00000000000-20221230T011725Z-avarab@gmail.com>


* ad/test-record-count-when-harness-is-in-use (2022-12-25) 1 commit
 - test-lib: allow storing counts with test harnesses

 Allow summary results from tests to be written to t/test-results
 directory even when a test harness like 'prove' is in use.

 Expecting a reroll.
 cf. <CABPp-BGoPuGCZw+9wCgdYyRR4Zf4y9Kun27GrQhtMdYWpOUsYQ@mail.gmail.com>
 source: <20221224225200.1027806-1-adam@dinwoodie.org>


* so/diff-merges-more (2022-12-18) 5 commits
 - diff-merges: improve --diff-merges documentation
 - diff-merges: issue warning on lone '-m' option
 - diff-merges: support list of values for --diff-merges
 - diff-merges: implement log.diffMerges-m-imply-p config
 - diff-merges: implement [no-]hide option and log.diffMergesHide config

 Assorted updates to "--diff-merges=X" option.

 May want to discard.
 Breaking compatibility does not seem worth it.
 source: <20221217132955.108542-1-sorganov@gmail.com>


* ab/imap-send-requires-curl (2023-02-02) 6 commits
 - imap-send: correctly report "host" when using "tunnel"
 - imap-send: remove old --no-curl codepath
 - imap-send: make --curl no-optional
 - imap-send: replace auto-probe libcurl with hard dependency
 - imap-send doc: the imap.sslVerify is used with imap.tunnel
 - imap-send: note "auth_method", not "host" on auth method failure

 Give a hard dependency on cURL library to build "git imap-send",
 and remove the code to interact with IMAP server without using cURL.

 Expecting a reroll.
 The 'tunnel' part is still iffy.
 cf. <230203.86bkmabfjr.gmgdl@evledraar.gmail.com>
 source: <cover-v2-0.6-00000000000-20230202T093706Z-avarab@gmail.com>


* cw/submodule-status-in-parallel (2023-03-02) 6 commits
 - diff-lib: parallelize run_diff_files for submodules
 - diff-lib: refactor out diff_change logic
 - submodule: refactor is_submodule_modified()
 - submodule: move status parsing into function
 - submodule: rename strbuf variable
 - run-command: add on_stderr_output_fn to run_processes_parallel_opts

 "git submodule status" learned to run the comparison in submodule
 repositories in parallel.

 Expecting a reroll.
 cf. <CAFySSZDk05m6gU5-V1R+y3YnQ5PPduVW54+_gjBwD0rmacsLsw@mail.gmail.com>
 cf. <230307.865ybc273g.gmgdl@evledraar.gmail.com>
 source: <20230302215237.1473444-1-calvinwan@google.com>

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

* jk/ci-use-clang-for-sanitizer-jobs (2023-06-03) 3 commits
 - ci: drop linux-clang job
 - ci: run ASan/UBSan in a single job
 - ci: use clang for ASan/UBSan checks

 Clang's sanitizer implementation seems to work better than GCC's.

 Will merge to 'next'.
 source: <20230601180220.GA4167745@coredump.intra.peff.net>


* jk/log-follow-with-non-literal-pathspec (2023-06-03) 3 commits
 - diff: detect pathspec magic not supported by --follow
 - diff: factor out --follow pathspec check
 - pathspec: factor out magic-to-name function

 "git [-c log.follow=true] log [--follow] ':(glob)f**'" used to barf.

 Will merge to 'next'.
 source: <20230601173724.GA4158369@coredump.intra.peff.net>


* kh/use-default-notes-doc (2023-06-06) 2 commits
 - notes: move the documentation to the struct
 - notes: update documentation for `use_default_notes`

 Will merge to 'next'.
 source: <cover.1685958731.git.code@khaugsbakk.name>


* ps/cat-file-null-output (2023-06-12) 5 commits
 - cat-file: add option '-Z' that delimits input and output with NUL
 - cat-file: simplify reading from standard input
 - strbuf: provide CRLF-aware helper to read until a specified delimiter
 - t1006: modernize test style to use `test_cmp`
 - t1006: don't strip timestamps from expected results

 "git cat-file --batch" and friends learned "-Z" that uses NUL
 delimiter for both input and output.

 Will merge to 'next'.
 source: <cover.1686028409.git.ps@pks.im>


* tl/quote-problematic-arg-for-clarity (2023-06-03) 1 commit
 - surround %s with quotes when failed to lookup commit

 Error message fix.

 Will merge to 'next'.
 source: <1f7c62a8870433792076fae30d6c4dc4b61a00d8.1685366301.git.dyroneteng@gmail.com>


* ds/add-i-color-configuration-fix (2023-06-12) 2 commits
 - add: test use of brackets when color is disabled
 - add: check color.ui for interactive add

 The reimplemented "git add -i" did not honor color.ui configuration.

 Will merge to 'next'.
 source: <pull.1541.v2.git.1686061219078.gitgitgadget@gmail.com>


* ks/ref-filter-signature (2023-06-06) 2 commits
 - ref-filter: add new "signature" atom
 - t/lib-gpg: introduce new prereq GPG2

 The "git for-each-ref" family of commands learned placeholders
 related to GPG signature verification.

 Needs review.
 source: <20230604185815.15761-1-five231003@gmail.com>


* mh/commit-reach-get-reachable-plug-leak (2023-06-04) 1 commit
 - commit-reach: fix memory leak in get_reachable_subset()

 Plug memory leak.

 Will merge to 'next'.
 source: <20230603002819.1122129-1-mh@glandium.org>


* ds/disable-replace-refs (2023-06-12) 3 commits
 - repository: create read_replace_refs setting
 - replace-objects: create wrapper around setting
 - repository: create disable_replace_refs()
 (this branch uses tb/pack-bitmap-traversal-with-boundary.)

 Introduce a mechanism to disable replace refs globally and per
 repository.

 Will merge to 'next'.
 source: <pull.1537.v3.git.1686057877.gitgitgadget@gmail.com>


* tz/test-fix-pthreads-prereq (2023-05-26) 1 commit
 - trace2 tests: fix PTHREADS prereq

 Test fix.

 Will merge to 'next'.
 source: <20230525031218.3554586-1-tmz@pobox.com>


* tz/test-ssh-verifytime-fix (2023-05-26) 1 commit
 - t/lib-gpg: fix ssh-keygen -Y check-novalidate with openssh-9.0

 Test fix.

 Will merge to 'next'.
 source: <20230525031026.3554406-1-tmz@pobox.com>


* vd/worktree-config-is-per-repository (2023-05-26) 3 commits
 - repository: move 'repository_format_worktree_config' to repo scope
 - config: pass 'repo' directly to 'config_with_options()'
 - config: use gitdir to get worktree config

 The value of config.worktree is per-repository, but has been kept
 in a singleton global variable per process. This has been OK as
 most Git operations interacted with a single repository at a time,
 but not right for operations like recursive "grep" that want to
 access multiple repositories from a single process without forking.

 The global variable has been eliminated and made into a member in
 the per-repository data structure.

 Will merge to 'next'.
 cf. <3145f4f3-7bd4-8a1b-4943-11b7d22b60c6@github.com>
 cf. <kl6lr0qwno2q.fsf@chooglen-macbookpro.roam.corp.google.com>
 source: <pull.1536.v2.git.1685064781.gitgitgadget@gmail.com>


* tb/submodule-null-deref-fix (2023-05-25) 1 commit
 - builtin/submodule--helper.c: handle missing submodule URLs

 "git submodule" code trusted the data coming from the config (and
 the in-tree .gitmodules file) too much without validating, leading
 to NULL dereference if the user mucks with a repository (e.g.
 submodule.<name>.url is removed).  This has been corrected.

 Will merge to 'next'.
 source: <ae6cf3fa461b85e346f034371dae56a2790dfa20.1684957882.git.me@ttaylorr.com>


* jc/test-modernization-2 (2023-05-23) 10 commits
 - t9400-git-cvsserver-server: modernize test format
 - t9200-git-cvsexportcommit: modernize test format
 - t9104-git-svn-follow-parent: modernize test format
 - t9100-git-svn-basic: modernize test format
 - t7700-repack: modernize test format
 - t7600-merge: modernize test format
 - t7508-status: modernize test format
 - t7201-co: modernize test format
 - t7111-reset-table: modernize test format
 - t7110-reset-merge: modernize test format
 (this branch uses jc/test-modernization.)

 Test style updates.

 Will merge to 'next'.
 source: <pull.1514.git.git.1684599239.gitgitgadget@gmail.com>


* jt/path-filter-fix (2023-06-12) 4 commits
 - commit-graph: new filter ver. that fixes murmur3
 - repo-settings: introduce commitgraph.changedPathsVersion
 - t4216: test changed path filters with high bit paths
 - gitformat-commit-graph: describe version 2 of BDAT

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Will merge to 'next'?
 source: <cover.1686251688.git.jonathantanmy@google.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* mh/credential-libsecret-attrs (2023-05-17) 1 commit
 - credential/libsecret: store new attributes

 The way authentication related data other than passwords (e.g.
 oath token and password expiration data) are stored in libsecret
 keyrings has been rethought.

 Needs review.
 source: <pull.1469.v4.git.git.1684306540947.gitgitgadget@gmail.com>


* ps/fetch-cleanups (2023-05-17) 9 commits
 - fetch: use `fetch_config` to store "submodule.fetchJobs" value
 - fetch: use `fetch_config` to store "fetch.parallel" value
 - fetch: use `fetch_config` to store "fetch.recurseSubmodules" value
 - fetch: use `fetch_config` to store "fetch.showForcedUpdates" value
 - fetch: use `fetch_config` to store "fetch.pruneTags" value
 - fetch: use `fetch_config` to store "fetch.prune" value
 - fetch: pass through `fetch_config` directly
 - fetch: drop unneeded NULL-check for `remote_ref`
 - fetch: drop unused DISPLAY_FORMAT_UNKNOWN enum value

 Code clean-up.

 Will merge to 'next'.
 cf. <20230519002128.GD2442034@coredump.intra.peff.net>
 source: <cover.1684324059.git.ps@pks.im>


* sl/diff-tree-sparse (2023-05-18) 1 commit
  (merged to 'next' on 2023-05-24 at 5d4f2dec4d)
 + diff-tree: integrate with sparse index

 "git diff-tree" has been taught to take advantage of the
 sparse-index feature.

 Will merge to 'master'.
 cf. <2a2b7223-bb5d-65f9-95bb-9be45d329c87@github.com>
 source: <20230518154454.475487-1-cheskaqiqi@gmail.com>


* jk/format-patch-message-id-unleak (2023-05-19) 2 commits
  (merged to 'next' on 2023-05-23 at 44b9e1ab91)
 + format-patch: free elements of rev.ref_message_ids list
 + format-patch: free rev.message_id when exiting

 Leakfix.

 Will merge to 'master'.
 source: <20230519000239.GA1975039@coredump.intra.peff.net>


* jc/test-modernization (2023-05-19) 20 commits
 - t7101-reset-empty-subdirs: modernize test format
 - t6050-replace: modernize test format
 - t5306-pack-nobase: modernize test format
 - t5303-pack-corruption-resilience: modernize test format
 - t5301-sliding-window: modernize test format
 - t5300-pack-object: modernize test format
 - t4206-log-follow-harder-copies: modernize test format
 - t4202-log: modernize test format
 - t4004-diff-rename-symlink: modernize test format
 - t4003-diff-rename-1: modernize test format
 - t4002-diff-basic: modernize test format
 - t3903-stash: modernize test format
 - t3700-add: modernize test format
 - t3500-cherry: modernize test format
 - t1006-cat-file: modernize test format
 - t1002-read-tree-m-u-2way: modernize test format
 - t1001-read-tree-m-2way: modernize test format
 - t3210-pack-refs: modernize test format
 - t0030-stripspace: modernize test format
 - t0000-basic: modernize test format
 (this branch is used by jc/test-modernization-2.)

 Will merge to 'next'.
 source: <pull.1513.git.git.1684440205.gitgitgadget@gmail.com>


* ja/worktree-orphan (2023-05-17) 8 commits
 - worktree add: emit warn when there is a bad HEAD
 - worktree add: extend DWIM to infer --orphan
 - worktree add: introduce "try --orphan" hint
 - worktree add: add --orphan flag
 - t2400: add tests to verify --quiet
 - t2400: refactor "worktree add" opt exclusion tests
 - t2400: cleanup created worktree in test
 - worktree add: include -B in usage docs

 'git worktree add' learned how to create a worktree based on an
 orphaned branch with `--orphan`.

 Will merge to 'next'.
 source: <20230517214711.12467-1-jacobabel@nullpo.dev>


* kh/keep-tag-editmsg-upon-failure (2023-05-16) 3 commits
  (merged to 'next' on 2023-05-19 at fc0fe3173d)
 + tag: keep the message file in case ref transaction fails
 + t/t7004-tag: add regression test for successful tag creation
 + doc: tag: document `TAG_EDITMSG`

 "git tag" learned to leave the "$GIT_DIR/TAG_EDITMSG" file when the
 command failed, so that the user can salvage what they typed.

 Will merge to 'master'.
 source: <cover.1684258780.git.code@khaugsbakk.name>


* sa/doc-ls-remote (2023-05-19) 6 commits
  (merged to 'next' on 2023-05-20 at d577bf75a0)
 + ls-remote doc: document the output format
 + ls-remote doc: explain what each example does
 + ls-remote doc: show peeled tags in examples
 + ls-remote doc: remove redundant --tags example
 + show-branch doc: say <ref>, not <reference>
 + show-ref doc: update for internal consistency

 Doc update.

 Will merge to 'master'.
 source: <pull.1471.v4.git.git.1684469874.gitgitgadget@gmail.com>


* tb/refs-exclusion-and-packed-refs (2023-06-12) 16 commits
 - ls-refs.c: avoid enumerating hidden refs where possible
 - upload-pack.c: avoid enumerating hidden refs where possible
 - builtin/receive-pack.c: avoid enumerating hidden references
 - refs.h: let `for_each_namespaced_ref()` take excluded patterns
 - refs/packed-backend.c: ignore complicated hidden refs rules
 - revision.h: store hidden refs in a `strvec`
 - refs/packed-backend.c: add trace2 counters for jump list
 - refs/packed-backend.c: implement jump lists to avoid excluded pattern(s)
 - refs/packed-backend.c: refactor `find_reference_location()`
 - refs: plumb `exclude_patterns` argument throughout
 - builtin/for-each-ref.c: add `--exclude` option
 - ref-filter.c: parameterize match functions over patterns
 - ref-filter: add `ref_filter_clear()`
 - ref-filter: clear reachable list pointers after freeing
 - ref-filter.h: provide `REF_FILTER_INIT`
 - refs.c: rename `ref_filter`

 Enumerating refs in the packed-refs file, while excluding refs that
 match certain patterns, has been optimized.

 source: <cover.1686134440.git.me@ttaylorr.com>


* zh/ls-files-format-atoms (2023-05-23) 1 commit
  (merged to 'next' on 2023-05-24 at 116b11effb)
 + ls-files: align format atoms with ls-tree

 Some atoms that can be used in "--format=<format>" for "git ls-tree"
 were not supported by "git ls-files", even though they were relevant
 in the context of the latter.

 Will merge to 'master'.
 source: <pull.1533.v2.git.1684832418299.gitgitgadget@gmail.com>


* en/header-split-cache-h-part-3 (2023-05-16) 29 commits
 - fsmonitor-ll.h: split this header out of fsmonitor.h
 - hash-ll, hashmap: move oidhash() to hash-ll
 - object-store-ll.h: split this header out of object-store.h
 - khash: name the structs that khash declares
 - merge-ll: rename from ll-merge
 - git-compat-util.h: remove unneccessary include of wildmatch.h
 - builtin.h: remove unneccessary includes
 - list-objects-filter-options.h: remove unneccessary include
 - diff.h: remove unnecessary include of oidset.h
 - repository: remove unnecessary include of path.h
 - log-tree: replace include of revision.h with simple forward declaration
 - cache.h: remove this no-longer-used header
 - read-cache*.h: move declarations for read-cache.c functions from cache.h
 - repository.h: move declaration of the_index from cache.h
 - merge.h: move declarations for merge.c from cache.h
 - diff.h: move declaration for global in diff.c from cache.h
 - preload-index.h: move declarations for preload-index.c from elsewhere
 - sparse-index.h: move declarations for sparse-index.c from cache.h
 - name-hash.h: move declarations for name-hash.c from cache.h
 - run-command.h: move declarations for run-command.c from cache.h
 - statinfo: move stat_{data,validity} functions from cache/read-cache
 - read-cache: move shared add/checkout/commit code
 - add: modify add_files_to_cache() to avoid globals
 - read-cache: move shared commit and ls-files code
 - setup: adopt shared init-db & clone code
 - init-db, clone: change unnecessary global into passed parameter
 - init-db: remove unnecessary global variable
 - init-db: document existing bug with core.bare in template config
 - Merge branch 'en/header-split-cache-h-part-2' into en/header-split-cache-h-part-3

 Header files cleanup.

 Will merge to 'next'.
 source: <pull.1525.v3.git.1684218848.gitgitgadget@gmail.com>


* la/doc-interpret-trailers (2023-06-12) 9 commits
 - doc: trailer: add more examples in DESCRIPTION
 - doc: trailer: mention 'key' in DESCRIPTION
 - doc: trailer.<token>.command: emphasize deprecation
 - doc: trailer: use angle brackets for <token> and <value>
 - doc: trailer: remove redundant phrasing
 - doc: trailer: examples: avoid the word "message" by itself
 - doc: trailer: drop "commit message part" phrasing
 - doc: trailer: swap verb order
 - doc: trailer: fix grammar

 Doc update.

 Will merge to 'next'.
 source: <pull.1506.v3.git.git.1686017304.gitgitgadget@gmail.com>


* cc/git-replay (2023-06-03) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 source: <20230602102533.876905-1-christian.couder@gmail.com>


* jc/pack-ref-exclude-include (2023-05-12) 3 commits
  (merged to 'next' on 2023-05-23 at 37333a2d00)
 + pack-refs: teach pack-refs --include option
 + pack-refs: teach --exclude option to exclude refs from being packed
 + docs: clarify git-pack-refs --all will pack all refs

 "git pack-refs" learns "--include" and "--exclude" to tweak the ref
 hierarchy to be packed using pattern matching.

 Will merge to 'master'.
 source: <pull.1501.v4.git.git.1683927282.gitgitgadget@gmail.com>


* tb/gc-recent-object-hook (2023-06-12) 2 commits
 - gc: introduce `gc.recentObjectsHook`
 - reachable.c: extract `obj_is_recent()`

 "git pack-objects" learned to invoke a new hook program that
 enumerates extra objects to be used as anchoring points to keep
 otherwise unreachable objects in cruft packs.

 Will merge to 'next'.
 source: <cover.1686178684.git.me@ttaylorr.com>


* jc/diff-s-with-other-options (2023-05-05) 1 commit
  (merged to 'next' on 2023-05-20 at dda3826a68)
 + diff: fix interaction between the "-s" option and other options

 The "-s" (silent, squelch) option of the "diff" family of commands
 did not interact with other options that specify the output format
 well.  This has been cleaned up so that it will clear all the
 formatting options given before.

 Will merge to 'master'.
 source: <20230505165952.335256-1-gitster@pobox.com>


* ob/revert-of-revert (2023-05-05) 1 commit
 - sequencer: beautify subject of reverts of reverts

 Instead of "Revert "Revert "original"", give "Reapply "original""
 as the title for a revert of a revert.

 Expecting a hopefully final reroll.
 Looking much better, except for minor cosmetic issues.
 source: <20230428083528.1699221-1-oswald.buddenhagen@gmx.de>


* cw/strbuf-cleanup (2023-06-12) 7 commits
 - strbuf: remove global variable
 - path: move related function to path
 - object-name: move related functions to object-name
 - credential-store: move related functions to credential-store file
 - abspath: move related functions to abspath
 - strbuf: clarify dependency
 - strbuf: clarify API boundary

 Move functions that are not about pure string manipulation out of
 strbuf.[ch]

 source: <20230606194720.2053551-1-calvinwan@google.com>


* tl/notes-separator (2023-04-28) 6 commits
  (merged to 'next' on 2023-05-06 at 598ed19c9b)
 + notes.c: introduce "--[no-]stripspace" option
 + notes.c: append separator instead of insert by pos
 + notes.c: introduce '--separator=<paragraph-break>' option
 + t3321: add test cases about the notes stripspace behavior
 + notes.c: use designated initializers for clarity
 + notes.c: cleanup 'strbuf_grow' call in 'append_edit'

 'git notes append' was taught '--separator' to specify string to insert
 between paragraphs.

 On hold.
 source: <cover.1682671758.git.dyroneteng@gmail.com>


* pw/rebase-i-after-failure (2023-04-21) 6 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase: fix rewritten list for failed pick
 - rebase --continue: refuse to commit after failed command
 - sequencer: factor out part of pick_commits()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Expecting a reroll.
 cf. <xmqqsfcthrpb.fsf@gitster.g>
 cf. <1fd54422-b66a-c2e4-7cd7-934ea01190ad@gmail.com>
 source: <pull.1492.v2.git.1682089074.gitgitgadget@gmail.com>


* tb/pack-bitmap-traversal-with-boundary (2023-05-08) 3 commits
 - pack-bitmap.c: use commit boundary during bitmap traversal
 - pack-bitmap.c: extract `fill_in_bitmap()`
 - object: add object_array initializer helper function
 (this branch is used by ds/disable-replace-refs.)

 The object traversal using reachability bitmap done by
 "pack-object" has been tweaked to take advantage of the fact that
 using "boundary" commits as representative of all the uninteresting
 ones can save quite a lot of object enumeration.

 Will merge to 'next'.
 source: <cover.1683567065.git.me@ttaylorr.com>


* gc/doc-cocci-updates (2023-04-27) 2 commits
  (merged to 'next' on 2023-05-20 at 3fe237c1a8)
 + cocci: codify authoring and reviewing practices
 + cocci: add headings to and reword README

 Update documentation regarding Coccinelle patches.

 Will merge to 'master'.
 source: <pull.1495.v2.git.git.1682634143.gitgitgadget@gmail.com>


* pb/complete-and-document-auto-merge-and-friends (2023-05-23) 6 commits
 - completion: complete AUTO_MERGE
 - Documentation: document AUTO_MERGE
 - git-merge.txt: modernize word choice in "True merge" section
 - completion: complete REVERT_HEAD and BISECT_HEAD
 - revisions.txt: document more special refs
 - revisions.txt: use description list for special refs

 Document more pseudo-refs and teach the command line completion
 machinery to complete AUTO_MERGE.

 Will merge to 'next'.
 source: <pull.1515.v2.git.1684783741.gitgitgadget@gmail.com>


* mh/credential-password-expiry-libsecret (2023-05-05) 1 commit
  (merged to 'next' on 2023-05-09 at fd898e3756)
 + credential/libsecret: support password_expiry_utc

 The libsecret credential helper learns to handle the password
 expiry time information.

 On hold.
 The database gets littered with entries whose expiration dates only differ.
 cf. <CAGJzqskMwOJkriH6serqdwAVYi+fftEL8ohJd-suP6v+OxB_bg@mail.gmail.com>
 source: <pull.1469.v3.git.git.1683270298313.gitgitgadget@gmail.com>

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

* tc/cat-file-z-use-cquote (2023-05-10) 1 commit
 . cat-file: quote-format name in error when using -z

 "cat-file" in the batch mode that is fed NUL-terminated pathnames
 learned to cquote them in its error output (otherwise, a funny
 pathname with LF in it would break the lines in the output stream).

 Superseded by the ps/cat-file-null-output topic.
 source: <20230510190116.795641-2-toon@iotcl.com>

^ permalink raw reply	[relevance 19%]

* Re: What's cooking in git.git (Jun 2023, #02; Tue, 6)
  @ 2023-06-12 17:56 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-06-12 17:56 UTC (permalink / raw)
  To: Philippe Blain; +Cc: git

Philippe Blain <levraiphilippeblain@gmail.com> writes:

> Elijah reviewed the new version in [1], to which you responded in [2].
> So from what I understand we are just waiting for 'next' to be rebuilt,
> not for additional reviews, right?

Correct.  Thanks.

^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (Jun 2023, #02; Tue, 6)
  @ 2023-06-12 17:55 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-06-12 17:55 UTC (permalink / raw)
  To: Derrick Stolee; +Cc: git

Derrick Stolee <derrickstolee@github.com> writes:

> On 6/5/2023 9:50 PM, Junio C Hamano wrote:
>
>> * ds/add-i-color-configuration-fix (2023-06-06) 1 commit
>>  - add: check color.ui for interactive add
>> 
>>  The reimplemented "git add -i" did not honor color.ui configuration.
>> 
>>  Will merge to 'next'?
>>  source: <pull.1541.git.1685994164018.gitgitgadget@gmail.com>
>
> Your recommendation to compare the raw output to the color-decoded output
> is a clean way to simplify the test (and remove the whitespace errors in
> the meantime). I'll send a v2 soon with that change.

Thanks; I saw the update plus its 2/1 suggested by Phillp.

>> * ds/disable-replace-refs (2023-06-03) 3 commits
>>  - repository: create read_replace_refs setting
>>  - replace-objects: create wrapper around setting
>>  - repository: create disable_replace_refs()
>>  (this branch uses tb/pack-bitmap-traversal-with-boundary.)
>> 
>>  Introduce a mechanism to disable replace refs globally and per
>>  repository.
>> 
>>  Will merge to 'next'.
>>  source: <pull.1537.v2.git.1685716157.gitgitgadget@gmail.com>
>
> Please be sure to pick up v3 [1], which fixes a compilation bug in
> v2's patch 2. Want to keep history bisectable.

Thanks, will do.

^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (Jun 2023, #02; Tue, 6)
  @ 2023-06-12 17:53 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-06-12 17:53 UTC (permalink / raw)
  To: Kristoffer Haugsbakk; +Cc: git, Jeff King

"Kristoffer Haugsbakk" <kristofferhaugsbakk@fastmail.com> writes:

> On Tue, Jun 6, 2023, at 03:50, Junio C Hamano wrote:
>> * kh/use-default-notes-doc (2023-06-06) 2 commits
>>  - notes: move the documentation to the struct
>>  - notes: update documentation for `use_default_notes`
>>
>>  Will merge to 'next'?
>>  source: <cover.1685958731.git.code@khaugsbakk.name>
>
> Peff posted this a little bit after What’s Cooking https://lore.kernel.org/git/b3829cb0d1e36a5ebb44a315fe32037f2a3f6c7a.1685526558.git.code@khaugsbakk.name/T/#m94bafe1b04d551130558c5d7aaf20b1a353cab46

Thanks, I've seen it but after sending "What's cooking" you are
responding to.


^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Jun 2023, #02; Tue, 6)
@ 2023-06-06  1:50 21% Junio C Hamano
                     ` (2 more replies)
  0 siblings, 3 replies; 200+ results
From: Junio C Hamano @ 2023-06-06  1:50 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

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]

* jk/ci-use-clang-for-sanitizer-jobs (2023-06-03) 3 commits
 - ci: drop linux-clang job
 - ci: run ASan/UBSan in a single job
 - ci: use clang for ASan/UBSan checks

 Clang's sanitizer implementation seems to work better than GCC's.

 Will merge to 'next'.
 source: <20230601180220.GA4167745@coredump.intra.peff.net>


* jk/log-follow-with-non-literal-pathspec (2023-06-03) 3 commits
 - diff: detect pathspec magic not supported by --follow
 - diff: factor out --follow pathspec check
 - pathspec: factor out magic-to-name function

 "git [-c log.follow=true] log [--follow] ':(glob)f**'" used to barf.

 Will merge to 'next'?
 source: <20230601173724.GA4158369@coredump.intra.peff.net>


* kh/use-default-notes-doc (2023-06-06) 2 commits
 - notes: move the documentation to the struct
 - notes: update documentation for `use_default_notes`

 Will merge to 'next'?
 source: <cover.1685958731.git.code@khaugsbakk.name>


* ps/cat-file-null-output (2023-06-03) 5 commits
 - cat-file: new option '-Z' delimits output with NUL characters
 - cat-file: simplify reading from standard input
 - strbuf: provide CRLF-aware helper to read until a specified delimiter
 - t1006: modernize test style to use `test_cmp`
 - t1006: don't strip timestamps from expected results

 "git cat-file --batch" and friends learned "-Z" that uses NUL
 delimiter for both input and output.

 Will merge to 'next'?
 source: <cover.1685710884.git.ps@pks.im>


* tl/quote-problematic-arg-for-clarity (2023-06-03) 1 commit
 - surround %s with quotes when failed to lookup commit

 Error message fix.

 Will merge to 'next'.
 source: <1f7c62a8870433792076fae30d6c4dc4b61a00d8.1685366301.git.dyroneteng@gmail.com>


* ds/add-i-color-configuration-fix (2023-06-06) 1 commit
 - add: check color.ui for interactive add

 The reimplemented "git add -i" did not honor color.ui configuration.

 Will merge to 'next'?
 source: <pull.1541.git.1685994164018.gitgitgadget@gmail.com>


* ks/ref-filter-signature (2023-06-06) 2 commits
 - ref-filter: add new "signature" atom
 - t/lib-gpg: introduce new prereq GPG2

 The "git for-each-ref" family of commands learned placeholders
 related to GPG signature verification.

 Needs review.
 source: <20230604185815.15761-1-five231003@gmail.com>


* mh/commit-reach-get-reachable-plug-leak (2023-06-04) 1 commit
 - commit-reach: fix memory leak in get_reachable_subset()

 Plug memory leak.

 Will merge to 'next'.
 source: <20230603002819.1122129-1-mh@glandium.org>

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

* ed/fsmonitor-windows-named-pipe (2023-03-24) 1 commit
 - fsmonitor: handle differences between Windows named pipe functions

 Fix fsmonitor on Windows when the filesystem path contains certain
 characters.

 Expecting a reroll.
 cf. <b9cf67e4-22a7-2ff0-8310-9223bea10d6d@jeffhostetler.com>
 source: <pull.1503.git.1679678090412.gitgitgadget@gmail.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
 - diff-index: enable sparse index

 "git diff-index" command has been taught to work better with the
 sparse index.

 Expecting a reroll.
 cf. <62821012-4fc3-5ad8-695c-70f7ab14a8c9@github.com>
 source: <20230408112342.404318-1-nanth.raghul@gmail.com>


* es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
 - usage: clarify --recurse-submodules as a boolean

 The "--[no-]recurse-submodules" option of "git checkout" and others
 supported an undocumented syntax --recurse-submodules=<value> where
 the value can spell a Boolean in various ways.  The support for the
 syntax is being dropped.

 Expecting a reroll.
 cf. <ZDSTFwMFO7vbj/du@google.com>
 source: <ZDSTFwMFO7vbj/du@google.com>


* tb/pack-bitmap-index-seek (2023-03-20) 6 commits
 - pack-bitmap.c: factor out `bitmap_index_seek_commit()`
 - pack-bitmap.c: use `bitmap_index_seek()` where possible
 - pack-bitmap.c: factor out manual `map_pos` manipulation
 - pack-bitmap.c: drop unnecessary 'inline's
 - pack-bitmap.c: hide bitmap internals in `read_be32()`
 - pack-bitmap.c: hide bitmap internals in `read_u8()`

 Clean-up the pack-bitmap codepath.

 Kicked back to 'seen' out of 'next'.
 There is a BUG() on data errors that needs to be fixed.
 source: <cover.1679342296.git.me@ttaylorr.com>


* cb/checkout-same-branch-twice (2023-03-22) 2 commits
 - SQUASH??? the test marked to expect failure passes from day one
 - checkout/switch: disallow checking out same branch in multiple worktrees

 "git checkout -B $branch" failed to protect against checking out
 a branch that is checked out elsewhere, unlike "git branch -f" did.

 Expecting a hopefully minor and final reroll.
 cf. <CAPUEspj_Bh+LgYLnWfeBdcq_uV5Cbou-7H51GLFjzSa5Qzby9w@mail.gmail.com>
 source: <20230120113553.24655-1-carenas@gmail.com>


* tk/pull-conflict-suggest-rebase-merge-not-rebase-true (2023-02-13) 1 commit
 - pull: conflict hint pull.rebase suggestion should offer "merges" vs "true"

 In an advice message after failed non-ff pull, we used to suggest
 setting pull.rebase=true, but these days pull.rebase=merges may be
 more inline with the original spirit of "rebuild your side on top
 of theirs".

 May want to discard.
 This is too much of a departure from the existing practice.
 cf. <CAMMLpeTPEoKVTbfc17w+Y9qn7jOGmQi_Ux0Y3sFW5QTgGWJ=SA@mail.gmail.com>
 cf. <CABPp-BGqAxKnxDRVN4cYMteLp33hvto07R3=TJBT5WubJT4+Og@mail.gmail.com>
 source: <pull.1474.git.1675614276549.gitgitgadget@gmail.com>


* ab/tag-object-type-errors (2023-05-10) 4 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.
 source: <cover-v2-0.3-00000000000-20221230T011725Z-avarab@gmail.com>


* ad/test-record-count-when-harness-is-in-use (2022-12-25) 1 commit
 - test-lib: allow storing counts with test harnesses

 Allow summary results from tests to be written to t/test-results
 directory even when a test harness like 'prove' is in use.

 Expecting a reroll.
 cf. <CABPp-BGoPuGCZw+9wCgdYyRR4Zf4y9Kun27GrQhtMdYWpOUsYQ@mail.gmail.com>
 source: <20221224225200.1027806-1-adam@dinwoodie.org>


* so/diff-merges-more (2022-12-18) 5 commits
 - diff-merges: improve --diff-merges documentation
 - diff-merges: issue warning on lone '-m' option
 - diff-merges: support list of values for --diff-merges
 - diff-merges: implement log.diffMerges-m-imply-p config
 - diff-merges: implement [no-]hide option and log.diffMergesHide config

 Assorted updates to "--diff-merges=X" option.

 May want to discard.
 Breaking compatibility does not seem worth it.
 source: <20221217132955.108542-1-sorganov@gmail.com>


* ab/imap-send-requires-curl (2023-02-02) 6 commits
 - imap-send: correctly report "host" when using "tunnel"
 - imap-send: remove old --no-curl codepath
 - imap-send: make --curl no-optional
 - imap-send: replace auto-probe libcurl with hard dependency
 - imap-send doc: the imap.sslVerify is used with imap.tunnel
 - imap-send: note "auth_method", not "host" on auth method failure

 Give a hard dependency on cURL library to build "git imap-send",
 and remove the code to interact with IMAP server without using cURL.

 Expecting a reroll.
 The 'tunnel' part is still iffy.
 cf. <230203.86bkmabfjr.gmgdl@evledraar.gmail.com>
 source: <cover-v2-0.6-00000000000-20230202T093706Z-avarab@gmail.com>


* cw/submodule-status-in-parallel (2023-03-02) 6 commits
 - diff-lib: parallelize run_diff_files for submodules
 - diff-lib: refactor out diff_change logic
 - submodule: refactor is_submodule_modified()
 - submodule: move status parsing into function
 - submodule: rename strbuf variable
 - run-command: add on_stderr_output_fn to run_processes_parallel_opts

 "git submodule status" learned to run the comparison in submodule
 repositories in parallel.

 Expecting a reroll.
 cf. <CAFySSZDk05m6gU5-V1R+y3YnQ5PPduVW54+_gjBwD0rmacsLsw@mail.gmail.com>
 cf. <230307.865ybc273g.gmgdl@evledraar.gmail.com>
 source: <20230302215237.1473444-1-calvinwan@google.com>

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

* ds/disable-replace-refs (2023-06-03) 3 commits
 - repository: create read_replace_refs setting
 - replace-objects: create wrapper around setting
 - repository: create disable_replace_refs()
 (this branch uses tb/pack-bitmap-traversal-with-boundary.)

 Introduce a mechanism to disable replace refs globally and per
 repository.

 Will merge to 'next'.
 source: <pull.1537.v2.git.1685716157.gitgitgadget@gmail.com>


* tz/test-fix-pthreads-prereq (2023-05-26) 1 commit
 - trace2 tests: fix PTHREADS prereq

 Test fix.

 Will merge to 'next'.
 source: <20230525031218.3554586-1-tmz@pobox.com>


* tz/test-ssh-verifytime-fix (2023-05-26) 1 commit
 - t/lib-gpg: fix ssh-keygen -Y check-novalidate with openssh-9.0

 Test fix.

 Will merge to 'next'.
 source: <20230525031026.3554406-1-tmz@pobox.com>


* vd/worktree-config-is-per-repository (2023-05-26) 3 commits
 - repository: move 'repository_format_worktree_config' to repo scope
 - config: pass 'repo' directly to 'config_with_options()'
 - config: use gitdir to get worktree config

 The value of config.worktree is per-repository, but has been kept
 in a singleton global variable per process. This has been OK as
 most Git operations interacted with a single repository at a time,
 but not right for operations like recursive "grep" that want to
 access multiple repositories from a single process without forking.

 The global variable has been eliminated and made into a member in
 the per-repository data structure.

 Will merge to 'next'???
 cf. <3145f4f3-7bd4-8a1b-4943-11b7d22b60c6@github.com>
 cf. <kl6lr0qwno2q.fsf@chooglen-macbookpro.roam.corp.google.com>
 source: <pull.1536.v2.git.1685064781.gitgitgadget@gmail.com>


* tb/submodule-null-deref-fix (2023-05-25) 1 commit
 - builtin/submodule--helper.c: handle missing submodule URLs

 "git submodule" code trusted the data coming from the config (and
 the in-tree .gitmodules file) too much without validating, leading
 to NULL dereference if the user mucks with a repository (e.g.
 submodule.<name>.url is removed).  This has been corrected.

 Will merge to 'next'?
 source: <ae6cf3fa461b85e346f034371dae56a2790dfa20.1684957882.git.me@ttaylorr.com>


* jc/test-modernization-2 (2023-05-23) 10 commits
 - t9400-git-cvsserver-server: modernize test format
 - t9200-git-cvsexportcommit: modernize test format
 - t9104-git-svn-follow-parent: modernize test format
 - t9100-git-svn-basic: modernize test format
 - t7700-repack: modernize test format
 - t7600-merge: modernize test format
 - t7508-status: modernize test format
 - t7201-co: modernize test format
 - t7111-reset-table: modernize test format
 - t7110-reset-merge: modernize test format
 (this branch uses jc/test-modernization.)

 Test style updates.
 source: <pull.1514.git.git.1684599239.gitgitgadget@gmail.com>


* jt/path-filter-fix (2023-06-03) 3 commits
 . commit-graph: new filter ver. that fixes murmur3
 . repo-settings: introduce commitgraph.changedPathsVersion
 . t4216: test changed path filters with high bit paths

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Seems to break its own test when merged to 'seen'.
 Needs a more careful transition?
 cf. <def26c71-0fbb-58a3-f1cd-f8e532b67503@github.com>
 source: <cover.1685574402.git.jonathantanmy@google.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* mh/credential-libsecret-attrs (2023-05-17) 1 commit
 - credential/libsecret: store new attributes

 The way authentication related data other than passwords (e.g.
 oath token and password expiration data) are stored in libsecret
 keyrings has been rethought.

 Needs review.
 source: <pull.1469.v4.git.git.1684306540947.gitgitgadget@gmail.com>


* ps/fetch-cleanups (2023-05-17) 9 commits
 - fetch: use `fetch_config` to store "submodule.fetchJobs" value
 - fetch: use `fetch_config` to store "fetch.parallel" value
 - fetch: use `fetch_config` to store "fetch.recurseSubmodules" value
 - fetch: use `fetch_config` to store "fetch.showForcedUpdates" value
 - fetch: use `fetch_config` to store "fetch.pruneTags" value
 - fetch: use `fetch_config` to store "fetch.prune" value
 - fetch: pass through `fetch_config` directly
 - fetch: drop unneeded NULL-check for `remote_ref`
 - fetch: drop unused DISPLAY_FORMAT_UNKNOWN enum value

 Code clean-up.

 Will merge to 'next'.
 cf. <20230519002128.GD2442034@coredump.intra.peff.net>
 source: <cover.1684324059.git.ps@pks.im>


* sl/diff-tree-sparse (2023-05-18) 1 commit
  (merged to 'next' on 2023-05-24 at 5d4f2dec4d)
 + diff-tree: integrate with sparse index

 "git diff-tree" has been taught to take advantage of the
 sparse-index feature.

 Will cook in 'next'.
 cf. <2a2b7223-bb5d-65f9-95bb-9be45d329c87@github.com>
 source: <20230518154454.475487-1-cheskaqiqi@gmail.com>


* jk/format-patch-message-id-unleak (2023-05-19) 2 commits
  (merged to 'next' on 2023-05-23 at 44b9e1ab91)
 + format-patch: free elements of rev.ref_message_ids list
 + format-patch: free rev.message_id when exiting

 Leakfix.

 Will cook in 'next'.
 source: <20230519000239.GA1975039@coredump.intra.peff.net>


* jc/test-modernization (2023-05-19) 20 commits
 - t7101-reset-empty-subdirs: modernize test format
 - t6050-replace: modernize test format
 - t5306-pack-nobase: modernize test format
 - t5303-pack-corruption-resilience: modernize test format
 - t5301-sliding-window: modernize test format
 - t5300-pack-object: modernize test format
 - t4206-log-follow-harder-copies: modernize test format
 - t4202-log: modernize test format
 - t4004-diff-rename-symlink: modernize test format
 - t4003-diff-rename-1: modernize test format
 - t4002-diff-basic: modernize test format
 - t3903-stash: modernize test format
 - t3700-add: modernize test format
 - t3500-cherry: modernize test format
 - t1006-cat-file: modernize test format
 - t1002-read-tree-m-u-2way: modernize test format
 - t1001-read-tree-m-2way: modernize test format
 - t3210-pack-refs: modernize test format
 - t0030-stripspace: modernize test format
 - t0000-basic: modernize test format
 (this branch is used by jc/test-modernization-2.)

 source: <pull.1513.git.git.1684440205.gitgitgadget@gmail.com>


* ja/worktree-orphan (2023-05-17) 8 commits
 - worktree add: emit warn when there is a bad HEAD
 - worktree add: extend DWIM to infer --orphan
 - worktree add: introduce "try --orphan" hint
 - worktree add: add --orphan flag
 - t2400: add tests to verify --quiet
 - t2400: refactor "worktree add" opt exclusion tests
 - t2400: cleanup created worktree in test
 - worktree add: include -B in usage docs

 'git worktree add' learned how to create a worktree based on an
 orphaned branch with `--orphan`.
 source: <20230517214711.12467-1-jacobabel@nullpo.dev>


* kh/keep-tag-editmsg-upon-failure (2023-05-16) 3 commits
  (merged to 'next' on 2023-05-19 at fc0fe3173d)
 + tag: keep the message file in case ref transaction fails
 + t/t7004-tag: add regression test for successful tag creation
 + doc: tag: document `TAG_EDITMSG`

 "git tag" learned to leave the "$GIT_DIR/TAG_EDITMSG" file when the
 command failed, so that the user can salvage what they typed.

 Will cook in 'next'.
 source: <cover.1684258780.git.code@khaugsbakk.name>


* sa/doc-ls-remote (2023-05-19) 6 commits
  (merged to 'next' on 2023-05-20 at d577bf75a0)
 + ls-remote doc: document the output format
 + ls-remote doc: explain what each example does
 + ls-remote doc: show peeled tags in examples
 + ls-remote doc: remove redundant --tags example
 + show-branch doc: say <ref>, not <reference>
 + show-ref doc: update for internal consistency

 Doc update.

 Will cook in 'next'.
 source: <pull.1471.v4.git.git.1684469874.gitgitgadget@gmail.com>


* tb/refs-exclusion-and-packed-refs (2023-05-15) 16 commits
 - ls-refs.c: avoid enumerating hidden refs where possible
 - upload-pack.c: avoid enumerating hidden refs where possible
 - builtin/receive-pack.c: avoid enumerating hidden references
 - refs.h: let `for_each_namespaced_ref()` take excluded patterns
 - refs/packed-backend.c: ignore complicated hidden refs rules
 - revision.h: store hidden refs in a `strvec`
 - refs/packed-backend.c: add trace2 counters for jump list
 - refs/packed-backend.c: implement jump lists to avoid excluded pattern(s)
 - refs/packed-backend.c: refactor `find_reference_location()`
 - refs: plumb `exclude_patterns` argument throughout
 - builtin/for-each-ref.c: add `--exclude` option
 - ref-filter.c: parameterize match functions over patterns
 - ref-filter: add `ref_filter_clear()`
 - ref-filter: clear reachable list pointers after freeing
 - ref-filter.h: provide `REF_FILTER_INIT`
 - refs.c: rename `ref_filter`

 Enumerating refs in the packed-refs file, while excluding refs that
 match certain patterns, has been optimized.

 Will merge to 'next'?
 source: <cover.1684178576.git.me@ttaylorr.com>


* zh/ls-files-format-atoms (2023-05-23) 1 commit
  (merged to 'next' on 2023-05-24 at 116b11effb)
 + ls-files: align format atoms with ls-tree

 Some atoms that can be used in "--format=<format>" for "git ls-tree"
 were not supported by "git ls-files", even though they were relevant
 in the context of the latter.

 Will cook in 'next'.
 source: <pull.1533.v2.git.1684832418299.gitgitgadget@gmail.com>


* en/header-split-cache-h-part-3 (2023-05-16) 29 commits
 - fsmonitor-ll.h: split this header out of fsmonitor.h
 - hash-ll, hashmap: move oidhash() to hash-ll
 - object-store-ll.h: split this header out of object-store.h
 - khash: name the structs that khash declares
 - merge-ll: rename from ll-merge
 - git-compat-util.h: remove unneccessary include of wildmatch.h
 - builtin.h: remove unneccessary includes
 - list-objects-filter-options.h: remove unneccessary include
 - diff.h: remove unnecessary include of oidset.h
 - repository: remove unnecessary include of path.h
 - log-tree: replace include of revision.h with simple forward declaration
 - cache.h: remove this no-longer-used header
 - read-cache*.h: move declarations for read-cache.c functions from cache.h
 - repository.h: move declaration of the_index from cache.h
 - merge.h: move declarations for merge.c from cache.h
 - diff.h: move declaration for global in diff.c from cache.h
 - preload-index.h: move declarations for preload-index.c from elsewhere
 - sparse-index.h: move declarations for sparse-index.c from cache.h
 - name-hash.h: move declarations for name-hash.c from cache.h
 - run-command.h: move declarations for run-command.c from cache.h
 - statinfo: move stat_{data,validity} functions from cache/read-cache
 - read-cache: move shared add/checkout/commit code
 - add: modify add_files_to_cache() to avoid globals
 - read-cache: move shared commit and ls-files code
 - setup: adopt shared init-db & clone code
 - init-db, clone: change unnecessary global into passed parameter
 - init-db: remove unnecessary global variable
 - init-db: document existing bug with core.bare in template config
 - Merge branch 'en/header-split-cache-h-part-2' into en/header-split-cache-h-part-3

 Header files cleanup.
 source: <pull.1525.v3.git.1684218848.gitgitgadget@gmail.com>


* la/doc-interpret-trailers (2023-05-11) 9 commits
 - doc: trailer: add more examples in DESCRIPTION
 - doc: trailer: mention 'key' in DESCRIPTION
 - doc: trailer.<token>.command: emphasize deprecation
 - doc: trailer: use angle brackets for <token> and <value>
 - doc: trailer: remove redundant phrasing
 - doc: trailer: examples: avoid the word "message" by itself
 - doc: trailer: drop "commit message part" phrasing
 - doc: trailer: swap verb order
 - doc: trailer: fix grammar

 Doc update.

 On hold. Looking good.
 Want to be rebased once kh/doc-interpret-trailers-updates lands.
 source: <pull.1506.v2.git.git.1683839975.gitgitgadget@gmail.com>


* cc/git-replay (2023-06-03) 15 commits
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 source: <20230602102533.876905-1-christian.couder@gmail.com>


* jc/pack-ref-exclude-include (2023-05-12) 3 commits
  (merged to 'next' on 2023-05-23 at 37333a2d00)
 + pack-refs: teach pack-refs --include option
 + pack-refs: teach --exclude option to exclude refs from being packed
 + docs: clarify git-pack-refs --all will pack all refs

 "git pack-refs" learns "--include" and "--exclude" to tweak the ref
 hierarchy to be packed using pattern matching.

 Will cook in 'next'.
 source: <pull.1501.v4.git.git.1683927282.gitgitgadget@gmail.com>


* tb/gc-recent-object-hook (2023-05-15) 2 commits
 - gc: introduce `gc.recentObjectsHook`
 - reachable.c: extract `obj_is_recent()`

 "git pack-objects" learned to invoke a new hook program that
 enumerates extra objects to be used as anchoring points to keep
 otherwise unreachable objects in cruft packs.
 source: <cover.1684196634.git.me@ttaylorr.com>


* jc/diff-s-with-other-options (2023-05-05) 1 commit
  (merged to 'next' on 2023-05-20 at dda3826a68)
 + diff: fix interaction between the "-s" option and other options

 The "-s" (silent, squelch) option of the "diff" family of commands
 did not interact with other options that specify the output format
 well.  This has been cleaned up so that it will clear all the
 formatting options given before.

 Will cook in 'next'.
 source: <20230505165952.335256-1-gitster@pobox.com>


* ob/revert-of-revert (2023-05-05) 1 commit
 - sequencer: beautify subject of reverts of reverts

 Instead of "Revert "Revert "original"", give "Reapply "original""
 as the title for a revert of a revert.

 Expecting a hopefully final reroll.
 Looking much better, except for minor cosmetic issues.
 source: <20230428083528.1699221-1-oswald.buddenhagen@gmx.de>


* cw/strbuf-cleanup (2023-05-12) 7 commits
  (merged to 'next' on 2023-05-15 at 31d08296f2)
 + strbuf: remove global variable
 + strbuf: clarify dependency
 + path: move related function to path
 + object-name: move related functions to object-name
 + credential-store: move related functions to credential-store file
 + abspath: move related functions to abspath
 + strbuf: clarify API boundary

 Move functions that are not about pure string manipulation out of
 strbuf.[ch]

 Will cook in 'next'.
 source: <20230512171429.2202982-1-calvinwan@google.com>


* tl/notes-separator (2023-04-28) 6 commits
  (merged to 'next' on 2023-05-06 at 598ed19c9b)
 + notes.c: introduce "--[no-]stripspace" option
 + notes.c: append separator instead of insert by pos
 + notes.c: introduce '--separator=<paragraph-break>' option
 + t3321: add test cases about the notes stripspace behavior
 + notes.c: use designated initializers for clarity
 + notes.c: cleanup 'strbuf_grow' call in 'append_edit'

 'git notes append' was taught '--separator' to specify string to insert
 between paragraphs.

 On hold.
 source: <cover.1682671758.git.dyroneteng@gmail.com>


* pw/rebase-i-after-failure (2023-04-21) 6 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase: fix rewritten list for failed pick
 - rebase --continue: refuse to commit after failed command
 - sequencer: factor out part of pick_commits()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Expecting a reroll.
 cf. <xmqqsfcthrpb.fsf@gitster.g>
 cf. <1fd54422-b66a-c2e4-7cd7-934ea01190ad@gmail.com>
 source: <pull.1492.v2.git.1682089074.gitgitgadget@gmail.com>


* tb/pack-bitmap-traversal-with-boundary (2023-05-08) 3 commits
 - pack-bitmap.c: use commit boundary during bitmap traversal
 - pack-bitmap.c: extract `fill_in_bitmap()`
 - object: add object_array initializer helper function
 (this branch is used by ds/disable-replace-refs.)

 The object traversal using reachability bitmap done by
 "pack-object" has been tweaked to take advantage of the fact that
 using "boundary" commits as representative of all the uninteresting
 ones can save quite a lot of object enumeration.

 Will merge to 'next'.
 source: <cover.1683567065.git.me@ttaylorr.com>


* gc/doc-cocci-updates (2023-04-27) 2 commits
  (merged to 'next' on 2023-05-20 at 3fe237c1a8)
 + cocci: codify authoring and reviewing practices
 + cocci: add headings to and reword README

 Update documentation regarding Coccinelle patches.

 Will cook in 'next'.
 source: <pull.1495.v2.git.git.1682634143.gitgitgadget@gmail.com>


* pb/complete-and-document-auto-merge-and-friends (2023-05-23) 6 commits
 - completion: complete AUTO_MERGE
 - Documentation: document AUTO_MERGE
 - git-merge.txt: modernize word choice in "True merge" section
 - completion: complete REVERT_HEAD and BISECT_HEAD
 - revisions.txt: document more special refs
 - revisions.txt: use description list for special refs

 Document more pseudo-refs and teach the command line completion
 machinery to complete AUTO_MERGE.

 Kicked back to 'seen' and replaced.
 Needs review/ack.
 source: <pull.1515.v2.git.1684783741.gitgitgadget@gmail.com>


* mh/credential-password-expiry-libsecret (2023-05-05) 1 commit
  (merged to 'next' on 2023-05-09 at fd898e3756)
 + credential/libsecret: support password_expiry_utc

 The libsecret credential helper learns to handle the password
 expiry time information.

 On hold.
 The database gets littered with entries whose expiration dates only differ.
 cf. <CAGJzqskMwOJkriH6serqdwAVYi+fftEL8ohJd-suP6v+OxB_bg@mail.gmail.com>
 source: <pull.1469.v3.git.git.1683270298313.gitgitgadget@gmail.com>

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

* tc/cat-file-z-use-cquote (2023-05-10) 1 commit
 . cat-file: quote-format name in error when using -z

 "cat-file" in the batch mode that is fed NUL-terminated pathnames
 learned to cquote them in its error output (otherwise, a funny
 pathname with LF in it would break the lines in the output stream).

 Superseded by the ps/cat-file-null-output topic.
 source: <20230510190116.795641-2-toon@iotcl.com>

^ permalink raw reply	[relevance 21%]

* What's cooking in git.git (Jun 2023, #01; Thu, 1)
@ 2023-06-01 10:11 22% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-06-01 10:11 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a future
release).  Commits prefixed with '-' are only in 'seen', and aren't
considered "accepted" at all and may be annotated with an URL to a
message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity.

Git 2.41 (final) has been tagged.

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]

* ds/disable-replace-refs (2023-06-01) 3 commits
 - repository: create read_replace_refs setting
 - replace-objects: create wrapper around setting
 - repository: create disable_replace_refs()
 (this branch uses tb/pack-bitmap-traversal-with-boundary.)

 Introduce a mechanism to disable replace refs globally and per
 repository.

 Will merge to 'next'???
 What's the doneness of the base topic?
 source: <pull.1537.git.1685126617.gitgitgadget@gmail.com>


* tz/test-fix-pthreads-prereq (2023-05-26) 1 commit
 - trace2 tests: fix PTHREADS prereq

 Test fix.

 Will merge to 'next'.
 source: <20230525031218.3554586-1-tmz@pobox.com>


* tz/test-ssh-verifytime-fix (2023-05-26) 1 commit
 - t/lib-gpg: fix ssh-keygen -Y check-novalidate with openssh-9.0

 Test fix.

 Will merge to 'next'.
 source: <20230525031026.3554406-1-tmz@pobox.com>

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

* ed/fsmonitor-windows-named-pipe (2023-03-24) 1 commit
 - fsmonitor: handle differences between Windows named pipe functions

 Fix fsmonitor on Windows when the filesystem path contains certain
 characters.

 Expecting a reroll.
 cf. <b9cf67e4-22a7-2ff0-8310-9223bea10d6d@jeffhostetler.com>
 source: <pull.1503.git.1679678090412.gitgitgadget@gmail.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
 - diff-index: enable sparse index

 "git diff-index" command has been taught to work better with the
 sparse index.

 Expecting a reroll.
 cf. <62821012-4fc3-5ad8-695c-70f7ab14a8c9@github.com>
 source: <20230408112342.404318-1-nanth.raghul@gmail.com>


* es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
 - usage: clarify --recurse-submodules as a boolean

 The "--[no-]recurse-submodules" option of "git checkout" and others
 supported an undocumented syntax --recurse-submodules=<value> where
 the value can spell a Boolean in various ways.  The support for the
 syntax is being dropped.

 Expecting a reroll.
 cf. <ZDSTFwMFO7vbj/du@google.com>
 source: <ZDSTFwMFO7vbj/du@google.com>


* tb/pack-bitmap-index-seek (2023-03-20) 6 commits
 - pack-bitmap.c: factor out `bitmap_index_seek_commit()`
 - pack-bitmap.c: use `bitmap_index_seek()` where possible
 - pack-bitmap.c: factor out manual `map_pos` manipulation
 - pack-bitmap.c: drop unnecessary 'inline's
 - pack-bitmap.c: hide bitmap internals in `read_be32()`
 - pack-bitmap.c: hide bitmap internals in `read_u8()`

 Clean-up the pack-bitmap codepath.

 Kicked back to 'seen' out of 'next'.
 There is a BUG() on data errors that needs to be fixed.
 source: <cover.1679342296.git.me@ttaylorr.com>


* cb/checkout-same-branch-twice (2023-03-22) 2 commits
 - SQUASH??? the test marked to expect failure passes from day one
 - checkout/switch: disallow checking out same branch in multiple worktrees

 "git checkout -B $branch" failed to protect against checking out
 a branch that is checked out elsewhere, unlike "git branch -f" did.

 Expecting a hopefully minor and final reroll.
 cf. <CAPUEspj_Bh+LgYLnWfeBdcq_uV5Cbou-7H51GLFjzSa5Qzby9w@mail.gmail.com>
 source: <20230120113553.24655-1-carenas@gmail.com>


* tk/pull-conflict-suggest-rebase-merge-not-rebase-true (2023-02-13) 1 commit
 - pull: conflict hint pull.rebase suggestion should offer "merges" vs "true"

 In an advice message after failed non-ff pull, we used to suggest
 setting pull.rebase=true, but these days pull.rebase=merges may be
 more inline with the original spirit of "rebuild your side on top
 of theirs".

 May want to discard.
 This is too much of a departure from the existing practice.
 cf. <CAMMLpeTPEoKVTbfc17w+Y9qn7jOGmQi_Ux0Y3sFW5QTgGWJ=SA@mail.gmail.com>
 cf. <CABPp-BGqAxKnxDRVN4cYMteLp33hvto07R3=TJBT5WubJT4+Og@mail.gmail.com>
 source: <pull.1474.git.1675614276549.gitgitgadget@gmail.com>


* ab/tag-object-type-errors (2023-05-10) 4 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.
 source: <cover-v2-0.3-00000000000-20221230T011725Z-avarab@gmail.com>


* ad/test-record-count-when-harness-is-in-use (2022-12-25) 1 commit
 - test-lib: allow storing counts with test harnesses

 Allow summary results from tests to be written to t/test-results
 directory even when a test harness like 'prove' is in use.

 Expecting a reroll.
 cf. <CABPp-BGoPuGCZw+9wCgdYyRR4Zf4y9Kun27GrQhtMdYWpOUsYQ@mail.gmail.com>
 source: <20221224225200.1027806-1-adam@dinwoodie.org>


* so/diff-merges-more (2022-12-18) 5 commits
 - diff-merges: improve --diff-merges documentation
 - diff-merges: issue warning on lone '-m' option
 - diff-merges: support list of values for --diff-merges
 - diff-merges: implement log.diffMerges-m-imply-p config
 - diff-merges: implement [no-]hide option and log.diffMergesHide config

 Assorted updates to "--diff-merges=X" option.

 May want to discard.
 Breaking compatibility does not seem worth it.
 source: <20221217132955.108542-1-sorganov@gmail.com>


* ab/imap-send-requires-curl (2023-02-02) 6 commits
 - imap-send: correctly report "host" when using "tunnel"
 - imap-send: remove old --no-curl codepath
 - imap-send: make --curl no-optional
 - imap-send: replace auto-probe libcurl with hard dependency
 - imap-send doc: the imap.sslVerify is used with imap.tunnel
 - imap-send: note "auth_method", not "host" on auth method failure

 Give a hard dependency on cURL library to build "git imap-send",
 and remove the code to interact with IMAP server without using cURL.

 Expecting a reroll.
 The 'tunnel' part is still iffy.
 cf. <230203.86bkmabfjr.gmgdl@evledraar.gmail.com>
 source: <cover-v2-0.6-00000000000-20230202T093706Z-avarab@gmail.com>


* cw/submodule-status-in-parallel (2023-03-02) 6 commits
 - diff-lib: parallelize run_diff_files for submodules
 - diff-lib: refactor out diff_change logic
 - submodule: refactor is_submodule_modified()
 - submodule: move status parsing into function
 - submodule: rename strbuf variable
 - run-command: add on_stderr_output_fn to run_processes_parallel_opts

 "git submodule status" learned to run the comparison in submodule
 repositories in parallel.

 Expecting a reroll.
 cf. <CAFySSZDk05m6gU5-V1R+y3YnQ5PPduVW54+_gjBwD0rmacsLsw@mail.gmail.com>
 cf. <230307.865ybc273g.gmgdl@evledraar.gmail.com>
 source: <20230302215237.1473444-1-calvinwan@google.com>

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

* vd/worktree-config-is-per-repository (2023-05-26) 3 commits
 - repository: move 'repository_format_worktree_config' to repo scope
 - config: pass 'repo' directly to 'config_with_options()'
 - config: use gitdir to get worktree config

 The value of config.worktree is per-repository, but has been kept
 in a singleton global variable per process. This has been OK as
 most Git operations interacted with a single repository at a time,
 but not right for operations like recursive "grep" that want to
 access multiple repositories from a single process without forking.

 The global variable has been eliminated and made into a member in
 the per-repository data structure.

 Will merge to 'next'???
 cf. <3145f4f3-7bd4-8a1b-4943-11b7d22b60c6@github.com>
 cf. <kl6lr0qwno2q.fsf@chooglen-macbookpro.roam.corp.google.com>
 source: <pull.1536.v2.git.1685064781.gitgitgadget@gmail.com>


* tb/submodule-null-deref-fix (2023-05-25) 1 commit
 - builtin/submodule--helper.c: handle missing submodule URLs

 "git submodule" code trusted the data coming from the config (and
 the in-tree .gitmodules file) too much without validating, leading
 to NULL dereference if the user mucks with a repository (e.g.
 submodule.<name>.url is removed).  This has been corrected.

 Will merge to 'next'?
 source: <ae6cf3fa461b85e346f034371dae56a2790dfa20.1684957882.git.me@ttaylorr.com>


* jc/test-modernization-2 (2023-05-23) 10 commits
 - t9400-git-cvsserver-server: modernize test format
 - t9200-git-cvsexportcommit: modernize test format
 - t9104-git-svn-follow-parent: modernize test format
 - t9100-git-svn-basic: modernize test format
 - t7700-repack: modernize test format
 - t7600-merge: modernize test format
 - t7508-status: modernize test format
 - t7201-co: modernize test format
 - t7111-reset-table: modernize test format
 - t7110-reset-merge: modernize test format
 (this branch uses jc/test-modernization.)

 Test style updates.
 source: <pull.1514.git.git.1684599239.gitgitgadget@gmail.com>


* jt/path-filter-fix (2023-05-23) 2 commits
 - commit-graph: fix murmur3, bump filter ver. to 2
 - t4216: test wrong bloom filter version rejection

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Needs a more careful transition?
 cf. <def26c71-0fbb-58a3-f1cd-f8e532b67503@github.com>
 source: <cover.1684790529.git.jonathantanmy@google.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
 source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>


* mh/credential-libsecret-attrs (2023-05-17) 1 commit
 - credential/libsecret: store new attributes

 The way authentication related data other than passwords (e.g.
 oath token and password expiration data) are stored in libsecret
 keyrings has been rethought.

 Needs review.
 source: <pull.1469.v4.git.git.1684306540947.gitgitgadget@gmail.com>


* ps/fetch-cleanups (2023-05-17) 9 commits
 - fetch: use `fetch_config` to store "submodule.fetchJobs" value
 - fetch: use `fetch_config` to store "fetch.parallel" value
 - fetch: use `fetch_config` to store "fetch.recurseSubmodules" value
 - fetch: use `fetch_config` to store "fetch.showForcedUpdates" value
 - fetch: use `fetch_config` to store "fetch.pruneTags" value
 - fetch: use `fetch_config` to store "fetch.prune" value
 - fetch: pass through `fetch_config` directly
 - fetch: drop unneeded NULL-check for `remote_ref`
 - fetch: drop unused DISPLAY_FORMAT_UNKNOWN enum value

 Code clean-up.

 Will merge to 'next'.
 cf. <20230519002128.GD2442034@coredump.intra.peff.net>
 source: <cover.1684324059.git.ps@pks.im>


* sl/diff-tree-sparse (2023-05-18) 1 commit
  (merged to 'next' on 2023-05-24 at 5d4f2dec4d)
 + diff-tree: integrate with sparse index

 "git diff-tree" has been taught to take advantage of the
 sparse-index feature.

 Will cook in 'next'.
 cf. <2a2b7223-bb5d-65f9-95bb-9be45d329c87@github.com>
 source: <20230518154454.475487-1-cheskaqiqi@gmail.com>


* jk/format-patch-message-id-unleak (2023-05-19) 2 commits
  (merged to 'next' on 2023-05-23 at 44b9e1ab91)
 + format-patch: free elements of rev.ref_message_ids list
 + format-patch: free rev.message_id when exiting

 Leakfix.

 Will cook in 'next'.
 source: <20230519000239.GA1975039@coredump.intra.peff.net>


* jc/test-modernization (2023-05-19) 20 commits
 - t7101-reset-empty-subdirs: modernize test format
 - t6050-replace: modernize test format
 - t5306-pack-nobase: modernize test format
 - t5303-pack-corruption-resilience: modernize test format
 - t5301-sliding-window: modernize test format
 - t5300-pack-object: modernize test format
 - t4206-log-follow-harder-copies: modernize test format
 - t4202-log: modernize test format
 - t4004-diff-rename-symlink: modernize test format
 - t4003-diff-rename-1: modernize test format
 - t4002-diff-basic: modernize test format
 - t3903-stash: modernize test format
 - t3700-add: modernize test format
 - t3500-cherry: modernize test format
 - t1006-cat-file: modernize test format
 - t1002-read-tree-m-u-2way: modernize test format
 - t1001-read-tree-m-2way: modernize test format
 - t3210-pack-refs: modernize test format
 - t0030-stripspace: modernize test format
 - t0000-basic: modernize test format
 (this branch is used by jc/test-modernization-2.)

 source: <pull.1513.git.git.1684440205.gitgitgadget@gmail.com>


* ja/worktree-orphan (2023-05-17) 8 commits
 - worktree add: emit warn when there is a bad HEAD
 - worktree add: extend DWIM to infer --orphan
 - worktree add: introduce "try --orphan" hint
 - worktree add: add --orphan flag
 - t2400: add tests to verify --quiet
 - t2400: refactor "worktree add" opt exclusion tests
 - t2400: cleanup created worktree in test
 - worktree add: include -B in usage docs

 'git worktree add' learned how to create a worktree based on an
 orphaned branch with `--orphan`.
 source: <20230517214711.12467-1-jacobabel@nullpo.dev>


* kh/keep-tag-editmsg-upon-failure (2023-05-16) 3 commits
  (merged to 'next' on 2023-05-19 at fc0fe3173d)
 + tag: keep the message file in case ref transaction fails
 + t/t7004-tag: add regression test for successful tag creation
 + doc: tag: document `TAG_EDITMSG`

 "git tag" learned to leave the "$GIT_DIR/TAG_EDITMSG" file when the
 command failed, so that the user can salvage what they typed.

 Will cook in 'next'.
 source: <cover.1684258780.git.code@khaugsbakk.name>


* sa/doc-ls-remote (2023-05-19) 6 commits
  (merged to 'next' on 2023-05-20 at d577bf75a0)
 + ls-remote doc: document the output format
 + ls-remote doc: explain what each example does
 + ls-remote doc: show peeled tags in examples
 + ls-remote doc: remove redundant --tags example
 + show-branch doc: say <ref>, not <reference>
 + show-ref doc: update for internal consistency

 Doc update.

 Will cook in 'next'.
 source: <pull.1471.v4.git.git.1684469874.gitgitgadget@gmail.com>


* tb/refs-exclusion-and-packed-refs (2023-05-15) 16 commits
 - ls-refs.c: avoid enumerating hidden refs where possible
 - upload-pack.c: avoid enumerating hidden refs where possible
 - builtin/receive-pack.c: avoid enumerating hidden references
 - refs.h: let `for_each_namespaced_ref()` take excluded patterns
 - refs/packed-backend.c: ignore complicated hidden refs rules
 - revision.h: store hidden refs in a `strvec`
 - refs/packed-backend.c: add trace2 counters for jump list
 - refs/packed-backend.c: implement jump lists to avoid excluded pattern(s)
 - refs/packed-backend.c: refactor `find_reference_location()`
 - refs: plumb `exclude_patterns` argument throughout
 - builtin/for-each-ref.c: add `--exclude` option
 - ref-filter.c: parameterize match functions over patterns
 - ref-filter: add `ref_filter_clear()`
 - ref-filter: clear reachable list pointers after freeing
 - ref-filter.h: provide `REF_FILTER_INIT`
 - refs.c: rename `ref_filter`

 Enumerating refs in the packed-refs file, while excluding refs that
 match certain patterns, has been optimized.

 Will merge to 'next'?
 source: <cover.1684178576.git.me@ttaylorr.com>


* zh/ls-files-format-atoms (2023-05-23) 1 commit
  (merged to 'next' on 2023-05-24 at 116b11effb)
 + ls-files: align format atoms with ls-tree

 Some atoms that can be used in "--format=<format>" for "git ls-tree"
 were not supported by "git ls-files", even though they were relevant
 in the context of the latter.

 Will cook in 'next'.
 source: <pull.1533.v2.git.1684832418299.gitgitgadget@gmail.com>


* tc/cat-file-z-use-cquote (2023-05-10) 1 commit
 - cat-file: quote-format name in error when using -z

 "cat-file" in the batch mode that is fed NUL-terminated pathnames
 learned to cquote them in its error output (otherwise, a funny
 pathname with LF in it would break the lines in the output stream).

 Redesign.
 source: <20230510190116.795641-2-toon@iotcl.com>


* en/header-split-cache-h-part-3 (2023-05-16) 29 commits
 - fsmonitor-ll.h: split this header out of fsmonitor.h
 - hash-ll, hashmap: move oidhash() to hash-ll
 - object-store-ll.h: split this header out of object-store.h
 - khash: name the structs that khash declares
 - merge-ll: rename from ll-merge
 - git-compat-util.h: remove unneccessary include of wildmatch.h
 - builtin.h: remove unneccessary includes
 - list-objects-filter-options.h: remove unneccessary include
 - diff.h: remove unnecessary include of oidset.h
 - repository: remove unnecessary include of path.h
 - log-tree: replace include of revision.h with simple forward declaration
 - cache.h: remove this no-longer-used header
 - read-cache*.h: move declarations for read-cache.c functions from cache.h
 - repository.h: move declaration of the_index from cache.h
 - merge.h: move declarations for merge.c from cache.h
 - diff.h: move declaration for global in diff.c from cache.h
 - preload-index.h: move declarations for preload-index.c from elsewhere
 - sparse-index.h: move declarations for sparse-index.c from cache.h
 - name-hash.h: move declarations for name-hash.c from cache.h
 - run-command.h: move declarations for run-command.c from cache.h
 - statinfo: move stat_{data,validity} functions from cache/read-cache
 - read-cache: move shared add/checkout/commit code
 - add: modify add_files_to_cache() to avoid globals
 - read-cache: move shared commit and ls-files code
 - setup: adopt shared init-db & clone code
 - init-db, clone: change unnecessary global into passed parameter
 - init-db: remove unnecessary global variable
 - init-db: document existing bug with core.bare in template config
 - Merge branch 'en/header-split-cache-h-part-2' into en/header-split-cache-h-part-3

 Header files cleanup.
 source: <pull.1525.v3.git.1684218848.gitgitgadget@gmail.com>


* la/doc-interpret-trailers (2023-05-11) 9 commits
 - doc: trailer: add more examples in DESCRIPTION
 - doc: trailer: mention 'key' in DESCRIPTION
 - doc: trailer.<token>.command: emphasize deprecation
 - doc: trailer: use angle brackets for <token> and <value>
 - doc: trailer: remove redundant phrasing
 - doc: trailer: examples: avoid the word "message" by itself
 - doc: trailer: drop "commit message part" phrasing
 - doc: trailer: swap verb order
 - doc: trailer: fix grammar

 Doc update.

 On hold. Looking good.
 Want to be rebased once kh/doc-interpret-trailers-updates lands.
 source: <pull.1506.v2.git.git.1683839975.gitgitgadget@gmail.com>


* cc/git-replay (2023-05-09) 16 commits
 - SQUASH???
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 source: <20230509175347.1714141-1-christian.couder@gmail.com>


* jc/pack-ref-exclude-include (2023-05-12) 3 commits
  (merged to 'next' on 2023-05-23 at 37333a2d00)
 + pack-refs: teach pack-refs --include option
 + pack-refs: teach --exclude option to exclude refs from being packed
 + docs: clarify git-pack-refs --all will pack all refs

 "git pack-refs" learns "--include" and "--exclude" to tweak the ref
 hierarchy to be packed using pattern matching.

 Will cook in 'next'.
 source: <pull.1501.v4.git.git.1683927282.gitgitgadget@gmail.com>


* tb/gc-recent-object-hook (2023-05-15) 2 commits
 - gc: introduce `gc.recentObjectsHook`
 - reachable.c: extract `obj_is_recent()`

 "git pack-objects" learned to invoke a new hook program that
 enumerates extra objects to be used as anchoring points to keep
 otherwise unreachable objects in cruft packs.
 source: <cover.1684196634.git.me@ttaylorr.com>


* jc/diff-s-with-other-options (2023-05-05) 1 commit
  (merged to 'next' on 2023-05-20 at dda3826a68)
 + diff: fix interaction between the "-s" option and other options

 The "-s" (silent, squelch) option of the "diff" family of commands
 did not interact with other options that specify the output format
 well.  This has been cleaned up so that it will clear all the
 formatting options given before.

 Will cook in 'next'.
 source: <20230505165952.335256-1-gitster@pobox.com>


* ob/revert-of-revert (2023-05-05) 1 commit
 - sequencer: beautify subject of reverts of reverts

 Instead of "Revert "Revert "original"", give "Reapply "original""
 as the title for a revert of a revert.

 Expecting a hopefully final reroll.
 Looking much better, except for minor cosmetic issues.
 source: <20230428083528.1699221-1-oswald.buddenhagen@gmx.de>


* cw/strbuf-cleanup (2023-05-12) 7 commits
  (merged to 'next' on 2023-05-15 at 31d08296f2)
 + strbuf: remove global variable
 + strbuf: clarify dependency
 + path: move related function to path
 + object-name: move related functions to object-name
 + credential-store: move related functions to credential-store file
 + abspath: move related functions to abspath
 + strbuf: clarify API boundary

 Move functions that are not about pure string manipulation out of
 strbuf.[ch]

 Will cook in 'next'.
 source: <20230512171429.2202982-1-calvinwan@google.com>


* tl/notes-separator (2023-04-28) 6 commits
  (merged to 'next' on 2023-05-06 at 598ed19c9b)
 + notes.c: introduce "--[no-]stripspace" option
 + notes.c: append separator instead of insert by pos
 + notes.c: introduce '--separator=<paragraph-break>' option
 + t3321: add test cases about the notes stripspace behavior
 + notes.c: use designated initializers for clarity
 + notes.c: cleanup 'strbuf_grow' call in 'append_edit'

 'git notes append' was taught '--separator' to specify string to insert
 between paragraphs.

 On hold.
 source: <cover.1682671758.git.dyroneteng@gmail.com>


* pw/rebase-i-after-failure (2023-04-21) 6 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase: fix rewritten list for failed pick
 - rebase --continue: refuse to commit after failed command
 - sequencer: factor out part of pick_commits()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Expecting a reroll.
 cf. <xmqqsfcthrpb.fsf@gitster.g>
 cf. <1fd54422-b66a-c2e4-7cd7-934ea01190ad@gmail.com>
 source: <pull.1492.v2.git.1682089074.gitgitgadget@gmail.com>


* tb/pack-bitmap-traversal-with-boundary (2023-05-08) 3 commits
 - pack-bitmap.c: use commit boundary during bitmap traversal
 - pack-bitmap.c: extract `fill_in_bitmap()`
 - object: add object_array initializer helper function
 (this branch is used by ds/disable-replace-refs.)

 The object traversal using reachability bitmap done by
 "pack-object" has been tweaked to take advantage of the fact that
 using "boundary" commits as representative of all the uninteresting
 ones can save quite a lot of object enumeration.

 Comments?
 source: <cover.1683567065.git.me@ttaylorr.com>


* gc/doc-cocci-updates (2023-04-27) 2 commits
  (merged to 'next' on 2023-05-20 at 3fe237c1a8)
 + cocci: codify authoring and reviewing practices
 + cocci: add headings to and reword README

 Update documentation regarding Coccinelle patches.

 Will cook in 'next'.
 source: <pull.1495.v2.git.git.1682634143.gitgitgadget@gmail.com>


* pb/complete-and-document-auto-merge-and-friends (2023-05-23) 6 commits
 - completion: complete AUTO_MERGE
 - Documentation: document AUTO_MERGE
 - git-merge.txt: modernize word choice in "True merge" section
 - completion: complete REVERT_HEAD and BISECT_HEAD
 - revisions.txt: document more special refs
 - revisions.txt: use description list for special refs

 Document more pseudo-refs and teach the command line completion
 machinery to complete AUTO_MERGE.

 Kicked back to 'seen' and replaced.
 Needs review/ack.
 source: <pull.1515.v2.git.1684783741.gitgitgadget@gmail.com>


* mh/credential-password-expiry-libsecret (2023-05-05) 1 commit
  (merged to 'next' on 2023-05-09 at fd898e3756)
 + credential/libsecret: support password_expiry_utc

 The libsecret credential helper learns to handle the password
 expiry time information.

 On hold.
 The database gets littered with entries whose expiration dates only differ.
 cf. <CAGJzqskMwOJkriH6serqdwAVYi+fftEL8ohJd-suP6v+OxB_bg@mail.gmail.com>
 source: <pull.1469.v3.git.git.1683270298313.gitgitgadget@gmail.com>

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

* ed/fsmonitor-inotify (2022-12-13) 6 commits
 . fsmonitor: update doc for Linux
 . fsmonitor: test updates
 . fsmonitor: enable fsmonitor for Linux
 . fsmonitor: implement filesystem change listener for Linux
 . fsmonitor: determine if filesystem is local or remote
 . fsmonitor: prepare to share code between Mac OS and Linux

 Bundled fsmonitor for Linux using inotify API.

 Seems to break asan job at CI when merged to 'seen'.
 cf. <xmqqzg7d8xn2.fsf@gitster.g>
 source: <pull.1352.v5.git.git.1670882286.gitgitgadget@gmail.com>


* my/wildmatch-cleanups (2023-02-27) 5 commits
 . wildmatch: more cleanups after killing uchar
 . wildmatch: use char instead of uchar
 . wildmatch: remove NEGATE_CLASS(2) macros with trivial refactoring
 . wildmatch: remove IS*() macros
 . git-compat-util: add isblank() and isgraph()

 Code clean-up.

 Discarded without prejudice after more than 6 weeks of inactivity.
 source: <20230226115021.1681834-1-masahiroy@kernel.org>


* cw/forbid-use-of-gitlink-outside-submodules (2023-02-28) 6 commits
 . add: reject nested repositories
 . tests: remove duplicate .gitmodules path
 . tests: use `git submodule add` and fix expected status
 . tests: use `git submodule add` and fix expected diffs
 . tests: Use `git submodule add` instead of `git add`
 . t4041, t4060: modernize test style

 Forbid "git add dir" from adding a gitlink to the index.

 Discarded without prejudice after more than 6 weeks of inactivity.
 source: <20230228185253.2356546-1-calvinwan@google.com>


* nw/for-each-ref-signature (2023-03-13) 1 commit
 . ref-filter: add new "signature" atom

 "git (for-each-ref|branch|tag) --format=<format>" learns the "%(signature)"
 placeholder and friends.

 Breaks CI.
 cf. <xmqqpm9bosjw.fsf@gitster.g>
 source: <20230311210607.64927-2-nsengiyumvawilberforce@gmail.com>


* fc/asciidoc-code-block-hack (2023-05-04) 2 commits
 . doc: manpage: remove ancient workaround
 . doc: git-svn: use listing instead of verse

 Documentation toolchain lost an ancient workaround that is no
 longer needed.

 The contributor is no longer with the project.
 source: <20230504035517.329765-1-felipe.contreras@gmail.com>


* fc/doc-revisions-markup-fix (2023-05-04) 2 commits
 . doc: revisions: add a bunch of missing quotes
 . doc: revisions: fix missing escape

 Doc cleanup.

 The contributor is no longer with the project.
 source: <20230504163421.100400-1-felipe.contreras@gmail.com>

^ permalink raw reply	[relevance 22%]

* What's cooking in git.git (May 2023, #08; Thu, 25)
@ 2023-05-24 22:45 22% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-05-24 22:45 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a future
release).  Commits prefixed with '-' are only in 'seen', and aren't
considered "accepted" at all and may be annotated with an URL to a
message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity.

Git 2.41-rc2 has been tagged.

Until early June, I am on half-vacation, and my bandwidth may be
limited and availability rather sporadic.

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']

* sl/sparse-write-tree-part-2 (2023-05-08) 1 commit
  (merged to 'next' on 2023-05-23 at 317fd52454)
 + t1092: update a write-tree test

 Fix-up to a topic already graduated to 'master'.
 source: <20230508202140.464363-1-cheskaqiqi@gmail.com>

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

* vd/worktree-config-is-per-repository (2023-05-24) 2 commits
 - repository: move 'repository_format_worktree_config' to repo scope
 - config: use gitdir to get worktree config

 The value of config.worktree is per-repository, but has been kept
 in a singleton global variable per process. This has been OK as
 most Git operations interacted with a single repository at a time,
 but not right for operations like recursive "grep" that want to
 access multiple repositories from a single process without forking.

 The global variable has been eliminated and made into a member in
 the per-repository data structure.

 Needs review.
 source: <pull.1536.git.1684883872.gitgitgadget@gmail.com>


* tb/submodule-null-deref-fix (2023-05-25) 1 commit
 - builtin/submodule--helper.c: handle missing submodule URLs

 "git submodule" code trusted the data coming from the config (and
 the in-tree .gitmodules file) too much without validating, leading
 to NULL dereference if the user mucks with a repository (e.g.
 submodule.<name>.url is removed).  This has been corrected.

 Will merge to 'next'?
 source: <ae6cf3fa461b85e346f034371dae56a2790dfa20.1684957882.git.me@ttaylorr.com>

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

* ed/fsmonitor-windows-named-pipe (2023-03-24) 1 commit
 - fsmonitor: handle differences between Windows named pipe functions

 Fix fsmonitor on Windows when the filesystem path contains certain
 characters.

 Expecting a reroll.
 cf. <b9cf67e4-22a7-2ff0-8310-9223bea10d6d@jeffhostetler.com>
 source: <pull.1503.git.1679678090412.gitgitgadget@gmail.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
 - diff-index: enable sparse index

 "git diff-index" command has been taught to work better with the
 sparse index.

 Expecting a reroll.
 cf. <62821012-4fc3-5ad8-695c-70f7ab14a8c9@github.com>
 source: <20230408112342.404318-1-nanth.raghul@gmail.com>


* es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
 - usage: clarify --recurse-submodules as a boolean

 The "--[no-]recurse-submodules" option of "git checkout" and others
 supported an undocumented syntax --recurse-submodules=<value> where
 the value can spell a Boolean in various ways.  The support for the
 syntax is being dropped.

 Expecting a reroll.
 cf. <ZDSTFwMFO7vbj/du@google.com>
 source: <ZDSTFwMFO7vbj/du@google.com>


* tb/pack-bitmap-index-seek (2023-03-20) 6 commits
 - pack-bitmap.c: factor out `bitmap_index_seek_commit()`
 - pack-bitmap.c: use `bitmap_index_seek()` where possible
 - pack-bitmap.c: factor out manual `map_pos` manipulation
 - pack-bitmap.c: drop unnecessary 'inline's
 - pack-bitmap.c: hide bitmap internals in `read_be32()`
 - pack-bitmap.c: hide bitmap internals in `read_u8()`

 Clean-up the pack-bitmap codepath.

 Kicked back to 'seen' out of 'next'.
 There is a BUG() on data errors that needs to be fixed.
 source: <cover.1679342296.git.me@ttaylorr.com>


* cb/checkout-same-branch-twice (2023-03-22) 2 commits
 - SQUASH??? the test marked to expect failure passes from day one
 - checkout/switch: disallow checking out same branch in multiple worktrees

 "git checkout -B $branch" failed to protect against checking out
 a branch that is checked out elsewhere, unlike "git branch -f" did.

 Expecting a hopefully minor and final reroll.
 cf. <CAPUEspj_Bh+LgYLnWfeBdcq_uV5Cbou-7H51GLFjzSa5Qzby9w@mail.gmail.com>
 source: <20230120113553.24655-1-carenas@gmail.com>


* tk/pull-conflict-suggest-rebase-merge-not-rebase-true (2023-02-13) 1 commit
 - pull: conflict hint pull.rebase suggestion should offer "merges" vs "true"

 In an advice message after failed non-ff pull, we used to suggest
 setting pull.rebase=true, but these days pull.rebase=merges may be
 more inline with the original spirit of "rebuild your side on top
 of theirs".

 May want to discard.
 This is too much of a departure from the existing practice.
 cf. <CAMMLpeTPEoKVTbfc17w+Y9qn7jOGmQi_Ux0Y3sFW5QTgGWJ=SA@mail.gmail.com>
 cf. <CABPp-BGqAxKnxDRVN4cYMteLp33hvto07R3=TJBT5WubJT4+Og@mail.gmail.com>
 source: <pull.1474.git.1675614276549.gitgitgadget@gmail.com>


* ab/tag-object-type-errors (2023-05-10) 4 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.
 source: <cover-v2-0.3-00000000000-20221230T011725Z-avarab@gmail.com>


* ad/test-record-count-when-harness-is-in-use (2022-12-25) 1 commit
 - test-lib: allow storing counts with test harnesses

 Allow summary results from tests to be written to t/test-results
 directory even when a test harness like 'prove' is in use.

 Expecting a reroll.
 cf. <CABPp-BGoPuGCZw+9wCgdYyRR4Zf4y9Kun27GrQhtMdYWpOUsYQ@mail.gmail.com>
 source: <20221224225200.1027806-1-adam@dinwoodie.org>


* so/diff-merges-more (2022-12-18) 5 commits
 - diff-merges: improve --diff-merges documentation
 - diff-merges: issue warning on lone '-m' option
 - diff-merges: support list of values for --diff-merges
 - diff-merges: implement log.diffMerges-m-imply-p config
 - diff-merges: implement [no-]hide option and log.diffMergesHide config

 Assorted updates to "--diff-merges=X" option.

 May want to discard.
 Breaking compatibility does not seem worth it.
 source: <20221217132955.108542-1-sorganov@gmail.com>


* ab/imap-send-requires-curl (2023-02-02) 6 commits
 - imap-send: correctly report "host" when using "tunnel"
 - imap-send: remove old --no-curl codepath
 - imap-send: make --curl no-optional
 - imap-send: replace auto-probe libcurl with hard dependency
 - imap-send doc: the imap.sslVerify is used with imap.tunnel
 - imap-send: note "auth_method", not "host" on auth method failure

 Give a hard dependency on cURL library to build "git imap-send",
 and remove the code to interact with IMAP server without using cURL.

 Expecting a reroll.
 The 'tunnel' part is still iffy.
 cf. <230203.86bkmabfjr.gmgdl@evledraar.gmail.com>
 source: <cover-v2-0.6-00000000000-20230202T093706Z-avarab@gmail.com>


* cw/submodule-status-in-parallel (2023-03-02) 6 commits
 - diff-lib: parallelize run_diff_files for submodules
 - diff-lib: refactor out diff_change logic
 - submodule: refactor is_submodule_modified()
 - submodule: move status parsing into function
 - submodule: rename strbuf variable
 - run-command: add on_stderr_output_fn to run_processes_parallel_opts

 "git submodule status" learned to run the comparison in submodule
 repositories in parallel.

 Expecting a reroll.
 cf. <CAFySSZDk05m6gU5-V1R+y3YnQ5PPduVW54+_gjBwD0rmacsLsw@mail.gmail.com>
 cf. <230307.865ybc273g.gmgdl@evledraar.gmail.com>
 source: <20230302215237.1473444-1-calvinwan@google.com>

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

* jc/test-modernization-2 (2023-05-23) 10 commits
 - t9400-git-cvsserver-server: modernize test format
 - t9200-git-cvsexportcommit: modernize test format
 - t9104-git-svn-follow-parent: modernize test format
 - t9100-git-svn-basic: modernize test format
 - t7700-repack: modernize test format
 - t7600-merge: modernize test format
 - t7508-status: modernize test format
 - t7201-co: modernize test format
 - t7111-reset-table: modernize test format
 - t7110-reset-merge: modernize test format
 (this branch uses jc/test-modernization.)

 Test style updates.
 source: <pull.1514.git.git.1684599239.gitgitgadget@gmail.com>


* jt/path-filter-fix (2023-05-23) 2 commits
 - commit-graph: fix murmur3, bump filter ver. to 2
 - t4216: test wrong bloom filter version rejection

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Needs a more careful transition?
 cf. <def26c71-0fbb-58a3-f1cd-f8e532b67503@github.com>
 source: <cover.1684790529.git.jonathantanmy@google.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-05-23) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Expecting a reroll.
 cf. <pull.1535.git.1684830767336.gitgitgadget@gmail.com>
 source: <pull.1535.git.1684830767336.gitgitgadget@gmail.com>


* mh/credential-libsecret-attrs (2023-05-17) 1 commit
 - credential/libsecret: store new attributes

 The way authentication related data other than passwords (e.g.
 oath token and password expiration data) are stored in libsecret
 keyrings has been rethought.

 Needs review.
 source: <pull.1469.v4.git.git.1684306540947.gitgitgadget@gmail.com>


* ps/fetch-cleanups (2023-05-17) 9 commits
 - fetch: use `fetch_config` to store "submodule.fetchJobs" value
 - fetch: use `fetch_config` to store "fetch.parallel" value
 - fetch: use `fetch_config` to store "fetch.recurseSubmodules" value
 - fetch: use `fetch_config` to store "fetch.showForcedUpdates" value
 - fetch: use `fetch_config` to store "fetch.pruneTags" value
 - fetch: use `fetch_config` to store "fetch.prune" value
 - fetch: pass through `fetch_config` directly
 - fetch: drop unneeded NULL-check for `remote_ref`
 - fetch: drop unused DISPLAY_FORMAT_UNKNOWN enum value

 Code clean-up.

 Needs review.
 source: <cover.1684324059.git.ps@pks.im>


* sl/diff-tree-sparse (2023-05-18) 1 commit
  (merged to 'next' on 2023-05-24 at 5d4f2dec4d)
 + diff-tree: integrate with sparse index

 "git diff-tree" has been taught to take advantage of the
 sparse-index feature.

 Will cook in 'next'.
 cf. <2a2b7223-bb5d-65f9-95bb-9be45d329c87@github.com>
 source: <20230518154454.475487-1-cheskaqiqi@gmail.com>


* jk/format-patch-message-id-unleak (2023-05-19) 2 commits
  (merged to 'next' on 2023-05-23 at 44b9e1ab91)
 + format-patch: free elements of rev.ref_message_ids list
 + format-patch: free rev.message_id when exiting

 Leakfix.

 Will cook in 'next'.
 source: <20230519000239.GA1975039@coredump.intra.peff.net>


* jc/test-modernization (2023-05-19) 20 commits
 - t7101-reset-empty-subdirs: modernize test format
 - t6050-replace: modernize test format
 - t5306-pack-nobase: modernize test format
 - t5303-pack-corruption-resilience: modernize test format
 - t5301-sliding-window: modernize test format
 - t5300-pack-object: modernize test format
 - t4206-log-follow-harder-copies: modernize test format
 - t4202-log: modernize test format
 - t4004-diff-rename-symlink: modernize test format
 - t4003-diff-rename-1: modernize test format
 - t4002-diff-basic: modernize test format
 - t3903-stash: modernize test format
 - t3700-add: modernize test format
 - t3500-cherry: modernize test format
 - t1006-cat-file: modernize test format
 - t1002-read-tree-m-u-2way: modernize test format
 - t1001-read-tree-m-2way: modernize test format
 - t3210-pack-refs: modernize test format
 - t0030-stripspace: modernize test format
 - t0000-basic: modernize test format
 (this branch is used by jc/test-modernization-2.)

 source: <pull.1513.git.git.1684440205.gitgitgadget@gmail.com>


* ja/worktree-orphan (2023-05-17) 8 commits
 - worktree add: emit warn when there is a bad HEAD
 - worktree add: extend DWIM to infer --orphan
 - worktree add: introduce "try --orphan" hint
 - worktree add: add --orphan flag
 - t2400: add tests to verify --quiet
 - t2400: refactor "worktree add" opt exclusion tests
 - t2400: cleanup created worktree in test
 - worktree add: include -B in usage docs

 'git worktree add' learned how to create a worktree based on an
 orphaned branch with `--orphan`.
 source: <20230517214711.12467-1-jacobabel@nullpo.dev>


* kh/keep-tag-editmsg-upon-failure (2023-05-16) 3 commits
  (merged to 'next' on 2023-05-19 at fc0fe3173d)
 + tag: keep the message file in case ref transaction fails
 + t/t7004-tag: add regression test for successful tag creation
 + doc: tag: document `TAG_EDITMSG`

 "git tag" learned to leave the "$GIT_DIR/TAG_EDITMSG" file when the
 command failed, so that the user can salvage what they typed.

 Will cook in 'next'.
 source: <cover.1684258780.git.code@khaugsbakk.name>


* sa/doc-ls-remote (2023-05-19) 6 commits
  (merged to 'next' on 2023-05-20 at d577bf75a0)
 + ls-remote doc: document the output format
 + ls-remote doc: explain what each example does
 + ls-remote doc: show peeled tags in examples
 + ls-remote doc: remove redundant --tags example
 + show-branch doc: say <ref>, not <reference>
 + show-ref doc: update for internal consistency

 Doc update.

 Will cook in 'next'.
 source: <pull.1471.v4.git.git.1684469874.gitgitgadget@gmail.com>


* tb/refs-exclusion-and-packed-refs (2023-05-15) 16 commits
 - ls-refs.c: avoid enumerating hidden refs where possible
 - upload-pack.c: avoid enumerating hidden refs where possible
 - builtin/receive-pack.c: avoid enumerating hidden references
 - refs.h: let `for_each_namespaced_ref()` take excluded patterns
 - refs/packed-backend.c: ignore complicated hidden refs rules
 - revision.h: store hidden refs in a `strvec`
 - refs/packed-backend.c: add trace2 counters for jump list
 - refs/packed-backend.c: implement jump lists to avoid excluded pattern(s)
 - refs/packed-backend.c: refactor `find_reference_location()`
 - refs: plumb `exclude_patterns` argument throughout
 - builtin/for-each-ref.c: add `--exclude` option
 - ref-filter.c: parameterize match functions over patterns
 - ref-filter: add `ref_filter_clear()`
 - ref-filter: clear reachable list pointers after freeing
 - ref-filter.h: provide `REF_FILTER_INIT`
 - refs.c: rename `ref_filter`

 Enumerating refs in the packed-refs file, while excluding refs that
 match certain patterns, has been optimized.

 Will merge to 'next'?
 source: <cover.1684178576.git.me@ttaylorr.com>


* zh/ls-files-format-atoms (2023-05-23) 1 commit
  (merged to 'next' on 2023-05-24 at 116b11effb)
 + ls-files: align format atoms with ls-tree

 Some atoms that can be used in "--format=<format>" for "git ls-tree"
 were not supported by "git ls-files", even though they were relevant
 in the context of the latter.

 Will cook in 'next'.
 source: <pull.1533.v2.git.1684832418299.gitgitgadget@gmail.com>


* tc/cat-file-z-use-cquote (2023-05-10) 1 commit
 - cat-file: quote-format name in error when using -z

 "cat-file" in the batch mode that is fed NUL-terminated pathnames
 learned to cquote them in its error output (otherwise, a funny
 pathname with LF in it would break the lines in the output stream).

 Redesign.
 source: <20230510190116.795641-2-toon@iotcl.com>


* en/header-split-cache-h-part-3 (2023-05-16) 29 commits
 - fsmonitor-ll.h: split this header out of fsmonitor.h
 - hash-ll, hashmap: move oidhash() to hash-ll
 - object-store-ll.h: split this header out of object-store.h
 - khash: name the structs that khash declares
 - merge-ll: rename from ll-merge
 - git-compat-util.h: remove unneccessary include of wildmatch.h
 - builtin.h: remove unneccessary includes
 - list-objects-filter-options.h: remove unneccessary include
 - diff.h: remove unnecessary include of oidset.h
 - repository: remove unnecessary include of path.h
 - log-tree: replace include of revision.h with simple forward declaration
 - cache.h: remove this no-longer-used header
 - read-cache*.h: move declarations for read-cache.c functions from cache.h
 - repository.h: move declaration of the_index from cache.h
 - merge.h: move declarations for merge.c from cache.h
 - diff.h: move declaration for global in diff.c from cache.h
 - preload-index.h: move declarations for preload-index.c from elsewhere
 - sparse-index.h: move declarations for sparse-index.c from cache.h
 - name-hash.h: move declarations for name-hash.c from cache.h
 - run-command.h: move declarations for run-command.c from cache.h
 - statinfo: move stat_{data,validity} functions from cache/read-cache
 - read-cache: move shared add/checkout/commit code
 - add: modify add_files_to_cache() to avoid globals
 - read-cache: move shared commit and ls-files code
 - setup: adopt shared init-db & clone code
 - init-db, clone: change unnecessary global into passed parameter
 - init-db: remove unnecessary global variable
 - init-db: document existing bug with core.bare in template config
 - Merge branch 'en/header-split-cache-h-part-2' into en/header-split-cache-h-part-3

 Header files cleanup.
 source: <pull.1525.v3.git.1684218848.gitgitgadget@gmail.com>


* la/doc-interpret-trailers (2023-05-11) 9 commits
 - doc: trailer: add more examples in DESCRIPTION
 - doc: trailer: mention 'key' in DESCRIPTION
 - doc: trailer.<token>.command: emphasize deprecation
 - doc: trailer: use angle brackets for <token> and <value>
 - doc: trailer: remove redundant phrasing
 - doc: trailer: examples: avoid the word "message" by itself
 - doc: trailer: drop "commit message part" phrasing
 - doc: trailer: swap verb order
 - doc: trailer: fix grammar

 Doc update.

 On hold. Looking good.
 Want to be rebased once kh/doc-interpret-trailers-updates lands.
 source: <pull.1506.v2.git.git.1683839975.gitgitgadget@gmail.com>


* cc/git-replay (2023-05-09) 16 commits
 - SQUASH???
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 source: <20230509175347.1714141-1-christian.couder@gmail.com>


* jc/pack-ref-exclude-include (2023-05-12) 3 commits
  (merged to 'next' on 2023-05-23 at 37333a2d00)
 + pack-refs: teach pack-refs --include option
 + pack-refs: teach --exclude option to exclude refs from being packed
 + docs: clarify git-pack-refs --all will pack all refs

 "git pack-refs" learns "--include" and "--exclude" to tweak the ref
 hierarchy to be packed using pattern matching.

 Will cook in 'next'.
 source: <pull.1501.v4.git.git.1683927282.gitgitgadget@gmail.com>


* tb/gc-recent-object-hook (2023-05-15) 2 commits
 - gc: introduce `gc.recentObjectsHook`
 - reachable.c: extract `obj_is_recent()`

 "git pack-objects" learned to invoke a new hook program that
 enumerates extra objects to be used as anchoring points to keep
 otherwise unreachable objects in cruft packs.
 source: <cover.1684196634.git.me@ttaylorr.com>


* jc/diff-s-with-other-options (2023-05-05) 1 commit
  (merged to 'next' on 2023-05-20 at dda3826a68)
 + diff: fix interaction between the "-s" option and other options

 The "-s" (silent, squelch) option of the "diff" family of commands
 did not interact with other options that specify the output format
 well.  This has been cleaned up so that it will clear all the
 formatting options given before.

 Will cook in 'next'.
 source: <20230505165952.335256-1-gitster@pobox.com>


* ob/revert-of-revert (2023-05-05) 1 commit
 - sequencer: beautify subject of reverts of reverts

 Instead of "Revert "Revert "original"", give "Reapply "original""
 as the title for a revert of a revert.

 Expecting a hopefully final reroll.
 Looking much better, except for minor cosmetic issues.
 source: <20230428083528.1699221-1-oswald.buddenhagen@gmx.de>


* cw/strbuf-cleanup (2023-05-12) 7 commits
  (merged to 'next' on 2023-05-15 at 31d08296f2)
 + strbuf: remove global variable
 + strbuf: clarify dependency
 + path: move related function to path
 + object-name: move related functions to object-name
 + credential-store: move related functions to credential-store file
 + abspath: move related functions to abspath
 + strbuf: clarify API boundary

 Move functions that are not about pure string manipulation out of
 strbuf.[ch]

 Will cook in 'next'.
 source: <20230512171429.2202982-1-calvinwan@google.com>


* tl/notes-separator (2023-04-28) 6 commits
  (merged to 'next' on 2023-05-06 at 598ed19c9b)
 + notes.c: introduce "--[no-]stripspace" option
 + notes.c: append separator instead of insert by pos
 + notes.c: introduce '--separator=<paragraph-break>' option
 + t3321: add test cases about the notes stripspace behavior
 + notes.c: use designated initializers for clarity
 + notes.c: cleanup 'strbuf_grow' call in 'append_edit'

 'git notes append' was taught '--separator' to specify string to insert
 between paragraphs.

 On hold.
 source: <cover.1682671758.git.dyroneteng@gmail.com>


* pw/rebase-i-after-failure (2023-04-21) 6 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase: fix rewritten list for failed pick
 - rebase --continue: refuse to commit after failed command
 - sequencer: factor out part of pick_commits()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Expecting a reroll.
 cf. <xmqqsfcthrpb.fsf@gitster.g>
 cf. <1fd54422-b66a-c2e4-7cd7-934ea01190ad@gmail.com>
 source: <pull.1492.v2.git.1682089074.gitgitgadget@gmail.com>


* tb/pack-bitmap-traversal-with-boundary (2023-05-08) 3 commits
 - pack-bitmap.c: use commit boundary during bitmap traversal
 - pack-bitmap.c: extract `fill_in_bitmap()`
 - object: add object_array initializer helper function

 The object traversal using reachability bitmap done by
 "pack-object" has been tweaked to take advantage of the fact that
 using "boundary" commits as representative of all the uninteresting
 ones can save quite a lot of object enumeration.
 source: <cover.1683567065.git.me@ttaylorr.com>


* gc/doc-cocci-updates (2023-04-27) 2 commits
  (merged to 'next' on 2023-05-20 at 3fe237c1a8)
 + cocci: codify authoring and reviewing practices
 + cocci: add headings to and reword README

 Update documentation regarding Coccinelle patches.

 Will cook in 'next'.
 source: <pull.1495.v2.git.git.1682634143.gitgitgadget@gmail.com>


* pb/complete-and-document-auto-merge-and-friends (2023-05-23) 6 commits
 - completion: complete AUTO_MERGE
 - Documentation: document AUTO_MERGE
 - git-merge.txt: modernize word choice in "True merge" section
 - completion: complete REVERT_HEAD and BISECT_HEAD
 - revisions.txt: document more special refs
 - revisions.txt: use description list for special refs

 Document more pseudo-refs and teach the command line completion
 machinery to complete AUTO_MERGE.

 Kicked back to 'seen' and replaced.
 Needs review/ack.
 source: <pull.1515.v2.git.1684783741.gitgitgadget@gmail.com>


* mh/credential-password-expiry-libsecret (2023-05-05) 1 commit
  (merged to 'next' on 2023-05-09 at fd898e3756)
 + credential/libsecret: support password_expiry_utc

 The libsecret credential helper learns to handle the password
 expiry time information.

 On hold.
 The database gets littered with entries whose expiration dates only differ.
 cf. <CAGJzqskMwOJkriH6serqdwAVYi+fftEL8ohJd-suP6v+OxB_bg@mail.gmail.com>
 source: <pull.1469.v3.git.git.1683270298313.gitgitgadget@gmail.com>

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

* ed/fsmonitor-inotify (2022-12-13) 6 commits
 . fsmonitor: update doc for Linux
 . fsmonitor: test updates
 . fsmonitor: enable fsmonitor for Linux
 . fsmonitor: implement filesystem change listener for Linux
 . fsmonitor: determine if filesystem is local or remote
 . fsmonitor: prepare to share code between Mac OS and Linux

 Bundled fsmonitor for Linux using inotify API.

 Seems to break asan job at CI when merged to 'seen'.
 cf. <xmqqzg7d8xn2.fsf@gitster.g>
 source: <pull.1352.v5.git.git.1670882286.gitgitgadget@gmail.com>


* my/wildmatch-cleanups (2023-02-27) 5 commits
 . wildmatch: more cleanups after killing uchar
 . wildmatch: use char instead of uchar
 . wildmatch: remove NEGATE_CLASS(2) macros with trivial refactoring
 . wildmatch: remove IS*() macros
 . git-compat-util: add isblank() and isgraph()

 Code clean-up.

 Discarded without prejudice after more than 6 weeks of inactivity.
 source: <20230226115021.1681834-1-masahiroy@kernel.org>


* cw/forbid-use-of-gitlink-outside-submodules (2023-02-28) 6 commits
 . add: reject nested repositories
 . tests: remove duplicate .gitmodules path
 . tests: use `git submodule add` and fix expected status
 . tests: use `git submodule add` and fix expected diffs
 . tests: Use `git submodule add` instead of `git add`
 . t4041, t4060: modernize test style

 Forbid "git add dir" from adding a gitlink to the index.

 Discarded without prejudice after more than 6 weeks of inactivity.
 source: <20230228185253.2356546-1-calvinwan@google.com>


* nw/for-each-ref-signature (2023-03-13) 1 commit
 . ref-filter: add new "signature" atom

 "git (for-each-ref|branch|tag) --format=<format>" learns the "%(signature)"
 placeholder and friends.

 Breaks CI.
 cf. <xmqqpm9bosjw.fsf@gitster.g>
 source: <20230311210607.64927-2-nsengiyumvawilberforce@gmail.com>


* fc/asciidoc-code-block-hack (2023-05-04) 2 commits
 . doc: manpage: remove ancient workaround
 . doc: git-svn: use listing instead of verse

 Documentation toolchain lost an ancient workaround that is no
 longer needed.

 The contributor is no longer with the project.
 source: <20230504035517.329765-1-felipe.contreras@gmail.com>


* fc/doc-revisions-markup-fix (2023-05-04) 2 commits
 . doc: revisions: add a bunch of missing quotes
 . doc: revisions: fix missing escape

 Doc cleanup.

 The contributor is no longer with the project.
 source: <20230504163421.100400-1-felipe.contreras@gmail.com>

^ permalink raw reply	[relevance 22%]

* What's cooking in git.git (May 2023, #07; Tue, 23)
@ 2023-05-23 13:18 23% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-05-23 13:18 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a future
release).  Commits prefixed with '-' are only in 'seen', and aren't
considered "accepted" at all and may be annotated with an URL to a
message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity.

Git 2.41-rc1 has been tagged.  Thanks for catching and fixing a few
regressions that escaped to the 'master' front so quickly, everybody.

Starting next week, until early June, my availability may be
sporadic, but this time I won't be completely away from the keyboard
to require an interrim maintainer.

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]

* jc/test-modernization-2 (2023-05-23) 10 commits
 - t9400-git-cvsserver-server: modernize test format
 - t9200-git-cvsexportcommit: modernize test format
 - t9104-git-svn-follow-parent: modernize test format
 - t9100-git-svn-basic: modernize test format
 - t7700-repack: modernize test format
 - t7600-merge: modernize test format
 - t7508-status: modernize test format
 - t7201-co: modernize test format
 - t7111-reset-table: modernize test format
 - t7110-reset-merge: modernize test format
 (this branch uses jc/test-modernization.)

 Test style updates.

 source: <pull.1514.git.git.1684599239.gitgitgadget@gmail.com>


* jt/path-filter-fix (2023-05-23) 2 commits
 - commit-graph: fix murmur3, bump filter ver. to 2
 - t4216: test wrong bloom filter version rejection

 The Bloom filter used for path limited history traversal was broken
 on systems whose "char" is unsigned; update the implementation and
 bump the format version to 2.

 Needs review.
 source: <cover.1684790529.git.jonathantanmy@google.com>


* tk/cherry-pick-sequence-requires-clean-worktree (2023-05-23) 1 commit
 - cherry-pick: refuse cherry-pick sequence if index is dirty

 "git cherry-pick A" that replays a single commit stopped before
 clobbering local modification, but "git cherry-pick A..B" did not,
 which has been corrected.

 Needs review.
 source: <pull.1535.git.1684830767336.gitgitgadget@gmail.com>

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

* ed/fsmonitor-windows-named-pipe (2023-03-24) 1 commit
 - fsmonitor: handle differences between Windows named pipe functions

 Fix fsmonitor on Windows when the filesystem path contains certain
 characters.

 Expecting a reroll.
 cf. <b9cf67e4-22a7-2ff0-8310-9223bea10d6d@jeffhostetler.com>
 source: <pull.1503.git.1679678090412.gitgitgadget@gmail.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
 - diff-index: enable sparse index

 "git diff-index" command has been taught to work better with the
 sparse index.

 Expecting a reroll.
 cf. <62821012-4fc3-5ad8-695c-70f7ab14a8c9@github.com>
 source: <20230408112342.404318-1-nanth.raghul@gmail.com>


* es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
 - usage: clarify --recurse-submodules as a boolean

 The "--[no-]recurse-submodules" option of "git checkout" and others
 supported an undocumented syntax --recurse-submodules=<value> where
 the value can spell a Boolean in various ways.  The support for the
 syntax is being dropped.

 Expecting a reroll.
 cf. <ZDSTFwMFO7vbj/du@google.com>
 source: <ZDSTFwMFO7vbj/du@google.com>


* tb/pack-bitmap-index-seek (2023-03-20) 6 commits
 - pack-bitmap.c: factor out `bitmap_index_seek_commit()`
 - pack-bitmap.c: use `bitmap_index_seek()` where possible
 - pack-bitmap.c: factor out manual `map_pos` manipulation
 - pack-bitmap.c: drop unnecessary 'inline's
 - pack-bitmap.c: hide bitmap internals in `read_be32()`
 - pack-bitmap.c: hide bitmap internals in `read_u8()`

 Clean-up the pack-bitmap codepath.

 Kicked back to 'seen' out of 'next'.
 There is a BUG() on data errors that needs to be fixed.
 source: <cover.1679342296.git.me@ttaylorr.com>


* cb/checkout-same-branch-twice (2023-03-22) 2 commits
 - SQUASH??? the test marked to expect failure passes from day one
 - checkout/switch: disallow checking out same branch in multiple worktrees

 "git checkout -B $branch" failed to protect against checking out
 a branch that is checked out elsewhere, unlike "git branch -f" did.

 Expecting a hopefully minor and final reroll.
 cf. <CAPUEspj_Bh+LgYLnWfeBdcq_uV5Cbou-7H51GLFjzSa5Qzby9w@mail.gmail.com>
 source: <20230120113553.24655-1-carenas@gmail.com>


* tk/pull-conflict-suggest-rebase-merge-not-rebase-true (2023-02-13) 1 commit
 - pull: conflict hint pull.rebase suggestion should offer "merges" vs "true"

 In an advice message after failed non-ff pull, we used to suggest
 setting pull.rebase=true, but these days pull.rebase=merges may be
 more inline with the original spirit of "rebuild your side on top
 of theirs".

 May want to discard.
 This is too much of a departure from the existing practice.
 cf. <CAMMLpeTPEoKVTbfc17w+Y9qn7jOGmQi_Ux0Y3sFW5QTgGWJ=SA@mail.gmail.com>
 cf. <CABPp-BGqAxKnxDRVN4cYMteLp33hvto07R3=TJBT5WubJT4+Og@mail.gmail.com>
 source: <pull.1474.git.1675614276549.gitgitgadget@gmail.com>


* ab/tag-object-type-errors (2023-05-10) 4 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.
 source: <cover-v2-0.3-00000000000-20221230T011725Z-avarab@gmail.com>


* ad/test-record-count-when-harness-is-in-use (2022-12-25) 1 commit
 - test-lib: allow storing counts with test harnesses

 Allow summary results from tests to be written to t/test-results
 directory even when a test harness like 'prove' is in use.

 Expecting a reroll.
 cf. <CABPp-BGoPuGCZw+9wCgdYyRR4Zf4y9Kun27GrQhtMdYWpOUsYQ@mail.gmail.com>
 source: <20221224225200.1027806-1-adam@dinwoodie.org>


* so/diff-merges-more (2022-12-18) 5 commits
 - diff-merges: improve --diff-merges documentation
 - diff-merges: issue warning on lone '-m' option
 - diff-merges: support list of values for --diff-merges
 - diff-merges: implement log.diffMerges-m-imply-p config
 - diff-merges: implement [no-]hide option and log.diffMergesHide config

 Assorted updates to "--diff-merges=X" option.

 May want to discard.
 Breaking compatibility does not seem worth it.
 source: <20221217132955.108542-1-sorganov@gmail.com>


* ab/imap-send-requires-curl (2023-02-02) 6 commits
 - imap-send: correctly report "host" when using "tunnel"
 - imap-send: remove old --no-curl codepath
 - imap-send: make --curl no-optional
 - imap-send: replace auto-probe libcurl with hard dependency
 - imap-send doc: the imap.sslVerify is used with imap.tunnel
 - imap-send: note "auth_method", not "host" on auth method failure

 Give a hard dependency on cURL library to build "git imap-send",
 and remove the code to interact with IMAP server without using cURL.

 Expecting a reroll.
 The 'tunnel' part is still iffy.
 cf. <230203.86bkmabfjr.gmgdl@evledraar.gmail.com>
 source: <cover-v2-0.6-00000000000-20230202T093706Z-avarab@gmail.com>


* cw/submodule-status-in-parallel (2023-03-02) 6 commits
 - diff-lib: parallelize run_diff_files for submodules
 - diff-lib: refactor out diff_change logic
 - submodule: refactor is_submodule_modified()
 - submodule: move status parsing into function
 - submodule: rename strbuf variable
 - run-command: add on_stderr_output_fn to run_processes_parallel_opts

 "git submodule status" learned to run the comparison in submodule
 repositories in parallel.

 Expecting a reroll.
 cf. <CAFySSZDk05m6gU5-V1R+y3YnQ5PPduVW54+_gjBwD0rmacsLsw@mail.gmail.com>
 cf. <230307.865ybc273g.gmgdl@evledraar.gmail.com>
 source: <20230302215237.1473444-1-calvinwan@google.com>

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

* mh/credential-libsecret-attrs (2023-05-17) 1 commit
 - credential/libsecret: store new attributes

 The way authentication related data other than passwords (e.g.
 oath token and password expiration data) are stored in libsecret
 keyrings has been rethought.

 Needs review.
 source: <pull.1469.v4.git.git.1684306540947.gitgitgadget@gmail.com>


* ps/fetch-cleanups (2023-05-17) 9 commits
 - fetch: use `fetch_config` to store "submodule.fetchJobs" value
 - fetch: use `fetch_config` to store "fetch.parallel" value
 - fetch: use `fetch_config` to store "fetch.recurseSubmodules" value
 - fetch: use `fetch_config` to store "fetch.showForcedUpdates" value
 - fetch: use `fetch_config` to store "fetch.pruneTags" value
 - fetch: use `fetch_config` to store "fetch.prune" value
 - fetch: pass through `fetch_config` directly
 - fetch: drop unneeded NULL-check for `remote_ref`
 - fetch: drop unused DISPLAY_FORMAT_UNKNOWN enum value

 Code clean-up.

 Needs review.
 source: <cover.1684324059.git.ps@pks.im>


* sl/diff-tree-sparse (2023-05-18) 1 commit
 - diff-tree: integrate with sparse index

 "git diff-tree" has been taught to take advantage of the
 sparse-index feature.

 Will merge to 'next'.
 cf. <2a2b7223-bb5d-65f9-95bb-9be45d329c87@github.com>
 source: <20230518154454.475487-1-cheskaqiqi@gmail.com>


* jk/format-patch-message-id-unleak (2023-05-19) 2 commits
  (merged to 'next' on 2023-05-23 at 44b9e1ab91)
 + format-patch: free elements of rev.ref_message_ids list
 + format-patch: free rev.message_id when exiting

 Leakfix.

 Will cook in 'next'.
 source: <20230519000239.GA1975039@coredump.intra.peff.net>


* jc/test-modernization (2023-05-19) 20 commits
 - t7101-reset-empty-subdirs: modernize test format
 - t6050-replace: modernize test format
 - t5306-pack-nobase: modernize test format
 - t5303-pack-corruption-resilience: modernize test format
 - t5301-sliding-window: modernize test format
 - t5300-pack-object: modernize test format
 - t4206-log-follow-harder-copies: modernize test format
 - t4202-log: modernize test format
 - t4004-diff-rename-symlink: modernize test format
 - t4003-diff-rename-1: modernize test format
 - t4002-diff-basic: modernize test format
 - t3903-stash: modernize test format
 - t3700-add: modernize test format
 - t3500-cherry: modernize test format
 - t1006-cat-file: modernize test format
 - t1002-read-tree-m-u-2way: modernize test format
 - t1001-read-tree-m-2way: modernize test format
 - t3210-pack-refs: modernize test format
 - t0030-stripspace: modernize test format
 - t0000-basic: modernize test format
 (this branch is used by jc/test-modernization-2.)

 source: <pull.1513.git.git.1684440205.gitgitgadget@gmail.com>


* ja/worktree-orphan (2023-05-17) 8 commits
 - worktree add: emit warn when there is a bad HEAD
 - worktree add: extend DWIM to infer --orphan
 - worktree add: introduce "try --orphan" hint
 - worktree add: add --orphan flag
 - t2400: add tests to verify --quiet
 - t2400: refactor "worktree add" opt exclusion tests
 - t2400: cleanup created worktree in test
 - worktree add: include -B in usage docs

 'git worktree add' learned how to create a worktree based on an
 orphaned branch with `--orphan`.
 source: <20230517214711.12467-1-jacobabel@nullpo.dev>


* kh/keep-tag-editmsg-upon-failure (2023-05-16) 3 commits
  (merged to 'next' on 2023-05-19 at fc0fe3173d)
 + tag: keep the message file in case ref transaction fails
 + t/t7004-tag: add regression test for successful tag creation
 + doc: tag: document `TAG_EDITMSG`

 "git tag" learned to leave the "$GIT_DIR/TAG_EDITMSG" file when the
 command failed, so that the user can salvage what they typed.

 Will cook in 'next'.
 source: <cover.1684258780.git.code@khaugsbakk.name>


* sa/doc-ls-remote (2023-05-19) 6 commits
  (merged to 'next' on 2023-05-20 at d577bf75a0)
 + ls-remote doc: document the output format
 + ls-remote doc: explain what each example does
 + ls-remote doc: show peeled tags in examples
 + ls-remote doc: remove redundant --tags example
 + show-branch doc: say <ref>, not <reference>
 + show-ref doc: update for internal consistency

 Doc update.

 Will cook in 'next'.
 source: <pull.1471.v4.git.git.1684469874.gitgitgadget@gmail.com>


* tb/refs-exclusion-and-packed-refs (2023-05-15) 16 commits
 - ls-refs.c: avoid enumerating hidden refs where possible
 - upload-pack.c: avoid enumerating hidden refs where possible
 - builtin/receive-pack.c: avoid enumerating hidden references
 - refs.h: let `for_each_namespaced_ref()` take excluded patterns
 - refs/packed-backend.c: ignore complicated hidden refs rules
 - revision.h: store hidden refs in a `strvec`
 - refs/packed-backend.c: add trace2 counters for jump list
 - refs/packed-backend.c: implement jump lists to avoid excluded pattern(s)
 - refs/packed-backend.c: refactor `find_reference_location()`
 - refs: plumb `exclude_patterns` argument throughout
 - builtin/for-each-ref.c: add `--exclude` option
 - ref-filter.c: parameterize match functions over patterns
 - ref-filter: add `ref_filter_clear()`
 - ref-filter: clear reachable list pointers after freeing
 - ref-filter.h: provide `REF_FILTER_INIT`
 - refs.c: rename `ref_filter`

 Enumerating refs in the packed-refs file, while excluding refs that
 match certain patterns, has been optimized.

 Will merge to 'next'?
 source: <cover.1684178576.git.me@ttaylorr.com>


* zh/ls-files-format-atoms (2023-05-23) 1 commit
 - ls-files: aligin format atoms wtih ls-tree

 Some atoms that can be used in "--format=<format>" for "git ls-tree"
 were not supported by "git ls-files", even though they were relevant
 in the context of the latter.

 Will merge to 'next'.
 source: <pull.1533.v2.git.1684832418299.gitgitgadget@gmail.com>


* tc/cat-file-z-use-cquote (2023-05-10) 1 commit
 - cat-file: quote-format name in error when using -z

 "cat-file" in the batch mode that is fed NUL-terminated pathnames
 learned to cquote them in its error output (otherwise, a funny
 pathname with LF in it would break the lines in the output stream).

 Redesign.
 source: <20230510190116.795641-2-toon@iotcl.com>


* en/header-split-cache-h-part-3 (2023-05-16) 29 commits
 - fsmonitor-ll.h: split this header out of fsmonitor.h
 - hash-ll, hashmap: move oidhash() to hash-ll
 - object-store-ll.h: split this header out of object-store.h
 - khash: name the structs that khash declares
 - merge-ll: rename from ll-merge
 - git-compat-util.h: remove unneccessary include of wildmatch.h
 - builtin.h: remove unneccessary includes
 - list-objects-filter-options.h: remove unneccessary include
 - diff.h: remove unnecessary include of oidset.h
 - repository: remove unnecessary include of path.h
 - log-tree: replace include of revision.h with simple forward declaration
 - cache.h: remove this no-longer-used header
 - read-cache*.h: move declarations for read-cache.c functions from cache.h
 - repository.h: move declaration of the_index from cache.h
 - merge.h: move declarations for merge.c from cache.h
 - diff.h: move declaration for global in diff.c from cache.h
 - preload-index.h: move declarations for preload-index.c from elsewhere
 - sparse-index.h: move declarations for sparse-index.c from cache.h
 - name-hash.h: move declarations for name-hash.c from cache.h
 - run-command.h: move declarations for run-command.c from cache.h
 - statinfo: move stat_{data,validity} functions from cache/read-cache
 - read-cache: move shared add/checkout/commit code
 - add: modify add_files_to_cache() to avoid globals
 - read-cache: move shared commit and ls-files code
 - setup: adopt shared init-db & clone code
 - init-db, clone: change unnecessary global into passed parameter
 - init-db: remove unnecessary global variable
 - init-db: document existing bug with core.bare in template config
 - Merge branch 'en/header-split-cache-h-part-2' into en/header-split-cache-h-part-3

 Header files cleanup.
 source: <pull.1525.v3.git.1684218848.gitgitgadget@gmail.com>


* la/doc-interpret-trailers (2023-05-11) 9 commits
 - doc: trailer: add more examples in DESCRIPTION
 - doc: trailer: mention 'key' in DESCRIPTION
 - doc: trailer.<token>.command: emphasize deprecation
 - doc: trailer: use angle brackets for <token> and <value>
 - doc: trailer: remove redundant phrasing
 - doc: trailer: examples: avoid the word "message" by itself
 - doc: trailer: drop "commit message part" phrasing
 - doc: trailer: swap verb order
 - doc: trailer: fix grammar

 Doc update.

 On hold. Looking good.
 Want to be rebased once kh/doc-interpret-trailers-updates lands.
 source: <pull.1506.v2.git.git.1683839975.gitgitgadget@gmail.com>


* cc/git-replay (2023-05-09) 16 commits
 - SQUASH???
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 source: <20230509175347.1714141-1-christian.couder@gmail.com>


* jc/pack-ref-exclude-include (2023-05-12) 3 commits
  (merged to 'next' on 2023-05-23 at 37333a2d00)
 + pack-refs: teach pack-refs --include option
 + pack-refs: teach --exclude option to exclude refs from being packed
 + docs: clarify git-pack-refs --all will pack all refs

 "git pack-refs" learns "--include" and "--exclude" to tweak the ref
 hierarchy to be packed using pattern matching.

 Will cook in 'next'.
 source: <pull.1501.v4.git.git.1683927282.gitgitgadget@gmail.com>


* tb/gc-recent-object-hook (2023-05-15) 2 commits
 - gc: introduce `gc.recentObjectsHook`
 - reachable.c: extract `obj_is_recent()`

 "git pack-objects" learned to invoke a new hook program that
 enumerates extra objects to be used as anchoring points to keep
 otherwise unreachable objects in cruft packs.
 source: <cover.1684196634.git.me@ttaylorr.com>


* jc/diff-s-with-other-options (2023-05-05) 1 commit
  (merged to 'next' on 2023-05-20 at dda3826a68)
 + diff: fix interaction between the "-s" option and other options

 The "-s" (silent, squelch) option of the "diff" family of commands
 did not interact with other options that specify the output format
 well.  This has been cleaned up so that it will clear all the
 formatting options given before.

 Will cook in 'next'.
 source: <20230505165952.335256-1-gitster@pobox.com>


* ob/revert-of-revert (2023-05-05) 1 commit
 - sequencer: beautify subject of reverts of reverts

 Instead of "Revert "Revert "original"", give "Reapply "original""
 as the title for a revert of a revert.

 Expecting a hopefully final reroll.
 Looking much better, except for minor cosmetic issues.
 source: <20230428083528.1699221-1-oswald.buddenhagen@gmx.de>


* cw/strbuf-cleanup (2023-05-12) 7 commits
  (merged to 'next' on 2023-05-15 at 31d08296f2)
 + strbuf: remove global variable
 + strbuf: clarify dependency
 + path: move related function to path
 + object-name: move related functions to object-name
 + credential-store: move related functions to credential-store file
 + abspath: move related functions to abspath
 + strbuf: clarify API boundary

 Move functions that are not about pure string manipulation out of
 strbuf.[ch]

 Will cook in 'next'.
 source: <20230512171429.2202982-1-calvinwan@google.com>


* tl/notes-separator (2023-04-28) 6 commits
  (merged to 'next' on 2023-05-06 at 598ed19c9b)
 + notes.c: introduce "--[no-]stripspace" option
 + notes.c: append separator instead of insert by pos
 + notes.c: introduce '--separator=<paragraph-break>' option
 + t3321: add test cases about the notes stripspace behavior
 + notes.c: use designated initializers for clarity
 + notes.c: cleanup 'strbuf_grow' call in 'append_edit'

 'git notes append' was taught '--separator' to specify string to insert
 between paragraphs.

 On hold.
 source: <cover.1682671758.git.dyroneteng@gmail.com>


* pw/rebase-i-after-failure (2023-04-21) 6 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase: fix rewritten list for failed pick
 - rebase --continue: refuse to commit after failed command
 - sequencer: factor out part of pick_commits()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Expecting a reroll.
 cf. <xmqqsfcthrpb.fsf@gitster.g>
 cf. <1fd54422-b66a-c2e4-7cd7-934ea01190ad@gmail.com>
 source: <pull.1492.v2.git.1682089074.gitgitgadget@gmail.com>


* sl/sparse-write-tree-part-2 (2023-05-08) 1 commit
  (merged to 'next' on 2023-05-23 at 317fd52454)
 + t1092: update a write-tree test

 Fix-up to a topic already graduated to 'master'.

 Will merge to 'master'.
 source: <20230508202140.464363-1-cheskaqiqi@gmail.com>


* tb/pack-bitmap-traversal-with-boundary (2023-05-08) 3 commits
 - pack-bitmap.c: use commit boundary during bitmap traversal
 - pack-bitmap.c: extract `fill_in_bitmap()`
 - object: add object_array initializer helper function

 The object traversal using reachability bitmap done by
 "pack-object" has been tweaked to take advantage of the fact that
 using "boundary" commits as representative of all the uninteresting
 ones can save quite a lot of object enumeration.
 source: <cover.1683567065.git.me@ttaylorr.com>


* gc/doc-cocci-updates (2023-04-27) 2 commits
  (merged to 'next' on 2023-05-20 at 3fe237c1a8)
 + cocci: codify authoring and reviewing practices
 + cocci: add headings to and reword README

 Update documentation regarding Coccinelle patches.

 Will cook in 'next'.
 source: <pull.1495.v2.git.git.1682634143.gitgitgadget@gmail.com>


* pb/complete-and-document-auto-merge-and-friends (2023-05-23) 6 commits
 - completion: complete AUTO_MERGE
 - Documentation: document AUTO_MERGE
 - git-merge.txt: modernize word choice in "True merge" section
 - completion: complete REVERT_HEAD and BISECT_HEAD
 - revisions.txt: document more special refs
 - revisions.txt: use description list for special refs

 Document more pseudo-refs and teach the command line completion
 machinery to complete AUTO_MERGE.

 Kicked back to 'seen' and replaced.
 Needs review/ack.
 source: <pull.1515.v2.git.1684783741.gitgitgadget@gmail.com>


* mh/credential-password-expiry-libsecret (2023-05-05) 1 commit
  (merged to 'next' on 2023-05-09 at fd898e3756)
 + credential/libsecret: support password_expiry_utc

 The libsecret credential helper learns to handle the password
 expiry time information.

 On hold.
 The database gets littered with entries whose expiration dates only differ.
 cf. <CAGJzqskMwOJkriH6serqdwAVYi+fftEL8ohJd-suP6v+OxB_bg@mail.gmail.com>
 source: <pull.1469.v3.git.git.1683270298313.gitgitgadget@gmail.com>

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

* ed/fsmonitor-inotify (2022-12-13) 6 commits
 . fsmonitor: update doc for Linux
 . fsmonitor: test updates
 . fsmonitor: enable fsmonitor for Linux
 . fsmonitor: implement filesystem change listener for Linux
 . fsmonitor: determine if filesystem is local or remote
 . fsmonitor: prepare to share code between Mac OS and Linux

 Bundled fsmonitor for Linux using inotify API.

 Seems to break asan job at CI when merged to 'seen'.
 cf. <xmqqzg7d8xn2.fsf@gitster.g>
 source: <pull.1352.v5.git.git.1670882286.gitgitgadget@gmail.com>


* my/wildmatch-cleanups (2023-02-27) 5 commits
 . wildmatch: more cleanups after killing uchar
 . wildmatch: use char instead of uchar
 . wildmatch: remove NEGATE_CLASS(2) macros with trivial refactoring
 . wildmatch: remove IS*() macros
 . git-compat-util: add isblank() and isgraph()

 Code clean-up.

 Discarded without prejudice after more than 6 weeks of inactivity.
 source: <20230226115021.1681834-1-masahiroy@kernel.org>


* cw/forbid-use-of-gitlink-outside-submodules (2023-02-28) 6 commits
 . add: reject nested repositories
 . tests: remove duplicate .gitmodules path
 . tests: use `git submodule add` and fix expected status
 . tests: use `git submodule add` and fix expected diffs
 . tests: Use `git submodule add` instead of `git add`
 . t4041, t4060: modernize test style

 Forbid "git add dir" from adding a gitlink to the index.

 Discarded without prejudice after more than 6 weeks of inactivity.
 source: <20230228185253.2356546-1-calvinwan@google.com>


* nw/for-each-ref-signature (2023-03-13) 1 commit
 . ref-filter: add new "signature" atom

 "git (for-each-ref|branch|tag) --format=<format>" learns the "%(signature)"
 placeholder and friends.

 Breaks CI.
 cf. <xmqqpm9bosjw.fsf@gitster.g>
 source: <20230311210607.64927-2-nsengiyumvawilberforce@gmail.com>


* fc/asciidoc-code-block-hack (2023-05-04) 2 commits
 . doc: manpage: remove ancient workaround
 . doc: git-svn: use listing instead of verse

 Documentation toolchain lost an ancient workaround that is no
 longer needed.

 The contributor is no longer with the project.
 source: <20230504035517.329765-1-felipe.contreras@gmail.com>


* fc/doc-revisions-markup-fix (2023-05-04) 2 commits
 . doc: revisions: add a bunch of missing quotes
 . doc: revisions: fix missing escape

 Doc cleanup.

 The contributor is no longer with the project.
 source: <20230504163421.100400-1-felipe.contreras@gmail.com>

^ permalink raw reply	[relevance 23%]

* What's cooking in git.git (May 2023, #06; Fri, 19)
@ 2023-05-20  0:08 22% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-05-20  0:08 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a future
release).  Commits prefixed with '-' are only in 'seen', and aren't
considered "accepted" at all and may be annotated with an URL to a
message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity.

Git 2.41-rc1 has been tagged.  Thanks for catching and fixing a few
regressions that escaped to the 'master' front so quickly, everybody.

Starting next week, until early June, my availability may be
sporadic, but this time I won't be completely away from the keyboard
to require an interrim maintainer.

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']

* bc/clone-empty-repo-via-protocol-v0 (2023-05-17) 1 commit
  (merged to 'next' on 2023-05-17 at d320de7ee9)
 + upload-pack: advertise capabilities when cloning empty repos

 The server side of "git clone" now advertises the necessary hints
 to clients to help them to clone from an empty repository and learn
 object hash algorithm and the (unborn) branch pointed at by HEAD,
 even over the older v0/v1 protocol.
 source: <20230517192443.1149190-2-sandals@crustytoothpaste.net>


* cg/doc-http-lowspeed-limit (2023-05-14) 1 commit
  (merged to 'next' on 2023-05-19 at 5b48044bf5)
 + doc/git-config: add unit for http.lowSpeedLimit

 Doc update.
 source: <pull.1507.git.git.1683970203084.gitgitgadget@gmail.com>


* jc/attr-source-tree (2023-05-06) 1 commit
  (merged to 'next' on 2023-05-10 at cb94f4fba6)
 + attr: teach "--attr-source=<tree>" global option to "git"

 "git --attr-source=<tree> cmd $args" is a new way to have any
 command to read attributes not from the working tree but from the
 given tree object.
 source: <pull.1470.v6.git.git.1683346530487.gitgitgadget@gmail.com>


* jc/do-not-negate-test-helpers (2023-05-16) 3 commits
  (merged to 'next' on 2023-05-19 at 9c0221a2db)
 + test: do not negate test_path_is_* to assert absense
 + t2021: do not negate test_path_is_dir
 + tests: do not negate test_path_exists

 Small fixes.
 source: <20230516022646.648123-1-gitster@pobox.com>


* jc/send-email-pre-process-fix (2023-05-17) 2 commits
  (merged to 'next' on 2023-05-18 at 38a2de93b3)
 + t9001: mark the script as no longer leak checker clean
  (merged to 'next' on 2023-05-17 at fa1900a383)
 + send-email: clear the $message_id after validation

 When "git send-email" that uses the validate hook is fed a message
 without and then with Message-ID, it failed to auto-assign a unique
 Message-ID to the former and instead reused the Message-ID from the
 latter, which has been corrected.  This was a fix for a recent
 regression caught before the release, so no need to mention it in
 the release notes.
 source: <xmqqzg62oe9c.fsf@gitster.g>


* jk/http-test-cgipassauth-unavailable-in-older-apache (2023-05-18) 1 commit
  (merged to 'next' on 2023-05-18 at 3f132b7071)
 + t/lib-httpd: make CGIPassAuth support conditional

 We started unconditionally testing with CGIPassAuth directive but
 it is unavailable in older Apache that ships with CentOS 7 that has
 about a year of shelf-life still left.  The test has conditionally
 been disabled when running with an ancient Apache.  This was a fix
 for a recent regression caught before the release, so no need to
 mention it in the release notes.
 source: <20230518192102.GA1514485@coredump.intra.peff.net>


* js/rebase-count-fixes (2023-05-14) 2 commits
  (merged to 'next' on 2023-05-19 at 6503a9a17b)
 + rebase -r: fix the total number shown in the progress
 + rebase --update-refs: fix loops

 A few bugs in the sequencer machinery that results in miscounting
 the steps have been corrected.
 source: <pull.1531.v2.git.1683965487.gitgitgadget@gmail.com>


* tb/run-command-needs-alloc-h (2023-05-16) 1 commit
  (merged to 'next' on 2023-05-16 at b87f41e99e)
 + run-command.c: fix missing include under `NO_PTHREADS`

 Fix the build problem with NO_PTHREADS defined, a fallout from
 recent header file shuffling.
 source: <ZGP2tw0USsj9oecZ@nand.local>

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

* mh/credential-libsecret-attrs (2023-05-17) 1 commit
 - credential/libsecret: store new attributes

 The way authentication related data other than passwords (e.g.
 oath token and password expiration data) are stored in libsecret
 keyrings has been rethought.

 Needs review.
 source: <pull.1469.v4.git.git.1684306540947.gitgitgadget@gmail.com>


* ps/fetch-cleanups (2023-05-17) 9 commits
 - fetch: use `fetch_config` to store "submodule.fetchJobs" value
 - fetch: use `fetch_config` to store "fetch.parallel" value
 - fetch: use `fetch_config` to store "fetch.recurseSubmodules" value
 - fetch: use `fetch_config` to store "fetch.showForcedUpdates" value
 - fetch: use `fetch_config` to store "fetch.pruneTags" value
 - fetch: use `fetch_config` to store "fetch.prune" value
 - fetch: pass through `fetch_config` directly
 - fetch: drop unneeded NULL-check for `remote_ref`
 - fetch: drop unused DISPLAY_FORMAT_UNKNOWN enum value

 Code clean-up.

 Needs review.
 source: <cover.1684324059.git.ps@pks.im>


* sl/diff-tree-sparse (2023-05-18) 1 commit
 - diff-tree: integrate with sparse index

 "git diff-tree" has been taught to take advantage of the
 sparse-index feature.

 Comments?
 source: <20230518154454.475487-1-cheskaqiqi@gmail.com>


* jk/format-patch-message-id-unleak (2023-05-19) 2 commits
 - format-patch: free elements of rev.ref_message_ids list
 - format-patch: free rev.message_id when exiting

 Leakfix.

 Will merge to 'next'.
 source: <20230519000239.GA1975039@coredump.intra.peff.net>


* jc/test-modernization (2023-05-19) 20 commits
 - t7101-reset-empty-subdirs: modernize test format
 - t6050-replace: modernize test format
 - t5306-pack-nobase: modernize test format
 - t5303-pack-corruption-resilience: modernize test format
 - t5301-sliding-window: modernize test format
 - t5300-pack-object: modernize test format
 - t4206-log-follow-harder-copies: modernize test format
 - t4202-log: modernize test format
 - t4004-diff-rename-symlink: modernize test format
 - t4003-diff-rename-1: modernize test format
 - t4002-diff-basic: modernize test format
 - t3903-stash: modernize test format
 - t3700-add: modernize test format
 - t3500-cherry: modernize test format
 - t1006-cat-file: modernize test format
 - t1002-read-tree-m-u-2way: modernize test format
 - t1001-read-tree-m-2way: modernize test format
 - t3210-pack-refs: modernize test format
 - t0030-stripspace: modernize test format
 - t0000-basic: modernize test format

 source: <pull.1513.git.git.1684440205.gitgitgadget@gmail.com>

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

* ed/fsmonitor-windows-named-pipe (2023-03-24) 1 commit
 - fsmonitor: handle differences between Windows named pipe functions

 Fix fsmonitor on Windows when the filesystem path contains certain
 characters.

 Expecting a reroll.
 cf. <b9cf67e4-22a7-2ff0-8310-9223bea10d6d@jeffhostetler.com>
 source: <pull.1503.git.1679678090412.gitgitgadget@gmail.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
 - diff-index: enable sparse index

 "git diff-index" command has been taught to work better with the
 sparse index.

 Expecting a reroll.
 cf. <62821012-4fc3-5ad8-695c-70f7ab14a8c9@github.com>
 source: <20230408112342.404318-1-nanth.raghul@gmail.com>


* es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
 - usage: clarify --recurse-submodules as a boolean

 The "--[no-]recurse-submodules" option of "git checkout" and others
 supported an undocumented syntax --recurse-submodules=<value> where
 the value can spell a Boolean in various ways.  The support for the
 syntax is being dropped.

 Expecting a reroll.
 cf. <ZDSTFwMFO7vbj/du@google.com>
 source: <ZDSTFwMFO7vbj/du@google.com>


* tb/pack-bitmap-index-seek (2023-03-20) 6 commits
 - pack-bitmap.c: factor out `bitmap_index_seek_commit()`
 - pack-bitmap.c: use `bitmap_index_seek()` where possible
 - pack-bitmap.c: factor out manual `map_pos` manipulation
 - pack-bitmap.c: drop unnecessary 'inline's
 - pack-bitmap.c: hide bitmap internals in `read_be32()`
 - pack-bitmap.c: hide bitmap internals in `read_u8()`

 Clean-up the pack-bitmap codepath.

 Kicked back to 'seen' out of 'next'.
 There is a BUG() on data errors that needs to be fixed.
 source: <cover.1679342296.git.me@ttaylorr.com>


* cb/checkout-same-branch-twice (2023-03-22) 2 commits
 - SQUASH??? the test marked to expect failure passes from day one
 - checkout/switch: disallow checking out same branch in multiple worktrees

 "git checkout -B $branch" failed to protect against checking out
 a branch that is checked out elsewhere, unlike "git branch -f" did.

 Expecting a hopefully minor and final reroll.
 cf. <CAPUEspj_Bh+LgYLnWfeBdcq_uV5Cbou-7H51GLFjzSa5Qzby9w@mail.gmail.com>
 source: <20230120113553.24655-1-carenas@gmail.com>


* tk/pull-conflict-suggest-rebase-merge-not-rebase-true (2023-02-13) 1 commit
 - pull: conflict hint pull.rebase suggestion should offer "merges" vs "true"

 In an advice message after failed non-ff pull, we used to suggest
 setting pull.rebase=true, but these days pull.rebase=merges may be
 more inline with the original spirit of "rebuild your side on top
 of theirs".

 May want to discard.
 This is too much of a departure from the existing practice.
 cf. <CAMMLpeTPEoKVTbfc17w+Y9qn7jOGmQi_Ux0Y3sFW5QTgGWJ=SA@mail.gmail.com>
 cf. <CABPp-BGqAxKnxDRVN4cYMteLp33hvto07R3=TJBT5WubJT4+Og@mail.gmail.com>
 source: <pull.1474.git.1675614276549.gitgitgadget@gmail.com>


* ab/tag-object-type-errors (2023-05-10) 4 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.
 source: <cover-v2-0.3-00000000000-20221230T011725Z-avarab@gmail.com>


* ad/test-record-count-when-harness-is-in-use (2022-12-25) 1 commit
 - test-lib: allow storing counts with test harnesses

 Allow summary results from tests to be written to t/test-results
 directory even when a test harness like 'prove' is in use.

 Expecting a reroll.
 cf. <CABPp-BGoPuGCZw+9wCgdYyRR4Zf4y9Kun27GrQhtMdYWpOUsYQ@mail.gmail.com>
 source: <20221224225200.1027806-1-adam@dinwoodie.org>


* so/diff-merges-more (2022-12-18) 5 commits
 - diff-merges: improve --diff-merges documentation
 - diff-merges: issue warning on lone '-m' option
 - diff-merges: support list of values for --diff-merges
 - diff-merges: implement log.diffMerges-m-imply-p config
 - diff-merges: implement [no-]hide option and log.diffMergesHide config

 Assorted updates to "--diff-merges=X" option.

 May want to discard.
 Breaking compatibility does not seem worth it.
 source: <20221217132955.108542-1-sorganov@gmail.com>


* ab/imap-send-requires-curl (2023-02-02) 6 commits
 - imap-send: correctly report "host" when using "tunnel"
 - imap-send: remove old --no-curl codepath
 - imap-send: make --curl no-optional
 - imap-send: replace auto-probe libcurl with hard dependency
 - imap-send doc: the imap.sslVerify is used with imap.tunnel
 - imap-send: note "auth_method", not "host" on auth method failure

 Give a hard dependency on cURL library to build "git imap-send",
 and remove the code to interact with IMAP server without using cURL.

 Expecting a reroll.
 The 'tunnel' part is still iffy.
 cf. <230203.86bkmabfjr.gmgdl@evledraar.gmail.com>
 source: <cover-v2-0.6-00000000000-20230202T093706Z-avarab@gmail.com>


* cw/submodule-status-in-parallel (2023-03-02) 6 commits
 - diff-lib: parallelize run_diff_files for submodules
 - diff-lib: refactor out diff_change logic
 - submodule: refactor is_submodule_modified()
 - submodule: move status parsing into function
 - submodule: rename strbuf variable
 - run-command: add on_stderr_output_fn to run_processes_parallel_opts

 "git submodule status" learned to run the comparison in submodule
 repositories in parallel.

 Expecting a reroll.
 cf. <CAFySSZDk05m6gU5-V1R+y3YnQ5PPduVW54+_gjBwD0rmacsLsw@mail.gmail.com>
 cf. <230307.865ybc273g.gmgdl@evledraar.gmail.com>
 source: <20230302215237.1473444-1-calvinwan@google.com>

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

* ja/worktree-orphan (2023-05-17) 8 commits
 - worktree add: emit warn when there is a bad HEAD
 - worktree add: extend DWIM to infer --orphan
 - worktree add: introduce "try --orphan" hint
 - worktree add: add --orphan flag
 - t2400: add tests to verify --quiet
 - t2400: refactor "worktree add" opt exclusion tests
 - t2400: cleanup created worktree in test
 - worktree add: include -B in usage docs

 'git worktree add' learned how to create a worktree based on an
 orphaned branch with `--orphan`.
 source: <20230517214711.12467-1-jacobabel@nullpo.dev>


* kh/keep-tag-editmsg-upon-failure (2023-05-16) 3 commits
  (merged to 'next' on 2023-05-19 at fc0fe3173d)
 + tag: keep the message file in case ref transaction fails
 + t/t7004-tag: add regression test for successful tag creation
 + doc: tag: document `TAG_EDITMSG`

 "git tag" learned to leave the "$GIT_DIR/TAG_EDITMSG" file when the
 command failed, so that the user can salvage what they typed.

 Will cook in 'next'.
 source: <cover.1684258780.git.code@khaugsbakk.name>


* sa/doc-ls-remote (2023-05-19) 6 commits
  (merged to 'next' on 2023-05-20 at d577bf75a0)
 + ls-remote doc: document the output format
 + ls-remote doc: explain what each example does
 + ls-remote doc: show peeled tags in examples
 + ls-remote doc: remove redundant --tags example
 + show-branch doc: say <ref>, not <reference>
 + show-ref doc: update for internal consistency

 Doc update.

 Will cook in 'next'.
 source: <pull.1471.v4.git.git.1684469874.gitgitgadget@gmail.com>


* tb/refs-exclusion-and-packed-refs (2023-05-15) 16 commits
 - ls-refs.c: avoid enumerating hidden refs where possible
 - upload-pack.c: avoid enumerating hidden refs where possible
 - builtin/receive-pack.c: avoid enumerating hidden references
 - refs.h: let `for_each_namespaced_ref()` take excluded patterns
 - refs/packed-backend.c: ignore complicated hidden refs rules
 - revision.h: store hidden refs in a `strvec`
 - refs/packed-backend.c: add trace2 counters for jump list
 - refs/packed-backend.c: implement jump lists to avoid excluded pattern(s)
 - refs/packed-backend.c: refactor `find_reference_location()`
 - refs: plumb `exclude_patterns` argument throughout
 - builtin/for-each-ref.c: add `--exclude` option
 - ref-filter.c: parameterize match functions over patterns
 - ref-filter: add `ref_filter_clear()`
 - ref-filter: clear reachable list pointers after freeing
 - ref-filter.h: provide `REF_FILTER_INIT`
 - refs.c: rename `ref_filter`

 Enumerating refs in the packed-refs file, while excluding refs that
 match certain patterns, has been optimized.

 Will merge to 'next'?
 source: <cover.1684178576.git.me@ttaylorr.com>


* zh/ls-files-format-atoms (2023-05-14) 2 commits
 - ls-files: add %(objectsize) atom to format option
 - ls-files: add %(objecttype) atom to format option

 Some atoms that can be used in "--format=<format>" for "git ls-tree"
 were not supported by "git ls-files", even though they were relevant
 in the context of the latter.
 source: <pull.1533.git.1683969100.gitgitgadget@gmail.com>


* tc/cat-file-z-use-cquote (2023-05-10) 1 commit
 - cat-file: quote-format name in error when using -z

 "cat-file" in the batch mode that is fed NUL-terminated pathnames
 learned to cquote them in its error output (otherwise, a funny
 pathname with LF in it would break the lines in the output stream).

 Redesign.
 source: <20230510190116.795641-2-toon@iotcl.com>


* en/header-split-cache-h-part-3 (2023-05-16) 29 commits
 - fsmonitor-ll.h: split this header out of fsmonitor.h
 - hash-ll, hashmap: move oidhash() to hash-ll
 - object-store-ll.h: split this header out of object-store.h
 - khash: name the structs that khash declares
 - merge-ll: rename from ll-merge
 - git-compat-util.h: remove unneccessary include of wildmatch.h
 - builtin.h: remove unneccessary includes
 - list-objects-filter-options.h: remove unneccessary include
 - diff.h: remove unnecessary include of oidset.h
 - repository: remove unnecessary include of path.h
 - log-tree: replace include of revision.h with simple forward declaration
 - cache.h: remove this no-longer-used header
 - read-cache*.h: move declarations for read-cache.c functions from cache.h
 - repository.h: move declaration of the_index from cache.h
 - merge.h: move declarations for merge.c from cache.h
 - diff.h: move declaration for global in diff.c from cache.h
 - preload-index.h: move declarations for preload-index.c from elsewhere
 - sparse-index.h: move declarations for sparse-index.c from cache.h
 - name-hash.h: move declarations for name-hash.c from cache.h
 - run-command.h: move declarations for run-command.c from cache.h
 - statinfo: move stat_{data,validity} functions from cache/read-cache
 - read-cache: move shared add/checkout/commit code
 - add: modify add_files_to_cache() to avoid globals
 - read-cache: move shared commit and ls-files code
 - setup: adopt shared init-db & clone code
 - init-db, clone: change unnecessary global into passed parameter
 - init-db: remove unnecessary global variable
 - init-db: document existing bug with core.bare in template config
 - Merge branch 'en/header-split-cache-h-part-2' into en/header-split-cache-h-part-3

 Header files cleanup.
 source: <pull.1525.v3.git.1684218848.gitgitgadget@gmail.com>


* la/doc-interpret-trailers (2023-05-11) 9 commits
 - doc: trailer: add more examples in DESCRIPTION
 - doc: trailer: mention 'key' in DESCRIPTION
 - doc: trailer.<token>.command: emphasize deprecation
 - doc: trailer: use angle brackets for <token> and <value>
 - doc: trailer: remove redundant phrasing
 - doc: trailer: examples: avoid the word "message" by itself
 - doc: trailer: drop "commit message part" phrasing
 - doc: trailer: swap verb order
 - doc: trailer: fix grammar

 Doc update.

 On hold. Looking good.
 Want to be rebased once kh/doc-interpret-trailers-updates lands.
 source: <pull.1506.v2.git.git.1683839975.gitgitgadget@gmail.com>


* cc/git-replay (2023-05-09) 16 commits
 - SQUASH???
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 source: <20230509175347.1714141-1-christian.couder@gmail.com>


* jc/pack-ref-exclude-include (2023-05-12) 3 commits
 - pack-refs: teach pack-refs --include option
 - pack-refs: teach --exclude option to exclude refs from being packed
 - docs: clarify git-pack-refs --all will pack all refs

 "git pack-refs" learns "--include" and "--exclude" to tweak the ref
 hierarchy to be packed using pattern matching.

 Will merge to 'next'.
 source: <pull.1501.v4.git.git.1683927282.gitgitgadget@gmail.com>


* tb/gc-recent-object-hook (2023-05-15) 2 commits
 - gc: introduce `gc.recentObjectsHook`
 - reachable.c: extract `obj_is_recent()`

 "git pack-objects" learned to invoke a new hook program that
 enumerates extra objects to be used as anchoring points to keep
 otherwise unreachable objects in cruft packs.
 source: <cover.1684196634.git.me@ttaylorr.com>


* jc/diff-s-with-other-options (2023-05-05) 1 commit
  (merged to 'next' on 2023-05-20 at dda3826a68)
 + diff: fix interaction between the "-s" option and other options

 The "-s" (silent, squelch) option of the "diff" family of commands
 did not interact with other options that specify the output format
 well.  This has been cleaned up so that it will clear all the
 formatting options given before.

 Will cook in 'next'.
 source: <20230505165952.335256-1-gitster@pobox.com>


* ob/revert-of-revert (2023-05-05) 1 commit
 - sequencer: beautify subject of reverts of reverts

 Instead of "Revert "Revert "original"", give "Reapply "original""
 as the title for a revert of a revert.

 Expecting a hopefully final reroll.
 Looking much better, except for minor cosmetic issues.
 source: <20230428083528.1699221-1-oswald.buddenhagen@gmx.de>


* cw/strbuf-cleanup (2023-05-12) 7 commits
  (merged to 'next' on 2023-05-15 at 31d08296f2)
 + strbuf: remove global variable
 + strbuf: clarify dependency
 + path: move related function to path
 + object-name: move related functions to object-name
 + credential-store: move related functions to credential-store file
 + abspath: move related functions to abspath
 + strbuf: clarify API boundary

 Move functions that are not about pure string manipulation out of
 strbuf.[ch]

 Will cook in 'next'.
 source: <20230512171429.2202982-1-calvinwan@google.com>


* tl/notes-separator (2023-04-28) 6 commits
  (merged to 'next' on 2023-05-06 at 598ed19c9b)
 + notes.c: introduce "--[no-]stripspace" option
 + notes.c: append separator instead of insert by pos
 + notes.c: introduce '--separator=<paragraph-break>' option
 + t3321: add test cases about the notes stripspace behavior
 + notes.c: use designated initializers for clarity
 + notes.c: cleanup 'strbuf_grow' call in 'append_edit'

 'git notes append' was taught '--separator' to specify string to insert
 between paragraphs.

 On hold.
 source: <cover.1682671758.git.dyroneteng@gmail.com>


* pw/rebase-i-after-failure (2023-04-21) 6 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase: fix rewritten list for failed pick
 - rebase --continue: refuse to commit after failed command
 - sequencer: factor out part of pick_commits()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Expecting a reroll.
 cf. <xmqqsfcthrpb.fsf@gitster.g>
 cf. <1fd54422-b66a-c2e4-7cd7-934ea01190ad@gmail.com>
 source: <pull.1492.v2.git.1682089074.gitgitgadget@gmail.com>


* sl/sparse-write-tree-part-2 (2023-05-08) 1 commit
 - t1092: update a write-tree test

 Fix-up to a topic already graduated to 'master'.

 Will merge to 'next' and then to 'master'.
 source: <20230508202140.464363-1-cheskaqiqi@gmail.com>


* tb/pack-bitmap-traversal-with-boundary (2023-05-08) 3 commits
 - pack-bitmap.c: use commit boundary during bitmap traversal
 - pack-bitmap.c: extract `fill_in_bitmap()`
 - object: add object_array initializer helper function

 The object traversal using reachability bitmap done by
 "pack-object" has been tweaked to take advantage of the fact that
 using "boundary" commits as representative of all the uninteresting
 ones can save quite a lot of object enumeration.
 source: <cover.1683567065.git.me@ttaylorr.com>


* gc/doc-cocci-updates (2023-04-27) 2 commits
  (merged to 'next' on 2023-05-20 at 3fe237c1a8)
 + cocci: codify authoring and reviewing practices
 + cocci: add headings to and reword README

 Update documentation regarding Coccinelle patches.

 Will cook in 'next'.
 source: <pull.1495.v2.git.git.1682634143.gitgitgadget@gmail.com>


* pb/complete-and-document-auto-merge-and-friends (2023-04-14) 5 commits
  (merged to 'next' on 2023-04-20 at 2728a01622)
 + completion: complete AUTO_MERGE
 + Documentation: document AUTO_MERGE
 + git-merge.txt: modernize word choice in "True merge" section
 + completion: complete REVERT_HEAD and BISECT_HEAD
 + revisions.txt: document more special refs

 Document more pseudo-refs and teach the command line completion
 machinery to complete AUTO_MERGE.

 On hold, waiting for a fix-up.
 cf. <a10648d5-8cba-4c7c-a303-b5b0dcdd3310@gmail.com>
 source: <pull.1515.git.1681495119.gitgitgadget@gmail.com>


* mh/credential-password-expiry-libsecret (2023-05-05) 1 commit
  (merged to 'next' on 2023-05-09 at fd898e3756)
 + credential/libsecret: support password_expiry_utc

 The libsecret credential helper learns to handle the password
 expiry time information.

 On hold.
 The database gets littered with entries whose expiration dates only differ.
 cf. <CAGJzqskMwOJkriH6serqdwAVYi+fftEL8ohJd-suP6v+OxB_bg@mail.gmail.com>
 source: <pull.1469.v3.git.git.1683270298313.gitgitgadget@gmail.com>

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

* ed/fsmonitor-inotify (2022-12-13) 6 commits
 . fsmonitor: update doc for Linux
 . fsmonitor: test updates
 . fsmonitor: enable fsmonitor for Linux
 . fsmonitor: implement filesystem change listener for Linux
 . fsmonitor: determine if filesystem is local or remote
 . fsmonitor: prepare to share code between Mac OS and Linux

 Bundled fsmonitor for Linux using inotify API.

 Seems to break asan job at CI when merged to 'seen'.
 cf. <xmqqzg7d8xn2.fsf@gitster.g>
 source: <pull.1352.v5.git.git.1670882286.gitgitgadget@gmail.com>


* my/wildmatch-cleanups (2023-02-27) 5 commits
 . wildmatch: more cleanups after killing uchar
 . wildmatch: use char instead of uchar
 . wildmatch: remove NEGATE_CLASS(2) macros with trivial refactoring
 . wildmatch: remove IS*() macros
 . git-compat-util: add isblank() and isgraph()

 Code clean-up.

 Discarded without prejudice after more than 6 weeks of inactivity.
 source: <20230226115021.1681834-1-masahiroy@kernel.org>


* cw/forbid-use-of-gitlink-outside-submodules (2023-02-28) 6 commits
 . add: reject nested repositories
 . tests: remove duplicate .gitmodules path
 . tests: use `git submodule add` and fix expected status
 . tests: use `git submodule add` and fix expected diffs
 . tests: Use `git submodule add` instead of `git add`
 . t4041, t4060: modernize test style

 Forbid "git add dir" from adding a gitlink to the index.

 Discarded without prejudice after more than 6 weeks of inactivity.
 source: <20230228185253.2356546-1-calvinwan@google.com>


* nw/for-each-ref-signature (2023-03-13) 1 commit
 . ref-filter: add new "signature" atom

 "git (for-each-ref|branch|tag) --format=<format>" learns the "%(signature)"
 placeholder and friends.

 Breaks CI.
 cf. <xmqqpm9bosjw.fsf@gitster.g>
 source: <20230311210607.64927-2-nsengiyumvawilberforce@gmail.com>


* fc/asciidoc-code-block-hack (2023-05-04) 2 commits
 . doc: manpage: remove ancient workaround
 . doc: git-svn: use listing instead of verse

 Documentation toolchain lost an ancient workaround that is no
 longer needed.

 The contributor is no longer with the project.
 source: <20230504035517.329765-1-felipe.contreras@gmail.com>


* fc/doc-revisions-markup-fix (2023-05-04) 2 commits
 . doc: revisions: add a bunch of missing quotes
 . doc: revisions: fix missing escape

 Doc cleanup.

 The contributor is no longer with the project.
 source: <20230504163421.100400-1-felipe.contreras@gmail.com>

^ permalink raw reply	[relevance 22%]

* What's cooking in git.git (May 2023, #05; Tue, 16)
@ 2023-05-17  0:30 20% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-05-17  0:30 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a future
release).  Commits prefixed with '-' are only in 'seen', and aren't
considered "accepted" at all and may be annotated with an URL to a
message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity.

Git 2.41-rc0 has been tagged.  Hopefully we will merge a few more
topics by -rc1 and then go into pre-release feature freeze.
Starting next week, until early June, my availability may be
sporadic, but this time I won't be completely away from the keyboard
to require an interim maintainer.

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']

* ar/config-count-tests-updates (2023-04-24) 3 commits
  (merged to 'next' on 2023-05-06 at c585a56132)
 + t1300: add tests for missing keys
 + t1300: check stderr for "ignores pairs" tests
 + t1300: drop duplicate test

 Test updates.
 source: <20230423134649.431783-1-rybak.a.v@gmail.com>


* ar/test-cleanup-unused-file-creation (2023-05-09) 1 commit
  (merged to 'next' on 2023-05-09 at 7734f3d690)
 + test: rev-parse-upstream: add missing cmp

 Test fix.
 source: <20230509000246.1760327-1-felipe.contreras@gmail.com>


* ds/fsck-bitmap (2023-05-02) 2 commits
  (merged to 'next' on 2023-05-09 at c2148408a2)
 + fsck: use local repository
 + fsck: verify checksums of all .bitmap files

 "git fsck" learned to detect bit-flip breakages in the reachability
 bitmap files.
 source: <pull.1526.v2.git.1683034042.gitgitgadget@gmail.com>


* ds/merge-tree-use-config (2023-05-10) 1 commit
  (merged to 'next' on 2023-05-11 at e0dab53028)
 + merge-tree: load default git config

 Allow git forges to disable replace-refs feature while running "git
 merge-tree".
 source: <pull.1530.git.1683745654800.gitgitgadget@gmail.com>


* fc/doc-use-datestamp-in-commit (2023-05-05) 2 commits
  (merged to 'next' on 2023-05-06 at 1eda43b03f)
 + doc-diff: drop SOURCE_DATE_EPOCH override
 + doc: doc-diff: specify date

 An earlier change broke "doc-diff", which has been corrected.
 source: <20230503232349.59997-1-felipe.contreras@gmail.com>
 source: <20230505211610.GA3197168@coredump.intra.peff.net>


* gc/trace-bare-repo-setup (2023-05-01) 1 commit
  (merged to 'next' on 2023-05-06 at 72b977d2f9)
 + setup: trace bare repository setups

 The tracing mechanism learned to notice and report when
 auto-discovered bare repositories are being used, as allowing so
 without explicitly stating the user intends to do so (with setting
 GIT_DIR for example) can be used with social engineering as an
 attack vector.
 source: <e98be8e7f703fc741e06d9208545abc8c24d1a4a.1682962110.git.steadmon@google.com>


* jc/dirstat-plug-leaks (2023-05-05) 2 commits
  (merged to 'next' on 2023-05-09 at 2df7cf06e4)
 + diff: plug leaks in dirstat
 + diff: refactor common tail part of dirstat computation
 (this branch is used by jc/diff-s-with-other-options.)

 "git diff --dirstat" leaked memory, which has been plugged.
 source: <20230505211917.2746751-1-gitster@pobox.com>


* jc/doc-clarify-git-default-hash-variable (2023-04-26) 1 commit
  (merged to 'next' on 2023-05-06 at 7bae4db4cc)
 + doc: GIT_DEFAULT_HASH is and will be ignored during "clone"

 The documentation was misleading about the interaction between
 GIT_DEFAULT_HASH and "git clone", which has been clarified to
 stress that the variable is to be ignored by the command.
 source: <xmqqzg6uvfpo.fsf_-_@gitster.g>


* jc/name-rev-deprecate-stdin-further (2023-05-06) 1 commit
  (merged to 'next' on 2023-05-09 at 0db4f08e32)
 + name-rev: make --stdin hidden

 The "--stdin" option of "git name-rev" has been replaced with
 the "--annotate-stdin" option more than a year ago.  We stop
 advertising it in the "git name-rev -h" output.
 source: <pull.1225.v3.git.git.1683346451239.gitgitgadget@gmail.com>


* jc/t9800-fix-use-of-show-s-raw (2023-05-06) 1 commit
  (merged to 'next' on 2023-05-09 at f4d7a7d671)
 + t9800: correct misuse of 'show -s --raw' in a test

 A test fix.
 source: <xmqqild5rvvw.fsf@gitster.g>


* jk/test-verbose-no-more (2023-05-08) 3 commits
  (merged to 'next' on 2023-05-09 at 897bfd0a6b)
 + t: drop "verbose" helper function
 + t7001: use "ls-files --format" instead of "cut"
 + t7001: avoid git on upstream of pipe

 Retire "verbose" helper function from the test framework.
 source: <20230508185953.GA2108869@coredump.intra.peff.net>


* js/gitk-fixes-from-gfw (2023-05-08) 3 commits
  (merged to 'next' on 2023-05-08 at adb334deec)
 + Merge gitk changes into js/gitk-fixes-from-gfw
 + gitk: escape file paths before piping to git log
 + gitk: prevent overly long command lines

 Gitk updates from GfW project.
 source: <pull.1469.git.1674559397.gitgitgadget@gmail.com>


* js/subtree-fully-spelt-quiet-and-debug-options (2023-05-08) 1 commit
  (merged to 'next' on 2023-05-10 at 2980db981e)
 + subtree: support long global flags

 "git subtree" (in contrib/) update.
 source: <pull.1514.git.1683428988693.gitgitgadget@gmail.com>


* kh/doc-interpret-trailers-updates (2023-05-01) 4 commits
  (merged to 'next' on 2023-05-06 at 4e9a640131)
 + doc: interpret-trailers: fix example
 + doc: interpret-trailers: don’t use deprecated config
 + doc: interpret-trailers: use input redirection
 + doc: interpret-trailers: don’t use heredoc in examples

 Doc update.
 source: <cover.1682970213.git.code@khaugsbakk.name>


* mc/send-email-header-cmd (2023-05-01) 3 commits
  (merged to 'next' on 2023-05-06 at 04514468b6)
 + send-email: detect empty blank lines in command output
 + send-email: add --header-cmd, --no-header-cmd options
 + send-email: extract execute_cmd from recipients_cmd

 "git send-email" learned "--header-cmd=<cmd>" that can inject
 arbitrary e-mail header lines to the outgoing messages.
 source: <20230501143848.19674-1-maxim.cournoyer@gmail.com>


* ps/fetch-output-format (2023-05-10) 9 commits
  (merged to 'next' on 2023-05-12 at 4126a008a5)
 + fetch: introduce machine-parseable "porcelain" output format
 + fetch: move option related variables into main function
 + fetch: lift up parsing of "fetch.output" config variable
 + fetch: introduce `display_format` enum
 + fetch: refactor calculation of the display table width
 + fetch: print left-hand side when fetching HEAD:foo
 + fetch: add a test to exercise invalid output formats
 + fetch: split out tests for output format
 + fetch: fix `--no-recurse-submodules` with multi-remote fetches

 "git fetch" learned the "--porcelain" option that emits what it did
 in a machine-parseable format.
 source: <cover.1683721293.git.ps@pks.im>


* rj/branch-unborn-in-other-worktrees (2023-03-27) 5 commits
  (merged to 'next' on 2023-05-06 at c61e9b0672)
 + branch: avoid unnecessary worktrees traversals
 + branch: rename orphan branches in any worktree
 + branch: description for orphan branch errors
 + branch: use get_worktrees() in copy_or_rename_branch()
 + branch: test for failures while renaming branches

 Error messages given when working on an unborn branch that is
 checked out in another worktree have been improved.
 source: <f8e6447e-5cd3-98fa-f567-39e1c60dacb0@gmail.com>


* sg/retire-unused-cocci (2023-04-20) 1 commit
  (merged to 'next' on 2023-05-12 at 77cc27c837)
 + cocci: remove 'unused.cocci'

 Retire a rather expensive-to-run Coccinelle check patch.
 source: <20230420205350.600760-1-szeder.dev@gmail.com>


* sl/diff-files-sparse (2023-05-09) 2 commits
  (merged to 'next' on 2023-05-12 at 486be95d1b)
 + diff-files: integrate with sparse index
 + t1092: add tests for `git diff-files`

 Teach "diff-files" not to expand sparse-index unless needed.
 cf. <f51a8d77-c480-f021-38c4-78a9d75cdd11@github.com>
 source: <20230509194241.469477-1-cheskaqiqi@gmail.com>


* tl/push-branches-is-an-alias-for-all (2023-05-12) 2 commits
  (merged to 'next' on 2023-05-12 at 536aaf0bd9)
 + t5583: fix shebang line
  (merged to 'next' on 2023-05-09 at 1d8c3e5dcf)
 + push: introduce '--branches' option

 "git push --all" gained an alias "git push --branches".
 source: <20230506113408.61529-2-tenglong.tl@alibaba-inc.com>
 source: <pull.1532.git.1683904156670.gitgitgadget@gmail.com>

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

* cg/doc-http-lowspeed-limit (2023-05-14) 1 commit
 - doc/git-config: add unit for http.lowSpeedLimit

 Doc update.

 Will merge to 'next'.
 source: <pull.1507.git.git.1683970203084.gitgitgadget@gmail.com>


* kh/keep-tag-editmsg-upon-failure (2023-05-16) 3 commits
 - tag: keep the message file in case ref transaction fails
 - t/t7004-tag: add regression test for successful tag creation
 - doc: tag: document `TAG_EDITMSG`

 "git tag" learned to leave the "$GIT_DIR/TAG_EDITMSG" file when the
 command failed, so that the user can salvage what they typed.

 Will merge to 'next'.
 source: <cover.1684258780.git.code@khaugsbakk.name>


* sa/doc-ls-remote (2023-05-15) 6 commits
 - ls-remote doc: document the output format
 - ls-remote doc: explain what each example does
 - ls-remote doc: show peeled tags in examples
 - ls-remote doc: remove redundant --tags example
 - show-branch doc: say <ref>, not <reference>
 - show-ref doc: update for internal consistency

 Doc update.

 Expecting a minor and hopefully final reroll.
 source: <pull.1471.v3.git.git.1684152793.gitgitgadget@gmail.com>


* tb/refs-exclusion-and-packed-refs (2023-05-15) 16 commits
 - ls-refs.c: avoid enumerating hidden refs where possible
 - upload-pack.c: avoid enumerating hidden refs where possible
 - builtin/receive-pack.c: avoid enumerating hidden references
 - refs.h: let `for_each_namespaced_ref()` take excluded patterns
 - refs/packed-backend.c: ignore complicated hidden refs rules
 - revision.h: store hidden refs in a `strvec`
 - refs/packed-backend.c: add trace2 counters for jump list
 - refs/packed-backend.c: implement jump lists to avoid excluded pattern(s)
 - refs/packed-backend.c: refactor `find_reference_location()`
 - refs: plumb `exclude_patterns` argument throughout
 - builtin/for-each-ref.c: add `--exclude` option
 - ref-filter.c: parameterize match functions over patterns
 - ref-filter: add `ref_filter_clear()`
 - ref-filter: clear reachable list pointers after freeing
 - ref-filter.h: provide `REF_FILTER_INIT`
 - refs.c: rename `ref_filter`

 Enumerating refs in the packed-refs file, while excluding refs that
 match certain patterns, has been optimized.

 Will merge to 'next'?
 source: <cover.1684178576.git.me@ttaylorr.com>


* zh/ls-files-format-atoms (2023-05-14) 2 commits
 - ls-files: add %(objectsize) atom to format option
 - ls-files: add %(objecttype) atom to format option

 Some atoms that can be used in "--format=<format>" for "git ls-tree"
 were not supported by "git ls-files", even though they were relevant
 in the context of the latter.
 source: <pull.1533.git.1683969100.gitgitgadget@gmail.com>


* jc/do-not-negate-test-helpers (2023-05-16) 3 commits
 - test: do not negate test_path_is_* to assert absense
 - t2021: do not negate test_path_is_dir
 - tests: do not negate test_path_exists

 Small fixes.

 Will merge to 'next'.
 source: <20230516022646.648123-1-gitster@pobox.com>


* tb/run-command-needs-alloc-h (2023-05-16) 1 commit
  (merged to 'next' on 2023-05-16 at b87f41e99e)
 + run-command.c: fix missing include under `NO_PTHREADS`

 Fix the build problem with NO_PTHREADS defined, a fallout from
 recent header file shuffling.

 Will merge to 'master'.
 source: <ZGP2tw0USsj9oecZ@nand.local>

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

* ed/fsmonitor-windows-named-pipe (2023-03-24) 1 commit
 - fsmonitor: handle differences between Windows named pipe functions

 Fix fsmonitor on Windows when the filesystem path contains certain
 characters.

 Expecting a reroll.
 cf. <b9cf67e4-22a7-2ff0-8310-9223bea10d6d@jeffhostetler.com>
 source: <pull.1503.git.1679678090412.gitgitgadget@gmail.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
 - diff-index: enable sparse index

 "git diff-index" command has been taught to work better with the
 sparse index.

 Expecting a reroll.
 cf. <62821012-4fc3-5ad8-695c-70f7ab14a8c9@github.com>
 source: <20230408112342.404318-1-nanth.raghul@gmail.com>


* ja/worktree-orphan (2023-04-17) 8 commits
 - worktree add: emit warn when there is a bad HEAD
 - worktree add: extend DWIM to infer --orphan
 - worktree add: introduce "try --orphan" hint
 - worktree add: add --orphan flag
 - t2400: add tests to verify --quiet
 - t2400: refactor "worktree add" opt exclusion tests
 - t2400: print captured git output when finished
 - worktree add: include -B in usage docs

 'git worktree add' learned how to create a worktree based on an
 orphaned branch with `--orphan`.

 Expecting a reroll.
 cf. <m7crhly2j3k76whydbtdwhvzghvoql436g3lqtst4v3ahv75aa@wq5zjepgrxz5>
 source: <20230417093255.31079-1-jacobabel@nullpo.dev>


* es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
 - usage: clarify --recurse-submodules as a boolean

 The "--[no-]recurse-submodules" option of "git checkout" and others
 supported an undocumented syntax --recurse-submodules=<value> where
 the value can spell a Boolean in various ways.  The support for the
 syntax is being dropped.

 Expecting a reroll.
 cf. <ZDSTFwMFO7vbj/du@google.com>
 source: <ZDSTFwMFO7vbj/du@google.com>


* tb/pack-bitmap-index-seek (2023-03-20) 6 commits
 - pack-bitmap.c: factor out `bitmap_index_seek_commit()`
 - pack-bitmap.c: use `bitmap_index_seek()` where possible
 - pack-bitmap.c: factor out manual `map_pos` manipulation
 - pack-bitmap.c: drop unnecessary 'inline's
 - pack-bitmap.c: hide bitmap internals in `read_be32()`
 - pack-bitmap.c: hide bitmap internals in `read_u8()`

 Clean-up the pack-bitmap codepath.

 Kicked back to 'seen' out of 'next'.
 There is a BUG() on data errors that needs to be fixed.
 source: <cover.1679342296.git.me@ttaylorr.com>


* cb/checkout-same-branch-twice (2023-03-22) 2 commits
 - SQUASH??? the test marked to expect failure passes from day one
 - checkout/switch: disallow checking out same branch in multiple worktrees

 "git checkout -B $branch" failed to protect against checking out
 a branch that is checked out elsewhere, unlike "git branch -f" did.

 Expecting a hopefully minor and final reroll.
 cf. <CAPUEspj_Bh+LgYLnWfeBdcq_uV5Cbou-7H51GLFjzSa5Qzby9w@mail.gmail.com>
 source: <20230120113553.24655-1-carenas@gmail.com>


* tk/pull-conflict-suggest-rebase-merge-not-rebase-true (2023-02-13) 1 commit
 - pull: conflict hint pull.rebase suggestion should offer "merges" vs "true"

 In an advice message after failed non-ff pull, we used to suggest
 setting pull.rebase=true, but these days pull.rebase=merges may be
 more inline with the original spirit of "rebuild your side on top
 of theirs".

 May want to discard.
 This is too much of a departure from the existing practice.
 cf. <CAMMLpeTPEoKVTbfc17w+Y9qn7jOGmQi_Ux0Y3sFW5QTgGWJ=SA@mail.gmail.com>
 cf. <CABPp-BGqAxKnxDRVN4cYMteLp33hvto07R3=TJBT5WubJT4+Og@mail.gmail.com>
 source: <pull.1474.git.1675614276549.gitgitgadget@gmail.com>


* ab/tag-object-type-errors (2023-05-10) 4 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.
 source: <cover-v2-0.3-00000000000-20221230T011725Z-avarab@gmail.com>


* ad/test-record-count-when-harness-is-in-use (2022-12-25) 1 commit
 - test-lib: allow storing counts with test harnesses

 Allow summary results from tests to be written to t/test-results
 directory even when a test harness like 'prove' is in use.

 Expecting a reroll.
 cf. <CABPp-BGoPuGCZw+9wCgdYyRR4Zf4y9Kun27GrQhtMdYWpOUsYQ@mail.gmail.com>
 source: <20221224225200.1027806-1-adam@dinwoodie.org>


* so/diff-merges-more (2022-12-18) 5 commits
 - diff-merges: improve --diff-merges documentation
 - diff-merges: issue warning on lone '-m' option
 - diff-merges: support list of values for --diff-merges
 - diff-merges: implement log.diffMerges-m-imply-p config
 - diff-merges: implement [no-]hide option and log.diffMergesHide config

 Assorted updates to "--diff-merges=X" option.

 May want to discard.
 Breaking compatibility does not seem worth it.
 source: <20221217132955.108542-1-sorganov@gmail.com>


* ab/imap-send-requires-curl (2023-02-02) 6 commits
 - imap-send: correctly report "host" when using "tunnel"
 - imap-send: remove old --no-curl codepath
 - imap-send: make --curl no-optional
 - imap-send: replace auto-probe libcurl with hard dependency
 - imap-send doc: the imap.sslVerify is used with imap.tunnel
 - imap-send: note "auth_method", not "host" on auth method failure

 Give a hard dependency on cURL library to build "git imap-send",
 and remove the code to interact with IMAP server without using cURL.

 Expecting a reroll.
 The 'tunnel' part is still iffy.
 cf. <230203.86bkmabfjr.gmgdl@evledraar.gmail.com>
 source: <cover-v2-0.6-00000000000-20230202T093706Z-avarab@gmail.com>


* cw/submodule-status-in-parallel (2023-03-02) 6 commits
 - diff-lib: parallelize run_diff_files for submodules
 - diff-lib: refactor out diff_change logic
 - submodule: refactor is_submodule_modified()
 - submodule: move status parsing into function
 - submodule: rename strbuf variable
 - run-command: add on_stderr_output_fn to run_processes_parallel_opts

 "git submodule status" learned to run the comparison in submodule
 repositories in parallel.

 Expecting a reroll.
 cf. <CAFySSZDk05m6gU5-V1R+y3YnQ5PPduVW54+_gjBwD0rmacsLsw@mail.gmail.com>
 cf. <230307.865ybc273g.gmgdl@evledraar.gmail.com>
 source: <20230302215237.1473444-1-calvinwan@google.com>

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

* tc/cat-file-z-use-cquote (2023-05-10) 1 commit
 - cat-file: quote-format name in error when using -z

 "cat-file" in the batch mode that is fed NUL-terminated pathnames
 learned to cquote them in its error output (otherwise, a funny
 pathname with LF in it would break the lines in the output stream).

 Redesign.
 source: <20230510190116.795641-2-toon@iotcl.com>


* js/rebase-count-fixes (2023-05-14) 2 commits
 - rebase -r: fix the total number shown in the progress
 - rebase --update-refs: fix loops

 A few bugs in the sequencer machinery that results in miscounting
 the steps have been corrected.

 Will merge to 'next'.
 source: <pull.1531.v2.git.1683965487.gitgitgadget@gmail.com>


* en/header-split-cache-h-part-3 (2023-05-16) 29 commits
 - fsmonitor-ll.h: split this header out of fsmonitor.h
 - hash-ll, hashmap: move oidhash() to hash-ll
 - object-store-ll.h: split this header out of object-store.h
 - khash: name the structs that khash declares
 - merge-ll: rename from ll-merge
 - git-compat-util.h: remove unneccessary include of wildmatch.h
 - builtin.h: remove unneccessary includes
 - list-objects-filter-options.h: remove unneccessary include
 - diff.h: remove unnecessary include of oidset.h
 - repository: remove unnecessary include of path.h
 - log-tree: replace include of revision.h with simple forward declaration
 - cache.h: remove this no-longer-used header
 - read-cache*.h: move declarations for read-cache.c functions from cache.h
 - repository.h: move declaration of the_index from cache.h
 - merge.h: move declarations for merge.c from cache.h
 - diff.h: move declaration for global in diff.c from cache.h
 - preload-index.h: move declarations for preload-index.c from elsewhere
 - sparse-index.h: move declarations for sparse-index.c from cache.h
 - name-hash.h: move declarations for name-hash.c from cache.h
 - run-command.h: move declarations for run-command.c from cache.h
 - statinfo: move stat_{data,validity} functions from cache/read-cache
 - read-cache: move shared add/checkout/commit code
 - add: modify add_files_to_cache() to avoid globals
 - read-cache: move shared commit and ls-files code
 - setup: adopt shared init-db & clone code
 - init-db, clone: change unnecessary global into passed parameter
 - init-db: remove unnecessary global variable
 - init-db: document existing bug with core.bare in template config
 - Merge branch 'en/header-split-cache-h-part-2' into en/header-split-cache-h-part-3

 Header files cleanup.
 source: <pull.1525.v3.git.1684218848.gitgitgadget@gmail.com>


* la/doc-interpret-trailers (2023-05-11) 9 commits
 - doc: trailer: add more examples in DESCRIPTION
 - doc: trailer: mention 'key' in DESCRIPTION
 - doc: trailer.<token>.command: emphasize deprecation
 - doc: trailer: use angle brackets for <token> and <value>
 - doc: trailer: remove redundant phrasing
 - doc: trailer: examples: avoid the word "message" by itself
 - doc: trailer: drop "commit message part" phrasing
 - doc: trailer: swap verb order
 - doc: trailer: fix grammar

 Doc update.

 On hold. Looking good.
 Want to be rebased once kh/doc-interpret-trailers-updates lands.
 source: <pull.1506.v2.git.git.1683839975.gitgitgadget@gmail.com>


* cc/git-replay (2023-05-09) 16 commits
 - SQUASH???
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 source: <20230509175347.1714141-1-christian.couder@gmail.com>


* jc/pack-ref-exclude-include (2023-05-12) 3 commits
 - pack-refs: teach pack-refs --include option
 - pack-refs: teach --exclude option to exclude refs from being packed
 - docs: clarify git-pack-refs --all will pack all refs

 "git pack-refs" learns "--include" and "--exclude" to tweak the ref
 hierarchy to be packed using pattern matching.

 Will merge to 'next'?
 source: <pull.1501.v4.git.git.1683927282.gitgitgadget@gmail.com>


* tb/gc-recent-object-hook (2023-05-15) 2 commits
 - gc: introduce `gc.recentObjectsHook`
 - reachable.c: extract `obj_is_recent()`

 "git pack-objects" learned to invoke a new hook program that
 enumerates extra objects to be used as anchoring points to keep
 otherwise unreachable objects in cruft packs.
 source: <cover.1684196634.git.me@ttaylorr.com>


* jc/diff-s-with-other-options (2023-05-05) 1 commit
 - diff: fix interaction between the "-s" option and other options

 The "-s" (silent, squelch) option of the "diff" family of commands
 did not interact with other options that specify the output format
 well.  This has been cleaned up so that it will clear all the
 formatting options given before.

 Will merge to 'next'?
 source: <20230505165952.335256-1-gitster@pobox.com>


* ob/revert-of-revert (2023-05-05) 1 commit
 - sequencer: beautify subject of reverts of reverts

 Instead of "Revert "Revert "original"", give "Reapply "original""
 as the title for a revert of a revert.

 Expecting a hopefully final reroll.
 Looking much better, except for minor cosmetic issues.
 source: <20230428083528.1699221-1-oswald.buddenhagen@gmx.de>


* jc/attr-source-tree (2023-05-06) 1 commit
  (merged to 'next' on 2023-05-10 at cb94f4fba6)
 + attr: teach "--attr-source=<tree>" global option to "git"

 "git --attr-source=<tree> cmd $args" is a new way to have any
 command to read attributes not from the working tree but from the
 given tree object.

 Will merge to 'master'.
 source: <pull.1470.v6.git.git.1683346530487.gitgitgadget@gmail.com>


* bc/clone-empty-repo-via-protocol-v0 (2023-05-01) 1 commit
 - upload-pack: advertise capabilities when cloning empty repos

 Expecting a minor and hopefully final update.
 cf. <20230501224038.GA1174291@coredump.intra.peff.net>
 source: <20230501170018.1410567-2-sandals@crustytoothpaste.net>


* cw/strbuf-cleanup (2023-05-12) 7 commits
  (merged to 'next' on 2023-05-15 at 31d08296f2)
 + strbuf: remove global variable
 + strbuf: clarify dependency
 + path: move related function to path
 + object-name: move related functions to object-name
 + credential-store: move related functions to credential-store file
 + abspath: move related functions to abspath
 + strbuf: clarify API boundary

 Move functions that are not about pure string manipulation out of
 strbuf.[ch]

 Will merge to 'master'.
 source: <20230512171429.2202982-1-calvinwan@google.com>


* tl/notes-separator (2023-04-28) 6 commits
  (merged to 'next' on 2023-05-06 at 598ed19c9b)
 + notes.c: introduce "--[no-]stripspace" option
 + notes.c: append separator instead of insert by pos
 + notes.c: introduce '--separator=<paragraph-break>' option
 + t3321: add test cases about the notes stripspace behavior
 + notes.c: use designated initializers for clarity
 + notes.c: cleanup 'strbuf_grow' call in 'append_edit'

 'git notes append' was taught '--separator' to specify string to insert
 between paragraphs.

 Will merge to 'master'.
 source: <cover.1682671758.git.dyroneteng@gmail.com>


* pw/rebase-i-after-failure (2023-04-21) 6 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase: fix rewritten list for failed pick
 - rebase --continue: refuse to commit after failed command
 - sequencer: factor out part of pick_commits()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Expecting a reroll.
 cf. <xmqqsfcthrpb.fsf@gitster.g>
 cf. <1fd54422-b66a-c2e4-7cd7-934ea01190ad@gmail.com>
 source: <pull.1492.v2.git.1682089074.gitgitgadget@gmail.com>


* sl/sparse-write-tree-part-2 (2023-05-08) 1 commit
 - t1092: update a write-tree test

 Fix-up to a topic already graduated to 'master'.

 Will merge to 'next'?
 source: <20230508202140.464363-1-cheskaqiqi@gmail.com>


* tb/pack-bitmap-traversal-with-boundary (2023-05-08) 3 commits
 - pack-bitmap.c: use commit boundary during bitmap traversal
 - pack-bitmap.c: extract `fill_in_bitmap()`
 - object: add object_array initializer helper function

 The object traversal using reachability bitmap done by
 "pack-object" has been tweaked to take advantage of the fact that
 using "boundary" commits as representative of all the uninteresting
 ones can save quite a lot of object enumeration.
 source: <cover.1683567065.git.me@ttaylorr.com>


* gc/doc-cocci-updates (2023-04-27) 2 commits
 - cocci: codify authoring and reviewing practices
 - cocci: add headings to and reword README

 Update documentation regarding Coccinelle patches.

 Will merge to 'next'?
 source: <pull.1495.v2.git.git.1682634143.gitgitgadget@gmail.com>


* pb/complete-and-document-auto-merge-and-friends (2023-04-14) 5 commits
  (merged to 'next' on 2023-04-20 at 2728a01622)
 + completion: complete AUTO_MERGE
 + Documentation: document AUTO_MERGE
 + git-merge.txt: modernize word choice in "True merge" section
 + completion: complete REVERT_HEAD and BISECT_HEAD
 + revisions.txt: document more special refs

 Document more pseudo-refs and teach the command line completion
 machinery to complete AUTO_MERGE.

 On hold, waiting for a fix-up.
 cf. <a10648d5-8cba-4c7c-a303-b5b0dcdd3310@gmail.com>
 source: <pull.1515.git.1681495119.gitgitgadget@gmail.com>


* mh/credential-password-expiry-libsecret (2023-05-05) 1 commit
  (merged to 'next' on 2023-05-09 at fd898e3756)
 + credential/libsecret: support password_expiry_utc

 The libsecret credential helper learns to handle the password
 expiry time information.

 On hold.
 The database gets littered with entries whose expiration dates only differ.
 cf. <CAGJzqskMwOJkriH6serqdwAVYi+fftEL8ohJd-suP6v+OxB_bg@mail.gmail.com>
 source: <pull.1469.v3.git.git.1683270298313.gitgitgadget@gmail.com>

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

* ed/fsmonitor-inotify (2022-12-13) 6 commits
 . fsmonitor: update doc for Linux
 . fsmonitor: test updates
 . fsmonitor: enable fsmonitor for Linux
 . fsmonitor: implement filesystem change listener for Linux
 . fsmonitor: determine if filesystem is local or remote
 . fsmonitor: prepare to share code between Mac OS and Linux

 Bundled fsmonitor for Linux using inotify API.

 Seems to break asan job at CI when merged to 'seen'.
 cf. <xmqqzg7d8xn2.fsf@gitster.g>
 source: <pull.1352.v5.git.git.1670882286.gitgitgadget@gmail.com>


* my/wildmatch-cleanups (2023-02-27) 5 commits
 . wildmatch: more cleanups after killing uchar
 . wildmatch: use char instead of uchar
 . wildmatch: remove NEGATE_CLASS(2) macros with trivial refactoring
 . wildmatch: remove IS*() macros
 . git-compat-util: add isblank() and isgraph()

 Code clean-up.

 Discarded without prejudice after more than 6 weeks of inactivity.
 source: <20230226115021.1681834-1-masahiroy@kernel.org>


* cw/forbid-use-of-gitlink-outside-submodules (2023-02-28) 6 commits
 . add: reject nested repositories
 . tests: remove duplicate .gitmodules path
 . tests: use `git submodule add` and fix expected status
 . tests: use `git submodule add` and fix expected diffs
 . tests: Use `git submodule add` instead of `git add`
 . t4041, t4060: modernize test style

 Forbid "git add dir" from adding a gitlink to the index.

 Discarded without prejudice after more than 6 weeks of inactivity.
 source: <20230228185253.2356546-1-calvinwan@google.com>


* nw/for-each-ref-signature (2023-03-13) 1 commit
 . ref-filter: add new "signature" atom

 "git (for-each-ref|branch|tag) --format=<format>" learns the "%(signature)"
 placeholder and friends.

 Breaks CI.
 cf. <xmqqpm9bosjw.fsf@gitster.g>
 source: <20230311210607.64927-2-nsengiyumvawilberforce@gmail.com>


* fc/asciidoc-code-block-hack (2023-05-04) 2 commits
 . doc: manpage: remove ancient workaround
 . doc: git-svn: use listing instead of verse

 Documentation toolchain lost an ancient workaround that is no
 longer needed.

 The contributor is no longer with the project.
 source: <20230504035517.329765-1-felipe.contreras@gmail.com>


* fc/doc-revisions-markup-fix (2023-05-04) 2 commits
 . doc: revisions: add a bunch of missing quotes
 . doc: revisions: fix missing escape

 Doc cleanup.

 The contributor is no longer with the project.
 source: <20230504163421.100400-1-felipe.contreras@gmail.com>

^ permalink raw reply	[relevance 20%]

* What's cooking in git.git (May 2023, #04; Thu, 11)
@ 2023-05-12  0:39 19% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-05-12  0:39 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a future
release).  Commits prefixed with '-' are only in 'seen', and aren't
considered "accepted" at all and may be annotated with an URL to a
message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity.

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]

* js/rebase-count-fixes (2023-05-10) 2 commits
 - rebase -r: fix the total number shown in the progress
 - rebase --update-refs: fix loops

 A few bugs in the sequencer machinery that results in miscounting
 the steps have been corrected.

 Waiting for responses to reviews.
 cf. <b481d212-89c5-5c8e-c99f-6df3909523c7@gmail.com>
 source: <pull.1531.git.1683759338.gitgitgadget@gmail.com>


* ds/merge-tree-use-config (2023-05-10) 1 commit
  (merged to 'next' on 2023-05-11 at e0dab53028)
 + merge-tree: load default git config

 Allow git forges to disable replace-refs feature while running "git
 merge-tree".

 Will merge to 'master'.
 source: <pull.1530.git.1683745654800.gitgitgadget@gmail.com>

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

* ah/doc-attributes-text (2023-05-03) 1 commit
  (merged to 'next' on 2023-05-04 at 121c97817e)
 + docs: rewrite the documentation of the text and eol attributes

 Doc update to clarify how text and eol attributes interact to
 specify the end-of-line conversion.
 source: <20230503044656.221175-2-alexhenrie24@gmail.com>


* ar/test-cleanup-unused-file-creation-part2 (2023-05-03) 6 commits
  (merged to 'next' on 2023-05-03 at 185f0ec195)
 + t2019: don't create unused files
 + t1502: don't create unused files
 + t1450: don't create unused files
 + t1300: don't create unused files
 + t1300: fix config file syntax error descriptions
 + t0300: don't create unused file

 Test cleanup.
 cf. <CABPp-BFCBPTBc9savP13gNFmBo_WCnZHUv_Z8bWE6T6GZOrs-Q@mail.gmail.com>
 source: <20230417191044.909094-1-rybak.a.v@gmail.com>


* fc/doc-drop-custom-callout-format (2023-05-03) 1 commit
  (merged to 'next' on 2023-05-04 at c2fd654367)
 + doc: remove custom callouts format

 Our custom callout formatter is no longer used in the documentation
 formatting toolchain, as the upstream default ones give better
 output these days.
 source: <20230418011828.47851-1-felipe.contreras@gmail.com>


* fc/doc-man-lift-title-length-limit (2023-05-03) 1 commit
  (merged to 'next' on 2023-05-04 at d048eb1ef8)
 + doc: manpage: remove maximum title length

 The titles of manual pages used to be chomped at an unreasonably
 short limit, which has been removed.
 source: <20230503171658.8996-1-felipe.contreras@gmail.com>


* hx/negotiator-non-recursive (2023-04-26) 2 commits
  (merged to 'next' on 2023-05-02 at 64f97cc72d)
 + negotiator/skipping: fix some problems in mark_common()
 + negotiator/default: avoid stack overflow

 The implementation of the default "negotiator", used to find common
 ancestor over the network for object tranfer, used to be recursive;
 it was updated to be iterative to conserve stackspace usage.
 cf. <9ad5f246-e21f-0a13-1a53-1ae3307c3f0e@github.com>
 source: <cover.1682513384.git.hanxin.hx@bytedance.com>


* ma/gittutorial-fixes (2023-04-20) 2 commits
  (merged to 'next' on 2023-05-02 at bf96011972)
 + gittutorial: wrap literal examples in backticks
 + gittutorial: drop early mention of origin

 Doc fixes.
 source: <cover.1681579244.git.martin.agren@gmail.com>


* mh/credential-oauth-refresh-token (2023-04-21) 1 commit
  (merged to 'next' on 2023-05-04 at 9ade4aa024)
 + credential: new attribute oauth_refresh_token

 The credential subsystem learns to help OAuth framework.
 source: <pull.1394.v2.git.1682070479816.gitgitgadget@gmail.com>


* mh/credential-password-expiry-wincred (2023-04-03) 1 commit
  (merged to 'next' on 2023-05-06 at 51aae61f60)
 + credential/wincred: store password_expiry_utc

 Teach the recently invented "password expiry time" trait to the
 wincred credential helper.
 cf. <CAGJzqsm4LmpYE46v2=y4=A+Och44zaQyzTXQRteX-KNSzA_18g@mail.gmail.com>
 source: <pull.1477.v3.git.git.1680508028077.gitgitgadget@gmail.com>


* mh/use-wincred-from-system (2023-03-27) 1 commit
  (merged to 'next' on 2023-05-06 at a545c5d4aa)
 + credential/wincred: include wincred.h

 Code clean-up.
 cf. <8511e030-8167-715c-5ed4-1646e6e9ef85@gmx.de>
 cf. <CAGJzqsm4LmpYE46v2=y4=A+Och44zaQyzTXQRteX-KNSzA_18g@mail.gmail.com>
 source: <pull.1496.git.1679707396407.gitgitgadget@gmail.com>


* ms/send-email-feed-header-to-validate-hook (2023-04-19) 2 commits
  (merged to 'next' on 2023-05-03 at ba7079bcd4)
 + send-email: expose header information to git-send-email's sendemail-validate hook
 + send-email: refactor header generation functions

 "git send-email" learned to give the e-mail headers to the validate
 hook by passing an extra argument from the command line.
 source: <20230419202703.2911836-1-michael.strawbridge@amd.com>


* rs/test-ctype-eof (2023-05-02) 1 commit
  (merged to 'next' on 2023-05-02 at a19201a6a9)
 + test-ctype: check EOF

 ctype tests have been taught to test EOF, too.
 source: <1dbbd7ce-2b3f-6f88-f902-1d4ffe62e259@web.de>


* sd/doc-gitignore-and-rm-cached (2023-05-03) 1 commit
  (merged to 'next' on 2023-05-04 at a4b1b128d6)
 + docs: clarify git rm --cached function in gitignore note

 Doc update.
 source: <pull.862.v3.git.git.1683150400953.gitgitgadget@gmail.com>


* tb/credential-long-lines (2023-05-01) 7 commits
  (merged to 'next' on 2023-05-02 at f027002b92)
 + contrib/credential: embiggen fixed-size buffer in wincred
 + contrib/credential: avoid fixed-size buffer in libsecret
 + contrib/credential: .gitignore libsecret build artifacts
 + contrib/credential: remove 'gnome-keyring' credential helper
 + contrib/credential: avoid fixed-size buffer in osxkeychain
 + t/lib-credential.sh: ensure credential helpers handle long headers
 + credential.c: store "wwwauth[]" values in `credential_read()`

 The implementation of credential helpers used fgets() over fixed
 size buffers to read protocol messages, causing the remainder of
 the folded long line to trigger unexpected behaviour, which has
 been corrected.
 source: <cover.1682956419.git.me@ttaylorr.com>

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

* ed/fsmonitor-windows-named-pipe (2023-03-24) 1 commit
 - fsmonitor: handle differences between Windows named pipe functions

 Fix fsmonitor on Windows when the filesystem path contains certain
 characters.

 Expecting a reroll.
 cf. <b9cf67e4-22a7-2ff0-8310-9223bea10d6d@jeffhostetler.com>
 source: <pull.1503.git.1679678090412.gitgitgadget@gmail.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
 - diff-index: enable sparse index

 "git diff-index" command has been taught to work better with the
 sparse index.

 Expecting a reroll.
 cf. <62821012-4fc3-5ad8-695c-70f7ab14a8c9@github.com>
 source: <20230408112342.404318-1-nanth.raghul@gmail.com>


* ja/worktree-orphan (2023-04-17) 8 commits
 - worktree add: emit warn when there is a bad HEAD
 - worktree add: extend DWIM to infer --orphan
 - worktree add: introduce "try --orphan" hint
 - worktree add: add --orphan flag
 - t2400: add tests to verify --quiet
 - t2400: refactor "worktree add" opt exclusion tests
 - t2400: print captured git output when finished
 - worktree add: include -B in usage docs

 'git worktree add' learned how to create a worktree based on an
 orphaned branch with `--orphan`.

 Expecting a reroll.
 cf. <m7crhly2j3k76whydbtdwhvzghvoql436g3lqtst4v3ahv75aa@wq5zjepgrxz5>
 source: <20230417093255.31079-1-jacobabel@nullpo.dev>


* es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
 - usage: clarify --recurse-submodules as a boolean

 The "--[no-]recurse-submodules" option of "git checkout" and others
 supported an undocumented syntax --recurse-submodules=<value> where
 the value can spell a Boolean in various ways.  The support for the
 syntax is being dropped.

 Expecting a reroll.
 cf. <ZDSTFwMFO7vbj/du@google.com>
 source: <ZDSTFwMFO7vbj/du@google.com>


* tb/pack-bitmap-index-seek (2023-03-20) 6 commits
 - pack-bitmap.c: factor out `bitmap_index_seek_commit()`
 - pack-bitmap.c: use `bitmap_index_seek()` where possible
 - pack-bitmap.c: factor out manual `map_pos` manipulation
 - pack-bitmap.c: drop unnecessary 'inline's
 - pack-bitmap.c: hide bitmap internals in `read_be32()`
 - pack-bitmap.c: hide bitmap internals in `read_u8()`

 Clean-up the pack-bitmap codepath.

 Kicked back to 'seen' out of 'next'.
 There is a BUG() on data errors that needs to be fixed.
 source: <cover.1679342296.git.me@ttaylorr.com>


* cb/checkout-same-branch-twice (2023-03-22) 2 commits
 - SQUASH??? the test marked to expect failure passes from day one
 - checkout/switch: disallow checking out same branch in multiple worktrees

 "git checkout -B $branch" failed to protect against checking out
 a branch that is checked out elsewhere, unlike "git branch -f" did.

 Expecting a hopefully minor and final reroll.
 cf. <CAPUEspj_Bh+LgYLnWfeBdcq_uV5Cbou-7H51GLFjzSa5Qzby9w@mail.gmail.com>
 source: <20230120113553.24655-1-carenas@gmail.com>


* tk/pull-conflict-suggest-rebase-merge-not-rebase-true (2023-02-13) 1 commit
 - pull: conflict hint pull.rebase suggestion should offer "merges" vs "true"

 In an advice message after failed non-ff pull, we used to suggest
 setting pull.rebase=true, but these days pull.rebase=merges may be
 more inline with the original spirit of "rebuild your side on top
 of theirs".

 May want to discard.
 This is too much of a departure from the existing practice.
 cf. <CAMMLpeTPEoKVTbfc17w+Y9qn7jOGmQi_Ux0Y3sFW5QTgGWJ=SA@mail.gmail.com>
 cf. <CABPp-BGqAxKnxDRVN4cYMteLp33hvto07R3=TJBT5WubJT4+Og@mail.gmail.com>
 source: <pull.1474.git.1675614276549.gitgitgadget@gmail.com>


* ab/tag-object-type-errors (2023-05-10) 4 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.
 source: <cover-v2-0.3-00000000000-20221230T011725Z-avarab@gmail.com>


* ad/test-record-count-when-harness-is-in-use (2022-12-25) 1 commit
 - test-lib: allow storing counts with test harnesses

 Allow summary results from tests to be written to t/test-results
 directory even when a test harness like 'prove' is in use.

 Expecting a reroll.
 cf. <CABPp-BGoPuGCZw+9wCgdYyRR4Zf4y9Kun27GrQhtMdYWpOUsYQ@mail.gmail.com>
 source: <20221224225200.1027806-1-adam@dinwoodie.org>


* so/diff-merges-more (2022-12-18) 5 commits
 - diff-merges: improve --diff-merges documentation
 - diff-merges: issue warning on lone '-m' option
 - diff-merges: support list of values for --diff-merges
 - diff-merges: implement log.diffMerges-m-imply-p config
 - diff-merges: implement [no-]hide option and log.diffMergesHide config

 Assorted updates to "--diff-merges=X" option.

 May want to discard.
 Breaking compatibility does not seem worth it.
 source: <20221217132955.108542-1-sorganov@gmail.com>


* ab/imap-send-requires-curl (2023-02-02) 6 commits
 - imap-send: correctly report "host" when using "tunnel"
 - imap-send: remove old --no-curl codepath
 - imap-send: make --curl no-optional
 - imap-send: replace auto-probe libcurl with hard dependency
 - imap-send doc: the imap.sslVerify is used with imap.tunnel
 - imap-send: note "auth_method", not "host" on auth method failure

 Give a hard dependency on cURL library to build "git imap-send",
 and remove the code to interact with IMAP server without using cURL.

 Expecting a reroll.
 The 'tunnel' part is still iffy.
 cf. <230203.86bkmabfjr.gmgdl@evledraar.gmail.com>
 source: <cover-v2-0.6-00000000000-20230202T093706Z-avarab@gmail.com>


* tc/cat-file-z-use-cquote (2023-05-10) 1 commit
 - cat-file: quote-format name in error when using -z

 "cat-file" in the batch mode that is fed NUL-terminated pathnames
 learned to cquote them in its error output (otherwise, a funny
 pathname with LF in it would break the lines in the output stream).

 Will merge to 'next'?
 source: <20230510190116.795641-2-toon@iotcl.com>


* cw/submodule-status-in-parallel (2023-03-02) 6 commits
 - diff-lib: parallelize run_diff_files for submodules
 - diff-lib: refactor out diff_change logic
 - submodule: refactor is_submodule_modified()
 - submodule: move status parsing into function
 - submodule: rename strbuf variable
 - run-command: add on_stderr_output_fn to run_processes_parallel_opts

 "git submodule status" learned to run the comparison in submodule
 repositories in parallel.

 Expecting a reroll.
 cf. <CAFySSZDk05m6gU5-V1R+y3YnQ5PPduVW54+_gjBwD0rmacsLsw@mail.gmail.com>
 cf. <230307.865ybc273g.gmgdl@evledraar.gmail.com>
 source: <20230302215237.1473444-1-calvinwan@google.com>

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

* jc/t9800-fix-use-of-show-s-raw (2023-05-06) 1 commit
  (merged to 'next' on 2023-05-09 at f4d7a7d671)
 + t9800: correct misuse of 'show -s --raw' in a test

 A test fix.

 Will merge to 'master'.
 source: <xmqqild5rvvw.fsf@gitster.g>


* tl/push-branches-is-an-alias-for-all (2023-05-06) 1 commit
  (merged to 'next' on 2023-05-09 at 1d8c3e5dcf)
 + push: introduce '--branches' option

 "git push --all" gained an alias "git push --branches".

 Will merge to 'master'.
 source: <20230506113408.61529-2-tenglong.tl@alibaba-inc.com>


* en/header-split-cache-h-part-3 (2023-05-08) 25 commits
 - fsmonitor-ll.h: split this header out of fsmonitor.h
 - hash-ll, hashmap: move oidhash() to hash-ll
 - git-compat-util.h: remove unneccessary include of wildmatch.h
 - builtin.h: remove unneccessary includes
 - list-objects-filter-options.h: remove unneccessary include
 - diff.h: remove unnecessary include of oidset.h
 - repository: remove unnecessary include of path.h
 - log-tree: replace include of revision.h with simple forward declaration
 - cache.h: remove this no-longer-used header
 - read-cache*.h: move declarations for read-cache.c functions from cache.h
 - repository.h: move declaration of the_index from cache.h
 - merge.h: move declarations for merge.c from cache.h
 - diff.h: move declaration for global in diff.c from cache.h
 - preload-index.h: move declarations for preload-index.c from elsewhere
 - sparse-index.h: move declarations for sparse-index.c from cache.h
 - name-hash.h: move declarations for name-hash.c from cache.h
 - run-command.h: move declarations for run-command.c from cache.h
 - statinfo: move stat_{data,validity} functions from cache/read-cache
 - read-cache: move shared add/checkout/commit code
 - add: modify add_files_to_cache() to avoid globals
 - read-cache: move shared commit and ls-files code
 - setup: adopt shared init-db & clone code
 - init-db, clone: change unnecessary global into passed parameter
 - init-db: remove unnecessary global variable & document existing bug
 - Merge branch 'en/header-split-cache-h-part-2' into en/header-split-cache-h-part-3

 Header files cleanup.

 Needs review.
 source: <pull.1525.git.1683431149.gitgitgadget@gmail.com>


* js/subtree-fully-spelt-quiet-and-debug-options (2023-05-08) 1 commit
  (merged to 'next' on 2023-05-10 at 2980db981e)
 + subtree: support long global flags

 "git subtree" (in contrib/) update.

 Will merge to 'master'.
 source: <pull.1514.git.1683428988693.gitgitgadget@gmail.com>


* js/gitk-fixes-from-gfw (2023-05-08) 3 commits
  (merged to 'next' on 2023-05-08 at adb334deec)
 + Merge gitk changes into js/gitk-fixes-from-gfw
 + gitk: escape file paths before piping to git log
 + gitk: prevent overly long command lines

 Gitk updates from GfW project.

 Will merge to 'master'.
 source: <pull.1469.git.1674559397.gitgitgadget@gmail.com>


* la/doc-interpret-trailers (2023-05-11) 9 commits
 - doc: trailer: add more examples in DESCRIPTION
 - doc: trailer: mention 'key' in DESCRIPTION
 - doc: trailer.<token>.command: emphasize deprecation
 - doc: trailer: use angle brackets for <token> and <value>
 - doc: trailer: remove redundant phrasing
 - doc: trailer: examples: avoid the word "message" by itself
 - doc: trailer: drop "commit message part" phrasing
 - doc: trailer: swap verb order
 - doc: trailer: fix grammar

 Doc update.

 On hold. Looking good.
 Want to be rebased once kh/doc-interpret-trailers-updates lands.
 source: <pull.1506.v2.git.git.1683839975.gitgitgadget@gmail.com>


* ar/test-cleanup-unused-file-creation (2023-05-09) 1 commit
  (merged to 'next' on 2023-05-09 at 7734f3d690)
 + test: rev-parse-upstream: add missing cmp

 Test fix.

 Will merge to 'master'.
 source: <20230509000246.1760327-1-felipe.contreras@gmail.com>


* cc/git-replay (2023-05-09) 16 commits
 - SQUASH???
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 source: <20230509175347.1714141-1-christian.couder@gmail.com>


* jc/pack-ref-exclude-include (2023-05-11) 4 commits
 - pack-refs: teach pack-refs --include option
 - revision: modify ref_exclusions to handle inclusions
 - pack-refs: teach --exclude option to exclude refs from being packed
 - docs: clarify git-pack-refs --all will pack all refs

 "git pack-refs" learns "--include" and "--exclude" to tweak the ref
 hierarchy to be packed using pattern matching.

 Needs review.
 source: <pull.1501.v3.git.git.1683828635.gitgitgadget@gmail.com>


* jk/test-verbose-no-more (2023-05-08) 3 commits
  (merged to 'next' on 2023-05-09 at 897bfd0a6b)
 + t: drop "verbose" helper function
 + t7001: use "ls-files --format" instead of "cut"
 + t7001: avoid git on upstream of pipe

 Retire "verbose" helper function from the test framework.

 Will merge to 'master'.
 source: <20230508185953.GA2108869@coredump.intra.peff.net>


* tb/pack-extra-cruft-tips (2023-05-03) 1 commit
 - builtin/pack-objects.c: introduce `pack.extraCruftTips`

 "git pack-objects" learned to invoke a new hook program that
 enumerates extra objects to be used as anchoring points to keep
 otherwise unreachable objects in cruft packs.

 Under discussion
 cf. <20230505221921.GE3321533@coredump.intra.peff.net>
 source: <27a7f16aab35b5cac391d9831aadb0f2e2146313.1683151485.git.me@ttaylorr.com>


* jc/diff-s-with-other-options (2023-05-05) 1 commit
 - diff: fix interaction between the "-s" option and other options
 (this branch uses jc/dirstat-plug-leaks.)

 The "-s" (silent, squelch) option of the "diff" family of commands
 did not interact with other options that specify the output format
 well.  This has been cleaned up so that it will clear all the
 formatting options given before.

 Will merge to 'next'?
 source: <20230505165952.335256-1-gitster@pobox.com>


* fc/asciidoc-code-block-hack (2023-05-04) 2 commits
 - doc: manpage: remove ancient workaround
 - doc: git-svn: use listing instead of verse

 Documentation toolchain lost an ancient workaround that is no
 longer needed.

 Needs review.
 source: <20230504035517.329765-1-felipe.contreras@gmail.com>


* fc/doc-revisions-markup-fix (2023-05-04) 2 commits
 - doc: revisions: add a bunch of missing quotes
 - doc: revisions: fix missing escape

 Doc cleanup.

 Needs review.
 source: <20230504163421.100400-1-felipe.contreras@gmail.com>


* fc/doc-use-datestamp-in-commit (2023-05-05) 2 commits
  (merged to 'next' on 2023-05-06 at 1eda43b03f)
 + doc-diff: drop SOURCE_DATE_EPOCH override
 + doc: doc-diff: specify date

 An earlier change broke "doc-diff", which has been corrected.

 Will merge to 'master'.
 source: <20230503232349.59997-1-felipe.contreras@gmail.com>
 source: <20230505211610.GA3197168@coredump.intra.peff.net>


* jc/dirstat-plug-leaks (2023-05-05) 2 commits
  (merged to 'next' on 2023-05-09 at 2df7cf06e4)
 + diff: plug leaks in dirstat
 + diff: refactor common tail part of dirstat computation
 (this branch is used by jc/diff-s-with-other-options.)

 "git diff --dirstat" leaked memory, which has been plugged.

 Will merge to 'master'.
 source: <20230505211917.2746751-1-gitster@pobox.com>


* jc/name-rev-deprecate-stdin-further (2023-05-06) 1 commit
  (merged to 'next' on 2023-05-09 at 0db4f08e32)
 + name-rev: make --stdin hidden

 The "--stdin" option of "git name-rev" has been replaced with
 the "--annotate-stdin" option more than a year ago.  We stop
 advertising it in the "git name-rev -h" output.

 Will merge to 'master'.
 source: <pull.1225.v3.git.git.1683346451239.gitgitgadget@gmail.com>


* ob/revert-of-revert (2023-05-05) 1 commit
 - sequencer: beautify subject of reverts of reverts

 Instead of "Revert "Revert "original"", give "Reapply "original""
 as the title for a revert of a revert.

 Expecting a hopefully final reroll.
 Looking much better, except for minor cosmetic issues.
 source: <20230428083528.1699221-1-oswald.buddenhagen@gmx.de>


* jc/attr-source-tree (2023-05-06) 1 commit
  (merged to 'next' on 2023-05-10 at cb94f4fba6)
 + attr: teach "--attr-source=<tree>" global option to "git"

 "git --attr-source=<tree> cmd $args" is a new way to have any
 command to read attributes not from the working tree but from the
 given tree object.

 Will merge to 'master'.
 source: <pull.1470.v6.git.git.1683346530487.gitgitgadget@gmail.com>


* mc/send-email-header-cmd (2023-05-01) 3 commits
  (merged to 'next' on 2023-05-06 at 04514468b6)
 + send-email: detect empty blank lines in command output
 + send-email: add --header-cmd, --no-header-cmd options
 + send-email: extract execute_cmd from recipients_cmd

 "git send-email" learned "--header-cmd=<cmd>" that can inject
 arbitrary e-mail header lines to the outgoing messages.

 Will merge to 'master'.
 source: <20230501143848.19674-1-maxim.cournoyer@gmail.com>


* bc/clone-empty-repo-via-protocol-v0 (2023-05-01) 1 commit
 - upload-pack: advertise capabilities when cloning empty repos

 Expecting a minor and hopefully final update.
 cf. <20230501224038.GA1174291@coredump.intra.peff.net>
 source: <20230501170018.1410567-2-sandals@crustytoothpaste.net>


* ds/fsck-bitmap (2023-05-02) 2 commits
  (merged to 'next' on 2023-05-09 at c2148408a2)
 + fsck: use local repository
 + fsck: verify checksums of all .bitmap files

 "git fsck" learned to detect bit-flip breakages in the reachability
 bitmap files.

 Will merge to 'master'.
 source: <pull.1526.v2.git.1683034042.gitgitgadget@gmail.com>


* gc/trace-bare-repo-setup (2023-05-01) 1 commit
  (merged to 'next' on 2023-05-06 at 72b977d2f9)
 + setup: trace bare repository setups

 The tracing mechanism learned to notice and report when
 auto-discovered bare repositories are being used, as allowing so
 without explicitly stating the user intends to do so (with setting
 GIT_DIR for example) can be used with social engineering as an
 attack vector.

 Will merge to 'master'.
 source: <e98be8e7f703fc741e06d9208545abc8c24d1a4a.1682962110.git.steadmon@google.com>


* cw/strbuf-cleanup (2023-05-11) 7 commits
 - strbuf: remove global variable
 - strbuf: clarify dependency
 - path: move related function to path
 - object-name: move related functions to object-name
 - credential-store: move related functions to credential-store file
 - abspath: move related functions to abspath
 - strbuf: clarify API boundary

 Move functions that are not about pure string manipulation out of
 strbuf.[ch]

 Will merge to 'next'?
 source: <20230511194446.1492907-1-calvinwan@google.com>


* jc/doc-clarify-git-default-hash-variable (2023-04-26) 1 commit
  (merged to 'next' on 2023-05-06 at 7bae4db4cc)
 + doc: GIT_DEFAULT_HASH is and will be ignored during "clone"

 The documentation was misleading about the interaction between
 GIT_DEFAULT_HASH and "git clone", which has been clarified to
 stress that the variable is to be ignored by the command.

 Will merge to 'master'.
 source: <xmqqzg6uvfpo.fsf_-_@gitster.g>


* tl/notes-separator (2023-04-28) 6 commits
  (merged to 'next' on 2023-05-06 at 598ed19c9b)
 + notes.c: introduce "--[no-]stripspace" option
 + notes.c: append separator instead of insert by pos
 + notes.c: introduce '--separator=<paragraph-break>' option
 + t3321: add test cases about the notes stripspace behavior
 + notes.c: use designated initializers for clarity
 + notes.c: cleanup 'strbuf_grow' call in 'append_edit'

 'git notes append' was taught '--separator' to specify string to insert
 between paragraphs.

 Will merge to 'master'.
 source: <cover.1682671758.git.dyroneteng@gmail.com>


* pw/rebase-i-after-failure (2023-04-21) 6 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase: fix rewritten list for failed pick
 - rebase --continue: refuse to commit after failed command
 - sequencer: factor out part of pick_commits()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Expecting a reroll.
 cf. <xmqqsfcthrpb.fsf@gitster.g>
 cf. <1fd54422-b66a-c2e4-7cd7-934ea01190ad@gmail.com>
 source: <pull.1492.v2.git.1682089074.gitgitgadget@gmail.com>


* sl/sparse-write-tree-part-2 (2023-05-08) 1 commit
 - t1092: update a write-tree test

 Fix-up to a topic already graduated to 'master'.

 Will merge to 'next'?
 source: <20230508202140.464363-1-cheskaqiqi@gmail.com>


* tb/pack-bitmap-traversal-with-boundary (2023-05-08) 3 commits
 - pack-bitmap.c: use commit boundary during bitmap traversal
 - pack-bitmap.c: extract `fill_in_bitmap()`
 - object: add object_array initializer helper function

 The object traversal using reachability bitmap done by
 "pack-object" has been tweaked to take advantage of the fact that
 using "boundary" commits as representative of all the uninteresting
 ones can save quite a lot of object enumeration.
 source: <cover.1683567065.git.me@ttaylorr.com>


* ar/config-count-tests-updates (2023-04-24) 3 commits
  (merged to 'next' on 2023-05-06 at c585a56132)
 + t1300: add tests for missing keys
 + t1300: check stderr for "ignores pairs" tests
 + t1300: drop duplicate test

 Test updates.

 Will merge to 'master'.
 source: <20230423134649.431783-1-rybak.a.v@gmail.com>


* ps/fetch-output-format (2023-05-10) 9 commits
 - fetch: introduce machine-parseable "porcelain" output format
 - fetch: move option related variables into main function
 - fetch: lift up parsing of "fetch.output" config variable
 - fetch: introduce `display_format` enum
 - fetch: refactor calculation of the display table width
 - fetch: print left-hand side when fetching HEAD:foo
 - fetch: add a test to exercise invalid output formats
 - fetch: split out tests for output format
 - fetch: fix `--no-recurse-submodules` with multi-remote fetches

 "git fetch" learned the "--porcelain" option that emits what it did
 in a machine-parseable format.

 Will merge to 'next'?
 source: <cover.1683721293.git.ps@pks.im>


* sg/retire-unused-cocci (2023-04-20) 1 commit
 - cocci: remove 'unused.cocci'

 Retire a rather expensive-to-run Coccinelle check patch.

 Will merge to 'next'.
 source: <20230420205350.600760-1-szeder.dev@gmail.com>


* gc/doc-cocci-updates (2023-04-27) 2 commits
 - cocci: codify authoring and reviewing practices
 - cocci: add headings to and reword README

 Update documentation regarding Coccinelle patches.

 Will merge to 'next'?
 source: <pull.1495.v2.git.git.1682634143.gitgitgadget@gmail.com>


* kh/doc-interpret-trailers-updates (2023-05-01) 4 commits
  (merged to 'next' on 2023-05-06 at 4e9a640131)
 + doc: interpret-trailers: fix example
 + doc: interpret-trailers: don’t use deprecated config
 + doc: interpret-trailers: use input redirection
 + doc: interpret-trailers: don’t use heredoc in examples

 Doc update.

 Will merge to 'master'.
 source: <cover.1682970213.git.code@khaugsbakk.name>


* pb/complete-and-document-auto-merge-and-friends (2023-04-14) 5 commits
  (merged to 'next' on 2023-04-20 at 2728a01622)
 + completion: complete AUTO_MERGE
 + Documentation: document AUTO_MERGE
 + git-merge.txt: modernize word choice in "True merge" section
 + completion: complete REVERT_HEAD and BISECT_HEAD
 + revisions.txt: document more special refs

 Document more pseudo-refs and teach the command line completion
 machinery to complete AUTO_MERGE.

 On hold, waiting for a fix-up.
 cf. <a10648d5-8cba-4c7c-a303-b5b0dcdd3310@gmail.com>
 source: <pull.1515.git.1681495119.gitgitgadget@gmail.com>


* mh/credential-password-expiry-libsecret (2023-05-05) 1 commit
  (merged to 'next' on 2023-05-09 at fd898e3756)
 + credential/libsecret: support password_expiry_utc

 The libsecret credential helper learns to handle the password
 expiry time information.

 Will merge to 'master'.
 source: <pull.1469.v3.git.git.1683270298313.gitgitgadget@gmail.com>


* sl/diff-files-sparse (2023-05-09) 2 commits
 - diff-files: integrate with sparse index
 - t1092: add tests for `git diff-files`

 Teach "diff-files" not to expand sparse-index unless needed.

 Will merge to 'next'.
 cf. <f51a8d77-c480-f021-38c4-78a9d75cdd11@github.com>
 source: <20230509194241.469477-1-cheskaqiqi@gmail.com>


* rj/branch-unborn-in-other-worktrees (2023-03-27) 5 commits
  (merged to 'next' on 2023-05-06 at c61e9b0672)
 + branch: avoid unnecessary worktrees traversals
 + branch: rename orphan branches in any worktree
 + branch: description for orphan branch errors
 + branch: use get_worktrees() in copy_or_rename_branch()
 + branch: test for failures while renaming branches

 Error messages given when working on an unborn branch that is
 checked out in another worktree have been improved.

 Will merge to 'master'.
 source: <f8e6447e-5cd3-98fa-f567-39e1c60dacb0@gmail.com>

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

* ed/fsmonitor-inotify (2022-12-13) 6 commits
 . fsmonitor: update doc for Linux
 . fsmonitor: test updates
 . fsmonitor: enable fsmonitor for Linux
 . fsmonitor: implement filesystem change listener for Linux
 . fsmonitor: determine if filesystem is local or remote
 . fsmonitor: prepare to share code between Mac OS and Linux

 Bundled fsmonitor for Linux using inotify API.

 Seems to break asan job at CI when merged to 'seen'.
 cf. <xmqqzg7d8xn2.fsf@gitster.g>
 source: <pull.1352.v5.git.git.1670882286.gitgitgadget@gmail.com>


* my/wildmatch-cleanups (2023-02-27) 5 commits
 . wildmatch: more cleanups after killing uchar
 . wildmatch: use char instead of uchar
 . wildmatch: remove NEGATE_CLASS(2) macros with trivial refactoring
 . wildmatch: remove IS*() macros
 . git-compat-util: add isblank() and isgraph()

 Code clean-up.

 Discarded without prejudice after more than 6 weeks of inactivity.
 source: <20230226115021.1681834-1-masahiroy@kernel.org>


* cw/forbid-use-of-gitlink-outside-submodules (2023-02-28) 6 commits
 . add: reject nested repositories
 . tests: remove duplicate .gitmodules path
 . tests: use `git submodule add` and fix expected status
 . tests: use `git submodule add` and fix expected diffs
 . tests: Use `git submodule add` instead of `git add`
 . t4041, t4060: modernize test style

 Forbid "git add dir" from adding a gitlink to the index.

 Discarded without prejudice after more than 6 weeks of inactivity.
 source: <20230228185253.2356546-1-calvinwan@google.com>


* nw/for-each-ref-signature (2023-03-13) 1 commit
 . ref-filter: add new "signature" atom

 "git (for-each-ref|branch|tag) --format=<format>" learns the "%(signature)"
 placeholder and friends.

 Breaks CI.
 cf. <xmqqpm9bosjw.fsf@gitster.g>
 source: <20230311210607.64927-2-nsengiyumvawilberforce@gmail.com>

^ permalink raw reply	[relevance 19%]

* Re: What's cooking in git.git (May 2023, #03; Tue, 9)
  @ 2023-05-10 16:32 96%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-05-10 16:32 UTC (permalink / raw)
  To: Teng Long; +Cc: git

Teng Long <dyroneteng@gmail.com> writes:

>>* tl/notes-separator (2023-04-28) 6 commits
>>  (merged to 'next' on 2023-05-06 at 598ed19c9b)
>> + notes.c: introduce "--[no-]stripspace" option
>> + notes.c: append separator instead of insert by pos
>> + notes.c: introduce '--separator=<paragraph-break>' option
>
> Sorry, there is an updated optimization for the commit of the
> `--separator` option, which can be applied using the reply[1].
>
> Please also inform me if a new patch is needed and I will send
> it immediately.

Once a topic is in 'next', we update by queuing a new patch on top,
so [1] is not quite sufficient.

As to the "char *" -> "const char *", I didn't check if there are
places where we use the variable as "char *" and need changes other
than the place the variable is defined to prevent compilers from
complaining on type mismatches when I made the observation, out of
which you made the change.  In any case, "const char *" may be
safer, but the code as posted is not wrong per-se, and I do not see
it so urgent to fix.

The blank line also better sits between the decls and the first
statement, but I do not see it so urgent to fix with an immediate
patch, forging your sign-off and writing log message myself.  It
is something we can safely leave for a separate clean-up topic after
the dust settles.

Thanks.




^ permalink raw reply	[relevance 96%]

* What's cooking in git.git (May 2023, #03; Tue, 9)
@ 2023-05-10  1:56 17% Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2023-05-10  1:56 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a future
release).  Commits prefixed with '-' are only in 'seen', and aren't
considered "accepted" at all and may be annotated with an URL to a
message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity.

We are getting closer to pre-release freeze.  As I prefer to have
any non-trivial topics cook for 7 calendar days in 'next', anything
not in 'next' by Friday this week are unlikely to be in -rc1 for the
next release.

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']

* en/header-split-cache-h-part-2 (2023-04-24) 22 commits
  (merged to 'next' on 2023-05-01 at 722c412915)
 + reftable: ensure git-compat-util.h is the first (indirect) include
 + diff.h: reduce unnecessary includes
 + object-store.h: reduce unnecessary includes
 + commit.h: reduce unnecessary includes
 + fsmonitor: reduce includes of cache.h
 + cache.h: remove unnecessary headers
 + treewide: remove cache.h inclusion due to previous changes
 + cache,tree: move basic name compare functions from read-cache to tree
 + cache,tree: move cmp_cache_name_compare from tree.[ch] to read-cache.c
 + hash-ll.h: split out of hash.h to remove dependency on repository.h
 + tree-diff.c: move S_DIFFTREE_IFXMIN_NEQ define from cache.h
 + dir.h: move DTYPE defines from cache.h
 + versioncmp.h: move declarations for versioncmp.c functions from cache.h
 + ws.h: move declarations for ws.c functions from cache.h
 + match-trees.h: move declarations for match-trees.c functions from cache.h
 + pkt-line.h: move declarations for pkt-line.c functions from cache.h
 + base85.h: move declarations for base85.c functions from cache.h
 + copy.h: move declarations for copy.c functions from cache.h
 + server-info.h: move declarations for server-info.c functions from cache.h
 + packfile.h: move pack_window and pack_entry from cache.h
 + symlinks.h: move declarations for symlinks.c functions from cache.h
 + treewide: be explicit about dependence on strbuf.h
 (this branch is used by en/header-split-cache-h-part-3.)

 More header clean-up.
 source: <pull.1517.v2.git.1682194649.gitgitgadget@gmail.com>


* jk/parse-commit-with-malformed-ident (2023-04-27) 4 commits
  (merged to 'next' on 2023-04-28 at cb6ea0412a)
 + parse_commit(): describe more date-parsing failure modes
 + parse_commit(): handle broken whitespace-only timestamp
 + parse_commit(): parse timestamp from end of line
 + t4212: avoid putting git on left-hand side of pipe

 The commit object parser has been taught to be a bit more lenient
 to parse timestamps on the author/committer line with a malformed
 author/committer ident.
 source: <20230427081330.GA1461786@coredump.intra.peff.net>


* jw/send-email-update-gmail-insn (2023-04-28) 1 commit
  (merged to 'next' on 2023-05-01 at cb5d83ee92)
 + send-email docs: Remove mention of discontinued gmail feature

 Doc update to drop use of deprecated app-specific password against
 gmail.
 source: <20221001104609.18453-1-j.witteveen@gmail.com>


* mh/fix-detect-compilers-with-nondigit-versions (2023-04-26) 1 commit
  (merged to 'next' on 2023-04-28 at c0c54291c2)
 + Handle some compiler versions containing a dash

 The detect-compilers script to help auto-tweaking the build system
 had trouble working with compilers whose version number has extra
 suffixes.  The script has been taught that certain suffixes (like
 "-win32" in "gcc 10-win32") can be safely stripped as they share
 the same features and bugs with the version without the suffix.
 source: <20230426004843.3391826-1-mh@glandium.org>


* ob/messages-capitalize-exception (2023-04-28) 1 commit
  (merged to 'next' on 2023-05-01 at db0ef42b3a)
 + messages: capitalization and punctuation exceptions
 (this branch uses ob/sequencer-i18n-fix.)

 Message update.
 source: <20230428125649.1719796-1-oswald.buddenhagen@gmx.de>


* ob/sequencer-i18n-fix (2023-04-28) 1 commit
  (merged to 'next' on 2023-05-01 at 242ca8ce15)
 + sequencer: actually translate report in do_exec()
 (this branch is used by ob/messages-capitalize-exception.)

 Message update.
 source: <20230428125649.1719796-2-oswald.buddenhagen@gmx.de>


* ob/t3501-retitle (2023-05-01) 1 commit
  (merged to 'next' on 2023-05-01 at 52730fcaaa)
 + t/t3501-revert-cherry-pick.sh: clarify scope of the file

 Retitle a test script with an overly narrow name.
 source: <20230430100034.1889796-1-oswald.buddenhagen@gmx.de>

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

* jc/t9800-fix-use-of-show-s-raw (2023-05-06) 1 commit
  (merged to 'next' on 2023-05-09 at f4d7a7d671)
 + t9800: correct misuse of 'show -s --raw' in a test

 A test fix.

 Will merge to 'master'.
 source: <xmqqild5rvvw.fsf@gitster.g>


* tl/push-branches-is-an-alias-for-all (2023-05-06) 1 commit
  (merged to 'next' on 2023-05-09 at 1d8c3e5dcf)
 + push: introduce '--branches' option

 "git push --all" gained an alias "git push --branches".

 Will merge to 'master'.
 source: <20230506113408.61529-2-tenglong.tl@alibaba-inc.com>


* en/header-split-cache-h-part-3 (2023-05-08) 25 commits
 - fsmonitor-ll.h: split this header out of fsmonitor.h
 - hash-ll, hashmap: move oidhash() to hash-ll
 - git-compat-util.h: remove unneccessary include of wildmatch.h
 - builtin.h: remove unneccessary includes
 - list-objects-filter-options.h: remove unneccessary include
 - diff.h: remove unnecessary include of oidset.h
 - repository: remove unnecessary include of path.h
 - log-tree: replace include of revision.h with simple forward declaration
 - cache.h: remove this no-longer-used header
 - read-cache*.h: move declarations for read-cache.c functions from cache.h
 - repository.h: move declaration of the_index from cache.h
 - merge.h: move declarations for merge.c from cache.h
 - diff.h: move declaration for global in diff.c from cache.h
 - preload-index.h: move declarations for preload-index.c from elsewhere
 - sparse-index.h: move declarations for sparse-index.c from cache.h
 - name-hash.h: move declarations for name-hash.c from cache.h
 - run-command.h: move declarations for run-command.c from cache.h
 - statinfo: move stat_{data,validity} functions from cache/read-cache
 - read-cache: move shared add/checkout/commit code
 - add: modify add_files_to_cache() to avoid globals
 - read-cache: move shared commit and ls-files code
 - setup: adopt shared init-db & clone code
 - init-db, clone: change unnecessary global into passed parameter
 - init-db: remove unnecessary global variable & document existing bug
 - Merge branch 'en/header-split-cache-h-part-2' into en/header-split-cache-h-part-3

 source: <pull.1525.git.1683431149.gitgitgadget@gmail.com>


* js/subtree-fully-spelt-quiet-and-debug-options (2023-05-08) 1 commit
 - subtree: support long global flags

 "git subtree" (in contrib/) update.

 Will merge to 'next'.
 source: <pull.1514.git.1683428988693.gitgitgadget@gmail.com>


* js/gitk-fixes-from-gfw (2023-05-08) 3 commits
  (merged to 'next' on 2023-05-08 at adb334deec)
 + Merge gitk changes into js/gitk-fixes-from-gfw
 + gitk: escape file paths before piping to git log
 + gitk: prevent overly long command lines

 Gitk updates from GfW project.

 Will merge to 'master'.
 source: <pull.1469.git.1674559397.gitgitgadget@gmail.com>


* la/doc-interpret-trailers (2023-05-08) 11 commits
 - doc: trailer: add more examples in DESCRIPTION
 - doc: trailer: mention 'key' in DESCRIPTION
 - doc: trailer.<token>.command: emphasize deprecation
 - doc: trailer.<token>.command: refer to existing example
 - doc: trailer: trailer.<token>.cmd: add missing verb phrase
 - doc: trailer: use angle brackets for <token> and <value>
 - doc: trailer: explain "commit mesage part" on first usage
 - doc: trailer: remove redundant phrasing
 - doc: trailer: --no-divider: more precise language
 - doc: trailer: swap verb order
 - doc: trailer: fix grammar

 Doc update.

 Needs review.
 source: <pull.1506.git.git.1683566870.gitgitgadget@gmail.com>


* ar/test-cleanup-unused-file-creation (2023-05-09) 1 commit
  (merged to 'next' on 2023-05-09 at 7734f3d690)
 + test: rev-parse-upstream: add missing cmp

 Test fix.

 Will merge to 'master'.
 source: <20230509000246.1760327-1-felipe.contreras@gmail.com>


* cc/git-replay (2023-05-09) 16 commits
 - SQUASH???
 - replay: stop assuming replayed branches do not diverge
 - replay: add --contained to rebase contained branches
 - replay: add --advance or 'cherry-pick' mode
 - replay: disallow revision specific options and pathspecs
 - replay: use standard revision ranges
 - replay: make it a minimal server side command
 - replay: remove HEAD related sanity check
 - replay: remove progress and info output
 - replay: add an important FIXME comment about gpg signing
 - replay: don't simplify history
 - replay: introduce pick_regular_commit()
 - replay: die() instead of failing assert()
 - replay: start using parse_options API
 - replay: introduce new builtin
 - t6429: remove switching aspects of fast-rebase

 source: <20230509175347.1714141-1-christian.couder@gmail.com>


* jc/pack-ref-exclude-include (2023-05-09) 3 commits
 - pack-refs: teach pack-refs --include option
 - pack-refs: teach --exclude option to exclude refs from being packed
 - docs: clarify git-pack-refs --all will pack all refs

 "git pack-refs" learns "--include" and "--exclude" to tweak the ref
 hierarchy to be packed using pattern matching.
 source: <pull.1501.v2.git.git.1683659931.gitgitgadget@gmail.com>


* jk/test-verbose-no-more (2023-05-08) 3 commits
  (merged to 'next' on 2023-05-09 at 897bfd0a6b)
 + t: drop "verbose" helper function
 + t7001: use "ls-files --format" instead of "cut"
 + t7001: avoid git on upstream of pipe

 Retire "verbose" helper function from the test framework.

 Will merge to 'master'.
 source: <20230508185953.GA2108869@coredump.intra.peff.net>

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

* ed/fsmonitor-windows-named-pipe (2023-03-24) 1 commit
 - fsmonitor: handle differences between Windows named pipe functions

 Fix fsmonitor on Windows when the filesystem path contains certain
 characters.

 Expecting a reroll.
 cf. <b9cf67e4-22a7-2ff0-8310-9223bea10d6d@jeffhostetler.com>
 source: <pull.1503.git.1679678090412.gitgitgadget@gmail.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
 - diff-index: enable sparse index

 "git diff-index" command has been taught to work better with the
 sparse index.

 Expecting a reroll.
 cf. <62821012-4fc3-5ad8-695c-70f7ab14a8c9@github.com>
 source: <20230408112342.404318-1-nanth.raghul@gmail.com>


* ja/worktree-orphan (2023-04-17) 8 commits
 - worktree add: emit warn when there is a bad HEAD
 - worktree add: extend DWIM to infer --orphan
 - worktree add: introduce "try --orphan" hint
 - worktree add: add --orphan flag
 - t2400: add tests to verify --quiet
 - t2400: refactor "worktree add" opt exclusion tests
 - t2400: print captured git output when finished
 - worktree add: include -B in usage docs

 'git worktree add' learned how to create a worktree based on an
 orphaned branch with `--orphan`.

 Expecting a reroll.
 cf. <m7crhly2j3k76whydbtdwhvzghvoql436g3lqtst4v3ahv75aa@wq5zjepgrxz5>
 source: <20230417093255.31079-1-jacobabel@nullpo.dev>


* es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
 - usage: clarify --recurse-submodules as a boolean

 The "--[no-]recurse-submodules" option of "git checkout" and others
 supported an undocumented syntax --recurse-submodules=<value> where
 the value can spell a Boolean in various ways.  The support for the
 syntax is being dropped.

 Expecting a reroll.
 cf. <ZDSTFwMFO7vbj/du@google.com>
 source: <ZDSTFwMFO7vbj/du@google.com>


* tb/pack-bitmap-index-seek (2023-03-20) 6 commits
 - pack-bitmap.c: factor out `bitmap_index_seek_commit()`
 - pack-bitmap.c: use `bitmap_index_seek()` where possible
 - pack-bitmap.c: factor out manual `map_pos` manipulation
 - pack-bitmap.c: drop unnecessary 'inline's
 - pack-bitmap.c: hide bitmap internals in `read_be32()`
 - pack-bitmap.c: hide bitmap internals in `read_u8()`

 Clean-up the pack-bitmap codepath.

 Kicked back to 'seen' out of 'next'.
 There is a BUG() on data errors that needs to be fixed.
 source: <cover.1679342296.git.me@ttaylorr.com>


* cb/checkout-same-branch-twice (2023-03-22) 2 commits
 - SQUASH??? the test marked to expect failure passes from day one
 - checkout/switch: disallow checking out same branch in multiple worktrees

 "git checkout -B $branch" failed to protect against checking out
 a branch that is checked out elsewhere, unlike "git branch -f" did.

 Expecting a hopefully minor and final reroll.
 cf. <CAPUEspj_Bh+LgYLnWfeBdcq_uV5Cbou-7H51GLFjzSa5Qzby9w@mail.gmail.com>
 source: <20230120113553.24655-1-carenas@gmail.com>


* tk/pull-conflict-suggest-rebase-merge-not-rebase-true (2023-02-13) 1 commit
 - pull: conflict hint pull.rebase suggestion should offer "merges" vs "true"

 In an advice message after failed non-ff pull, we used to suggest
 setting pull.rebase=true, but these days pull.rebase=merges may be
 more inline with the original spirit of "rebuild your side on top
 of theirs".

 May want to discard.
 This is too much of a departure from the existing practice.
 cf. <CAMMLpeTPEoKVTbfc17w+Y9qn7jOGmQi_Ux0Y3sFW5QTgGWJ=SA@mail.gmail.com>
 cf. <CABPp-BGqAxKnxDRVN4cYMteLp33hvto07R3=TJBT5WubJT4+Og@mail.gmail.com>
 source: <pull.1474.git.1675614276549.gitgitgadget@gmail.com>


* ab/tag-object-type-errors (2022-11-22) 5 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - object-file.c: free the "t.tag" in check_tag()
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.

 Expecting a reroll.
 cf. <xmqqzgb5jz5c.fsf@gitster.g>
 cf. <xmqqsfgxjugi.fsf@gitster.g>
 source: <cover-0.4-00000000000-20221118T113442Z-avarab@gmail.com>


* ad/test-record-count-when-harness-is-in-use (2022-12-25) 1 commit
 - test-lib: allow storing counts with test harnesses

 Allow summary results from tests to be written to t/test-results
 directory even when a test harness like 'prove' is in use.

 Expecting a reroll.
 cf. <CABPp-BGoPuGCZw+9wCgdYyRR4Zf4y9Kun27GrQhtMdYWpOUsYQ@mail.gmail.com>
 source: <20221224225200.1027806-1-adam@dinwoodie.org>


* so/diff-merges-more (2022-12-18) 5 commits
 - diff-merges: improve --diff-merges documentation
 - diff-merges: issue warning on lone '-m' option
 - diff-merges: support list of values for --diff-merges
 - diff-merges: implement log.diffMerges-m-imply-p config
 - diff-merges: implement [no-]hide option and log.diffMergesHide config

 Assorted updates to "--diff-merges=X" option.

 May want to discard.
 Breaking compatibility does not seem worth it.
 source: <20221217132955.108542-1-sorganov@gmail.com>


* ab/imap-send-requires-curl (2023-02-02) 6 commits
 - imap-send: correctly report "host" when using "tunnel"
 - imap-send: remove old --no-curl codepath
 - imap-send: make --curl no-optional
 - imap-send: replace auto-probe libcurl with hard dependency
 - imap-send doc: the imap.sslVerify is used with imap.tunnel
 - imap-send: note "auth_method", not "host" on auth method failure

 Give a hard dependency on cURL library to build "git imap-send",
 and remove the code to interact with IMAP server without using cURL.

 Expecting a reroll.
 The 'tunnel' part is still iffy.
 cf. <230203.86bkmabfjr.gmgdl@evledraar.gmail.com>
 source: <cover-v2-0.6-00000000000-20230202T093706Z-avarab@gmail.com>


* tc/cat-file-z-use-cquote (2023-03-03) 2 commits
 . cat-file: quote-format name in error when using -z
 . cat-file: extract printing batch error message into function

 "cat-file" in the batch mode that is fed NUL-terminated pathnames
 learned to cquote them in its error output (otherwise, a funny
 pathname with LF in it would break the lines in the output stream).

 Breaks "cat-file --batch-all-objects --batch-check".
 cf. <xmqqilfhctrr.fsf@gitster.g>
 source: <20230303191708.77894-1-toon@iotcl.com>


* cw/submodule-status-in-parallel (2023-03-02) 6 commits
 - diff-lib: parallelize run_diff_files for submodules
 - diff-lib: refactor out diff_change logic
 - submodule: refactor is_submodule_modified()
 - submodule: move status parsing into function
 - submodule: rename strbuf variable
 - run-command: add on_stderr_output_fn to run_processes_parallel_opts

 "git submodule status" learned to run the comparison in submodule
 repositories in parallel.

 Expecting a reroll.
 cf. <CAFySSZDk05m6gU5-V1R+y3YnQ5PPduVW54+_gjBwD0rmacsLsw@mail.gmail.com>
 cf. <230307.865ybc273g.gmgdl@evledraar.gmail.com>
 source: <20230302215237.1473444-1-calvinwan@google.com>

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

* fc/doc-drop-custom-callout-format (2023-05-03) 1 commit
  (merged to 'next' on 2023-05-04 at c2fd654367)
 + doc: remove custom callouts format

 Our custom callout formatter is no longer used in the documentation
 formatting toolchain, as the upstream default ones give better
 output these days.

 Will merge to 'master'.
 source: <20230418011828.47851-1-felipe.contreras@gmail.com>


* fc/doc-man-lift-title-length-limit (2023-05-03) 1 commit
  (merged to 'next' on 2023-05-04 at d048eb1ef8)
 + doc: manpage: remove maximum title length

 The titles of manual pages (formatted with AsciiDoc) used to be
 chomped at unreasonably short limit, which has been removed; this
 makes the formatted output match that of asciidoctor.

 Will merge to 'master'.
 source: <20230503171658.8996-1-felipe.contreras@gmail.com>


* sd/doc-gitignore-and-rm-cached (2023-05-03) 1 commit
  (merged to 'next' on 2023-05-04 at a4b1b128d6)
 + docs: clarify git rm --cached function in gitignore note

 Doc update.

 Will merge to 'master'.
 source: <pull.862.v3.git.git.1683150400953.gitgitgadget@gmail.com>


* tb/pack-extra-cruft-tips (2023-05-03) 1 commit
 - builtin/pack-objects.c: introduce `pack.extraCruftTips`

 "git pack-objects" learned to invoke a new hook program that
 enumerates extra objects to be used as anchoring points to keep
 otherwise unreachable objects in cruft packs.

 Under discussion
 cf. <20230505221921.GE3321533@coredump.intra.peff.net>
 source: <27a7f16aab35b5cac391d9831aadb0f2e2146313.1683151485.git.me@ttaylorr.com>


* jc/diff-s-with-other-options (2023-05-05) 1 commit
 - diff: fix interaction between the "-s" option and other options
 (this branch uses jc/dirstat-plug-leaks.)

 The "-s" (silent, squelch) option of the "diff" family of commands
 did not interact with other options that specify the output format
 well.  This has been cleaned up so that it will clear all the
 formatting options given before.

 Will merge to 'next'?
 source: <20230505165952.335256-1-gitster@pobox.com>


* fc/asciidoc-code-block-hack (2023-05-04) 2 commits
 - doc: manpage: remove ancient workaround
 - doc: git-svn: use listing instead of verse

 Documentation toolchain lost an ancient workaround that is no
 longer needed.

 Needs review.
 source: <20230504035517.329765-1-felipe.contreras@gmail.com>


* fc/doc-revisions-markup-fix (2023-05-04) 2 commits
 - doc: revisions: add a bunch of missing quotes
 - doc: revisions: fix missing escape

 Doc cleanup.

 Needs review.
 source: <20230504163421.100400-1-felipe.contreras@gmail.com>


* fc/doc-use-datestamp-in-commit (2023-05-05) 2 commits
  (merged to 'next' on 2023-05-06 at 1eda43b03f)
 + doc-diff: drop SOURCE_DATE_EPOCH override
 + doc: doc-diff: specify date

 An earlier change broke "doc-diff", which has been corrected.

 Will merge to 'master'.
 source: <20230503232349.59997-1-felipe.contreras@gmail.com>
 source: <20230505211610.GA3197168@coredump.intra.peff.net>


* jc/dirstat-plug-leaks (2023-05-05) 2 commits
  (merged to 'next' on 2023-05-09 at 2df7cf06e4)
 + diff: plug leaks in dirstat
 + diff: refactor common tail part of dirstat computation
 (this branch is used by jc/diff-s-with-other-options.)

 "git diff --dirstat" leaked memory, which has been plugged.

 Will merge to 'master'.
 source: <20230505211917.2746751-1-gitster@pobox.com>


* jc/name-rev-deprecate-stdin-further (2023-05-06) 1 commit
  (merged to 'next' on 2023-05-09 at 0db4f08e32)
 + name-rev: make --stdin hidden

 The "--stdin" option of "git name-rev" has been replaced with
 the "--annotate-stdin" option more than a year ago.  We stop
 advertising it in the "git name-rev -h" output.

 Will merge to 'master'.
 source: <pull.1225.v3.git.git.1683346451239.gitgitgadget@gmail.com>


* ob/revert-of-revert (2023-05-05) 1 commit
 - sequencer: beautify subject of reverts of reverts

 Instead of "Revert "Revert "original"", give "Reapply "original""
 as the title for a revert of a revert.

 Expecting a hopefully final reroll.
 Looking much better, except for minor cosmetic issues.
 source: <20230428083528.1699221-1-oswald.buddenhagen@gmx.de>


* mh/use-wincred-from-system (2023-03-27) 1 commit
  (merged to 'next' on 2023-05-06 at a545c5d4aa)
 + credential/wincred: include wincred.h

 Code clean-up.

 Will merge to 'master'.
 cf. <8511e030-8167-715c-5ed4-1646e6e9ef85@gmx.de>
 cf. <CAGJzqsm4LmpYE46v2=y4=A+Och44zaQyzTXQRteX-KNSzA_18g@mail.gmail.com>
 source: <pull.1496.git.1679707396407.gitgitgadget@gmail.com>


* jc/attr-source-tree (2023-05-06) 1 commit
 - attr: teach "--attr-source=<tree>" global option to "git"

 "git --attr-source=<tree> cmd $args" is a new way to have any
 command to read attributes not from the working tree but from the
 given tree object.

 Will merge to 'next'.
 source: <pull.1470.v6.git.git.1683346530487.gitgitgadget@gmail.com>


* mc/send-email-header-cmd (2023-05-01) 3 commits
  (merged to 'next' on 2023-05-06 at 04514468b6)
 + send-email: detect empty blank lines in command output
 + send-email: add --header-cmd, --no-header-cmd options
 + send-email: extract execute_cmd from recipients_cmd

 "git send-email" learned "--header-cmd=<cmd>" that can inject
 arbitrary e-mail header lines to the outgoing messages.

 Will merge to 'master'.
 source: <20230501143848.19674-1-maxim.cournoyer@gmail.com>


* rs/test-ctype-eof (2023-05-02) 1 commit
  (merged to 'next' on 2023-05-02 at a19201a6a9)
 + test-ctype: check EOF

 ctype tests have been taught to test EOF, too.

 Will merge to 'master'.
 source: <1dbbd7ce-2b3f-6f88-f902-1d4ffe62e259@web.de>


* tb/credential-long-lines (2023-05-01) 7 commits
  (merged to 'next' on 2023-05-02 at f027002b92)
 + contrib/credential: embiggen fixed-size buffer in wincred
 + contrib/credential: avoid fixed-size buffer in libsecret
 + contrib/credential: .gitignore libsecret build artifacts
 + contrib/credential: remove 'gnome-keyring' credential helper
 + contrib/credential: avoid fixed-size buffer in osxkeychain
 + t/lib-credential.sh: ensure credential helpers handle long headers
 + credential.c: store "wwwauth[]" values in `credential_read()`

 The implementation of credential helpers used fgets() over fixed
 size buffers to read protocol messages, causing the remainder of
 the folded long line to trigger unexpected behaviour, which has
 been corrected.

 Will merge to 'master'.
 source: <cover.1682956419.git.me@ttaylorr.com>


* bc/clone-empty-repo-via-protocol-v0 (2023-05-01) 1 commit
 - upload-pack: advertise capabilities when cloning empty repos

 Expecting a minor and hopefully final update.
 cf. <20230501224038.GA1174291@coredump.intra.peff.net>
 source: <20230501170018.1410567-2-sandals@crustytoothpaste.net>


* ds/fsck-bitmap (2023-05-02) 2 commits
  (merged to 'next' on 2023-05-09 at c2148408a2)
 + fsck: use local repository
 + fsck: verify checksums of all .bitmap files

 "git fsck" learned to detect bit-flip breakages in the reachability
 bitmap files.

 Will merge to 'master'.
 source: <pull.1526.v2.git.1683034042.gitgitgadget@gmail.com>


* gc/trace-bare-repo-setup (2023-05-01) 1 commit
  (merged to 'next' on 2023-05-06 at 72b977d2f9)
 + setup: trace bare repository setups

 The tracing mechanism learned to notice and report when
 auto-discovered bare repositories are being used, as allowing so
 without explicitly stating the user intends to do so (with setting
 GIT_DIR for example) can be used with social engineering as an
 attack vector.

 Will merge to 'master'.
 source: <e98be8e7f703fc741e06d9208545abc8c24d1a4a.1682962110.git.steadmon@google.com>


* cw/strbuf-cleanup (2023-05-08) 7 commits
 - strbuf: remove global variable
 - strbuf: clarify dependency
 - path: move related function to path
 - object-name: move related functions to object-name
 - credential-store: move related functions to credential-store file
 - abspath: move related functions to abspath
 - strbuf: clarify API boundary

 Move functions that are not about pure string manipulation out of
 strbuf.[ch]

 Comments?
 source: <20230508165728.525603-1-calvinwan@google.com>


* ah/doc-attributes-text (2023-05-03) 1 commit
  (merged to 'next' on 2023-05-04 at 121c97817e)
 + docs: rewrite the documentation of the text and eol attributes

 Doc update to clarify how text and eol attributes interact to
 specify the end-of-line conversion.

 Will merge to 'master'.
 source: <20230503044656.221175-2-alexhenrie24@gmail.com>


* hx/negotiator-non-recursive (2023-04-26) 2 commits
  (merged to 'next' on 2023-05-02 at 64f97cc72d)
 + negotiator/skipping: fix some problems in mark_common()
 + negotiator/default: avoid stack overflow

 The implementation of the default "negotiator", used to find common
 ancestor over the network for object tranfer, used to be recursive;
 it was updated to be iterative to conserve stackspace usage.

 Will merge to 'master'.
 cf. <9ad5f246-e21f-0a13-1a53-1ae3307c3f0e@github.com>
 source: <cover.1682513384.git.hanxin.hx@bytedance.com>


* jc/doc-clarify-git-default-hash-variable (2023-04-26) 1 commit
  (merged to 'next' on 2023-05-06 at 7bae4db4cc)
 + doc: GIT_DEFAULT_HASH is and will be ignored during "clone"

 The documentation was misleading about the interaction between
 GIT_DEFAULT_HASH and "git clone", which has been clarified to
 stress that the variable is to be ignored by the command.

 Will merge to 'master'.
 source: <xmqqzg6uvfpo.fsf_-_@gitster.g>


* tl/notes-separator (2023-04-28) 6 commits
  (merged to 'next' on 2023-05-06 at 598ed19c9b)
 + notes.c: introduce "--[no-]stripspace" option
 + notes.c: append separator instead of insert by pos
 + notes.c: introduce '--separator=<paragraph-break>' option
 + t3321: add test cases about the notes stripspace behavior
 + notes.c: use designated initializers for clarity
 + notes.c: cleanup 'strbuf_grow' call in 'append_edit'

 'git notes append' was taught '--separator' to specify string to insert
 between paragraphs.

 Will merge to 'master'.
 source: <cover.1682671758.git.dyroneteng@gmail.com>


* pw/rebase-i-after-failure (2023-04-21) 6 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase: fix rewritten list for failed pick
 - rebase --continue: refuse to commit after failed command
 - sequencer: factor out part of pick_commits()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Expecting a reroll.
 cf. <xmqqsfcthrpb.fsf@gitster.g>
 cf. <1fd54422-b66a-c2e4-7cd7-934ea01190ad@gmail.com>
 source: <pull.1492.v2.git.1682089074.gitgitgadget@gmail.com>


* sl/sparse-write-tree-part-2 (2023-05-08) 1 commit
 - t1092: update a write-tree test

 Fix-up to a topic already graduated to 'master'.

 Will merge to 'next'?
 source: <20230508202140.464363-1-cheskaqiqi@gmail.com>


* tb/pack-bitmap-traversal-with-boundary (2023-05-08) 3 commits
 - pack-bitmap.c: use commit boundary during bitmap traversal
 - pack-bitmap.c: extract `fill_in_bitmap()`
 - object: add object_array initializer helper function

 The object traversal using reachability bitmap done by
 "pack-object" has been tweaked to take advantage of the fact that
 using "boundary" commits as representative of all the uninteresting
 ones can save quite a lot of object enumeration.
 source: <cover.1683567065.git.me@ttaylorr.com>


* ar/config-count-tests-updates (2023-04-24) 3 commits
  (merged to 'next' on 2023-05-06 at c585a56132)
 + t1300: add tests for missing keys
 + t1300: check stderr for "ignores pairs" tests
 + t1300: drop duplicate test

 Test updates.

 Will merge to 'master'.
 source: <20230423134649.431783-1-rybak.a.v@gmail.com>


* ps/fetch-output-format (2023-05-09) 8 commits
 - fetch: introduce machine-parseable "porcelain" output format
 - fetch: move option related variables into main function
 - fetch: move display format parsing into main function
 - fetch: introduce `display_format` enum
 - fetch: fix missing from-reference when fetching HEAD:foo
 - fetch: add a test to exercise invalid output formats
 - fetch: split out tests for output format
 - fetch: fix `--no-recurse-submodules` with multi-remote fetches

 "git fetch" learned the "--porcelain" option that emits what it did
 in a machine-parseable format.

 Getting there.
 source: <cover.1683636885.git.ps@pks.im>


* ma/gittutorial-fixes (2023-04-20) 2 commits
  (merged to 'next' on 2023-05-02 at bf96011972)
 + gittutorial: wrap literal examples in backticks
 + gittutorial: drop early mention of origin

 Doc fixes.

 Will merge to 'master'.
 source: <cover.1681579244.git.martin.agren@gmail.com>


* sg/retire-unused-cocci (2023-04-20) 1 commit
 - cocci: remove 'unused.cocci'

 Retire a rather expensive-to-run Coccinelle check patch.
 source: <20230420205350.600760-1-szeder.dev@gmail.com>


* ms/send-email-feed-header-to-validate-hook (2023-04-19) 2 commits
  (merged to 'next' on 2023-05-03 at ba7079bcd4)
 + send-email: expose header information to git-send-email's sendemail-validate hook
 + send-email: refactor header generation functions

 "git send-email" learned to give the e-mail headers to the validate
 hook by passing an extra argument from the command line.

 Will merge to 'master'.
 source: <20230419202703.2911836-1-michael.strawbridge@amd.com>


* gc/doc-cocci-updates (2023-04-27) 2 commits
 - cocci: codify authoring and reviewing practices
 - cocci: add headings to and reword README

 Update documentation regarding Coccinelle patches.

 Will merge to 'next'?
 source: <pull.1495.v2.git.git.1682634143.gitgitgadget@gmail.com>


* kh/doc-interpret-trailers-updates (2023-05-01) 4 commits
  (merged to 'next' on 2023-05-06 at 4e9a640131)
 + doc: interpret-trailers: fix example
 + doc: interpret-trailers: don’t use deprecated config
 + doc: interpret-trailers: use input redirection
 + doc: interpret-trailers: don’t use heredoc in examples

 Doc update.

 Will merge to 'master'.
 source: <cover.1682970213.git.code@khaugsbakk.name>


* pb/complete-and-document-auto-merge-and-friends (2023-04-14) 5 commits
  (merged to 'next' on 2023-04-20 at 2728a01622)
 + completion: complete AUTO_MERGE
 + Documentation: document AUTO_MERGE
 + git-merge.txt: modernize word choice in "True merge" section
 + completion: complete REVERT_HEAD and BISECT_HEAD
 + revisions.txt: document more special refs

 Document more pseudo-refs and teach the command line completion
 machinery to complete AUTO_MERGE.

 On hold, waiting for a fix-up.
 cf. <a10648d5-8cba-4c7c-a303-b5b0dcdd3310@gmail.com>
 source: <pull.1515.git.1681495119.gitgitgadget@gmail.com>


* ar/test-cleanup-unused-file-creation-part2 (2023-05-03) 6 commits
  (merged to 'next' on 2023-05-03 at 185f0ec195)
 + t2019: don't create unused files
 + t1502: don't create unused files
 + t1450: don't create unused files
 + t1300: don't create unused files
 + t1300: fix config file syntax error descriptions
 + t0300: don't create unused file

 Test cleanup.

 Will merge to 'master'.
 cf. <CABPp-BFCBPTBc9savP13gNFmBo_WCnZHUv_Z8bWE6T6GZOrs-Q@mail.gmail.com>
 source: <20230417191044.909094-1-rybak.a.v@gmail.com>


* mh/credential-password-expiry-wincred (2023-04-03) 1 commit
  (merged to 'next' on 2023-05-06 at 51aae61f60)
 + credential/wincred: store password_expiry_utc

 Teach the recently invented "password expiry time" trait to the
 wincred credential helper.

 Will merge to 'master'.
 cf. <CAGJzqsm4LmpYE46v2=y4=A+Och44zaQyzTXQRteX-KNSzA_18g@mail.gmail.com>
 source: <pull.1477.v3.git.git.1680508028077.gitgitgadget@gmail.com>


* mh/credential-oauth-refresh-token (2023-04-21) 1 commit
  (merged to 'next' on 2023-05-04 at 9ade4aa024)
 + credential: new attribute oauth_refresh_token

 The credential subsystem learns to help OAuth framework.

 Will merge to 'master'.
 source: <pull.1394.v2.git.1682070479816.gitgitgadget@gmail.com>


* mh/credential-password-expiry-libsecret (2023-05-05) 1 commit
  (merged to 'next' on 2023-05-09 at fd898e3756)
 + credential/libsecret: support password_expiry_utc

 The libsecret credential helper learns to handle the password
 expiry time information.

 Will merge to 'master'.
 source: <pull.1469.v3.git.git.1683270298313.gitgitgadget@gmail.com>


* sl/diff-files-sparse (2023-05-09) 2 commits
 - diff-files: integrate with sparse index
 - t1092: add tests for `git diff-files`

 Teach "diff-files" not to expand sparse-index unless needed.

 Will merge to 'next'?
 source: <20230509194241.469477-1-cheskaqiqi@gmail.com>


* rj/branch-unborn-in-other-worktrees (2023-03-27) 5 commits
  (merged to 'next' on 2023-05-06 at c61e9b0672)
 + branch: avoid unnecessary worktrees traversals
 + branch: rename orphan branches in any worktree
 + branch: description for orphan branch errors
 + branch: use get_worktrees() in copy_or_rename_branch()
 + branch: test for failures while renaming branches

 Error messages given when working on an unborn branch that is
 checked out in another worktree have been improved.

 Will merge to 'master'.
 source: <f8e6447e-5cd3-98fa-f567-39e1c60dacb0@gmail.com>

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

* ed/fsmonitor-inotify (2022-12-13) 6 commits
 . fsmonitor: update doc for Linux
 . fsmonitor: test updates
 . fsmonitor: enable fsmonitor for Linux
 . fsmonitor: implement filesystem change listener for Linux
 . fsmonitor: determine if filesystem is local or remote
 . fsmonitor: prepare to share code between Mac OS and Linux

 Bundled fsmonitor for Linux using inotify API.

 Seems to break asan job at CI when merged to 'seen'.
 cf. <xmqqzg7d8xn2.fsf@gitster.g>
 source: <pull.1352.v5.git.git.1670882286.gitgitgadget@gmail.com>


* my/wildmatch-cleanups (2023-02-27) 5 commits
 . wildmatch: more cleanups after killing uchar
 . wildmatch: use char instead of uchar
 . wildmatch: remove NEGATE_CLASS(2) macros with trivial refactoring
 . wildmatch: remove IS*() macros
 . git-compat-util: add isblank() and isgraph()

 Code clean-up.

 Discarded without prejudice after more than 6 weeks of inactivity.
 source: <20230226115021.1681834-1-masahiroy@kernel.org>


* cw/forbid-use-of-gitlink-outside-submodules (2023-02-28) 6 commits
 . add: reject nested repositories
 . tests: remove duplicate .gitmodules path
 . tests: use `git submodule add` and fix expected status
 . tests: use `git submodule add` and fix expected diffs
 . tests: Use `git submodule add` instead of `git add`
 . t4041, t4060: modernize test style

 Forbid "git add dir" from adding a gitlink to the index.

 Discarded without prejudice after more than 6 weeks of inactivity.
 source: <20230228185253.2356546-1-calvinwan@google.com>


* nw/for-each-ref-signature (2023-03-13) 1 commit
 . ref-filter: add new "signature" atom

 "git (for-each-ref|branch|tag) --format=<format>" learns the "%(signature)"
 placeholder and friends.

 Breaks CI.
 cf. <xmqqpm9bosjw.fsf@gitster.g>
 source: <20230311210607.64927-2-nsengiyumvawilberforce@gmail.com>

^ permalink raw reply	[relevance 17%]

* Re: What's cooking in git.git (May 2023, #02; Fri, 5)
  @ 2023-05-08 21:40 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-05-08 21:40 UTC (permalink / raw)
  To: Derrick Stolee; +Cc: git

Derrick Stolee <derrickstolee@github.com> writes:

> This has been marked as "Will merge to 'master'" for a few cooking
> emails, but as far as I can tell it hasn't even hit 'next'. Is
> there a reason for that?

Thanks for pinging.  Buried in a huge pile of topics.

^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (May 2023, #02; Fri, 5)
@ 2023-05-05 23:05 20% Junio C Hamano
    0 siblings, 1 reply; 200+ results
From: Junio C Hamano @ 2023-05-05 23:05 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a future
release).  Commits prefixed with '-' are only in 'seen', and aren't
considered "accepted" at all and may be annotated with an URL to a
message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity.

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]

* fc/doc-drop-custom-callout-format (2023-05-03) 1 commit
  (merged to 'next' on 2023-05-04 at c2fd654367)
 + doc: remove custom callouts format

 Our custom callout formatter is no longer used in the documentation
 formatting toolchain, as the upstream default ones give better
 output these days.

 Will merge to 'master'.
 source: <20230418011828.47851-1-felipe.contreras@gmail.com>


* fc/doc-man-lift-title-length-limit (2023-05-03) 1 commit
  (merged to 'next' on 2023-05-04 at d048eb1ef8)
 + doc: manpage: remove maximum title length

 The titles of manual pages (formatted with AsciiDoc) used to be
 chomped at unreasonably short limit, which has been removed; this
 makes the formatted output match that of asciidoctor.

 Will merge to 'master'.
 source: <20230503171658.8996-1-felipe.contreras@gmail.com>


* sd/doc-gitignore-and-rm-cached (2023-05-03) 1 commit
  (merged to 'next' on 2023-05-04 at a4b1b128d6)
 + docs: clarify git rm --cached function in gitignore note

 Doc update.

 Will merge to 'master'.
 source: <pull.862.v3.git.git.1683150400953.gitgitgadget@gmail.com>


* tb/pack-extra-cruft-tips (2023-05-03) 1 commit
 - builtin/pack-objects.c: introduce `pack.extraCruftTips`

 "git pack-objects" learned to invoke a new hook program that
 enumerates extra objects to be used as anchoring points to keep
 otherwise unreachable objects in cruft packs.

 Under discussion
 cf. <20230505221921.GE3321533@coredump.intra.peff.net>
 source: <27a7f16aab35b5cac391d9831aadb0f2e2146313.1683151485.git.me@ttaylorr.com>


* jc/diff-s-with-other-options (2023-05-05) 1 commit
 - diff: fix interaction between the "-s" option and other options
 (this branch uses jc/dirstat-plug-leaks.)

 The "-s" (silent, squelch) option of the "diff" family of commands
 did not interact with other options that specify the output format
 well.  This has been cleaned up so that it will clear all the
 formatting options given before.

 Will merge to 'next'?
 source: <20230505165952.335256-1-gitster@pobox.com>

* fc/asciidoc-code-block-hack (2023-05-04) 2 commits
 - doc: manpage: remove ancient workaround
 - doc: git-svn: use listing instead of verse

 Documentation toolchain lost an ancient workaround that is no
 longer needed.

 Needs review.
 source: <20230504035517.329765-1-felipe.contreras@gmail.com>


* fc/doc-revisions-markup-fix (2023-05-04) 2 commits
 - doc: revisions: add a bunch of missing quotes
 - doc: revisions: fix missing escape

 Doc cleanup.

 Needs review.
 source: <20230504163421.100400-1-felipe.contreras@gmail.com>


* fc/doc-use-datestamp-in-commit (2023-05-05) 2 commits
 - doc-diff: drop SOURCE_DATE_EPOCH override
 - doc: doc-diff: specify date

 An earlier change broke "doc-diff", which has been corrected.

 Will merge to 'next'.
 source: <20230503232349.59997-1-felipe.contreras@gmail.com>
 source: <20230505211610.GA3197168@coredump.intra.peff.net>


* jc/dirstat-plug-leaks (2023-05-05) 2 commits
 - diff: plug leaks in dirstat
 - diff: refactor common tail part of dirstat computation
 (this branch is used by jc/diff-s-with-other-options.)

 "git diff --dirstat" leaked memory, which has been plugged.

 Will merge to 'next'?
 source: <20230505211917.2746751-1-gitster@pobox.com>


* jc/name-rev-deprecate-stdin-further (2023-05-05) 1 commit
 - name-rev: make --stdin hidden

 The "--stdin" option of "git name-rev" has been replaced with
 the "--annotate-stdin" option more than a year ago.  We stop
 advertising it in the "git name-rev -h" output.

 Expecting a reroll.
 source: <pull.1225.v2.git.git.1683314270964.gitgitgadget@gmail.com>

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

* ed/fsmonitor-windows-named-pipe (2023-03-24) 1 commit
 - fsmonitor: handle differences between Windows named pipe functions

 Fix fsmonitor on Windows when the filesystem path contains certain
 characters.

 Expecting a reroll.
 cf. <b9cf67e4-22a7-2ff0-8310-9223bea10d6d@jeffhostetler.com>
 source: <pull.1503.git.1679678090412.gitgitgadget@gmail.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
 - diff-index: enable sparse index

 "git diff-index" command has been taught to work better with the
 sparse index.

 Expecting a reroll.
 cf. <62821012-4fc3-5ad8-695c-70f7ab14a8c9@github.com>
 source: <20230408112342.404318-1-nanth.raghul@gmail.com>


* ja/worktree-orphan (2023-04-17) 8 commits
 - worktree add: emit warn when there is a bad HEAD
 - worktree add: extend DWIM to infer --orphan
 - worktree add: introduce "try --orphan" hint
 - worktree add: add --orphan flag
 - t2400: add tests to verify --quiet
 - t2400: refactor "worktree add" opt exclusion tests
 - t2400: print captured git output when finished
 - worktree add: include -B in usage docs

 'git worktree add' learned how to create a worktree based on an
 orphaned branch with `--orphan`.

 Expecting a reroll.
 cf. <m7crhly2j3k76whydbtdwhvzghvoql436g3lqtst4v3ahv75aa@wq5zjepgrxz5>
 source: <20230417093255.31079-1-jacobabel@nullpo.dev>


* es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
 - usage: clarify --recurse-submodules as a boolean

 The "--[no-]recurse-submodules" option of "git checkout" and others
 supported an undocumented syntax --recurse-submodules=<value> where
 the value can spell a Boolean in various ways.  The support for the
 syntax is being dropped.

 Expecting a reroll.
 cf. <ZDSTFwMFO7vbj/du@google.com>
 source: <ZDSTFwMFO7vbj/du@google.com>


* tb/pack-bitmap-index-seek (2023-03-20) 6 commits
 - pack-bitmap.c: factor out `bitmap_index_seek_commit()`
 - pack-bitmap.c: use `bitmap_index_seek()` where possible
 - pack-bitmap.c: factor out manual `map_pos` manipulation
 - pack-bitmap.c: drop unnecessary 'inline's
 - pack-bitmap.c: hide bitmap internals in `read_be32()`
 - pack-bitmap.c: hide bitmap internals in `read_u8()`

 Clean-up the pack-bitmap codepath.

 Kicked back to 'seen' out of 'next'.
 There is a BUG() on data errors that needs to be fixed.
 source: <cover.1679342296.git.me@ttaylorr.com>


* cb/checkout-same-branch-twice (2023-03-22) 2 commits
 - SQUASH??? the test marked to expect failure passes from day one
 - checkout/switch: disallow checking out same branch in multiple worktrees

 "git checkout -B $branch" failed to protect against checking out
 a branch that is checked out elsewhere, unlike "git branch -f" did.

 Expecting a hopefully minor and final reroll.
 cf. <CAPUEspj_Bh+LgYLnWfeBdcq_uV5Cbou-7H51GLFjzSa5Qzby9w@mail.gmail.com>
 source: <20230120113553.24655-1-carenas@gmail.com>


* tk/pull-conflict-suggest-rebase-merge-not-rebase-true (2023-02-13) 1 commit
 - pull: conflict hint pull.rebase suggestion should offer "merges" vs "true"

 In an advice message after failed non-ff pull, we used to suggest
 setting pull.rebase=true, but these days pull.rebase=merges may be
 more inline with the original spirit of "rebuild your side on top
 of theirs".

 May want to discard.
 This is too much of a departure from the existing practice.
 cf. <CAMMLpeTPEoKVTbfc17w+Y9qn7jOGmQi_Ux0Y3sFW5QTgGWJ=SA@mail.gmail.com>
 cf. <CABPp-BGqAxKnxDRVN4cYMteLp33hvto07R3=TJBT5WubJT4+Og@mail.gmail.com>
 source: <pull.1474.git.1675614276549.gitgitgadget@gmail.com>


* ab/tag-object-type-errors (2022-11-22) 5 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - object-file.c: free the "t.tag" in check_tag()
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.

 Expecting a reroll.
 cf. <xmqqzgb5jz5c.fsf@gitster.g>
 cf. <xmqqsfgxjugi.fsf@gitster.g>
 source: <cover-0.4-00000000000-20221118T113442Z-avarab@gmail.com>


* ad/test-record-count-when-harness-is-in-use (2022-12-25) 1 commit
 - test-lib: allow storing counts with test harnesses

 Allow summary results from tests to be written to t/test-results
 directory even when a test harness like 'prove' is in use.

 Expecting a reroll.
 cf. <CABPp-BGoPuGCZw+9wCgdYyRR4Zf4y9Kun27GrQhtMdYWpOUsYQ@mail.gmail.com>
 source: <20221224225200.1027806-1-adam@dinwoodie.org>


* so/diff-merges-more (2022-12-18) 5 commits
 - diff-merges: improve --diff-merges documentation
 - diff-merges: issue warning on lone '-m' option
 - diff-merges: support list of values for --diff-merges
 - diff-merges: implement log.diffMerges-m-imply-p config
 - diff-merges: implement [no-]hide option and log.diffMergesHide config

 Assorted updates to "--diff-merges=X" option.

 May want to discard.
 Breaking compatibility does not seem worth it.
 source: <20221217132955.108542-1-sorganov@gmail.com>


* ab/imap-send-requires-curl (2023-02-02) 6 commits
 - imap-send: correctly report "host" when using "tunnel"
 - imap-send: remove old --no-curl codepath
 - imap-send: make --curl no-optional
 - imap-send: replace auto-probe libcurl with hard dependency
 - imap-send doc: the imap.sslVerify is used with imap.tunnel
 - imap-send: note "auth_method", not "host" on auth method failure

 Give a hard dependency on cURL library to build "git imap-send",
 and remove the code to interact with IMAP server without using cURL.

 Expecting a reroll.
 The 'tunnel' part is still iffy.
 cf. <230203.86bkmabfjr.gmgdl@evledraar.gmail.com>
 source: <cover-v2-0.6-00000000000-20230202T093706Z-avarab@gmail.com>


* tc/cat-file-z-use-cquote (2023-03-03) 2 commits
 . cat-file: quote-format name in error when using -z
 . cat-file: extract printing batch error message into function

 "cat-file" in the batch mode that is fed NUL-terminated pathnames
 learned to cquote them in its error output (otherwise, a funny
 pathname with LF in it would break the lines in the output stream).

 Breaks "cat-file --batch-all-objects --batch-check".
 cf. <xmqqilfhctrr.fsf@gitster.g>
 source: <20230303191708.77894-1-toon@iotcl.com>


* cw/submodule-status-in-parallel (2023-03-02) 6 commits
 - diff-lib: parallelize run_diff_files for submodules
 - diff-lib: refactor out diff_change logic
 - submodule: refactor is_submodule_modified()
 - submodule: move status parsing into function
 - submodule: rename strbuf variable
 - run-command: add on_stderr_output_fn to run_processes_parallel_opts

 "git submodule status" learned to run the comparison in submodule
 repositories in parallel.

 Expecting a reroll.
 cf. <CAFySSZDk05m6gU5-V1R+y3YnQ5PPduVW54+_gjBwD0rmacsLsw@mail.gmail.com>
 cf. <230307.865ybc273g.gmgdl@evledraar.gmail.com>
 source: <20230302215237.1473444-1-calvinwan@google.com>

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

* ob/revert-of-revert (2023-05-05) 1 commit
 - sequencer: beautify subject of reverts of reverts

 Instead of "Revert "Revert "original"", give "Replay "original""
 as the title for a revert of a revert.

 Expecting a hopefully final reroll.
 Looking much better, except for minor cosmetic issues.
 source: <20230428083528.1699221-1-oswald.buddenhagen@gmx.de>


* mh/use-wincred-from-system (2023-03-27) 1 commit
 - credential/wincred: include wincred.h

 Code clean-up.

 Will merge to 'next'.
 cf. <8511e030-8167-715c-5ed4-1646e6e9ef85@gmx.de>
 cf. <CAGJzqsm4LmpYE46v2=y4=A+Och44zaQyzTXQRteX-KNSzA_18g@mail.gmail.com>
 source: <pull.1496.git.1679707396407.gitgitgadget@gmail.com>


* jc/attr-source-tree (2023-05-03) 1 commit
 - attr: teach "--attr-source=<tree>" global option to "git"

 "git --attr-source=<tree> cmd $args" is a new way to have any
 command to read attributes not from the working tree but from the
 given tree object.

 Expecting a hopefully final minor reroll.
 cf. <CAP8UFD1AuFWWC=iAe0duhpSsw9HnA-tcpV2F3NGT+089aY60Ow@mail.gmail.com>
 source: <pull.1470.v5.git.git.1683144574158.gitgitgadget@gmail.com>


* mc/send-email-header-cmd (2023-05-01) 3 commits
 - send-email: detect empty blank lines in command output
 - send-email: add --header-cmd, --no-header-cmd options
 - send-email: extract execute_cmd from recipients_cmd

 "git send-email" learned "--header-cmd=<cmd>" that can inject
 arbitrary e-mail header lines to the outgoing messages.

 Will merge to 'next'.
 source: <20230501143848.19674-1-maxim.cournoyer@gmail.com>


* ob/t3501-retitle (2023-05-01) 1 commit
  (merged to 'next' on 2023-05-01 at 52730fcaaa)
 + t/t3501-revert-cherry-pick.sh: clarify scope of the file

 Retitle a test script with an overly narrow name.

 Will merge to 'master'.
 source: <20230430100034.1889796-1-oswald.buddenhagen@gmx.de>


* rs/test-ctype-eof (2023-05-02) 1 commit
  (merged to 'next' on 2023-05-02 at a19201a6a9)
 + test-ctype: check EOF

 ctype tests have been taught to test EOF, too.

 Will merge to 'master'.
 source: <1dbbd7ce-2b3f-6f88-f902-1d4ffe62e259@web.de>


* tb/credential-long-lines (2023-05-01) 7 commits
  (merged to 'next' on 2023-05-02 at f027002b92)
 + contrib/credential: embiggen fixed-size buffer in wincred
 + contrib/credential: avoid fixed-size buffer in libsecret
 + contrib/credential: .gitignore libsecret build artifacts
 + contrib/credential: remove 'gnome-keyring' credential helper
 + contrib/credential: avoid fixed-size buffer in osxkeychain
 + t/lib-credential.sh: ensure credential helpers handle long headers
 + credential.c: store "wwwauth[]" values in `credential_read()`

 The implementation of credential helpers used fgets() over fixed
 size buffers to read protocol messages, causing the remainder of
 the folded long line to trigger unexpected behaviour, which has
 been corrected.

 Will merge to 'master'.
 source: <cover.1682956419.git.me@ttaylorr.com>


* bc/clone-empty-repo-via-protocol-v0 (2023-05-01) 1 commit
 - upload-pack: advertise capabilities when cloning empty repos

 Expecting a minor and hopefully final update.
 cf. <20230501224038.GA1174291@coredump.intra.peff.net>
 source: <20230501170018.1410567-2-sandals@crustytoothpaste.net>


* ds/fsck-bitmap (2023-05-02) 2 commits
 - fsck: use local repository
 - fsck: verify checksums of all .bitmap files

 "git fsck" learned to detect bit-flip breakages in the reachability
 bitmap files.

 Will merge to 'master'.
 source: <pull.1526.v2.git.1683034042.gitgitgadget@gmail.com>


* gc/trace-bare-repo-setup (2023-05-01) 1 commit
 - setup: trace bare repository setups

 The tracing mechanism learned to notice and report when
 auto-discovered bare repositories are being used, as allowing so
 without explicitly stating the user intends to do so (with setting
 GIT_DIR for example) can be used with social engineering as an
 attack vector.

 Will merge to 'next'.
 source: <e98be8e7f703fc741e06d9208545abc8c24d1a4a.1682962110.git.steadmon@google.com>


* cw/strbuf-cleanup (2023-05-03) 7 commits
 - strbuf: remove environment variables
 - strbuf: clarify dependency
 - path: move related function to path
 - object-name: move related functions to object-name
 - credential-store: move related functions to credential-store file
 - abspath: move related functions to abspath
 - strbuf: clarify API boundary

 Move functions that are not about pure string manipulation out of
 strbuf.[ch]

 Comments?
 source: <20230503184849.1809304-1-calvinwan@google.com>


* ah/doc-attributes-text (2023-05-03) 1 commit
  (merged to 'next' on 2023-05-04 at 121c97817e)
 + docs: rewrite the documentation of the text and eol attributes

 Doc update to clarify how text and eol attributes interact to
 specify the end-of-line conversion.

 Will merge to 'master'.
 source: <20230503044656.221175-2-alexhenrie24@gmail.com>


* jw/send-email-update-gmail-insn (2023-04-28) 1 commit
  (merged to 'next' on 2023-05-01 at cb5d83ee92)
 + send-email docs: Remove mention of discontinued gmail feature

 Doc update to drop use of deprecated app-specific password against
 gmail.

 Will merge to 'master'.
 source: <20221001104609.18453-1-j.witteveen@gmail.com>


* ob/messages-capitalize-exception (2023-04-28) 1 commit
  (merged to 'next' on 2023-05-01 at db0ef42b3a)
 + messages: capitalization and punctuation exceptions
 (this branch uses ob/sequencer-i18n-fix.)

 Message update.

 Will merge to 'master'.
 source: <20230428125649.1719796-1-oswald.buddenhagen@gmx.de>


* ob/sequencer-i18n-fix (2023-04-28) 1 commit
  (merged to 'next' on 2023-05-01 at 242ca8ce15)
 + sequencer: actually translate report in do_exec()
 (this branch is used by ob/messages-capitalize-exception.)

 Message update.

 Will merge to 'master'.
 source: <20230428125649.1719796-2-oswald.buddenhagen@gmx.de>


* hx/negotiator-non-recursive (2023-04-26) 2 commits
  (merged to 'next' on 2023-05-02 at 64f97cc72d)
 + negotiator/skipping: fix some problems in mark_common()
 + negotiator/default: avoid stack overflow

 The implementation of the default "negotiator", used to find common
 ancestor over the network for object tranfer, used to be recursive;
 it was updated to be iterative to conserve stackspace usage.

 Will merge to 'master'.
 cf. <9ad5f246-e21f-0a13-1a53-1ae3307c3f0e@github.com>
 source: <cover.1682513384.git.hanxin.hx@bytedance.com>


* jc/doc-clarify-git-default-hash-variable (2023-04-26) 1 commit
 - doc: GIT_DEFAULT_HASH is and will be ignored during "clone"

 The documentation was misleading about the interaction between
 GIT_DEFAULT_HASH and "git clone", which has been clarified to
 stress that the variable is to be ignored by the command.

 Will merge to 'next'.
 source: <xmqqzg6uvfpo.fsf_-_@gitster.g>


* mh/fix-detect-compilers-with-nondigit-versions (2023-04-26) 1 commit
  (merged to 'next' on 2023-04-28 at c0c54291c2)
 + Handle some compiler versions containing a dash

 The detect-compilers script to help auto-tweaking the build system
 had trouble working with compilers whose version number has extra
 suffixes.  The script has been taught that certain suffixes (like
 "-win32" in "gcc 10-win32") can be safely stripped as they share
 the same features and bugs with the version without the suffix.

 Will merge to 'master'.
 source: <20230426004843.3391826-1-mh@glandium.org>


* tl/notes-separator (2023-04-28) 6 commits
 - notes.c: introduce "--[no-]stripspace" option
 - notes.c: append separator instead of insert by pos
 - notes.c: introduce '--separator=<paragraph-break>' option
 - t3321: add test cases about the notes stripspace behavior
 - notes.c: use designated initializers for clarity
 - notes.c: cleanup 'strbuf_grow' call in 'append_edit'

 'git notes append' was taught '--separator' to specify string to insert
 between paragraphs.

 Will merge to 'next'.
 source: <cover.1682671758.git.dyroneteng@gmail.com>


* pw/rebase-i-after-failure (2023-04-21) 6 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase: fix rewritten list for failed pick
 - rebase --continue: refuse to commit after failed command
 - sequencer: factor out part of pick_commits()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Expecting a reroll.
 cf. <xmqqsfcthrpb.fsf@gitster.g>
 cf. <1fd54422-b66a-c2e4-7cd7-934ea01190ad@gmail.com>
 source: <pull.1492.v2.git.1682089074.gitgitgadget@gmail.com>


* jk/parse-commit-with-malformed-ident (2023-04-27) 4 commits
  (merged to 'next' on 2023-04-28 at cb6ea0412a)
 + parse_commit(): describe more date-parsing failure modes
 + parse_commit(): handle broken whitespace-only timestamp
 + parse_commit(): parse timestamp from end of line
 + t4212: avoid putting git on left-hand side of pipe

 The commit object parser has been taught to be a bit more lenient
 to parse timestamps on the author/committer line with a malformed
 author/committer ident.

 Will merge to 'master'.
 source: <20230427081330.GA1461786@coredump.intra.peff.net>


* sl/sparse-write-tree-part-2 (2023-04-24) 1 commit
 - write-tree: optimize sparse integration

 Fix-up to a topic already graduated to 'master'.

 Expecting a reroll.
 cf. <20230423071243.1863977-1-cheskaqiqi@gmail.com>
 source: <20230423071243.1863977-1-cheskaqiqi@gmail.com>


* tb/pack-bitmap-traversal-with-boundary (2023-05-05) 2 commits
 - pack-bitmap.c: use commit boundary during bitmap traversal
 - pack-bitmap.c: extract `fill_in_bitmap()`

 The object traversal using reachability bitmap done by
 "pack-object" has been tweaked to take advantage of the fact that
 using "boundary" commits as representative of all the uninteresting
 ones can save quite a lot of object enumeration.

 Under discussion.
 cf. <4ce3ff5f-e7cd-f604-f5da-66939be7d314@github.com>
 source: <cover.1683307620.git.me@ttaylorr.com>


* ar/config-count-tests-updates (2023-04-24) 3 commits
 - t1300: add tests for missing keys
 - t1300: check stderr for "ignores pairs" tests
 - t1300: drop duplicate test

 Test updates.

 Will merge to 'next'.
 source: <20230423134649.431783-1-rybak.a.v@gmail.com>


* en/header-split-cache-h-part-2 (2023-04-24) 22 commits
  (merged to 'next' on 2023-05-01 at 722c412915)
 + reftable: ensure git-compat-util.h is the first (indirect) include
 + diff.h: reduce unnecessary includes
 + object-store.h: reduce unnecessary includes
 + commit.h: reduce unnecessary includes
 + fsmonitor: reduce includes of cache.h
 + cache.h: remove unnecessary headers
 + treewide: remove cache.h inclusion due to previous changes
 + cache,tree: move basic name compare functions from read-cache to tree
 + cache,tree: move cmp_cache_name_compare from tree.[ch] to read-cache.c
 + hash-ll.h: split out of hash.h to remove dependency on repository.h
 + tree-diff.c: move S_DIFFTREE_IFXMIN_NEQ define from cache.h
 + dir.h: move DTYPE defines from cache.h
 + versioncmp.h: move declarations for versioncmp.c functions from cache.h
 + ws.h: move declarations for ws.c functions from cache.h
 + match-trees.h: move declarations for match-trees.c functions from cache.h
 + pkt-line.h: move declarations for pkt-line.c functions from cache.h
 + base85.h: move declarations for base85.c functions from cache.h
 + copy.h: move declarations for copy.c functions from cache.h
 + server-info.h: move declarations for server-info.c functions from cache.h
 + packfile.h: move pack_window and pack_entry from cache.h
 + symlinks.h: move declarations for symlinks.c functions from cache.h
 + treewide: be explicit about dependence on strbuf.h

 More header clean-up.

 Will merge to 'master'.
 source: <pull.1517.v2.git.1682194649.gitgitgadget@gmail.com>


* ps/fetch-output-format (2023-05-03) 8 commits
 - fetch: introduce machine-parseable "porcelain" output format
 - fetch: move option related variables into main function
 - fetch: move display format parsing into main function
 - fetch: introduce `display_format` enum
 - fetch: fix missing from-reference when fetching HEAD:foo
 - fetch: add a test to exercise invalid output formats
 - fetch: split out tests for output format
 - fetch: fix `--no-recurse-submodules` with multi-remote fetches

 "git fetch" learned the "--output-format" option that emits what it
 did in a machine-parseable format.

 Will merge to 'next'?
 source: <cover.1683113177.git.ps@pks.im>


* ma/gittutorial-fixes (2023-04-20) 2 commits
  (merged to 'next' on 2023-05-02 at bf96011972)
 + gittutorial: wrap literal examples in backticks
 + gittutorial: drop early mention of origin

 Doc fixes.

 Will merge to 'master'.
 source: <cover.1681579244.git.martin.agren@gmail.com>


* sg/retire-unused-cocci (2023-04-20) 1 commit
 - cocci: remove 'unused.cocci'

 Retire a rather expensive-to-run Coccinelle check patch.

 source: <20230420205350.600760-1-szeder.dev@gmail.com>


* ms/send-email-feed-header-to-validate-hook (2023-04-19) 2 commits
  (merged to 'next' on 2023-05-03 at ba7079bcd4)
 + send-email: expose header information to git-send-email's sendemail-validate hook
 + send-email: refactor header generation functions

 "git send-email" learned to give the e-mail headers to the validate
 hook by passing an extra argument from the command line.

 Will merge to 'master'.
 source: <20230419202703.2911836-1-michael.strawbridge@amd.com>


* gc/doc-cocci-updates (2023-04-27) 2 commits
 - cocci: codify authoring and reviewing practices
 - cocci: add headings to and reword README

 Update documentation regarding Coccinelle patches.

 Will merge to 'next'?
 source: <pull.1495.v2.git.git.1682634143.gitgitgadget@gmail.com>


* kh/doc-interpret-trailers-updates (2023-05-01) 4 commits
 - doc: interpret-trailers: fix example
 - doc: interpret-trailers: don’t use deprecated config
 - doc: interpret-trailers: use input redirection
 - doc: interpret-trailers: don’t use heredoc in examples

 Doc update.

 Will merge to 'next'.
 source: <cover.1682970213.git.code@khaugsbakk.name>


* pb/complete-and-document-auto-merge-and-friends (2023-04-14) 5 commits
  (merged to 'next' on 2023-04-20 at 2728a01622)
 + completion: complete AUTO_MERGE
 + Documentation: document AUTO_MERGE
 + git-merge.txt: modernize word choice in "True merge" section
 + completion: complete REVERT_HEAD and BISECT_HEAD
 + revisions.txt: document more special refs

 Document more pseudo-refs and teach the command line completion
 machinery to complete AUTO_MERGE.

 On hold, waiting for a fix-up.
 cf. <a10648d5-8cba-4c7c-a303-b5b0dcdd3310@gmail.com>
 source: <pull.1515.git.1681495119.gitgitgadget@gmail.com>


* ar/test-cleanup-unused-file-creation-part2 (2023-05-03) 6 commits
  (merged to 'next' on 2023-05-03 at 185f0ec195)
 + t2019: don't create unused files
 + t1502: don't create unused files
 + t1450: don't create unused files
 + t1300: don't create unused files
 + t1300: fix config file syntax error descriptions
 + t0300: don't create unused file

 Test cleanup.

 Will merge to 'master'.
 cf. <CABPp-BFCBPTBc9savP13gNFmBo_WCnZHUv_Z8bWE6T6GZOrs-Q@mail.gmail.com>
 source: <20230417191044.909094-1-rybak.a.v@gmail.com>


* mh/credential-password-expiry-wincred (2023-04-03) 1 commit
 - credential/wincred: store password_expiry_utc

 Teach the recently invented "password expiry time" trait to the
 wincred credential helper.

 Will merge to 'next'.
 cf. <CAGJzqsm4LmpYE46v2=y4=A+Och44zaQyzTXQRteX-KNSzA_18g@mail.gmail.com>
 source: <pull.1477.v3.git.git.1680508028077.gitgitgadget@gmail.com>


* mh/credential-oauth-refresh-token (2023-04-21) 1 commit
  (merged to 'next' on 2023-05-04 at 9ade4aa024)
 + credential: new attribute oauth_refresh_token

 The credential subsystem learns to help OAuth framework.

 Will merge to 'master'.
 source: <pull.1394.v2.git.1682070479816.gitgitgadget@gmail.com>


* mh/credential-password-expiry-libsecret (2023-05-05) 1 commit
 - credential/libsecret: support password_expiry_utc

 The libsecret credential helper learns to handle the password
 expiry time information.

 Will merge to 'next'?
 source: <pull.1469.v3.git.git.1683270298313.gitgitgadget@gmail.com>


* sl/diff-files-sparse (2023-05-03) 2 commits
 - diff-files: integrate with sparse index
 - t1092: add tests for `git diff-files`

 Teach "diff-files" not to expand sparse-index unless needed.

 Expecting a hopefully minor and final reroll.
 cf. <xmqqpm7hm1yy.fsf@gitster.g>
 source: <20230503215549.511999-1-cheskaqiqi@gmail.com>


* rj/branch-unborn-in-other-worktrees (2023-03-27) 5 commits
 - branch: avoid unnecessary worktrees traversals
 - branch: rename orphan branches in any worktree
 - branch: description for orphan branch errors
 - branch: use get_worktrees() in copy_or_rename_branch()
 - branch: test for failures while renaming branches

 Error messages given when working on an unborn branch that is
 checked out in another worktree have been improved.

 Will merge to 'next'.
 source: <f8e6447e-5cd3-98fa-f567-39e1c60dacb0@gmail.com>

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

* ed/fsmonitor-inotify (2022-12-13) 6 commits
 . fsmonitor: update doc for Linux
 . fsmonitor: test updates
 . fsmonitor: enable fsmonitor for Linux
 . fsmonitor: implement filesystem change listener for Linux
 . fsmonitor: determine if filesystem is local or remote
 . fsmonitor: prepare to share code between Mac OS and Linux

 Bundled fsmonitor for Linux using inotify API.

 Seems to break asan job at CI when merged to 'seen'.
 cf. <xmqqzg7d8xn2.fsf@gitster.g>
 source: <pull.1352.v5.git.git.1670882286.gitgitgadget@gmail.com>


* my/wildmatch-cleanups (2023-02-27) 5 commits
 . wildmatch: more cleanups after killing uchar
 . wildmatch: use char instead of uchar
 . wildmatch: remove NEGATE_CLASS(2) macros with trivial refactoring
 . wildmatch: remove IS*() macros
 . git-compat-util: add isblank() and isgraph()

 Code clean-up.

 Discarded without prejudice after more than 6 weeks of inactivity.
 source: <20230226115021.1681834-1-masahiroy@kernel.org>


* cw/forbid-use-of-gitlink-outside-submodules (2023-02-28) 6 commits
 . add: reject nested repositories
 . tests: remove duplicate .gitmodules path
 . tests: use `git submodule add` and fix expected status
 . tests: use `git submodule add` and fix expected diffs
 . tests: Use `git submodule add` instead of `git add`
 . t4041, t4060: modernize test style

 Forbid "git add dir" from adding a gitlink to the index.

 Discarded without prejudice after more than 6 weeks of inactivity.
 source: <20230228185253.2356546-1-calvinwan@google.com>


* nw/for-each-ref-signature (2023-03-13) 1 commit
 . ref-filter: add new "signature" atom

 "git (for-each-ref|branch|tag) --format=<format>" learns the "%(signature)"
 placeholder and friends.

 Breaks CI.
 cf. <xmqqpm9bosjw.fsf@gitster.g>
 source: <20230311210607.64927-2-nsengiyumvawilberforce@gmail.com>

^ permalink raw reply	[relevance 20%]

* Re: What's cooking in git.git (May 2023, #01; Tue, 2)
  @ 2023-05-04 15:13 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-05-04 15:13 UTC (permalink / raw)
  To: M Hickford; +Cc: git

M Hickford <mirth.hickford@gmail.com> writes:

>> * mh/credential-oauth-refresh-token (2023-04-21) 1 commit
>>  - credential: new attribute oauth_refresh_token
>> 
>>  The credential subsystem learns to help OAuth framework.
>> 
>>  Needs Review.
>>  source: <pull.1394.v2.git.1682070479816.gitgitgadget@gmail.com>
>
> Hi. Is Jeff's positive review [1] "correctly implements the intent
> ... sounds reasonable to me" sufficient to advance this patch to
> or towards 'next'?

Yeah, sure, I missed that thread, it seems.

Thanks.

^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (May 2023, #01; Tue, 2)
  @ 2023-05-03 21:21 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-05-03 21:21 UTC (permalink / raw)
  To: johncai86; +Cc: git

johncai86 <johncai86@gmail.com> writes:

>> * jc/attr-source-tree (2023-05-01) 1 commit
>>  - attr: teach "--attr-source=<tree>" global option to "git"
>> 
>>  "git --attr-source=<tree> cmd $args" is a new way to have any
>>  command to read attributes not from the working tree but from the
>>  given tree object.
>> 
>>  Will merge to 'next'?
>>  source: <pull.1470.v4.git.git.1682822352360.gitgitgadget@gmail.com>
>
> Christian sent some more feedback on this one. Latest version:
> https://lore.kernel.org/git/pull.1470.v5.git.git.1683144574158.gitgitgadget@gmail.com/

Yeah, I noticed you sent out an update about an hour or so ago.
Will replace.

Thanks.

^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (May 2023, #01; Tue, 2)
  @ 2023-05-03 17:36 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-05-03 17:36 UTC (permalink / raw)
  To: Felipe Contreras; +Cc: git

Felipe Contreras <felipe.contreras@gmail.com> writes:

> What's wrong with:
> https://lore.kernel.org/git/20230418011828.47851-1-felipe.contreras@gmail.com/

By itself there may not be.  And we have the "checkout" thing that
may have been made worse updated already on the 'master' front, so
this should be a good addition.

Thanks for pinging.  Queued on top of the more recent 'master'.

^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (May 2023, #01; Tue, 2)
@ 2023-05-02 22:49 22% Junio C Hamano
                     ` (2 more replies)
  0 siblings, 3 replies; 200+ results
From: Junio C Hamano @ 2023-05-02 22:49 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a future
release).  Commits prefixed with '-' are only in 'seen', and aren't
considered "accepted" at all and may be annotated with an URL to a
message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity.

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']

* ek/completion-use-read-r-to-read-literally (2023-04-20) 1 commit
  (merged to 'next' on 2023-04-24 at 25bf3b808b)
 + completion: suppress unwanted unescaping of `read`

 The completion script used to use bare "read" without the "-r"
 option to read the contents of various state files, which risked
 getting confused with backslashes in them.  This has been
 corrected.
 source: <20230420223800.1698197-1-myoga.murase@gmail.com>


* en/ort-finalize-after-0-merges-fix (2023-04-24) 1 commit
  (merged to 'next' on 2023-04-25 at 1bc935225b)
 + merge-ort: fix calling merge_finalize() with no intermediate merge

 A small API fix to the ort merge strategy backend.
 source: <pull.1518.v2.git.1682194930766.gitgitgadget@gmail.com>


* jk/blame-fake-commit-label (2023-04-24) 1 commit
  (merged to 'next' on 2023-04-26 at 85226d9501)
 + blame: use different author name for fake commit generated by --contents

 The output given by "git blame" that attributes a line to contents
 taken from the file specified by the "--contents" option shows it
 differently from a line attributed to the working tree file.
 source: <20230424193508.2245566-1-jacob.e.keller@intel.com>


* jk/misc-null-check-fixes (2023-04-24) 2 commits
  (merged to 'next' on 2023-04-26 at 9500384e9d)
 + fetch_bundle_uri(): drop pointless NULL check
 + notes: clean up confusing NULL checks in init_notes()

 Code clean-up.
 source: <20230422135455.GA3942740@coredump.intra.peff.net>


* tb/ban-strtok (2023-04-27) 6 commits
  (merged to 'next' on 2023-04-27 at cbbfa4a609)
 + banned.h: mark `strtok()` and `strtok_r()` as banned
 + t/helper/test-json-writer.c: avoid using `strtok()`
 + t/helper/test-oidmap.c: avoid using `strtok()`
 + t/helper/test-hashmap.c: avoid using `strtok()`
 + string-list: introduce `string_list_setlen()`
 + string-list: multi-delimiter `string_list_split_in_place()`

 Mark strtok() and strtok_r() to be banned.
 source: <cover.1682374789.git.me@ttaylorr.com>

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

* jc/attr-source-tree (2023-05-01) 1 commit
 - attr: teach "--attr-source=<tree>" global option to "git"

 "git --attr-source=<tree> cmd $args" is a new way to have any
 command to read attributes not from the working tree but from the
 given tree object.

 Will merge to 'next'?
 source: <pull.1470.v4.git.git.1682822352360.gitgitgadget@gmail.com>


* mc/send-email-header-cmd (2023-05-01) 3 commits
 - send-email: detect empty blank lines in command output
 - send-email: add --header-cmd, --no-header-cmd options
 - send-email: extract execute_cmd from recipients_cmd

 "git send-email" learned "--header-cmd=<cmd>" that can inject
 arbitrary e-mail header lines to the outgoing messages.

 Will merge to 'next'?
 source: <20230501143848.19674-1-maxim.cournoyer@gmail.com>


* ob/t3501-retitle (2023-05-01) 1 commit
  (merged to 'next' on 2023-05-01 at 52730fcaaa)
 + t/t3501-revert-cherry-pick.sh: clarify scope of the file

 Retitle a test script with an overly narrow name.

 Will merge to 'master'.
 source: <20230430100034.1889796-1-oswald.buddenhagen@gmx.de>


* rs/test-ctype-eof (2023-05-02) 1 commit
  (merged to 'next' on 2023-05-02 at a19201a6a9)
 + test-ctype: check EOF

 ctype tests have been taught to test EOF, too.

 Will merge to 'master'.
 source: <1dbbd7ce-2b3f-6f88-f902-1d4ffe62e259@web.de>


* tb/credential-long-lines (2023-05-01) 7 commits
  (merged to 'next' on 2023-05-02 at f027002b92)
 + contrib/credential: embiggen fixed-size buffer in wincred
 + contrib/credential: avoid fixed-size buffer in libsecret
 + contrib/credential: .gitignore libsecret build artifacts
 + contrib/credential: remove 'gnome-keyring' credential helper
 + contrib/credential: avoid fixed-size buffer in osxkeychain
 + t/lib-credential.sh: ensure credential helpers handle long headers
 + credential.c: store "wwwauth[]" values in `credential_read()`

 The implementation of credential helpers used fgets() over fixed
 size buffers to read protocol messages, causing the remainder of
 the folded long line to trigger unexpected behaviour, which has
 been corrected.

 Will merge to 'master'.
 source: <cover.1682956419.git.me@ttaylorr.com>


* bc/clone-empty-repo-via-protocol-v0 (2023-05-01) 1 commit
 - upload-pack: advertise capabilities when cloning empty repos

 Expecting a minor and hopefully final update.
 cf. <20230501224038.GA1174291@coredump.intra.peff.net>
 source: <20230501170018.1410567-2-sandals@crustytoothpaste.net>


* ds/fsck-bitmap (2023-05-02) 2 commits
 - fsck: use local repository
 - fsck: verify checksums of all .bitmap files

 "git fsck" learned to detect bit-flip breakages in the reachability
 bitmap files.

 Will merge to 'master'.
 source: <pull.1526.v2.git.1683034042.gitgitgadget@gmail.com>


* gc/trace-bare-repo-setup (2023-05-01) 1 commit
 - setup: trace bare repository setups

 The tracing mechanism learned to notice and report when
 auto-discovered bare repositories are being used, as allowing so
 without explicitly stating the user intends to do so (with setting
 GIT_DIR for example) can be used with social engineering as an
 attack vector.

 Will merge to 'next'?
 source: <e98be8e7f703fc741e06d9208545abc8c24d1a4a.1682962110.git.steadmon@google.com>


* cw/strbuf-cleanup (2023-05-02) 6 commits
 - strbuf: remove environment variables
 - strbuf: clarify dependency
 - path: move related function to path
 - object-name: move related functions to object-name
 - credential-store: move related functions to credential-store file
 - abspath: move related functions to abspath

 Move functions that are not about pure string manipulation out of
 strbuf.[ch]

 Comments?
 source: <20230502211454.1673000-1-calvinwan@google.com>

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

* tb/pack-bitmap-index-seek (2023-03-20) 6 commits
 - pack-bitmap.c: factor out `bitmap_index_seek_commit()`
 - pack-bitmap.c: use `bitmap_index_seek()` where possible
 - pack-bitmap.c: factor out manual `map_pos` manipulation
 - pack-bitmap.c: drop unnecessary 'inline's
 - pack-bitmap.c: hide bitmap internals in `read_be32()`
 - pack-bitmap.c: hide bitmap internals in `read_u8()`

 Clean-up the pack-bitmap codepath.

 Kicked back to 'seen' out of 'next'.
 There is a BUG() on data errors that needs to be fixed.
 source: <cover.1679342296.git.me@ttaylorr.com>


* mh/use-wincred-from-system (2023-03-27) 1 commit
 - credential/wincred: include wincred.h

 Code clean-up.

 Will merge to 'next'?
 cf. <8511e030-8167-715c-5ed4-1646e6e9ef85@gmx.de>
 cf. <CAGJzqsm4LmpYE46v2=y4=A+Och44zaQyzTXQRteX-KNSzA_18g@mail.gmail.com>
 source: <pull.1496.git.1679707396407.gitgitgadget@gmail.com>


* cb/checkout-same-branch-twice (2023-03-22) 2 commits
 - SQUASH??? the test marked to expect failure passes from day one
 - checkout/switch: disallow checking out same branch in multiple worktrees

 "git checkout -B $branch" failed to protect against checking out
 a branch that is checked out elsewhere, unlike "git branch -f" did.

 Expecting a hopefully minor and final reroll.
 cf. <CAPUEspj_Bh+LgYLnWfeBdcq_uV5Cbou-7H51GLFjzSa5Qzby9w@mail.gmail.com>
 source: <20230120113553.24655-1-carenas@gmail.com>


* ob/revert-of-revert (2023-05-01) 1 commit
 - sequencer: beautify subject of reverts of reverts

 Instead of "Revert "Revert "original"", give "Replay "original""
 as the title for a revert of a revert.

 Expecting a hopefully final reroll.
 Looking much better, except for minor cosmetic issues.
 source: <20230428083528.1699221-1-oswald.buddenhagen@gmx.de>


* tk/pull-conflict-suggest-rebase-merge-not-rebase-true (2023-02-13) 1 commit
 - pull: conflict hint pull.rebase suggestion should offer "merges" vs "true"

 In an advice message after failed non-ff pull, we used to suggest
 setting pull.rebase=true, but these days pull.rebase=merges may be
 more inline with the original spirit of "rebuild your side on top
 of theirs".

 May want to discard.
 This is too much of a departure from the existing practice.
 cf. <CAMMLpeTPEoKVTbfc17w+Y9qn7jOGmQi_Ux0Y3sFW5QTgGWJ=SA@mail.gmail.com>
 cf. <CABPp-BGqAxKnxDRVN4cYMteLp33hvto07R3=TJBT5WubJT4+Og@mail.gmail.com>
 source: <pull.1474.git.1675614276549.gitgitgadget@gmail.com>


* ab/tag-object-type-errors (2022-11-22) 5 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - object-file.c: free the "t.tag" in check_tag()
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.

 Expecting a reroll.
 cf. <xmqqzgb5jz5c.fsf@gitster.g>
 cf. <xmqqsfgxjugi.fsf@gitster.g>
 source: <cover-0.4-00000000000-20221118T113442Z-avarab@gmail.com>


* ad/test-record-count-when-harness-is-in-use (2022-12-25) 1 commit
 - test-lib: allow storing counts with test harnesses

 Allow summary results from tests to be written to t/test-results
 directory even when a test harness like 'prove' is in use.

 Expecting a reroll.
 cf. <CABPp-BGoPuGCZw+9wCgdYyRR4Zf4y9Kun27GrQhtMdYWpOUsYQ@mail.gmail.com>
 source: <20221224225200.1027806-1-adam@dinwoodie.org>


* so/diff-merges-more (2022-12-18) 5 commits
 - diff-merges: improve --diff-merges documentation
 - diff-merges: issue warning on lone '-m' option
 - diff-merges: support list of values for --diff-merges
 - diff-merges: implement log.diffMerges-m-imply-p config
 - diff-merges: implement [no-]hide option and log.diffMergesHide config

 Assorted updates to "--diff-merges=X" option.

 May want to discard.
 Breaking compatibility does not seem worth it.
 source: <20221217132955.108542-1-sorganov@gmail.com>


* ab/imap-send-requires-curl (2023-02-02) 6 commits
 - imap-send: correctly report "host" when using "tunnel"
 - imap-send: remove old --no-curl codepath
 - imap-send: make --curl no-optional
 - imap-send: replace auto-probe libcurl with hard dependency
 - imap-send doc: the imap.sslVerify is used with imap.tunnel
 - imap-send: note "auth_method", not "host" on auth method failure

 Give a hard dependency on cURL library to build "git imap-send",
 and remove the code to interact with IMAP server without using cURL.

 Expecting a reroll.
 The 'tunnel' part is still iffy.
 cf. <230203.86bkmabfjr.gmgdl@evledraar.gmail.com>
 source: <cover-v2-0.6-00000000000-20230202T093706Z-avarab@gmail.com>


* tc/cat-file-z-use-cquote (2023-03-03) 2 commits
 . cat-file: quote-format name in error when using -z
 . cat-file: extract printing batch error message into function

 "cat-file" in the batch mode that is fed NUL-terminated pathnames
 learned to cquote them in its error output (otherwise, a funny
 pathname with LF in it would break the lines in the output stream).

 Breaks "cat-file --batch-all-objects --batch-check".
 cf. <xmqqilfhctrr.fsf@gitster.g>
 source: <20230303191708.77894-1-toon@iotcl.com>


* cw/submodule-status-in-parallel (2023-03-02) 6 commits
 - diff-lib: parallelize run_diff_files for submodules
 - diff-lib: refactor out diff_change logic
 - submodule: refactor is_submodule_modified()
 - submodule: move status parsing into function
 - submodule: rename strbuf variable
 - run-command: add on_stderr_output_fn to run_processes_parallel_opts

 "git submodule status" learned to run the comparison in submodule
 repositories in parallel.

 Expecting a reroll.
 cf. <CAFySSZDk05m6gU5-V1R+y3YnQ5PPduVW54+_gjBwD0rmacsLsw@mail.gmail.com>
 cf. <230307.865ybc273g.gmgdl@evledraar.gmail.com>
 source: <20230302215237.1473444-1-calvinwan@google.com>

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

* ah/doc-attributes-text (2023-05-01) 1 commit
 - docs: rewrite the documentation of the text and eol attributes

 Doc update to clarify how text and eol attributes interact to
 specify the end-of-line conversion.

 Will merge to 'next'?
 source: <20230501023533.35370-2-alexhenrie24@gmail.com>


* jw/send-email-update-gmail-insn (2023-04-28) 1 commit
  (merged to 'next' on 2023-05-01 at cb5d83ee92)
 + send-email docs: Remove mention of discontinued gmail feature

 Doc update to drop use of deprecated app-specific password against
 gmail.

 Will merge to 'master'.
 source: <20221001104609.18453-1-j.witteveen@gmail.com>


* ob/messages-capitalize-exception (2023-04-28) 1 commit
  (merged to 'next' on 2023-05-01 at db0ef42b3a)
 + messages: capitalization and punctuation exceptions
 (this branch uses ob/sequencer-i18n-fix.)

 Message update.

 Will merge to 'master'.
 source: <20230428125649.1719796-1-oswald.buddenhagen@gmx.de>


* ob/sequencer-i18n-fix (2023-04-28) 1 commit
  (merged to 'next' on 2023-05-01 at 242ca8ce15)
 + sequencer: actually translate report in do_exec()
 (this branch is used by ob/messages-capitalize-exception.)

 Message update.

 Will merge to 'master'.
 source: <20230428125649.1719796-2-oswald.buddenhagen@gmx.de>


* hx/negotiator-non-recursive (2023-04-26) 2 commits
  (merged to 'next' on 2023-05-02 at 64f97cc72d)
 + negotiator/skipping: fix some problems in mark_common()
 + negotiator/default: avoid stack overflow

 The implementation of the default "negotiator", used to find common
 ancestor over the network for object tranfer, used to be recursive;
 it was updated to be iterative to conserve stackspace usage.

 Will merge to 'master'.
 cf. <9ad5f246-e21f-0a13-1a53-1ae3307c3f0e@github.com>
 source: <cover.1682513384.git.hanxin.hx@bytedance.com>


* jc/doc-clarify-git-default-hash-variable (2023-04-26) 1 commit
 - doc: GIT_DEFAULT_HASH is and will be ignored during "clone"

 The documentation was misleading about the interaction between
 GIT_DEFAULT_HASH and "git clone", which has been clarified to
 stress that the variable is to be ignored by the command.

 Will merge to 'next'?
 source: <xmqqzg6uvfpo.fsf_-_@gitster.g>


* mh/fix-detect-compilers-with-nondigit-versions (2023-04-26) 1 commit
  (merged to 'next' on 2023-04-28 at c0c54291c2)
 + Handle some compiler versions containing a dash

 The detect-compilers script to help auto-tweaking the build system
 had trouble working with compilers whose version number has extra
 suffixes.  The script has been taught that certain suffixes (like
 "-win32" in "gcc 10-win32") can be safely stripped as they share
 the same features and bugs with the version without the suffix.

 Will merge to 'master'.
 source: <20230426004843.3391826-1-mh@glandium.org>


* tl/notes-separator (2023-04-28) 6 commits
 - notes.c: introduce "--[no-]stripspace" option
 - notes.c: append separator instead of insert by pos
 - notes.c: introduce '--separator=<paragraph-break>' option
 - t3321: add test cases about the notes stripspace behavior
 - notes.c: use designated initializers for clarity
 - notes.c: cleanup 'strbuf_grow' call in 'append_edit'

 'git notes append' was taught '--separator' to specify string to insert
 between paragraphs.

 Will merge to 'next'?
 Looking good.
 source: <cover.1682671758.git.dyroneteng@gmail.com>


* pw/rebase-i-after-failure (2023-04-21) 6 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase: fix rewritten list for failed pick
 - rebase --continue: refuse to commit after failed command
 - sequencer: factor out part of pick_commits()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Needs review.
 source: <pull.1492.v2.git.1682089074.gitgitgadget@gmail.com>


* jk/parse-commit-with-malformed-ident (2023-04-27) 4 commits
  (merged to 'next' on 2023-04-28 at cb6ea0412a)
 + parse_commit(): describe more date-parsing failure modes
 + parse_commit(): handle broken whitespace-only timestamp
 + parse_commit(): parse timestamp from end of line
 + t4212: avoid putting git on left-hand side of pipe

 The commit object parser has been taught to be a bit more lenient
 to parse timestamps on the author/committer line with a malformed
 author/committer ident.

 Will merge to 'master'.
 source: <20230427081330.GA1461786@coredump.intra.peff.net>


* sl/sparse-write-tree-part-2 (2023-04-24) 1 commit
 - write-tree: optimize sparse integration

 Fix-up to a topic already graduated to 'master'.

 Iffy.
 source: <20230423071243.1863977-1-cheskaqiqi@gmail.com>


* tb/pack-bitmap-traversal-with-boundary (2023-04-25) 3 commits
 - pack-bitmap.c: use commit boundary during bitmap traversal
 - pack-bitmap.c: extract `fill_in_bitmap()`
 - revision: support tracking uninteresting commits

 The object traversal using reachability bitmap done by
 "pack-object" has been tweaked to take advantage of the fact that
 using "boundary" commits as representative of all the uninteresting
 ones can save quite a lot of object enumeration.
 source: <cover.1682380788.git.me@ttaylorr.com>


* ar/config-count-tests-updates (2023-04-24) 3 commits
 - t1300: add tests for missing keys
 - t1300: check stderr for "ignores pairs" tests
 - t1300: drop duplicate test

 Test updates.
 source: <20230423134649.431783-1-rybak.a.v@gmail.com>


* en/header-split-cache-h-part-2 (2023-04-24) 22 commits
  (merged to 'next' on 2023-05-01 at 722c412915)
 + reftable: ensure git-compat-util.h is the first (indirect) include
 + diff.h: reduce unnecessary includes
 + object-store.h: reduce unnecessary includes
 + commit.h: reduce unnecessary includes
 + fsmonitor: reduce includes of cache.h
 + cache.h: remove unnecessary headers
 + treewide: remove cache.h inclusion due to previous changes
 + cache,tree: move basic name compare functions from read-cache to tree
 + cache,tree: move cmp_cache_name_compare from tree.[ch] to read-cache.c
 + hash-ll.h: split out of hash.h to remove dependency on repository.h
 + tree-diff.c: move S_DIFFTREE_IFXMIN_NEQ define from cache.h
 + dir.h: move DTYPE defines from cache.h
 + versioncmp.h: move declarations for versioncmp.c functions from cache.h
 + ws.h: move declarations for ws.c functions from cache.h
 + match-trees.h: move declarations for match-trees.c functions from cache.h
 + pkt-line.h: move declarations for pkt-line.c functions from cache.h
 + base85.h: move declarations for base85.c functions from cache.h
 + copy.h: move declarations for copy.c functions from cache.h
 + server-info.h: move declarations for server-info.c functions from cache.h
 + packfile.h: move pack_window and pack_entry from cache.h
 + symlinks.h: move declarations for symlinks.c functions from cache.h
 + treewide: be explicit about dependence on strbuf.h

 More header clean-up.

 Will merge to 'master'.
 source: <pull.1517.v2.git.1682194649.gitgitgadget@gmail.com>


* ps/fetch-output-format (2023-04-27) 8 commits
 - fetch: introduce machine-parseable "porcelain" output format
 - fetch: introduce new `--output-format` option
 - fetch: move option related variables into main function
 - fetch: move display format parsing into main function
 - fetch: introduce `display_format` enum
 - fetch: fix missing from-reference when fetching HEAD:foo
 - fetch: add a test to exercise invalid output formats
 - fetch: split out tests for output format

 "git fetch" learned the "--output-format" option that emits what it
 did in a machine-parseable format.

 Expecting a review response.
 source: <cover.1682593865.git.ps@pks.im>


* ma/gittutorial-fixes (2023-04-20) 2 commits
  (merged to 'next' on 2023-05-02 at bf96011972)
 + gittutorial: wrap literal examples in backticks
 + gittutorial: drop early mention of origin

 Doc fixes.

 Will merge to 'master'.
 source: <cover.1681579244.git.martin.agren@gmail.com>


* sg/retire-unused-cocci (2023-04-20) 1 commit
 - cocci: remove 'unused.cocci'

 source: <20230420205350.600760-1-szeder.dev@gmail.com>


* ms/send-email-feed-header-to-validate-hook (2023-04-19) 2 commits
 - send-email: expose header information to git-send-email's sendemail-validate hook
 - send-email: refactor header generation functions

 "git send-email" learned to give the e-mail headers to the validate
 hook by passing an extra argument from the command line.

 Will merge to 'next'.
 source: <20230419202703.2911836-1-michael.strawbridge@amd.com>


* ja/worktree-orphan (2023-04-17) 8 commits
 - worktree add: emit warn when there is a bad HEAD
 - worktree add: extend DWIM to infer --orphan
 - worktree add: introduce "try --orphan" hint
 - worktree add: add --orphan flag
 - t2400: add tests to verify --quiet
 - t2400: refactor "worktree add" opt exclusion tests
 - t2400: print captured git output when finished
 - worktree add: include -B in usage docs

 'git worktree add' learned how to create a worktree based on an
 orphaned branch with `--orphan`.

 Expecting a reroll.
 cf. <m7crhly2j3k76whydbtdwhvzghvoql436g3lqtst4v3ahv75aa@wq5zjepgrxz5>
 source: <20230417093255.31079-1-jacobabel@nullpo.dev>


* gc/doc-cocci-updates (2023-04-27) 2 commits
 - cocci: codify authoring and reviewing practices
 - cocci: add headings to and reword README

 Update documentation regarding Coccinelle patches.
 source: <pull.1495.v2.git.git.1682634143.gitgitgadget@gmail.com>


* kh/doc-interpret-trailers-updates (2023-05-01) 4 commits
 - doc: interpret-trailers: fix example
 - doc: interpret-trailers: don’t use deprecated config
 - doc: interpret-trailers: use input redirection
 - doc: interpret-trailers: don’t use heredoc in examples

 Doc update.

 Will merge to 'next'?
 source: <cover.1682970213.git.code@khaugsbakk.name>


* pb/complete-and-document-auto-merge-and-friends (2023-04-14) 5 commits
  (merged to 'next' on 2023-04-20 at 2728a01622)
 + completion: complete AUTO_MERGE
 + Documentation: document AUTO_MERGE
 + git-merge.txt: modernize word choice in "True merge" section
 + completion: complete REVERT_HEAD and BISECT_HEAD
 + revisions.txt: document more special refs

 Document more pseudo-refs and teach the command line completion
 machinery to complete AUTO_MERGE.

 On hold, waiting for a fix-up.
 cf. <a10648d5-8cba-4c7c-a303-b5b0dcdd3310@gmail.com>
 source: <pull.1515.git.1681495119.gitgitgadget@gmail.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
 - diff-index: enable sparse index

 "git diff-index" command has been taught to work better with the
 sparse index.

 Expecting a reroll.
 cf. <62821012-4fc3-5ad8-695c-70f7ab14a8c9@github.com>
 source: <20230408112342.404318-1-nanth.raghul@gmail.com>


* es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
 - usage: clarify --recurse-submodules as a boolean

 The "--[no-]recurse-submodules" option of "git checkout" and others
 supported an undocumented syntax --recurse-submodules=<value> where
 the value can spell a Boolean in various ways.  The support for the
 syntax is being dropped.

 Expecting a reroll.
 cf. <ZDSTFwMFO7vbj/du@google.com>
 source: <ZDSTFwMFO7vbj/du@google.com>


* ar/test-cleanup-unused-file-creation-part2 (2023-04-17) 6 commits
 - t2019: don't create unused files
 - t1502: don't create unused files
 - t1450: don't create unused files
 - t1300: don't create unused files
 - t1300: fix config file syntax error descriptions
 - t0300: don't create unused file

 Test cleanup.

 Comments?
 source: <20230417191044.909094-1-rybak.a.v@gmail.com>


* ed/fsmonitor-windows-named-pipe (2023-03-24) 1 commit
 - fsmonitor: handle differences between Windows named pipe functions

 Fix fsmonitor on Windows when the filesystem path contains certain
 characters.

 Expecting a reroll.
 cf. <b9cf67e4-22a7-2ff0-8310-9223bea10d6d@jeffhostetler.com>
 source: <pull.1503.git.1679678090412.gitgitgadget@gmail.com>


* mh/credential-password-expiry-wincred (2023-04-03) 1 commit
 - credential/wincred: store password_expiry_utc

 Teach the recently invented "password expiry time" trait to the
 wincred credential helper.

 Will merge to 'next'?
 cf. <CAGJzqsm4LmpYE46v2=y4=A+Och44zaQyzTXQRteX-KNSzA_18g@mail.gmail.com>
 source: <pull.1477.v3.git.git.1680508028077.gitgitgadget@gmail.com>


* nw/for-each-ref-signature (2023-03-13) 1 commit
 . ref-filter: add new "signature" atom

 "git (for-each-ref|branch|tag) --format=<format>" learns the "%(signature)"
 placeholder and friends.

 Breaks CI.
 cf. <xmqqpm9bosjw.fsf@gitster.g>
 source: <20230311210607.64927-2-nsengiyumvawilberforce@gmail.com>


* mh/credential-oauth-refresh-token (2023-04-21) 1 commit
 - credential: new attribute oauth_refresh_token

 The credential subsystem learns to help OAuth framework.

 Needs Review.
 source: <pull.1394.v2.git.1682070479816.gitgitgadget@gmail.com>


* mh/credential-password-expiry-libsecret (2023-03-27) 1 commit
 - credential/libsecret: support password_expiry_utc

 The libsecret credential helper learns to handle the password
 expiry time information.

 Needs Review.
 source: <pull.1469.v2.git.git.1679729764851.gitgitgadget@gmail.com>


* sl/diff-files-sparse (2023-05-02) 2 commits
 - diff-files: integrate with sparse index
 - t1092: add tests for `git diff-files`

 Teach "diff-files" not to expand sparse-index unless needed.

 Will merge to 'next'?
 source: <20230502172335.478312-1-cheskaqiqi@gmail.com>


* rj/branch-unborn-in-other-worktrees (2023-03-27) 5 commits
 - branch: avoid unnecessary worktrees traversals
 - branch: rename orphan branches in any worktree
 - branch: description for orphan branch errors
 - branch: use get_worktrees() in copy_or_rename_branch()
 - branch: test for failures while renaming branches

 Error messages given when working on an unborn branch that is
 checked out in another worktree have been improved.

 Will merge to 'next'?
 source: <f8e6447e-5cd3-98fa-f567-39e1c60dacb0@gmail.com>

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

* ed/fsmonitor-inotify (2022-12-13) 6 commits
 . fsmonitor: update doc for Linux
 . fsmonitor: test updates
 . fsmonitor: enable fsmonitor for Linux
 . fsmonitor: implement filesystem change listener for Linux
 . fsmonitor: determine if filesystem is local or remote
 . fsmonitor: prepare to share code between Mac OS and Linux

 Bundled fsmonitor for Linux using inotify API.

 Seems to break asan job at CI when merged to 'seen'.
 cf. <xmqqzg7d8xn2.fsf@gitster.g>
 source: <pull.1352.v5.git.git.1670882286.gitgitgadget@gmail.com>


* my/wildmatch-cleanups (2023-02-27) 5 commits
 . wildmatch: more cleanups after killing uchar
 . wildmatch: use char instead of uchar
 . wildmatch: remove NEGATE_CLASS(2) macros with trivial refactoring
 . wildmatch: remove IS*() macros
 . git-compat-util: add isblank() and isgraph()

 Code clean-up.

 Discarded without prejudice after more than 6 weeks of inactivity.
 source: <20230226115021.1681834-1-masahiroy@kernel.org>


* cw/forbid-use-of-gitlink-outside-submodules (2023-02-28) 6 commits
 . add: reject nested repositories
 . tests: remove duplicate .gitmodules path
 . tests: use `git submodule add` and fix expected status
 . tests: use `git submodule add` and fix expected diffs
 . tests: Use `git submodule add` instead of `git add`
 . t4041, t4060: modernize test style

 Forbid "git add dir" from adding a gitlink to the index.

 Discarded without prejudice after more than 6 weeks of inactivity.
 source: <20230228185253.2356546-1-calvinwan@google.com>

^ permalink raw reply	[relevance 22%]

* What's cooking in git.git (Apr 2023, #09; Fri, 28)
@ 2023-04-29  6:54 23% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-04-29  6:54 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a future
release).  Commits prefixed with '-' are only in 'seen', and aren't
considered "accepted" at all and may be annotated with an URL to a
message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity.

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']

* jk/gpg-trust-level-fix (2023-04-19) 1 commit
  (merged to 'next' on 2023-04-21 at eb8413dc9d)
 + gpg-interface: set trust level of missing key to "undefined"

 The "%GT" placeholder for the "--format" option of "git log" and
 friends caused BUG() to trigger on a commit signed with an unknown
 key, which has been corrected.
 source: <20230419012957.GA503941@coredump.intra.peff.net>


* tb/enable-cruft-packs-by-default (2023-04-18) 10 commits
  (merged to 'next' on 2023-04-21 at 068bf86fc3)
 + repository.h: drop unused `gc_cruft_packs`
 + builtin/gc.c: make `gc.cruftPacks` enabled by default
 + t/t9300-fast-import.sh: prepare for `gc --cruft` by default
 + t/t6500-gc.sh: add additional test cases
 + t/t6500-gc.sh: refactor cruft pack tests
 + t/t6501-freshen-objects.sh: prepare for `gc --cruft` by default
 + t/t5304-prune.sh: prepare for `gc --cruft` by default
 + builtin/gc.c: ignore cruft packs with `--keep-largest-pack`
 + builtin/repack.c: fix incorrect reference to '-C'
 + pack-write.c: plug a leak in stage_tmp_packfiles()

 When "gc" needs to retain unreachable objects, packing them into
 cruft packs (instead of exploding them into loose object files) has
 been offered as a more efficient option for some time.  Now the use
 of cruft packs has been made the default and no longer considered
 an experimental feature.
 source: <cover.1681850424.git.me@ttaylorr.com>

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

* ah/doc-attributes-text (2023-04-28) 1 commit
 - docs: rewrite the documentation of the text and eol attributes

 Doc update to clarify how text and eol attributes interact to
 specify the end-of-line conversion.

 Needs review.
 source: <20230428042221.871095-1-alexhenrie24@gmail.com>


* jw/send-email-update-gmail-insn (2023-04-28) 1 commit
 - send-email docs: Remove mention of discontinued gmail feature

 Doc update to drop use of deprecated app-specific password against
 gmail.

 Will merge to 'next'.
 source: <20221001104609.18453-1-j.witteveen@gmail.com>


* ob/messages-capitalize-exception (2023-04-28) 1 commit
 - messages: capitalization and punctuation exceptions
 (this branch uses ob/sequencer-i18n-fix.)

 Message update.

 Will merge to 'next'.
 source: <20230428125649.1719796-1-oswald.buddenhagen@gmx.de>


* ob/sequencer-i18n-fix (2023-04-28) 1 commit
 - sequencer: actually translate report in do_exec()
 (this branch is used by ob/messages-capitalize-exception.)

 Message update.

 Will merge to 'next'.
 source: <20230428125649.1719796-2-oswald.buddenhagen@gmx.de>

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

* tb/pack-bitmap-index-seek (2023-03-20) 6 commits
 - pack-bitmap.c: factor out `bitmap_index_seek_commit()`
 - pack-bitmap.c: use `bitmap_index_seek()` where possible
 - pack-bitmap.c: factor out manual `map_pos` manipulation
 - pack-bitmap.c: drop unnecessary 'inline's
 - pack-bitmap.c: hide bitmap internals in `read_be32()`
 - pack-bitmap.c: hide bitmap internals in `read_u8()`

 Clean-up the pack-bitmap codepath.

 Kicked back to 'seen' out of 'next'.
 There is a BUG() on data errors that needs to be fixed.
 source: <cover.1679342296.git.me@ttaylorr.com>


* mh/use-wincred-from-system (2023-03-27) 1 commit
 - credential/wincred: include wincred.h

 Code clean-up.

 May want to discard.
 Area maintainer is fairly negative.
 cf. <8511e030-8167-715c-5ed4-1646e6e9ef85@gmx.de>
 source: <pull.1496.git.1679707396407.gitgitgadget@gmail.com>


* cb/checkout-same-branch-twice (2023-03-22) 2 commits
 - SQUASH??? the test marked to expect failure passes from day one
 - checkout/switch: disallow checking out same branch in multiple worktrees

 "git checkout -B $branch" failed to protect against checking out
 a branch that is checked out elsewhere, unlike "git branch -f" did.

 Expecting a hopefully minor and final reroll.
 cf. <CAPUEspj_Bh+LgYLnWfeBdcq_uV5Cbou-7H51GLFjzSa5Qzby9w@mail.gmail.com>
 source: <20230120113553.24655-1-carenas@gmail.com>


* ob/revert-of-revert (2023-03-28) 1 commit
 - sequencer: call a revert of a revert "reapply"

 Instead of "Revert "Revert "original"", give "Replay "original""
 as the title for a revert of a revert.

 Needs more polishing: docs, tests, transitions.
 source: <20230323162234.995465-1-oswald.buddenhagen@gmx.de>


* tk/pull-conflict-suggest-rebase-merge-not-rebase-true (2023-02-13) 1 commit
 - pull: conflict hint pull.rebase suggestion should offer "merges" vs "true"

 In an advice message after failed non-ff pull, we used to suggest
 setting pull.rebase=true, but these days pull.rebase=merges may be
 more inline with the original spirit of "rebuild your side on top
 of theirs".

 May want to discard.
 This is too much of a departure from the existing practice.
 cf. <CAMMLpeTPEoKVTbfc17w+Y9qn7jOGmQi_Ux0Y3sFW5QTgGWJ=SA@mail.gmail.com>
 cf. <CABPp-BGqAxKnxDRVN4cYMteLp33hvto07R3=TJBT5WubJT4+Og@mail.gmail.com>
 source: <pull.1474.git.1675614276549.gitgitgadget@gmail.com>


* ab/tag-object-type-errors (2022-11-22) 5 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - object-file.c: free the "t.tag" in check_tag()
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.

 Expecting a reroll.
 cf. <xmqqzgb5jz5c.fsf@gitster.g>
 cf. <xmqqsfgxjugi.fsf@gitster.g>
 source: <cover-0.4-00000000000-20221118T113442Z-avarab@gmail.com>


* ad/test-record-count-when-harness-is-in-use (2022-12-25) 1 commit
 - test-lib: allow storing counts with test harnesses

 Allow summary results from tests to be written to t/test-results
 directory even when a test harness like 'prove' is in use.

 Expecting a reroll.
 cf. <CABPp-BGoPuGCZw+9wCgdYyRR4Zf4y9Kun27GrQhtMdYWpOUsYQ@mail.gmail.com>
 source: <20221224225200.1027806-1-adam@dinwoodie.org>


* so/diff-merges-more (2022-12-18) 5 commits
 - diff-merges: improve --diff-merges documentation
 - diff-merges: issue warning on lone '-m' option
 - diff-merges: support list of values for --diff-merges
 - diff-merges: implement log.diffMerges-m-imply-p config
 - diff-merges: implement [no-]hide option and log.diffMergesHide config

 Assorted updates to "--diff-merges=X" option.

 May want to discard.
 Breaking compatibility does not seem worth it.
 source: <20221217132955.108542-1-sorganov@gmail.com>


* ab/imap-send-requires-curl (2023-02-02) 6 commits
 - imap-send: correctly report "host" when using "tunnel"
 - imap-send: remove old --no-curl codepath
 - imap-send: make --curl no-optional
 - imap-send: replace auto-probe libcurl with hard dependency
 - imap-send doc: the imap.sslVerify is used with imap.tunnel
 - imap-send: note "auth_method", not "host" on auth method failure

 Give a hard dependency on cURL library to build "git imap-send",
 and remove the code to interact with IMAP server without using cURL.

 Expecting a reroll.
 The 'tunnel' part is still iffy.
 cf. <230203.86bkmabfjr.gmgdl@evledraar.gmail.com>
 source: <cover-v2-0.6-00000000000-20230202T093706Z-avarab@gmail.com>


* tc/cat-file-z-use-cquote (2023-03-03) 2 commits
 . cat-file: quote-format name in error when using -z
 . cat-file: extract printing batch error message into function

 "cat-file" in the batch mode that is fed NUL-terminated pathnames
 learned to cquote them in its error output (otherwise, a funny
 pathname with LF in it would break the lines in the output stream).

 Breaks "cat-file --batch-all-objects --batch-check".
 cf. <xmqqilfhctrr.fsf@gitster.g>
 source: <20230303191708.77894-1-toon@iotcl.com>


* cw/submodule-status-in-parallel (2023-03-02) 6 commits
 - diff-lib: parallelize run_diff_files for submodules
 - diff-lib: refactor out diff_change logic
 - submodule: refactor is_submodule_modified()
 - submodule: move status parsing into function
 - submodule: rename strbuf variable
 - run-command: add on_stderr_output_fn to run_processes_parallel_opts

 "git submodule status" learned to run the comparison in submodule
 repositories in parallel.

 Expecting a reroll.
 cf. <CAFySSZDk05m6gU5-V1R+y3YnQ5PPduVW54+_gjBwD0rmacsLsw@mail.gmail.com>
 cf. <230307.865ybc273g.gmgdl@evledraar.gmail.com>
 source: <20230302215237.1473444-1-calvinwan@google.com>

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

* hx/negotiator-non-recursive (2023-04-26) 2 commits
 - negotiator/skipping: fix some problems in mark_common()
 - negotiator/default: avoid stack overflow

 The implementation of the default "negotiator", used to find common
 ancestor over the network for object tranfer, used to be recursive;
 it was updated to be iterative to conserve stackspace usage.

 Comments?
 source: <cover.1682513384.git.hanxin.hx@bytedance.com>


* jc/doc-clarify-git-default-hash-variable (2023-04-26) 1 commit
 - doc: GIT_DEFAULT_HASH is and will be ignored during "clone"

 The documentation was misleading about the interaction between
 GIT_DEFAULT_HASH and "git clone", which has been clarified to
 stress that the variable is to be ignored by the command.

 Will merge to 'next'?
 source: <xmqqzg6uvfpo.fsf_-_@gitster.g>


* mh/fix-detect-compilers-with-nondigit-versions (2023-04-26) 1 commit
  (merged to 'next' on 2023-04-28 at c0c54291c2)
 + Handle some compiler versions containing a dash

 The detect-compilers script to help auto-tweaking the build system
 had trouble working with compilers whose version number has extra
 suffixes.  The script has been taught that certain suffixes (like
 "-win32" in "gcc 10-win32") can be safely stripped as they share
 the same features and bugs with the version without the suffix.

 Will merge to 'master'.
 source: <20230426004843.3391826-1-mh@glandium.org>


* tl/notes-separator (2023-04-28) 6 commits
 - notes.c: introduce "--[no-]stripspace" option
 - notes.c: append separator instead of insert by pos
 - notes.c: introduce '--separator=<paragraph-break>' option
 - t3321: add test cases about the notes stripspace behavior
 - notes.c: use designated initializers for clarity
 - notes.c: cleanup 'strbuf_grow' call in 'append_edit'

 'git notes append' was taught '--separator' to specify string to insert
 between paragraphs.

 Will merge to 'next'?
 Looking good.
 source: <cover.1682671758.git.dyroneteng@gmail.com>


* ek/completion-use-read-r-to-read-literally (2023-04-20) 1 commit
  (merged to 'next' on 2023-04-24 at 25bf3b808b)
 + completion: suppress unwanted unescaping of `read`

 The completion script used to use bare "read" without the "-r"
 option to read the contents of various state files, which risked
 getting confused with backslashes in them.  This has been
 corrected.

 Will merge to 'master'.
 source: <20230420223800.1698197-1-myoga.murase@gmail.com>


* pw/rebase-i-after-failure (2023-04-21) 6 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase: fix rewritten list for failed pick
 - rebase --continue: refuse to commit after failed command
 - sequencer: factor out part of pick_commits()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Needs review.
 source: <pull.1492.v2.git.1682089074.gitgitgadget@gmail.com>


* jk/blame-fake-commit-label (2023-04-24) 1 commit
  (merged to 'next' on 2023-04-26 at 85226d9501)
 + blame: use different author name for fake commit generated by --contents

 The output given by "git blame" that attributes a line to contents
 taken from the file specified by the "--contents" option shows it
 differently from a line attributed to the working tree file.

 Will merge to 'master'.
 source: <20230424193508.2245566-1-jacob.e.keller@intel.com>


* jk/misc-null-check-fixes (2023-04-24) 2 commits
  (merged to 'next' on 2023-04-26 at 9500384e9d)
 + fetch_bundle_uri(): drop pointless NULL check
 + notes: clean up confusing NULL checks in init_notes()

 Code clean-up.

 Will merge to 'master'.
 source: <20230422135455.GA3942740@coredump.intra.peff.net>


* jk/parse-commit-with-malformed-ident (2023-04-27) 4 commits
  (merged to 'next' on 2023-04-28 at cb6ea0412a)
 + parse_commit(): describe more date-parsing failure modes
 + parse_commit(): handle broken whitespace-only timestamp
 + parse_commit(): parse timestamp from end of line
 + t4212: avoid putting git on left-hand side of pipe

 The commit object parser has been taught to be a bit more lenient
 to parse timestamps on the author/committer line with a malformed
 author/committer ident.

 Will merge to 'master'.
 source: <20230427081330.GA1461786@coredump.intra.peff.net>


* sl/sparse-write-tree-part-2 (2023-04-24) 1 commit
 - write-tree: optimize sparse integration

 Fix-up to a topic already graduated to 'master'.

 Iffy.
 source: <20230423071243.1863977-1-cheskaqiqi@gmail.com>


* tb/pack-bitmap-traversal-with-boundary (2023-04-25) 3 commits
 - pack-bitmap.c: use commit boundary during bitmap traversal
 - pack-bitmap.c: extract `fill_in_bitmap()`
 - revision: support tracking uninteresting commits

 The object traversal using reachability bitmap done by
 "pack-object" has been tweaked to take advantage of the fact that
 using "boundary" commits as representative of all the uninteresting
 ones can save quite a lot of object enumeration.
 source: <cover.1682380788.git.me@ttaylorr.com>


* ar/config-count-tests-updates (2023-04-24) 3 commits
 - t1300: add tests for missing keys
 - t1300: check stderr for "ignores pairs" tests
 - t1300: drop duplicate test

 Test updates.
 source: <20230423134649.431783-1-rybak.a.v@gmail.com>


* en/header-split-cache-h-part-2 (2023-04-24) 22 commits
 - reftable: ensure git-compat-util.h is the first (indirect) include
 - diff.h: reduce unnecessary includes
 - object-store.h: reduce unnecessary includes
 - commit.h: reduce unnecessary includes
 - fsmonitor: reduce includes of cache.h
 - cache.h: remove unnecessary headers
 - treewide: remove cache.h inclusion due to previous changes
 - cache,tree: move basic name compare functions from read-cache to tree
 - cache,tree: move cmp_cache_name_compare from tree.[ch] to read-cache.c
 - hash-ll.h: split out of hash.h to remove dependency on repository.h
 - tree-diff.c: move S_DIFFTREE_IFXMIN_NEQ define from cache.h
 - dir.h: move DTYPE defines from cache.h
 - versioncmp.h: move declarations for versioncmp.c functions from cache.h
 - ws.h: move declarations for ws.c functions from cache.h
 - match-trees.h: move declarations for match-trees.c functions from cache.h
 - pkt-line.h: move declarations for pkt-line.c functions from cache.h
 - base85.h: move declarations for base85.c functions from cache.h
 - copy.h: move declarations for copy.c functions from cache.h
 - server-info.h: move declarations for server-info.c functions from cache.h
 - packfile.h: move pack_window and pack_entry from cache.h
 - symlinks.h: move declarations for symlinks.c functions from cache.h
 - treewide: be explicit about dependence on strbuf.h

 More header clean-up.
 source: <pull.1517.v2.git.1682194649.gitgitgadget@gmail.com>


* ps/fetch-output-format (2023-04-27) 8 commits
 - fetch: introduce machine-parseable "porcelain" output format
 - fetch: introduce new `--output-format` option
 - fetch: move option related variables into main function
 - fetch: move display format parsing into main function
 - fetch: introduce `display_format` enum
 - fetch: fix missing from-reference when fetching HEAD:foo
 - fetch: add a test to exercise invalid output formats
 - fetch: split out tests for output format

 "git fetch" learned the "--output-format" option that emits what it
 did in a machine-parseable format.
 source: <cover.1682593865.git.ps@pks.im>


* en/ort-finalize-after-0-merges-fix (2023-04-24) 1 commit
  (merged to 'next' on 2023-04-25 at 1bc935225b)
 + merge-ort: fix calling merge_finalize() with no intermediate merge

 A small API fix to the ort merge strategy backend.

 Will merge to 'master'.
 source: <pull.1518.v2.git.1682194930766.gitgitgadget@gmail.com>


* ma/gittutorial-fixes (2023-04-20) 2 commits
 - gittutorial: wrap literal examples in backticks
 - gittutorial: drop early mention of origin

 source: <cover.1681579244.git.martin.agren@gmail.com>


* sg/retire-unused-cocci (2023-04-20) 1 commit
 - cocci: remove 'unused.cocci'

 source: <20230420205350.600760-1-szeder.dev@gmail.com>


* ms/send-email-feed-header-to-validate-hook (2023-04-19) 2 commits
 - send-email: expose header information to git-send-email's sendemail-validate hook
 - send-email: refactor header generation functions

 "git send-email" learned to give the e-mail headers to the validate
 hook by passing an extra argument from the command line.
 source: <20230419202703.2911836-1-michael.strawbridge@amd.com>


* ja/worktree-orphan (2023-04-17) 8 commits
 - worktree add: emit warn when there is a bad HEAD
 - worktree add: extend DWIM to infer --orphan
 - worktree add: introduce "try --orphan" hint
 - worktree add: add --orphan flag
 - t2400: add tests to verify --quiet
 - t2400: refactor "worktree add" opt exclusion tests
 - t2400: print captured git output when finished
 - worktree add: include -B in usage docs

 'git worktree add' learned how to create a worktree based on an
 orphaned branch with `--orphan`.

 Comments?
 source: <20230417093255.31079-1-jacobabel@nullpo.dev>


* gc/doc-cocci-updates (2023-04-27) 2 commits
 - cocci: codify authoring and reviewing practices
 - cocci: add headings to and reword README

 Update documentation regarding Coccinelle patches.
 source: <pull.1495.v2.git.git.1682634143.gitgitgadget@gmail.com>


* kh/doc-interpret-trailers-updates (2023-04-12) 4 commits
 - doc: interpret-trailers: fix example
 - doc: interpret-trailers: don’t use deprecated config
 - doc: interpret-trailers: use input redirection
 - doc: interpret-trailers: don’t use heredoc in examples

 Doc update.

 Expecting a reroll.
 cf. <xmqqcz487qds.fsf@gitster.g>, <xmqqjzyg7qdw.fsf@gitster.g>
 source: <cover.1681326818.git.code@khaugsbakk.name>


* pb/complete-and-document-auto-merge-and-friends (2023-04-14) 5 commits
  (merged to 'next' on 2023-04-20 at 2728a01622)
 + completion: complete AUTO_MERGE
 + Documentation: document AUTO_MERGE
 + git-merge.txt: modernize word choice in "True merge" section
 + completion: complete REVERT_HEAD and BISECT_HEAD
 + revisions.txt: document more special refs

 Document more pseudo-refs and teach the command line completion
 machinery to complete AUTO_MERGE.

 On hold, waiting for a fix-up.
 cf. <a10648d5-8cba-4c7c-a303-b5b0dcdd3310@gmail.com>
 source: <pull.1515.git.1681495119.gitgitgadget@gmail.com>


* tb/ban-strtok (2023-04-27) 6 commits
  (merged to 'next' on 2023-04-27 at cbbfa4a609)
 + banned.h: mark `strtok()` and `strtok_r()` as banned
 + t/helper/test-json-writer.c: avoid using `strtok()`
 + t/helper/test-oidmap.c: avoid using `strtok()`
 + t/helper/test-hashmap.c: avoid using `strtok()`
 + string-list: introduce `string_list_setlen()`
 + string-list: multi-delimiter `string_list_split_in_place()`

 Mark strtok() and strtok_r() to be banned.

 Will merge to 'master'.
 source: <cover.1682374789.git.me@ttaylorr.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
 - diff-index: enable sparse index

 "git diff-index" command has been taught to work better with the
 sparse index.

 Expecting a reroll.
 cf. <62821012-4fc3-5ad8-695c-70f7ab14a8c9@github.com>
 source: <20230408112342.404318-1-nanth.raghul@gmail.com>


* es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
 - usage: clarify --recurse-submodules as a boolean

 The "--[no-]recurse-submodules" option of "git checkout" and others
 supported an undocumented syntax --recurse-submodules=<value> where
 the value can spell a Boolean in various ways.  The support for the
 syntax is being dropped.

 Expecting a reroll.
 cf. <ZDSTFwMFO7vbj/du@google.com>
 source: <ZDSTFwMFO7vbj/du@google.com>


* ar/test-cleanup-unused-file-creation-part2 (2023-04-17) 6 commits
 - t2019: don't create unused files
 - t1502: don't create unused files
 - t1450: don't create unused files
 - t1300: don't create unused files
 - t1300: fix config file syntax error descriptions
 - t0300: don't create unused file

 Test cleanup.

 Comments?
 source: <20230417191044.909094-1-rybak.a.v@gmail.com>


* ed/fsmonitor-windows-named-pipe (2023-03-24) 1 commit
 - fsmonitor: handle differences between Windows named pipe functions

 Fix fsmonitor on Windows when the filesystem path contains certain
 characters.

 Expecting a reroll.
 cf. <b9cf67e4-22a7-2ff0-8310-9223bea10d6d@jeffhostetler.com>
 source: <pull.1503.git.1679678090412.gitgitgadget@gmail.com>


* mh/credential-password-expiry-wincred (2023-04-03) 1 commit
 - credential/wincred: store password_expiry_utc

 Teach the recently invented "password expiry time" trait to the
 wincred credential helper.

 Will merge to 'next'?
 source: <pull.1477.v3.git.git.1680508028077.gitgitgadget@gmail.com>


* nw/for-each-ref-signature (2023-03-13) 1 commit
 . ref-filter: add new "signature" atom

 "git (for-each-ref|branch|tag) --format=<format>" learns the "%(signature)"
 placeholder and friends.

 Breaks CI.
 cf. <xmqqpm9bosjw.fsf@gitster.g>
 source: <20230311210607.64927-2-nsengiyumvawilberforce@gmail.com>


* mh/credential-oauth-refresh-token (2023-04-21) 1 commit
 - credential: new attribute oauth_refresh_token

 The credential subsystem learns to help OAuth framework.

 Needs Review.
 source: <pull.1394.v2.git.1682070479816.gitgitgadget@gmail.com>


* mh/credential-password-expiry-libsecret (2023-03-27) 1 commit
 - credential/libsecret: support password_expiry_utc

 The libsecret credential helper learns to handle the password
 expiry time information.

 Needs Review.
 source: <pull.1469.v2.git.git.1679729764851.gitgitgadget@gmail.com>


* sl/diff-files-sparse (2023-04-24) 2 commits
 - diff-files: integrate with sparse index
 - t1092: add tests for `git diff-files`

 Teach "diff-files" not to expand sparse-index unless needed.
 source: <20230423010721.1402736-1-cheskaqiqi@gmail.com>


* rj/branch-unborn-in-other-worktrees (2023-03-27) 5 commits
 - branch: avoid unnecessary worktrees traversals
 - branch: rename orphan branches in any worktree
 - branch: description for orphan branch errors
 - branch: use get_worktrees() in copy_or_rename_branch()
 - branch: test for failures while renaming branches

 Error messages given when working on an unborn branch that is
 checked out in another worktree have been improved.

 Will merge to 'next'?
 source: <f8e6447e-5cd3-98fa-f567-39e1c60dacb0@gmail.com>

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

* pw/sequencer-rescheduled-ones-are-not-done-yet (2023-03-20) 1 commit
 . rebase -i: do not update "done" when rescheduling command

 "rebase -i" moved a "rescheduled" insn in the todo file to the
 "done" list before it completed, which has been corrected.

 Replaced with a much more enhanced pw/rebase-i-after-failure topic.
 source: <pull.1492.git.1679237337683.gitgitgadget@gmail.com>


* ed/fsmonitor-inotify (2022-12-13) 6 commits
 . fsmonitor: update doc for Linux
 . fsmonitor: test updates
 . fsmonitor: enable fsmonitor for Linux
 . fsmonitor: implement filesystem change listener for Linux
 . fsmonitor: determine if filesystem is local or remote
 . fsmonitor: prepare to share code between Mac OS and Linux

 Bundled fsmonitor for Linux using inotify API.

 Seems to break asan job at CI when merged to 'seen'.
 cf. <xmqqzg7d8xn2.fsf@gitster.g>
 source: <pull.1352.v5.git.git.1670882286.gitgitgadget@gmail.com>


* rj/sendemail-validate-series-hook (2023-04-05) 1 commit
 . hooks: add sendemail-validate-series

 "git send-email" learns a new hook that takes the entire set of
 patch files from its standard input to validate them in one go,
 instead of getting called once per each file.

 Superseded by the rj/send-email-validate-hook-count-messages topic.
 source: <20230405231305.96996-1-robin@jarry.cc>


* my/wildmatch-cleanups (2023-02-27) 5 commits
 . wildmatch: more cleanups after killing uchar
 . wildmatch: use char instead of uchar
 . wildmatch: remove NEGATE_CLASS(2) macros with trivial refactoring
 . wildmatch: remove IS*() macros
 . git-compat-util: add isblank() and isgraph()

 Code clean-up.

 Discarded without prejudice after more than 6 weeks of inactivity.
 source: <20230226115021.1681834-1-masahiroy@kernel.org>


* cw/forbid-use-of-gitlink-outside-submodules (2023-02-28) 6 commits
 . add: reject nested repositories
 . tests: remove duplicate .gitmodules path
 . tests: use `git submodule add` and fix expected status
 . tests: use `git submodule add` and fix expected diffs
 . tests: Use `git submodule add` instead of `git add`
 . t4041, t4060: modernize test style

 Forbid "git add dir" from adding a gitlink to the index.

 Discarded without prejudice after more than 6 weeks of inactivity.
 source: <20230228185253.2356546-1-calvinwan@google.com>

^ permalink raw reply	[relevance 23%]

* What's cooking in git.git (Apr 2023, #08; Thu, 27)
@ 2023-04-28 22:16 22% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-04-28 22:16 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a future
release).  Commits prefixed with '-' are only in 'seen', and aren't
considered "accepted" at all and may be annotated with an URL to a
message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity.

A set of new maintenance releases to address some security issues
have been made; all the integration tracks also have the same fixes.

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']

* ds/fsck-pack-revindex (2023-04-17) 5 commits
  (merged to 'next' on 2023-04-19 at 6fb9527bf5)
 + fsck: validate .rev file header
 + fsck: check rev-index position values
 + fsck: check rev-index checksums
 + fsck: create scaffolding for rev-index checks
 + Merge branch 'tb/pack-revindex-on-disk' into ds/fsck-pack-revindex
 (this branch uses tb/pack-revindex-on-disk.)

 "git fsck" learned to validate the on-disk pack reverse index files.
 source: <pull.1512.git.1681748502.gitgitgadget@gmail.com>


* fc/doc-checkout-markup-updates (2023-04-18) 2 commits
  (merged to 'next' on 2023-04-20 at 62782d75c4)
 + doc: git-checkout: reorganize examples
 + doc: git-checkout: trivial callout cleanup

 Doc mark-up update.
 source: <20230418070048.2209469-1-felipe.contreras@gmail.com>


* fc/doc-use-datestamp-in-commit (2023-04-14) 3 commits
  (merged to 'next' on 2023-04-20 at 3b6ccb62ec)
 + doc: set actual revdate for manpages
 + Merge branch 'fc/doc-stop-using-manversion' into fc/doc-use-datestamp-in-commit
 + Merge branch 'fc/remove-header-workarounds-for-asciidoc' into fc/doc-use-datestamp-in-commit

 Instead of the time the formatter was run, show the timestamp
 recorded in the commit in the documentation.
 source: <20230413074722.71260-1-felipe.contreras@gmail.com>


* tb/pack-revindex-on-disk (2023-04-13) 7 commits
  (merged to 'next' on 2023-04-19 at d6b90b44cf)
 + t: invert `GIT_TEST_WRITE_REV_INDEX`
 + config: enable `pack.writeReverseIndex` by default
 + pack-revindex: introduce `pack.readReverseIndex`
 + pack-revindex: introduce GIT_TEST_REV_INDEX_DIE_ON_DISK
 + pack-revindex: make `load_pack_revindex` take a repository
 + t5325: mark as leak-free
 + pack-write.c: plug a leak in stage_tmp_packfiles()
 (this branch is used by ds/fsck-pack-revindex.)

 The on-disk reverse index that allows mapping from the pack offset
 to the object name for the object stored at the offset has been
 enabled by default.
 source: <cover.1681338013.git.me@ttaylorr.com>

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

* hx/negotiator-non-recursive (2023-04-26) 2 commits
 - negotiator/skipping: fix some problems in mark_common()
 - negotiator/default: avoid stack overflow

 The implementation of the default "negotiator", used to find common
 ancestor over the network for object tranfer, used to be recursive;
 it was updated to be iterative to conserve stackspace usage.

 Comments?
 source: <cover.1682513384.git.hanxin.hx@bytedance.com>


* jc/doc-clarify-git-default-hash-variable (2023-04-26) 1 commit
 - doc: GIT_DEFAULT_HASH is and will be ignored during "clone"

 The documentation was misleading about the interaction between
 GIT_DEFAULT_HASH and "git clone", which has been clarified to
 stress that the variable is to be ignored by the command.

 Will merge to 'next'?
 source: <xmqqzg6uvfpo.fsf_-_@gitster.g>


* mh/fix-detect-compilers-with-nondigit-versions (2023-04-26) 1 commit
 - Handle some compiler versions containing a dash

 The detect-compilers script to help auto-tweaking the build system
 had trouble working with compilers whose version number has extra
 suffixes.  The script has been taught that certain suffixes (like
 "-win32" in "gcc 10-win32") can be safely stripped as they share
 the same features and bugs with the version without the suffix.

 Will merge to 'next'.
 source: <20230426004843.3391826-1-mh@glandium.org>

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

* tb/pack-bitmap-index-seek (2023-03-20) 6 commits
 - pack-bitmap.c: factor out `bitmap_index_seek_commit()`
 - pack-bitmap.c: use `bitmap_index_seek()` where possible
 - pack-bitmap.c: factor out manual `map_pos` manipulation
 - pack-bitmap.c: drop unnecessary 'inline's
 - pack-bitmap.c: hide bitmap internals in `read_be32()`
 - pack-bitmap.c: hide bitmap internals in `read_u8()`

 Clean-up the pack-bitmap codepath.

 Kicked back to 'seen' out of 'next'.
 There is a BUG() on data errors that needs to be fixed.
 source: <cover.1679342296.git.me@ttaylorr.com>


* mh/use-wincred-from-system (2023-03-27) 1 commit
 - credential/wincred: include wincred.h

 Code clean-up.

 May want to discard.
 Area maintainer is fairly negative.
 cf. <8511e030-8167-715c-5ed4-1646e6e9ef85@gmx.de>
 source: <pull.1496.git.1679707396407.gitgitgadget@gmail.com>


* cb/checkout-same-branch-twice (2023-03-22) 2 commits
 - SQUASH??? the test marked to expect failure passes from day one
 - checkout/switch: disallow checking out same branch in multiple worktrees

 "git checkout -B $branch" failed to protect against checking out
 a branch that is checked out elsewhere, unlike "git branch -f" did.

 Expecting a hopefully minor and final reroll.
 cf. <CAPUEspj_Bh+LgYLnWfeBdcq_uV5Cbou-7H51GLFjzSa5Qzby9w@mail.gmail.com>
 source: <20230120113553.24655-1-carenas@gmail.com>


* ob/revert-of-revert (2023-03-28) 1 commit
 - sequencer: call a revert of a revert "reapply"

 Instead of "Revert "Revert "original"", give "Replay "original""
 as the title for a revert of a revert.

 Needs more polishing: docs, tests, transitions.
 source: <20230323162234.995465-1-oswald.buddenhagen@gmx.de>


* tk/pull-conflict-suggest-rebase-merge-not-rebase-true (2023-02-13) 1 commit
 - pull: conflict hint pull.rebase suggestion should offer "merges" vs "true"

 In an advice message after failed non-ff pull, we used to suggest
 setting pull.rebase=true, but these days pull.rebase=merges may be
 more inline with the original spirit of "rebuild your side on top
 of theirs".

 May want to discard.
 This is too much of a departure from the existing practice.
 cf. <CAMMLpeTPEoKVTbfc17w+Y9qn7jOGmQi_Ux0Y3sFW5QTgGWJ=SA@mail.gmail.com>
 cf. <CABPp-BGqAxKnxDRVN4cYMteLp33hvto07R3=TJBT5WubJT4+Og@mail.gmail.com>
 source: <pull.1474.git.1675614276549.gitgitgadget@gmail.com>


* ab/tag-object-type-errors (2022-11-22) 5 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - object-file.c: free the "t.tag" in check_tag()
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.

 Expecting a reroll.
 cf. <xmqqzgb5jz5c.fsf@gitster.g>
 cf. <xmqqsfgxjugi.fsf@gitster.g>
 source: <cover-0.4-00000000000-20221118T113442Z-avarab@gmail.com>


* ad/test-record-count-when-harness-is-in-use (2022-12-25) 1 commit
 - test-lib: allow storing counts with test harnesses

 Allow summary results from tests to be written to t/test-results
 directory even when a test harness like 'prove' is in use.

 Expecting a reroll.
 cf. <CABPp-BGoPuGCZw+9wCgdYyRR4Zf4y9Kun27GrQhtMdYWpOUsYQ@mail.gmail.com>
 source: <20221224225200.1027806-1-adam@dinwoodie.org>


* so/diff-merges-more (2022-12-18) 5 commits
 - diff-merges: improve --diff-merges documentation
 - diff-merges: issue warning on lone '-m' option
 - diff-merges: support list of values for --diff-merges
 - diff-merges: implement log.diffMerges-m-imply-p config
 - diff-merges: implement [no-]hide option and log.diffMergesHide config

 Assorted updates to "--diff-merges=X" option.

 May want to discard.
 Breaking compatibility does not seem worth it.
 source: <20221217132955.108542-1-sorganov@gmail.com>


* ab/imap-send-requires-curl (2023-02-02) 6 commits
 - imap-send: correctly report "host" when using "tunnel"
 - imap-send: remove old --no-curl codepath
 - imap-send: make --curl no-optional
 - imap-send: replace auto-probe libcurl with hard dependency
 - imap-send doc: the imap.sslVerify is used with imap.tunnel
 - imap-send: note "auth_method", not "host" on auth method failure

 Give a hard dependency on cURL library to build "git imap-send",
 and remove the code to interact with IMAP server without using cURL.

 Expecting a reroll.
 The 'tunnel' part is still iffy.
 cf. <230203.86bkmabfjr.gmgdl@evledraar.gmail.com>
 source: <cover-v2-0.6-00000000000-20230202T093706Z-avarab@gmail.com>


* tc/cat-file-z-use-cquote (2023-03-03) 2 commits
 . cat-file: quote-format name in error when using -z
 . cat-file: extract printing batch error message into function

 "cat-file" in the batch mode that is fed NUL-terminated pathnames
 learned to cquote them in its error output (otherwise, a funny
 pathname with LF in it would break the lines in the output stream).

 Breaks "cat-file --batch-all-objects --batch-check".
 cf. <xmqqilfhctrr.fsf@gitster.g>
 source: <20230303191708.77894-1-toon@iotcl.com>


* cw/submodule-status-in-parallel (2023-03-02) 6 commits
 - diff-lib: parallelize run_diff_files for submodules
 - diff-lib: refactor out diff_change logic
 - submodule: refactor is_submodule_modified()
 - submodule: move status parsing into function
 - submodule: rename strbuf variable
 - run-command: add on_stderr_output_fn to run_processes_parallel_opts

 "git submodule status" learned to run the comparison in submodule
 repositories in parallel.

 Expecting a reroll.
 cf. <CAFySSZDk05m6gU5-V1R+y3YnQ5PPduVW54+_gjBwD0rmacsLsw@mail.gmail.com>
 cf. <230307.865ybc273g.gmgdl@evledraar.gmail.com>
 source: <20230302215237.1473444-1-calvinwan@google.com>

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

* tl/notes-separator (2023-04-25) 6 commits
 - notes.c: introduce "--[no-]stripspace" option
 - notes.c: append separator instead of insert by pos
 - notes.c: introduce '--separator=<paragraph-break>' option
 - t3321: add test cases about the notes stripspace behavior
 - notes.c: use designated initializers for clarity
 - notes.c: cleanup 'strbuf_grow' call in 'append_edit'

 'git notes append' was taught '--separator' to specify string to insert
 between paragraphs.

 Will merge to 'next'?
 Looking good.
 source: <cover.1682429602.git.dyroneteng@gmail.com>


* ek/completion-use-read-r-to-read-literally (2023-04-20) 1 commit
  (merged to 'next' on 2023-04-24 at 25bf3b808b)
 + completion: suppress unwanted unescaping of `read`

 The completion script used to use bare "read" without the "-r"
 option to read the contents of various state files, which risked
 getting confused with backslashes in them.  This has been
 corrected.

 Will merge to 'master'.
 source: <20230420223800.1698197-1-myoga.murase@gmail.com>


* pw/rebase-i-after-failure (2023-04-21) 6 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase: fix rewritten list for failed pick
 - rebase --continue: refuse to commit after failed command
 - sequencer: factor out part of pick_commits()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Needs review.
 source: <pull.1492.v2.git.1682089074.gitgitgadget@gmail.com>


* jk/blame-fake-commit-label (2023-04-24) 1 commit
  (merged to 'next' on 2023-04-26 at 85226d9501)
 + blame: use different author name for fake commit generated by --contents

 The output given by "git blame" that attributes a line to contents
 taken from the file specified by the "--contents" option shows it
 differently from a line attributed to the working tree file.

 Will merge to 'master'.
 source: <20230424193508.2245566-1-jacob.e.keller@intel.com>


* jk/misc-null-check-fixes (2023-04-24) 2 commits
  (merged to 'next' on 2023-04-26 at 9500384e9d)
 + fetch_bundle_uri(): drop pointless NULL check
 + notes: clean up confusing NULL checks in init_notes()

 Code clean-up.

 Will merge to 'master'.
 source: <20230422135455.GA3942740@coredump.intra.peff.net>


* jk/parse-commit-with-malformed-ident (2023-04-27) 4 commits
 - parse_commit(): describe more date-parsing failure modes
 - parse_commit(): handle broken whitespace-only timestamp
 - parse_commit(): parse timestamp from end of line
 - t4212: avoid putting git on left-hand side of pipe

 The commit object parser has been taught to be a bit more lenient
 to parse timestamps on the author/committer line with a malformed
 author/committer ident.

 Will merge to 'next'.
 source: <20230427081330.GA1461786@coredump.intra.peff.net>


* sl/sparse-write-tree-part-2 (2023-04-24) 1 commit
 - write-tree: optimize sparse integration

 Fix-up to a topic already graduated to 'master'.

 Iffy.
 source: <20230423071243.1863977-1-cheskaqiqi@gmail.com>


* tb/pack-bitmap-traversal-with-boundary (2023-04-25) 3 commits
 - pack-bitmap.c: use commit boundary during bitmap traversal
 - pack-bitmap.c: extract `fill_in_bitmap()`
 - revision: support tracking uninteresting commits

 The object traversal using reachability bitmap done by
 "pack-object" has been tweaked to take advantage of the fact that
 using "boundary" commits as representative of all the uninteresting
 ones can save quite a lot of object enumeration.
 source: <cover.1682380788.git.me@ttaylorr.com>


* ar/config-count-tests-updates (2023-04-24) 3 commits
 - t1300: add tests for missing keys
 - t1300: check stderr for "ignores pairs" tests
 - t1300: drop duplicate test

 Test updates.
 source: <20230423134649.431783-1-rybak.a.v@gmail.com>


* en/header-split-cache-h-part-2 (2023-04-24) 22 commits
 - reftable: ensure git-compat-util.h is the first (indirect) include
 - diff.h: reduce unnecessary includes
 - object-store.h: reduce unnecessary includes
 - commit.h: reduce unnecessary includes
 - fsmonitor: reduce includes of cache.h
 - cache.h: remove unnecessary headers
 - treewide: remove cache.h inclusion due to previous changes
 - cache,tree: move basic name compare functions from read-cache to tree
 - cache,tree: move cmp_cache_name_compare from tree.[ch] to read-cache.c
 - hash-ll.h: split out of hash.h to remove dependency on repository.h
 - tree-diff.c: move S_DIFFTREE_IFXMIN_NEQ define from cache.h
 - dir.h: move DTYPE defines from cache.h
 - versioncmp.h: move declarations for versioncmp.c functions from cache.h
 - ws.h: move declarations for ws.c functions from cache.h
 - match-trees.h: move declarations for match-trees.c functions from cache.h
 - pkt-line.h: move declarations for pkt-line.c functions from cache.h
 - base85.h: move declarations for base85.c functions from cache.h
 - copy.h: move declarations for copy.c functions from cache.h
 - server-info.h: move declarations for server-info.c functions from cache.h
 - packfile.h: move pack_window and pack_entry from cache.h
 - symlinks.h: move declarations for symlinks.c functions from cache.h
 - treewide: be explicit about dependence on strbuf.h

 More header clean-up.
 source: <pull.1517.v2.git.1682194649.gitgitgadget@gmail.com>


* jk/gpg-trust-level-fix (2023-04-19) 1 commit
  (merged to 'next' on 2023-04-21 at eb8413dc9d)
 + gpg-interface: set trust level of missing key to "undefined"

 The "%GT" placeholder for the "--format" option of "git log" and
 friends caused BUG() to trigger on a commit signed with an unknown
 key, which has been corrected.

 Will merge to 'master'.
 source: <20230419012957.GA503941@coredump.intra.peff.net>


* ps/fetch-output-format (2023-04-27) 8 commits
 - fetch: introduce machine-parseable "porcelain" output format
 - fetch: introduce new `--output-format` option
 - fetch: move option related variables into main function
 - fetch: move display format parsing into main function
 - fetch: introduce `display_format` enum
 - fetch: fix missing from-reference when fetching HEAD:foo
 - fetch: add a test to exercise invalid output formats
 - fetch: split out tests for output format

 "git fetch" learned the "--output-format" option that emits what it
 did in a machine-parseable format.
 source: <cover.1682593865.git.ps@pks.im>


* en/ort-finalize-after-0-merges-fix (2023-04-24) 1 commit
  (merged to 'next' on 2023-04-25 at 1bc935225b)
 + merge-ort: fix calling merge_finalize() with no intermediate merge

 A small API fix to the ort merge strategy backend.

 Will merge to 'master'.
 source: <pull.1518.v2.git.1682194930766.gitgitgadget@gmail.com>


* ma/gittutorial-fixes (2023-04-20) 2 commits
 - gittutorial: wrap literal examples in backticks
 - gittutorial: drop early mention of origin

 source: <cover.1681579244.git.martin.agren@gmail.com>


* sg/retire-unused-cocci (2023-04-20) 1 commit
 - cocci: remove 'unused.cocci'

 source: <20230420205350.600760-1-szeder.dev@gmail.com>


* tb/enable-cruft-packs-by-default (2023-04-18) 10 commits
  (merged to 'next' on 2023-04-21 at 068bf86fc3)
 + repository.h: drop unused `gc_cruft_packs`
 + builtin/gc.c: make `gc.cruftPacks` enabled by default
 + t/t9300-fast-import.sh: prepare for `gc --cruft` by default
 + t/t6500-gc.sh: add additional test cases
 + t/t6500-gc.sh: refactor cruft pack tests
 + t/t6501-freshen-objects.sh: prepare for `gc --cruft` by default
 + t/t5304-prune.sh: prepare for `gc --cruft` by default
 + builtin/gc.c: ignore cruft packs with `--keep-largest-pack`
 + builtin/repack.c: fix incorrect reference to '-C'
 + pack-write.c: plug a leak in stage_tmp_packfiles()

 When "gc" needs to retain unreachable objects, packing them into
 cruft packs (instead of exploding them into loose object files) has
 been offered as a more efficient option for some time.  Now the use
 of cruft packs has been made the default and no longer considered
 an experimental feature.

 Will merge to 'master'.
 source: <cover.1681850424.git.me@ttaylorr.com>


* ms/send-email-feed-header-to-validate-hook (2023-04-19) 2 commits
 - send-email: expose header information to git-send-email's sendemail-validate hook
 - send-email: refactor header generation functions

 "git send-email" learned to give the e-mail headers to the validate
 hook by passing an extra argument from the command line.
 source: <20230419202703.2911836-1-michael.strawbridge@amd.com>


* ja/worktree-orphan (2023-04-17) 8 commits
 - worktree add: emit warn when there is a bad HEAD
 - worktree add: extend DWIM to infer --orphan
 - worktree add: introduce "try --orphan" hint
 - worktree add: add --orphan flag
 - t2400: add tests to verify --quiet
 - t2400: refactor "worktree add" opt exclusion tests
 - t2400: print captured git output when finished
 - worktree add: include -B in usage docs

 'git worktree add' learned how to create a worktree based on an
 orphaned branch with `--orphan`.

 Comments?
 source: <20230417093255.31079-1-jacobabel@nullpo.dev>


* gc/doc-cocci-updates (2023-04-12) 2 commits
 - cocci: codify authoring and reviewing practices
 - cocci: add headings to and reword README

 Update documentation regarding Coccinelle patches.

 Expecting review response.
 cf. <xmqqmt3by5sc.fsf@gitster.g>
 source: <pull.1495.git.git.1681329955.gitgitgadget@gmail.com>


* kh/doc-interpret-trailers-updates (2023-04-12) 4 commits
 - doc: interpret-trailers: fix example
 - doc: interpret-trailers: don’t use deprecated config
 - doc: interpret-trailers: use input redirection
 - doc: interpret-trailers: don’t use heredoc in examples

 Doc update.

 Expecting a reroll.
 cf. <xmqqcz487qds.fsf@gitster.g>, <xmqqjzyg7qdw.fsf@gitster.g>
 source: <cover.1681326818.git.code@khaugsbakk.name>


* pb/complete-and-document-auto-merge-and-friends (2023-04-14) 5 commits
  (merged to 'next' on 2023-04-20 at 2728a01622)
 + completion: complete AUTO_MERGE
 + Documentation: document AUTO_MERGE
 + git-merge.txt: modernize word choice in "True merge" section
 + completion: complete REVERT_HEAD and BISECT_HEAD
 + revisions.txt: document more special refs

 Document more pseudo-refs and teach the command line completion
 machinery to complete AUTO_MERGE.

 On hold, waiting for a fix-up.
 cf. <a10648d5-8cba-4c7c-a303-b5b0dcdd3310@gmail.com>
 source: <pull.1515.git.1681495119.gitgitgadget@gmail.com>


* tb/ban-strtok (2023-04-27) 6 commits
  (merged to 'next' on 2023-04-27 at cbbfa4a609)
 + banned.h: mark `strtok()` and `strtok_r()` as banned
 + t/helper/test-json-writer.c: avoid using `strtok()`
 + t/helper/test-oidmap.c: avoid using `strtok()`
 + t/helper/test-hashmap.c: avoid using `strtok()`
 + string-list: introduce `string_list_setlen()`
 + string-list: multi-delimiter `string_list_split_in_place()`

 Mark strtok() and strtok_r() to be banned.

 Will merge to 'master'.
 source: <cover.1682374789.git.me@ttaylorr.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
 - diff-index: enable sparse index

 "git diff-index" command has been taught to work better with the
 sparse index.

 Expecting a reroll.
 cf. <62821012-4fc3-5ad8-695c-70f7ab14a8c9@github.com>
 source: <20230408112342.404318-1-nanth.raghul@gmail.com>


* es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
 - usage: clarify --recurse-submodules as a boolean

 The "--[no-]recurse-submodules" option of "git checkout" and others
 supported an undocumented syntax --recurse-submodules=<value> where
 the value can spell a Boolean in various ways.  The support for the
 syntax is being dropped.

 Expecting a reroll.
 cf. <ZDSTFwMFO7vbj/du@google.com>
 source: <ZDSTFwMFO7vbj/du@google.com>


* ar/test-cleanup-unused-file-creation-part2 (2023-04-17) 6 commits
 - t2019: don't create unused files
 - t1502: don't create unused files
 - t1450: don't create unused files
 - t1300: don't create unused files
 - t1300: fix config file syntax error descriptions
 - t0300: don't create unused file

 Test cleanup.

 Comments?
 source: <20230417191044.909094-1-rybak.a.v@gmail.com>


* ed/fsmonitor-windows-named-pipe (2023-03-24) 1 commit
 - fsmonitor: handle differences between Windows named pipe functions

 Fix fsmonitor on Windows when the filesystem path contains certain
 characters.

 Expecting a reroll.
 cf. <b9cf67e4-22a7-2ff0-8310-9223bea10d6d@jeffhostetler.com>
 source: <pull.1503.git.1679678090412.gitgitgadget@gmail.com>


* mh/credential-password-expiry-wincred (2023-04-03) 1 commit
 - credential/wincred: store password_expiry_utc

 Teach the recently invented "password expiry time" trait to the
 wincred credential helper.

 Will merge to 'next'?
 source: <pull.1477.v3.git.git.1680508028077.gitgitgadget@gmail.com>


* nw/for-each-ref-signature (2023-03-13) 1 commit
 . ref-filter: add new "signature" atom

 "git (for-each-ref|branch|tag) --format=<format>" learns the "%(signature)"
 placeholder and friends.

 Breaks CI.
 cf. <xmqqpm9bosjw.fsf@gitster.g>
 source: <20230311210607.64927-2-nsengiyumvawilberforce@gmail.com>


* mh/credential-oauth-refresh-token (2023-04-21) 1 commit
 - credential: new attribute oauth_refresh_token

 The credential subsystem learns to help OAuth framework.

 Needs Review.
 source: <pull.1394.v2.git.1682070479816.gitgitgadget@gmail.com>


* mh/credential-password-expiry-libsecret (2023-03-27) 1 commit
 - credential/libsecret: support password_expiry_utc

 The libsecret credential helper learns to handle the password
 expiry time information.

 Needs Review.
 source: <pull.1469.v2.git.git.1679729764851.gitgitgadget@gmail.com>


* sl/diff-files-sparse (2023-04-24) 2 commits
 - diff-files: integrate with sparse index
 - t1092: add tests for `git diff-files`

 Teach "diff-files" not to expand sparse-index unless needed.
 source: <20230423010721.1402736-1-cheskaqiqi@gmail.com>


* rj/branch-unborn-in-other-worktrees (2023-03-27) 5 commits
 - branch: avoid unnecessary worktrees traversals
 - branch: rename orphan branches in any worktree
 - branch: description for orphan branch errors
 - branch: use get_worktrees() in copy_or_rename_branch()
 - branch: test for failures while renaming branches

 Error messages given when working on an unborn branch that is
 checked out in another worktree have been improved.

 Will merge to 'next'?
 source: <f8e6447e-5cd3-98fa-f567-39e1c60dacb0@gmail.com>

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

* pw/sequencer-rescheduled-ones-are-not-done-yet (2023-03-20) 1 commit
 . rebase -i: do not update "done" when rescheduling command

 "rebase -i" moved a "rescheduled" insn in the todo file to the
 "done" list before it completed, which has been corrected.

 Replaced with a much more enhanced pw/rebase-i-after-failure topic.
 source: <pull.1492.git.1679237337683.gitgitgadget@gmail.com>


* ed/fsmonitor-inotify (2022-12-13) 6 commits
 . fsmonitor: update doc for Linux
 . fsmonitor: test updates
 . fsmonitor: enable fsmonitor for Linux
 . fsmonitor: implement filesystem change listener for Linux
 . fsmonitor: determine if filesystem is local or remote
 . fsmonitor: prepare to share code between Mac OS and Linux

 Bundled fsmonitor for Linux using inotify API.

 Seems to break asan job at CI when merged to 'seen'.
 cf. <xmqqzg7d8xn2.fsf@gitster.g>
 source: <pull.1352.v5.git.git.1670882286.gitgitgadget@gmail.com>


* rj/sendemail-validate-series-hook (2023-04-05) 1 commit
 . hooks: add sendemail-validate-series

 "git send-email" learns a new hook that takes the entire set of
 patch files from its standard input to validate them in one go,
 instead of getting called once per each file.

 Superseded by the rj/send-email-validate-hook-count-messages topic.
 source: <20230405231305.96996-1-robin@jarry.cc>


* my/wildmatch-cleanups (2023-02-27) 5 commits
 . wildmatch: more cleanups after killing uchar
 . wildmatch: use char instead of uchar
 . wildmatch: remove NEGATE_CLASS(2) macros with trivial refactoring
 . wildmatch: remove IS*() macros
 . git-compat-util: add isblank() and isgraph()

 Code clean-up.

 Discarded without prejudice after more than 6 weeks of inactivity.
 source: <20230226115021.1681834-1-masahiroy@kernel.org>


* cw/forbid-use-of-gitlink-outside-submodules (2023-02-28) 6 commits
 . add: reject nested repositories
 . tests: remove duplicate .gitmodules path
 . tests: use `git submodule add` and fix expected status
 . tests: use `git submodule add` and fix expected diffs
 . tests: Use `git submodule add` instead of `git add`
 . t4041, t4060: modernize test style

 Forbid "git add dir" from adding a gitlink to the index.

 Discarded without prejudice after more than 6 weeks of inactivity.
 source: <20230228185253.2356546-1-calvinwan@google.com>

^ permalink raw reply	[relevance 22%]

* What's cooking in git.git (Apr 2023, #07; Tue, 25)
@ 2023-04-26  0:18 20% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-04-26  0:18 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a future
release).  Commits prefixed with '-' are only in 'seen', and aren't
considered "accepted" at all and may be annotated with an URL to a
message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity.

A set of new maintenance releases to address some security issues
have been made; all the integration tracks also have the same fixes.

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/format-patch-thread-doc (2023-04-03) 1 commit
  (merged to 'next' on 2023-04-14 at acf141a832)
 + format-patch: correct documentation of --thread without an argument

 Doc update.
 source: <20230403040724.642513-1-alexhenrie24@gmail.com>


* en/header-split-cache-h (2023-04-18) 25 commits
  (merged to 'next' on 2023-04-18 at 55b4d95cac)
 + protocol.h: move definition of DEFAULT_GIT_PORT from cache.h
  (merged to 'next' on 2023-04-13 at b9afefff0b)
 + mailmap, quote: move declarations of global vars to correct unit
 + treewide: reduce includes of cache.h in other headers
 + treewide: remove double forward declaration of read_in_full
 + cache.h: remove unnecessary includes
 + treewide: remove cache.h inclusion due to pager.h changes
 + pager.h: move declarations for pager.c functions from cache.h
 + treewide: remove cache.h inclusion due to editor.h changes
 + editor: move editor-related functions and declarations into common file
 + treewide: remove cache.h inclusion due to object.h changes
 + object.h: move some inline functions and defines from cache.h
 + treewide: remove cache.h inclusion due to object-file.h changes
 + object-file.h: move declarations for object-file.c functions from cache.h
 + treewide: remove cache.h inclusion due to git-zlib changes
 + git-zlib: move declarations for git-zlib functions from cache.h
 + treewide: remove cache.h inclusion due to object-name.h changes
 + object-name.h: move declarations for object-name.c functions from cache.h
 + treewide: remove unnecessary cache.h inclusion
 + treewide: be explicit about dependence on mem-pool.h
 + treewide: be explicit about dependence on oid-array.h
 + treewide: be explicit about dependence on pack-revindex.h
 + treewide: be explicit about dependence on convert.h
 + treewide: be explicit about dependence on advice.h
 + treewide: be explicit about dependence on trace.h & trace2.h
 + Merge branch 'ab/remove-implicit-use-of-the-repository' into en/header-split-cache-h
 (this branch is used by en/header-split-cache-h-part-2.)

 Header clean-up.
 source: <pull.1509.v3.git.1681182060.gitgitgadget@gmail.com>


* fc/doc-stop-using-manversion (2023-04-10) 1 commit
  (merged to 'next' on 2023-04-14 at 0800fe5ab4)
 + doc: simplify man version
 (this branch is used by fc/doc-use-datestamp-in-commit.)

 Doc build simplification.
 source: <20230408001829.11031-1-felipe.contreras@gmail.com>


* jk/protocol-cap-parse-fix (2023-04-14) 7 commits
  (merged to 'next' on 2023-04-17 at fd9bf05656)
 + v0 protocol: use size_t for capability length/offset
 + t5512: test "ls-remote --heads --symref" filtering with v0 and v2
 + t5512: allow any protocol version for filtered symref test
 + t5512: add v2 support for "ls-remote --symref" test
 + v0 protocol: fix sha1/sha256 confusion for capabilities^{}
 + t5512: stop referring to "v1" protocol
 + v0 protocol: fix infinite loop when parsing multi-valued capabilities

 The code to parse capability list for v0 on-wire protocol fell into
 an infinite loop when a capability appears multiple times, which
 has been corrected.
 source: <20230414212404.GA639653@coredump.intra.peff.net>


* ow/ref-filter-omit-empty (2023-04-13) 1 commit
  (merged to 'next' on 2023-04-14 at 2798986c60)
 + branch, for-each-ref, tag: add option to omit empty lines

 "git branch --format=..." and "git format-patch --format=..."
 learns "--omit-empty" to hide refs that whose formatting result
 becomes an empty string from the output.
 source: <20230407175316.6404-1-oystwa@gmail.com>


* ps/fix-geom-repack-with-alternates (2023-04-14) 10 commits
  (merged to 'next' on 2023-04-18 at de56e80363)
 + repack: disable writing bitmaps when doing a local repack
 + repack: honor `-l` when calculating pack geometry
 + t/helper: allow chmtime to print verbosely without modifying mtime
 + pack-objects: extend test coverage of `--stdin-packs` with alternates
 + pack-objects: fix error when same packfile is included and excluded
 + pack-objects: fix error when packing same pack twice
 + pack-objects: split out `--stdin-packs` tests into separate file
 + repack: fix generating multi-pack-index with only non-local packs
 + repack: fix trying to use preferred pack in alternates
 + midx: fix segfault with no packs and invalid preferred pack

 Geometric repacking ("git repack --geometric=<n>") in a repository
 that borrows from an alternate object database had various corner
 case bugs, which have been corrected.
 source: <cover.1681452028.git.ps@pks.im>


* rj/send-email-validate-hook-count-messages (2023-04-14) 1 commit
  (merged to 'next' on 2023-04-18 at 0c3db0bd3b)
 + send-email: export patch counters in validate environment

 The sendemail-validate validate hook learned to pass the total
 number of input files and where in the sequence each invocation is
 via environment variables.
 source: <20230414155249.667180-1-robin@jarry.cc>


* rn/sparse-describe (2023-04-03) 1 commit
  (merged to 'next' on 2023-04-14 at 9699cfad2c)
 + describe: enable sparse index for describe

 "git describe --dirty" learns to work better with sparse-index.
 source: <20230403164749.246001-1-nanth.raghul@gmail.com>


* rs/archive-from-subdirectory-fixes (2023-03-24) 1 commit
  (merged to 'next' on 2023-04-14 at 950f9ed807)
 + archive: improve support for running in subdirectory

 "git archive" run from a subdirectory mishandled attributes and
 paths outside the current directory.
 source: <7c33b01b-7b2a-25fa-9a66-1e65cd12bc84@web.de>

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

* ek/completion-use-read-r-to-read-literally (2023-04-20) 1 commit
  (merged to 'next' on 2023-04-24 at 25bf3b808b)
 + completion: suppress unwanted unescaping of `read`

 The completion script used to use bare "read" without the "-r"
 option to read the contents of various state files, which risked
 getting confused with backslashes in them.  This has been
 corrected.

 Will merge to 'master'.
 source: <20230420223800.1698197-1-myoga.murase@gmail.com>


* pw/rebase-i-after-failure (2023-04-21) 6 commits
 - rebase -i: fix adding failed command to the todo list
 - rebase: fix rewritten list for failed pick
 - rebase --continue: refuse to commit after failed command
 - sequencer: factor out part of pick_commits()
 - rebase -i: remove patch file after conflict resolution
 - rebase -i: move unlink() calls

 Various fixes to the behaviour of "rebase -i" when the command got
 interrupted by conflicting changes.

 Needs review.
 source: <pull.1492.v2.git.1682089074.gitgitgadget@gmail.com>


* jk/blame-fake-commit-label (2023-04-24) 1 commit
 - blame: use different author name for fake commit generated by --contents

 The output given by "git blame" that attributes a line to contents
 taken from the file specified by the "--contents" option shows it
 differently from a line attributed to the working tree file.

 Will merge to 'next'.
 source: <20230424193508.2245566-1-jacob.e.keller@intel.com>


* jk/misc-null-check-fixes (2023-04-24) 2 commits
 - fetch_bundle_uri(): drop pointless NULL check
 - notes: clean up confusing NULL checks in init_notes()

 Code clean-up.

 Will merge to 'next'.
 source: <20230422135455.GA3942740@coredump.intra.peff.net>


* jk/parse-commit-with-malformed-ident (2023-04-25) 4 commits
 - parse_commit(): describe more date-parsing failure modes
 - parse_commit(): handle broken whitespace-only timestamp
 - parse_commit(): parse timestamp from end of line
 - t4212: avoid putting git on left-hand side of pipe

 The commit object parser has been taught to be a bit more lenient
 to parse timestamps on the author/committer line with a malformed
 author/committer ident.

 Will merge to 'next'?
 Protecting against mischieves using \f and \v may be worth doing.
 source: <20230425055244.GA4014505@coredump.intra.peff.net>


* sl/sparse-write-tree-part-2 (2023-04-24) 1 commit
 - write-tree: optimize sparse integration

 Fix-up to a topic already graduated to 'master'.

 Iffy.
 source: <20230423071243.1863977-1-cheskaqiqi@gmail.com>


* tb/pack-bitmap-traversal-with-boundary (2023-04-25) 3 commits
 - pack-bitmap.c: use commit boundary during bitmap traversal
 - pack-bitmap.c: extract `fill_in_bitmap()`
 - revision: support tracking uninteresting commits

 The object traversal using reachability bitmap done by
 "pack-object" has been tweaked to take advantage of the fact that
 using "boundary" commits as representative of all the uninteresting
 ones can save quite a lot of object enumeration.

 source: <cover.1682380788.git.me@ttaylorr.com>

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

* tb/pack-bitmap-index-seek (2023-03-20) 6 commits
 - pack-bitmap.c: factor out `bitmap_index_seek_commit()`
 - pack-bitmap.c: use `bitmap_index_seek()` where possible
 - pack-bitmap.c: factor out manual `map_pos` manipulation
 - pack-bitmap.c: drop unnecessary 'inline's
 - pack-bitmap.c: hide bitmap internals in `read_be32()`
 - pack-bitmap.c: hide bitmap internals in `read_u8()`

 Clean-up the pack-bitmap codepath.

 Kicked back to 'seen' out of 'next'.
 There is a BUG() on data errors that needs to be fixed.
 source: <cover.1679342296.git.me@ttaylorr.com>


* mh/use-wincred-from-system (2023-03-27) 1 commit
 - credential/wincred: include wincred.h

 Code clean-up.

 May want to discard.
 Area maintainer is fairly negative.
 cf. <8511e030-8167-715c-5ed4-1646e6e9ef85@gmx.de>
 source: <pull.1496.git.1679707396407.gitgitgadget@gmail.com>


* cb/checkout-same-branch-twice (2023-03-22) 2 commits
 - SQUASH??? the test marked to expect failure passes from day one
 - checkout/switch: disallow checking out same branch in multiple worktrees

 "git checkout -B $branch" failed to protect against checking out
 a branch that is checked out elsewhere, unlike "git branch -f" did.

 Expecting a hopefully minor and final reroll.
 cf. <CAPUEspj_Bh+LgYLnWfeBdcq_uV5Cbou-7H51GLFjzSa5Qzby9w@mail.gmail.com>
 source: <20230120113553.24655-1-carenas@gmail.com>


* ob/revert-of-revert (2023-03-28) 1 commit
 - sequencer: call a revert of a revert "reapply"

 Instead of "Revert "Revert "original"", give "Replay "original""
 as the title for a revert of a revert.

 Needs more polishing: docs, tests, transitions.
 source: <20230323162234.995465-1-oswald.buddenhagen@gmx.de>


* tk/pull-conflict-suggest-rebase-merge-not-rebase-true (2023-02-13) 1 commit
 - pull: conflict hint pull.rebase suggestion should offer "merges" vs "true"

 In an advice message after failed non-ff pull, we used to suggest
 setting pull.rebase=true, but these days pull.rebase=merges may be
 more inline with the original spirit of "rebuild your side on top
 of theirs".

 May want to discard.
 This is too much of a departure from the existing practice.
 cf. <CAMMLpeTPEoKVTbfc17w+Y9qn7jOGmQi_Ux0Y3sFW5QTgGWJ=SA@mail.gmail.com>
 cf. <CABPp-BGqAxKnxDRVN4cYMteLp33hvto07R3=TJBT5WubJT4+Og@mail.gmail.com>
 source: <pull.1474.git.1675614276549.gitgitgadget@gmail.com>


* ab/tag-object-type-errors (2022-11-22) 5 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - object-file.c: free the "t.tag" in check_tag()
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.

 Expecting a reroll.
 cf. <xmqqzgb5jz5c.fsf@gitster.g>
 cf. <xmqqsfgxjugi.fsf@gitster.g>
 source: <cover-0.4-00000000000-20221118T113442Z-avarab@gmail.com>


* ad/test-record-count-when-harness-is-in-use (2022-12-25) 1 commit
 - test-lib: allow storing counts with test harnesses

 Allow summary results from tests to be written to t/test-results
 directory even when a test harness like 'prove' is in use.

 Expecting a reroll.
 cf. <CABPp-BGoPuGCZw+9wCgdYyRR4Zf4y9Kun27GrQhtMdYWpOUsYQ@mail.gmail.com>
 source: <20221224225200.1027806-1-adam@dinwoodie.org>


* so/diff-merges-more (2022-12-18) 5 commits
 - diff-merges: improve --diff-merges documentation
 - diff-merges: issue warning on lone '-m' option
 - diff-merges: support list of values for --diff-merges
 - diff-merges: implement log.diffMerges-m-imply-p config
 - diff-merges: implement [no-]hide option and log.diffMergesHide config

 Assorted updates to "--diff-merges=X" option.

 May want to discard.
 Breaking compatibility does not seem worth it.
 source: <20221217132955.108542-1-sorganov@gmail.com>


* ab/imap-send-requires-curl (2023-02-02) 6 commits
 - imap-send: correctly report "host" when using "tunnel"
 - imap-send: remove old --no-curl codepath
 - imap-send: make --curl no-optional
 - imap-send: replace auto-probe libcurl with hard dependency
 - imap-send doc: the imap.sslVerify is used with imap.tunnel
 - imap-send: note "auth_method", not "host" on auth method failure

 Give a hard dependency on cURL library to build "git imap-send",
 and remove the code to interact with IMAP server without using cURL.

 Expecting a reroll.
 The 'tunnel' part is still iffy.
 cf. <230203.86bkmabfjr.gmgdl@evledraar.gmail.com>
 source: <cover-v2-0.6-00000000000-20230202T093706Z-avarab@gmail.com>


* tc/cat-file-z-use-cquote (2023-03-03) 2 commits
 . cat-file: quote-format name in error when using -z
 . cat-file: extract printing batch error message into function

 "cat-file" in the batch mode that is fed NUL-terminated pathnames
 learned to cquote them in its error output (otherwise, a funny
 pathname with LF in it would break the lines in the output stream).

 Breaks "cat-file --batch-all-objects --batch-check".
 cf. <xmqqilfhctrr.fsf@gitster.g>
 source: <20230303191708.77894-1-toon@iotcl.com>


* cw/submodule-status-in-parallel (2023-03-02) 6 commits
 - diff-lib: parallelize run_diff_files for submodules
 - diff-lib: refactor out diff_change logic
 - submodule: refactor is_submodule_modified()
 - submodule: move status parsing into function
 - submodule: rename strbuf variable
 - run-command: add on_stderr_output_fn to run_processes_parallel_opts

 "git submodule status" learned to run the comparison in submodule
 repositories in parallel.

 Expecting a reroll.
 cf. <CAFySSZDk05m6gU5-V1R+y3YnQ5PPduVW54+_gjBwD0rmacsLsw@mail.gmail.com>
 cf. <230307.865ybc273g.gmgdl@evledraar.gmail.com>
 source: <20230302215237.1473444-1-calvinwan@google.com>

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

* tl/notes-separator (2023-04-25) 6 commits
 - notes.c: introduce "--[no-]stripspace" option
 - notes.c: append separator instead of insert by pos
 - notes.c: introduce '--separator=<paragraph-break>' option
 - t3321: add test cases about the notes stripspace behavior
 - notes.c: use designated initializers for clarity
 - notes.c: cleanup 'strbuf_grow' call in 'append_edit'

 'git notes append' was taught '--separator' to specify string to insert
 between paragraphs.

 source: <cover.1682429602.git.dyroneteng@gmail.com>


* ar/config-count-tests-updates (2023-04-24) 3 commits
 - t1300: add tests for missing keys
 - t1300: check stderr for "ignores pairs" tests
 - t1300: drop duplicate test

 Test updates.
 source: <20230423134649.431783-1-rybak.a.v@gmail.com>


* en/header-split-cache-h-part-2 (2023-04-24) 22 commits
 - reftable: ensure git-compat-util.h is the first (indirect) include
 - diff.h: reduce unnecessary includes
 - object-store.h: reduce unnecessary includes
 - commit.h: reduce unnecessary includes
 - fsmonitor: reduce includes of cache.h
 - cache.h: remove unnecessary headers
 - treewide: remove cache.h inclusion due to previous changes
 - cache,tree: move basic name compare functions from read-cache to tree
 - cache,tree: move cmp_cache_name_compare from tree.[ch] to read-cache.c
 - hash-ll.h: split out of hash.h to remove dependency on repository.h
 - tree-diff.c: move S_DIFFTREE_IFXMIN_NEQ define from cache.h
 - dir.h: move DTYPE defines from cache.h
 - versioncmp.h: move declarations for versioncmp.c functions from cache.h
 - ws.h: move declarations for ws.c functions from cache.h
 - match-trees.h: move declarations for match-trees.c functions from cache.h
 - pkt-line.h: move declarations for pkt-line.c functions from cache.h
 - base85.h: move declarations for base85.c functions from cache.h
 - copy.h: move declarations for copy.c functions from cache.h
 - server-info.h: move declarations for server-info.c functions from cache.h
 - packfile.h: move pack_window and pack_entry from cache.h
 - symlinks.h: move declarations for symlinks.c functions from cache.h
 - treewide: be explicit about dependence on strbuf.h

 More header clean-up.
 source: <pull.1517.v2.git.1682194649.gitgitgadget@gmail.com>


* fc/doc-checkout-markup-updates (2023-04-18) 2 commits
  (merged to 'next' on 2023-04-20 at 62782d75c4)
 + doc: git-checkout: reorganize examples
 + doc: git-checkout: trivial callout cleanup

 Doc mark-up update.

 Will merge to 'master'.
 source: <20230418070048.2209469-1-felipe.contreras@gmail.com>


* jk/gpg-trust-level-fix (2023-04-19) 1 commit
  (merged to 'next' on 2023-04-21 at eb8413dc9d)
 + gpg-interface: set trust level of missing key to "undefined"

 The "%GT" placeholder for the "--format" option of "git log" and
 friends caused BUG() to trigger on a commit signed with an unknown
 key, which has been corrected.

 Will merge to 'master'.
 source: <20230419012957.GA503941@coredump.intra.peff.net>


* ps/fetch-output-format (2023-04-19) 8 commits
 - fetch: introduce machine-parseable "porcelain" output format
 - fetch: introduce new `--output-format` option
 - fetch: move option related variables into main function
 - fetch: move display format parsing into main function
 - fetch: introduce `display_format` enum
 - fetch: fix missing from-reference when fetching HEAD:foo
 - fetch: add a test to exercise invalid output formats
 - fetch: split out tests for output format

 "git fetch" learned the "--output-format" option that emits what it
 did in a machine-parseable format.

 Needs review.
 source: <cover.1681906948.git.ps@pks.im>


* en/ort-finalize-after-0-merges-fix (2023-04-24) 1 commit
  (merged to 'next' on 2023-04-25 at 1bc935225b)
 + merge-ort: fix calling merge_finalize() with no intermediate merge

 A small API fix to the ort merge strategy backend.

 Will merge to 'master'.
 source: <pull.1518.v2.git.1682194930766.gitgitgadget@gmail.com>


* ma/gittutorial-fixes (2023-04-20) 2 commits
 - gittutorial: wrap literal examples in backticks
 - gittutorial: drop early mention of origin

 source: <cover.1681579244.git.martin.agren@gmail.com>


* sg/retire-unused-cocci (2023-04-20) 1 commit
 - cocci: remove 'unused.cocci'

 source: <20230420205350.600760-1-szeder.dev@gmail.com>


* ds/fsck-pack-revindex (2023-04-17) 5 commits
  (merged to 'next' on 2023-04-19 at 6fb9527bf5)
 + fsck: validate .rev file header
 + fsck: check rev-index position values
 + fsck: check rev-index checksums
 + fsck: create scaffolding for rev-index checks
 + Merge branch 'tb/pack-revindex-on-disk' into ds/fsck-pack-revindex
 (this branch uses tb/pack-revindex-on-disk.)

 "git fsck" learned to validate the on-disk pack reverse index files.

 Will merge to 'master'.
 source: <pull.1512.git.1681748502.gitgitgadget@gmail.com>


* tb/enable-cruft-packs-by-default (2023-04-18) 10 commits
  (merged to 'next' on 2023-04-21 at 068bf86fc3)
 + repository.h: drop unused `gc_cruft_packs`
 + builtin/gc.c: make `gc.cruftPacks` enabled by default
 + t/t9300-fast-import.sh: prepare for `gc --cruft` by default
 + t/t6500-gc.sh: add additional test cases
 + t/t6500-gc.sh: refactor cruft pack tests
 + t/t6501-freshen-objects.sh: prepare for `gc --cruft` by default
 + t/t5304-prune.sh: prepare for `gc --cruft` by default
 + builtin/gc.c: ignore cruft packs with `--keep-largest-pack`
 + builtin/repack.c: fix incorrect reference to '-C'
 + pack-write.c: plug a leak in stage_tmp_packfiles()

 When "gc" needs to retain unreachable objects, packing them into
 cruft packs (instead of exploding them into loose object files) has
 been offered as a more efficient option for some time.  Now the use
 of cruft packs has been made the default and no longer considered
 an experimental feature.

 Will merge to 'master'.
 source: <cover.1681850424.git.me@ttaylorr.com>


* ms/send-email-feed-header-to-validate-hook (2023-04-19) 2 commits
 - send-email: expose header information to git-send-email's sendemail-validate hook
 - send-email: refactor header generation functions

 "git send-email" learned to give the e-mail headers to the validate
 hook by passing an extra argument from the command line.
 source: <20230419202703.2911836-1-michael.strawbridge@amd.com>


* ja/worktree-orphan (2023-04-17) 8 commits
 - worktree add: emit warn when there is a bad HEAD
 - worktree add: extend DWIM to infer --orphan
 - worktree add: introduce "try --orphan" hint
 - worktree add: add --orphan flag
 - t2400: add tests to verify --quiet
 - t2400: refactor "worktree add" opt exclusion tests
 - t2400: print captured git output when finished
 - worktree add: include -B in usage docs

 'git worktree add' learned how to create a worktree based on an
 orphaned branch with `--orphan`.

 Comments?
 source: <20230417093255.31079-1-jacobabel@nullpo.dev>


* gc/doc-cocci-updates (2023-04-12) 2 commits
 - cocci: codify authoring and reviewing practices
 - cocci: add headings to and reword README

 Update documentation regarding Coccinelle patches.

 Expecting review response.
 cf. <xmqqmt3by5sc.fsf@gitster.g>
 source: <pull.1495.git.git.1681329955.gitgitgadget@gmail.com>


* kh/doc-interpret-trailers-updates (2023-04-12) 4 commits
 - doc: interpret-trailers: fix example
 - doc: interpret-trailers: don’t use deprecated config
 - doc: interpret-trailers: use input redirection
 - doc: interpret-trailers: don’t use heredoc in examples

 Doc update.

 Expecting a reroll.
 cf. <xmqqcz487qds.fsf@gitster.g>, <xmqqjzyg7qdw.fsf@gitster.g>
 source: <cover.1681326818.git.code@khaugsbakk.name>


* tb/pack-revindex-on-disk (2023-04-13) 7 commits
  (merged to 'next' on 2023-04-19 at d6b90b44cf)
 + t: invert `GIT_TEST_WRITE_REV_INDEX`
 + config: enable `pack.writeReverseIndex` by default
 + pack-revindex: introduce `pack.readReverseIndex`
 + pack-revindex: introduce GIT_TEST_REV_INDEX_DIE_ON_DISK
 + pack-revindex: make `load_pack_revindex` take a repository
 + t5325: mark as leak-free
 + pack-write.c: plug a leak in stage_tmp_packfiles()
 (this branch is used by ds/fsck-pack-revindex.)

 The on-disk reverse index that allows mapping from the pack offset
 to the object name for the object stored at the offset has been
 enabled by default.

 Will merge to 'master'.
 source: <cover.1681338013.git.me@ttaylorr.com>


* fc/doc-use-datestamp-in-commit (2023-04-14) 3 commits
  (merged to 'next' on 2023-04-20 at 3b6ccb62ec)
 + doc: set actual revdate for manpages
 + Merge branch 'fc/doc-stop-using-manversion' into fc/doc-use-datestamp-in-commit
 + Merge branch 'fc/remove-header-workarounds-for-asciidoc' into fc/doc-use-datestamp-in-commit

 Instead of the time the formatter was run, show the timestamp
 recorded in the commit in the documentation.

 Will merge to 'master'.
 source: <20230413074722.71260-1-felipe.contreras@gmail.com>


* pb/complete-and-document-auto-merge-and-friends (2023-04-14) 5 commits
  (merged to 'next' on 2023-04-20 at 2728a01622)
 + completion: complete AUTO_MERGE
 + Documentation: document AUTO_MERGE
 + git-merge.txt: modernize word choice in "True merge" section
 + completion: complete REVERT_HEAD and BISECT_HEAD
 + revisions.txt: document more special refs

 Document more pseudo-refs and teach the command line completion
 machinery to complete AUTO_MERGE.

 On hold, waiting for a fix-up.
 cf. <a10648d5-8cba-4c7c-a303-b5b0dcdd3310@gmail.com>
 source: <pull.1515.git.1681495119.gitgitgadget@gmail.com>


* tb/ban-strtok (2023-04-24) 6 commits
 - banned.h: mark `strtok()` and `strtok_r()` as banned
 - t/helper/test-json-writer.c: avoid using `strtok()`
 - t/helper/test-oidmap.c: avoid using `strtok()`
 - t/helper/test-hashmap.c: avoid using `strtok()`
 - string-list: introduce `string_list_setlen()`
 - string-list: multi-delimiter `string_list_split_in_place()`

 Mark strtok() and strtok_r() to be banned.
 source: <cover.1682374789.git.me@ttaylorr.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
 - diff-index: enable sparse index

 "git diff-index" command has been taught to work better with the
 sparse index.

 Expecting a reroll.
 cf. <62821012-4fc3-5ad8-695c-70f7ab14a8c9@github.com>
 source: <20230408112342.404318-1-nanth.raghul@gmail.com>


* es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
 - usage: clarify --recurse-submodules as a boolean

 The "--[no-]recurse-submodules" option of "git checkout" and others
 supported an undocumented syntax --recurse-submodules=<value> where
 the value can spell a Boolean in various ways.  The support for the
 syntax is being dropped.

 Expecting a reroll.
 cf. <ZDSTFwMFO7vbj/du@google.com>
 source: <ZDSTFwMFO7vbj/du@google.com>


* ar/test-cleanup-unused-file-creation-part2 (2023-04-17) 6 commits
 - t2019: don't create unused files
 - t1502: don't create unused files
 - t1450: don't create unused files
 - t1300: don't create unused files
 - t1300: fix config file syntax error descriptions
 - t0300: don't create unused file

 Test cleanup.

 Comments?
 source: <20230417191044.909094-1-rybak.a.v@gmail.com>


* ed/fsmonitor-windows-named-pipe (2023-03-24) 1 commit
 - fsmonitor: handle differences between Windows named pipe functions

 Fix fsmonitor on Windows when the filesystem path contains certain
 characters.

 Expecting a reroll.
 cf. <b9cf67e4-22a7-2ff0-8310-9223bea10d6d@jeffhostetler.com>
 source: <pull.1503.git.1679678090412.gitgitgadget@gmail.com>


* mh/credential-password-expiry-wincred (2023-04-03) 1 commit
 - credential/wincred: store password_expiry_utc

 Teach the recently invented "password expiry time" trait to the
 wincred credential helper.

 Will merge to 'next'?
 source: <pull.1477.v3.git.git.1680508028077.gitgitgadget@gmail.com>


* nw/for-each-ref-signature (2023-03-13) 1 commit
 . ref-filter: add new "signature" atom

 "git (for-each-ref|branch|tag) --format=<format>" learns the "%(signature)"
 placeholder and friends.

 Breaks CI.
 cf. <xmqqpm9bosjw.fsf@gitster.g>
 source: <20230311210607.64927-2-nsengiyumvawilberforce@gmail.com>


* mh/credential-oauth-refresh-token (2023-04-21) 1 commit
 - credential: new attribute oauth_refresh_token

 The credential subsystem learns to help OAuth framework.

 Needs Review.
 source: <pull.1394.v2.git.1682070479816.gitgitgadget@gmail.com>


* mh/credential-password-expiry-libsecret (2023-03-27) 1 commit
 - credential/libsecret: support password_expiry_utc

 The libsecret credential helper learns to handle the password
 expiry time information.

 Needs Review.
 source: <pull.1469.v2.git.git.1679729764851.gitgitgadget@gmail.com>


* sl/diff-files-sparse (2023-04-24) 2 commits
 - diff-files: integrate with sparse index
 - t1092: add tests for `git diff-files`

 Teach "diff-files" not to expand sparse-index unless needed.
 source: <20230423010721.1402736-1-cheskaqiqi@gmail.com>


* rj/branch-unborn-in-other-worktrees (2023-03-27) 5 commits
 - branch: avoid unnecessary worktrees traversals
 - branch: rename orphan branches in any worktree
 - branch: description for orphan branch errors
 - branch: use get_worktrees() in copy_or_rename_branch()
 - branch: test for failures while renaming branches

 Error messages given when working on an unborn branch that is
 checked out in another worktree have been improved.

 Will merge to 'next'?
 source: <f8e6447e-5cd3-98fa-f567-39e1c60dacb0@gmail.com>

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

* pw/sequencer-rescheduled-ones-are-not-done-yet (2023-03-20) 1 commit
 . rebase -i: do not update "done" when rescheduling command

 "rebase -i" moved a "rescheduled" insn in the todo file to the
 "done" list before it completed, which has been corrected.

 Replaced with a much more enhanced pw/rebase-i-after-failure topic.
 source: <pull.1492.git.1679237337683.gitgitgadget@gmail.com>


* ed/fsmonitor-inotify (2022-12-13) 6 commits
 . fsmonitor: update doc for Linux
 . fsmonitor: test updates
 . fsmonitor: enable fsmonitor for Linux
 . fsmonitor: implement filesystem change listener for Linux
 . fsmonitor: determine if filesystem is local or remote
 . fsmonitor: prepare to share code between Mac OS and Linux

 Bundled fsmonitor for Linux using inotify API.

 Seems to break asan job at CI when merged to 'seen'.
 cf. <xmqqzg7d8xn2.fsf@gitster.g>
 source: <pull.1352.v5.git.git.1670882286.gitgitgadget@gmail.com>


* rj/sendemail-validate-series-hook (2023-04-05) 1 commit
 . hooks: add sendemail-validate-series

 "git send-email" learns a new hook that takes the entire set of
 patch files from its standard input to validate them in one go,
 instead of getting called once per each file.

 Superseded by the rj/send-email-validate-hook-count-messages topic.
 source: <20230405231305.96996-1-robin@jarry.cc>


* my/wildmatch-cleanups (2023-02-27) 5 commits
 . wildmatch: more cleanups after killing uchar
 . wildmatch: use char instead of uchar
 . wildmatch: remove NEGATE_CLASS(2) macros with trivial refactoring
 . wildmatch: remove IS*() macros
 . git-compat-util: add isblank() and isgraph()

 Code clean-up.

 Discarded without prejudice after more than 6 weeks of inactivity.
 source: <20230226115021.1681834-1-masahiroy@kernel.org>


* cw/forbid-use-of-gitlink-outside-submodules (2023-02-28) 6 commits
 . add: reject nested repositories
 . tests: remove duplicate .gitmodules path
 . tests: use `git submodule add` and fix expected status
 . tests: use `git submodule add` and fix expected diffs
 . tests: Use `git submodule add` instead of `git add`
 . t4041, t4060: modernize test style

 Forbid "git add dir" from adding a gitlink to the index.

 Discarded without prejudice after more than 6 weeks of inactivity.
 source: <20230228185253.2356546-1-calvinwan@google.com>

^ permalink raw reply	[relevance 20%]

* What's cooking in git.git (Apr 2023, #06; Thu, 20)
@ 2023-04-20 22:34 20% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-04-20 22:34 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a future
release).  Commits prefixed with '-' are only in 'seen', and aren't
considered "accepted" at all and may be annotated with an URL to a
message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity.

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']

* ar/t2024-checkout-output-fix (2023-04-10) 1 commit
  (merged to 'next' on 2023-04-13 at a35a043d6c)
 + t2024: fix loose/strict local base branch DWIM test

 Test fix.
 source: <20230408205450.569548-1-rybak.a.v@gmail.com>


* gc/better-error-when-local-clone-fails-with-symlink (2023-04-11) 1 commit
  (merged to 'next' on 2023-04-13 at fff15efe05)
 + clone: error specifically with --local and symlinked objects

 "git clone --local" stops copying from an original repository that
 has symbolic links inside its $GIT_DIR; an error message when that
 happens has been updated.
 source: <pull.1488.v2.git.git.1681165130765.gitgitgadget@gmail.com>


* rs/get-tar-commit-id-use-defined-const (2023-04-10) 1 commit
  (merged to 'next' on 2023-04-13 at ad62b4545a)
 + get-tar-commit-id: use TYPEFLAG_GLOBAL_HEADER instead of magic value

 Code clean-up to replace a hardcoded constant with a CPP macro.
 source: <79497392-0296-2ae3-2560-1f90c1a309b5@web.de>


* rs/remove-approxidate-relative (2023-04-10) 1 commit
  (merged to 'next' on 2023-04-13 at bd7df5f98c)
 + date: remove approxidate_relative()

 The approxidate() API has been simplified by losing an extra
 function that did the same thing as another one.
 source: <f5b9a290-7cec-7a83-660b-e15494d2cdc8@web.de>


* rs/userdiff-multibyte-regex (2023-04-07) 1 commit
  (merged to 'next' on 2023-04-13 at 348908c03c)
 + userdiff: support regexec(3) with multi-byte support

 The userdiff regexp patterns for various filetypes that are built
 into the system have been updated to avoid triggering regexp errors
 from UTF-8 aware regex engines.
 source: <7327ac06-d5da-ec53-543e-78e7729e78bb@web.de>

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

* ar/config-count-tests-updates (2023-04-18) 4 commits
 - SQUASH???
 - t1300: add tests for missing keys
 - t1300: check stderr for "ignores pairs" tests
 - t1300: drop duplicate test

 Test updates.

 Expecting a reroll.
 source: <20230418175034.982433-1-rybak.a.v@gmail.com>


* en/header-split-cache-h-part-2 (2023-04-18) 23 commits
 - reftable: ensure git-compat-util.h is the first (indirect) include
 - diff.h: reduce unnecessary includes
 - object-store.h: reduce unnecessary includes
 - commit.h: reduce unnecessary includes
 - fsmonitor: reduce includes of cache.h
 - cache.h: remove unnecessary headers
 - treewide: remove cache.h inclusion due to previous changes
 - cache,tree: move basic name compare functions from read-cache to tree
 - cache,tree: move cmp_cache_name_compare from tree.[ch] to read-cache.c
 - hash.h, repository.h: reverse the order of these dependencies
 - tree-diff.c: move S_DIFFTREE_IFXMIN_NEQ define from cache.h
 - dir.h: move DTYPE defines from cache.h
 - versioncmp.h: move declarations for versioncmp.c functions from cache.h
 - ws.h: move declarations for ws.c functions from cache.h
 - match-trees.h: move declarations for match-trees.c functions from cache.h
 - pkt-line.h: move declarations for pkt-line.c functions from cache.h
 - base85.h: move declarations for base85.c functions from cache.h
 - copy.h: move declarations for copy.c functions from cache.h
 - server-info.h: move declarations for server-info.c functions from cache.h
 - packfile.h: move pack_window and pack_entry from cache.h
 - symlinks.h: move declarations for symlinks.c functions from cache.h
 - treewide: be explicit about dependence on strbuf.h
 - Merge branch 'en/header-split-cache-h' into en/header-split-cache-h-part-2
 (this branch uses en/header-split-cache-h.)

 More header clean-up.

 Will merge to 'next'?
 source: <pull.1517.git.1681614205.gitgitgadget@gmail.com>


* fc/doc-checkout-markup-updates (2023-04-18) 2 commits
  (merged to 'next' on 2023-04-20 at 62782d75c4)
 + doc: git-checkout: reorganize examples
 + doc: git-checkout: trivial callout cleanup

 Doc mark-up update.

 Will merge to 'master'.
 source: <20230418070048.2209469-1-felipe.contreras@gmail.com>


* jk/gpg-trust-level-fix (2023-04-19) 1 commit
 - gpg-interface: set trust level of missing key to "undefined"

 The "%GT" placeholder for the "--format" option of "git log" and
 friends caused BUG() to trigger on a commit signed with an unknown
 key, which has been corrected.

 Will merge to 'next'.
 source: <20230419012957.GA503941@coredump.intra.peff.net>


* ps/fetch-output-format (2023-04-19) 8 commits
 - fetch: introduce machine-parseable "porcelain" output format
 - fetch: introduce new `--output-format` option
 - fetch: move option related variables into main function
 - fetch: move display format parsing into main function
 - fetch: introduce `display_format` enum
 - fetch: fix missing from-reference when fetching HEAD:foo
 - fetch: add a test to exercise invalid output formats
 - fetch: split out tests for output format

 "git fetch" learned the "--output-format" option that emits what it
 did in a machine-parseable format.

 Needs review.
 source: <cover.1681906948.git.ps@pks.im>


* en/ort-finalize-after-0-merges-fix (2023-04-20) 2 commits
 - SQUASH??? futureproofing suggestion by Derrick
 - merge-ort: fix calling merge_finalize() with no intermediate merge

 source: <pull.1518.git.1681974847078.gitgitgadget@gmail.com>


* ma/gittutorial-fixes (2023-04-20) 2 commits
 - gittutorial: wrap literal examples in backticks
 - gittutorial: drop early mention of origin

 source: <cover.1681579244.git.martin.agren@gmail.com>


* sg/retire-unused-cocci (2023-04-20) 1 commit
 - cocci: remove 'unused.cocci'

 source: <20230420205350.600760-1-szeder.dev@gmail.com>

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

* tb/pack-bitmap-index-seek (2023-03-20) 6 commits
 - pack-bitmap.c: factor out `bitmap_index_seek_commit()`
 - pack-bitmap.c: use `bitmap_index_seek()` where possible
 - pack-bitmap.c: factor out manual `map_pos` manipulation
 - pack-bitmap.c: drop unnecessary 'inline's
 - pack-bitmap.c: hide bitmap internals in `read_be32()`
 - pack-bitmap.c: hide bitmap internals in `read_u8()`

 Clean-up the pack-bitmap codepath.

 Kicked back to 'seen' out of 'next'.
 There is a BUG() on data errors that needs to be fixed.
 source: <cover.1679342296.git.me@ttaylorr.com>


* mh/use-wincred-from-system (2023-03-27) 1 commit
 - credential/wincred: include wincred.h

 Code clean-up.

 May want to discard.
 Area maintainer is fairly negative.
 cf. <8511e030-8167-715c-5ed4-1646e6e9ef85@gmx.de>
 source: <pull.1496.git.1679707396407.gitgitgadget@gmail.com>


* cb/checkout-same-branch-twice (2023-03-22) 2 commits
 - SQUASH??? the test marked to expect failure passes from day one
 - checkout/switch: disallow checking out same branch in multiple worktrees

 "git checkout -B $branch" failed to protect against checking out
 a branch that is checked out elsewhere, unlike "git branch -f" did.

 Expecting a hopefully minor and final reroll.
 cf. <CAPUEspj_Bh+LgYLnWfeBdcq_uV5Cbou-7H51GLFjzSa5Qzby9w@mail.gmail.com>
 source: <20230120113553.24655-1-carenas@gmail.com>


* ob/revert-of-revert (2023-03-28) 1 commit
 - sequencer: call a revert of a revert "reapply"

 Instead of "Revert "Revert "original"", give "Replay "original""
 as the title for a revert of a revert.

 Needs more polishing: docs, tests, transitions.
 source: <20230323162234.995465-1-oswald.buddenhagen@gmx.de>


* tk/pull-conflict-suggest-rebase-merge-not-rebase-true (2023-02-13) 1 commit
 - pull: conflict hint pull.rebase suggestion should offer "merges" vs "true"

 In an advice message after failed non-ff pull, we used to suggest
 setting pull.rebase=true, but these days pull.rebase=merges may be
 more inline with the original spirit of "rebuild your side on top
 of theirs".

 May want to discard.
 This is too much of a departure from the existing practice.
 cf. <CAMMLpeTPEoKVTbfc17w+Y9qn7jOGmQi_Ux0Y3sFW5QTgGWJ=SA@mail.gmail.com>
 cf. <CABPp-BGqAxKnxDRVN4cYMteLp33hvto07R3=TJBT5WubJT4+Og@mail.gmail.com>
 source: <pull.1474.git.1675614276549.gitgitgadget@gmail.com>


* tl/notes-separator (2023-03-28) 4 commits
 . notes.c: don't do stripespace when parse file arg
 . notes.c: introduce '--separator=<paragraph-break>' option
 . notes.c: use designated initializers for clarity
 . notes.c: cleanup 'strbuf_grow' call in 'append_edit'

 'git notes append' was taught '--separator' to specify string to insert
 between paragraphs.

 Seems to break CI.
 cf. <xmqqy1nf8c0f.fsf@gitster.g>
 source: <cover.1680012650.git.dyroneteng@gmail.com>


* ab/tag-object-type-errors (2022-11-22) 5 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - object-file.c: free the "t.tag" in check_tag()
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.

 Expecting a reroll.
 cf. <xmqqzgb5jz5c.fsf@gitster.g>
 cf. <xmqqsfgxjugi.fsf@gitster.g>
 source: <cover-0.4-00000000000-20221118T113442Z-avarab@gmail.com>


* ad/test-record-count-when-harness-is-in-use (2022-12-25) 1 commit
 - test-lib: allow storing counts with test harnesses

 Allow summary results from tests to be written to t/test-results
 directory even when a test harness like 'prove' is in use.

 Expecting a reroll.
 cf. <CABPp-BGoPuGCZw+9wCgdYyRR4Zf4y9Kun27GrQhtMdYWpOUsYQ@mail.gmail.com>
 source: <20221224225200.1027806-1-adam@dinwoodie.org>


* so/diff-merges-more (2022-12-18) 5 commits
 - diff-merges: improve --diff-merges documentation
 - diff-merges: issue warning on lone '-m' option
 - diff-merges: support list of values for --diff-merges
 - diff-merges: implement log.diffMerges-m-imply-p config
 - diff-merges: implement [no-]hide option and log.diffMergesHide config

 Assorted updates to "--diff-merges=X" option.

 May want to discard.
 Breaking compatibility does not seem worth it.
 source: <20221217132955.108542-1-sorganov@gmail.com>


* ab/imap-send-requires-curl (2023-02-02) 6 commits
 - imap-send: correctly report "host" when using "tunnel"
 - imap-send: remove old --no-curl codepath
 - imap-send: make --curl no-optional
 - imap-send: replace auto-probe libcurl with hard dependency
 - imap-send doc: the imap.sslVerify is used with imap.tunnel
 - imap-send: note "auth_method", not "host" on auth method failure

 Give a hard dependency on cURL library to build "git imap-send",
 and remove the code to interact with IMAP server without using cURL.

 Expecting a reroll.
 The 'tunnel' part is still iffy.
 cf. <230203.86bkmabfjr.gmgdl@evledraar.gmail.com>
 source: <cover-v2-0.6-00000000000-20230202T093706Z-avarab@gmail.com>


* tc/cat-file-z-use-cquote (2023-03-03) 2 commits
 . cat-file: quote-format name in error when using -z
 . cat-file: extract printing batch error message into function

 "cat-file" in the batch mode that is fed NUL-terminated pathnames
 learned to cquote them in its error output (otherwise, a funny
 pathname with LF in it would break the lines in the output stream).

 Breaks "cat-file --batch-all-objects --batch-check".
 cf. <xmqqilfhctrr.fsf@gitster.g>
 source: <20230303191708.77894-1-toon@iotcl.com>


* cw/submodule-status-in-parallel (2023-03-02) 6 commits
 - diff-lib: parallelize run_diff_files for submodules
 - diff-lib: refactor out diff_change logic
 - submodule: refactor is_submodule_modified()
 - submodule: move status parsing into function
 - submodule: rename strbuf variable
 - run-command: add on_stderr_output_fn to run_processes_parallel_opts

 "git submodule status" learned to run the comparison in submodule
 repositories in parallel.

 Expecting a reroll.
 cf. <CAFySSZDk05m6gU5-V1R+y3YnQ5PPduVW54+_gjBwD0rmacsLsw@mail.gmail.com>
 cf. <230307.865ybc273g.gmgdl@evledraar.gmail.com>
 source: <20230302215237.1473444-1-calvinwan@google.com>

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

* ds/fsck-pack-revindex (2023-04-17) 5 commits
  (merged to 'next' on 2023-04-19 at 6fb9527bf5)
 + fsck: validate .rev file header
 + fsck: check rev-index position values
 + fsck: check rev-index checksums
 + fsck: create scaffolding for rev-index checks
 + Merge branch 'tb/pack-revindex-on-disk' into ds/fsck-pack-revindex
 (this branch uses tb/pack-revindex-on-disk.)

 "git fsck" learned to validate the on-disk pack reverse index files.

 Will merge to 'master'.
 source: <pull.1512.git.1681748502.gitgitgadget@gmail.com>


* tb/enable-cruft-packs-by-default (2023-04-18) 10 commits
 - repository.h: drop unused `gc_cruft_packs`
 - builtin/gc.c: make `gc.cruftPacks` enabled by default
 - t/t9300-fast-import.sh: prepare for `gc --cruft` by default
 - t/t6500-gc.sh: add additional test cases
 - t/t6500-gc.sh: refactor cruft pack tests
 - t/t6501-freshen-objects.sh: prepare for `gc --cruft` by default
 - t/t5304-prune.sh: prepare for `gc --cruft` by default
 - builtin/gc.c: ignore cruft packs with `--keep-largest-pack`
 - builtin/repack.c: fix incorrect reference to '-C'
 - pack-write.c: plug a leak in stage_tmp_packfiles()

 When "gc" needs to retain unreachable objects, packing them into
 cruft packs (instead of exploding them into loose object files) has
 been offered as a more efficient option for some time.  Now the use
 of cruft packs has been made the default and no longer considered
 an experimental feature.

 Will merge to 'next'.
 source: <cover.1681850424.git.me@ttaylorr.com>


* ms/send-email-feed-header-to-validate-hook (2023-04-19) 2 commits
 - send-email: expose header information to git-send-email's sendemail-validate hook
 - send-email: refactor header generation functions

 "git send-email" learned to give the e-mail headers to the validate
 hook by passing an extra argument from the command line.
 source: <20230419202703.2911836-1-michael.strawbridge@amd.com>


* ja/worktree-orphan (2023-04-17) 8 commits
 - worktree add: emit warn when there is a bad HEAD
 - worktree add: extend DWIM to infer --orphan
 - worktree add: introduce "try --orphan" hint
 - worktree add: add --orphan flag
 - t2400: add tests to verify --quiet
 - t2400: refactor "worktree add" opt exclusion tests
 - t2400: print captured git output when finished
 - worktree add: include -B in usage docs

 'git worktree add' learned how to create a worktree based on an
 orphaned branch with `--orphan`.

 Comments?
 source: <20230417093255.31079-1-jacobabel@nullpo.dev>


* gc/doc-cocci-updates (2023-04-12) 2 commits
 - cocci: codify authoring and reviewing practices
 - cocci: add headings to and reword README

 Update documentation regarding Coccinelle patches.

 Expecting review response.
 cf. <xmqqmt3by5sc.fsf@gitster.g>
 source: <pull.1495.git.git.1681329955.gitgitgadget@gmail.com>


* jk/protocol-cap-parse-fix (2023-04-14) 7 commits
  (merged to 'next' on 2023-04-17 at fd9bf05656)
 + v0 protocol: use size_t for capability length/offset
 + t5512: test "ls-remote --heads --symref" filtering with v0 and v2
 + t5512: allow any protocol version for filtered symref test
 + t5512: add v2 support for "ls-remote --symref" test
 + v0 protocol: fix sha1/sha256 confusion for capabilities^{}
 + t5512: stop referring to "v1" protocol
 + v0 protocol: fix infinite loop when parsing multi-valued capabilities

 The code to parse capability list for v0 on-wire protocol fell into
 an infinite loop when a capability appears multiple times, which
 has been corrected.

 Will merge to 'master'.
 source: <20230414212404.GA639653@coredump.intra.peff.net>


* kh/doc-interpret-trailers-updates (2023-04-12) 4 commits
 - doc: interpret-trailers: fix example
 - doc: interpret-trailers: don’t use deprecated config
 - doc: interpret-trailers: use input redirection
 - doc: interpret-trailers: don’t use heredoc in examples

 Doc update.

 Expecting a reroll.
 cf. <xmqqcz487qds.fsf@gitster.g>, <xmqqjzyg7qdw.fsf@gitster.g>
 source: <cover.1681326818.git.code@khaugsbakk.name>


* ps/fix-geom-repack-with-alternates (2023-04-14) 10 commits
  (merged to 'next' on 2023-04-18 at de56e80363)
 + repack: disable writing bitmaps when doing a local repack
 + repack: honor `-l` when calculating pack geometry
 + t/helper: allow chmtime to print verbosely without modifying mtime
 + pack-objects: extend test coverage of `--stdin-packs` with alternates
 + pack-objects: fix error when same packfile is included and excluded
 + pack-objects: fix error when packing same pack twice
 + pack-objects: split out `--stdin-packs` tests into separate file
 + repack: fix generating multi-pack-index with only non-local packs
 + repack: fix trying to use preferred pack in alternates
 + midx: fix segfault with no packs and invalid preferred pack

 Geometric repacking ("git repack --geometric=<n>") in a repository
 that borrows from an alternate object database had various corner
 case bugs, which have been corrected.

 Will merge to 'master'.
 source: <cover.1681452028.git.ps@pks.im>


* rj/send-email-validate-hook-count-messages (2023-04-14) 1 commit
  (merged to 'next' on 2023-04-18 at 0c3db0bd3b)
 + send-email: export patch counters in validate environment

 The sendemail-validate validate hook learned to pass the total
 number of input files and where in the sequence each invocation is
 via environment variables.

 Will merge to 'master'.
 source: <20230414155249.667180-1-robin@jarry.cc>


* tb/pack-revindex-on-disk (2023-04-13) 7 commits
  (merged to 'next' on 2023-04-19 at d6b90b44cf)
 + t: invert `GIT_TEST_WRITE_REV_INDEX`
 + config: enable `pack.writeReverseIndex` by default
 + pack-revindex: introduce `pack.readReverseIndex`
 + pack-revindex: introduce GIT_TEST_REV_INDEX_DIE_ON_DISK
 + pack-revindex: make `load_pack_revindex` take a repository
 + t5325: mark as leak-free
 + pack-write.c: plug a leak in stage_tmp_packfiles()
 (this branch is used by ds/fsck-pack-revindex.)

 The on-disk reverse index that allows mapping from the pack offset
 to the object name for the object stored at the offset has been
 enabled by default.

 Will merge to 'master'.
 source: <cover.1681338013.git.me@ttaylorr.com>


* fc/doc-use-datestamp-in-commit (2023-04-14) 3 commits
  (merged to 'next' on 2023-04-20 at 3b6ccb62ec)
 + doc: set actual revdate for manpages
 + Merge branch 'fc/doc-stop-using-manversion' into fc/doc-use-datestamp-in-commit
 + Merge branch 'fc/remove-header-workarounds-for-asciidoc' into fc/doc-use-datestamp-in-commit
 (this branch uses fc/doc-stop-using-manversion.)

 Instead of the time the formatter was run, show the timestamp
 recorded in the commit in the documentation.

 Will merge to 'master'.
 source: <20230413074722.71260-1-felipe.contreras@gmail.com>


* pb/complete-and-document-auto-merge-and-friends (2023-04-14) 5 commits
  (merged to 'next' on 2023-04-20 at 2728a01622)
 + completion: complete AUTO_MERGE
 + Documentation: document AUTO_MERGE
 + git-merge.txt: modernize word choice in "True merge" section
 + completion: complete REVERT_HEAD and BISECT_HEAD
 + revisions.txt: document more special refs

 Document more pseudo-refs and teach the command line completion
 machinery to complete AUTO_MERGE.

 Will merge to 'master'.
 source: <pull.1515.git.1681495119.gitgitgadget@gmail.com>


* tb/ban-strtok (2023-04-18) 6 commits
 - banned.h: mark `strtok()` as banned
 - t/helper/test-json-writer.c: avoid using `strtok()`
 - t/helper/test-oidmap.c: avoid using `strtok()`
 - t/helper/test-hashmap.c: avoid using `strtok()`
 - string-list: introduce `string_list_setlen()`
 - string-list: introduce `string_list_split_in_place_multi()`

 Mark strtok() and strtok_r() to be banned.

 Comments?
 source: <cover.1681845518.git.me@ttaylorr.com>


* fc/doc-stop-using-manversion (2023-04-10) 1 commit
  (merged to 'next' on 2023-04-14 at 0800fe5ab4)
 + doc: simplify man version
 (this branch is used by fc/doc-use-datestamp-in-commit.)

 Doc build simplification.

 Will merge to 'master'.
 source: <20230408001829.11031-1-felipe.contreras@gmail.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
 - diff-index: enable sparse index

 "git diff-index" command has been taught to work better with the
 sparse index.

 Expecting a reroll.
 cf. <62821012-4fc3-5ad8-695c-70f7ab14a8c9@github.com>
 source: <20230408112342.404318-1-nanth.raghul@gmail.com>


* es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
 - usage: clarify --recurse-submodules as a boolean

 The "--[no-]recurse-submodules" option of "git checkout" and others
 supported an undocumented syntax --recurse-submodules=<value> where
 the value can spell a Boolean in various ways.  The support for the
 syntax is being dropped.

 Expecting a reroll.
 cf. <ZDSTFwMFO7vbj/du@google.com>
 source: <ZDSTFwMFO7vbj/du@google.com>


* ow/ref-filter-omit-empty (2023-04-13) 1 commit
  (merged to 'next' on 2023-04-14 at 2798986c60)
 + branch, for-each-ref, tag: add option to omit empty lines

 "git branch --format=..." and "git format-patch --format=..."
 learns "--omit-empty" to hide refs that whose formatting result
 becomes an empty string from the output.

 Will merge to 'master'.
 source: <20230407175316.6404-1-oystwa@gmail.com>


* rn/sparse-describe (2023-04-03) 1 commit
  (merged to 'next' on 2023-04-14 at 9699cfad2c)
 + describe: enable sparse index for describe

 "git describe --dirty" learns to work better with sparse-index.

 Will merge to 'master'.
 source: <20230403164749.246001-1-nanth.raghul@gmail.com>


* ah/format-patch-thread-doc (2023-04-03) 1 commit
  (merged to 'next' on 2023-04-14 at acf141a832)
 + format-patch: correct documentation of --thread without an argument

 Doc update.

 Will merge to 'master'.
 source: <20230403040724.642513-1-alexhenrie24@gmail.com>


* ar/test-cleanup-unused-file-creation-part2 (2023-04-17) 6 commits
 - t2019: don't create unused files
 - t1502: don't create unused files
 - t1450: don't create unused files
 - t1300: don't create unused files
 - t1300: fix config file syntax error descriptions
 - t0300: don't create unused file

 Test cleanup.

 Comments?
 source: <20230417191044.909094-1-rybak.a.v@gmail.com>


* en/header-split-cache-h (2023-04-18) 25 commits
  (merged to 'next' on 2023-04-18 at 55b4d95cac)
 + protocol.h: move definition of DEFAULT_GIT_PORT from cache.h
  (merged to 'next' on 2023-04-13 at b9afefff0b)
 + mailmap, quote: move declarations of global vars to correct unit
 + treewide: reduce includes of cache.h in other headers
 + treewide: remove double forward declaration of read_in_full
 + cache.h: remove unnecessary includes
 + treewide: remove cache.h inclusion due to pager.h changes
 + pager.h: move declarations for pager.c functions from cache.h
 + treewide: remove cache.h inclusion due to editor.h changes
 + editor: move editor-related functions and declarations into common file
 + treewide: remove cache.h inclusion due to object.h changes
 + object.h: move some inline functions and defines from cache.h
 + treewide: remove cache.h inclusion due to object-file.h changes
 + object-file.h: move declarations for object-file.c functions from cache.h
 + treewide: remove cache.h inclusion due to git-zlib changes
 + git-zlib: move declarations for git-zlib functions from cache.h
 + treewide: remove cache.h inclusion due to object-name.h changes
 + object-name.h: move declarations for object-name.c functions from cache.h
 + treewide: remove unnecessary cache.h inclusion
 + treewide: be explicit about dependence on mem-pool.h
 + treewide: be explicit about dependence on oid-array.h
 + treewide: be explicit about dependence on pack-revindex.h
 + treewide: be explicit about dependence on convert.h
 + treewide: be explicit about dependence on advice.h
 + treewide: be explicit about dependence on trace.h & trace2.h
 + Merge branch 'ab/remove-implicit-use-of-the-repository' into en/header-split-cache-h
 (this branch is used by en/header-split-cache-h-part-2.)

 Header clean-up.

 Will merge to 'master'.
 source: <pull.1509.v3.git.1681182060.gitgitgadget@gmail.com>


* ed/fsmonitor-windows-named-pipe (2023-03-24) 1 commit
 - fsmonitor: handle differences between Windows named pipe functions

 Fix fsmonitor on Windows when the filesystem path contains certain
 characters.

 Expecting a reroll.
 cf. <b9cf67e4-22a7-2ff0-8310-9223bea10d6d@jeffhostetler.com>
 source: <pull.1503.git.1679678090412.gitgitgadget@gmail.com>


* mh/credential-password-expiry-wincred (2023-04-03) 1 commit
 - credential/wincred: store password_expiry_utc

 Teach the recently invented "password expiry time" trait to the
 wincred credential helper.

 Will merge to 'next'?
 source: <pull.1477.v3.git.git.1680508028077.gitgitgadget@gmail.com>


* pw/sequencer-rescheduled-ones-are-not-done-yet (2023-03-20) 1 commit
 - rebase -i: do not update "done" when rescheduling command

 "rebase -i" moved a "rescheduled" insn in the todo file to the
 "done" list before it completed, which has been corrected.

 Expecting clarification.
 source: <pull.1492.git.1679237337683.gitgitgadget@gmail.com>


* rs/archive-from-subdirectory-fixes (2023-03-24) 1 commit
  (merged to 'next' on 2023-04-14 at 950f9ed807)
 + archive: improve support for running in subdirectory

 "git archive" run from a subdirectory mishandled attributes and
 paths outside the current directory.

 Will merge to 'master'.
 source: <7c33b01b-7b2a-25fa-9a66-1e65cd12bc84@web.de>


* nw/for-each-ref-signature (2023-03-13) 1 commit
 . ref-filter: add new "signature" atom

 "git (for-each-ref|branch|tag) --format=<format>" learns the "%(signature)"
 placeholder and friends.

 Breaks CI.
 cf. <xmqqpm9bosjw.fsf@gitster.g>
 source: <20230311210607.64927-2-nsengiyumvawilberforce@gmail.com>


* mh/credential-oauth-refresh-token (2023-03-14) 1 commit
 - credential: new attribute oauth_refresh_token

 The credential subsystem learns to help OAuth framework.

 Needs Review.
 source: <pull.1394.git.1678776364753.gitgitgadget@gmail.com>


* mh/credential-password-expiry-libsecret (2023-03-27) 1 commit
 - credential/libsecret: support password_expiry_utc

 The libsecret credential helper learns to handle the password
 expiry time information.

 Needs Review.
 source: <pull.1469.v2.git.git.1679729764851.gitgitgadget@gmail.com>


* sl/diff-files-sparse (2023-03-22) 2 commits
 - diff-files: integrate with sparse index
 - t1092: add tests for `git diff-files`

 Teach "diff-files" not to expand sparse-index unless needed.

 Expecting a reroll.
 cf. <c382017a-8c65-24ba-5092-6b46428d8b9b@github.com>
 source: <20230322161820.3609-1-cheskaqiqi@gmail.com>


* rj/branch-unborn-in-other-worktrees (2023-03-27) 5 commits
 - branch: avoid unnecessary worktrees traversals
 - branch: rename orphan branches in any worktree
 - branch: description for orphan branch errors
 - branch: use get_worktrees() in copy_or_rename_branch()
 - branch: test for failures while renaming branches

 Error messages given when working on an unborn branch that is
 checked out in another worktree have been improved.

 Will merge to 'next'?
 source: <f8e6447e-5cd3-98fa-f567-39e1c60dacb0@gmail.com>

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

* ed/fsmonitor-inotify (2022-12-13) 6 commits
 . fsmonitor: update doc for Linux
 . fsmonitor: test updates
 . fsmonitor: enable fsmonitor for Linux
 . fsmonitor: implement filesystem change listener for Linux
 . fsmonitor: determine if filesystem is local or remote
 . fsmonitor: prepare to share code between Mac OS and Linux

 Bundled fsmonitor for Linux using inotify API.

 Seems to break asan job at CI when merged to 'seen'.
 cf. <xmqqzg7d8xn2.fsf@gitster.g>
 source: <pull.1352.v5.git.git.1670882286.gitgitgadget@gmail.com>


* rj/sendemail-validate-series-hook (2023-04-05) 1 commit
 . hooks: add sendemail-validate-series

 "git send-email" learns a new hook that takes the entire set of
 patch files from its standard input to validate them in one go,
 instead of getting called once per each file.

 Superseded by the rj/send-email-validate-hook-count-messages topic.
 source: <20230405231305.96996-1-robin@jarry.cc>


* my/wildmatch-cleanups (2023-02-27) 5 commits
 . wildmatch: more cleanups after killing uchar
 . wildmatch: use char instead of uchar
 . wildmatch: remove NEGATE_CLASS(2) macros with trivial refactoring
 . wildmatch: remove IS*() macros
 . git-compat-util: add isblank() and isgraph()

 Code clean-up.

 Discarded without prejudice after more than 6 weeks of inactivity.
 source: <20230226115021.1681834-1-masahiroy@kernel.org>


* cw/forbid-use-of-gitlink-outside-submodules (2023-02-28) 6 commits
 . add: reject nested repositories
 . tests: remove duplicate .gitmodules path
 . tests: use `git submodule add` and fix expected status
 . tests: use `git submodule add` and fix expected diffs
 . tests: Use `git submodule add` instead of `git add`
 . t4041, t4060: modernize test style

 Forbid "git add dir" from adding a gitlink to the index.

 Discarded without prejudice after more than 6 weeks of inactivity.
 source: <20230228185253.2356546-1-calvinwan@google.com>

^ permalink raw reply	[relevance 20%]

* What's cooking in git.git (Apr 2023, #05; Mon, 17)
@ 2023-04-18  8:12 22% Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-04-18  8:12 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a future
release).  Commits prefixed with '-' are only in 'seen', and aren't
considered "accepted" at all and may be annotated with an URL to a
message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity.

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']

* cm/branch-delete-error-message-update (2023-04-06) 1 commit
  (merged to 'next' on 2023-04-10 at 09c987c822)
 + branch: improve error log on branch not found by checking remotes refs

 "git branch -d origin/master" would say "no such branch", but it is
 likely a missed "-r" if refs/remotes/origin/master exists.  The
 command has been taught to give such a hint in its error message.
 source: <pull.1476.v3.git.git.1680695000257.gitgitgadget@gmail.com>


* fc/remove-header-workarounds-for-asciidoc (2023-04-05) 1 commit
  (merged to 'next' on 2023-04-10 at f08eab44f2)
 + doc: asciidoc: remove custom header macro
 (this branch is used by fc/doc-use-datestamp-in-commit.)

 Doc toolchain update to remove old workaround for AsciiDoc.
 source: <20230323221523.52472-1-felipe.contreras@gmail.com>


* la/mfc-markup-fix (2023-04-06) 1 commit
  (merged to 'next' on 2023-04-10 at 05415e1c90)
 + MyFirstContribution: render literal *

 Documentation mark-up fix.
 source: <pull.1510.git.1680661709616.gitgitgadget@gmail.com>


* pw/rebase-cleanup-merge-strategy-option-handling (2023-04-10) 5 commits
  (merged to 'next' on 2023-04-11 at a3b1fd5ec7)
 + rebase: remove a couple of redundant strategy tests
 + rebase -m: fix serialization of strategy options
 + rebase -m: cleanup --strategy-option handling
 + sequencer: use struct strvec to store merge strategy options
 + rebase: stop reading and writing unnecessary strategy state

 Clean-up of the code path that deals with merge strategy option
 handling in "git rebase".
 source: <cover.1681117706.git.phillip.wood@dunelm.org.uk>


* sl/sparse-write-tree (2023-04-04) 1 commit
  (merged to 'next' on 2023-04-10 at 0cd39c23b1)
 + write-tree: integrate with sparse index

 "git write-tree" learns to work better with sparse-index.
 source: <20230404003539.1578245-1-cheskaqiqi@gmail.com>


* tk/mergetool-gui-default-config (2023-04-05) 1 commit
  (merged to 'next' on 2023-04-10 at 228432526c)
 + mergetool: new config guiDefault supports auto-toggling gui by DISPLAY

 "git mergetool" and "git difftool" learns a new configuration
 guiDefault to optionally favor configured guitool over non-gui-tool
 automatically when $DISPLAY is set.
 source: <pull.1381.v4.git.1679153263217.gitgitgadget@gmail.com>

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

* ds/fsck-pack-revindex (2023-04-17) 5 commits
 - fsck: validate .rev file header
 - fsck: check rev-index position values
 - fsck: check rev-index checksums
 - fsck: create scaffolding for rev-index checks
 - Merge branch 'tb/pack-revindex-on-disk' into ds/fsck-pack-revindex
 (this branch uses tb/pack-revindex-on-disk.)

 "git fsck" learned to validate the on-disk pack reverse index files.
 source: <pull.1512.git.1681748502.gitgitgadget@gmail.com>


* tb/enable-cruft-packs-by-default (2023-04-17) 10 commits
 - repository.h: drop unused `gc_cruft_packs`
 - builtin/gc.c: make `gc.cruftPacks` enabled by default
 - t/t6501-freshen-objects.sh: prepare for `gc --cruft` by default
 - t/t6500-gc.sh: add additional test cases
 - t/t6500-gc.sh: refactor cruft pack tests
 - t/t9300-fast-import.sh: prepare for `gc --cruft` by default
 - t/t5304-prune.sh: prepare for `gc --cruft` by default
 - builtin/gc.c: ignore cruft packs with `--keep-largest-pack`
 - builtin/repack.c: fix incorrect reference to '-C'
 - pack-write.c: plug a leak in stage_tmp_packfiles()

 source: <cover.1681764848.git.me@ttaylorr.com>

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

* tl/notes-separator (2023-03-28) 4 commits
 . notes.c: don't do stripespace when parse file arg
 . notes.c: introduce '--separator=<paragraph-break>' option
 . notes.c: use designated initializers for clarity
 . notes.c: cleanup 'strbuf_grow' call in 'append_edit'

 'git notes append' was taught '--separator' to specify string to insert
 between paragraphs.

 Seems to break CI.
 cf. <xmqqy1nf8c0f.fsf@gitster.g>
 source: <cover.1680012650.git.dyroneteng@gmail.com>


* ab/tag-object-type-errors (2022-11-22) 5 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - object-file.c: free the "t.tag" in check_tag()
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.

 Expecting a reroll.
 cf. <xmqqzgb5jz5c.fsf@gitster.g>
 cf. <xmqqsfgxjugi.fsf@gitster.g>
 source: <cover-0.4-00000000000-20221118T113442Z-avarab@gmail.com>


* ad/test-record-count-when-harness-is-in-use (2022-12-25) 1 commit
 - test-lib: allow storing counts with test harnesses

 Allow summary results from tests to be written to t/test-results
 directory even when a test harness like 'prove' is in use.

 Expecting a reroll.
 cf. <CABPp-BGoPuGCZw+9wCgdYyRR4Zf4y9Kun27GrQhtMdYWpOUsYQ@mail.gmail.com>
 source: <20221224225200.1027806-1-adam@dinwoodie.org>


* so/diff-merges-more (2022-12-18) 5 commits
 - diff-merges: improve --diff-merges documentation
 - diff-merges: issue warning on lone '-m' option
 - diff-merges: support list of values for --diff-merges
 - diff-merges: implement log.diffMerges-m-imply-p config
 - diff-merges: implement [no-]hide option and log.diffMergesHide config

 Assorted updates to "--diff-merges=X" option.

 May want to discard.  Breaking compatibility does not seem worth it.
 source: <20221217132955.108542-1-sorganov@gmail.com>

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

* ja/worktree-orphan (2023-04-17) 8 commits
 - worktree add: emit warn when there is a bad HEAD
 - worktree add: extend DWIM to infer --orphan
 - worktree add: introduce "try --orphan" hint
 - worktree add: add --orphan flag
 - t2400: add tests to verify --quiet
 - t2400: refactor "worktree add" opt exclusion tests
 - t2400: print captured git output when finished
 - worktree add: include -B in usage docs

 'git worktree add' learned how to create a worktree based on an
 orphaned branch with `--orphan`.
 source: <20230417093255.31079-1-jacobabel@nullpo.dev>


* gc/doc-cocci-updates (2023-04-12) 2 commits
 - cocci: codify authoring and reviewing practices
 - cocci: add headings to and reword README

 Update documentation regarding Coccinelle patches.

 Comments?
 source: <pull.1495.git.git.1681329955.gitgitgadget@gmail.com>


* jk/protocol-cap-parse-fix (2023-04-14) 7 commits
  (merged to 'next' on 2023-04-17 at fd9bf05656)
 + v0 protocol: use size_t for capability length/offset
 + t5512: test "ls-remote --heads --symref" filtering with v0 and v2
 + t5512: allow any protocol version for filtered symref test
 + t5512: add v2 support for "ls-remote --symref" test
 + v0 protocol: fix sha1/sha256 confusion for capabilities^{}
 + t5512: stop referring to "v1" protocol
 + v0 protocol: fix infinite loop when parsing multi-valued capabilities

 The code to parse capability list for v0 on-wire protocol fell into
 an infinite loop when a capability appears multiple times, which
 has been corrected.

 Will merge to 'master'.
 source: <20230414212404.GA639653@coredump.intra.peff.net>


* kh/doc-interpret-trailers-updates (2023-04-12) 4 commits
 - doc: interpret-trailers: fix example
 - doc: interpret-trailers: don’t use deprecated config
 - doc: interpret-trailers: use input redirection
 - doc: interpret-trailers: don’t use heredoc in examples

 Doc update.

 Expecting a reroll.
 cf. <xmqqcz487qds.fsf@gitster.g>, <xmqqjzyg7qdw.fsf@gitster.g>
 source: <cover.1681326818.git.code@khaugsbakk.name>


* ps/fix-geom-repack-with-alternates (2023-04-14) 10 commits
 - repack: disable writing bitmaps when doing a local repack
 - repack: honor `-l` when calculating pack geometry
 - t/helper: allow chmtime to print verbosely without modifying mtime
 - pack-objects: extend test coverage of `--stdin-packs` with alternates
 - pack-objects: fix error when same packfile is included and excluded
 - pack-objects: fix error when packing same pack twice
 - pack-objects: split out `--stdin-packs` tests into separate file
 - repack: fix generating multi-pack-index with only non-local packs
 - repack: fix trying to use preferred pack in alternates
 - midx: fix segfault with no packs and invalid preferred pack

 Geometric repacking ("git repack --geometric=<n>") in a repository
 that borrows from an alternate object database had various corner
 case bugs, which have been corrected.

 Will merge to 'next'.
 source: <cover.1681452028.git.ps@pks.im>


* rj/send-email-validate-hook-count-messages (2023-04-14) 1 commit
 - send-email: export patch counters in validate environment

 The sendemail-validate validate hook learned to pass the total
 number of input files and where in the sequence each invocation is
 via environment variables.

 Will merge to 'next'.
 source: <20230414155249.667180-1-robin@jarry.cc>


* tb/pack-revindex-on-disk (2023-04-13) 7 commits
 - t: invert `GIT_TEST_WRITE_REV_INDEX`
 - config: enable `pack.writeReverseIndex` by default
 - pack-revindex: introduce `pack.readReverseIndex`
 - pack-revindex: introduce GIT_TEST_REV_INDEX_DIE_ON_DISK
 - pack-revindex: make `load_pack_revindex` take a repository
 - t5325: mark as leak-free
 - pack-write.c: plug a leak in stage_tmp_packfiles()
 (this branch is used by ds/fsck-pack-revindex.)

 The on-disk reverse index that allows mapping from the pack offset
 to the object name for the object stored at the offset has been
 enabled by default.

 Will merge to 'next'?
 source: <cover.1681338013.git.me@ttaylorr.com>


* fc/doc-use-datestamp-in-commit (2023-04-14) 3 commits
 - doc: set actual revdate for manpages
 - Merge branch 'fc/doc-stop-using-manversion' into fc/doc-use-datestamp-in-commit
 - Merge branch 'fc/remove-header-workarounds-for-asciidoc' into fc/doc-use-datestamp-in-commit
 (this branch uses fc/doc-stop-using-manversion.)

 Instead of the time the formatter was run, show the timestamp
 recorded in the commit in the documentation.

 source: <20230413074722.71260-1-felipe.contreras@gmail.com>


* pb/complete-and-document-auto-merge-and-friends (2023-04-14) 5 commits
 - completion: complete AUTO_MERGE
 - Documentation: document AUTO_MERGE
 - git-merge.txt: modernize word choice in "True merge" section
 - completion: complete REVERT_HEAD and BISECT_HEAD
 - revisions.txt: document more special refs

 Document more pseudo-refs and teach the command line completion
 machinery to complete AUTO_MERGE.

 source: <pull.1515.git.1681495119.gitgitgadget@gmail.com>


* tb/ban-strtok (2023-04-14) 5 commits
 - banned.h: mark `strtok()`, `strtok_r()` as banned
 - t/helper/test-json-writer.c: avoid using `strtok()`
 - t/helper/test-oidmap.c: avoid using `strtok()`
 - t/helper/test-hashmap.c: avoid using `strtok()`
 - string-list: introduce `string_list_split_in_place_multi()`

 Mark strtok() and strtok_r() to be banned.

 source: <cover.1681428696.git.me@ttaylorr.com>


* ar/t2024-checkout-output-fix (2023-04-10) 1 commit
  (merged to 'next' on 2023-04-13 at a35a043d6c)
 + t2024: fix loose/strict local base branch DWIM test

 Test fix.

 Will merge to 'master'.
 source: <20230408205450.569548-1-rybak.a.v@gmail.com>


* fc/doc-stop-using-manversion (2023-04-10) 1 commit
  (merged to 'next' on 2023-04-14 at 0800fe5ab4)
 + doc: simplify man version
 (this branch is used by fc/doc-use-datestamp-in-commit.)

 Doc build simplification.

 Will merge to 'master'.
 source: <20230408001829.11031-1-felipe.contreras@gmail.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
 - diff-index: enable sparse index

 "git diff-index" command has been taught to work better with the
 sparse index.

 Expecting a reroll.
 cf. <62821012-4fc3-5ad8-695c-70f7ab14a8c9@github.com>
 source: <20230408112342.404318-1-nanth.raghul@gmail.com>


* rs/get-tar-commit-id-use-defined-const (2023-04-10) 1 commit
  (merged to 'next' on 2023-04-13 at ad62b4545a)
 + get-tar-commit-id: use TYPEFLAG_GLOBAL_HEADER instead of magic value

 Code clean-up to replace a hardcoded constant with a CPP macro.

 Will merge to 'master'.
 source: <79497392-0296-2ae3-2560-1f90c1a309b5@web.de>


* rs/remove-approxidate-relative (2023-04-10) 1 commit
  (merged to 'next' on 2023-04-13 at bd7df5f98c)
 + date: remove approxidate_relative()

 The approxidate() API has been simplified by losing an extra
 function that did the same thing as another one.

 Will merge to 'master'.
 source: <f5b9a290-7cec-7a83-660b-e15494d2cdc8@web.de>


* rs/userdiff-multibyte-regex (2023-04-07) 1 commit
  (merged to 'next' on 2023-04-13 at 348908c03c)
 + userdiff: support regexec(3) with multi-byte support

 The userdiff regexp patterns for various filetypes that are built
 into the system have been updated to avoid triggering regexp errors
 from UTF-8 aware regex engines.

 Will merge to 'master'.
 source: <7327ac06-d5da-ec53-543e-78e7729e78bb@web.de>


* es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
 - usage: clarify --recurse-submodules as a boolean

 The "--[no-]recurse-submodules" option of "git checkout" and others
 supported an undocumented syntax --recurse-submodules=<value> where
 the value can spell a Boolean in various ways.  The support for the
 syntax is being dropped.

 Expecting a reroll.
 cf. <ZDSTFwMFO7vbj/du@google.com>
 source: <ZDSTFwMFO7vbj/du@google.com>


* gc/better-error-when-local-clone-fails-with-symlink (2023-04-11) 1 commit
  (merged to 'next' on 2023-04-13 at fff15efe05)
 + clone: error specifically with --local and symlinked objects

 "git clone --local" stops copying from an original repository that
 has symbolic links inside its $GIT_DIR; an error message when that
 happens has been updated.

 Will merge to 'master'.
 source: <pull.1488.v2.git.git.1681165130765.gitgitgadget@gmail.com>


* ow/ref-filter-omit-empty (2023-04-13) 1 commit
  (merged to 'next' on 2023-04-14 at 2798986c60)
 + branch, for-each-ref, tag: add option to omit empty lines

 "git branch --format=..." and "git format-patch --format=..."
 learns "--omit-empty" to hide refs that whose formatting result
 becomes an empty string from the output.

 Will merge to 'master'.
 source: <20230407175316.6404-1-oystwa@gmail.com>


* rn/sparse-describe (2023-04-03) 1 commit
  (merged to 'next' on 2023-04-14 at 9699cfad2c)
 + describe: enable sparse index for describe

 "git describe --dirty" learns to work better with sparse-index.

 Will merge to 'master'.
 source: <20230403164749.246001-1-nanth.raghul@gmail.com>


* ah/format-patch-thread-doc (2023-04-03) 1 commit
  (merged to 'next' on 2023-04-14 at acf141a832)
 + format-patch: correct documentation of --thread without an argument

 Doc update.

 Will merge to 'master'.
 source: <20230403040724.642513-1-alexhenrie24@gmail.com>


* ar/test-cleanup-unused-file-creation-part2 (2023-04-17) 6 commits
 - t2019: don't create unused files
 - t1502: don't create unused files
 - t1450: don't create unused files
 - t1300: don't create unused files
 - t1300: fix config file syntax error descriptions
 - t0300: don't create unused file

 Test cleanup.
 source: <20230417191044.909094-1-rybak.a.v@gmail.com>


* en/header-split-cache-h (2023-04-11) 24 commits
  (merged to 'next' on 2023-04-13 at b9afefff0b)
 + mailmap, quote: move declarations of global vars to correct unit
 + treewide: reduce includes of cache.h in other headers
 + treewide: remove double forward declaration of read_in_full
 + cache.h: remove unnecessary includes
 + treewide: remove cache.h inclusion due to pager.h changes
 + pager.h: move declarations for pager.c functions from cache.h
 + treewide: remove cache.h inclusion due to editor.h changes
 + editor: move editor-related functions and declarations into common file
 + treewide: remove cache.h inclusion due to object.h changes
 + object.h: move some inline functions and defines from cache.h
 + treewide: remove cache.h inclusion due to object-file.h changes
 + object-file.h: move declarations for object-file.c functions from cache.h
 + treewide: remove cache.h inclusion due to git-zlib changes
 + git-zlib: move declarations for git-zlib functions from cache.h
 + treewide: remove cache.h inclusion due to object-name.h changes
 + object-name.h: move declarations for object-name.c functions from cache.h
 + treewide: remove unnecessary cache.h inclusion
 + treewide: be explicit about dependence on mem-pool.h
 + treewide: be explicit about dependence on oid-array.h
 + treewide: be explicit about dependence on pack-revindex.h
 + treewide: be explicit about dependence on convert.h
 + treewide: be explicit about dependence on advice.h
 + treewide: be explicit about dependence on trace.h & trace2.h
 + Merge branch 'ab/remove-implicit-use-of-the-repository' into en/header-split-cache-h

 Header clean-up.

 Will merge to 'master'.
 source: <pull.1509.v3.git.1681182060.gitgitgadget@gmail.com>


* ed/fsmonitor-windows-named-pipe (2023-03-24) 1 commit
 - fsmonitor: handle differences between Windows named pipe functions

 Fix fsmonitor on Windows when the filesystem path contains certain
 characters.

 Expecting a reroll.
 cf. <b9cf67e4-22a7-2ff0-8310-9223bea10d6d@jeffhostetler.com>
 source: <pull.1503.git.1679678090412.gitgitgadget@gmail.com>


* mh/credential-password-expiry-wincred (2023-04-03) 1 commit
 - credential/wincred: store password_expiry_utc

 Teach the recently invented "password expiry time" trait to the
 wincred credential helper.

 Will merge to 'next'?
 source: <pull.1477.v3.git.git.1680508028077.gitgitgadget@gmail.com>


* mh/use-wincred-from-system (2023-03-27) 1 commit
 - credential/wincred: include wincred.h

 Code clean-up.

 Area maintainer is fairly negative.  Perhaps drop?
 cf. <8511e030-8167-715c-5ed4-1646e6e9ef85@gmx.de>
 source: <pull.1496.git.1679707396407.gitgitgadget@gmail.com>


* ob/revert-of-revert (2023-03-28) 1 commit
 - sequencer: call a revert of a revert "reapply"

 Instead of "Revert "Revert "original"", give "Replay "original""
 as the title for a revert of a revert.

 Needs more polishing: docs, tests, transitions.
 source: <20230323162234.995465-1-oswald.buddenhagen@gmx.de>


* pw/sequencer-rescheduled-ones-are-not-done-yet (2023-03-20) 1 commit
 - rebase -i: do not update "done" when rescheduling command

 "rebase -i" moved a "rescheduled" insn in the todo file to the
 "done" list before it completed, which has been corrected.

 Expecting clarification.
 source: <pull.1492.git.1679237337683.gitgitgadget@gmail.com>


* rs/archive-from-subdirectory-fixes (2023-03-24) 1 commit
  (merged to 'next' on 2023-04-14 at 950f9ed807)
 + archive: improve support for running in subdirectory

 "git archive" run from a subdirectory mishandled attributes and
 paths outside the current directory.

 Will merge to 'master'.
 source: <7c33b01b-7b2a-25fa-9a66-1e65cd12bc84@web.de>


* tb/pack-bitmap-index-seek (2023-03-20) 6 commits
 - pack-bitmap.c: factor out `bitmap_index_seek_commit()`
 - pack-bitmap.c: use `bitmap_index_seek()` where possible
 - pack-bitmap.c: factor out manual `map_pos` manipulation
 - pack-bitmap.c: drop unnecessary 'inline's
 - pack-bitmap.c: hide bitmap internals in `read_be32()`
 - pack-bitmap.c: hide bitmap internals in `read_u8()`

 Clean-up the pack-bitmap codepath.

 Kicked back to 'seen' out of 'next'.
 There is a BUG() on data errors that needs to be fixed.
 source: <cover.1679342296.git.me@ttaylorr.com>


* nw/for-each-ref-signature (2023-03-13) 1 commit
 . ref-filter: add new "signature" atom

 "git (for-each-ref|branch|tag) --format=<format>" learns the "%(signature)"
 placeholder and friends.

 Breaks CI.
 cf. <xmqqpm9bosjw.fsf@gitster.g>
 source: <20230311210607.64927-2-nsengiyumvawilberforce@gmail.com>


* mh/credential-oauth-refresh-token (2023-03-14) 1 commit
 - credential: new attribute oauth_refresh_token

 The credential subsystem learns to help OAuth framework.

 Needs Review.
 source: <pull.1394.git.1678776364753.gitgitgadget@gmail.com>


* mh/credential-password-expiry-libsecret (2023-03-27) 1 commit
 - credential/libsecret: support password_expiry_utc

 The libsecret credential helper learns to handle the password
 expiry time information.

 Needs Review.
 source: <pull.1469.v2.git.git.1679729764851.gitgitgadget@gmail.com>


* sl/diff-files-sparse (2023-03-22) 2 commits
 - diff-files: integrate with sparse index
 - t1092: add tests for `git diff-files`

 Teach "diff-files" not to expand sparse-index unless needed.

 Expecting a reroll.
 cf. <c382017a-8c65-24ba-5092-6b46428d8b9b@github.com>
 source: <20230322161820.3609-1-cheskaqiqi@gmail.com>


* tk/pull-conflict-suggest-rebase-merge-not-rebase-true (2023-02-13) 1 commit
 - pull: conflict hint pull.rebase suggestion should offer "merges" vs "true"

 In an advice message after failed non-ff pull, we used to suggest
 setting pull.rebase=true, but these days pull.rebase=merges may be
 more inline with the original spirit of "rebuild your side on top
 of theirs".

 On hold. This is too much of a departure from the existing practice.
 cf. <CAMMLpeTPEoKVTbfc17w+Y9qn7jOGmQi_Ux0Y3sFW5QTgGWJ=SA@mail.gmail.com>
 cf. <CABPp-BGqAxKnxDRVN4cYMteLp33hvto07R3=TJBT5WubJT4+Og@mail.gmail.com>
 source: <pull.1474.git.1675614276549.gitgitgadget@gmail.com>


* rj/branch-unborn-in-other-worktrees (2023-03-27) 5 commits
 - branch: avoid unnecessary worktrees traversals
 - branch: rename orphan branches in any worktree
 - branch: description for orphan branch errors
 - branch: use get_worktrees() in copy_or_rename_branch()
 - branch: test for failures while renaming branches

 Error messages given when working on an unborn branch that is
 checked out in another worktree have been improved.

 Will merge to 'next'?
 source: <f8e6447e-5cd3-98fa-f567-39e1c60dacb0@gmail.com>


* ab/imap-send-requires-curl (2023-02-02) 6 commits
 - imap-send: correctly report "host" when using "tunnel"
 - imap-send: remove old --no-curl codepath
 - imap-send: make --curl no-optional
 - imap-send: replace auto-probe libcurl with hard dependency
 - imap-send doc: the imap.sslVerify is used with imap.tunnel
 - imap-send: note "auth_method", not "host" on auth method failure

 Give a hard dependency on cURL library to build "git imap-send",
 and remove the code to interact with IMAP server without using cURL.

 Expecting a reroll.
 The 'tunnel' part is still iffy.
 cf. <230203.86bkmabfjr.gmgdl@evledraar.gmail.com>
 source: <cover-v2-0.6-00000000000-20230202T093706Z-avarab@gmail.com>


* cb/checkout-same-branch-twice (2023-03-22) 2 commits
 - SQUASH??? the test marked to expect failure passes from day one
 - checkout/switch: disallow checking out same branch in multiple worktrees

 "git checkout -B $branch" failed to protect against checking out
 a branch that is checked out elsewhere, unlike "git branch -f" did.

 Expecting a hopefully minor and final reroll.
 cf. <8f24fc3c-c30f-dc70-5a94-5ee4ed3de102@dunelm.org.uk>
 source: <20230120113553.24655-1-carenas@gmail.com>


* ms/send-email-feed-header-to-validate-hook (2023-01-19) 2 commits
 - send-email: expose header information to git-send-email's sendemail-validate hook
 - send-email: refactor header generation functions

 "git send-email" learned to give the e-mail headers to the validate
 hook by passing an extra argument from the command line.

 Expecting a hopefully minor and final reroll.
 cf. <c1ba0a28-3c39-b313-2757-dceb02930334@amd.com>
 source: <20230120012459.920932-1-michael.strawbridge@amd.com>


* tc/cat-file-z-use-cquote (2023-03-03) 2 commits
 . cat-file: quote-format name in error when using -z
 . cat-file: extract printing batch error message into function

 "cat-file" in the batch mode that is fed NUL-terminated pathnames
 learned to cquote them in its error output (otherwise, a funny
 pathname with LF in it would break the lines in the output stream).

 Breaks "cat-file --batch-all-objects --batch-check".
 cf. <xmqqilfhctrr.fsf@gitster.g>
 source: <20230303191708.77894-1-toon@iotcl.com>


* cw/submodule-status-in-parallel (2023-03-02) 6 commits
 - diff-lib: parallelize run_diff_files for submodules
 - diff-lib: refactor out diff_change logic
 - submodule: refactor is_submodule_modified()
 - submodule: move status parsing into function
 - submodule: rename strbuf variable
 - run-command: add on_stderr_output_fn to run_processes_parallel_opts

 "git submodule status" learned to run the comparison in submodule
 repositories in parallel.

 Expecting a reroll.
 cf. <CAFySSZDk05m6gU5-V1R+y3YnQ5PPduVW54+_gjBwD0rmacsLsw@mail.gmail.com>
 cf. <230307.865ybc273g.gmgdl@evledraar.gmail.com>
 source: <20230302215237.1473444-1-calvinwan@google.com>

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

* ed/fsmonitor-inotify (2022-12-13) 6 commits
 . fsmonitor: update doc for Linux
 . fsmonitor: test updates
 . fsmonitor: enable fsmonitor for Linux
 . fsmonitor: implement filesystem change listener for Linux
 . fsmonitor: determine if filesystem is local or remote
 . fsmonitor: prepare to share code between Mac OS and Linux

 Bundled fsmonitor for Linux using inotify API.

 Seems to break asan job at CI when merged to 'seen'.
 cf. <xmqqzg7d8xn2.fsf@gitster.g>
 source: <pull.1352.v5.git.git.1670882286.gitgitgadget@gmail.com>


* rj/sendemail-validate-series-hook (2023-04-05) 1 commit
 . hooks: add sendemail-validate-series

 "git send-email" learns a new hook that takes the entire set of
 patch files from its standard input to validate them in one go,
 instead of getting called once per each file.

 Superseded by the rj/send-email-validate-hook-count-messages topic.
 source: <20230405231305.96996-1-robin@jarry.cc>


* my/wildmatch-cleanups (2023-02-27) 5 commits
 . wildmatch: more cleanups after killing uchar
 . wildmatch: use char instead of uchar
 . wildmatch: remove NEGATE_CLASS(2) macros with trivial refactoring
 . wildmatch: remove IS*() macros
 . git-compat-util: add isblank() and isgraph()

 Code clean-up.

 Discarded without prejudice after more than 6 weeks of inactivity.
 source: <20230226115021.1681834-1-masahiroy@kernel.org>


* cw/forbid-use-of-gitlink-outside-submodules (2023-02-28) 6 commits
 . add: reject nested repositories
 . tests: remove duplicate .gitmodules path
 . tests: use `git submodule add` and fix expected status
 . tests: use `git submodule add` and fix expected diffs
 . tests: Use `git submodule add` instead of `git add`
 . t4041, t4060: modernize test style

 Forbid "git add dir" from adding a gitlink to the index.

 Discarded without prejudice after more than 6 weeks of inactivity.
 source: <20230228185253.2356546-1-calvinwan@google.com>

^ permalink raw reply	[relevance 22%]

* Re: What's cooking in git.git (Apr 2023, #03; Tue, 11)
  @ 2023-04-14  1:13 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-04-14  1:13 UTC (permalink / raw)
  To: Victoria Dye; +Cc: git, Raghul Nanth A, Shuqi Liang

Victoria Dye <vdye@github.com> writes:

> Junio C Hamano wrote:
>> * rn/sparse-diff-index (2023-04-10) 1 commit
> ...
> I just sent a review of the newest version [1] ...

Thanks.

>> * rn/sparse-describe (2023-04-03) 1 commit
>>  - describe: enable sparse index for describe
>> ... 
> This looks good to me, agreed that it's ready for 'next'.

Yeah, thanks for helping the author to polish the topic into a very
good shape.

>> * sl/sparse-write-tree (2023-04-04) 1 commit
> ...
> Sorry for getting to this one so late - I did have some comments [2] on the
> tests in this patch that weren't addressed. However, I'm fairly certain the
> integration itself is correct, so I may just submit the test updates as a
> separate patch in the (near-ish?) future.

Again, very much appreciated.

>> * sl/diff-files-sparse (2023-03-22) 2 commits
>>  - diff-files: integrate with sparse index
>>  - t1092: add tests for `git diff-files`
>> 
>>  Teach "diff-files" not to expand sparse-index unless needed.
>> 
>>  Comments?
>>  source: <20230322161820.3609-1-cheskaqiqi@gmail.com>
>
> I also just sent a review for this one [3] [4], ...

Yup, I saw them.  Looked very sensible.

Thanks.

^ permalink raw reply	[relevance 99%]

* Re: What's cooking in git.git (Apr 2023, #03; Tue, 11)
  @ 2023-04-13 15:06 99%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2023-04-13 15:06 UTC (permalink / raw)
  To: Andrei Rybak
  Cc: git, Ævar Arnfjörð Bjarmason, Øystein Walle

Andrei Rybak <rybak.a.v@gmail.com> writes:

> On 12/04/2023 23:59, Junio C Hamano wrote:
>> * ar/test-cleanup-unused-file-creation-part2 (2023-04-03) 6 commits
>>   Will merge to 'next'?
>>   source: <20230403223338.468025-1-rybak.a.v@gmail.com>
>
> I wanted to wait a bit to hear back from Ævar Arnfjörð Bjarmason and then
> to resend a v3 with any necessary fixes and with "Acked-by" trailer from
> Øystein Walle for patch 5/6.

Thanks for stopping me.  Will look forward to the new iteration.  No rush.

>
> https://lore.kernel.org/git/CAFaJEqug4bghEMnEQzGDN10EqM8e8iSf5i12AvOm+NZzDCQKOw@mail.gmail.com/

^ permalink raw reply	[relevance 99%]

* What's cooking in git.git (Apr 2023, #03; Tue, 11)
@ 2023-04-12 21:59 25% Junio C Hamano
      0 siblings, 2 replies; 200+ results
From: Junio C Hamano @ 2023-04-12 21:59 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a future
release).  Commits prefixed with '-' are only in 'seen', and aren't
considered "accepted" at all and may be annotated with an URL to a
message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity.

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']

* ar/adjust-tests-for-the-index-fallout (2023-03-31) 2 commits
  (merged to 'next' on 2023-04-06 at 8a9dfa25d4)
 + t2107: fix mention of the_index.cache_changed
 + t3060: fix mention of function prune_index

 Comment updates.
 source: <20230331143604.82040-2-rybak.a.v@gmail.com>


* dw/doc-submittingpatches-grammofix (2023-04-05) 1 commit
  (merged to 'next' on 2023-04-06 at 1c48670236)
 + SubmittingPatches: clarify MUA discussion with "the"

 Grammofix.
 source: <ZC0yey+S+OD/S2tt@trent-reznor>


* fc/doc-manpage-base-url-fix (2023-04-05) 1 commit
  (merged to 'next' on 2023-04-07 at c764614b80)
 + doc: remove manpage-base-url workaround

 Modernize manpage generation toolchain.
 source: <20230322000815.132128-1-felipe.contreras@gmail.com>


* jc/clone-object-format-from-void (2023-04-05) 1 commit
  (merged to 'next' on 2023-04-07 at 78eb68f3fa)
 + clone: propagate object-format when cloning from void

 "git clone" from an empty repository learned to propagate the
 choice of the hash algorithm from the source repository to the
 newly created repository.
 source: <xmqq355euj2i.fsf@gitster.g>


* jc/spell-id-in-both-caps-in-message-id (2023-04-03) 1 commit
  (merged to 'next' on 2023-04-06 at 17f4690220)
 + e-mail workflow: Message-ID is spelled with ID in both capital letters

 Consistently spell "Message-ID" as such, not "Message-Id".
 source: <xmqqsfhgnmqg.fsf@gitster.g>


* jk/use-perl-path-consistently (2023-04-06) 1 commit
  (merged to 'next' on 2023-04-07 at 3aa36fcb80)
 + t/lib-httpd: pass PERL_PATH to CGI scripts

 Tests had a few places where we ignored PERL_PATH and blindly used
 /usr/bin/perl, which have been corrected.
 source: <20230406093602.GD2215039@coredump.intra.peff.net>


* jx/cap-object-info-uninitialized-fix (2023-04-03) 1 commit
  (merged to 'next' on 2023-04-06 at 5a8b6068f3)
 + object-info: init request_info before reading arg

 Correct use of an uninitialized structure member.
 source: <20230402130557.17662-1-worldhello.net@gmail.com>


* ws/sparse-check-rules (2023-03-27) 2 commits
  (merged to 'next' on 2023-04-06 at 3fd16233c7)
 + builtin/sparse-checkout: add check-rules command
 + builtin/sparse-checkout: remove NEED_WORK_TREE flag

 "git sparse-checkout" command learns a debugging aid for the sparse
 rule definitions.
 source: <pull.1488.v2.git.1679903703.gitgitgadget@gmail.com>

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

* la/mfc-markup-fix (2023-04-06) 1 commit
  (merged to 'next' on 2023-04-10 at 05415e1c90)
 + MyFirstContribution: render literal *

 Documentation mark-up fix.

 Will merge to 'master'.
 source: <pull.1510.git.1680661709616.gitgitgadget@gmail.com>


* ar/t2024-checkout-output-fix (2023-04-10) 1 commit
 - t2024: fix loose/strict local base branch DWIM test

 Test fix.

 Will merge to 'next'.
 source: <20230408205450.569548-1-rybak.a.v@gmail.com>


* fc/doc-stop-using-manversion (2023-04-10) 1 commit
 - doc: simplify man version

 Doc build simplification.

 Will merge to 'next'?
 source: <20230408001829.11031-1-felipe.contreras@gmail.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
 - diff-index: enable sparse index

 "git diff-index" command has been taught to work better with the
 sparse index.

 Comments?
 source: <20230408112342.404318-1-nanth.raghul@gmail.com>


* rs/get-tar-commit-id-use-defined-const (2023-04-10) 1 commit
 - get-tar-commit-id: use TYPEFLAG_GLOBAL_HEADER instead of magic value

 Code clean-up to replace a hardcoded constant with a CPP macro.

 Will merge to 'next'.
 source: <79497392-0296-2ae3-2560-1f90c1a309b5@web.de>


* rs/remove-approxidate-relative (2023-04-10) 1 commit
 - date: remove approxidate_relative()

 The approxidate() API has been simplified by losing an extra
 function that did the same thing as another one.

 Will merge to 'next'.
 source: <f5b9a290-7cec-7a83-660b-e15494d2cdc8@web.de>


* rs/userdiff-multibyte-regex (2023-04-07) 1 commit
 - userdiff: support regexec(3) with multi-byte support

 The userdiff regexp patterns for various filetypes that are built
 into the system have been updated to avoid triggering regexp errors
 from UTF-8 aware regex engines.

 Will merge to 'next'.
 source: <7327ac06-d5da-ec53-543e-78e7729e78bb@web.de>


* es/recurse-submodules-option-is-a-bool (2023-04-10) 1 commit
 - usage: clarify --recurse-submodules as a boolean

 The "--[no-]recurse-submodules" option of "git checkout" and others
 supported an undocumented syntax --recurse-submodules=<value> where
 the value can spell a Boolean in various ways.  The support for the
 syntax is being dropped.

 Comments?
 source: <ZDSTFwMFO7vbj/du@google.com>


* gc/better-error-when-local-clone-fails-with-symlink (2023-04-11) 1 commit
 - clone: error specifically with --local and symlinked objects

 "git clone --local" stops copying from an original repository that
 has symbolic links inside its $GIT_DIR; an error message when that
 happens has been updated.

 Will merge to 'next'.
 source: <pull.1488.v2.git.git.1681165130765.gitgitgadget@gmail.com>

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

* ed/fsmonitor-inotify (2022-12-13) 6 commits
 - fsmonitor: update doc for Linux
 - fsmonitor: test updates
 - fsmonitor: enable fsmonitor for Linux
 - fsmonitor: implement filesystem change listener for Linux
 - fsmonitor: determine if filesystem is local or remote
 - fsmonitor: prepare to share code between Mac OS and Linux

 Bundled fsmonitor for Linux using inotify API.

 What's the status of this one?
 source: <pull.1352.v5.git.git.1670882286.gitgitgadget@gmail.com>


* ja/worktree-orphan (2023-01-13) 4 commits
 - worktree add: add hint to direct users towards --orphan
 - worktree add: add --orphan flag
 - worktree add: refactor opt exclusion tests
 - worktree add: include -B in usage docs

 'git worktree add' learned how to create a worktree based on an
 orphaned branch with `--orphan`.

 Expecting a reroll.
 cf. <11be1b0e-ee38-119f-1d80-cb818946116b@dunelm.org.uk>
 source: <20230109173227.29264-1-jacobabel@nullpo.dev>


* tl/notes-separator (2023-03-28) 4 commits
 . notes.c: don't do stripespace when parse file arg
 . notes.c: introduce '--separator=<paragraph-break>' option
 . notes.c: use designated initializers for clarity
 . notes.c: cleanup 'strbuf_grow' call in 'append_edit'

 'git notes append' was taught '--separator' to specify string to insert
 between paragraphs.

 Seems to break CI.
 cf. <xmqqy1nf8c0f.fsf@gitster.g>
 source: <cover.1680012650.git.dyroneteng@gmail.com>


* ab/tag-object-type-errors (2022-11-22) 5 commits
 - tag: don't emit potentially incorrect "object is a X, not a Y"
 - tag: don't misreport type of tagged objects in errors
 - object tests: add test for unexpected objects in tags
 - object-file.c: free the "t.tag" in check_tag()
 - Merge branch 'jk/parse-object-type-mismatch' into ab/tag-object-type-errors

 Hardening checks around mismatched object types when one of those
 objects is a tag.

 Expecting a reroll.
 cf. <xmqqzgb5jz5c.fsf@gitster.g>
 cf. <xmqqsfgxjugi.fsf@gitster.g>
 source: <cover-0.4-00000000000-20221118T113442Z-avarab@gmail.com>


* ad/test-record-count-when-harness-is-in-use (2022-12-25) 1 commit
 - test-lib: allow storing counts with test harnesses

 Allow summary results from tests to be written to t/test-results
 directory even when a test harness like 'prove' is in use.

 Expecting a reroll.
 cf. <CABPp-BGoPuGCZw+9wCgdYyRR4Zf4y9Kun27GrQhtMdYWpOUsYQ@mail.gmail.com>
 source: <20221224225200.1027806-1-adam@dinwoodie.org>


* so/diff-merges-more (2022-12-18) 5 commits
 - diff-merges: improve --diff-merges documentation
 - diff-merges: issue warning on lone '-m' option
 - diff-merges: support list of values for --diff-merges
 - diff-merges: implement log.diffMerges-m-imply-p config
 - diff-merges: implement [no-]hide option and log.diffMergesHide config

 Assorted updates to "--diff-merges=X" option.

 May want to discard.  Breaking compatibility does not seem worth it.
 source: <20221217132955.108542-1-sorganov@gmail.com>

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

* rj/sendemail-validate-series-hook (2023-04-05) 1 commit
 - hooks: add sendemail-validate-series

 "git send-email" learns a new hook that takes the entire set of
 patch files from its standard input to validate them in one go,
 instead of getting called once per each file.

 Comments?
 source: <20230405231305.96996-1-robin@jarry.cc>


* tk/mergetool-gui-default-config (2023-04-05) 1 commit
  (merged to 'next' on 2023-04-10 at 228432526c)
 + mergetool: new config guiDefault supports auto-toggling gui by DISPLAY

 "git mergetool" and "git difftool" learns a new configuration
 guiDefault to optionally favor configured guitool over non-gui-tool
 automatically when $DISPLAY is set.

 Will merge to 'master'.
 source: <pull.1381.v4.git.1679153263217.gitgitgadget@gmail.com>


* cm/branch-delete-error-message-update (2023-04-06) 1 commit
  (merged to 'next' on 2023-04-10 at 09c987c822)
 + branch: improve error log on branch not found by checking remotes refs

 "git branch -d origin/master" would say "no such branch", but it is
 likely a missed "-r" if refs/remotes/origin/master exists.  The
 command has been taught to give such a hint in its error message.

 Will merge to 'master'.
 source: <pull.1476.v3.git.git.1680695000257.gitgitgadget@gmail.com>


* fc/remove-header-workarounds-for-asciidoc (2023-04-05) 1 commit
  (merged to 'next' on 2023-04-10 at f08eab44f2)
 + doc: asciidoc: remove custom header macro

 Doc toolchain update to remove old workaround for AsciiDoc.

 Will merge to 'master'.
 source: <20230323221523.52472-1-felipe.contreras@gmail.com>


* ow/ref-filter-omit-empty (2023-04-07) 1 commit
 - branch, for-each-ref, tag: add option to omit empty lines

 "git branch --format=..." and "git format-patch --format=..."
 learns "--omit-empty" to hide refs that whose formatting result
 becomes an empty string from the output.

 Will merge to 'next'?
 source: <20230407175316.6404-1-oystwa@gmail.com>


* rn/sparse-describe (2023-04-03) 1 commit
 - describe: enable sparse index for describe

 "git describe --dirty" learns to work better with sparse-index.

 Will merge to 'next'?
 source: <20230403164749.246001-1-nanth.raghul@gmail.com>


* ah/format-patch-thread-doc (2023-04-03) 1 commit
 - format-patch: correct documentation of --thread without an argument

 Doc update.
 source: <20230403040724.642513-1-alexhenrie24@gmail.com>


* ar/test-cleanup-unused-file-creation-part2 (2023-04-03) 6 commits
 - t2019: don't create unused files
 - t1502: don't create unused files
 - t1450: don't create unused files
 - t1300: don't create unused files
 - t1300: fix config file syntax error descriptions
 - t0300: don't create unused file

 Test cleanup.

 Will merge to 'next'?
 source: <20230403223338.468025-1-rybak.a.v@gmail.com>


* en/header-split-cache-h (2023-04-11) 24 commits
 - mailmap, quote: move declarations of global vars to correct unit
 - treewide: reduce includes of cache.h in other headers
 - treewide: remove double forward declaration of read_in_full
 - cache.h: remove unnecessary includes
 - treewide: remove cache.h inclusion due to pager.h changes
 - pager.h: move declarations for pager.c functions from cache.h
 - treewide: remove cache.h inclusion due to editor.h changes
 - editor: move editor-related functions and declarations into common file
 - treewide: remove cache.h inclusion due to object.h changes
 - object.h: move some inline functions and defines from cache.h
 - treewide: remove cache.h inclusion due to object-file.h changes
 - object-file.h: move declarations for object-file.c functions from cache.h
 - treewide: remove cache.h inclusion due to git-zlib changes
 - git-zlib: move declarations for git-zlib functions from cache.h
 - treewide: remove cache.h inclusion due to object-name.h changes
 - object-name.h: move declarations for object-name.c functions from cache.h
 - treewide: remove unnecessary cache.h inclusion
 - treewide: be explicit about dependence on mem-pool.h
 - treewide: be explicit about dependence on oid-array.h
 - treewide: be explicit about dependence on pack-revindex.h
 - treewide: be explicit about dependence on convert.h
 - treewide: be explicit about dependence on advice.h
 - treewide: be explicit about dependence on trace.h & trace2.h
 - Merge branch 'ab/remove-implicit-use-of-the-repository' into en/header-split-cache-h

 Header clean-up.

 Will merge to 'next'.
 source: <pull.1509.v3.git.1681182060.gitgitgadget@gmail.com>


* sl/sparse-write-tree (2023-04-04) 1 commit
  (merged to 'next' on 2023-04-10 at 0cd39c23b1)
 + write-tree: integrate with sparse index

 "git write-tree" learns to work better with sparse-index.

 Will merge to 'master'.
 source: <20230404003539.1578245-1-cheskaqiqi@gmail.com>


* ed/fsmonitor-windows-named-pipe (2023-03-24) 1 commit
 - fsmonitor: handle differences between Windows named pipe functions

 Fix fsmonitor on Windows when the filesystem path contains certain
 characters.

 Expecting a reroll.
 cf. <b9cf67e4-22a7-2ff0-8310-9223bea10d6d@jeffhostetler.com>
 source: <pull.1503.git.1679678090412.gitgitgadget@gmail.com>


* mh/credential-password-expiry-wincred (2023-04-03) 1 commit
 - credential/wincred: store password_expiry_utc

 Teach the recently invented "password expiry time" trait to the
 wincred credential helper.

 Will merge to 'next'?
 source: <pull.1477.v3.git.git.1680508028077.gitgitgadget@gmail.com>


* mh/use-wincred-from-system (2023-03-27) 1 commit
 - credential/wincred: include wincred.h

 Code clean-up.

 Area maintainer is fairly negative.  Perhaps drop?
 cf. <8511e030-8167-715c-5ed4-1646e6e9ef85@gmx.de>
 source: <pull.1496.git.1679707396407.gitgitgadget@gmail.com>


* ob/revert-of-revert (2023-03-28) 1 commit
 - sequencer: call a revert of a revert "reapply"

 Instead of "Revert "Revert "original"", give "Replay "original""
 as the title for a revert of a revert.

 Needs more polishing: docs, tests, transitions.
 source: <20230323162234.995465-1-oswald.buddenhagen@gmx.de>


* pw/sequencer-rescheduled-ones-are-not-done-yet (2023-03-20) 1 commit
 - rebase -i: do not update "done" when rescheduling command

 "rebase -i" moved a "rescheduled" insn in the todo file to the
 "done" list before it completed, which has been corrected.

 Expecting clarification.
 source: <pull.1492.git.1679237337683.gitgitgadget@gmail.com>


* rs/archive-from-subdirectory-fixes (2023-03-24) 1 commit
 - archive: improve support for running in subdirectory

 "git archive" run from a subdirectory mishandled attributes and
 paths outside the current directory.
 source: <7c33b01b-7b2a-25fa-9a66-1e65cd12bc84@web.de>


* tb/pack-bitmap-index-seek (2023-03-20) 6 commits
 - pack-bitmap.c: factor out `bitmap_index_seek_commit()`
 - pack-bitmap.c: use `bitmap_index_seek()` where possible
 - pack-bitmap.c: factor out manual `map_pos` manipulation
 - pack-bitmap.c: drop unnecessary 'inline's
 - pack-bitmap.c: hide bitmap internals in `read_be32()`
 - pack-bitmap.c: hide bitmap internals in `read_u8()`

 Clean-up the pack-bitmap codepath.

 Kicked back to 'seen' out of 'next'.
 There is a BUG() on data errors that needs to be fixed.
 source: <cover.1679342296.git.me@ttaylorr.com>


* nw/for-each-ref-signature (2023-03-13) 1 commit
 . ref-filter: add new "signature" atom

 "git (for-each-ref|branch|tag) --format=<format>" learns the "%(signature)"
 placeholder and friends.

 Breaks CI.
 cf. <xmqqpm9bosjw.fsf@gitster.g>
 source: <20230311210607.64927-2-nsengiyumvawilberforce@gmail.com>


* mh/credential-oauth-refresh-token (2023-03-14) 1 commit
 - credential: new attribute oauth_refresh_token

 The credential subsystem learns to help OAuth framework.

 Needs Review.
 source: <pull.1394.git.1678776364753.gitgitgadget@gmail.com>


* mh/credential-password-expiry-libsecret (2023-03-27) 1 commit
 - credential/libsecret: support password_expiry_utc

 The libsecret credential helper learns to handle the password
 expiry time information.

 Needs Review.
 source: <pull.1469.v2.git.git.1679729764851.gitgitgadget@gmail.com>


* pw/rebase-cleanup-merge-strategy-option-handling (2023-04-10) 5 commits
  (merged to 'next' on 2023-04-11 at a3b1fd5ec7)
 + rebase: remove a couple of redundant strategy tests
 + rebase -m: fix serialization of strategy options
 + rebase -m: cleanup --strategy-option handling
 + sequencer: use struct strvec to store merge strategy options
 + rebase: stop reading and writing unnecessary strategy state

 Clean-up of the code path that deals with merge strategy option
 handling in "git rebase".

 Will merge to 'master'.
 source: <cover.1681117706.git.phillip.wood@dunelm.org.uk>


* sl/diff-files-sparse (2023-03-22) 2 commits
 - diff-files: integrate with sparse index
 - t1092: add tests for `git diff-files`

 Teach "diff-files" not to expand sparse-index unless needed.

 Comments?
 source: <20230322161820.3609-1-cheskaqiqi@gmail.com>


* my/wildmatch-cleanups (2023-02-27) 5 commits
 . wildmatch: more cleanups after killing uchar
 . wildmatch: use char instead of uchar
 . wildmatch: remove NEGATE_CLASS(2) macros with trivial refactoring
 . wildmatch: remove IS*() macros
 . git-compat-util: add isblank() and isgraph()

 Code clean-up.

 Ejected as it conflicts with pw/wildmatch-fixes topic.
 source: <20230226115021.1681834-1-masahiroy@kernel.org>


* cw/forbid-use-of-gitlink-outside-submodules (2023-02-28) 6 commits
 . add: reject nested repositories
 . tests: remove duplicate .gitmodules path
 . tests: use `git submodule add` and fix expected status
 . tests: use `git submodule add` and fix expected diffs
 . tests: Use `git submodule add` instead of `git add`
 . t4041, t4060: modernize test style

 Forbid "git add dir" from adding a gitlink to the index.

 Comments?
 Seems to break tests when merged to 'seen'.
 source: <20230228185253.2356546-1-calvinwan@google.com>


* tk/pull-conflict-suggest-rebase-merge-not-rebase-true (2023-02-13) 1 commit
 - pull: conflict hint pull.rebase suggestion should offer "merges" vs "true"

 In an advice message after failed non-ff pull, we used to suggest
 setting pull.rebase=true, but these days pull.rebase=merges may be
 more inline with the original spirit of "rebuild your side on top
 of theirs".

 On hold. This is too much of a departure from the existing practice.
 cf. <CAMMLpeTPEoKVTbfc17w+Y9qn7jOGmQi_Ux0Y3sFW5QTgGWJ=SA@mail.gmail.com>
 cf. <CABPp-BGqAxKnxDRVN4cYMteLp33hvto07R3=TJBT5WubJT4+Og@mail.gmail.com>
 source: <pull.1474.git.1675614276549.gitgitgadget@gmail.com>


* rj/branch-unborn-in-other-worktrees (2023-03-27) 5 commits
 - branch: avoid unnecessary worktrees traversals
 - branch: rename orphan branches in any worktree
 - branch: description for orphan branch errors
 - branch: use get_worktrees() in copy_or_rename_branch()
 - branch: test for failures while renaming branches

 Error messages given when working on an unborn branch that is
 checked out in another worktree have been improved.

 Kicked out of 'next' to replace with an updated version.
 source: <f8e6447e-5cd3-98fa-f567-39e1c60dacb0@gmail.com>


* ab/imap-send-requires-curl (2023-02-02) 6 commits
 - imap-send: correctly report "host" when using "tunnel"
 - imap-send: remove old --no-curl codepath
 - imap-send: make --curl no-optional
 - imap-send: replace auto-probe libcurl with hard dependency
 - imap-send doc: the imap.sslVerify is used with imap.tunnel
 - imap-send: note "auth_method", not "host" on auth method failure

 Give a hard dependency on cURL library to build "git imap-send",
 and remove the code to interact with IMAP server without using cURL.

 Expecting a reroll.
 The 'tunnel' part is still iffy.
 cf. <230203.86bkmabfjr.gmgdl@evledraar.gmail.com>
 source: <cover-v2-0.6-00000000000-20230202T093706Z-avarab@gmail.com>


* cb/checkout-same-branch-twice (2023-03-22) 2 commits
 - SQUASH??? the test marked to expect failure passes from day one
 - checkout/switch: disallow checking out same branch in multiple worktrees

 "git checkout -B $branch" failed to protect against checking out
 a branch that is checked out elsewhere, unlike "git branch -f" did.

 Expecting a hopefully minor and final reroll.
 cf. <8f24fc3c-c30f-dc70-5a94-5ee4ed3de102@dunelm.org.uk>
 source: <20230120113553.24655-1-carenas@gmail.com>


* ms/send-email-feed-header-to-validate-hook (2023-01-19) 2 commits
 - send-email: expose header information to git-send-email's sendemail-validate hook
 - send-email: refactor header generation functions

 "git send-email" learned to give the e-mail headers to the validate
 hook by passing an extra argument from the command line.

 Expecting a hopefully minor and final reroll.
 cf. <c1ba0a28-3c39-b313-2757-dceb02930334@amd.com>
 source: <20230120012459.920932-1-michael.strawbridge@amd.com>


* tc/cat-file-z-use-cquote (2023-03-03) 2 commits
 . cat-file: quote-format name in error when using -z
 . cat-file: extract printing batch error message into function

 "cat-file" in the batch mode that is fed NUL-terminated pathnames
 learned to cquote them in its error output (otherwise, a funny
 pathname with LF in it would break the lines in the output stream).

 Breaks "cat-file --batch-all-objects --batch-check".
 cf. <xmqqilfhctrr.fsf@gitster.g>
 source: <20230303191708.77894-1-toon@iotcl.com>


* cw/submodule-status-in-parallel (2023-03-02) 6 commits
 - diff-lib: parallelize run_diff_files for submodules
 - diff-lib: refactor out diff_change logic
 - submodule: refactor is_submodule_modified()
 - submodule: move status parsing into function
 - submodule: rename strbuf variable
 - run-command: add on_stderr_output_fn to run_processes_parallel_opts

 "git submodule status" learned to run the comparison in submodule
 repositories in parallel.

 Expecting a reroll.
 cf. <CAFySSZDk05m6gU5-V1R+y3YnQ5PPduVW54+_gjBwD0rmacsLsw@mail.gmail.com>
 cf. <230307.865ybc273g.gmgdl@evledraar.gmail.com>
 source: <20230302215237.1473444-1-calvinwan@google.com>

^ permalink raw reply	[relevance 25%]

Results 1-200 of ~4000   | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2023-04-12 21:59 25% What's cooking in git.git (Apr 2023, #03; Tue, 11) Junio C Hamano
2023-04-13  0:24     ` Andrei Rybak
2023-04-13 15:06 99%   ` Junio C Hamano
2023-04-13 22:19     ` Victoria Dye
2023-04-14  1:13 99%   ` Junio C Hamano
2023-04-18  8:12 22% What's cooking in git.git (Apr 2023, #05; Mon, 17) Junio C Hamano
2023-04-20 22:34 20% What's cooking in git.git (Apr 2023, #06; Thu, 20) Junio C Hamano
2023-04-26  0:18 20% What's cooking in git.git (Apr 2023, #07; Tue, 25) Junio C Hamano
2023-04-28 22:16 22% What's cooking in git.git (Apr 2023, #08; Thu, 27) Junio C Hamano
2023-04-29  6:54 23% What's cooking in git.git (Apr 2023, #09; Fri, 28) Junio C Hamano
2023-05-02 22:49 22% What's cooking in git.git (May 2023, #01; Tue, 2) Junio C Hamano
2023-05-03  3:48     ` Felipe Contreras
2023-05-03 17:36 99%   ` Junio C Hamano
2023-05-03 20:38     ` johncai86
2023-05-03 21:21 99%   ` Junio C Hamano
2023-05-04 10:55     ` M Hickford
2023-05-04 15:13 99%   ` Junio C Hamano
2023-05-05 23:05 20% What's cooking in git.git (May 2023, #02; Fri, 5) Junio C Hamano
2023-05-08 20:59     ` Derrick Stolee
2023-05-08 21:40 99%   ` Junio C Hamano
2023-05-10  1:56 17% What's cooking in git.git (May 2023, #03; Tue, 9) Junio C Hamano
2023-05-10  7:19     ` Teng Long
2023-05-10 16:32 96%   ` Junio C Hamano
2023-05-12  0:39 19% What's cooking in git.git (May 2023, #04; Thu, 11) Junio C Hamano
2023-05-17  0:30 20% What's cooking in git.git (May 2023, #05; Tue, 16) Junio C Hamano
2023-05-20  0:08 22% What's cooking in git.git (May 2023, #06; Fri, 19) Junio C Hamano
2023-05-23 13:18 23% What's cooking in git.git (May 2023, #07; Tue, 23) Junio C Hamano
2023-05-24 22:45 22% What's cooking in git.git (May 2023, #08; Thu, 25) Junio C Hamano
2023-06-01 10:11 22% What's cooking in git.git (Jun 2023, #01; Thu, 1) Junio C Hamano
2023-06-06  1:50 21% What's cooking in git.git (Jun 2023, #02; Tue, 6) Junio C Hamano
2023-06-06  9:15     ` Kristoffer Haugsbakk
2023-06-12 17:53 99%   ` Junio C Hamano
2023-06-06 13:35     ` Derrick Stolee
2023-06-12 17:55 99%   ` Junio C Hamano
2023-06-11 15:15     ` Philippe Blain
2023-06-12 17:56 99%   ` Junio C Hamano
2023-06-13  2:28 19% What's cooking in git.git (Jun 2023, #03; Mon, 12) Junio C Hamano
2023-06-15  0:06 19% What's cooking in git.git (Jun 2023, #04; Wed, 14) Junio C Hamano
2023-06-21  0:04 18% What's cooking in git.git (Jun 2023, #05; Tue, 20) Junio C Hamano
2023-06-21  8:55     ` bug in en/header-split-cache-h-part-3, was " Jeff King
2023-06-21 17:05 99%   ` Junio C Hamano
2023-06-21 20:26         ` Jeff King
2023-06-21 22:03 99%       ` Junio C Hamano
2023-06-23  6:33             ` Elijah Newren
2023-06-23 16:38 99%           ` Junio C Hamano
2023-06-23 22:54 22% What's cooking in git.git (Jun 2023, #06; Fri, 23) Junio C Hamano
2023-06-23 23:22 99% ` Junio C Hamano
2023-06-27 22:11 25% What's cooking in git.git (Jun 2023, #07; Tue, 27) Junio C Hamano
2023-06-28  9:54     ` Teng Long
2023-06-28 16:24 99%   ` Junio C Hamano
2023-06-28 19:29     ` cw/header-compat-util-shuffle (was Re: What's cooking in git.git (Jun 2023, #07; Tue, 27)) Glen Choo
2023-06-28 21:03 99%   ` Junio C Hamano
2023-06-28 21:18         ` Glen Choo
2023-06-28 22:31 84%       ` Junio C Hamano
2023-06-28 22:47 99%         ` Junio C Hamano
2023-06-28 23:58 99% ` What's cooking in git.git (Jun 2023, #07; Tue, 27) Junio C Hamano
2023-06-30 20:27 25% What's cooking in git.git (Jun 2023, #08; Fri, 30) Junio C Hamano
2023-07-01  8:14     ` Vinayak Dev
2023-07-05  5:37 99%   ` Junio C Hamano
2023-07-04  9:34     ` Christian Couder
2023-07-04 21:56 99%   ` Junio C Hamano
2023-07-06  1:05 26% What's cooking in git.git (Jul 2023, #01; Wed, 5) Junio C Hamano
2023-07-06 23:28 99% ` Junio C Hamano
2023-07-13 23:09 27% What's cooking in git.git (Jul 2023, #03; Thu, 13) Junio C Hamano
2023-07-19 21:25 22% What's cooking in git.git (Jul 2023, #04; Wed, 19) Junio C Hamano
2023-07-25 20:57 24% What's cooking in git.git (Jul 2023, #05; Tue, 25) Junio C Hamano
2023-07-25 20:59 81% ` Junio C Hamano
2023-07-25 22:39     ` Taylor Blau
2023-07-25 23:59 99%   ` Junio C Hamano
2023-07-26 13:11     ` Phillip Wood
2023-07-26 16:34 99%   ` Junio C Hamano
2023-07-27 21:24     ` Linus Arver
2023-07-27 21:52 99%   ` Junio C Hamano
2023-07-25 21:17     Kousik Sanagavarapu
2023-07-25 21:50 99% ` Junio C Hamano
2023-07-28  1:46 28% What's cooking in git.git (Jul 2023, #06; Thu, 27) Junio C Hamano
2023-07-28  2:13     ` Jacob Abel
2023-07-28  5:11 99%   ` Junio C Hamano
2023-07-31 17:57 29% What's cooking in git.git (Jul 2023, #07; Mon, 31) Junio C Hamano
2023-08-01 17:38     ` Emily Shaffer
2023-08-01 18:12 99%   ` Junio C Hamano
2023-08-01 20:27         ` Emily Shaffer
2023-08-01 20:35 99%       ` Junio C Hamano
2023-08-02 18:10 28% What's cooking in git.git (Aug 2023, #01; Wed, 2) Junio C Hamano
     [not found]     ` <CAP8UFD1vuB2kRr890B7GXum9HAMjRep86zy2tE4yE2C3W5QGHA@mail.gmail.com>
2023-08-07 12:41       ` Christian Couder
2023-08-07 16:19 99%     ` Junio C Hamano
2023-08-04 21:10 32% What's cooking in git.git (Aug 2023, #02; Fri, 4) Junio C Hamano
2023-08-09  2:42 32% What's cooking in git.git (Aug 2023, #03; Tue, 8) Junio C Hamano
2023-08-11  3:51 28% What's cooking in git.git (Aug 2023, #04; Thu, 10) Junio C Hamano
2023-08-15 22:22 28% What's cooking in git.git (Aug 2023, #05; Tue, 15) Junio C Hamano
2023-08-19  2:31 28% What's cooking in git.git (Aug 2023, #06; Fri, 18) Junio C Hamano
2023-08-28 19:08 28% What's cooking in git.git (Aug 2023, #08; Mon, 28) Junio C Hamano
2023-08-28 20:05 25% What's cooking in git.git (Aug 2023, #07; Fri, 25) Junio C Hamano
2023-09-01 23:22 24% What's cooking in git.git (Sep 2023, #01; Fri, 1) Junio C Hamano
2023-09-06  1:29 31% What's cooking in git.git (Sep 2023, #02; Tue, 5) Junio C Hamano
2023-09-12 16:57 29% What's cooking in git.git (Sep 2023, #04; Tue, 12) Junio C Hamano
2023-09-12 17:32     ` Philippe Blain
2023-09-12 19:25 99%   ` Junio C Hamano
2023-09-12 18:30     ` Phillip Wood
2023-09-12 19:34 99%   ` Junio C Hamano
2023-09-12 17:07 29% Junio C Hamano
2023-09-16  1:41 26% What's cooking in git.git (Sep 2023, #05; Fri, 15) Junio C Hamano
2023-09-19 20:00     ` Linus Arver
2023-09-19 20:16 99%   ` Junio C Hamano
2023-09-19 21:25 99%   ` Junio C Hamano
2023-09-20  6:37         ` Linus Arver
2023-09-20 14:57 99%       ` Junio C Hamano
2023-09-20  0:49 28% What's cooking in git.git (Sep 2023, #06; Tue, 19) Junio C Hamano
2023-09-23  2:50 26% What's cooking in git.git (Sep 2023, #07; Fri, 22) Junio C Hamano
2023-09-26  0:50 30% What's cooking in git.git (Sep 2023, #08; Mon, 25) Junio C Hamano
2023-09-29  1:15 25% What's cooking in git.git (Sep 2023, #09; Thu, 28) Junio C Hamano
2023-10-03  0:30 25% What's cooking in git.git (Oct 2023, #01; Mon, 2) Junio C Hamano
2023-10-03  7:01     ` Sergey Organov
2023-10-03 16:33 99%   ` Junio C Hamano
2023-10-03 17:59         ` Sergey Organov
2023-10-04  8:20 99%       ` Junio C Hamano
2023-10-04 11:18             ` Sergey Organov
2023-10-05 10:25 79%           ` Junio C Hamano
2023-10-05 20:59                 ` Sergey Organov
2023-10-05 21:47 93%               ` Junio C Hamano
2023-10-04  1:20     ` Eric W. Biederman
2023-10-04 16:28 99%   ` Junio C Hamano
2023-10-04 23:45 26% What's cooking in git.git (Oct 2023, #02; Wed, 4) Junio C Hamano
2023-10-05 17:08     ` js/ci-coverity, was " Jeff King
2023-10-05 18:44 99%   ` Junio C Hamano
2023-10-07  8:20 25% What's cooking in git.git (Oct 2023, #03; Fri, 6) Junio C Hamano
2023-10-08 17:34     ` René Scharfe
2023-10-09 16:35 99%   ` Junio C Hamano
2023-10-09 16:16     ` Taylor Blau
2023-10-09 18:09 99%   ` Junio C Hamano
2023-10-09 18:13         ` Taylor Blau
2023-10-09 21:07 99%       ` Junio C Hamano
2023-10-11  1:32 22% What's cooking in git.git (Oct 2023, #04; Tue, 10) Junio C Hamano
2023-10-12 23:21 22% What's cooking in git.git (Oct 2023, #05; Thu, 12) Junio C Hamano
2023-10-14 20:12 22% What's cooking in git.git (Oct 2023, #06; Fri, 13) Junio C Hamano
2023-10-18 23:36 24% What's cooking in git.git (Oct 2023, #07; Wed, 18) Junio C Hamano
2023-10-22 22:17 22% What's cooking in git.git (Oct 2023, #08; Sun, 22) Junio C Hamano
2023-10-29 23:52 22% What's cooking in git.git (Oct 2023, #09; Mon, 30) Junio C Hamano
2023-10-30  9:31     ` Robert Coup
2023-10-30 20:59 99%   ` Junio C Hamano
2023-11-02  8:52 22% What's cooking in git.git (Nov 2023, #01; Thu, 2) Junio C Hamano
2023-11-06  2:47 25% What's cooking in git.git (Nov 2023, #02; Mon, 6) Junio C Hamano
2023-11-08 17:40 26% What's cooking in git.git (Nov 2023, #04; Thu, 9) Junio C Hamano
2023-11-09 13:20     ` Taylor Blau
2023-11-09 23:33 99%   ` Junio C Hamano
2023-11-13  4:29 28% What's cooking in git.git (Nov 2023, #05; Mon, 13) Junio C Hamano
2023-11-14 18:00 27% What's cooking in git.git (Nov 2023, #06; Tue, 14) Junio C Hamano
2023-11-17  8:30 26% What's cooking in git.git (Nov 2023, #07; Fri, 17) Junio C Hamano
2023-11-20 17:01 25% What's cooking in git.git (Nov 2023, #08; Mon, 20) Junio C Hamano
2023-11-27 14:24 23% What's cooking in git.git (Nov 2023, #09; Mon, 27) Junio C Hamano
2023-12-09  2:02 19% What's cooking in git.git (Dec 2023, #01; Sat, 9) Junio C Hamano
2023-12-14 15:19     ` Jeff Hostetler
2023-12-14 16:53 99%   ` Junio C Hamano
2023-12-12  1:23 19% What's cooking in git.git (Dec 2023, #02; Mon, 11) Junio C Hamano
2023-12-19  1:06 20% What's cooking in git.git (Dec 2023, #03; Mon, 18) Junio C Hamano
2023-12-19 16:42     ` René Scharfe
2023-12-19 17:30 99%   ` Junio C Hamano
2023-12-20 22:07 22% What's cooking in git.git (Dec 2023, #04; Wed, 20) Junio C Hamano
2023-12-28  4:25 23% What's cooking in git.git (Dec 2023, #05; Wed, 27) Junio C Hamano
2024-01-03  1:02 28% What's cooking in git.git (Jan 2024, #01; Tue, 2) Junio C Hamano
2024-01-03  9:01     ` Jeff King
2024-01-03 16:37 87%   ` Junio C Hamano
2024-01-05  8:59         ` Jeff King
2024-01-05 16:34 98%       ` Junio C Hamano
2024-01-03 16:43     ` Taylor Blau
2024-01-03 18:08 99%   ` Junio C Hamano
2024-01-13 18:35         ` SZEDER Gábor
2024-01-13 22:51           ` SZEDER Gábor
2024-01-16 20:49             ` Taylor Blau
2024-01-16 22:45 99%           ` Junio C Hamano
2024-01-16 23:31                 ` Taylor Blau
2024-01-16 23:42 99%               ` Junio C Hamano
2024-01-06  1:13 28% What's cooking in git.git (Jan 2024, #02; Fri, 5) Junio C Hamano
2024-01-10  0:17 26% What's cooking in git.git (Jan 2024, #03; Tue, 9) Junio C Hamano
2024-01-12  2:00 27% What's cooking in git.git (Jan 2024, #04; Thu, 11) Junio C Hamano
2024-01-16 20:45 23% What's cooking in git.git (Jan 2024, #05; Tue, 16) Junio C Hamano
2024-01-20  1:56 25% What's cooking in git.git (Jan 2024, #06; Fri, 19) Junio C Hamano
2024-01-20  2:10     ` Ghanshyam Thakkar
2024-01-20 17:19 99%   ` Junio C Hamano
2024-01-24  0:25 24% What's cooking in git.git (Jan 2024, #07; Tue, 23) Junio C Hamano
2024-01-26  0:26 47% ` Junio C Hamano
2024-01-27  1:00 22% What's cooking in git.git (Jan 2024, #08; Fri, 26) Junio C Hamano
2024-01-30  1:10 24% What's cooking in git.git (Jan 2024, #09; Mon, 29) Junio C Hamano
2024-02-03  0:43 22% What's cooking in git.git (Feb 2024, #01; Fri, 2) Junio C Hamano
2024-02-03  5:22 99% ` Junio C Hamano
2024-02-03  8:23 27% What's cooking in git.git (Feb 2024, #02; " Junio C Hamano
2024-02-05 18:57     ` Phillip Wood
2024-02-05 23:20 99%   ` Junio C Hamano
2024-02-07  1:15 24% What's cooking in git.git (Feb 2024, #03; Tue, 6) Junio C Hamano
2024-02-09 17:24 25% What's cooking in git.git (Feb 2024, #04; Thu, 8) Junio C Hamano
2024-02-10 18:49     ` Philippe Blain
2024-02-12 16:39 99%   ` Junio C Hamano
2024-02-14  6:27 24% What's cooking in git.git (Feb 2024, #05; Tue, 13) Junio C Hamano
2024-02-14 15:08     ` Ghanshyam Thakkar
2024-02-14 16:57 94%   ` Junio C Hamano
2024-02-16  1:25 25% What's cooking in git.git (Feb 2024, #06; Thu, 15) Junio C Hamano
2024-02-20 17:44 27% What's cooking in git.git (Feb 2024, #07; Tue, 20) Junio C Hamano
2024-02-21  9:04     ` Karthik Nayak
2024-02-21 16:44 99%   ` Junio C Hamano
2024-02-22  8:25         ` Patrick Steinhardt
2024-02-22 16:15 99%       ` Junio C Hamano
2024-02-23 17:16 25% What's cooking in git.git (Feb 2024, #08; Thu, 22) Junio C Hamano
2024-02-28  5:44 20% What's cooking in git.git (Feb 2024, #09; Tue, 27) Junio C Hamano
2024-02-28 13:38     ` Philippe Blain
2024-02-28 17:25 99%   ` Junio C Hamano
2024-02-29 23:56     ` Linus Arver
2024-03-01  2:02 99%   ` Junio C Hamano
2024-03-01 16:16 99%     ` Junio C Hamano
2024-03-01 10:54     ` Karthik Nayak
2024-03-01 16:21 99%   ` Junio C Hamano
2024-03-04 22:36 20% What's cooking in git.git (Mar 2024, #01; Mon, 4) Junio C Hamano
2024-03-08  2:26 19% What's cooking in git.git (Mar 2024, #02; Thu, 7) Junio C Hamano
2024-03-08 10:31     ` Christian Couder
2024-03-08 15:37 99%   ` Junio C Hamano
2024-03-08 13:56     ` Phillip Wood
2024-03-08 15:42 96%   ` Junio C Hamano
2024-03-12  0:45 24% What's cooking in git.git (Mar 2024, #03; Mon, 11) Junio C Hamano
2024-03-12 12:02     ` Florian Schmidt
2024-03-13 15:33 99%   ` Junio C Hamano
2024-03-16  0:26 21% What's cooking in git.git (Mar 2024, #04; Fri, 15) Junio C Hamano
2024-03-18  8:52     ` Jeff King
2024-03-18 16:59 99%   ` Junio C Hamano
2024-03-19 16:53 23% What's cooking in git.git (Mar 2024, #05; Tue, 19) Junio C Hamano
2024-03-20 15:15     Brian Lyles
2024-03-20 16:11 99% ` Junio C Hamano
2024-03-21  1:13     Brian Lyles
2024-03-21  1:36 84% ` Junio C Hamano
2024-03-21 13:02 99% ` Junio C Hamano
2024-03-22  1:22     Brian Lyles
2024-03-22  1:59 75% ` Junio C Hamano
2024-03-22  2:47     Brian Lyles
2024-03-22 14:46 99% ` Junio C Hamano
2024-03-23  0:54 20% What's cooking in git.git (Mar 2024, #07; Fri, 22) Junio C Hamano
2024-03-25  6:42     ` Patrick Steinhardt
2024-03-25 18:38 99%   ` Junio C Hamano
2024-03-26 18:37 21% What's cooking in git.git (Mar 2024, #08; Tue, 26) Junio C Hamano
2024-03-26 20:30     ` Taylor Blau
2024-03-26 20:45 99%   ` Junio C Hamano
2024-03-26 20:57         ` Taylor Blau
2024-03-26 21:02 99%       ` Junio C Hamano
2024-03-28 23:58 21% What's cooking in git.git (Mar 2024, #09; Thu, 28) Junio C Hamano
2024-04-01 19:09     What's cooking in git.git (Apr 2024, #01; Mon, 1) Junio C Hamano
2024-04-01 21:17     ` Taylor Blau
2024-04-01 22:09 99%   ` Junio C Hamano
2024-04-01 23:08 99%     ` Junio C Hamano
2024-04-03 23:12 20% What's cooking in git.git (Apr 2024, #02; Wed, 3) Junio C Hamano
2024-04-05 19:13 22% What's cooking in git.git (Apr 2024, #03; Fri, 5) Junio C Hamano
2024-04-06  1:11     ` Dragan Simic
2024-04-06  5:03 99%   ` Junio C Hamano
2024-04-06  8:37         ` Dragan Simic
2024-04-06 16:55 99%       ` Junio C Hamano
2024-04-09 23:31 21% What's cooking in git.git (Apr 2024, #04; Tue, 9) Junio C Hamano
2024-04-10  6:34     ` Patrick Steinhardt
2024-04-10 16:08 99%   ` Junio C Hamano
2024-04-13  1:36 22% What's cooking in git.git (Apr 2024, #05; Fri, 12) Junio C Hamano
2024-04-15  7:23     ` Patrick Steinhardt
2024-04-15 17:37 99%   ` Junio C Hamano
2024-04-16  0:48     ` brian m. carlson
2024-04-16  8:26 99%   ` Junio C Hamano
2024-04-18  0:25 22% What's cooking in git.git (Apr 2024, #06; Wed, 17) Junio C Hamano
2024-04-19 17:24 26% What's cooking in git.git (Apr 2024, #07; Fri, 19) Junio C Hamano
2024-04-22 23:45 24% What's cooking in git.git (Apr 2024, #08; Mon, 22) Junio C Hamano
2024-04-24 17:07 23% What's cooking in git.git (Apr 2024, #09; Tue, 23) Junio C Hamano
2024-04-29 17:22 27% What's cooking in git.git (Apr 2024, #10; Mon, 29) Junio C Hamano
2024-05-01 21:26 26% What's cooking in git.git (May 2024, #01; Wed, 1) Junio C Hamano
2024-05-04  0:27 24% What's cooking in git.git (May 2024, #02; Fri, 3) Junio C Hamano
2024-05-06  9:21     ` Patrick Steinhardt
2024-05-06 22:17 99%   ` Junio C Hamano
2024-05-07  6:05 97%     ` Junio C Hamano
2024-05-06 23:52 23% What's cooking in git.git (May 2024, #03; Mon, 6) Junio C Hamano
2024-05-09 22:37 21% What's cooking in git.git (May 2024, #04; Thu, 9) Junio C Hamano
2024-05-10  1:04 96% ` Junio C Hamano
2024-05-10  7:54     ` Patrick Steinhardt
2024-05-10 15:35 99%   ` Junio C Hamano
2024-05-11 23:29 23% What's cooking in git.git (May 2024, #05; Sat, 11) Junio C Hamano
2024-05-13  5:49     ` Patrick Steinhardt
2024-05-13 16:34 99%   ` Junio C Hamano
2024-05-14 17:36 22% What's cooking in git.git (May 2024, #06; Tue, 14) Junio C Hamano
2024-05-15 11:57     ` Christian Couder
2024-05-15 14:16 99%   ` Junio C Hamano
2024-05-17 23:49 21% What's cooking in git.git (May 2024, #07; Fri, 17) Junio C Hamano

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).