Commit Graph

78509 Commits (seen)

Author SHA1 Message Date
Junio C Hamano 1c3ec7b06a Merge branch 'ps/meson-build-docs' into seen
The build procedure based on meson learned a target to only build
documentation, similar to "make doc".

Comments?

* ps/meson-build-docs:
  ci: don't compile whole project when testing docs with Meson
  meson: print docs backend as part of the summary
  meson: introduce a "docs" alias to compile documentation only
2025-09-12 10:42:07 -07:00
Junio C Hamano f2d5c988a7 Merge branch 'ps/config-get-color-fixes' into seen
The use of "git config get" command to learn how ANSI color
sequence is for a particular type, e.g., "git config get
--type=color --default=reset no.such.thing", isn't very ergonomic.

Comments?

* ps/config-get-color-fixes:
  builtin/config: do not spawn pager when printing color codes
  builtin/config: special-case retrieving colors without a key
  builtin/config: do not die in `get_color()`
  t1300: small style fixups
  t1300: write test expectations in the test's body
2025-09-12 10:42:07 -07:00
Junio C Hamano da2b3d9898 Merge branch 'kh/you-still-use-whatchanged-fix' into seen
Update "do you still use it?" message given by a command that is
deeply deprecated and allow us to suggest alternatives.

* kh/you-still-use-whatchanged-fix:
  fixup! git: allow alias-shadowing deprecated builtins
2025-09-12 10:42:07 -07:00
Junio C Hamano e5c4770e01 Merge branch 'cc/fast-import-strip-signed-commits' into seen
"git fast-import" learned that "--signed-commits=<how>" option that
corresponds to that of "git fast-export".

Comments?

* cc/fast-import-strip-signed-commits:
  fast-import: add '--signed-commits=<mode>' option
  gpg-interface: refactor 'enum sign_mode' parsing
2025-09-12 10:42:06 -07:00
Junio C Hamano bcc57e063d Merge branch 'ar/submodule-gitdir-tweak' into seen
Avoid local submodule repository directory paths overlapping with
each other by encoding submodule names before using them as path
components.

* ar/submodule-gitdir-tweak:
  t7425: add gitdir encoding tests
  t7450: move nested gitdir tests to t7425
  submodule: remove validate_submodule_git_dir()
  submodule: error out if gitdir name is too long
  submodule: encode gitdir paths to avoid conflicts
  strbuf: bring back is_rfc3986_unreserved
  t7425: add basic mixed submodule gitdir path tests
  submodule: add gitdir path config override
  submodule: create new gitdirs under submodules path
  submodule--helper: use submodule_name_to_gitdir in add_submodule
2025-09-12 10:42:06 -07:00
Junio C Hamano 8e9135c8ee Merge branch 'kn/refs-files-case-insensitive' into seen
Deal more gracefully with directory / file conflicts when the files
backend is used for ref storage, by failing only the ones that are
involved in the conflict while allowing others.

* kn/refs-files-case-insensitive:
  refs/files: handle D/F conflicts during locking
  refs/files: handle F/D conflicts in case-insensitive FS
  refs/files: use correct error type when lock exists
  refs/files: catch conflicts on case-insensitive file-systems
2025-09-12 10:42:05 -07:00
Junio C Hamano 45d8bd1658 Merge branch 'ms/refs-optimize' into seen
"git refs optimize" is added for not very well explained reason
despite it does the same thing as "git pack-refs"...

* ms/refs-optimize:
  t: add test for git refs optimize subcommand
  t0601: refactor tests to be shareable
  builtin/refs: add optimize subcommand
  doc: factor out common option
  builtin/pack-refs: factor out core logic into a shared library
2025-09-12 10:42:05 -07:00
Junio C Hamano 71ee111977 Merge branch 'ps/commit-graph-per-object-source' into seen
Declare commit-graph is per object_source, which may not be a good idea.

cf. <cf7aeda1-297a-4805-b0ae-e379ce11bbcf@gmail.com>

* ps/commit-graph-per-object-source:
  odb: move commit-graph into the object sources
  commit-graph: pass graphs that are to be merged as parameter
  commit-graph: return commit graph from `repo_find_commit_pos_in_graph()`
  commit-graph: return the prepared commit graph from `prepare_commit_graph()`
  revision: drop explicit check for commit graph
  blame: drop explicit check for commit graph
2025-09-12 10:42:04 -07:00
Junio C Hamano 54436bd8a9 Merge branch 'lc/rebase-trailer' into seen
* lc/rebase-trailer:
  rebase: support --trailer
  trailer: append trailers in-process and drop the fork to `interpret-trailers`
