more than one main upstream tarballs listed.
commit 0e01aa6cf83876d2e5d2e321b6a6de3db9719c52 Author: Josh Steadmon <steadmon@google.com> Date: Fri Jan 5 10:10:34 2024 -0800 debian: new "next" snapshot Change-Id: I5d9aa337a546c663cd8a1996b30c1af4b32a98aa Signed-off-by: Josh Steadmon <steadmon@google.com> commit fbd894a86773a26d4ad311959dba9bda28891218 Merge: ffc05c4b72 b435a96ce8 Author: Josh Steadmon <steadmon@google.com> Date: Fri Jan 5 10:07:07 2024 -0800 Merge branch 'next' into debian-experimental Change-Id: I04a478666d9acbd0ca8f6c9f7cae4cc66a05501c Signed-off-by: Josh Steadmon <steadmon@google.com> commit b435a96ce80ec65acd71d7318b1fc27d53dfa924 Merge: d68f2be39b 556e68032f Author: Junio C Hamano <gitster@pobox.com> Date: Thu Jan 4 13:11:47 2024 -0800 Merge branch 'cp/git-flush-is-an-env-bool' into next Unlike other environment variables that took the usual true/false/yes/no as well as 0/1, GIT_FLUSH only understood 0/1, which has been corrected. * cp/git-flush-is-an-env-bool: write-or-die: make GIT_FLUSH a Boolean environment variable commit d68f2be39bcbb728f0983a519db00d85593eee89 Merge: 1237898a22 9cd30af991 Author: Junio C Hamano <gitster@pobox.com> Date: Thu Jan 4 13:11:47 2024 -0800 Merge branch 'ms/rebase-insnformat-doc-fix' into next Docfix. * ms/rebase-insnformat-doc-fix: Documentation: fix statement about rebase.instructionFormat commit 1237898a22f82300646cd263c55dacc8fe0da643 Merge: 891ac0fa2c 7033d5479b Author: Junio C Hamano <gitster@pobox.com> Date: Thu Jan 4 13:11:46 2024 -0800 Merge branch 'jx/sideband-chomp-newline-fix' into next Sideband demultiplexer fixes. * jx/sideband-chomp-newline-fix: pkt-line: do not chomp newlines for sideband messages pkt-line: memorize sideband fragment in reader test-pkt-line: add option parser for unpack-sideband commit 891ac0fa2c9dd86eee84efd2b4c9a7312f1c0d2b Merge: a492c6355c ba47d88795 Author: Junio C Hamano <gitster@pobox.com> Date: Thu Jan 4 13:11:46 2024 -0800 Merge branch 'tb/multi-pack-verbatim-reuse' into next Streaming spans of packfile data used to be done only from a single, primary, pack in a repository with multiple packfiles. It has been extended to allow reuse from other packfiles, too. * tb/multi-pack-verbatim-reuse: (26 commits) t/perf: add performance tests for multi-pack reuse pack-bitmap: enable reuse from all bitmapped packs pack-objects: allow setting `pack.allowPackReuse` to "single" t/test-lib-functions.sh: implement `test_trace2_data` helper pack-objects: add tracing for various packfile metrics pack-bitmap: prepare to mark objects from multiple packs for reuse pack-revindex: implement `midx_pair_to_pack_pos()` pack-revindex: factor out `midx_key_to_pack_pos()` helper midx: implement `midx_preferred_pack()` git-compat-util.h: implement checked size_t to uint32_t conversion pack-objects: include number of packs reused in output pack-objects: prepare `write_reused_pack_verbatim()` for multi-pack reuse pack-objects: prepare `write_reused_pack()` for multi-pack reuse pack-objects: pass `bitmapped_pack`'s to pack-reuse functions pack-objects: keep track of `pack_start` for each reuse pack pack-objects: parameterize pack-reuse routines over a single pack pack-bitmap: return multiple packs via `reuse_partial_packfile_from_bitmap()` pack-bitmap: simplify `reuse_partial_packfile_from_bitmap()` signature ewah: implement `bitmap_is_empty()` pack-bitmap: pass `bitmapped_pack` struct to pack-reuse functions ... commit 556e68032f8248c831e48207e5cb923c9fe0e42c Author: Chandra Pratap <chandrapratap3519@gmail.com> Date: Thu Jan 4 10:20:17 2024 +0000 write-or-die: make GIT_FLUSH a Boolean environment variable Among Git's environment variables, the ones marked as "Boolean" accept values in a way similar to Boolean configuration variables, i.e. values like 'yes', 'on', 'true' and positive numbers are taken as "on" and values like 'no', 'off', 'false' are taken as "off". GIT_FLUSH can be used to force Git to use non-buffered I/O when writing to stdout. It can only accept two values, '1' which causes Git to flush more often and '0' which makes all output buffered. Make GIT_FLUSH accept more values besides '0' and '1' by turning it into a Boolean environment variable, modifying the required logic. Update the related documentation. Signed-off-by: Chandra Pratap <chandrapratap3519@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit a492c6355cc1b0cb30bdcb253805f4961ba06545 Merge: 074686ec74 54d8a2531b Author: Junio C Hamano <gitster@pobox.com> Date: Wed Jan 3 13:18:25 2024 -0800 Merge branch 'jk/t1006-cat-file-objectsize-disk' into next Test update. * jk/t1006-cat-file-objectsize-disk: t1006: prefer shell loop to awk for packed object sizes commit 9cd30af991f8fe60f87fa92836e02cb3bf88864b Author: Maarten van der Schrieck <maarten@thingsconnected.nl> Date: Wed Jan 3 18:14:23 2024 +0000 Documentation: fix statement about rebase.instructionFormat Since commit 62db5247 (rebase -i: generate the script via rebase--helper, 2017-07-14), the short hash is given in rebase-todo. Specifying rebase.instructionFormat does not alter this behavior, contrary to what the documentation implies. Signed-off-by: Maarten van der Schrieck <maarten@thingsconnected.nl> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit 54d8a2531b839bb9c4e2f5aa26aae029415211f9 Author: René Scharfe <l.s.r@web.de> Date: Wed Jan 3 04:01:52 2024 -0500 t1006: prefer shell loop to awk for packed object sizes To compute the expected on-disk size of packed objects, we sort the output of show-index by pack offset and then compute the difference between adjacent entries using awk. This works but has a few readability problems: 1. Reading the index in pack order means don't find out the size of an oid's entry until we see the _next_ entry. So we have to save it to print later. We can instead iterate in reverse order, so we compute each oid's size as we see it. 2. Since the awk invocation is inside a text_expect block, we can't easily use single-quotes to hold the script. So we use double-quotes, but then have to escape the dollar signs in the awk script. We can swap this out for a shell loop instead (which is made much easier by the first change). Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit 074686ec740dcf9adf7983090d00482a0390dc8a Merge: 4c3784b3a1 a26002b628 Author: Junio C Hamano <gitster@pobox.com> Date: Tue Jan 2 13:52:28 2024 -0800 Sync with 'master' commit 4c3784b3a12f16d9387fd9f02a1bb44b2315fae9 Merge: 0e072117cd 2232a88ab6 Author: Junio C Hamano <gitster@pobox.com> Date: Tue Jan 2 13:52:20 2024 -0800 Merge branch 'jw/builtin-objectmode-attr' into next The builtin_objectmode attribute is populated for each path without adding anything in .gitattributes files, which would be useful in magic pathspec, e.g., ":(attr:builtin_objectmode=100755)" to limit to executables. * jw/builtin-objectmode-attr: attr: add builtin objectmode values support commit 0e072117cde9ccf942e056eb09f218924496738f Merge: aa03d9441c 291873e5d6 Author: Junio C Hamano <gitster@pobox.com> Date: Tue Jan 2 13:52:20 2024 -0800 Merge branch 'js/contributor-docs-updates' into next Doc update. * js/contributor-docs-updates: SubmittingPatches: hyphenate non-ASCII SubmittingPatches: clarify GitHub artifact format SubmittingPatches: clarify GitHub visual SubmittingPatches: provide tag naming advice SubmittingPatches: update extra tags list SubmittingPatches: discourage new trailers SubmittingPatches: drop ref to "What's in git.git" CodingGuidelines: write punctuation marks CodingGuidelines: move period inside parentheses commit a26002b62827b89a19b1084bd75d9371d565d03c Author: Junio C Hamano <gitster@pobox.com> Date: Tue Jan 2 13:50:46 2024 -0800 The fifth batch Signed-off-by: Junio C Hamano <gitster@pobox.com> commit dbf668a1b7d814b4fcb57c292934cbbc2d926490 Merge: 601b1571e8 0a06892ddd Author: Junio C Hamano <gitster@pobox.com> Date: Tue Jan 2 13:51:30 2024 -0800 Merge branch 'ps/pseudo-refs' Assorted changes around pseudoref handling. * ps/pseudo-refs: bisect: consistently write BISECT_EXPECTED_REV via the refdb refs: complete list of special refs refs: propagate errno when reading special refs fails wt-status: read HEAD and ORIG_HEAD via the refdb commit 601b1571e8e61e7dc1473a6d5049261a9524f381 Merge: cce4778520 d44b517137 Author: Junio C Hamano <gitster@pobox.com> Date: Tue Jan 2 13:51:30 2024 -0800 Merge branch 'jc/orphan-unborn' Doc updates to clarify what an "unborn branch" means. * jc/orphan-unborn: orphan/unborn: fix use of 'orphan' in end-user facing messages orphan/unborn: add to the glossary and use them consistently commit cce4778520b6ade4bc839fe054500253f7d22570 Merge: 59a29e1274 990adccbdf Author: Junio C Hamano <gitster@pobox.com> Date: Tue Jan 2 13:51:29 2024 -0800 Merge branch 'rj/status-bisect-while-rebase' "git status" is taught to show both the branch being bisected and being rebased when both are in effect at the same time. * rj/status-bisect-while-rebase: status: fix branch shown when not only bisecting commit 59a29e1274948bf9a3ef44c65903d09194464e1c Merge: 43ec879169 de7c27a186 Author: Junio C Hamano <gitster@pobox.com> Date: Tue Jan 2 13:51:29 2024 -0800 Merge branch 'la/trailer-cleanups' Code clean-up. * la/trailer-cleanups: trailer: use offsets for trailer_start/trailer_end trailer: find the end of the log message commit: ignore_non_trailer computes number of bytes to ignore commit 43ec8791692f70768fa8eb23056db6a4e0ba3c6a Merge: 9cc710098b a762af3dfd Author: Junio C Hamano <gitster@pobox.com> Date: Tue Jan 2 13:51:29 2024 -0800 Merge branch 'jc/retire-cas-opt-name-constant' Code clean-up. * jc/retire-cas-opt-name-constant: remote.h: retire CAS_OPT_NAME commit 9cc710098bb9aa3efcefcb5237d001ed09a52e50 Merge: 72e6a61c40 45184afb4d Author: Junio C Hamano <gitster@pobox.com> Date: Tue Jan 2 13:51:29 2024 -0800 Merge branch 'rs/rebase-use-strvec-pushf' Code clean-up. * rs/rebase-use-strvec-pushf: rebase: use strvec_pushf() for format-patch revisions commit 72e6a61c403c61bd5b78e0284a4aa3315aeb1f7c Merge: e79552d197 44dbb3bf29 Author: Junio C Hamano <gitster@pobox.com> Date: Tue Jan 2 13:51:28 2024 -0800 Merge branch 'sh/completion-with-reftable' Command line completion script (in contrib/) learned to work better with the reftable backend. * sh/completion-with-reftable: completion: support pseudoref existence checks for reftables completion: refactor existence checks for pseudorefs commit aa03d9441cd2c15743ff749a193a67860058a060 Merge: 16e6dd2a69 c61740d607 Author: Junio C Hamano <gitster@pobox.com> Date: Thu Dec 28 13:23:04 2023 -0800 Merge branch 'rs/mem-pool-improvements' into next MemPool allocator fixes. * rs/mem-pool-improvements: mem-pool: simplify alignment calculation mem-pool: fix big allocations commit 16e6dd2a694eb1511fb370bd5b9a0bb365659d7f Merge: 3ddf2ebab6 5b7eec4bc5 Author: Junio C Hamano <gitster@pobox.com> Date: Thu Dec 28 13:23:04 2023 -0800 Merge branch 'rs/fast-import-simplify-mempool-allocation' into next Code simplification. * rs/fast-import-simplify-mempool-allocation: fast-import: use mem_pool_calloc() commit 3ddf2ebab613bd0f0fcbac42bc70fed577ada673 Merge: a558eccf8e f8ab66f9f3 Author: Junio C Hamano <gitster@pobox.com> Date: Thu Dec 28 13:23:04 2023 -0800 Merge branch 'en/sparse-checkout-eoo' into next "git sparse-checkout (add|set) --[no-]cone --end-of-options" did not handle "--end-of-options" correctly after a recent update. * en/sparse-checkout-eoo: sparse-checkout: be consistent with end of options markers commit a558eccf8e6b83146896ebd1c3285a671f6ac669 Merge: 1ccddc2a10 53ded839ae Author: Junio C Hamano <gitster@pobox.com> Date: Thu Dec 28 13:23:04 2023 -0800 Merge branch 'jc/sparse-checkout-set-default-fix' into next "git sparse-checkout set" added default patterns even when the patterns are being fed from the standard input, which has been corrected. * jc/sparse-checkout-set-default-fix: sparse-checkout: use default patterns for 'set' only !stdin commit 1ccddc2a1035261479ffed9443ff33965caef5c5 Merge: 7a6329a219 d57c671a51 Author: Junio C Hamano <gitster@pobox.com> Date: Thu Dec 28 13:23:03 2023 -0800 Merge branch 'en/header-cleanup' into next Remove unused header "#include". * en/header-cleanup: treewide: remove unnecessary includes in source files treewide: add direct includes currently only pulled in transitively trace2/tr2_tls.h: remove unnecessary include submodule-config.h: remove unnecessary include pkt-line.h: remove unnecessary include line-log.h: remove unnecessary include http.h: remove unnecessary include fsmonitor--daemon.h: remove unnecessary includes blame.h: remove unnecessary includes archive.h: remove unnecessary include treewide: remove unnecessary includes in source files treewide: remove unnecessary includes from header files commit 7a6329a2199ad2e8d78d836f9f701ac372629730 Merge: 2d5c20e67f 63956c553d Author: Junio C Hamano <gitster@pobox.com> Date: Thu Dec 28 13:23:03 2023 -0800 Merge branch 'ml/doc-merge-updates' into next Doc update. * ml/doc-merge-updates: Documentation/git-merge.txt: use backticks for command wrapping Documentation/git-merge.txt: fix reference to synopsis commit 2d5c20e67ff26aae5b5995a32f80616a46d04ee6 Merge: d82812e636 d6b6cd1393 Author: Junio C Hamano <gitster@pobox.com> Date: Thu Dec 28 13:23:03 2023 -0800 Merge branch 'jc/archive-list-with-extra-args' into next "git archive --list extra garbage" silently ignored excess command line parameters, which has been corrected. * jc/archive-list-with-extra-args: archive: "--list" does not take further options commit d82812e6362dd5e461adf55b33de033f2769b943 Merge: 99fb0cbb53 f546151228 Author: Junio C Hamano <gitster@pobox.com> Date: Thu Dec 28 13:23:02 2023 -0800 Merge branch 'jk/t1006-cat-file-objectsize-disk' into next Test update. * jk/t1006-cat-file-objectsize-disk: t1006: add tests for %(objectsize:disk) commit 2232a88ab6bfbe41faf73f85912937e20bf8b4ee Author: Joanna Wang <jojwang@google.com> Date: Thu Nov 16 05:44:37 2023 +0000 attr: add builtin objectmode values support Gives all paths builtin objectmode values based on the paths' modes (one of 100644, 100755, 120000, 040000, 160000). Users may use this feature to filter by file types. For example a pathspec such as ':(attr:builtin_objectmode=160000)' could filter for submodules without needing to have `builtin_objectmode=160000` to be set in .gitattributes for every submodule path. These values are also reflected in `git check-attr` results. If the git_attr_direction is set to GIT_ATTR_INDEX or GIT_ATTR_CHECKIN and a path is not found in the index, the value will be unspecified. This patch also reserves the builtin_* attribute namespace for objectmode and any future builtin attributes. Any user defined attributes using this reserved namespace will result in a warning. This is a breaking change for any existing builtin_* attributes. Pathspecs with some builtin_* attribute name (excluding builtin_objectmode) will behave like any attribute where there are no user specified values. Signed-off-by: Joanna Wang <jojwang@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit c61740d6078b6da6219779844cfdd74ed430fb80 Author: René Scharfe <l.s.r@web.de> Date: Sun Dec 24 18:02:04 2023 +0100 mem-pool: simplify alignment calculation Use DIV_ROUND_UP in mem_pool_alloc() to round the allocation length to the next multiple of GIT_MAX_ALIGNMENT instead of twiddling bits explicitly. This is shorter and clearer, to the point that we no longer need the comment that explains what's being calculated. Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit 6cbae640006c3a9e1bb22654a8def7f4bef775b3 Author: René Scharfe <l.s.r@web.de> Date: Thu Dec 28 20:19:06 2023 +0100 mem-pool: fix big allocations Memory pool allocations that require a new block and would fill at least half of it are handled specially. Before 158dfeff3d (mem-pool: add life cycle management functions, 2018-07-02) they used to be allocated outside of the pool. This patch made mem_pool_alloc() create a bespoke block instead, to allow releasing it when the pool gets discarded. Unfortunately mem_pool_alloc() returns a pointer to the start of such a bespoke block, i.e. to the struct mp_block at its top. When the caller writes to it, the management information gets corrupted. This affects mem_pool_discard() and -- if there are no other blocks in the pool -- also mem_pool_alloc(). Return the payload pointer of bespoke blocks, just like for smaller allocations, to protect the management struct. Also update next_free to mark the block as full. This is only strictly necessary for the first allocated block, because subsequent ones are inserted after the current block and never considered for further allocations, but it's easier to just do it in all cases. Add a basic unit test to demonstrate the issue by using mem_pool_calloc() with a tiny block size, which forces the creation of a bespoke block. Helped-by: Phillip Wood <phillip.wood123@gmail.com> Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit 291873e5d6247f2e965b3937b9bd75f3b87830fa Author: Josh Soref <jsoref@gmail.com> Date: Thu Dec 28 04:55:24 2023 +0000 SubmittingPatches: hyphenate non-ASCII Git documentation does this with the exception of ancient release notes. Signed-off-by: Josh Soref <jsoref@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit 7818951623a0c98b54ab3cc0563f0e7be8af79c0 Author: Josh Soref <jsoref@gmail.com> Date: Thu Dec 28 04:55:23 2023 +0000 SubmittingPatches: clarify GitHub artifact format GitHub wraps artifacts generated by workflows in a .zip file. Internally, workflows can package anything they like in them. A recently generated failure artifact had the form: windows-artifacts.zip Length Date Time Name --------- ---------- ----- ---- 76001695 12-19-2023 01:35 artifacts.tar.gz 11005650 12-19-2023 01:35 tracked.tar.gz --------- ------- 87007345 2 files Signed-off-by: Josh Soref <jsoref@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit 0771a3b55ca137f32567635c1a96222892bd7499 Author: Josh Soref <jsoref@gmail.com> Date: Thu Dec 28 04:55:22 2023 +0000 SubmittingPatches: clarify GitHub visual GitHub has two general forms for its states, sometimes they're a simple colored object (e.g. green check or red x), and sometimes there's also a colored container (e.g. green box or red circle) which contains that object (e.g. check or x). That's a lot of words to try to describe things, but in general, the key for a failure is that it's recognized as an `x` and that it's associated with the color red -- the color of course is problematic for people who are red-green color-blind, but that's why they are paired with distinct shapes. Signed-off-by: Josh Soref <jsoref@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit 08e2e6f8d27539b7573c9ce3b5e4958b93876229 Author: Josh Soref <jsoref@gmail.com> Date: Thu Dec 28 04:55:21 2023 +0000 SubmittingPatches: provide tag naming advice Current statistics show a strong preference to only capitalize the first letter in a hyphenated tag, but that some guidance would be helpful: git log | perl -ne 'next unless /^\s+(?:Signed-[oO]ff|Acked)-[bB]y:/; s/^\s+//;s/:.*/:/;print'| sort|uniq -c|sort -n 2 Signed-off-By: 4 Signed-Off-by: 22 Acked-By: 47 Signed-Off-By: 2202 Acked-by: 95315 Signed-off-by: Signed-off-by: Josh Soref <jsoref@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit c771ef6f77d36fc9bfe6e70f805f52f84f681536 Author: Josh Soref <jsoref@gmail.com> Date: Thu Dec 28 04:55:20 2023 +0000 SubmittingPatches: update extra tags list Add items with at least 100 uses in the past three years: - Co-authored-by - Helped-by - Mentored-by - Suggested-by git log --since=3.years| perl -ne 'next unless /^\s+[A-Z][a-z]+-\S+:/;s/^\s+//;s/:.*/:/;print'| sort|uniq -c|sort -n|grep '[0-9][0-9] ' 14 Based-on-patch-by: 14 Original-patch-by: 17 Tested-by: 100 Suggested-by: 121 Co-authored-by: 163 Mentored-by: 274 Reported-by: 290 Acked-by: 450 Helped-by: 602 Reviewed-by: 14111 Signed-off-by: Signed-off-by: Josh Soref <jsoref@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit ac9fff2bf1ca4174efeac57ff1ef43df8a6b9517 Author: Josh Soref <jsoref@gmail.com> Date: Thu Dec 28 04:55:19 2023 +0000 SubmittingPatches: discourage new trailers There seems to be consensus amongst the core Git community on a working set of common trailers, and there are non-trivial costs to people inventing new trailers (research to discover what they mean/how they differ from existing trailers) such that inventing new ones is generally unwarranted and not something to be recommended to new contributors. Suggested-by: Elijah Newren <newren@gmail.com> Signed-off-by: Josh Soref <jsoref@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit 127106294a591ebbc8400ac691e271b58e843f09 Author: Josh Soref <jsoref@gmail.com> Date: Thu Dec 28 04:55:18 2023 +0000 SubmittingPatches: drop ref to "What's in git.git" "What's in git.git" was last seen in 2010: https://lore.kernel.org/git/?q=%22what%27s+in+git.git%22 https://lore.kernel.org/git/7vaavikg72.fsf@alter.siamese.dyndns.org/ Signed-off-by: Josh Soref <jsoref@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit e6397c5cc83979d4808e9aeeb0276d3302987782 Author: Josh Soref <jsoref@gmail.com> Date: Thu Dec 28 04:55:17 2023 +0000 CodingGuidelines: write punctuation marks - Match style in Release Notes Signed-off-by: Josh Soref <jsoref@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit 2d194548cb8c16d17925be0f0e8ce946eb6d1f6e Author: Josh Soref <jsoref@gmail.com> Date: Thu Dec 28 04:55:16 2023 +0000 CodingGuidelines: move period inside parentheses The contents within parenthesis should be omittable without resulting in broken text. Eliding the parenthesis left a period to end a run without any content. Signed-off-by: Josh Soref <jsoref@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit 99fb0cbb532347ba88a24a050722cdec13dad2e8 Merge: 3460e3d667 e79552d197 Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 27 14:57:06 2023 -0800 Sync with 'master' commit e79552d19784ee7f4bbce278fe25f93fbda196fa Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 27 14:51:46 2023 -0800 The fourth batch Signed-off-by: Junio C Hamano <gitster@pobox.com> commit 94e8e404a7ceaa4cbc34c2406e5dff4b08a49e85 Merge: 6db745e1f5 18c9cb7524 Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 27 14:52:28 2023 -0800 Merge branch 'ps/clone-into-reftable-repository' "git clone" has been prepared to allow cloning a repository with non-default hash function into a repository that uses the reftable backend. * ps/clone-into-reftable-repository: builtin/clone: create the refdb with the correct object format builtin/clone: skip reading HEAD when retrieving remote builtin/clone: set up sparse checkout later builtin/clone: fix bundle URIs with mismatching object formats remote-curl: rediscover repository when fetching refs setup: allow skipping creation of the refdb setup: extract function to create the refdb commit 6db745e1f5ae2ea71f8c7d6b99bf37c8e1a7acfb Merge: deb67d12de fbc6526ea6 Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 27 14:52:27 2023 -0800 Merge branch 'rs/t6300-compressed-size-fix' Test fix. * rs/t6300-compressed-size-fix: t6300: avoid hard-coding object sizes commit deb67d12de91c0a8fecaee4c6a97f8f1e18b1c5a Merge: a29e8b6059 18ce48918c Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 27 14:52:27 2023 -0800 Merge branch 'jx/fetch-atomic-error-message-fix' "git fetch --atomic" issued an unnecessary empty error message, which has been corrected. * jx/fetch-atomic-error-message-fix: fetch: no redundant error message for atomic fetch t5574: test porcelain output of atomic fetch commit a29e8b6059ca10f74f2f2412749edac18f88c466 Merge: aa6122ce52 8277dbe987 Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 27 14:52:27 2023 -0800 Merge branch 'rs/c99-stdbool-test-balloon' Test balloon to use C99 "bool" type from <stdbool.h>. * rs/c99-stdbool-test-balloon: git-compat-util: convert skip_{prefix,suffix}{,_mem} to bool commit aa6122ce52caab5ebb263e1052810350264ef62d Merge: c17ed4fe26 37e8d795be Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 27 14:52:27 2023 -0800 Merge branch 'sp/test-i18ngrep' Error message fix in the test framework. * sp/test-i18ngrep: test-lib-functions.sh: fix test_grep fail message wording commit c17ed4fe26eb2647e5efad79dd697b9f8741e7a7 Merge: f96fecc7c4 6d6f1cd7ee Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 27 14:52:26 2023 -0800 Merge branch 'jc/doc-misspelt-refs-fix' Doc update. * jc/doc-misspelt-refs-fix: doc: format.notes specify a ref under refs/notes/ hierarchy commit f96fecc7c4066519dc028436d875685791646f74 Merge: b0d277d69f bc62d27d5c Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 27 14:52:26 2023 -0800 Merge branch 'jc/doc-most-refs-are-not-that-special' Doc updates. * jc/doc-most-refs-are-not-that-special: docs: MERGE_AUTOSTASH is not that special docs: AUTO_MERGE is not that special refs.h: HEAD is not that special git-bisect.txt: BISECT_HEAD is not that special git.txt: HEAD is not that special commit b0d277d69f0afdf1053bde614ea2db504d9bca1e Merge: 9df9e3770a 68fcebfb1a Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 27 14:52:26 2023 -0800 Merge branch 'es/add-doc-list-short-form-of-all-in-synopsis' Doc update. * es/add-doc-list-short-form-of-all-in-synopsis: git-add.txt: add missing short option -A to synopsis commit 9df9e3770a15b47e48f8218eed6d68ebcb5eed6c Merge: f6a129ceaf dee182941f Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 27 14:52:26 2023 -0800 Merge branch 'jk/mailinfo-iterative-unquote-comment' The code to parse the From e-mail header has been updated to avoid recursion. * jk/mailinfo-iterative-unquote-comment: mailinfo: avoid recursion when unquoting From headers t5100: make rfc822 comment test more careful commit f6a129ceaf0b9a1e294fcb5abdaad3885b3a391d Merge: 73b1808fa3 647b5e0998 Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 27 14:52:25 2023 -0800 Merge branch 'ps/chainlint-self-check-update' Test framework update. * ps/chainlint-self-check-update: tests: adjust whitespace in chainlint expectations commit 73b1808fa3f9cd7c0a6e5e5079a9715bade5f4a0 Merge: 637e34a783 7382497372 Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 27 14:52:25 2023 -0800 Merge branch 'rs/show-ref-incompatible-options' Code clean-up for sanity checking of command line options for "git show-ref". * rs/show-ref-incompatible-options: show-ref: use die_for_incompatible_opt3() commit 637e34a783e6c377a111629692fc24449e651efb Merge: b7fbd2ab83 c0cadb0576 Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 27 14:52:25 2023 -0800 Merge branch 'ps/reftable-fixes' Bunch of small fix-ups to the reftable code. * ps/reftable-fixes: reftable/block: reuse buffer to compute record keys reftable/block: introduce macro to initialize `struct block_iter` reftable/merged: reuse buffer to compute record keys reftable/stack: fix use of unseeded randomness reftable/stack: fix stale lock when dying reftable/stack: reuse buffers when reloading stack reftable/stack: perform auto-compaction with transactional interface reftable/stack: verify that `reftable_stack_add()` uses auto-compaction reftable: handle interrupted writes reftable: handle interrupted reads reftable: wrap EXPECT macros in do/while commit b7fbd2ab83a9c1152eb887ec49c02a71190058ec Merge: 01f86ebb95 811c9c2102 Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 27 14:52:25 2023 -0800 Merge branch 'jc/diff-cached-fsmonitor-fix' The optimization based on fsmonitor in the "diff --cached" codepath is resurrected with the "fake-lstat" introduced earlier. * jc/diff-cached-fsmonitor-fix: diff-lib: fix check_removed() when fsmonitor is active commit 01f86ebb95cc6613db3e637aaba1599e6435c6b7 Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 27 14:52:24 2023 -0800 Merge branch 'jc/fake-lstat' A new helper to let us pretend that we called lstat() when we know our cache_entry is up-to-date via fsmonitor. * jc/fake-lstat: cache: add fake_lstat() commit 53ded839aee86e3544c3e035385fe2ada33180b1 Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 20 22:59:24 2023 -0800 sparse-checkout: use default patterns for 'set' only !stdin "git sparse-checkout set ---no-cone" uses default patterns when none is given from the command line, but it should do so ONLY when --stdin is not being used. Right now, add_patterns_from_input() called when reading from the standard input is sloppy and does not check if there are extra command line parameters that the command will silently ignore, but that will change soon and not setting this unnecessary and unused default patterns start to matter when it gets fixed. Signed-off-by: Junio C Hamano <gitster@pobox.com> commit f8ab66f9f304d87c6c14e3e1449c689c56c20a26 Author: Elijah Newren <newren@gmail.com> Date: Tue Dec 26 19:39:22 2023 +0000 sparse-checkout: be consistent with end of options markers 93851746 (parse-options: decouple "--end-of-options" and "--", 2023-12-06) updated the world order to make callers of parse-options that set PARSE_OPT_KEEP_UNKNOWN_OPT responsible for deciding what to do with "--end-of-options" they may see after parse_options() returns. This made a previous bug in sparse-checkout more visible; namely, that git sparse-checkout [add|set] --[no-]cone --end-of-options ... would simply treat "--end-of-options" as one of the paths to include in the sparse-checkout. But this was already problematic before; namely, git sparse-checkout [add|set| --[no-]cone --sikp-checks ... would not give an error on the mis-typed "--skip-checks" but instead simply treat "--sikp-checks" as a path or pattern to include in the sparse-checkout, which is highly unfriendly. This behavior began when the command was converted to parse-options in 7bffca95ea (sparse-checkout: add '--stdin' option to set subcommand, 2019-11-21). Back then it was just called KEEP_UNKNOWN. Later it was renamed to KEEP_UNKNOWN_OPT in 99d86d60e5 (parse-options: PARSE_OPT_KEEP_UNKNOWN only applies to --options, 2022-08-19) to clarify that it was only about dashed options; we always keep non-option arguments. Looking at that original patch, both Peff and I think that the author was simply confused about the mis-named option, and really just wanted to keep the non-option arguments. We never should have used the flag all along (and the other cases were cargo-culted within the file). Remove the erroneous PARSE_OPT_KEEP_UNKNOWN_OPT flag now to fix this bug. Note that this does mean that anyone who might have been using git sparse-checkout [add|set] [--[no-]cone] --foo --bar to request paths or patterns '--foo' and '--bar' will now have to use git sparse-checkout [add|set] [--[no-]cone] -- --foo --bar That makes sparse-checkout more consistent with other git commands, provides users much friendlier error messages and behavior, and is consistent with the all-caps warning in git-sparse-checkout.txt that this command "is experimental...its behavior...will likely change". :-) Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit d57c671a511d885a5cd390e3d6064c37af524a91 Author: Elijah Newren <newren@gmail.com> Date: Sat Dec 23 17:15:00 2023 +0000 treewide: remove unnecessary includes in source files Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit ec2101abf3ea00a3cbb4c88c14d6658fa6d09984 Author: Elijah Newren <newren@gmail.com> Date: Sat Dec 23 17:14:59 2023 +0000 treewide: add direct includes currently only pulled in transitively The next commit will remove a bunch of unnecessary includes, but to do so, we need some of the lower level direct includes that files rely on to be explicitly specified. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit 0a4d5b97720a847d00e6553aeec0984de1e01472 Author: Elijah Newren <newren@gmail.com> Date: Sat Dec 23 17:14:58 2023 +0000 trace2/tr2_tls.h: remove unnecessary include The unnecessary include in the header transitively pulled in some other headers actually needed by source files, though. Have those source files explicitly include the headers they need. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit e9bb1664917a1c6c6379d196172fcd36618e3230 Author: Elijah Newren <newren@gmail.com> Date: Sat Dec 23 17:14:57 2023 +0000 submodule-config.h: remove unnecessary include The unnecessary include in the header transitively pulled in some other headers actually needed by source files, though. Have those source files explicitly include the headers they need. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit 545f7b50e8c7c63c3e763519f64846624dce6d52 Author: Elijah Newren <newren@gmail.com> Date: Sat Dec 23 17:14:56 2023 +0000 pkt-line.h: remove unnecessary include The unnecessary include in the header transitively pulled in some other headers actually needed by source files, though. Have those source files explicitly include the headers they need. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit a28fe2d9014758e18d870b1086b5a0c2be76d11f Author: Elijah Newren <newren@gmail.com> Date: Sat Dec 23 17:14:55 2023 +0000 line-log.h: remove unnecessary include The unnecessary include in the header transitively pulled in some other headers actually needed by source files, though. Have those source files explicitly include the headers they need. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit f25e65e0fea5cc45559079d9a84386efe2eb0c0c Author: Elijah Newren <newren@gmail.com> Date: Sat Dec 23 17:14:54 2023 +0000 http.h: remove unnecessary include The unnecessary include in the header transitively pulled in some other headers actually needed by source files, though. Have those source files explicitly include the headers they need. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit 31d20faa90c30aa90abc2227cbf65b67f81e98e2 Author: Elijah Newren <newren@gmail.com> Date: Sat Dec 23 17:14:53 2023 +0000 fsmonitor--daemon.h: remove unnecessary includes The unnecessary include in the header transitively pulled in some other headers actually needed by source files, though. Have those source files explicitly include the headers they need. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit bd6cc1d9eccfe2bd364fac91246583e9b6d712c0 Author: Elijah Newren <newren@gmail.com> Date: Sat Dec 23 17:14:52 2023 +0000 blame.h: remove unnecessary includes The unnecessary include in the header transitively pulled in some other headers actually needed by source files, though. Have those source files explicitly include the headers they need. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit c2c4138c07ca4d5ffc41ace0bfda0f189d3e262e Author: Elijah Newren <newren@gmail.com> Date: Sat Dec 23 17:14:51 2023 +0000 archive.h: remove unnecessary include The unnecessary include in the header transitively pulled in some other headers actually needed by source files, though. Have those source files explicitly include the headers they need. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit eea0e59ffbed6e33d171ace5be13cde9faa41639 Author: Elijah Newren <newren@gmail.com> Date: Sat Dec 23 17:14:50 2023 +0000 treewide: remove unnecessary includes in source files Each of these were checked with gcc -E -I. ${SOURCE_FILE} | grep ${HEADER_FILE} to ensure that removing the direct inclusion of the header actually resulted in that header no longer being included at all (i.e. that no other header pulled it in transitively). ...except for a few cases where we verified that although the header was brought in transitively, nothing from it was directly used in that source file. These cases were: * builtin/credential-cache.c * builtin/pull.c * builtin/send-pack.c Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit 147438e8a0eb31a06cb9aefbf0de8c45e544a4c7 Author: Elijah Newren <newren@gmail.com> Date: Sat Dec 23 17:14:49 2023 +0000 treewide: remove unnecessary includes from header files There are three kinds of unnecessary includes: * includes which aren't directly needed, but which include some other forgotten include * includes which could be replaced by a simple forward declaration of some structs * includes which aren't needed at all Remove the third kind of include. Subsequent commits (and a subsequent series) will work on removing some of the other kinds of includes. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit 5b7eec4bc517311f9ceb2dc7abadcc47ddc6b015 Author: René Scharfe <l.s.r@web.de> Date: Tue Dec 26 09:17:45 2023 +0100 fast-import: use mem_pool_calloc() Use mem_pool_calloc() to get a zeroed buffer instead of zeroing it ourselves. This makes the code clearer and less repetitive. Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit ffc05c4b72e6a7cf99eff76ccfc1837458377762 Author: Emily Shaffer <emilyshaffer@google.com> Date: Tue Dec 26 07:29:42 2023 -0800 debian: new "next" snapshot Change-Id: I3d6561976ff5d047ecd630cb792e4950ff30c597 Signed-off-by: Emily Shaffer <emilyshaffer@google.com> commit d9ada522a30a3fbcf1116ddd1118c5a5159866ea Merge: a9707d4e8b 3460e3d667 Author: Emily Shaffer <emilyshaffer@google.com> Date: Tue Dec 26 07:29:02 2023 -0800 Merge branch 'next' into debian-experimental Change-Id: Ieb1be3758cd47cfb4df6adf7d1338b7e57a2bec3 Signed-off-by: Emily Shaffer <emilyshaffer@google.com> commit 3460e3d6676870713ef17b300b03f70ee8f3cc44 Merge: 030300487a 0a06892ddd Author: Junio C Hamano <gitster@pobox.com> Date: Thu Dec 21 14:36:26 2023 -0800 Merge branch 'ps/pseudo-refs' into next Assorted changes around pseudoref handling. * ps/pseudo-refs: bisect: consistently write BISECT_EXPECTED_REV via the refdb refs: complete list of special refs refs: propagate errno when reading special refs fails wt-status: read HEAD and ORIG_HEAD via the refdb commit 030300487a9a04da1090c87b391ac73dfe52b9a6 Merge: 929a027fb7 d44b517137 Author: Junio C Hamano <gitster@pobox.com> Date: Thu Dec 21 14:36:25 2023 -0800 Merge branch 'jc/orphan-unborn' into next Doc updates to clarify what an "unborn branch" means. * jc/orphan-unborn: orphan/unborn: fix use of 'orphan' in end-user facing messages orphan/unborn: add to the glossary and use them consistently commit 929a027fb7a06d0b8c5c2679caca57504730a54e Merge: e26ede5f55 990adccbdf Author: Junio C Hamano <gitster@pobox.com> Date: Thu Dec 21 14:36:25 2023 -0800 Merge branch 'rj/status-bisect-while-rebase' into next "git status" is taught to show both the branch being bisected and being rebased when both are in effect at the same time. * rj/status-bisect-while-rebase: status: fix branch shown when not only bisecting commit e26ede5f554fa7705f46b9bee384293bd43da446 Merge: 39ef057c8b de7c27a186 Author: Junio C Hamano <gitster@pobox.com> Date: Thu Dec 21 14:36:25 2023 -0800 Merge branch 'la/trailer-cleanups' into next Code clean-up. * la/trailer-cleanups: trailer: use offsets for trailer_start/trailer_end trailer: find the end of the log message commit: ignore_non_trailer computes number of bytes to ignore commit 39ef057c8bc31937a71798c6a0cfec5d3c3f816d Merge: def8568c91 a762af3dfd Author: Junio C Hamano <gitster@pobox.com> Date: Thu Dec 21 14:36:25 2023 -0800 Merge branch 'jc/retire-cas-opt-name-constant' into next Code clean-up. * jc/retire-cas-opt-name-constant: remote.h: retire CAS_OPT_NAME commit f546151228ea99cb9e68ec321ace7d2ee7c20af5 Author: Jeff King <peff@peff.net> Date: Thu Dec 21 04:47:22 2023 -0500 t1006: add tests for %(objectsize:disk) Back when we added this placeholder in a4ac106178 (cat-file: add %(objectsize:disk) format atom, 2013-07-10), there were no tests, claiming "[...]the exact numbers returned are volatile and subject to zlib and packing decisions". But we can use a little shell hackery to get the expected numbers ourselves. To a certain degree this is just re-implementing what Git is doing under the hood, but it is still worth doing. It makes sure we exercise the %(objectsize:disk) code at all, and having the two implementations agree gives us more confidence. Note that our shell code assumes that no object appears twice (either in two packs, or as both loose and packed), as then the results really are undefined. That's OK for our purposes, and the test will notice if that assumption is violated (the shell version would produce duplicate lines that Git's output does not have). Helped-by: René Scharfe <l.s.r@web.de> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit d6b6cd139359097f565023f9481c9943989e4463 Author: Junio C Hamano <gitster@pobox.com> Date: Thu Dec 21 10:13:58 2023 -0800 archive: "--list" does not take further options "git archive --list blah" should notice an extra command line parameter that goes unused. Make it so. Signed-off-by: Junio C Hamano <gitster@pobox.com> commit 2e13ed4671d12ff996b1b44cf5a33de4d2c54b55 Merge: 564d0252ca 9385174627 Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 20 21:49:33 2023 -0800 Merge branch 'jk/end-of-options' into jc/sparse-checkout-set-add-end-of-options * jk/end-of-options: parse-options: decouple "--end-of-options" and "--" commit 63956c553d67fbc30a3c651e8115c4696eca4085 Author: Michael Lohmann <mial.lohmann@gmail.com> Date: Wed Dec 20 20:53:42 2023 +0100 Documentation/git-merge.txt: use backticks for command wrapping As René found in the guidance from CodingGuidelines: Literal examples (e.g. use of command-line options, command names, branch names, URLs, pathnames (files and directories), configuration and environment variables) must be typeset in monospace (i.e. wrapped with backticks) So all instances of single and double quotes for wraping said examples were replaced with simple backticks. Suggested-by: René Scharfe <l.s.r@web.de> Signed-off-by: Michael Lohmann <mi.al.lohmann@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit dc18ead555dc4d93bed7a72acc503a90a296f7bc Author: Michael Lohmann <mial.lohmann@gmail.com> Date: Wed Dec 20 22:35:34 2023 +0100 Documentation/git-merge.txt: fix reference to synopsis 437591a9d738 combined the synopsis of "The second syntax" (meaning `git merge --abort`) and "The third syntax" (for `git merge --continue`) into this single line: git merge (--continue | --abort | --quit) but it was still referred to when describing the preconditions that have to be fulfilled to run the respective actions. In other words: References by number are no longer valid after a merge of some of the synopses. Also the previous version of the documentation did not acknowledge that `--no-commit` would result in the precondition being fulfilled (thanks to Elijah Newren and Junio C Hamano for pointing that out). This change also groups `--abort` and `--continue` together when explaining the prerequisites in order to avoid duplication. Helped-by: René Scharfe <l.s.r@web.de> Signed-off-by: Michael Lohmann <mi.al.lohmann@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit de7c27a1869953158436e60542ea556d78c3f4c2 Author: Linus Arver <linusa@google.com> Date: Fri Oct 20 19:01:35 2023 +0000 trailer: use offsets for trailer_start/trailer_end Previously these fields in the trailer_info struct were of type "const char *" and pointed to positions in the input string directly (to the start and end positions of the trailer block). Use offsets to make the intended usage less ambiguous. We only need to reference the input string in format_trailer_info(), so update that function to take a pointer to the input. While we're at it, rename trailer_start to trailer_block_start to be more explicit about these offsets (that they are for the entire trailer block including other trailers). Ditto for trailer_end. Reported-by: Glen Choo <glencbz@gmail.com> Signed-off-by: Linus Arver <linusa@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit 97e9d0b78a038de37245acbef11a10c4ae2feeb3 Author: Linus Arver <linusa@google.com> Date: Fri Oct 20 19:01:34 2023 +0000 trailer: find the end of the log message Previously, trailer_info_get() computed the trailer block end position by (1) checking for the opts->no_divider flag and optionally calling find_patch_start() to find the "patch start" location (patch_start), and (2) calling find_trailer_end() to find the end of the trailer block using patch_start as a guide, saving the return value into "trailer_end". The logic in (1) was awkward because the variable "patch_start" is misleading if there is no patch in the input. The logic in (2) was misleading because it could be the case that no trailers are in the input (yet we are setting a "trailer_end" variable before even searching for trailers, which happens later in find_trailer_start()). The name "find_trailer_end" was misleading because that function did not look for any trailer block itself --- instead it just computed the end position of the log message in the input where the end of the trailer block (if it exists) would be (because trailer blocks must always come after the end of the log message). Combine the logic in (1) and (2) together into find_patch_start() by renaming it to find_end_of_log_message(). The end of the log message is the starting point which find_trailer_start() needs to start searching backward to parse individual trailers (if any). Helped-by: Jonathan Tan <jonathantanmy@google.com> Helped-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Linus Arver <linusa@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> commit def8568c9112108ee4bb819984aa902a04b042ad Merge: ecb190973c 055bb6e996 Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 20 10:40:17 2023 -0800 Sync with 'master' commit ecb190973c9ca3546b23fbbafe008b40bab73e64 Merge: 7957d4aa5b 45184afb4d Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 20 10:39:58 2023 -0800 Merge branch 'rs/rebase-use-strvec-pushf' into next Code clean-up. * rs/rebase-use-strvec-pushf: rebase: use strvec_pushf() for format-patch revisions commit 7957d4aa5bbe9ddae12ba9060b52e08bfc6089ad Merge: adf7eb1f84 44dbb3bf29 Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 20 10:39:58 2023 -0800 Merge branch 'sh/completion-with-reftable' into next Command line completion script (in contrib/) learned to work better with the reftable backend. * sh/completion-with-reftable: completion: support pseudoref existence checks for reftables completion: refactor existence checks for pseudorefs commit 055bb6e9969085777b7fab83e3fee0017654f134 Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 20 10:15:09 2023 -0800 The third batch Signed-off-by: Junio C Hamano <gitster@pobox.com> commit 66e959f4316dcfd5eca8fcd3e0072415277753ea Merge: 2b9cbc6d01 ea8f9494ab Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 20 10:14:54 2023 -0800 Merge branch 'jk/config-cleanup' Code clean-up around use of configuration variables. * jk/config-cleanup: sequencer: simplify away extra git_config_string() call gpg-interface: drop pointless config_error_nonbool() checks push: drop confusing configset/callback redundancy config: use git_config_string() for core.checkRoundTripEncoding diff: give more detailed messages for bogus diff.* config config: use config_error_nonbool() instead of custom messages imap-send: don't use git_die_config() inside callback git_xmerge_config(): prefer error() to die() config: reject bogus values for core.checkstat commit 2b9cbc6d01ba3e54de09efde1dd2ed46c2d36e94 Merge: 67dfb897b3 d49cb162fa Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 20 10:14:54 2023 -0800 Merge branch 'jk/implicit-true' Some codepaths did not correctly parse configuration variables specified with valueless "true", which has been corrected. * jk/implicit-true: fsck: handle NULL value when parsing message config trailer: handle NULL value when parsing trailer-specific config submodule: handle NULL value when parsing submodule.*.branch help: handle NULL value for alias.* config trace2: handle NULL values in tr2_sysenv config callback setup: handle NULL value when parsing extensions config: handle NULL value when parsing non-bools commit 67dfb897b3ea438a5a7bb29af2cd0360235e5191 Merge: 9eec6a1c5f daaa03e54c Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 20 10:14:54 2023 -0800 Merge branch 'jk/bisect-reset-fix' "git bisect reset" has been taught to clean up state files and refs even when BISECT_START file is gone. * jk/bisect-reset-fix: bisect: always clean on reset commit 9eec6a1c5fc03e5f01f200bdb28f1dc6b8e9f03e Merge: 3c8f932d35 9385174627 Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 20 10:14:54 2023 -0800 Merge branch 'jk/end-of-options' "git $cmd --end-of-options --rev -- --path" for some $cmd failed to interpret "--rev" as a rev, and "--path" as a path. This was fixed for many programs like "reset" and "checkout". * jk/end-of-options: parse-options: decouple "--end-of-options" and "--" commit 3c8f932d3537809b93b5dce31d14532ed84731ea Merge: c4bf868bee 792b86283b Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 20 10:14:53 2023 -0800 Merge branch 'rs/incompatible-options-messages' Clean-up code that handles combinations of incompatible options. * rs/incompatible-options-messages: worktree: simplify incompatibility message for --orphan and commit-ish worktree: standardize incompatibility messages clean: factorize incompatibility message revision, rev-parse: factorize incompatibility messages about - -exclude-hidden revision: use die_for_incompatible_opt3() for - -graph/--reverse/--walk-reflogs repack: use die_for_incompatible_opt3() for -A/-k/--cruft push: use die_for_incompatible_opt4() for - -delete/--tags/--all/--mirror commit c4bf868bee2fe36c42c3033ceba725553d729ecf Merge: 2d09302a01 71a1e94821 Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 20 10:14:53 2023 -0800 Merge branch 'jc/revision-parse-int' The command line parser for the "log" family of commands was too loose when parsing certain numbers, e.g., silently ignoring the extra 'q' in "git log -n 1q" without complaining, which has been tightened up. * jc/revision-parse-int: revision: parse integer arguments to --max-count, --skip, etc., more carefully commit 2d09302a01ecf53df3aa9997f7353fb4e845922c Merge: a21a929643 e4299d26d4 Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 20 10:14:53 2023 -0800 Merge branch 'mk/doc-gitfile-more' Doc update. * mk/doc-gitfile-more: doc: make the gitfile syntax easier to discover commit a21a9296439cbbf548b87d820cd9de9ff81fea22 Merge: 145336ec1d 866a1b9026 Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 20 10:14:53 2023 -0800 Merge branch 'ps/ref-tests-update-more' Tests update. * ps/ref-tests-update-more: t6301: write invalid object ID via `test-tool ref-store` t5551: stop writing packed-refs directly t5401: speed up creation of many branches t4013: simplify magic parsing and drop "failure" t3310: stop checking for reference existence via `test -f` t1417: make `reflog --updateref` tests backend agnostic t1410: use test-tool to create empty reflog t1401: stop treating FETCH_HEAD as real reference t1400: split up generic reflog tests from the reffile-specific ones t0410: mark tests to require the reffiles backend commit 145336ec1d028b9a6c1c39554972ffe0d497e7bb Merge: 425e7f0532 d9fd71fa2a Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 20 10:14:52 2023 -0800 Merge branch 'jp/use-diff-index-in-pre-commit-sample' The sample pre-commit hook that tries to catch introduction of new paths that use potentially non-portable characters did not notice an existing path getting renamed to such a problematic path, when rename detection was enabled. * jp/use-diff-index-in-pre-commit-sample: hooks--pre-commit: detect non-ASCII when renaming commit 425e7f0532bcc420f7a8315e3e9702a44d1c1e73 Merge: 624eb90fa8 a1fbe26a0c Author: Junio C Hamano <gitster@pobox.com> Date: Wed Dec 20 10:14:52 2023 -0800 Merge branch 'en/complete-sparse-checkout' Command line completion (in contrib/) learned to complete path arguments to the "add/set" subcommands of "git sparse-checkout" better. * en/complete-sparse-checkout: completion: avoid user confusion in non-cone mode completion: avoid misleading completions in cone mode completion: fix logic for determining whether cone mode is active completion: squelch stray errors in sparse-checkout completion
There are 3 open security issues in bullseye.
You can find information about how to handle these issues in the security team's documentation.
There are 3 open security issues in bookworm.
You can find information about how to handle these issues in the security team's documentation.