From 0af26528cb04d21e9048ee35edeca0e73a2442cf Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 20 May 2024 07:14:40 +0200 Subject: Merging debian version 1:2.45.1-1. Signed-off-by: Daniel Baumann --- debian/changelog | 12 + debian/changelog.upstream | 1881 +++++++++++++++++++- debian/copyright | 7 +- .../patches/0001-hook-plug-a-new-memory-leak.diff | 34 + ....hooksPath-add-some-protection-while-cloni.diff | 82 + ...y-that-clone-c-core.hooksPath-dev-null-wor.diff | 48 + ...04-hook-clone-protections-add-escape-hatch.diff | 182 ++ ...-protections-special-case-current-Git-LFS-.diff | 82 + ...-protections-simplify-templates-hooks-vali.diff | 198 +++ ...a-helper-function-to-compare-file-contents.diff | 185 ++ debian/patches/series | 7 + debian/versions.upstream | 17 + 12 files changed, 2716 insertions(+), 19 deletions(-) create mode 100644 debian/patches/0001-hook-plug-a-new-memory-leak.diff create mode 100644 debian/patches/0002-Revert-core.hooksPath-add-some-protection-while-cloni.diff create mode 100644 debian/patches/0003-tests-verify-that-clone-c-core.hooksPath-dev-null-wor.diff create mode 100644 debian/patches/0004-hook-clone-protections-add-escape-hatch.diff create mode 100644 debian/patches/0005-hooks-clone-protections-special-case-current-Git-LFS-.diff create mode 100644 debian/patches/0006-hooks-clone-protections-simplify-templates-hooks-vali.diff create mode 100644 debian/patches/0007-Revert-Add-a-helper-function-to-compare-file-contents.diff create mode 100644 debian/patches/series diff --git a/debian/changelog b/debian/changelog index 16c199d..0c60561 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,15 @@ +git (1:2.45.1-1) unstable; urgency=medium + + * new upstream release (see RelNotes/2.44.0.txt, RelNotes/2.45.0.txt). + * new upstream point release (see RelNotes/2.45.1.txt; addresses + CVE-2024-32002, CVE-2024-32004, CVE-2024-32020, CVE-2024-32021 and + CVE-2024-32465; closes: #1071160). + * debian/patches/0001..0007: new from upstream: followups intended + for v2.45.2 to avoid regressions from the fixes included in + v2.45.1 (thx Johannes Schindelin). + + -- Jonathan Nieder Mon, 20 May 2024 03:36:58 +0000 + git (1:2.43.0-1~progress7.99u1) graograman-backports; urgency=low * Initial reupload to graograman-backports. diff --git a/debian/changelog.upstream b/debian/changelog.upstream index 69e5ac8..2342f06 100644 --- a/debian/changelog.upstream +++ b/debian/changelog.upstream @@ -1,3 +1,1627 @@ +Version v2.45.1; changes since v2.45.0: +--------------------------------------- + +Filip Hejsek (4): + t0411: add tests for cloning from partial repo + has_dir_name(): do not get confused by characters < '/' + t7423: add tests for symlinked submodule directories + clone: prevent clashing git dirs when cloning submodule in parallel + +Jeff King (6): + http: reset POSTFIELDSIZE when clearing curl handle + INSTALL: bump libcurl version to 7.21.3 + remote-curl: add Transfer-Encoding header only for older curl + test-lib: ignore uninteresting LSan output + upload-pack: disable lazy-fetching by default + docs: document security issues around untrusted .git dirs + +Johannes Schindelin (26): + repository: avoid leaking `fsmonitor` data + ci: upgrade to using macos-13 + ci(linux-asan/linux-ubsan): let's save some time + ci: bump remaining outdated Actions versions + ci(linux32): add a note about Actions that must not be updated + fetch/clone: detect dubious ownership of local repositories + submodules: submodule paths must not contain symlinks + clone_submodule: avoid using `access()` on directories + submodule: require the submodule path to contain directories only + t5510: verify that D/F confusion cannot lead to an RCE + entry: report more colliding paths + clone: when symbolic links collide with directories, keep the latter + find_hook(): refactor the `STRIP_EXTENSION` logic + init: refactor the template directory discovery into its own function + Add a helper function to compare file contents + clone: prevent hooks from running during a clone + init.templateDir: consider this config setting protected + core.hooksPath: add some protection while cloning + fsck: warn about symlink pointing inside a gitdir + Git 2.39.4 + Git 2.40.2 + Git 2.41.1 + Git 2.42.2 + Git 2.43.4 + Git 2.44.1 + Git 2.45.1 + +Junio C Hamano (2): + GitHub Actions: update to checkout@v4 + GitHub Actions: update to github-script@v7 + +Patrick Steinhardt (4): + builtin/clone: stop resolving symlinks when copying files + builtin/clone: abort when hardlinked source and target file differ + setup.c: introduce `die_upon_dubious_ownership()` + builtin/clone: refuse local clones of unsafe repositories + + +Version v2.45.0; changes since v2.45.0-rc1: +------------------------------------------- + +Alexander Shopov (1): + l10n: bg.po: Updated Bulgarian translation (5652t) + +Arkadii Yakovets (1): + l10n: uk: v2.45 update + +Bagas Sanjaya (1): + l10n: po-id for 2.45 + +Emir SARI (1): + l10n: tr: Update Turkish translations + +Jean-Noël Avila (1): + l10n: fr: v2.45.0 + +Jiang Xin (1): + l10n: TEAMS: retire l10n teams no update in 1 year + +Junio C Hamano (1): + Git 2.45 + +Peter Krefting (1): + l10n: sv.po: Update Swedish translation + +Ralf Thielow (1): + l10n: Update German translation + +René Scharfe (1): + don't report vsnprintf(3) error as bug + +Rubén Justo (4): + apply: plug a leak in apply_data + add-interactive: plug a leak in get_untracked_files + add-patch: plug a leak handling the '/' command + add: plug a leak on interactive_add + +Taylor Blau (1): + Documentation/RelNotes/2.45.0.txt: fix typo + +Teng Long (1): + l10n: zh_CN: for git 2.45 rounds + +Vũ Tiến Hưng (2): + l10n: Update Vietnamese team contact + l10n: vi: Updated translation for 2.45 + +Yi-Jyun Pan (1): + l10n: zh-TW: Git 2.45 + + +Version v2.45.0-rc1; changes since v2.45.0-rc0: +----------------------------------------------- + +Junio C Hamano (2): + A bit more topics before -rc1 + Git 2.45-rc1 + +Linus Arver (5): + format_trailer_info(): use trailer_item objects + format_trailer_info(): drop redundant unfold_value() + format_trailer_info(): append newline for non-trailer lines + trailer: begin formatting unification + trailer: finish formatting unification + +Marcel Röthke (1): + rerere: fix crashes due to unmatched opening conflict markers + +Orgad Shaneh (1): + docs: remove duplicate entry and fix typo in 2.45 changelog + +Patrick Steinhardt (15): + reftable/block: rename `block_reader_start()` + reftable/block: merge `block_iter_seek()` and `block_reader_seek()` + reftable/block: better grouping of functions + reftable/block: introduce `block_reader_release()` + reftable/block: move ownership of block reader into `struct table_iter` + reftable/reader: iterate to next block in place + reftable/block: reuse uncompressed blocks + reftable/block: open-code call to `uncompress2()` + reftable/block: reuse `zstream` state on inflation + reftable/block: avoid copying block iterators on seek + pack-bitmap: gracefully handle missing BTMP chunks + run-command: introduce function to prepare auto-maintenance process + builtin/receive-pack: convert to use git-maintenance(1) + docs: improve changelog entry for `git pack-refs --auto` + docs: address typos in Git v2.45 changelog + +Peter Krefting (1): + bisect: report the found commit with "show" + +René Scharfe (3): + git-compat-util: fix NO_OPENSSL on current macOS + imap-send: increase command size limit + apply: avoid using fixed-size buffer in write_out_one_reject() + +Rubén Justo (1): + launch_editor: waiting message on error + +Thalia Archibald (8): + fast-import: tighten path unquoting + fast-import: directly use strbufs for paths + fast-import: allow unquoted empty path for root + fast-import: remove dead strbuf + fast-import: improve documentation for path quoting + fast-import: document C-style escapes for paths + fast-import: forbid escaped NUL in paths + fast-import: make comments more precise + +Xing Xin (1): + Documentation: fix typos describing date format + +Yehezkel Bernat (1): + Documentation: fix linkgit reference + +Đoàn Trần Công Danh (1): + t9604: Fix test for musl libc and new Debian + + +Version v2.45.0-rc0; changes since v2.44.1: +------------------------------------------- + +Ahelenia Ziemiańska (1): + grep: improve errors for unmatched ( and ) + +Alexander Shopov (4): + transport-helper.c: trivial fix of error message + builtin/remote.c: trivial fix of error message + builtin/clone.c: trivial fix of message + revision.c: trivial fix to message + +Aryan Gupta (1): + tests: modernize the test script t0010-racy-git.sh + +Beat Bolli (25): + completion: use awk for filtering the config entries + date: make "iso-strict" conforming for the UTC timezone + t0006: add more tests with a negative TZ offset + doc: avoid redundant use of cat + contrib/subtree/t: avoid redundant use of cat + t/lib-cvs.sh: avoid redundant use of cat + t/annotate-tests.sh: avoid redundant use of cat + t/perf: avoid redundant use of cat + t/t0*: avoid redundant uses of cat + t/t1*: avoid redundant uses of cat + t/t3*: avoid redundant uses of cat + t/t4*: avoid redundant uses of cat + t/t5*: avoid redundant uses of cat + t/t6*: avoid redundant uses of cat + t/t7*: avoid redundant use of cat + t/t8*: avoid redundant use of cat + t/t9*: avoid redundant uses of cat + t/t1*: merge a "grep | sed" pipeline + t/t3*: merge a "grep | awk" pipeline + t/t4*: merge a "grep | sed" pipeline + t/t5*: merge a "grep | sed" pipeline + t/t8*: merge "grep | sed" pipelines + t/t9*: merge "grep | sed" pipelines + contrib/coverage-diff: avoid redundant pipelines + git-quiltimport: avoid an unnecessary subshell + +Bo Anderson (5): + t/lib-credential: clean additional credential + osxkeychain: replace deprecated SecKeychain API + osxkeychain: erase all matching credentials + osxkeychain: erase matching passwords only + osxkeychain: store new attributes + +Brian C Tracy (1): + fuzz: add fuzzer for config parsing + +Brian Lyles (13): + docs: clarify file options in git-config `--edit` + docs: fix typo in git-config `--default` + docs: correct trailer `key_value_separator` description + docs: adjust trailer `separator` and `key_value_separator` language + pretty: update tests to use `test_config` + pretty: find pretty formats case-insensitively + docs: address inaccurate `--empty` default with `--exec` + docs: clean up `--empty` formatting in git-rebase(1) and git-am(1) + rebase: update `--empty=ask` to `--empty=stop` + sequencer: handle unborn branch with `--allow-empty` + sequencer: do not require `allow_empty` for redundant commit options + cherry-pick: enforce `--keep-redundant-commits` incompatibility + cherry-pick: add `--empty` for more robust redundant commit handling + +Chandra Pratap (2): + apply: ignore working tree filemode when !core.filemode + t9146: replace test -d/-e/-f with appropriate test_path_is_* function + +Christian Couder (5): + revision: clarify a 'return NULL' in get_reference() + oidset: refactor oidset_insert_from_set() + t6022: fix 'test' style and 'even though' typo + rev-list: allow missing tips with --missing=[print|allow*] + revision: fix --missing=[print|allow*] for annotated tags + +Derrick Stolee (1): + fetch: return when parsing submodule.recurse + +Dirk Gouders (6): + Documentation/user-manual.txt: example for generating object hashes + MyFirstObjectWalk: use additional arg in config_fn_t + MyFirstObjectWalk: fix misspelled "builtins/" + MyFirstObjectWalk: fix filtered object walk + MyFirstObjectWalk: fix description for counting omitted objects + MyFirstObjectWalk: add stderr to pipe processing + +Dragan Simic (8): + documentation: send-email: use camel case consistently + config: minor addition of whitespace + config: really keep value-internal whitespace verbatim + t1300: add more tests for whitespace and inline comments + config.txt: describe handling of whitespace further + grep docs: describe --recurse-submodules further and improve formatting a bit + grep docs: describe --no-index further and improve formatting a bit + config: fix some small capitalization issues, as spotted + +Eric Sunshine (2): + docs: sort configuration variable groupings alphabetically + test-lib: fix non-functioning GIT_TEST_MAINT_SCHEDULER fallback + +Eric W. Biederman (23): + object-file-convert: stubs for converting from one object format to another + oid-array: teach oid-array to handle multiple kinds of oids + object-names: support input of oids in any supported hash + repository: add a compatibility hash algorithm + loose: compatibilty short name support + object-file: update the loose object map when writing loose objects + object-file: add a compat_oid_in parameter to write_object_file_flags + commit: convert mergetag before computing the signature of a commit + commit: export add_header_signature to support handling signatures on tags + tag: sign both hashes + object: factor out parse_mode out of fast-import and tree-walk into in object.h + object-file-convert: don't leak when converting tag objects + object-file-convert: convert commits that embed signed tags + object-file: update object_info_extended to reencode objects + rev-parse: add an --output-object-format parameter + builtin/cat-file: let the oid determine the output algorithm + tree-walk: init_tree_desc take an oid to get the hash algorithm + object-file: handle compat objects in check_object_signature + builtin/ls-tree: let the oid determine the output algorithm + test-lib: compute the compatibility hash so tests may use it + t1006: rename sha1 to oid + t1006: test oid compatibility with cat-file + t1016-compatObjectFormat: add tests to verify the conversion between objects + +Eugenio Gigante (1): + add: use unsigned type for collection of bits + +Florian Schmidt (1): + wt-status: don't find scissors line beyond buf len + +Ghanshyam Thakkar (5): + add-patch: classify '@' as a synonym for 'HEAD' + add -p tests: remove PERL prerequisites + setup: remove unnecessary variable + builtin/commit: error out when passing untracked path with -i + builtin/add: error out when passing untracked path with -u + +Haritha D (1): + build: support z/OS (OS/390). + +Harmen Stoppels (1): + rebase: make warning less passive aggressive + +Jakub Wilk (1): + git-remote.txt: fix typo + +Jean-Noël Avila (17): + doc: git-rev-parse: enforce command-line description syntax + doc: close unclosed angle-bracket of a placeholder in git-clone doc + doc: end sentences with full-stop + doc: clarify the format of placeholders + doc: git-init: format verbatim parts + doc: git-init: format placeholders + doc: git-init: rework definition lists + doc: git-init: rework config item init.templateDir + doc: git-clone: format verbatim words + doc: git-clone: format placeholders + doc: format alternatives in synopsis + doc: fix some placeholders formating + doc: rework CodingGuidelines with new formatting rules + doc: allow literal and emphasis format in doc vs help tests + doc: git-init: apply new documentation formatting guidelines + doc: git-clone: apply new documentation formatting guidelines + doc: git-clone: do not autoreference the manpage in itself + +Jeff Hostetler (17): + name-hash: add index_dir_find() + t7527: add case-insensitve test for FSMonitor + fsmonitor: refactor refresh callback on directory events + fsmonitor: clarify handling of directory events in callback helper + fsmonitor: refactor refresh callback for non-directory events + dir: create untracked_cache_invalidate_trimmed_path() + fsmonitor: refactor untracked-cache invalidation + fsmonitor: move untracked-cache invalidation into helper functions + fsmonitor: return invalidated cache-entry count on directory event + fsmonitor: remove custom loop from non-directory path handler + fsmonitor: return invalidated cache-entry count on non-directory event + fsmonitor: trace the new invalidated cache-entry count + fsmonitor: refactor bit invalidation in refresh callback + fsmonitor: support case-insensitive events + t0211: demonstrate missing 'def_param' events for certain commands + trace2: avoid emitting 'def_param' set more than once + trace2: emit 'def_param' set with 'cmd_name' event + +Jeff King (51): + t0303: check that helper_test_clean removes all credentials + userdiff: skip textconv caching when not in a repository + Revert "refs: allow @{n} to work with n-sized reflog" + get_oid_basic(): special-case ref@{n} for oldest reflog entry + read_ref_at(): special-case ref@{0} for an empty reflog + upload-pack: drop separate v2 "haves" array + upload-pack: switch deepen-not list to an oid_array + upload-pack: use oidset for deepen_not list + upload-pack: use a strmap for want-ref lines + upload-pack: accept only a single packfile-uri line + upload-pack: always turn off save_commit_buffer + upload-pack: use PARSE_OBJECT_SKIP_HASH_CHECK in more places + upload-pack: free tree buffers after parsing + upload-pack: use repository struct to get config + upload-pack: centralize setup of sideband-all config + upload-pack: use existing config mechanism for advertisement + upload-pack: only accept packfile-uris if we advertised it + doc/gitremote-helpers: fix missing single-quote + config: forbid newline as core.commentChar + strbuf: simplify comment-handling in add_lines() helper + strbuf: avoid static variables in strbuf_add_commented_lines() + commit: refactor base-case of adjust_comment_line_char() + strbuf: avoid shadowing global comment_line_char name + environment: store comment_line_char as a string + strbuf: accept a comment string for strbuf_stripspace() + strbuf: accept a comment string for strbuf_commented_addf() + strbuf: accept a comment string for strbuf_add_commented_lines() + prefer comment_line_str to comment_line_char for printing + find multi-byte comment chars in NUL-terminated strings + find multi-byte comment chars in unterminated buffers + sequencer: handle multi-byte comment characters when writing todo list + wt-status: drop custom comment-char stringification + environment: drop comment_line_char compatibility macro + config: allow multi-byte core.commentChar + shortlog: stop setting pp.print_email_subject + pretty: split oneline and email subject printing + pretty: drop print_email_subject flag + log: do not set up extra_headers for non-email formats + format-patch: return an allocated string from log_write_email_headers() + format-patch: simplify after-subject MIME header handling + doc/gitremote-helpers: fix more missing single-quotes + transport-helper: use write helpers more consistently + transport-helper: drop "object-format " option + transport-helper: send "true" value for object-format option + contrib: drop hg-to-git script + format-patch: fix leak of empty header string + rebase: use child_process_clear() to clean + config: add core.commentString + http: reset POSTFIELDSIZE when clearing curl handle + INSTALL: bump libcurl version to 7.21.3 + remote-curl: add Transfer-Encoding header only for older curl + +Jiamu Sun (1): + bugreport.c: fix a crash in `git bugreport` with `--no-suffix` option + +Johannes Schindelin (22): + merge-tree: accept 3 trees as arguments + merge-tree: fail with a non-zero exit code on missing tree objects + merge-ort: do check `parse_tree()`'s return value + t4301: verify that merge-tree fails on missing blob objects + Always check `parse_tree*()`'s return value + cache-tree: avoid an unnecessary check + fill_tree_descriptor(): mark error message for translation + neue: remove a bogus empty file + commit-reach(paint_down_to_common): plug two memory leaks + commit-reach(repo_in_merge_bases_many): optionally expect missing commits + commit-reach(repo_in_merge_bases_many): report missing commits + commit-reach(paint_down_to_common): prepare for handling shallow commits + commit-reach(paint_down_to_common): start reporting errors + commit-reach(merge_bases_many): pass on "missing commits" errors + commit-reach(get_merge_bases_many_0): pass on "missing commits" errors + commit-reach(repo_get_merge_bases): pass on "missing commits" errors + commit-reach(get_octopus_merge_bases): pass on "missing commits" errors + commit-reach(repo_get_merge_bases_many): pass on "missing commits" errors + commit-reach(repo_get_merge_bases_many_dirty): pass on errors + merge-recursive: prepare for `merge_submodule()` to report errors + merge-ort/merge-recursive: do report errors in `merge_submodule()` + merge-tree: fix argument type of the `--merge-base` option + +John Cai (1): + t5300: fix test_with_bad_commit() + +Jonas Wunderlich (1): + doc: status.showUntrackedFiles does not take "false" + +Josh Triplett (2): + commit: avoid redundant scissor line with --cleanup=scissors -v + commit: unify logic to avoid multiple scissors lines when merging + +Julio Bacellari (1): + doc: remove outdated information about interactive.singleKey + +Junio C Hamano (61): + apply: correctly reverse patch's pre- and post-image mode bits + apply: code simplification + t9210: do not rely on lazy fetching to fail + git: --no-lazy-fetch option + doc: add shortcut to "am --whitespace=" + doc: apply the new placeholder rules to git-add documentation + compat: drop inclusion of + Start the 2.45 cycle + git: document GIT_NO_REPLACE_OBJECTS environment variable + doc: clarify the wording on requirement + git: extend --no-lazy-fetch to work across subprocesses + The second batch + The third batch + test_i18ngrep: hard deprecate and forbid its use + unpack: replace xwrite() loop with write_in_full() + sideband: avoid short write(2) + repack: check error writing to pack-objects subprocess + clean: further clean-up of implementation around "--force" + The fourth batch + The fifth batch + setup: notice more types of implicit bare repositories + The sixth batch + status: unify parsing of --untracked= and status.showUntrackedFiles + status: allow --untracked=false and friends + The seventh batch + The eighth batch + config: fix --comment formatting + config: allow tweaking whitespace between value and comment + diff.*Prefix: use camelCase in the doc and test titles + The ninth batch + apply: parse names out of "diff --git" more carefully + The tenth batch + The eleventh batch + SubmittingPatches: release-notes entry experiment + The twelfth batch + t4126: make sure a directory with SP at the end is usable + t4126: fix "funny directory name" test on Windows (again) + advice: omit trailing whitespace + checkout: omit "tracking" information on a detached HEAD + The thirteenth batch + t2104: style fixes + The fourteenth batch + revision: optionally record matches with pathspec elements + The fifteenth batch + CodingGuidelines: describe "export VAR=VAL" rule + CodingGuidelines: quote assigned value in 'local var=$val' + t: local VAR="VAL" (quote positional parameters) + t: local VAR="VAL" (quote command substitution) + t: local VAR="VAL" (quote ${magic-reference}) + t: teach lint that RHS of 'local VAR=VAL' needs to be quoted + t0610: local VAR="VAL" fix + t1016: local VAR="VAL" fix + config: do not leak excludes_file + Makefile(s): do not enforce "all indents must be done with tab" + The sixteenth batch + t2104: style fixes + The seventeenth batch + The eighteenth batch + The ninteenth batch + The twentieth batch + Git 2.45-rc0 + +Justin Tobler (3): + reftable/stack: expose option to disable auto-compaction + reftable/stack: add env to disable autocompaction + reftable/stack: use geometric table compaction + +Karthik Nayak (7): + refs: introduce `is_pseudoref()` and `is_headref()` + refs: extract out `loose_fill_ref_dir_regular_file()` + refs: introduce `refs_for_each_include_root_refs()` + ref-filter: rename 'FILTER_REFS_ALL' to 'FILTER_REFS_REGULAR' + for-each-ref: add new option to include root refs + update-ref: use {old,new}-oid instead of {old,new}value + githooks: use {old,new}-oid instead of {old,new}-value + +Kipras Melnikovas (1): + mergetools: vimdiff: use correct tool's name when reading mergetool config + +Kristoffer Haugsbakk (9): + column: disallow negative padding + column: guard against negative padding + gitcli: drop mention of “non-dashed form” + config: document `core.commentChar` as ASCII-only + t3200: improve test style + advice: make all entries stylistically consistent + advice: use backticks for verbatim + advice: use double quotes for regular quoting + branch: advise about ref syntax rules + +Linus Arver (10): + trailer: free trailer_info _after_ all related usage + shortlog: add test for de-duplicating folded trailers + trailer: rename functions to use 'trailer' + trailer: reorder format_trailers_from_commit() parameters + trailer: move interpret_trailers() to interpret-trailers.c + trailer_info_get(): reorder parameters + format_trailers(): use strbuf instead of FILE + format_trailer_info(): move "fast path" to caller + format_trailers_from_commit(): indirectly call trailer_info_get() + mailmap: change primary address for Linus Arver + +M Hickford (1): + libsecret: retrieve empty password + +Matthias Aßhauer (1): + Win32: detect unix socket support at runtime + +Max Gautier (1): + editorconfig: add Makefiles to "text files" + +Michael Lohmann (2): + revision: ensure MERGE_HEAD is a ref in prepare_show_merge + revision: implement `git log --merge` also for rebase/cherry-pick/revert + +Patrick Steinhardt (84): + refs: introduce reftable backend + ci: add jobs to test with the reftable backend + refs/reftable: fix leak when copying reflog fails + reftable/record: introduce function to compare records by key + reftable/merged: allocation-less dropping of shadowed records + reftable/merged: skip comparison for records of the same subiter + reftable/pq: allocation-less comparison of entry keys + reftable/block: swap buffers instead of copying + reftable/record: don't try to reallocate ref record name + reftable/reader: add comments to `table_iter_next()` + t: move tests exercising the "files" backend + t0410: convert tests to use DEFAULT_REPO_FORMAT prereq + t1400: exercise reflog with gaps with reftable backend + t1404: make D/F conflict tests compatible with reftable backend + t1405: remove unneeded cleanup step + t2011: exercise D/F conflicts with HEAD with the reftable backend + t7003: ensure filter-branch prunes reflogs with the reftable backend + git-difftool--helper: honor `--trust-exit-code` with `--dir-diff` + dir-iterator: pass name to `prepare_next_entry_data()` directly + dir-iterator: support iteration in sorted order + refs/files: sort reflogs returned by the reflog iterator + refs/files: sort merged worktree and common reflogs + refs: always treat iterators as ordered + refs: drop unused params from the reflog iterator callback + refs: stop resolving ref corresponding to reflogs + builtin/reflog: introduce subcommand to list reflogs + builtin/clone: allow remote helpers to detect repo + refs/reftable: don't fail empty transactions in repo without HEAD + reftable/pq: use `size_t` to track iterator index + reftable/merged: make `merged_iter` structure private + reftable/merged: advance subiter on subsequent iteration + reftable/merged: make subiters own their records + reftable/merged: remove unnecessary null check for subiters + reftable/merged: handle subiter cleanup on close only + reftable/merged: circumvent pqueue with single subiter + reftable/merged: avoid duplicate pqueue emptiness check + reftable/record: reuse refname when decoding + reftable/record: reuse refname when copying + reftable/record: decode keys in place + reftable: allow inlining of a few functions + refs/reftable: precompute prefix length + refs/reftable: reload correct stack when creating reflog iter + reftable/record: convert old and new object IDs to arrays + reftable/record: avoid copying author info + reftable/record: reuse refnames when decoding log records + reftable/record: reuse message when decoding log records + reftable/record: use scratch buffer when decoding records + refs/reftable: track last log record name via strbuf + t0610: remove unused variable assignment + lockfile: report when rollback fails + reftable/stack: register new tables as tempfiles + reftable/stack: register lockfiles during compaction + reftable/stack: register compacted tables as tempfiles + reftable/record: fix memory leak when decoding object records + reftable/block: fix binary search over restart counter + t5601: exercise clones with "includeIf.*.onbranch" + reftable: fix tests being broken by NFS' delete-after-close semantics + t7800: improve test descriptions with empty arguments + t7800: use single quotes for test bodies + t/README: document how to loop around test cases + reftable/stack: fix error handling in `reftable_stack_init_addition()` + reftable/error: discern locked/outdated errors + reftable/stack: use error codes when locking fails during compaction + reftable/stack: gracefully handle failed auto-compaction due to locks + refs/reftable: print errors on compaction failure + t/helper: drop pack-refs wrapper + refs: move `struct pack_refs_opts` to where it's used + refs: remove `PACK_REFS_ALL` flag + refs/reftable: expose auto compaction via new flag + builtin/pack-refs: release allocated memory + builtin/pack-refs: introduce new "--auto" flag + builtin/gc: move `struct maintenance_run_opts` + t6500: extract objects with "17" prefix + builtin/gc: forward git-gc(1)'s `--auto` flag when packing refs + builtin/gc: pack refs when using `git maintenance run --auto` + reftable/basics: fix return type of `binsearch()` to be `size_t` + reftable/basics: improve `binsearch()` test + reftable/refname: refactor binary search over refnames + reftable/block: refactor binary search over restart points + reftable/block: fix error handling when searching restart points + reftable/record: extract function to decode key lengths + reftable/block: avoid decoding keys when searching restart points + t0610: make `--shared=` tests reusable + t0610: execute git-pack-refs(1) with specified umask + +Peter Hutterer (1): + diff: add diff.srcPrefix and diff.dstPrefix configuration variables + +Philippe Blain (5): + merge-ort: turn submodule conflict suggestions into an advice + ci(github): make Windows test artifacts name unique + sequencer: allow disabling conflict advice + builtin/am: allow disabling conflict advice + t/README: mention test files are make targets + +Phillip Wood (9): + rebase -i: stop setting GIT_CHERRY_PICK_HELP + xdiff-interface: refactor parsing of merge.conflictstyle + merge-ll: introduce LL_MERGE_OPTIONS_INIT + merge options: add a conflict style member + checkout: cleanup --conflict=