2025-09-12 10:42:03 -07:00
Junio C Hamano b83d88d5b9 Merge branch 'ds/sparse-checkout-clean' into seen
"git sparse-checkout" subcommand learned a new "clean" action to
prune otherwise unused working-tree files that are outside the
areas of interest.

* ds/sparse-checkout-clean:
  t: expand tests around sparse merges and clean
  sparse-index: point users to new 'clean' action
  sparse-checkout: add --verbose option to 'clean'
  dir: add generic "walk all files" helper
  sparse-checkout: match some 'clean' behavior
  sparse-checkout: add basics of 'clean' command
  sparse-checkout: remove use of the_repository
2025-09-12 10:42:03 -07:00
Junio C Hamano f61b2e3b6d Merge branch 'ps/rust-balloon' into seen
Dip our toes a bit to (optionally) use Rust implemented helper
called from our C code.

Comments?

* ps/rust-balloon:
  ci: enable Rust for breaking-changes jobs
  ci: convert "pedantic" job into full build with breaking changes
  BreakingChanges: announce Rust becoming mandatory
  varint: reimplement as test balloon for Rust
  varint: use explicit width for integers
  help: report on whether or not Rust is enabled
  Makefile: introduce infrastructure to build internal Rust library
  Makefile: reorder sources after includes
  meson: add infrastructure to build internal Rust library
2025-09-12 10:42:02 -07:00
Junio C Hamano 8992265c65 Merge branch 'jt/odb-transaction' into seen
Continue the work to build on the bulk-checkin infrastructure to
create many objects at once in a transaction and abstract it into
the generic object layer.

Comments?

* jt/odb-transaction:
  odb: add transaction interface
  object-file: update naming from bulk-checkin
  object-file: relocate ODB transaction code
  bulk-checkin: drop flush_odb_transaction()
  builtin/update-index: end ODB transaction when --verbose is specified
  bulk-checkin: remove ODB transaction nesting
2025-09-12 10:42:01 -07:00
Junio C Hamano 3858eff586 Merge branch 'en/rust-xdiff' into jch
Rust!  Not Rust, though ;-)

Comments?

* en/rust-xdiff:
  xdiff: change the types of dstart, dend, rchg, and rindex in xdfile_t
  xdiff: make xdfile_t.nreff a usize instead of long
  xdiff: make xdfile_t.nrec a usize instead of long
  xdiff: split xrecord_t.ha into line_hash and minimal_perfect_hash
  xdiff: make xrecord_t.size a usize instead of long
  xdiff: make xrecord_t.ptr a u8 instead of char
  xdiff: include compat/rust_types.h
  compat/rust_types.h: define rust primitive types
  xdiff: treat xdfile_t.rchg like an enum
  xdiff: delete chastore from xdfile_t, view with --color-words
  xdiff: delete fields ha, line, size in xdlclass_t in favor of an xrecord_t
  xdiff: delete redundant array xdfile_t.ha
  xdiff: delete struct diffdata_t
  xdiff: delete xdl_get_rec() in xemit
  xdiff: delete unnecessary fields from xrecord_t and xdfile_t
  xdiff: delete local variables and initialize/free xdfile_t directly
  xdiff: delete static forward declarations in xprepare
2025-09-12 10:41:49 -07:00
Junio C Hamano 3b467fc15b Merge branch 'sj/string-list' into jch
The "string-list" API function to find where a given string would
be inserted got updated so that it can use unrealistically huge
array index that would only fit in size_t but not int or ssize_t
to achieve unstated goal.

* sj/string-list:
  refs: enable sign compare warnings check
  string-list: change "string_list_find_insert_index" return type to "size_t"
  string-list: replace negative index encoding with "exact_match" parameter
  string-list: allow passing NULL for `get_entry_index`
2025-09-12 10:41:49 -07:00
Junio C Hamano dfde551e64 Merge branch 'pw/3.0-default-initial-branch-to-main' into jch
Declare that "git init" that is not otherwise configured uses
'main' as the initial branch, not 'master', starting Git 3.0.

Comments?

* pw/3.0-default-initial-branch-to-main:
  t0613: stop setting default initial branch
  t9902: switch default branch name to main
  t4013: switch default branch name to main
  breaking-changes: switch default branch to main
2025-09-12 10:41:48 -07:00
Junio C Hamano ee1b1f5c63 Merge branch 'ps/packfile-store' into jch
Code clean-up around the in-core list of all the pack files and
object database(s).

Comments?

