* What's cooking in git.git (Jan 2025, #05; Fri, 17)
@ 2025-01-18 0:42 Junio C Hamano
2025-01-18 13:15 ` Jeff King
` (3 more replies)
0 siblings, 4 replies; 23+ messages in thread
From: Junio C Hamano @ 2025-01-18 0: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 quite a few topics that are listed here but without much
review activities. I'll review the notes below with list archive
myself to see which ones are truly stale and discard them, maybe
later 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-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']
* as/long-option-help-i18n (2024-12-30) 1 commit
(merged to 'next' on 2024-12-30 at 900c79808f)
+ parse-options: localize mark-up of placeholder text in the short help
Tweak the help text used for the option value placeholders by
parse-options API so that translations can customize the "<>"
placeholder signal (e.g. "--option=<value>").
source: <20241228114221.10351-4-ash@kambanaria.org>
* mb/t7110-use-test-path-helper (2025-01-03) 1 commit
(merged to 'next' on 2025-01-06 at cd96b0ac82)
+ t7110: replace `test -f` with `test_path_is_*` helpers
Test modernization.
source: <20250103130035.79376-1-matteobagnolini2003@gmail.com>
* ps/meson-weak-sha1-build (2024-12-30) 8 commits
(merged to 'next' on 2025-01-01 at e01db872e4)
+ meson: provide a summary of configured backends
+ meson: wire up unsafe SHA1 backend
+ meson: add missing dots for build options
+ meson: simplify conditions for HTTPS and SHA1 dependencies
+ meson: require SecurityFramework when it's used as SHA1 backend
+ meson: deduplicate access to SHA1/SHA256 backend options
+ meson: consistenlty spell 'CommonCrypto'
+ Merge branch 'ps/weak-sha1-for-tail-sum-fix' into ps/meson-weak-sha1-build
(this branch is used by ps/build-meson-fixes and ps/zlib-ng.)
meson-based build now supports the unsafe-sha1 build knob.
source: <20241230-pks-meson-sha1-unsafe-v1-0-efb276e171f5@pks.im>
* ps/more-sign-compare (2024-12-27) 10 commits
(merged to 'next' on 2025-01-01 at 41c78cf690)
+ sign-compare: avoid comparing ptrdiff with an int/unsigned
+ commit-reach: use `size_t` to track indices when computing merge bases
+ shallow: fix -Wsign-compare warnings
+ builtin/log: fix remaining -Wsign-compare warnings
+ builtin/log: use `size_t` to track indices
+ commit-reach: use `size_t` to track indices in `get_reachable_subset()`
+ commit-reach: use `size_t` to track indices in `remove_redundant()`
+ commit-reach: fix type of `min_commit_date`
+ commit-reach: fix index used to loop through unsigned integer
+ prio-queue: fix type of `insertion_ctr`
More -Wsign-compare fixes.
cf. https://staticthinking.wordpress.com/2023/07/25/wsign-compare-is-garbage/
source: <20241227-b4-pks-commit-reach-sign-compare-v1-0-07c59c2aa632@pks.im>
* ps/object-collision-check (2025-01-06) 4 commits
(merged to 'next' on 2025-01-06 at 540e2bae11)
+ object-file: retry linking file into place when occluding file vanishes
+ object-file: don't special-case missing source file in collision check
+ object-file: rename variables in `check_collision()`
(merged to 'next' on 2024-12-30 at e083ea3154)
+ object-file: fix race in object collision check
CI jobs gave sporadic failures, which turns out that that the
object finalization code was giving an error when it did not have
to.
source: <20250106-b4-pks-object-file-racy-collision-check-v2-0-8b3984ecbb18@pks.im>
* re/submodule-parse-opt (2024-12-11) 7 commits
(merged to 'next' on 2024-12-21 at 9e65a56a63)
+ git-submodule.sh: rename some variables
+ git-submodule.sh: improve variables readability
+ git-submodule.sh: add some comments
+ git-submodule.sh: get rid of unused variable
+ git-submodule.sh: get rid of isnumber
+ git-submodule.sh: improve parsing of short options
+ git-submodule.sh: improve parsing of some long options
"git submodule" learned various ways to spell the same option,
e.g. "--branch=B" can be spelled "--branch B" or "-bB".
source: <20241211063234.7610-1-royeldar0@gmail.com>
--------------------------------------------------
[New Topics]
* sj/meson-doc-technical-dependency-fix (2025-01-14) 1 commit
(merged to 'next' on 2025-01-16 at 3ec55e0703)
+ meson: fix missing deps for technical articles
The meson build procedure for Documentation/technical/ hiearchy was
missing necessary dependencies, which has been corrected.
Will merge to 'master'.
source: <5114dc9a00377826a55f6bab007d2ad1a4de8bc5.1736866030.git.sam@gentoo.org>
* tc/meson-use-our-version-def-h (2025-01-14) 1 commit
(merged to 'next' on 2025-01-16 at 76e9e81736)
+ meson: ensure correct version-def.h is used
The meson build procedure looked for the 'version-def.h' file in a
wrong directory, which has been corrected.
Will merge to 'master'.
source: <20250114-toon-fix-meson-version-v2-1-66ddb1a82c28@iotcl.com>
* js/libgit-rust (2025-01-16) 6 commits
- fixup! common-main: split init and exit code into new files
- Makefile: add option to build and test libgit-rs and libgit-rs-sys
- libgit: add higher-level libgit crate
- libgit-sys: also export some config_set functions
- libgit-sys: introduce Rust wrapper for libgit.a
- common-main: split init and exit code into new files
Foreign language interface for Rust into our code base has been added.
Needs to be aware of meson build?
cf. <xmqqtt9ypj4m.fsf@gitster.g>
source: <cover.1736971328.git.steadmon@google.com>
* kn/reflog-migration-fix (2025-01-15) 1 commit
(merged to 'next' on 2025-01-16 at ae8f9ce9a0)
+ reftable: write correct max_update_index to header
(this branch is used by kn/reflog-migration-fix-followup.)
"git refs migrate" for migrating reflog data was broken.
Will merge to 'master'.
cf. <Z4mUizLNUdq_1BgY@tapette.crustytoothpaste.net>
source: <CAOLa=ZTL9n_DPhNr49XAd6bT838kc09oVx_AH7Pb4o8VK_xQ9w@mail.gmail.com>
* jc/show-usage-help (2025-01-17) 6 commits
- builtin: send usage() help text to standard output
- oddballs: send usage() help text to standard output
- builtins: send usage_with_options() help text to standard output
- usage: add show_usage_if_asked()
- parse-options: add show_usage_with_options_if_asked()
- t0012: optionally check that "-h" output goes to stdout
The help text from "git $cmd -h" appear on the standard output for
some $cmd and the standard error for others. The built-in commands
have been fixed to show them on the standard output consistently.
Will merge to 'next'.
cf. <20250117114123.GA2356746@coredump.intra.peff.net>
* kn/pack-write-with-reduced-globals (2025-01-17) 5 commits
- pack-write: pass hash_algo to internal functions
- pack-write: pass hash_algo to `write_rev_file()`
- pack-write: pass hash_algo to `write_idx_file()`
- pack-write: pass repository to `index_pack_lockfile()`
- pack-write: pass hash_algo to `fixup_pack_header_footer()`
Code clean-up.
Well merge to 'next'?
cf. <Z4kIg8ihbgPPb3C_@pks.im>
source: <20250117-kn-the-repo-cleanup-v2-0-a7fdc19688f5@gmail.com>
* ps/reftable-sign-compare (2025-01-16) 10 commits
- reftable: address trivial -Wsign-compare warnings
- reftable/blocksource: adjust `read_block()` to return `ssize_t`
- reftable/blocksource: adjust type of the block length
- reftable/block: adjust type of the restart length
- reftable/block: adapt header and footer size to return a `size_t`
- reftable/basics: adjust `hash_size()` to return `uint32_t`
- reftable/basics: adjust `common_prefix_size()` to return `size_t`
- reftable/record: handle overflows when decoding varints
- reftable/record: drop unused `print` function pointer
- meson: stop disabling -Wsign-compare
THe reftable/ library code has been made -Wsign-compare clean.
Will merge to 'next'?
source: <20250116-b4-pks-reftable-sign-compare-v1-0-bd30e2ee96e7@pks.im>
* sk/unit-tests (2025-01-17) 4 commits
- t/unit-tests: convert reftable tree test to use clar test framework
- t/unit-tests: adapt priority queue test to use clar test framework
- t/unit-tests: convert mem-pool test to use clar test framework
- t/unit-tests: handle dashes in test suite filenames
Move a few more unit tests to the clar test framework.
Will merge to 'next'.
source: <20250117122926.101749-1-kuforiji98@gmail.com>
* zh/gc-expire-to (2025-01-16) 1 commit
- gc: add `--expire-to` option
"git gc" learned the "--expire-to" option and passes it down to
underlying "git repack".
Needs review.
source: <pull.1843.v3.git.1736994932003.gitgitgadget@gmail.com>
* jc/cli-doc-option-and-config (2025-01-17) 1 commit
(merged to 'next' on 2025-01-17 at 71f41b00d8)
+ gitcli: document that command line trumps config and env
Doc update.
Will merge to 'master'.
source: <xmqqzfjqmbza.fsf@gitster.g>
* jk/pack-header-parse-alignment-fix (2025-01-17) 3 commits
- index-pack, unpack-objects: use skip_prefix to avoid magic number
- parse_pack_header_option(): avoid unaligned memory writes
- packfile: factor out --pack_header argument parsing
It was possible for "git unpack-objects" and "git index-pack" to
make an unaligned access, which has been corrected.
Will merge to 'next'.
source: <20250117125207.GB2356599@coredump.intra.peff.net>
* kn/reflog-migration-fix-followup (2025-01-17) 4 commits
- reftable: prevent 'update_index' changes after header write
- refs: use 'uint64_t' for 'ref_update.index'
- refs: mark `ref_transaction_update_reflog()` as static
- Merge branch 'kn/reflog-migration-fix' into kn/reflog-migration-fix-followup
(this branch uses kn/reflog-migration-fix.)
Code clean-up.
source: <20250117-461-corrupted-reftable-followup-v1-0-70ee605ae3fe@gmail.com>
* mh/connect-sign-compare (2025-01-17) 1 commit
- connect: address -Wsign-compare warnings
The code in connect.c has been updated to work around complaints
from -Wsign-compare.
Will merge to 'next'.
source: <20250117074909.1430067-1-mh@glandium.org>
* ps/build-meson-subtree (2025-01-17) 3 commits
- meson: wire up the git-subtree(1) command
- meson: introduce build option for contrib
- contrib/subtree: fix building docs
THe meson-driven build is now aware of "git-subtree" housed in
contrib/subtree hierarchy.
Will merge to 'next'.
source: <20250117-b4-pks-build-subtree-v1-0-03c2ed6cc42e@pks.im>
--------------------------------------------------
[Cooking]
* ak/instaweb-python-port-binding-fix (2025-01-10) 1 commit
(merged to 'next' on 2025-01-17 at bcb5e21e0b)
+ instaweb: fix ip binding for the python http.server
The "instaweb" bound only to local IP address without "--local" and
to all addresses with "--local", which was the other way around, when
using Python's http.server class, which has been corrected.
Will merge to 'master'.
source: <20250110101346.30416-1-alecsk@gmail.com>
* bf/fetch-set-head-fix (2025-01-13) 1 commit
- fetch set_head: fix non-mirror remotes in bare repositories
Fetching into a bare repository incorrectly assumed it always used
a mirror layout when deciding to update remote-tracking HEAD, which
has been corrected.
Needs review.
source: <20250112165125.130400-1-bence@ferdinandy.com>
* mh/doc-credential-helpers-with-pat (2025-01-10) 2 commits
(merged to 'next' on 2025-01-17 at a70beabaf5)
+ docs: discuss caching personal access tokens
+ docs: list popular credential helpers
Document that it is insecure to use Personal Access Tokens, which
some hosting providers take as username/password, embedded in URLs.
Will merge to 'master'.
source: <pull.1851.v2.git.1736549677.gitgitgadget@gmail.com>
* ps/build-meson-fixes (2025-01-14) 12 commits
- ci: wire up Visual Studio build with Meson
- ci: raise error when Meson generates warnings
- meson: fix compilation with Visual Studio
- meson: make the CSPRNG backend configurable
- meson: wire up fuzzers
- meson: wire up generation of distribution archive
- meson: wire up development environments
- meson: fix dependencies for generated headers
- meson: populate project version via GIT-VERSION-GEN
- GIT-VERSION-GEN: allow running without input and output files
- GIT-VERSION-GEN: simplify computing the dirty marker
- Merge branch 'ps/meson-weak-sha1-build' into ps/build-meson-fixes
(this branch is used by ps/zlib-ng.)
More build fixes and enhancements on meson based build procedure.
Needs review.
source: <20250114-b4-pks-meson-additions-v2-0-8d7ec676cfd9@pks.im>
* ps/zlib-ng (2025-01-16) 12 commits
- ci: make "linux-musl" job use zlib-ng
- ci: switch linux-musl to use Meson
- compat/zlib: allow use of zlib-ng as backend
- git-zlib: cast away potential constness of `next_in` pointer
- compat/zlib: provide stubs for `deflateSetHeader()`
- compat/zlib: provide `deflateBound()` shim centrally
- git-compat-util: move include of "compat/zlib.h" into "git-zlib.h"
- compat: introduce new "zlib.h" header
- git-compat-util: drop `z_const` define
- compat: drop `uncompress2()` compatibility shim
- Merge branch 'ps/build-meson-fixes' into ps/zlib-ng
- Merge branch 'ps/meson-weak-sha1-build' into ps/zlib-ng
(this branch uses ps/build-meson-fixes.)
The code paths to interact with zlib has been cleaned up in
preparation for building with zlib-ng.
Needs review.
source: <20250116-b4-pks-compat-drop-uncompress2-v3-0-f2af1f5c4a06@pks.im>
* rs/ref-fitler-used-atoms-value-fix (2025-01-13) 1 commit
- ref-filter: share bases and is_base_tips between formatting and sorting
"git branch --sort=..." and "git for-each-ref --format=... --sort=..."
did not work as expected with some atoms, which has been corrected.
cf. https://lore.kernel.org/git/20250113051700.GA767856@coredump.intra.peff.net/
source: <6b824f05-6f16-4cd9-85b7-3b8b236158b4@web.de>
* tb/unsafe-hash-cleanup (2025-01-17) 8 commits
- hash.h: drop unsafe_ function variants
- csum-file: introduce hashfile_checkpoint_init()
- t/helper/test-hash.c: use unsafe_hash_algo()
- csum-file.c: use unsafe_hash_algo()
- hash.h: introduce `unsafe_hash_algo()`
- csum-file.c: extract algop from hashfile_checksum_valid()
- csum-file: store the hash algorithm as a struct field
- t/helper/test-tool: implement sha1-unsafe helper
The API around choosing to use unsafe variant of SHA-1
implementation has been updated in an attempt to make it harder to
abuse.
Will merge to 'next'?
source: <cover.1737151386.git.me@ttaylorr.com>
* dk/zsh-config-completion-fix (2025-01-06) 1 commit
(merged to 'next' on 2025-01-10 at efba7d534c)
+ completion: repair config completion for Zsh
Completion script updates for zsh
Will merge to 'master'.
source: <pull.1860.v3.git.git.1736200026899.gitgitgadget@gmail.com>
* en/object-name-with-funny-refname-fix (2025-01-13) 2 commits
(merged to 'next' on 2025-01-16 at 89cd7778c9)
+ object-name: be more strict in parsing describe-like output
+ object-name: fix resolution of object names containing curly braces
Extended SHA-1 expression parser did not work well when a branch
with an unusual name (e.g. "foo{bar") is involved.
Will merge to 'master'.
source: <pull.1844.v3.git.1736788417.gitgitgadget@gmail.com>
* sj/ref-consistency-checks-more (2025-01-06) 10 commits
- builtin/fsck: add `git refs verify` child process
- packed-backend: check whether the "packed-refs" is sorted
- packed-backend: add check for object consistency
- packed-backend: create "fsck_packed_ref_entry" to store parsing info
- packed-backend: add "packed-refs" entry consistency check
- packed-backend: check whether the refname contains NULL binaries
- packed-backend: add "packed-refs" header consistency check
- packed-backend: check whether the "packed-refs" is regular
- builtin/refs.h: get worktrees without reading head info
- files-backend: add object check for regular ref
"git fsck" becomes more careful when checking the refs.
source: <Z3qNUizvHJLgMx1y@ArchLinux>
* jk/lsan-race-ignore-false-positive (2025-01-07) 3 commits
(merged to 'next' on 2025-01-09 at 3d7cd910b5)
+ test-lib: add a few comments to LSan log checking
+ test-lib: simplify lsan results check
+ test-lib: invert return value of check_test_results_san_file_empty
The code to check LSan results has been simplified and made more
robust.
Will merge to 'master'.
source: <20250107070409.GA584456@coredump.intra.peff.net>
* jk/t7407-use-test-grep (2025-01-07) 1 commit
(merged to 'next' on 2025-01-09 at 1d584ee42d)
+ t7407: use test_grep
Test clean-up.
Will merge to 'master'.
source: <20250107071824.GA594237@coredump.intra.peff.net>
* jt/fsck-skiplist-parse-fix (2025-01-07) 1 commit
(merged to 'next' on 2025-01-09 at d08b30fd78)
+ fsck: reject misconfigured fsck.skipList
A misconfigured "fsck.skiplist" configuration variable was not
diagnosed as an error, which has been corrected.
Will merge to 'master'.
source: <20250107162914.3756968-2-jltobler@gmail.com>
* ps/reftable-get-random-fix (2025-01-07) 2 commits
(merged to 'next' on 2025-01-09 at bc024b7a45)
+ reftable/stack: accept insecure random bytes
+ wrapper: allow generating insecure random bytes
The code to compute "unique" name used git_rand() which can fail or
get stuck; the callsite does not require cryptographic security.
Introduce the "insecure" mode and use it appropriately.
Will merge to 'master'.
source: <20250107-b4-pks-reftable-csprng-v1-0-6109a54a8756@pks.im>
* mh/credential-cache-authtype-request-fix (2025-01-09) 1 commit
- credential-cache: respect authtype capability
The "cache" credential back-end did not handle authtype correctly,
which has been corrected.
source: <pull.1842.v5.git.1736462721156.gitgitgadget@gmail.com>
* mh/gitattr-doc-markup-fix (2025-01-07) 1 commit
(merged to 'next' on 2025-01-10 at 9b8f84ebe2)
+ docs: fix typesetting of merge driver placeholders
Doc markup fix.
Will merge to 'master'.
source: <20250107212421.7yyvuzw4uqxnqv7t@archP14s>
* sk/unit-test-hash (2025-01-09) 1 commit
(merged to 'next' on 2025-01-13 at 865b121824)
+ t/unit-tests: convert hash to use clar test framework
Test update.
Will merge to 'master'.
source: <20250109140952.5267-1-kuforiji98@gmail.com>
* aj/difftool-config-doc-fix (2025-01-09) 1 commit
(merged to 'next' on 2025-01-10 at b8902a53d1)
+ difftool docs: restore correct position of tool list
Docfix.
Will merge to 'master'.
source: <pull.1849.git.1736379323427.gitgitgadget@gmail.com>
* jk/combine-diff-cleanup (2025-01-09) 14 commits
- tree-diff: make list tail-passing more explicit
- tree-diff: simplify emit_path() list management
- tree-diff: use the name "tail" to refer to list tail
- tree-diff: drop list-tail argument to diff_tree_paths()
- combine-diff: drop public declaration of combine_diff_path_size()
- tree-diff: inline path_appendnew()
- tree-diff: pass whole path string to path_appendnew()
- tree-diff: drop path_appendnew() alloc optimization
- run_diff_files(): de-mystify the size of combine_diff_path struct
- diff: add a comment about combine_diff_path.parent.path
- combine-diff: use pointer for parent paths
- tree-diff: clear parent array in path_appendnew()
- combine-diff: add combine_diff_path_new()
- run_diff_files(): delay allocation of combine_diff_path
Code clean-up for code paths around combined diff.
source: <20250109082723.GA2748497@coredump.intra.peff.net>
* sc/help-autocorrect-one (2025-01-13) 1 commit
- help: interpret boolean string values for help.autocorrect
"[help] autocorrect = 1" used to be a way to say "please wait for
0.1 second after suggesting a typofix of the command name before
running that command"; now it means "yes, if there is a plausible
typofix for the command name, please run it immediately".
Looking good except for "should 0 and false be 'tell it without doing it'?".
source: <pull.1869.v4.git.git.1736760824201.gitgitgadget@gmail.com>
* ja/doc-notes-markup-updates (2025-01-10) 1 commit
- doc: convert git-notes to new documentation format
Doc mark-up updates.
source: <pull.1846.v2.git.1736503703573.gitgitgadget@gmail.com>
* ja/doc-restore-markup-update (2025-01-10) 1 commit
- doc: convert git-restore to new style format
Doc mark-up updates.
source: <pull.1847.v2.git.1736503760086.gitgitgadget@gmail.com>
* ua/os-version-capability (2025-01-17) 6 commits
. version: introduce osversion.command config for os-version output
. connect: advertise OS version
. t5701: add setup test to remove side-effect dependency
. version: extend get_uname_info() to hide system details
. version: refactor get_uname_info()
. version: refactor redact_non_printables()
The value of "uname -s" is by default sent over the wire as a new
capability, with an opt-out for privacy-concious folks.
source: <20250117104639.65608-1-usmanakinyemi202@gmail.com>
* ja/doc-commit-markup-updates (2025-01-15) 5 commits
- doc: migrate git-commit manpage secondary files to new format
- doc: convert git commit config to new format
- doc: make more direct explanations in git commit options
- doc: the mode param of -u of git commit is optional
- doc: apply new documentation guidelines to git commit
Doc updates.
Will merge to 'next'?
source: <pull.1845.v2.git.1736972628.gitgitgadget@gmail.com>
* ps/ci-misc-updates (2025-01-10) 10 commits
- ci: remove stale code for Azure Pipelines
- ci: use latest Ubuntu release
- ci: stop special-casing for Ubuntu 16.04
- gitlab-ci: add linux32 job testing against i386
- gitlab-ci: remove the "linux-old" job
- github: simplify computation of the job's distro
- github: convert all Linux jobs to be containerized
- github: adapt containerized jobs to be rootless
- t7422: fix flaky test caused by buffered stdout
- t0060: fix EBUSY in MinGW when setting up runtime prefix
CI updates (containerization, dropping stale ones, etc.).
source: <20250110-b4-pks-ci-fixes-v4-0-6e4613446080@pks.im>
* sk/strlen-returns-size_t (2024-12-26) 1 commit
- date.c: Fix type missmatch warings from msvc
Code clean-up.
The remainder needs to be reviewed.
source: <20241223110407.3308-3-soekkle@freenet.de>
* sk/maintenance-remote-prune (2025-01-03) 1 commit
- maintenance: add prune-remote-refs task
A new periodic maintenance task to run "git remote prune" has been
introduced.
Expecting a reroll.
source: <pull.1838.v3.git.1735928035056.gitgitgadget@gmail.com>
* jc/show-index-h-update (2024-12-20) 1 commit
- show-index: the short help should say the command reads from its input
Doc and short-help text for "show-index" has been clarified to
stress that the command reads its data from the standard input.
Comments?
source: <xmqqfrmidyhk.fsf@gitster.g>
* ps/the-repository (2024-12-18) 15 commits
(merged to 'next' on 2025-01-09 at 1de40edade)
+ match-trees: stop using `the_repository`
+ graph: stop using `the_repository`
+ add-interactive: stop using `the_repository`
+ tmp-objdir: stop using `the_repository`
+ resolve-undo: stop using `the_repository`
+ credential: stop using `the_repository`
+ mailinfo: stop using `the_repository`
+ diagnose: stop using `the_repository`
+ server-info: stop using `the_repository`
+ send-pack: stop using `the_repository`
+ serve: stop using `the_repository`
+ trace: stop using `the_repository`
+ pager: stop using `the_repository`
+ progress: stop using `the_repository`
+ Merge branch 'ps/build-sign-compare' into ps/the-repository
More code paths have a repository passed through the callchain,
instead of assuming the primary the_repository object.
Will merge to 'master'.
source: <20241217-pks-use-the-repository-conversion-v1-0-0dba48bcc239@pks.im>
* jc/doc-attr-tree (2024-12-14) 1 commit
- doc: give attr.tree a bit more visibility
Make sure that "git --attr-source=X", GIT_ATTR_SOURCE, and
attr.tree configuration variables appear at the same places in the
documentation.
On hold.
cf. <20241216111112.GA2201417@coredump.intra.peff.net>
source: <xmqq5xnladwi.fsf@gitster.g>
* ps/3.0-remote-deprecation (2025-01-06) 6 commits
- remote: announce removal of "branches/" and "remotes/"
- builtin/pack-redundant: remove subcommand with breaking changes
- ci: repurpose "linux-gcc" job for deprecations
- ci: merge linux-gcc-default into linux-gcc
- Makefile: wire up build option for deprecated features
- Merge branch 'ps/build' into ps/3.0-remote-deprecation
Following the procedure we established to introduce breaking
changes for Git 3.0, allow an early opt-in for removing support of
$GIT_DIR/branches/ and $GIT_DIR/remotes/ directories to configure
remotes.
source: <20250106-pks-remote-branches-deprecation-v2-0-2ce87c053536@pks.im>
* cc/lop-remote (2024-12-07) 5 commits
. doc: add technical design doc for large object promisors
. promisor-remote: check advertised name or URL
. Add 'promisor-remote' capability to protocol v2
. strbuf: refactor strbuf_trim_trailing_ch()
. version: refactor strbuf_sanitize()
Expecting a reroll.
cf. <CAP8UFD3bdEo1_bg+aX52xSGxmg9KfNrpiX+2LwUM-yDqjvfZbQ@mail.gmail.com>
source: <20241206124248.160494-1-christian.couder@gmail.com>
* ds/backfill (2024-12-20) 6 commits
- backfill: assume --sparse when sparse-checkout is enabled
- backfill: add --sparse option
- backfill: add --min-batch-size=<n> option
- backfill: basic functionality and tests
- backfill: add builtin boilerplate
- Merge branch 'ds/path-walk-1' into ds/backfill
(this branch uses ds/path-walk-1.)
Lazy-loading missing files in a blobless clone on demand is costly
as it tends to be one-blob-at-a-time. "git backfill" is introduced
to help bulk-download necessary files beforehand.
Expecting a reroll.
cf. <Z4jeQSLmARruE5l3@pks.im>
source: <pull.1820.v2.git.1734712193.gitgitgadget@gmail.com>
* tb/incremental-midx-part-2 (2024-11-20) 15 commits
- midx: implement writing incremental MIDX bitmaps
- pack-bitmap.c: use `ewah_or_iterator` for type bitmap iterators
- pack-bitmap.c: keep track of each layer's type bitmaps
- ewah: implement `struct ewah_or_iterator`
- pack-bitmap.c: apply pseudo-merge commits with incremental MIDXs
- pack-bitmap.c: compute disk-usage with incremental MIDXs
- pack-bitmap.c: teach `rev-list --test-bitmap` about incremental MIDXs
- pack-bitmap.c: support bitmap pack-reuse with incremental MIDXs
- pack-bitmap.c: teach `show_objects_for_type()` about incremental MIDXs
- pack-bitmap.c: teach `bitmap_for_commit()` about incremental MIDXs
- pack-bitmap.c: open and store incremental bitmap layers
- pack-revindex: prepare for incremental MIDX bitmaps
- Documentation: describe incremental MIDX bitmaps
- Merge branch 'tb/pseudo-merge-bitmap-fixes' into tb/incremental-midx-part-2
- Merge branch 'tb/incremental-midx-part-1' into tb/incremental-midx-part-2
Incrementally updating multi-pack index files.
Needs review.
source: <cover.1732054032.git.me@ttaylorr.com>
* ps/send-pack-unhide-error-in-atomic-push (2024-11-14) 2 commits
- transport: don't ignore git-receive-pack(1) exit code on atomic push
- t5504: modernize test by moving heredocs into test bodies
"git push --atomic --porcelain" used to ignore failures from the
other side, losing the error status from the child process, which
has been corrected.
Needs to see if competing parallel topic needs to replace this one.
source: <20241113-pks-push-atomic-respect-exit-code-v1-0-7965f01e7f4e@pks.im>
* ds/name-hash-tweaks (2024-12-20) 8 commits
- pack-objects: add third name hash version
- pack-objects: prevent name hash version change
- test-tool: add helper for name-hash values
- p5313: add size comparison test
- pack-objects: add GIT_TEST_NAME_HASH_VERSION
- repack: add --name-hash-version option
- pack-objects: add --name-hash-version option
- pack-objects: create new name-hash function version
"git pack-objects" and its wrapper "git repack" learned an option
to use an alternative path-hash function to improve delta-base
selection to produce a packfile with deeper history than window
size.
Comments?
source: <pull.1823.v3.git.1734715194.gitgitgadget@gmail.com>
* ds/path-walk-1 (2024-12-20) 7 commits
- path-walk: reorder object visits
- path-walk: mark trees and blobs as UNINTERESTING
- path-walk: visit tags and cached objects
- path-walk: allow consumer to specify object types
- t6601: add helper for testing path-walk API
- test-lib-functions: add test_cmp_sorted
- path-walk: introduce an object walk by path
(this branch is used by ds/backfill.)
Introduce a new API to visit objects in batches based on a common
path, or by type.
Will merge to 'next'?
cf. <Z4jeQSLmARruE5l3@pks.im>
source: <pull.1818.v4.git.1734711675.gitgitgadget@gmail.com>
* ej/cat-file-remote-object-info (2025-01-14) 8 commits
- cat-file: add remote-object-info to batch-command
- transport: add client support for object-info
- serve: advertise object-info feature
- fetch-pack: move fetch initialization
- fetch-pack: refactor packet writing
- t1006: split test utility functions into new "lib-cat-file.sh"
- cat-file: add declaration of variable i inside its for loop
- git-compat-util: add strtoul_ul() with error handling
"git cat-file --batch" and friends can optionally ask a remote
server about objects it does not have.
Comments?
source: <20250114021502.41499-1-eric.peijian@gmail.com>
* jc/move-is-bare-repository-cfg-variable-to-repo (2024-11-07) 3 commits
. repository: BUG when is_bare_cfg is not initialized
. setup: initialize is_bare_cfg
. git: remove is_bare_repository_cfg global variable
Code rewrite to turn the is_bare_repository_cfg global variable
into a member in the the_repo singleton repository object.
Will discard.
Has been in "Waiting for response to reviews" state for too long.
cf. <xmqqy116xvr3.fsf@gitster.g>
Seems to break t0021-conversion on Windows.
cf. https://lore.kernel.org/git/xmqqzfl1hl52.fsf@gitster.g/
source: <pull.1826.git.git.1730926082.gitgitgadget@gmail.com>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: What's cooking in git.git (Jan 2025, #05; Fri, 17)
2025-01-18 0:42 What's cooking in git.git (Jan 2025, #05; Fri, 17) Junio C Hamano
@ 2025-01-18 13:15 ` Jeff King
2025-01-18 17:17 ` Junio C Hamano
2025-01-20 6:53 ` David Aguilar
` (2 subsequent siblings)
3 siblings, 1 reply; 23+ messages in thread
From: Jeff King @ 2025-01-18 13:15 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
On Fri, Jan 17, 2025 at 04:42:01PM -0800, Junio C Hamano wrote:
> * jk/pack-header-parse-alignment-fix (2025-01-17) 3 commits
> - index-pack, unpack-objects: use skip_prefix to avoid magic number
> - parse_pack_header_option(): avoid unaligned memory writes
> - packfile: factor out --pack_header argument parsing
>
> It was possible for "git unpack-objects" and "git index-pack" to
> make an unaligned access, which has been corrected.
>
> Will merge to 'next'.
> source: <20250117125207.GB2356599@coredump.intra.peff.net>
I was planning to re-roll this with your sparse fix included, and adding
another patch to do get_be32() on the reading side. So maybe hold off
for a moment.
(I'd also be interested in any comments on the "maybe we should just
align these buffers" approach; I'm undecided on it).
-Peff
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: What's cooking in git.git (Jan 2025, #05; Fri, 17)
2025-01-18 13:15 ` Jeff King
@ 2025-01-18 17:17 ` Junio C Hamano
2025-01-19 12:51 ` Jeff King
0 siblings, 1 reply; 23+ messages in thread
From: Junio C Hamano @ 2025-01-18 17:17 UTC (permalink / raw)
To: Jeff King; +Cc: git
Jeff King <peff@peff.net> writes:
> On Fri, Jan 17, 2025 at 04:42:01PM -0800, Junio C Hamano wrote:
>
>> * jk/pack-header-parse-alignment-fix (2025-01-17) 3 commits
>> ...
>> Will merge to 'next'.
>> source: <20250117125207.GB2356599@coredump.intra.peff.net>
>
> I was planning to re-roll this with your sparse fix included, and adding
> another patch to do get_be32() on the reading side. So maybe hold off
> for a moment.
Thanks.
> (I'd also be interested in any comments on the "maybe we should just
> align these buffers" approach; I'm undecided on it).
Unless we have the buffer _inside_ the helper function that may
perform the possibly-unaligned access, I am not sure how it helps.
I guess that we can align buffers used by two existing callers,
document that the helper function takes an aligned buffer and that
it is a fault of the caller if somebody passes an unaligned buffer,
but I am not sure if that is where we want to go.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: What's cooking in git.git (Jan 2025, #05; Fri, 17)
2025-01-18 17:17 ` Junio C Hamano
@ 2025-01-19 12:51 ` Jeff King
2025-01-19 12:55 ` Jeff King
0 siblings, 1 reply; 23+ messages in thread
From: Jeff King @ 2025-01-19 12:51 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
On Sat, Jan 18, 2025 at 09:17:32AM -0800, Junio C Hamano wrote:
> > (I'd also be interested in any comments on the "maybe we should just
> > align these buffers" approach; I'm undecided on it).
>
> Unless we have the buffer _inside_ the helper function that may
> perform the possibly-unaligned access, I am not sure how it helps.
We sort-of do. The offending code is all static local to
unpack-objects.c, and always operates on the same buffer (directly for
writing, and for reading through the static fill() macro which returns
it directly). And likewise in index-pack.c.
I think these two are oddballs in that they read parts of a pack into a
buffer. Whereas all of the more generic pack code will mmap() it, and
presumably that ends up with suitable alignment. I guess platforms with
NO_MMAP would read into a malloc'd buffer, but that should likewise be
prepared for any alignment. (I suppose another way of achieving
alignment would simply be to turn "buffer" into a pointer and malloc it
at the program start, but that still leaves the need to fix sizeof()
calls).
> I guess that we can align buffers used by two existing callers,
> document that the helper function takes an aligned buffer and that
> it is a fault of the caller if somebody passes an unaligned buffer,
> but I am not sure if that is where we want to go.
The functions themselves aren't really reusable, so any new code which
wants to do the same thing would end up rewriting it and potentially
creating the same problem. But that's probably an argument for switching
away from the cast and to put/get_be32(). It provides a more obviously
better example for people to copy from.
I'll post a re-roll in a bit.
-Peff
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: What's cooking in git.git (Jan 2025, #05; Fri, 17)
2025-01-19 12:51 ` Jeff King
@ 2025-01-19 12:55 ` Jeff King
2025-01-21 19:17 ` Junio C Hamano
0 siblings, 1 reply; 23+ messages in thread
From: Jeff King @ 2025-01-19 12:55 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
On Sun, Jan 19, 2025 at 07:51:46AM -0500, Jeff King wrote:
> > Unless we have the buffer _inside_ the helper function that may
> > perform the possibly-unaligned access, I am not sure how it helps.
>
> We sort-of do. The offending code is all static local to
> unpack-objects.c, and always operates on the same buffer (directly for
> writing, and for reading through the static fill() macro which returns
> it directly). And likewise in index-pack.c.
Oh, reading this again, I guess you were thinking of the helper that I
had factored out. Yes, if that requires aligned memory that is an awful
interface. :-/
I was thinking to just leave the offending code untouched in the
individual commands if we went this route.
But anyway, I'll prepare a version going the other get_be32() direction.
-Peff
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: What's cooking in git.git (Jan 2025, #05; Fri, 17)
2025-01-18 0:42 What's cooking in git.git (Jan 2025, #05; Fri, 17) Junio C Hamano
2025-01-18 13:15 ` Jeff King
@ 2025-01-20 6:53 ` David Aguilar
2025-01-20 7:54 ` [PATCH] help: make help.autocorrect = 1 the same as "prompt" David Aguilar
2025-01-21 19:23 ` What's cooking in git.git (Jan 2025, #05; Fri, 17) Junio C Hamano
2025-01-21 20:19 ` Derrick Stolee
2025-01-22 16:44 ` Karthik Nayak
3 siblings, 2 replies; 23+ messages in thread
From: David Aguilar @ 2025-01-20 6:53 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git, Scott Chacon
On Fri, Jan 17, 2025 at 04:42:01PM -0800, Junio C Hamano wrote:
> * sc/help-autocorrect-one (2025-01-13) 1 commit
> - help: interpret boolean string values for help.autocorrect
>
> "[help] autocorrect = 1" used to be a way to say "please wait for
> 0.1 second after suggesting a typofix of the command name before
> running that command"; now it means "yes, if there is a plausible
> typofix for the command name, please run it immediately".
>
> Looking good except for "should 0 and false be 'tell it without doing it'?".
> source: <pull.1869.v4.git.git.1736760824201.gitgitgadget@gmail.com>
(The text below is from the original thread; sorry I don't have it handy
so I just replied here instead)
> ... but would it be simpler if we made it an extended boolean, i.e.
>
> true, yes, on, 1 -> same as "immediate"
> false, no, off, 0 -> same as "never"
> immediate -> same as what we currently do
> never -> same as what we currently do
> prompt -> same as what we currently do
> number -> same as what we currently do
I do think that, "0 -> same as never," makes a lot of sense from a
usability perspective.
On the other hand, I don't think that, "1 -> same as immediate," is a
very safe thing to do. One reason is that we should try to do the least
surprising thing possible, especially when the command may be something
that the user did not intend to run.
Recall that this topic was spun up because a value of "1" was
interpreted as 0.1 seconds, which is effectively the same as
"immediate." The original interpretation is arguably a usability issue
that is not improved by these changes.
I would instead recommend that, "1 -> same as prompt," would be a safer
and less surprising behavior. If the user wants "immediate" they can be
explicit about it. "immediate" is the most dangerous of all of these
options so adding ambiguous routes to it seems like a step backwards.
I don't really think backwards-compatibility is much of a concern here
at all. It *would* be a concern if we were moving from a safe behavior
to a less-safe behavior (like this patch currently does) but not so in
the other direction like I'm proposing by making "1" mean "prompt".
Do we think this is a valid assessment and worth changing?
If so I can try to whip up a quick patch over the existing state of
"seen" to change the behavior to "prompt" when "1" is seen and
"never" when "0" is seen.
--
David
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH] help: make help.autocorrect = 1 the same as "prompt"
2025-01-20 6:53 ` David Aguilar
@ 2025-01-20 7:54 ` David Aguilar
2025-01-21 19:23 ` What's cooking in git.git (Jan 2025, #05; Fri, 17) Junio C Hamano
1 sibling, 0 replies; 23+ messages in thread
From: David Aguilar @ 2025-01-20 7:54 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Scott Chacon, git
Choose the least surprising behavior by prompting the user
when when help.autocorrect is set to a boolean "true" value.
Make "0" and other "false" boolean values the same as "never".
Make "help.autocorrect = show" the same as the default behavior
so that users can override it in a repository-local .git/config.
Signed-off-by: David Aguilar <davvid@gmail.com>
---
Here's what the proposed changes to make "true" = "prompt"
might look like.
Documentation/config/help.txt | 26 ++++++++++++++++--------
help.c | 14 +++++++++----
t/t9003-help-autocorrect.sh | 38 +++++++++++++++++------------------
3 files changed, 47 insertions(+), 31 deletions(-)
diff --git a/Documentation/config/help.txt b/Documentation/config/help.txt
index a4c6079af8..344b4b13f7 100644
--- a/Documentation/config/help.txt
+++ b/Documentation/config/help.txt
@@ -11,14 +11,24 @@ help.autoCorrect::
If git detects typos and can identify exactly one valid command similar
to the error, git will try to suggest the correct command or even
run the suggestion automatically. Possible config values are:
- - 0: show the suggested command (default).
- - 1, "true", "on", "yes", "immediate": run the suggested command
-immediately.
- - positive number > 1: run the suggested command after specified
-deciseconds (0.1 sec).
- - "false", "off", "no", "never": don't run or show any suggested command.
- - "prompt": show the suggestion and prompt for confirmation to run
-the command.
++
+--
+show;;
+ Show the suggested command but do not run it. This is the default.
+
+immediate;;
+ Run the suggested command immediately.
+
+never, false, off, no, 0;;
+ Do not run or show the suggested command.
+
+prompt, true, on, yes, 1;;
+ Show the suggestion and prompt for confirmation to run the command.
+
+positive number greater than 1;;
+ Run the suggested command after specified deciseconds (0.1 sec).
+--
++
help.htmlPath::
Specify the path where the HTML documentation resides. File system paths
diff --git a/help.c b/help.c
index 7148963e46..447e0c9423 100644
--- a/help.c
+++ b/help.c
@@ -552,6 +552,7 @@ struct help_unknown_cmd_config {
struct cmdnames aliases;
};
+#define AUTOCORRECT_SHOW (-4)
#define AUTOCORRECT_PROMPT (-3)
#define AUTOCORRECT_NEVER (-2)
#define AUTOCORRECT_IMMEDIATELY (-1)
@@ -560,7 +561,7 @@ static int parse_autocorrect(const char *value)
{
switch (git_parse_maybe_bool_text(value)) {
case 1:
- return AUTOCORRECT_IMMEDIATELY;
+ return AUTOCORRECT_PROMPT;
case 0:
return AUTOCORRECT_NEVER;
default: /* other random text */
@@ -573,6 +574,8 @@ static int parse_autocorrect(const char *value)
return AUTOCORRECT_NEVER;
if (!strcmp(value, "immediate"))
return AUTOCORRECT_IMMEDIATELY;
+ if (!strcmp(value, "show"))
+ return AUTOCORRECT_SHOW;
return 0;
}
@@ -589,8 +592,10 @@ static int git_unknown_cmd_config(const char *var, const char *value,
if (!v) {
v = git_config_int(var, value, ctx->kvi);
- if (v < 0 || v == 1)
- v = AUTOCORRECT_IMMEDIATELY;
+ if (v == 1)
+ v = AUTOCORRECT_PROMPT;
+ else if (v <= 0)
+ v = AUTOCORRECT_NEVER;
}
cfg->autocorrect = v;
@@ -713,7 +718,8 @@ char *help_unknown_cmd(const char *cmd)
n++)
; /* still counting */
}
- if (cfg.autocorrect && n == 1 && SIMILAR_ENOUGH(best_similarity)) {
+ if (cfg.autocorrect && cfg.autocorrect != AUTOCORRECT_SHOW &&
+ n == 1 && SIMILAR_ENOUGH(best_similarity)) {
char *assumed = xstrdup(main_cmds.names[0]->name);
fprintf_ln(stderr,
diff --git a/t/t9003-help-autocorrect.sh b/t/t9003-help-autocorrect.sh
index 85a5074b5e..ea20526248 100755
--- a/t/t9003-help-autocorrect.sh
+++ b/t/t9003-help-autocorrect.sh
@@ -29,7 +29,7 @@ test_expect_success 'setup' '
'
test_expect_success 'autocorrect showing candidates' '
- git config help.autocorrect 0 &&
+ git config help.autocorrect show &&
test_must_fail git lfg 2>actual &&
grep "^ lgf" actual &&
@@ -38,28 +38,28 @@ test_expect_success 'autocorrect showing candidates' '
grep "^ distimdistim" actual
'
-for immediate in -1 immediate
-do
- test_expect_success 'autocorrect running commands' '
- git config help.autocorrect $immediate &&
+test_expect_success 'autocorrect running commands' '
+ git config help.autocorrect immediate &&
- git lfg >actual &&
- echo "a single log entry" >expect &&
- test_cmp expect actual &&
+ git lfg >actual &&
+ echo "a single log entry" >expect &&
+ test_cmp expect actual &&
- git distimdist >actual &&
- echo "distimdistim was called" >expect &&
- test_cmp expect actual
- '
-done
+ git distimdist >actual &&
+ echo "distimdistim was called" >expect &&
+ test_cmp expect actual
+'
-test_expect_success 'autocorrect can be declined altogether' '
- git config help.autocorrect never &&
+for never in -1 0 no false never
+do
+ test_expect_success 'autocorrect can be declined altogether' '
+ git config help.autocorrect $never &&
- test_must_fail git lfg 2>actual &&
- grep "is not a git command" actual &&
- test_line_count = 1 actual
-'
+ test_must_fail git lfg 2>actual &&
+ grep "is not a git command" actual &&
+ test_line_count = 1 actual
+ '
+done
test_expect_success 'autocorrect works in work tree created from bare repo' '
git clone --bare . bare.git &&
--
2.48.0.rc2.33.gfa4adeb460
^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: What's cooking in git.git (Jan 2025, #05; Fri, 17)
2025-01-19 12:55 ` Jeff King
@ 2025-01-21 19:17 ` Junio C Hamano
0 siblings, 0 replies; 23+ messages in thread
From: Junio C Hamano @ 2025-01-21 19:17 UTC (permalink / raw)
To: Jeff King; +Cc: git
Jeff King <peff@peff.net> writes:
> I was thinking to just leave the offending code untouched in the
> individual commands if we went this route.
Ah, I see. Yeah, then we have a subtle and possibly brittle code
paths that are well contained inside two functions.
> But anyway, I'll prepare a version going the other get_be32() direction.
Thanks. That probably results in better code with fewer magic.
THanks.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: What's cooking in git.git (Jan 2025, #05; Fri, 17)
2025-01-20 6:53 ` David Aguilar
2025-01-20 7:54 ` [PATCH] help: make help.autocorrect = 1 the same as "prompt" David Aguilar
@ 2025-01-21 19:23 ` Junio C Hamano
1 sibling, 0 replies; 23+ messages in thread
From: Junio C Hamano @ 2025-01-21 19:23 UTC (permalink / raw)
To: David Aguilar; +Cc: git, Scott Chacon
David Aguilar <davvid@gmail.com> writes:
> (The text below is from the original thread; sorry I don't have it handy
> so I just replied here instead)
>
>> ... but would it be simpler if we made it an extended boolean, i.e.
>>
>> true, yes, on, 1 -> same as "immediate"
>> false, no, off, 0 -> same as "never"
>> immediate -> same as what we currently do
>> never -> same as what we currently do
>> prompt -> same as what we currently do
>> number -> same as what we currently do
>
> I do think that, "0 -> same as never," makes a lot of sense from a
> usability perspective.
I obviously do not agree. "Suggest the right spelling and let the
user decide without time-bomb" is a very useful and safe UI, and the
above summary was done by mistake.
> I would instead recommend that, "1 -> same as prompt," would be a safer
> and less surprising behavior. If the user wants "immediate" they can be
> explicit about it. "immediate" is the most dangerous of all of these
> options so adding ambiguous routes to it seems like a step backwards.
Thanks for raising your concern.
As somebody who does *not* use the time-bomb UI that makes me wait
when the heuristics guessed correctly and forces me to scramble to
hit \C-c when it didn't, I am not qualified to comment in favor of
such a huge behaviour change, so I won't, and let others discuss.
> I don't really think backwards-compatibility is much of a concern here
> at all. It *would* be a concern if we were moving from a safe behavior
> to a less-safe behavior (like this patch currently does) but not so in
> the other direction like I'm proposing by making "1" mean "prompt".
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: What's cooking in git.git (Jan 2025, #05; Fri, 17)
2025-01-18 0:42 What's cooking in git.git (Jan 2025, #05; Fri, 17) Junio C Hamano
2025-01-18 13:15 ` Jeff King
2025-01-20 6:53 ` David Aguilar
@ 2025-01-21 20:19 ` Derrick Stolee
2025-01-21 20:30 ` Junio C Hamano
2025-01-22 16:44 ` Karthik Nayak
3 siblings, 1 reply; 23+ messages in thread
From: Derrick Stolee @ 2025-01-21 20:19 UTC (permalink / raw)
To: Junio C Hamano, git
On 1/17/25 7:42 PM, Junio C Hamano wrote:
> * ds/name-hash-tweaks (2024-12-20) 8 commits
> - pack-objects: add third name hash version
> - pack-objects: prevent name hash version change
> - test-tool: add helper for name-hash values
> - p5313: add size comparison test
> - pack-objects: add GIT_TEST_NAME_HASH_VERSION
> - repack: add --name-hash-version option
> - pack-objects: add --name-hash-version option
> - pack-objects: create new name-hash function version
>
> "git pack-objects" and its wrapper "git repack" learned an option
> to use an alternative path-hash function to improve delta-base
> selection to produce a packfile with deeper history than window
> size.
>
> Comments?
> source: <pull.1823.v3.git.1734715194.gitgitgadget@gmail.com>
I'll poke the thread, too, but this seems to be the most promising
topic in the area of better delta compression. The latest version
does not have any comments.
The only decision point I think remains is whether or not to
include the last patch (--name-hash-version=3) which I would be
happy either way.
Thanks,
-Stolee
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: What's cooking in git.git (Jan 2025, #05; Fri, 17)
2025-01-21 20:19 ` Derrick Stolee
@ 2025-01-21 20:30 ` Junio C Hamano
2025-01-22 18:30 ` Taylor Blau
0 siblings, 1 reply; 23+ messages in thread
From: Junio C Hamano @ 2025-01-21 20:30 UTC (permalink / raw)
To: Derrick Stolee; +Cc: git
Derrick Stolee <stolee@gmail.com> writes:
> On 1/17/25 7:42 PM, Junio C Hamano wrote:
>
>> * ds/name-hash-tweaks (2024-12-20) 8 commits
>> - pack-objects: add third name hash version
>> - pack-objects: prevent name hash version change
>> - test-tool: add helper for name-hash values
>> - p5313: add size comparison test
>> - pack-objects: add GIT_TEST_NAME_HASH_VERSION
>> - repack: add --name-hash-version option
>> - pack-objects: add --name-hash-version option
>> - pack-objects: create new name-hash function version
>> "git pack-objects" and its wrapper "git repack" learned an option
>> to use an alternative path-hash function to improve delta-base
>> selection to produce a packfile with deeper history than window
>> size.
>> Comments?
>> source: <pull.1823.v3.git.1734715194.gitgitgadget@gmail.com>
>
> I'll poke the thread, too, but this seems to be the most promising
> topic in the area of better delta compression. The latest version
> does not have any comments.
>
> The only decision point I think remains is whether or not to
> include the last patch (--name-hash-version=3) which I would be
> happy either way.
I am happy with the updated function that gives us better of both
worlds, without losing too much from the "renamed from other
directory" while making sure we do not lose too many bits in deeper
trees.
Thanks.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: What's cooking in git.git (Jan 2025, #05; Fri, 17)
2025-01-18 0:42 What's cooking in git.git (Jan 2025, #05; Fri, 17) Junio C Hamano
` (2 preceding siblings ...)
2025-01-21 20:19 ` Derrick Stolee
@ 2025-01-22 16:44 ` Karthik Nayak
2025-01-22 17:28 ` Karthik Nayak
3 siblings, 1 reply; 23+ messages in thread
From: Karthik Nayak @ 2025-01-22 16:44 UTC (permalink / raw)
To: Junio C Hamano, git; +Cc: Johannes Schindelin
[-- Attachment #1: Type: text/plain, Size: 1133 bytes --]
Junio C Hamano <gitster@pobox.com> writes:
> * kn/reflog-migration-fix (2025-01-15) 1 commit
> (merged to 'next' on 2025-01-16 at ae8f9ce9a0)
> + reftable: write correct max_update_index to header
> (this branch is used by kn/reflog-migration-fix-followup.)
>
> "git refs migrate" for migrating reflog data was broken.
>
> Will merge to 'master'.
> cf. <Z4mUizLNUdq_1BgY@tapette.crustytoothpaste.net>
> source: <CAOLa=ZTL9n_DPhNr49XAd6bT838kc09oVx_AH7Pb4o8VK_xQ9w@mail.gmail.com>
This seems to be breaking on 'next'. I tested it locally with
GIT_TEST_DEFAULT_REF_FORMAT=reftable meson test -v --test-args='-i'
t1400-update-ref
my local tests were made on files backend, and it didn't trigger on the
CI either for some reason (I shall investigate that soon). But dscho
(CC'd) reported that macos builds for reftable were failing [1] for his
branch and I could bisect it to this.
I'm yet to understand why this fails and also why the CI didn't notify
of the issue. But that is something I shall do next. For now we need to
remove it from next.
[1]: https://github.com/dscho/git/actions/runs/12906424058/job/35987723223
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 690 bytes --]
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: What's cooking in git.git (Jan 2025, #05; Fri, 17)
2025-01-22 16:44 ` Karthik Nayak
@ 2025-01-22 17:28 ` Karthik Nayak
2025-01-22 17:38 ` Junio C Hamano
2025-01-23 17:22 ` Junio C Hamano
0 siblings, 2 replies; 23+ messages in thread
From: Karthik Nayak @ 2025-01-22 17:28 UTC (permalink / raw)
To: Junio C Hamano, git; +Cc: Johannes Schindelin
[-- Attachment #1: Type: text/plain, Size: 1671 bytes --]
Karthik Nayak <karthik.188@gmail.com> writes:
> Junio C Hamano <gitster@pobox.com> writes:
>
>> * kn/reflog-migration-fix (2025-01-15) 1 commit
>> (merged to 'next' on 2025-01-16 at ae8f9ce9a0)
>> + reftable: write correct max_update_index to header
>> (this branch is used by kn/reflog-migration-fix-followup.)
>>
>> "git refs migrate" for migrating reflog data was broken.
>>
>> Will merge to 'master'.
>> cf. <Z4mUizLNUdq_1BgY@tapette.crustytoothpaste.net>
>> source: <CAOLa=ZTL9n_DPhNr49XAd6bT838kc09oVx_AH7Pb4o8VK_xQ9w@mail.gmail.com>
>
> This seems to be breaking on 'next'. I tested it locally with
>
> GIT_TEST_DEFAULT_REF_FORMAT=reftable meson test -v --test-args='-i' t1400-update-ref
>
> my local tests were made on files backend, and it didn't trigger on the
> CI either for some reason (I shall investigate that soon). But dscho
> (CC'd) reported that macos builds for reftable were failing [1] for his
> branch and I could bisect it to this.
>
> I'm yet to understand why this fails and also why the CI didn't notify
> of the issue. But that is something I shall do next. For now we need to
> remove it from next.
>
> [1]: https://github.com/dscho/git/actions/runs/12906424058/job/35987723223
This is reproducible when the leak sanitizier is enabled and tested
against reftable:
So setting up meson with:
CC=clang meson setup --reconfigure -Db_sanitize=address,undefined build
and running the test in the build folder with:
GIT_TEST_DEFAULT_REF_FORMAT=reftable meson test -v
--test-args='-ixd' t1400-update-ref
reproduces the issue. I haven't found the root cause yet, but will
mostly call it a day and get back to this tomorrow.
Karthik
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 690 bytes --]
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: What's cooking in git.git (Jan 2025, #05; Fri, 17)
2025-01-22 17:28 ` Karthik Nayak
@ 2025-01-22 17:38 ` Junio C Hamano
2025-01-23 17:22 ` Junio C Hamano
1 sibling, 0 replies; 23+ messages in thread
From: Junio C Hamano @ 2025-01-22 17:38 UTC (permalink / raw)
To: Karthik Nayak; +Cc: git, Johannes Schindelin
Karthik Nayak <karthik.188@gmail.com> writes:
> Karthik Nayak <karthik.188@gmail.com> writes:
>
>> Junio C Hamano <gitster@pobox.com> writes:
>>
>>> * kn/reflog-migration-fix (2025-01-15) 1 commit
>>> (merged to 'next' on 2025-01-16 at ae8f9ce9a0)
>>> + reftable: write correct max_update_index to header
>>> (this branch is used by kn/reflog-migration-fix-followup.)
>>>
>>> "git refs migrate" for migrating reflog data was broken.
>>>
>>> Will merge to 'master'.
>>> cf. <Z4mUizLNUdq_1BgY@tapette.crustytoothpaste.net>
>>> source: <CAOLa=ZTL9n_DPhNr49XAd6bT838kc09oVx_AH7Pb4o8VK_xQ9w@mail.gmail.com>
>>
>> This seems to be breaking on 'next'. I tested it locally with
>>
>> GIT_TEST_DEFAULT_REF_FORMAT=reftable meson test -v --test-args='-i' t1400-update-ref
>>
>> my local tests were made on files backend, and it didn't trigger on the
>> CI either for some reason (I shall investigate that soon). But dscho
>> (CC'd) reported that macos builds for reftable were failing [1] for his
>> branch and I could bisect it to this.
>>
>> I'm yet to understand why this fails and also why the CI didn't notify
>> of the issue. But that is something I shall do next. For now we need to
>> remove it from next.
>>
>> [1]: https://github.com/dscho/git/actions/runs/12906424058/job/35987723223
>
> This is reproducible when the leak sanitizier is enabled and tested
> against reftable:
>
> So setting up meson with:
> CC=clang meson setup --reconfigure -Db_sanitize=address,undefined build
> and running the test in the build folder with:
> GIT_TEST_DEFAULT_REF_FORMAT=reftable meson test -v
> --test-args='-ixd' t1400-update-ref
>
> reproduces the issue. I haven't found the root cause yet, but will
> mostly call it a day and get back to this tomorrow.
Thanks. I'll mark the topic as on-hold.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: What's cooking in git.git (Jan 2025, #05; Fri, 17)
2025-01-21 20:30 ` Junio C Hamano
@ 2025-01-22 18:30 ` Taylor Blau
2025-01-22 22:13 ` Junio C Hamano
0 siblings, 1 reply; 23+ messages in thread
From: Taylor Blau @ 2025-01-22 18:30 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Derrick Stolee, git
On Tue, Jan 21, 2025 at 12:30:08PM -0800, Junio C Hamano wrote:
> Derrick Stolee <stolee@gmail.com> writes:
>
> > On 1/17/25 7:42 PM, Junio C Hamano wrote:
> >
> >> * ds/name-hash-tweaks (2024-12-20) 8 commits
> >> - pack-objects: add third name hash version
> >> - pack-objects: prevent name hash version change
> >> - test-tool: add helper for name-hash values
> >> - p5313: add size comparison test
> >> - pack-objects: add GIT_TEST_NAME_HASH_VERSION
> >> - repack: add --name-hash-version option
> >> - pack-objects: add --name-hash-version option
> >> - pack-objects: create new name-hash function version
> >> "git pack-objects" and its wrapper "git repack" learned an option
> >> to use an alternative path-hash function to improve delta-base
> >> selection to produce a packfile with deeper history than window
> >> size.
> >> Comments?
> >> source: <pull.1823.v3.git.1734715194.gitgitgadget@gmail.com>
> >
> > I'll poke the thread, too, but this seems to be the most promising
> > topic in the area of better delta compression. The latest version
> > does not have any comments.
> >
> > The only decision point I think remains is whether or not to
> > include the last patch (--name-hash-version=3) which I would be
> > happy either way.
>
> I am happy with the updated function that gives us better of both
> worlds, without losing too much from the "renamed from other
> directory" while making sure we do not lose too many bits in deeper
> trees.
I had a couple of thoughts that I meant to share before the holiday
break, and haven't quite had a chance to get to it now that I'm back at
my desk.
Let me try and find some time to respond to the latest round of this
series, and apologies for holding it up in the meantime.
Thanks,
Taylor
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: What's cooking in git.git (Jan 2025, #05; Fri, 17)
2025-01-22 18:30 ` Taylor Blau
@ 2025-01-22 22:13 ` Junio C Hamano
2025-01-23 23:05 ` Taylor Blau
0 siblings, 1 reply; 23+ messages in thread
From: Junio C Hamano @ 2025-01-22 22:13 UTC (permalink / raw)
To: Taylor Blau; +Cc: Derrick Stolee, git
Taylor Blau <me@ttaylorr.com> writes:
> On Tue, Jan 21, 2025 at 12:30:08PM -0800, Junio C Hamano wrote:
>> Derrick Stolee <stolee@gmail.com> writes:
>>
>> > On 1/17/25 7:42 PM, Junio C Hamano wrote:
>> >
>> >> * ds/name-hash-tweaks (2024-12-20) 8 commits
>> ...
>> I am happy with the updated function that gives us better of both
>> worlds, without losing too much from the "renamed from other
>> directory" while making sure we do not lose too many bits in deeper
>> trees.
>
> I had a couple of thoughts that I meant to share before the holiday
> break, and haven't quite had a chance to get to it now that I'm back at
> my desk.
>
> Let me try and find some time to respond to the latest round of this
> series, and apologies for holding it up in the meantime.
The topic has been stalled for unusually long time, so it won't hurt
too much for it to wait for a few more days, but it wouldn't be fair
to stall a topic further with just a promise to "try and find time"
forever. Let's say we'll go ahead by this weekend unless we hear
otherwise?
I am not ultra-happy with the last step, as I personally do not see
this different algorithm as "version" (in that people would always
want to use version N+1 over version N when both are available) but
as "variant" (in that there may be prefer to use variant N over
variant N+1 depending on the circumstances), but that may be just
the matter of terminology. What's important is to make sure we do
not mix two algorhtims up while creating a packfile.
Thanks.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: What's cooking in git.git (Jan 2025, #05; Fri, 17)
2025-01-22 17:28 ` Karthik Nayak
2025-01-22 17:38 ` Junio C Hamano
@ 2025-01-23 17:22 ` Junio C Hamano
2025-01-23 17:45 ` Patrick Steinhardt
1 sibling, 1 reply; 23+ messages in thread
From: Junio C Hamano @ 2025-01-23 17:22 UTC (permalink / raw)
To: Karthik Nayak; +Cc: git, Patrick Steinhardt
Karthik Nayak <karthik.188@gmail.com> writes:
> Karthik Nayak <karthik.188@gmail.com> writes:
>
>> Junio C Hamano <gitster@pobox.com> writes:
>>
>>> * kn/reflog-migration-fix (2025-01-15) 1 commit
>>> (merged to 'next' on 2025-01-16 at ae8f9ce9a0)
>>> + reftable: write correct max_update_index to header
>>> (this branch is used by kn/reflog-migration-fix-followup.)
>>> ...
>> This seems to be breaking on 'next'.
> ...
> reproduces the issue. I haven't found the root cause yet, but will
> mostly call it a day and get back to this tomorrow.
We have a handful of topics related to refs subsystem in flight,
and I am a bit lost here.
(1) kn/reflog-migration-fix (the above) was done as a "fix" for the
issue reported by brian in
https://lore.kernel.org/all/Z4UbkcmJAU1MT-Rs@tapette.crustytoothpaste.net/
(2) You mention that (1) is broken in the message I am responding
to. There is no known fix yet, so (1) needs to wait in 'next'
until it gets fixed.
(3) kn/reflog-migration-fix-followup is a code clean-up for (1); it
has to wait for (2) as well.
(4) kn/reflog-symref-fix is a fix for a different bug the commit
that introduced the bug (1) addresses. It can proceed
independently from the other topics.
(5) ps/reflog-migration-with-logall-fix is another fix for a
different bug introduced by the same series whose bugs are
addressed by (1) and (4). It can proceed independently from the
other topics.
The above is my current understanding; did I miss any other relevant
topics that are related to these efforts, and/or did I misunderstand
the dependencies among them?
If I am not misunderstanding the current status of these topics,
I'll be marking (4) and (5) for 'next'; I am undecided for (3).
Thanks.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: What's cooking in git.git (Jan 2025, #05; Fri, 17)
2025-01-23 17:22 ` Junio C Hamano
@ 2025-01-23 17:45 ` Patrick Steinhardt
2025-01-23 18:25 ` Junio C Hamano
2025-01-24 11:05 ` Karthik Nayak
0 siblings, 2 replies; 23+ messages in thread
From: Patrick Steinhardt @ 2025-01-23 17:45 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Karthik Nayak, git
On Thu, Jan 23, 2025 at 09:22:30AM -0800, Junio C Hamano wrote:
> Karthik Nayak <karthik.188@gmail.com> writes:
>
> > Karthik Nayak <karthik.188@gmail.com> writes:
> >
> >> Junio C Hamano <gitster@pobox.com> writes:
> >>
> >>> * kn/reflog-migration-fix (2025-01-15) 1 commit
> >>> (merged to 'next' on 2025-01-16 at ae8f9ce9a0)
> >>> + reftable: write correct max_update_index to header
> >>> (this branch is used by kn/reflog-migration-fix-followup.)
> >>> ...
> >> This seems to be breaking on 'next'.
> > ...
> > reproduces the issue. I haven't found the root cause yet, but will
> > mostly call it a day and get back to this tomorrow.
>
> We have a handful of topics related to refs subsystem in flight,
> and I am a bit lost here.
>
> (1) kn/reflog-migration-fix (the above) was done as a "fix" for the
> issue reported by brian in
> https://lore.kernel.org/all/Z4UbkcmJAU1MT-Rs@tapette.crustytoothpaste.net/
>
> (2) You mention that (1) is broken in the message I am responding
> to. There is no known fix yet, so (1) needs to wait in 'next'
> until it gets fixed.
>
> (3) kn/reflog-migration-fix-followup is a code clean-up for (1); it
> has to wait for (2) as well.
>
> (4) kn/reflog-symref-fix is a fix for a different bug the commit
> that introduced the bug (1) addresses. It can proceed
> independently from the other topics.
>
> (5) ps/reflog-migration-with-logall-fix is another fix for a
> different bug introduced by the same series whose bugs are
> addressed by (1) and (4). It can proceed independently from the
> other topics.
>
> The above is my current understanding; did I miss any other relevant
> topics that are related to these efforts, and/or did I misunderstand
> the dependencies among them?
>
> If I am not misunderstanding the current status of these topics,
> I'll be marking (4) and (5) for 'next'; I am undecided for (3).
Karthik has meanwhile sent a v2 [1] of the broken patch in (1) that
fixes the issue discovered in (2). Given that (1) has already been in
next, (2) probably needs to be rerolled to be a patch on top of what we
already have in next.
Other than that yes, I think (4) and (5) can be merged independently of
(1) to (3).
Patrick
[1]: <20250123135613.748916-1-karthik.188@gmail.com>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: What's cooking in git.git (Jan 2025, #05; Fri, 17)
2025-01-23 17:45 ` Patrick Steinhardt
@ 2025-01-23 18:25 ` Junio C Hamano
2025-01-24 11:05 ` Karthik Nayak
1 sibling, 0 replies; 23+ messages in thread
From: Junio C Hamano @ 2025-01-23 18:25 UTC (permalink / raw)
To: Patrick Steinhardt; +Cc: Karthik Nayak, git
Patrick Steinhardt <ps@pks.im> writes:
> Karthik has meanwhile sent a v2 [1] of the broken patch in (1) that
> fixes the issue discovered in (2). Given that (1) has already been in
> next, (2) probably needs to be rerolled to be a patch on top of what we
> already have in next.
>
> Other than that yes, I think (4) and (5) can be merged independently of
> (1) to (3).
Thanks for sanity checking me.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: What's cooking in git.git (Jan 2025, #05; Fri, 17)
2025-01-22 22:13 ` Junio C Hamano
@ 2025-01-23 23:05 ` Taylor Blau
2025-01-23 23:46 ` Junio C Hamano
0 siblings, 1 reply; 23+ messages in thread
From: Taylor Blau @ 2025-01-23 23:05 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Derrick Stolee, git
On Wed, Jan 22, 2025 at 02:13:07PM -0800, Junio C Hamano wrote:
> Taylor Blau <me@ttaylorr.com> writes:
>
> > On Tue, Jan 21, 2025 at 12:30:08PM -0800, Junio C Hamano wrote:
> >> Derrick Stolee <stolee@gmail.com> writes:
> >>
> >> > On 1/17/25 7:42 PM, Junio C Hamano wrote:
> >> >
> >> >> * ds/name-hash-tweaks (2024-12-20) 8 commits
> >> ...
> >> I am happy with the updated function that gives us better of both
> >> worlds, without losing too much from the "renamed from other
> >> directory" while making sure we do not lose too many bits in deeper
> >> trees.
> >
> > I had a couple of thoughts that I meant to share before the holiday
> > break, and haven't quite had a chance to get to it now that I'm back at
> > my desk.
> >
> > Let me try and find some time to respond to the latest round of this
> > series, and apologies for holding it up in the meantime.
>
> The topic has been stalled for unusually long time, so it won't hurt
> too much for it to wait for a few more days, but it wouldn't be fair
> to stall a topic further with just a promise to "try and find time"
> forever. Let's say we'll go ahead by this weekend unless we hear
> otherwise?
I agree, and I apologize for the delay. I prioritized this yesterday and
left some review which I think you have seen since sending this email.
> I am not ultra-happy with the last step, as I personally do not see
> this different algorithm as "version" (in that people would always
> want to use version N+1 over version N when both are available) but
> as "variant" (in that there may be prefer to use variant N over
> variant N+1 depending on the circumstances), but that may be just
> the matter of terminology. What's important is to make sure we do
> not mix two algorhtims up while creating a packfile.
Yeah, I think "variant" is probably more accurate, but I don't mind the
naming. I think having a unique identifier is important, but I am not
convinced that we need to introduce v2 and v3 at the same time. I would
rather see us unify behind a single approach to present a
clearer/smaller set of options to users.
Thanks,
Taylor
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: What's cooking in git.git (Jan 2025, #05; Fri, 17)
2025-01-23 23:05 ` Taylor Blau
@ 2025-01-23 23:46 ` Junio C Hamano
0 siblings, 0 replies; 23+ messages in thread
From: Junio C Hamano @ 2025-01-23 23:46 UTC (permalink / raw)
To: Taylor Blau; +Cc: Derrick Stolee, git
Taylor Blau <me@ttaylorr.com> writes:
> Yeah, I think "variant" is probably more accurate, but I don't mind the
> naming. I think having a unique identifier is important, but I am not
> convinced that we need to introduce v2 and v3 at the same time. I would
> rather see us unify behind a single approach to present a
> clearer/smaller set of options to users.
I agree with you that v2 is superiour most of the time over v1 and
v3. If we keep v3, then "version" is an awkward phrasing to use.
Some people with specialized needs may use "v3" while most people
who do nnot have to use "v1" are better off using "v2" not "v3".
If we were to drop v3, then "version" starts to make sense again, as
"v1" is kept primarily for backward compatibility, and those who can
afford to follow the latest can "upgrade" to "v2".
Perhaps we can first agree to drop the last step from the series,
keep calling these "versions", and then later add "v3" when we come
up with an algorithm that would perform better than "v2" in almost
all cases? I dunno.
Thanks.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: What's cooking in git.git (Jan 2025, #05; Fri, 17)
2025-01-23 17:45 ` Patrick Steinhardt
2025-01-23 18:25 ` Junio C Hamano
@ 2025-01-24 11:05 ` Karthik Nayak
2025-01-24 17:06 ` Junio C Hamano
1 sibling, 1 reply; 23+ messages in thread
From: Karthik Nayak @ 2025-01-24 11:05 UTC (permalink / raw)
To: Patrick Steinhardt, Junio C Hamano; +Cc: git
[-- Attachment #1: Type: text/plain, Size: 2457 bytes --]
Patrick Steinhardt <ps@pks.im> writes:
> On Thu, Jan 23, 2025 at 09:22:30AM -0800, Junio C Hamano wrote:
>> Karthik Nayak <karthik.188@gmail.com> writes:
>>
>> > Karthik Nayak <karthik.188@gmail.com> writes:
>> >
>> >> Junio C Hamano <gitster@pobox.com> writes:
>> >>
>> >>> * kn/reflog-migration-fix (2025-01-15) 1 commit
>> >>> (merged to 'next' on 2025-01-16 at ae8f9ce9a0)
>> >>> + reftable: write correct max_update_index to header
>> >>> (this branch is used by kn/reflog-migration-fix-followup.)
>> >>> ...
>> >> This seems to be breaking on 'next'.
>> > ...
>> > reproduces the issue. I haven't found the root cause yet, but will
>> > mostly call it a day and get back to this tomorrow.
>>
>> We have a handful of topics related to refs subsystem in flight,
>> and I am a bit lost here.
>>
>> (1) kn/reflog-migration-fix (the above) was done as a "fix" for the
>> issue reported by brian in
>> https://lore.kernel.org/all/Z4UbkcmJAU1MT-Rs@tapette.crustytoothpaste.net/
>>
>> (2) You mention that (1) is broken in the message I am responding
>> to. There is no known fix yet, so (1) needs to wait in 'next'
>> until it gets fixed.
>>
>> (3) kn/reflog-migration-fix-followup is a code clean-up for (1); it
>> has to wait for (2) as well.
>>
>> (4) kn/reflog-symref-fix is a fix for a different bug the commit
>> that introduced the bug (1) addresses. It can proceed
>> independently from the other topics.
>>
>> (5) ps/reflog-migration-with-logall-fix is another fix for a
>> different bug introduced by the same series whose bugs are
>> addressed by (1) and (4). It can proceed independently from the
>> other topics.
>>
>> The above is my current understanding; did I miss any other relevant
>> topics that are related to these efforts, and/or did I misunderstand
>> the dependencies among them?
>>
>> If I am not misunderstanding the current status of these topics,
>> I'll be marking (4) and (5) for 'next'; I am undecided for (3).
>
> Karthik has meanwhile sent a v2 [1] of the broken patch in (1) that
> fixes the issue discovered in (2). Given that (1) has already been in
> next, (2) probably needs to be rerolled to be a patch on top of what we
> already have in next.
>
> Other than that yes, I think (4) and (5) can be merged independently of
> (1) to (3).
>
> Patrick
>
> [1]: <20250123135613.748916-1-karthik.188@gmail.com>
This seems right, just providing another set of eyes here.
Thanks!
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 690 bytes --]
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: What's cooking in git.git (Jan 2025, #05; Fri, 17)
2025-01-24 11:05 ` Karthik Nayak
@ 2025-01-24 17:06 ` Junio C Hamano
0 siblings, 0 replies; 23+ messages in thread
From: Junio C Hamano @ 2025-01-24 17:06 UTC (permalink / raw)
To: Karthik Nayak; +Cc: Patrick Steinhardt, git
Karthik Nayak <karthik.188@gmail.com> writes:
> This seems right, just providing another set of eyes here.
Thanks for helping me out.
^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2025-01-24 17:06 UTC | newest]
Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-18 0:42 What's cooking in git.git (Jan 2025, #05; Fri, 17) Junio C Hamano
2025-01-18 13:15 ` Jeff King
2025-01-18 17:17 ` Junio C Hamano
2025-01-19 12:51 ` Jeff King
2025-01-19 12:55 ` Jeff King
2025-01-21 19:17 ` Junio C Hamano
2025-01-20 6:53 ` David Aguilar
2025-01-20 7:54 ` [PATCH] help: make help.autocorrect = 1 the same as "prompt" David Aguilar
2025-01-21 19:23 ` What's cooking in git.git (Jan 2025, #05; Fri, 17) Junio C Hamano
2025-01-21 20:19 ` Derrick Stolee
2025-01-21 20:30 ` Junio C Hamano
2025-01-22 18:30 ` Taylor Blau
2025-01-22 22:13 ` Junio C Hamano
2025-01-23 23:05 ` Taylor Blau
2025-01-23 23:46 ` Junio C Hamano
2025-01-22 16:44 ` Karthik Nayak
2025-01-22 17:28 ` Karthik Nayak
2025-01-22 17:38 ` Junio C Hamano
2025-01-23 17:22 ` Junio C Hamano
2025-01-23 17:45 ` Patrick Steinhardt
2025-01-23 18:25 ` Junio C Hamano
2025-01-24 11:05 ` Karthik Nayak
2025-01-24 17:06 ` Junio C Hamano
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 NNTP newsgroup(s).