mirror of
https://github.com/git/git.git
synced 2026-03-05 06:57:37 +01:00
What's cooking (2024/06 #01)
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
To: git@vger.kernel.org
|
||||
Subject: What's cooking in git.git (May 2024, #13; Thu, 30)
|
||||
X-master-at: 58bac47f8eb2c5e92e354f33ee079a244e5b5003
|
||||
X-next-at: 366b0e951c73ed6cf46e8bec53d1f3c71c34a718
|
||||
Subject: What's cooking in git.git (Jun 2024, #01; Mon, 3)
|
||||
X-master-at: 7b0defb3915eaa0bd118f0996e8c00b4eb2dc1ca
|
||||
X-next-at: 54c50866fa398a825f77bafc637bf933286c7385
|
||||
Bcc: lwn@lwn.net, gitster@pobox.com
|
||||
|
||||
What's cooking in git.git (May 2024, #13; Thu, 30)
|
||||
What's cooking in git.git (Jun 2024, #01; Mon, 3)
|
||||
--------------------------------------------------
|
||||
|
||||
Here are the topics that have been cooking in my tree. Commits
|
||||
@@ -17,15 +17,6 @@ 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 unfortunately had serious regressions in 2.45.1 (and below, down
|
||||
to 2.39 maintenance track are affected), and we are trying to assess
|
||||
the extent of damage and which changes that went into the release to
|
||||
revert. We know about "git lfs" and "git annex" getting affected.
|
||||
We have bunch of reverts planned to fix these regressions that are
|
||||
already in 'master'. Please test it if you think you're affected, so
|
||||
that we can have 2.45.2 and friends to fix these regressions early
|
||||
next month.
|
||||
|
||||
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.
|
||||
@@ -57,212 +48,129 @@ Release tarballs are available at:
|
||||
--------------------------------------------------
|
||||
[Graduated to 'master']
|
||||
|
||||
* es/chainlint-ncores-fix (2024-05-22) 3 commits
|
||||
(merged to 'next' on 2024-05-22 at 1e4ab85522)
|
||||
+ chainlint.pl: latch CPU count directly reported by /proc/cpuinfo
|
||||
+ chainlint.pl: fix incorrect CPU count on Linux SPARC
|
||||
+ chainlint.pl: make CPU count computation more robust
|
||||
* ps/fix-reinit-includeif-onbranch (2024-05-22) 1 commit
|
||||
(merged to 'next' on 2024-05-25 at 89c035186d)
|
||||
+ setup: fix bug with "includeIf.onbranch" when initializing dir
|
||||
|
||||
The chainlint script (invoked during "make test") did nothing when
|
||||
it failed to detect the number of available CPUs. It now falls
|
||||
back to 1 CPU to avoid the problem.
|
||||
source: <20240520190131.94904-1-ericsunshine@charter.net>
|
||||
"git init" in an already created directory, when the user
|
||||
configuration has includeif.onbranch, started to fail recently,
|
||||
which has been corrected.
|
||||
source: <cf182bb9ee7d4a7eb46e5dbf4f3ef5deb198d823.1716374321.git.ps@pks.im>
|
||||
|
||||
|
||||
* gt/unit-test-strcmp-offset (2024-05-20) 1 commit
|
||||
(merged to 'next' on 2024-05-23 at f672ec425f)
|
||||
+ t/: port helper/test-strcmp-offset.c to unit-tests/t-strcmp-offset.c
|
||||
* th/push-local-ff-check-without-lazy-fetch (2024-05-22) 1 commit
|
||||
(merged to 'next' on 2024-05-25 at 520b6b2897)
|
||||
+ push: don't fetch commit object when checking existence
|
||||
|
||||
The strcmp-offset tests have been rewritten using the unit test
|
||||
framework.
|
||||
source: <20240519204530.12258-3-shyamthakkar001@gmail.com>
|
||||
|
||||
|
||||
* jc/add-patch-enforce-single-letter-input (2024-05-22) 1 commit
|
||||
(merged to 'next' on 2024-05-23 at 12fef48392)
|
||||
+ add-patch: enforce only one-letter response to prompts
|
||||
|
||||
"git add -p" learned to complain when an answer with more than one
|
||||
letter is given to a prompt that expects a single letter answer.
|
||||
source: <xmqqh6ep1pwz.fsf_-_@gitster.g>
|
||||
|
||||
|
||||
* jc/fix-2.45.1-and-friends-for-2.39 (2024-05-22) 12 commits
|
||||
+ Revert "fsck: warn about symlink pointing inside a gitdir"
|
||||
+ Revert "Add a helper function to compare file contents"
|
||||
+ clone: drop the protections where hooks aren't run
|
||||
+ tests: verify that `clone -c core.hooksPath=/dev/null` works again
|
||||
+ Revert "core.hooksPath: add some protection while cloning"
|
||||
+ init: use the correct path of the templates directory again
|
||||
+ hook: plug a new memory leak
|
||||
+ ci: stop installing "gcc-13" for osx-gcc
|
||||
+ ci: avoid bare "gcc" for osx-gcc job
|
||||
+ ci: drop mention of BREW_INSTALL_PACKAGES variable
|
||||
+ send-email: avoid creating more than one Term::ReadLine object
|
||||
+ send-email: drop FakeTerm hack
|
||||
(this branch is used by jc/fix-2.45.1-and-friends-for-maint.)
|
||||
|
||||
Revert overly aggressive "layered defence" that went into 2.45.1
|
||||
and friends, which broke "git-lfs", "git-annex", and other use
|
||||
cases, so that we can rebuild necessary counterparts in the open.
|
||||
source: <20240521195659.870714-1-gitster@pobox.com>
|
||||
|
||||
|
||||
* jc/fix-2.45.1-and-friends-for-maint (2024-05-24) 6 commits
|
||||
(merged to 'next' on 2024-05-25 at a090491028)
|
||||
+ Merge branch 'fixes/2.45.1/2.44' into jc/fix-2.45.1-and-friends-for-maint
|
||||
+ Merge branch 'fixes/2.45.1/2.43' into fixes/2.45.1/2.44
|
||||
+ Merge branch 'fixes/2.45.1/2.42' into fixes/2.45.1/2.43
|
||||
+ Merge branch 'fixes/2.45.1/2.41' into fixes/2.45.1/2.42
|
||||
+ Merge branch 'fixes/2.45.1/2.40' into fixes/2.45.1/2.41
|
||||
+ Merge branch 'jc/fix-2.45.1-and-friends-for-2.39' into fixes/2.45.1/2.40
|
||||
(this branch uses jc/fix-2.45.1-and-friends-for-2.39.)
|
||||
|
||||
Adjust jc/fix-2.45.1-and-friends-for-2.39 for more recent
|
||||
maintenance track.
|
||||
|
||||
|
||||
* jc/undecided-is-not-necessarily-sha1-fix (2024-05-21) 6 commits
|
||||
(merged to 'next' on 2024-05-22 at 4bd7982ebe)
|
||||
+ 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.
|
||||
source: <20240520231434.1816979-1-gitster@pobox.com>
|
||||
|
||||
|
||||
* js/doc-decisions (2024-05-17) 1 commit
|
||||
(merged to 'next' on 2024-05-22 at 891a062720)
|
||||
+ doc: describe the project's decision-making process
|
||||
|
||||
The project decision making policy has been documented.
|
||||
source: <10f217915600eda3ebec886e4f020f87c22e318a.1715978031.git.steadmon@google.com>
|
||||
|
||||
|
||||
* ps/refs-without-the-repository-updates (2024-05-17) 17 commits
|
||||
(merged to 'next' on 2024-05-22 at 744f37ab2b)
|
||||
+ 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
|
||||
(this branch is used by ps/ref-storage-migration.)
|
||||
|
||||
Further clean-up the refs subsystem to stop relying on
|
||||
the_repository, and instead use the repository associated to the
|
||||
ref_store object.
|
||||
source: <cover.1715929858.git.ps@pks.im>
|
||||
|
||||
|
||||
* ps/reftable-reusable-iterator (2024-05-13) 13 commits
|
||||
(merged to 'next' on 2024-05-22 at b92eb9939f)
|
||||
+ 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.1715589670.git.ps@pks.im>
|
||||
|
||||
|
||||
* ps/reftable-write-options (2024-05-13) 11 commits
|
||||
(merged to 'next' on 2024-05-22 at ae8e378430)
|
||||
+ 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.
|
||||
source: <cover.1715587849.git.ps@pks.im>
|
||||
|
||||
|
||||
* 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.
|
||||
source: <cover.1715057362.git.ps@pks.im>
|
||||
When "git push" notices that the commit at the tip of the ref on
|
||||
the other side it is about to overwrite does not exist locally, it
|
||||
used to first try fetching it if the local repository is a partial
|
||||
clone. The command has been taught not to do so and immediately
|
||||
fail instead.
|
||||
source: <20240522201559.1677959-1-tom@compton.nu>
|
||||
|
||||
--------------------------------------------------
|
||||
[New Topics]
|
||||
|
||||
* jk/sparse-leakfix (2024-05-31) 14 commits
|
||||
- sparse-checkout: free duplicate hashmap entries
|
||||
- sparse-checkout: free string list after displaying
|
||||
- sparse-checkout: free pattern list in sparse_checkout_list()
|
||||
- sparse-checkout: free sparse_filename after use
|
||||
- sparse-checkout: refactor temporary sparse_checkout_patterns
|
||||
- sparse-checkout: always free "line" strbuf after reading input
|
||||
- sparse-checkout: reuse --stdin buffer when reading patterns
|
||||
- dir.c: always copy input to add_pattern()
|
||||
- dir.c: free removed sparse-pattern hashmap entries
|
||||
- sparse-checkout: clear patterns when init() sees existing sparse file
|
||||
- dir.c: free strings in sparse cone pattern hashmaps
|
||||
- sparse-checkout: pass string literals directly to add_pattern()
|
||||
- sparse-checkout: free string list in write_cone_to_file()
|
||||
- Merge branch 'jk/leakfixes' into jk/sparse-leakfix
|
||||
(this branch uses jk/leakfixes and ps/leakfixes.)
|
||||
|
||||
Many memory leaks in the sparse-checkout code paths have been
|
||||
plugged.
|
||||
|
||||
Will merge to 'next'?
|
||||
source: <20240531112433.GA428583@coredump.intra.peff.net>
|
||||
|
||||
|
||||
* jk/cap-exclude-file-size (2024-05-31) 1 commit
|
||||
- dir.c: skip .gitignore, etc larger than INT_MAX
|
||||
|
||||
An overly large ".gitignore" files are now rejected silently.
|
||||
|
||||
Will merge to 'next'.
|
||||
source: <20240531120034.GA442032@coredump.intra.peff.net>
|
||||
|
||||
|
||||
* ps/leakfixes-more (2024-06-03) 30 commits
|
||||
- builtin/blame: fix leaking ignore revs files
|
||||
- builtin/blame: fix leaking prefixed paths
|
||||
- blame: fix leaking data for blame scoreboards
|
||||
- line-range: plug leaking find functions
|
||||
- merge: fix leaking merge bases
|
||||
- builtin/merge: fix leaking `struct cmdnames` in `get_strategy()`
|
||||
- sequencer: fix memory leaks in `make_script_with_merges()`
|
||||
- builtin/clone: plug leaking HEAD ref in `wanted_peer_refs()`
|
||||
- apply: fix leaking string in `match_fragment()`
|
||||
- sequencer: fix leaking string buffer in `commit_staged_changes()`
|
||||
- commit: fix leaking parents when calling `commit_tree_extended()`
|
||||
- config: fix leaking "core.notesref" variable
|
||||
- rerere: fix various trivial leaks
|
||||
- builtin/stash: fix leak in `show_stash()`
|
||||
- revision: free diff options
|
||||
- builtin/log: fix leaking commit list in git-cherry(1)
|
||||
- merge-recursive: fix memory leak when finalizing merge
|
||||
- builtin/merge-recursive: fix leaking object ID bases
|
||||
- builtin/difftool: plug memory leaks in `run_dir_diff()`
|
||||
- object-name: free leaking object contexts
|
||||
- builtin/rev-list: fix leaking bitmap index when calculating disk usage
|
||||
- notes: fix memory leak when pruning notes
|
||||
- revision: fix leaking display notes
|
||||
- merge-recursive: fix leaging rename conflict info
|
||||
- biultin/rev-parse: fix memory leaks in `--parseopt` mode
|
||||
- bundle: plug leaks in `create_bundle()`
|
||||
- notes-utils: free note trees when releasing copied notes
|
||||
- parse-options: fix leaks for users of OPT_FILENAME
|
||||
- revision: fix memory leak when reversing revisions
|
||||
- Merge branch 'ps/leakfixes' into ps/leakfixes-more
|
||||
(this branch uses ps/leakfixes.)
|
||||
|
||||
More memory leaks have been plugged.
|
||||
|
||||
Needs review.
|
||||
source: <cover.1717402439.git.ps@pks.im>
|
||||
|
||||
--------------------------------------------------
|
||||
[Cooking]
|
||||
|
||||
* gt/decorate-unit-test (2024-05-28) 1 commit
|
||||
- t/: migrate helper/test-example-decorate to the unit testing framework
|
||||
|
||||
A test helper that essentially is unit tests on the "decorate"
|
||||
logic has been rewritten using the unit-tests framework.
|
||||
|
||||
Needs review?
|
||||
Will merge to 'next'?
|
||||
source: <20240528125837.31090-1-shyamthakkar001@gmail.com>
|
||||
|
||||
|
||||
* jc/safe-directory-leading-path (2024-05-29) 1 commit
|
||||
- safe.directory: allow "lead/ing/path/*" match
|
||||
|
||||
The safe.directory configuration knob has been updated to
|
||||
optionally allow leading path matches.
|
||||
|
||||
Will merge to 'next'.
|
||||
source: <xmqqplt4zjw7.fsf@gitster.g>
|
||||
|
||||
|
||||
* ps/no-writable-strings (2024-05-30) 21 commits
|
||||
- SQUASH???
|
||||
* ps/no-writable-strings (2024-06-03) 28 commits
|
||||
- config.mak.dev: enable `-Wwrite-strings` warning
|
||||
- builtin/merge: always store allocated strings in `pull_twohead`
|
||||
- builtin/rebase: adapt code to not assign string constants to non-const
|
||||
- builtin/rebase: always store allocated string in `options.strategy`
|
||||
- builtin/rebase: do not assign default backend to non-constant field
|
||||
- imap-send: fix leaking memory in `imap_server_conf`
|
||||
- imap-send: drop global `imap_server_conf` variable
|
||||
- mailmap: always store allocated strings in mailmap blob
|
||||
@@ -270,19 +178,29 @@ Release tarballs are available at:
|
||||
- remote-curl: avoid assigning string constant to non-const variable
|
||||
- send-pack: always allocate receive status
|
||||
- parse-options: cast long name for OPTION_ALIAS
|
||||
- object-file: make `buf` parameter of `index_mem()` a constant
|
||||
- line-log: always allocate the output prefix
|
||||
- http: do not assign string constant to non-const field
|
||||
- refspec: remove global tag refspec structure
|
||||
- reftable: improve const correctness when assigning string constants
|
||||
- compat/win32: fix const-correctness with string constants
|
||||
- pretty: add casts for decoration option pointers
|
||||
- object-file: make `buf` parameter of `index_mem()` a constant
|
||||
- object-file: mark cached object buffers as const
|
||||
- ident: add casts for fallback name and GECOS
|
||||
- entry: refactor how we remove items for delayed checkouts
|
||||
- line-log: always allocate the output prefix
|
||||
- line-log: stop assigning string constant to file parent buffer
|
||||
- diff: cast string constant in `fill_textconv()`
|
||||
- builtin/remote: cast away constness in `get_head_names()`
|
||||
- refspec: remove global tag refspec structure
|
||||
- reftable: cast away constness when assigning constants to records
|
||||
- refs/reftable: stop micro-optimizing refname allocations on copy
|
||||
- global: convert intentionally-leaking config strings to consts
|
||||
- global: assign non-const strings as required
|
||||
- global: improve const correctness when assigning string constants
|
||||
- Merge branch 'ps/leakfixes' into ps/no-writable-strings
|
||||
(this branch uses ps/leakfixes.)
|
||||
|
||||
source: <cover.1716983704.git.ps@pks.im>
|
||||
Building with "-Werror -Wwrite-strings" is now supported.
|
||||
|
||||
Needs review.
|
||||
source: <cover.1717402403.git.ps@pks.im>
|
||||
|
||||
|
||||
* cp/reftable-unit-test (2024-05-30) 5 commits
|
||||
@@ -292,28 +210,39 @@ Release tarballs are available at:
|
||||
- t: move tests from reftable/stack_test.c to the new unit test
|
||||
- t: move reftable/basics_test.c to the unit testing framework
|
||||
|
||||
Reimplement basic unit tests for reftable under the unit test
|
||||
framework.
|
||||
|
||||
Will merge to 'next'.
|
||||
source: <20240529171439.18271-1-chandrapratap3519@gmail.com>
|
||||
|
||||
|
||||
* jc/t1517-more (2024-05-30) 1 commit
|
||||
- t1517: more coverage for commands that work without repository
|
||||
* jc/t1517-more (2024-05-31) 1 commit
|
||||
(merged to 'next' on 2024-06-03 at 10b71e2a60)
|
||||
+ t1517: more coverage for commands that work without repository
|
||||
|
||||
source: <xmqqbk4np77d.fsf@gitster.g>
|
||||
"smoke tests" to ensure git commands that are designed to run
|
||||
outside repositories do work.
|
||||
|
||||
Will merge to 'master'.
|
||||
source: <xmqqwmnajrrk.fsf@gitster.g>
|
||||
|
||||
|
||||
* jk/leakfixes (2024-05-30) 6 commits
|
||||
- mv: replace src_dir with a strvec
|
||||
- mv: factor out empty src_dir removal
|
||||
- mv: move src_dir cleanup to end of cmd_mv()
|
||||
- t-strvec: mark variable-arg helper with LAST_ARG_MUST_BE_NULL
|
||||
- t-strvec: use va_end() to match va_start()
|
||||
- Merge branch 'ps/leakfixes' into jk/leakfixes
|
||||
(this branch uses ps/leakfixes.)
|
||||
(merged to 'next' on 2024-06-03 at 1e8a6276a1)
|
||||
+ mv: replace src_dir with a strvec
|
||||
+ mv: factor out empty src_dir removal
|
||||
+ mv: move src_dir cleanup to end of cmd_mv()
|
||||
+ t-strvec: mark variable-arg helper with LAST_ARG_MUST_BE_NULL
|
||||
+ t-strvec: use va_end() to match va_start()
|
||||
+ Merge branch 'ps/leakfixes' into jk/leakfixes
|
||||
(this branch is used by jk/sparse-leakfix; uses ps/leakfixes.)
|
||||
|
||||
Memory leaks in "git mv" has been plugged.
|
||||
|
||||
Will merge to 'master'.
|
||||
source: <20240530063857.GA1942535@coredump.intra.peff.net>
|
||||
|
||||
--------------------------------------------------
|
||||
[Cooking]
|
||||
|
||||
* gt/t-hash-unit-test (2024-05-29) 2 commits
|
||||
- t/: migrate helper/test-{sha1, sha256} to unit-tests/t-hash
|
||||
@@ -377,27 +306,30 @@ Release tarballs are available at:
|
||||
source: <20240524163926.2019648-1-christian.couder@gmail.com>
|
||||
|
||||
|
||||
* iw/trace-argv-on-alias (2024-05-27) 4 commits
|
||||
- SQUASH???
|
||||
- run-command: show prepared command
|
||||
- Documentation: alias: add notes on shell expansion
|
||||
- Documentation: alias: rework notes into points
|
||||
* iw/trace-argv-on-alias (2024-05-31) 3 commits
|
||||
(merged to 'next' on 2024-06-03 at 190af38284)
|
||||
+ run-command: show prepared command
|
||||
+ Documentation: alias: add notes on shell expansion
|
||||
+ Documentation: alias: rework notes into points
|
||||
|
||||
Log the alias-expanded command lines to the trace output.
|
||||
|
||||
Will merge to 'next' after squashing the fix in?
|
||||
Will merge to 'master'.
|
||||
source: <20240525234454.1489598-1-iwienand@redhat.com>
|
||||
|
||||
|
||||
* ps/document-breaking-changes (2024-05-24) 1 commit
|
||||
- docs: document upcoming breaking changes
|
||||
* ps/document-breaking-changes (2024-06-03) 4 commits
|
||||
- BreakingChanges: document that we do not plan to deprecate git-checkout
|
||||
- BreakingChanges: document removal of grafting
|
||||
- BreakingChanges: document upcoming change from "sha1" to "sha256"
|
||||
- docs: introduce document to announce breaking changes
|
||||
|
||||
The structure of the document that records longer-term project
|
||||
decisions to deprecate/remove/update various behaviour has been
|
||||
outlined.
|
||||
|
||||
Under discussion.
|
||||
source: <84c01f1b0a2d24d7de912606f548623601c0d715.1716555034.git.ps@pks.im>
|
||||
source: <cover.1717402497.git.ps@pks.im>
|
||||
|
||||
|
||||
* ps/leakfixes (2024-05-27) 19 commits
|
||||
@@ -421,7 +353,7 @@ Release tarballs are available at:
|
||||
+ checkout: clarify memory ownership in `unique_tracking_name()`
|
||||
+ strbuf: fix leak when `appendwholeline()` fails with EOF
|
||||
+ transport-helper: fix leaking helper name
|
||||
(this branch is used by jk/leakfixes and ps/no-writable-strings.)
|
||||
(this branch is used by jk/leakfixes, jk/sparse-leakfix, ps/leakfixes-more and ps/no-writable-strings.)
|
||||
|
||||
Leakfixes.
|
||||
|
||||
@@ -429,7 +361,7 @@ Release tarballs are available at:
|
||||
source: <cover.1716810168.git.ps@pks.im>
|
||||
|
||||
|
||||
* ps/ref-storage-migration (2024-05-28) 14 commits
|
||||
* ps/ref-storage-migration (2024-06-03) 14 commits
|
||||
- builtin/refs: new command to migrate ref storage formats
|
||||
- refs: implement logic to migrate between ref storage formats
|
||||
- refs: implement removal of ref storages
|
||||
@@ -448,72 +380,60 @@ Release tarballs are available at:
|
||||
Allow migrating a repository that uses the files backend for its
|
||||
ref storage to use the reftable backend, with limitations.
|
||||
|
||||
Will merge to 'next'.
|
||||
source: <cover.1716877224.git.ps@pks.im>
|
||||
Will merge to 'next'?
|
||||
source: <cover.1717402363.git.ps@pks.im>
|
||||
|
||||
|
||||
* tb/midx-write-cleanup (2024-05-30) 8 commits
|
||||
- pack-bitmap.c: reimplement `midx_bitmap_filename()` with helper
|
||||
- midx: replace `get_midx_rev_filename()` with a generic helper
|
||||
- midx-write.c: support reading an existing MIDX with `packs_to_include`
|
||||
- midx-write.c: extract `fill_packs_from_midx()`
|
||||
- midx-write.c: extract `should_include_pack()`
|
||||
- midx-write.c: pass `start_pack` to `compute_sorted_entries()`
|
||||
- midx-write.c: reduce argument count for `get_sorted_entries()`
|
||||
- midx-write.c: tolerate `--preferred-pack` without bitmaps
|
||||
(merged to 'next' on 2024-05-31 at 03f3d27e4f)
|
||||
+ pack-bitmap.c: reimplement `midx_bitmap_filename()` with helper
|
||||
+ midx: replace `get_midx_rev_filename()` with a generic helper
|
||||
+ midx-write.c: support reading an existing MIDX with `packs_to_include`
|
||||
+ midx-write.c: extract `fill_packs_from_midx()`
|
||||
+ midx-write.c: extract `should_include_pack()`
|
||||
+ midx-write.c: pass `start_pack` to `compute_sorted_entries()`
|
||||
+ midx-write.c: reduce argument count for `get_sorted_entries()`
|
||||
+ midx-write.c: tolerate `--preferred-pack` without bitmaps
|
||||
|
||||
Code clean-up around writing the .midx files.
|
||||
|
||||
Will merge to 'next'.
|
||||
Will merge to 'master'.
|
||||
source: <cover.1717023301.git.me@ttaylorr.com>
|
||||
|
||||
|
||||
* tb/pseudo-merge-reachability-bitmap (2024-05-24) 25 commits
|
||||
- t/perf: implement performance 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 `--notick` 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
|
||||
- pseudo-merge: implement support for selecting pseudo-merge commits
|
||||
- config: introduce `git_config_double()`
|
||||
- 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()`
|
||||
- ewah: implement `ewah_bitmap_is_subset()`
|
||||
- Documentation/technical: describe pseudo-merge bitmaps format
|
||||
- Documentation/gitpacking.txt: describe pseudo-merge bitmaps
|
||||
- Documentation/gitpacking.txt: initial commit
|
||||
- Merge branch 'tb/pack-bitmap-write-cleanups' into tb/pseudo-merge-reachability-bitmap
|
||||
(merged to 'next' on 2024-06-03 at fcaa39de12)
|
||||
+ t/perf: implement performance 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 `--notick` 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
|
||||
+ pseudo-merge: implement support for selecting pseudo-merge commits
|
||||
+ config: introduce `git_config_double()`
|
||||
+ 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()`
|
||||
+ ewah: implement `ewah_bitmap_is_subset()`
|
||||
+ Documentation/technical: describe pseudo-merge bitmaps format
|
||||
+ Documentation/gitpacking.txt: describe pseudo-merge bitmaps
|
||||
+ Documentation/gitpacking.txt: initial commit
|
||||
+ Merge branch 'tb/pack-bitmap-write-cleanups' into tb/pseudo-merge-reachability-bitmap
|
||||
|
||||
The pseudo-merge reachability bitmap to help more efficient storage
|
||||
of the reachability bitmap in a repository with too many refs.
|
||||
|
||||
Will merge to 'next'?
|
||||
source: <cover.1716499565.git.me@ttaylorr.com>
|
||||
|
||||
|
||||
* th/push-local-ff-check-without-lazy-fetch (2024-05-22) 1 commit
|
||||
(merged to 'next' on 2024-05-25 at 520b6b2897)
|
||||
+ push: don't fetch commit object when checking existence
|
||||
|
||||
When "git push" notices that the commit at the tip of the ref on
|
||||
the other side it is about to overwrite does not exist locally, it
|
||||
used to first try fetching it if the local repository is a partial
|
||||
clone. The command has been taught not to do so and immediately
|
||||
fail instead.
|
||||
|
||||
Will merge to 'master'.
|
||||
source: <20240522201559.1677959-1-tom@compton.nu>
|
||||
source: <cover.1716499565.git.me@ttaylorr.com>
|
||||
|
||||
|
||||
* th/quiet-lazy-fetch-from-promisor (2024-05-26) 1 commit
|
||||
@@ -527,18 +447,6 @@ Release tarballs are available at:
|
||||
source: <20240525100927.2949808-1-tom@compton.nu>
|
||||
|
||||
|
||||
* ps/fix-reinit-includeif-onbranch (2024-05-22) 1 commit
|
||||
(merged to 'next' on 2024-05-25 at 89c035186d)
|
||||
+ setup: fix bug with "includeIf.onbranch" when initializing dir
|
||||
|
||||
"git init" in an already created directory, when the user
|
||||
configuration has includeif.onbranch, started to fail recently,
|
||||
which has been corrected.
|
||||
|
||||
Will merge to 'master'.
|
||||
source: <cf182bb9ee7d4a7eb46e5dbf4f3ef5deb198d823.1716374321.git.ps@pks.im>
|
||||
|
||||
|
||||
* kn/update-ref-symref (2024-05-30) 7 commits
|
||||
- update-ref: add support for 'symref-update' command
|
||||
- reftable: pick either 'oid' or 'target' for new updates
|
||||
@@ -577,17 +485,12 @@ Release tarballs are available at:
|
||||
source: <pull.1719.v2.git.git.1715967267420.gitgitgadget@gmail.com>
|
||||
|
||||
|
||||
* tb/precompose-getcwd (2024-05-21) 1 commit
|
||||
* tb/precompose-getcwd (2024-05-31) 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.
|
||||
|
||||
Reverted out of 'next' to be replaced with an updated version (this one).
|
||||
Expectign a reroll to clarify the proposed log message.
|
||||
cf. <20240520160601.GA29154@tb-raspi4>
|
||||
cf. <20240521205749.GA8165@tb-raspi4>
|
||||
source: <20240521141452.26210-1-tboegi@web.de>
|
||||
source: <20240531193156.28046-1-tboegi@web.de>
|
||||
|
||||
|
||||
* pw/rebase-i-error-message (2024-05-30) 2 commits
|
||||
@@ -611,7 +514,7 @@ Release tarballs are available at:
|
||||
The hashtable library "khash.h" has been replaced with "khashl.h"
|
||||
that has better memory usage characteristics.
|
||||
|
||||
Needs review.
|
||||
Will discard.
|
||||
cf. <xmqqy1a4ao3t.fsf@gitster.g>
|
||||
source: <20240328101356.300374-1-e@80x24.org>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user