* ps/packfile-store:
  packfile: refactor `get_packed_git_mru()` to work on packfile store
  packfile: refactor `get_all_packs()` to work on packfile store
  packfile: remove `get_packed_git()`
  packfile: move `get_multi_pack_index()` into "midx.c"
  packfile: introduce function to load and add packfiles
  packfile: refactor `install_packed_git()` to work on packfile store
  packfile: split up responsibilities of `reprepare_packed_git()`
  packfile: refactor `prepare_packed_git()` to work on packfile store
  packfile: reorder functions to avoid function declaration
  odb: move kept cache into `struct packfile_store`
  odb: move MRU list of packfiles into `struct packfile_store`
  odb: move packfile map into `struct packfile_store`
  odb: move initialization bit into `struct packfile_store`
  odb: move list of packfiles into `struct packfile_store`
  packfile: introduce a new `struct packfile_store`
2025-09-12 10:41:48 -07:00
Junio C Hamano 86f9dc708b Merge branch 'kh/you-still-use-whatchanged-fix' (early part) into jch
* 'kh/you-still-use-whatchanged-fix' (early part):
  BreakingChanges: remove claim about whatchanged reports
  whatchanged: remove not-even-shorter clause
  whatchanged: tell users the git-log(1) equivalent
  you-still-use-that??: help the user help themselves
  t0014: test shadowing of aliases for a sample of builtins
  git: allow alias-shadowing deprecated builtins
  git: add `deprecated` category to --list-cmds
2025-09-12 10:41:46 -07:00
Junio C Hamano 47c8a513b5 Merge branch 'je/doc-checkout' into jch
Doc updates.

Comments?

* je/doc-checkout:
  doc: git-checkout: clarify restoring files section
  doc: git-checkout: split up restoring files section
  doc: git-checkout: deduplicate --detach explanation
  doc: git-checkout: clarify `-b` and `-B`
  doc: git-checkout: clarify `git checkout <branch>`
  doc: git-checkout: clarify ARGUMENT DISAMBIGUATION
  doc: git-checkout: clarify intro sentence
2025-09-12 10:41:46 -07:00
Junio C Hamano 0247ad81d3 Merge branch 'cs/subtree-squash-split-fix' into jch
"git subtree" (in contrib/) did not work correctly when splitting
squashed subtrees, which has been improved.

* cs/subtree-squash-split-fix:
  contrib/subtree: fix split with squashed subtrees
2025-09-12 10:41:45 -07:00
Junio C Hamano 677c5e4e14 Merge branch 'ps/clar-updates' into jch
Import a newer version of the clar unit testing framework.

* ps/clar-updates:
  t/unit-tests: update clar to fcbed04
2025-09-12 10:41:44 -07:00
Junio C Hamano 9d6011fa5a Merge branch 'rs/get-oid-with-flags-cleanup' into jch
Code clean-up.

* rs/get-oid-with-flags-cleanup:
  use repo_get_oid_with_flags()
2025-09-12 10:41:44 -07:00
Junio C Hamano 216ecaf3d3 Merge branch 'jk/add-i-color' into jch
Some among "git add -p" and friends ignored color.diff and/or
color.ui configuration variables, which is an old regression, which
has been corrected.

* jk/add-i-color:
  contrib/diff-highlight: mention interactive.diffFilter
  add-interactive: manually fall back color config to color.ui
  add-interactive: respect color.diff for diff coloring
  stash: pass --no-color to diff plumbing child processes
2025-09-12 10:41:43 -07:00
Junio C Hamano 9dbb08106d Merge branch 'cc/promisor-remote-capability' into jch
The "promisor-remote" capability mechanism has been updated to
allow the "partialCloneFilter" settings and the "token" value to be
communicated from the server side.

* cc/promisor-remote-capability:
  promisor-remote: use string_list_split() in mark_remotes_as_accepted()
  promisor-remote: allow a client to check fields
  promisor-remote: use string_list_split() in filter_promisor_remote()
  promisor-remote: refactor how we parse advertised fields
  promisor-remote: use string constants for 'name' and 'url' too
  promisor-remote: allow a server to advertise more fields
  promisor-remote: refactor to get rid of 'struct strvec'
2025-09-12 10:41:43 -07:00
Junio C Hamano afdb0afe44 ### match next 2025-09-12 10:41:42 -07:00
Junio C Hamano 724edc84c9 Merge branch 'pc/range-diff-memory-limit' into jch
"git range-diff" learned a way to limit the memory consumed by
O(N*N) cost matrix.

* pc/range-diff-memory-limit:
  range-diff: add configurable memory limit for cost matrix
2025-09-12 10:41:42 -07:00
Junio C Hamano 4d8a0a1a07 Merge branch 'ne/alloc-free-and-null' into jch
The clear_alloc_state() API function was not fully clearing the
structure for reuse, but since nobody reuses it, replace it with a
variant that frees the structure as well, making the callers simpler.

* ne/alloc-free-and-null:
  alloc: fix dangling pointer in alloc_state cleanup
2025-09-12 10:41:42 -07:00
Junio C Hamano 31055dd58c Merge branch 'jk/curl-global-trace-components' into jch
Adjust to the way newer versions of cURL selectivel enables tracing
options, so that our tests can continue to work.

* jk/curl-global-trace-components:
  curl: add support for curl_global_trace() components
2025-09-12 10:41:41 -07:00
Junio C Hamano 577ea887a9 Merge branch 'ag/doc-sendmail-gmail-example-update' into jch
Doc update.

* ag/doc-sendmail-gmail-example-update:
  docs: update sendmail docs to use more secure SMTP server for Gmail
2025-09-12 10:41:41 -07:00
Junio C Hamano 75ffe0a173 Merge branch 'kn/clang-format-bitfields' into jch
CodingGuidelines now spells out how bitfields are to be written.

* kn/clang-format-bitfields:
  Documentation: note styling for bit fields
2025-09-12 10:41:41 -07:00
Junio C Hamano 3967b09def Merge branch 'jc/longer-disambiguation-fix' into jch
"git rev-parse --short" and friends failed to disambiguate two
objects with object names that share common prefix longer than 32
characters.

* jc/longer-disambiguation-fix:
  abbrev: allow extending beyond 32 chars to disambiguate
2025-09-12 10:41:40 -07:00
Junio C Hamano e3b6a2d959 Merge branch 'sg/line-log-boundary-fixes' into jch
Fix for a corner case bug in "git log -L...".

* sg/line-log-boundary-fixes:
  line-log: show all line ranges touched by the same diff range
  line-log: fix assertion error
2025-09-12 10:41:40 -07:00
Junio C Hamano 9f053258e9 Merge branch 'jc/doc-includeif-hasconfig-remote-url-fix' into jch
Doc mark-up fix.

* jc/doc-includeif-hasconfig-remote-url-fix:
  config: document includeIf conditions consistently
2025-09-12 10:41:39 -07:00
Junio C Hamano 81e89743a9 Merge branch 'ag/send-email-imap-sent' into jch
"git send-email" learned to drive "git imap-send" to store already
sent e-mails in an IMAP folder.

* ag/send-email-imap-sent:
  send-email: enable copying emails to an IMAP folder without actually sending them
  send-email: add ability to send a copy of sent emails to an IMAP folder
2025-09-12 10:41:39 -07:00
Junio C Hamano a11bd7c707 Merge branch 'pw/3.0-commentchar-auto-deprecation' into jch
Proposes to deprecate "core.commentChar=auto" that attempts to
dynamically pick a suitable comment character, as it is too much
trouble to support for little benefit.

* pw/3.0-commentchar-auto-deprecation:
  commit: print advice when core.commentString=auto
  config: warn on core.commentString=auto
  breaking-changes: deprecate support for core.commentString=auto
2025-09-12 10:41:38 -07:00
Junio C Hamano 20f3c665b0 Merge branch 'kh/doc-fast-import-markup-fix' into jch
Doc mark-up fix.

* kh/doc-fast-import-markup-fix:
  doc: fast-import: replace literal block with paragraph
2025-09-12 10:41:38 -07:00
Junio C Hamano 83b9fb33bb Merge branch 'mm/worktree-doc-typofix' into jch
Docfix.

* mm/worktree-doc-typofix:
  docs: fix typo in worktree.adoc 'extension'
2025-09-12 10:41:37 -07:00
Junio C Hamano 990555c902 Merge branch 'rs/object-name-extend-abbrev-len-update' into jch
Code clean-up.

* rs/object-name-extend-abbrev-len-update:
  object-name: declare pointer type of extend_abbrev_len()'s 2nd parameter
2025-09-12 10:41:37 -07:00
Junio C Hamano 20447a85d7 Merge branch 'ps/upload-pack-oom-protection' into jch
* ps/upload-pack-oom-protection:
  upload-pack: don't ACK non-commits repeatedly in protocol v2
  t5530: modernize tests
2025-09-12 10:41:36 -07:00
Junio C Hamano fc6fdec010 Merge branch 'ds/midx-write-fixes' into jch
Fixes multiple crashes around midx write-out codepaths.

* ds/midx-write-fixes:
  midx-write: simplify error cases
  midx-write: reenable signed comparison errors
  midx-write: use uint32_t for preferred_pack_idx
  midx-write: use cleanup when incremental midx fails
  midx-write: put failing response value back
  midx-write: only load initialized packs
2025-09-12 10:41:36 -07:00
Junio C Hamano ffaabdc621 Merge branch 'lo/repo-info-step-2' into jch
"repo info" learns a short-hand option "-z" that is the same as
"--format=nul", and learns to report the objects format used in the
repository.

* lo/repo-info-step-2:
  repo: add the field objects.format
  repo: add the flag -z as an alias for --format=nul
2025-09-12 10:41:35 -07:00
Junio C Hamano 3b52f9480d Merge branch 'jt/de-global-bulk-checkin' into jch
The bulk-checkin code used to depend on a file-scope static
singleton variable, which has been updated to pass an instance
throughout the callchain.

* jt/de-global-bulk-checkin:
  bulk-checkin: use repository variable from transaction
  bulk-checkin: require transaction for index_blob_bulk_checkin()
  bulk-checkin: remove global transaction state
  bulk-checkin: introduce object database transaction structure
2025-09-12 10:41:35 -07:00
Junio C Hamano 92c87bdc40 The eighth batch
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2025-09-12 10:41:21 -07:00
Junio C Hamano da3799a67b Merge branch 'rs/describe-with-lazy-queue-and-oidset'
Instead of scanning for the remaining items to see if there are
still commits to be explored in the queue, use khash to remember
which items are still on the queue (an unacceptable alternative is
to reserve one object flag bits).

* rs/describe-with-lazy-queue-and-oidset:
  describe: use oidset in finish_depth_computation()
2025-09-12 10:41:21 -07:00
Junio C Hamano f67058f0fa Merge branch 'tc/t0450-harden'
Test updates.

* tc/t0450-harden:
  t0450: add allowlist for builtins with missing .adoc
  t0450: fix test for out-of-tree builds
2025-09-12 10:41:21 -07:00
Junio C Hamano 4097eac99c Merge branch 'kh/doc-markup-fixes'
Doc markup fixes.

* kh/doc-markup-fixes:
  doc: remove extra backtick for inline-verbatim
  doc: add missing backtick for inline-verbatim
2025-09-12 10:41:20 -07:00
Junio C Hamano ed19b95d01 Merge branch 'km/alias-doc-markup-fix'
Docfix.

* km/alias-doc-markup-fix:
  doc: fix formatting of function-wrap shell alias
2025-09-12 10:41:20 -07:00
Junio C Hamano ca3999d1db Merge branch 'ps/gitlab-ci-disable-windows-monitoring'
Windows "real-time monitoring" interferes with the execution of
tests and affects negatively in both correctness and performance,
which has been disabled in Gitlab CI.

* ps/gitlab-ci-disable-windows-monitoring:
  gitlab-ci: disable realtime monitoring to unbreak Windows jobs
2025-09-12 10:41:20 -07:00
Junio C Hamano 07f29476de Merge branch 'ms/refs-exists'
"git refs exists" that works like "git show-ref --exists" has been
added.

* ms/refs-exists:
  t: add test for git refs exists subcommand
  t1422: refactor tests to be shareable
  t1403: split 'show-ref --exists' tests into a separate file
  builtin/refs: add 'exists' subcommand
2025-09-12 10:41:19 -07:00
Junio C Hamano c31a276f12 Merge branch 'ps/object-store-midx-dedup-info'
Further code clean-up for multi-pack-index code paths.

* ps/object-store-midx-dedup-info:
  midx: compute paths via their source
  midx: stop duplicating info redundant with its owning source
  midx: write multi-pack indices via their source
  midx: load multi-pack indices via their source
  midx: drop redundant `struct repository` parameter
  odb: simplify calling `link_alt_odb_entry()`
  odb: return newly created in-memory sources
  odb: consistently use "dir" to refer to alternate's directory
  odb: allow `odb_find_source()` to fail
  odb: store locality in object database sources
2025-09-12 10:41:18 -07:00
Junio C Hamano 4065e482f7 Merge branch 'je/doc-add'
Documentation for "git add" has been updated.

* je/doc-add:
  doc: rephrase the purpose of the staging area
  doc: git-add: simplify discussion of ignored files
  doc: git-add: clarify intro & add an example
2025-09-12 10:41:18 -07:00