Commit Graph

81737 Commits (seen)

Author SHA1 Message Date
Junio C Hamano d7a7349d20 Merge branch 'ps/libgit-in-subdir' into seen
The source files for libgit.a have been moved into a new "lib/"
directory to clean up the top-level directory and clearly separate
library code.

* ps/libgit-in-subdir:
  Move libgit.a sources into separate "lib/" directory
  t/helper: prepare "test-example-tap.c" for introduction of "lib/"
2026-07-01 11:19:30 -07:00
Junio C Hamano 7d4a338774 Merge branch 'jk/bloom-leak-fixes' into seen
Several leak fixes in the changed-path Bloom filter code paths have
been made, resolving issues that crop up when running the test suite
with leak sanitization enabled and non-default test settings.

* jk/bloom-leak-fixes:
  line-log: drop extra copy of range with bloom filters
  revision: avoid leaking bloom keyvecs with multiple traversals
  bloom: make bloom-filter slab initialization idempotent
2026-07-01 11:19:02 -07:00
Junio C Hamano a21c4f4531 Merge branch 'js/ci-dockerized-pid-limit' into seen
Dockerized CI jobs running in private GitHub repositories have been
adjusted to use explicit process and file limits, preventing resource
exhaustion errors on private runners.

* js/ci-dockerized-pid-limit:
  ci(dockerized): reduce the PID limit for private repositories
2026-07-01 11:18:38 -07:00
Junio C Hamano 21263cedac Merge branch 'js/coverity-fixes' into seen
A collection of fixes for various resource leaks, invalid file
descriptor closures, and process handle ownership issues flagged by
Coverity.

* js/coverity-fixes:
  mingw: make exit_process() own the process handle on all paths
  fsmonitor: plug token-data leak on early daemon-startup failures
  reftable/table: release filter on error path
  imap-send: avoid leaking the IMAP upload buffer
  worktree: fix resource leaks when branch creation fails
  submodule: fix cwd leak in get_superproject_working_tree()
  dir: free allocations on parse-error paths in read_one_dir()
  line-log: avoid redundant copy that leaks in process_ranges
  run_diff_files: avoid memory leak
  run-command: avoid close(-1) in start_command() error paths
  download_https_uri_to_file(): do not leak fd upon failure
  loose: avoid closing invalid fd on error path
  load_one_loose_object_map(): fix resource leak
2026-07-01 11:17:54 -07:00
Junio C Hamano f6153a5bb9 Merge branch 'tb/repack-geometric-cruft' into seen
Teach `git repack` to accept `--geometric` and `--cruft`
together. When both are given, the geometric repack rolls up non-cruft
packs as usual, while a separate cruft pack is written to collect
unreachable objects.

* tb/repack-geometric-cruft:
  SQUASH??? bare grep !???
  repack: support combining '--geometric' with '--cruft'
  pack-objects: support '--refs-snapshot' with 'follow-reachable'
  pack-objects: introduce '--stdin-packs=follow-reachable'
  pack-objects: extract `stdin_packs_add_all_pack_entries()`
  repack-geometry: drop unused redundant-pack removal
  repack: delete geometric packs via existing_packs
  repack: teach MIDX retention about geometric rollups
  repack: mark geometric progression of packs as retained
  repack: extract `locate_existing_pack()` helper
  repack: unconditionally exclude non-kept packs
2026-07-01 11:17:39 -07:00
Junio C Hamano b1fe8b6d03 Merge branch 'ty/migrate-excludes-file' into seen
Move excludes_file global variable into per-repository structure.

* ty/migrate-excludes-file:
  environment: move excludes_file into repo_config_values
2026-07-01 11:17:39 -07:00
Junio C Hamano 3eff59ca8e Merge branch 'jt/receive-pack-use-odb-transactions' into seen
git-receive-pack has been refactored to use ODB transaction
interfaces instead of directly managing tmp_objdir for staging
incoming objects, bringing it closer to being ODB backend agnostic.

* jt/receive-pack-use-odb-transactions:
  builtin/receive-pack: stage incoming objects via ODB transactions
  odb/transaction: add transaction env interface
  odb/transaction: propagate commit errors
  odb/transaction: propagate begin errors
  object-file: propagate files transaction errors
  object-file: rename files transaction prepare function
2026-07-01 11:10:54 -07:00
Junio C Hamano 01c1771892 Merge branch 'hn/history-squash' into seen
The experimental "git history" command has been taught a new
"squash" subcommand to fold a range of commits into a single commit,
replaying any descendants on top.

* hn/history-squash:
  history: re-edit a squash with every message
  history: add squash subcommand to fold a range
  history: give commit_tree_ext a message template
  history: extract helper for a commit's parent tree
2026-07-01 11:10:54 -07:00
Junio C Hamano 49c15eb4e4 Merge branch 'mm/line-log-limited-ops' into seen
"git log -L<range>:<path>" learned to limit various "diff" operations
like --stat, --check, -G, to the specified range:path.

* mm/line-log-limited-ops:
  diffcore-pickaxe: scope -G to the -L tracked range
  diff: support --check with -L line ranges
  line-log: support diff stat formats with -L
  diff: extract a line-range diff helper for reuse
  diff: emit -L hunk headers via xdiff's formatter
  diff: simplify the line-range filter by classifying removals immediately
  diff: rename and group the line-range filter for clarity
2026-07-01 11:10:53 -07:00
Junio C Hamano ef4148c5b0 Merge branch 'mm/test-grep-lint' into seen
* mm/test-grep-lint:
  t: add greplint to detect bare grep assertions
  t: convert grep assertions to test_grep
  t: fix Lexer line count for $() inside double-quoted strings
  t: extract chainlint's parser into shared module
  t: fix grep assertions missing file arguments
  t/README: document test_grep helper
2026-07-01 11:10:53 -07:00
Junio C Hamano ac27d24c9a Merge branch 'mm/diff-process-hunks' into seen
A new `diff.<driver>.process` configuration has been introduced to
allow a long-running external process to act as a hunk provider to
allows external tools to control which lines Git considers changed
while leaving all output formatting (word diff, color, blame, etc.) to
Git's standard pipeline.

* mm/diff-process-hunks:
  blame: consult diff process for no-hunk detection
  diff: bypass diff process with --no-ext-diff and in format-patch
  diff: add long-running diff process via diff.<driver>.process
  sub-process: separate process lifecycle from hashmap management
  userdiff: add diff.<driver>.process config
  xdiff: support external hunks via xpparam_t
2026-07-01 11:10:52 -07:00
Junio C Hamano 66e6a40c86 Merge branch 'tb/midx-incremental-custom-base' into seen
The `git multi-pack-index write --incremental` command has been
corrected to properly honor the `--base` option. Previously, the
custom base was ignored by the normal write path, and the pack
exclusion logic incorrectly skipped packs from layers above the
selected base, breaking reachability closure for bitmaps.

* tb/midx-incremental-custom-base:
  midx-write: include packs above custom incremental base
  midx: pass custom '--base' through incremental writes
  t5334: expose shared `nth_line()` helper
2026-07-01 11:10:51 -07:00
Junio C Hamano f06301287a Merge branch 'wy/doc-myfirstcontribution-trim-quotes' into seen
The contributor guide has been updated to advise new contributors to
trim irrelevant quoted text when replying to review comments, matching
the existing advice given to reviewers.

* wy/doc-myfirstcontribution-trim-quotes:
  MyFirstContribution: mention trimming quoted text in replies
2026-07-01 11:10:51 -07:00
Junio C Hamano e01aeeee04 Merge branch 'tc/replay-linearize' into seen
git replay learns --linearize option to drop merge commits and
linearize the replayed history, mimicking git rebase
--no-rebase-merges.

* tc/replay-linearize:
  replay: offer an option to linearize the commit topology
  replay: better explain how pick_regular_commit() picks a base
  replay: add helper to put entry into mapped_commits
2026-07-01 11:10:51 -07:00
Junio C Hamano c707448451 Merge branch 'td/ref-filter-memoize-contains' into seen
'git branch --contains' and 'git for-each-ref --contains' have
been optimized to use the memoized commit traversal previously
used only by 'git tag --contains', significantly speeding up
connectivity checks across many candidate refs with shared
history.

* td/ref-filter-memoize-contains:
  commit-reach: die on contains walk errors
  ref-filter: memoize --contains with generations
  commit-reach: reject cycles in contains walk
2026-07-01 11:10:51 -07:00
Junio C Hamano 43ca91e01d Merge branch 'hn/branch-delete-merged' into seen
"git branch" command learned "--delete-merged" option to remove
local branches that have already been merged to the remote-tracking
branches they track.

* hn/branch-delete-merged:
  branch: add --dry-run for --delete-merged
  branch: add branch.<name>.deleteMerged opt-out
  branch: add --delete-merged <branch>
  branch: prepare delete_branches for a bulk caller
  branch: let delete_branches skip unmerged branches on bulk refusal
  branch: convert delete_branches() to a flags argument
  branch: add --forked filter for --list mode
2026-07-01 11:10:50 -07:00
Junio C Hamano dd210a1fa3 Merge branch 'ps/cat-file-remote-object-info' into seen
The `remote-object-info` command has been added to `git cat-file
--batch-command`, allowing clients to request object metadata
(currently size) from a remote server via protocol v2 without
downloading the entire object.

The client dynamically filters format placeholders based on
server-advertised capabilities and safely returns empty strings for
inapplicable or unsupported fields.

* ps/cat-file-remote-object-info:
  cat-file: make remote-object-info allow-list dynamic
  cat-file: validate remote atoms with an allow-list
  cat-file: add remote-object-info to batch-command
  transport: add client support for object-info
  serve: advertise object-info feature
  fetch-pack: move fetch initialization
  connect: make `write_fetch_command_and_capabilities()` more generic
  fetch-pack: move `write_fetch_command_and_capabilities()` to connect.c
  fetch-pack: drop static `advertise_sid` variable
  t1006: split test utility functions into new 'lib-cat-file.sh'
  cat-file: declare loop counter inside for()
  git-compat-util: add `strtoumax_szt()` with error handling
  transport-helper: fix memory leak of helper on disconnect
2026-07-01 11:10:50 -07:00
Junio C Hamano 979ea5e5fe Merge branch 'ap/http-redirect-wwwauth-fix' into seen
When cURL follows a redirect, the WWW-Authenticate headers from the
redirect target were lost because credential_from_url() cleared the
credential state. This has been fixed by preserving the collected
headers across the redirect update.

* ap/http-redirect-wwwauth-fix:
  http: preserve wwwauth_headers across redirects
2026-07-01 11:10:50 -07:00
Junio C Hamano 9598e8cd82 Merge branch 'ps/history-drop' into seen
The experimental "git history" command has been taught a new "drop"
subcommand to remove a commit and replay its descendants onto its
parent.

* ps/history-drop:
  builtin/history: implement "drop" subcommand
  builtin/history: split handling of ref updates into two phases
  replay: expose `replay_result_queue_update()`
  reset: stop assuming that the caller passes in a clean index
  reset: allow the caller to specify the current HEAD object
  reset: introduce ability to skip updating HEAD
  reset: introduce dry-run mode
  reset: modernize flags passed to `reset_working_tree()`
  reset: rename `reset_head()`
  reset: drop `USE_THE_REPOSITORY_VARIABLE`
  read-cache: split out function to drop unmerged entries to stage 0
2026-07-01 11:10:49 -07:00
Junio C Hamano 8cc2393e99 Merge branch 'kk/prio-queue-cascade-sift' into seen
prio_queue_get() has been optimized by using a cascade-down approach
(promoting the smaller child at each level and sifting up the last
element from the leaf vacancy), which halves the number of comparisons
per extract-min operation in the common case.

* kk/prio-queue-cascade-sift:
  prio-queue: use cascade-down for faster extract-min
2026-07-01 10:56:28 -07:00
Junio C Hamano 2ab7795996 Merge branch 'ty/migrate-trust-executable-bit' into seen
The 'trust_executable_bit' (coming from 'core.filemode'
configuration) has been migrated into 'repo_config_values' to tie it
to a specific repository instance.

* ty/migrate-trust-executable-bit:
  environment: move trust_executable_bit into repo_config_values
  read-cache: move 'ce_mode_from_stat()' to 'read-cache.c'
  read-cache: remove redundant extern declarations
2026-07-01 10:56:28 -07:00
Junio C Hamano 92cd2bcc6b Merge branch 'sn/rebase-update-refs-symrefs' into seen
"git rebase --update-refs" has been taught to resolve local branch
symrefs to their referents before queuing updates. This correctly
skips aliases of the current branch and avoids duplicate updates for
underlying real branches, fixing failures when branch aliases (like a
default branch rename) are present.

* sn/rebase-update-refs-symrefs:
  rebase: skip branch symref aliases
2026-07-01 10:56:28 -07:00
Junio C Hamano b0977a95be Merge branch 'ec/commit-fixup-options' into seen
The -m/-F/-c/-C options to supply commit log message from outside the
editor are now supported for all "git commit --fixup" variations.

* ec/commit-fixup-options:
  commit: allow -c/-C for all kinds of --fixup
  commit: allow -m/-F for all kinds of --fixup
2026-07-01 10:56:27 -07:00
Junio C Hamano be2225e4fa Merge branch 'cl/conditional-config-on-worktree-path' into seen
The [includeIf "condition"] conditional inclusion facility for
configuration files has learned to use the location of worktree
in its condition.

* cl/conditional-config-on-worktree-path:
  config: add "worktree" and "worktree/i" includeIf conditions
  config: refactor include_by_gitdir() into include_by_path()
2026-07-01 10:56:27 -07:00
Junio C Hamano 74542c1799 Merge branch 'hn/checkout-track-fetch' into seen
"git checkout --track=..." learned to optionally fetch the branch
from the remote the new branch will work with.

* hn/checkout-track-fetch:
  checkout: extend --track with a "fetch" mode to refresh start-point
  branch: expose helpers for finding the remote owning a tracking ref
2026-07-01 10:56:27 -07:00
Junio C Hamano e36bc447e3 Merge branch 'jt/config-lock-timeout' into seen
Configuration file locking now retries for a short period, avoiding
failures when multiple processes attempt to update the configuration
simultaneously.

* jt/config-lock-timeout:
  config: retry acquiring config.lock, configurable via core.configLockTimeout
2026-07-01 10:56:27 -07:00
Junio C Hamano b9704329ba Merge branch 'js/parseopt-subcommand-autocorrection' into seen
The parse-options library learned to auto-correct misspelled
subcommand names.

* js/parseopt-subcommand-autocorrection:
  SQUASH???
  doc: document autocorrect API
  parseopt: add tests for subcommand autocorrection
  parseopt: enable subcommand autocorrection for git-remote and git-notes
  parseopt: autocorrect mistyped subcommands
  autocorrect: provide config resolution API
  autocorrect: rename AUTOCORRECT_SHOW to AUTOCORRECT_HINT
  autocorrect: use mode and delay instead of magic numbers
  help: move tty check for autocorrection to autocorrect.c
  help: make autocorrect handling reusable
  parseopt: extract subcommand handling from parse_options_step()
2026-07-01 10:56:26 -07:00
Junio C Hamano aa5aa89d63 Merge branch 'ps/setup-split-discovery-and-setup' into jch
The repository discovery and repository configuration phases, which
were previously intertwined in 'setup.c', have been split. Repository
discovery now populates a 'struct repo_discovery' without modifying
the repository state, and repository configuration takes this
structure to initialize the repository, paving the way for clean
unification of repository configuration.

* ps/setup-split-discovery-and-setup:
  setup: mark `set_git_work_tree()` as file-local
  setup: pass worktree to `init_db()`
  setup: drop redundant configuration of `startup_info->have_repository`
  setup: make repository discovery self-contained
  setup: propagate prefix via repository discovery
  setup: drop static `cwd` variable
  setup: move prefix into repository
  setup: embed repository format in discovery
  setup: introduce explicit repository discovery
  setup: split up concerns of `setup_git_env_internal()`
  setup: unify setup of shallow file
  setup: mark bogus worktree in `apply_repository_format()`
  setup: rename `check_repository_format_gently()`
2026-07-01 10:48:39 -07:00
Junio C Hamano fae0b71834 Merge branch 'pw/rebase-drop-notes-with-commit' into jch
The rebase post-rewrite notes-copying logic has been corrected. When a
commit is dropped during rebase (e.g., because its changes are already
upstream), we no longer record it as rewritten, preventing its notes
from being copied to an unrelated commit.

* pw/rebase-drop-notes-with-commit:
  amend! sequencer: simplify pick_one_commit()
  amend! sequencer: remove unnecessary "or" in pick_one_commit()
  fixup! sequencer: never reschedule on failed commit
  fixup! sequencer: be more careful with external merge
  sequencer: do not record dropped commits as rewritten
  sequencer: use an enum to represent result of picking a commit
  sequencer: return early from pick_one_commit() on success
  sequencer: simplify pick_one_commit()
  sequencer: remove unnecessary condition in pick_one_commit()
  sequencer: simplify handing of fixup with conflicts
  sequencer: remove unnecessary "or" in pick_one_commit()
  sequencer: never reschedule on failed commit
  sequencer: be more careful with external merge
  sequencer: move definition of is_final_fixup()
  t3400: restore coverage for note copying with apply backend
2026-07-01 10:48:38 -07:00
Junio C Hamano f3ffec5adb Merge branch 'ps/reftable-hardening' into jch
The reftable code has been hardened against corrupted tables by
fixing out-of-bounds writes, out-of-bounds reads, and abort calls
during parsing.

* ps/reftable-hardening:
  reftable/table: fix OOB read on truncated table
  reftable/table: fix NULL pointer access when seeking to bogus offsets
  reftable/block: fix OOB read with bogus restart offset
  reftable/block: fix use of uninitialized memory when binsearch fails
  reftable/block: fix OOB read with bogus restart count
  reftable/block: fix OOB read with bogus block size
  reftable/block: fix OOB write with bogus inflated log size
  t/unit-tests: introduce test helper to write reftable blocks
  reftable/record: don't abort when decoding invalid ref value type
  reftable/basics: fix OOB read on binary search of empty range
  oss-fuzz: add fuzzer for parsing reftables
  meson: support building fuzzers with libFuzzer
2026-07-01 10:48:38 -07:00
Junio C Hamano 9f8cb31f52 Merge branch 'dk/meson-enable-use-nsec-build' into jch
The USE_NSEC build knob, which enables support for sub-second file
timestamp resolution, has been wired up to the Meson build system.

* dk/meson-enable-use-nsec-build:
  meson: wire up USE_NSEC build knob
2026-07-01 10:48:38 -07:00
Junio C Hamano 5d64193cae Merge branch 'ty/migrate-ignorecase' into jch
The global configuration variable ignore_case (representing the
core.ignorecase configuration) has been migrated into struct
repo_config_values to tie it to a specific repository instance.

* ty/migrate-ignorecase:
  config: use repo_ignore_case() to access core.ignorecase
  environment: move ignore_case into repo_config_values
2026-07-01 10:48:37 -07:00
Junio C Hamano bcbe72ea2f Merge branch 'kh/doc-trailers' into jch
Documentation updates.

* kh/doc-trailers:
  doc: interpret-trailers: document comment line treatment
  doc: interpret-trailers: commit to “trailer block” term
  doc: interpret-trailers: join new-trailers again
  doc: interpret-trailers: add key format example
  doc: interpret-trailers: explain key format
  doc: interpret-trailers: explain the format after the intro
  doc: interpret-trailers: not just for commit messages
  doc: interpret-trailers: use “metadata” in Name as well
  doc: interpret-trailers: replace “lines” with “metadata”
  doc: interpret-trailers: stop fixating on RFC 822
2026-07-01 10:48:37 -07:00
Junio C Hamano 515f795364 Merge branch 'za/completion-hide-dotfiles' into jch
The path completion for commands like `git rm` and `git mv`, is being
updated to hide dotfiles by default, unless the user explicitly starts
the path with a dot, matching standard shell-completion behavior.

* za/completion-hide-dotfiles:
  completion: hide dotfiles by default for path completion
  completion: hide dotfiles for selected path completion
2026-07-01 10:48:37 -07:00
Junio C Hamano 3f44caf0a8 Merge branch 'kh/doc-replay-config' into jch
Doc update for "git replay" to actually refer to its configuration
variables.

* kh/doc-replay-config:
  doc: replay: move “default” to the right-hand side
  doc: replay: use a nested description list
  doc: replay: improve config description
  doc: link to config for git-replay(1)
2026-07-01 10:48:37 -07:00
Junio C Hamano 93f8829c54 Merge branch 'ps/shift-root-in-graph' into jch
"git log --graph" has been modified to visually distinguish
parentless "root" commits (and commits that become roots due to
history simplification) by indenting them, preventing them from
appearing falsely related to unrelated commits rendered immediately
above them.

* ps/shift-root-in-graph:
  graph: indent visual root in graph
  revision: add peek functions for lookahead
  lib-log-graph: move check_graph function
2026-07-01 10:48:36 -07:00
Junio C Hamano 86ceb3c633 Merge branch 'jc/history-message-prep-fix' into jch
Code clean-up with leakfix for a write file stream.

* jc/history-message-prep-fix:
  history: streamline message preparation and plug file stream leak
2026-07-01 10:48:36 -07:00
Junio C Hamano 6eedbad02b Merge branch 'ps/odb-generalize-prepare' into jch
The `reprepare()` callback for object database sources has been
generalized into a `prepare()` callback with an optional flush cache
flag, and a new `odb_prepare()` wrapper has been introduced to
allow pre-opening object database sources.

* ps/odb-generalize-prepare:
  odb: introduce `odb_prepare()`
  odb/source: generalize `reprepare()` callback
2026-07-01 10:48:36 -07:00
Junio C Hamano 1ab7dd6b5f Merge branch 'kk/prio-queue-get-put-fusion' into jch
The lazy priority queue optimization pattern (deferring actual removal
in prio_queue_get() to allow get+put fusion) has been folded directly
into prio_queue itself, speeding up commit traversal workflows and
simplifying callers.

* kk/prio-queue-get-put-fusion:
  prio-queue: fold lazy_queue into prio_queue for automatic get+put fusion
  prio-queue: rename .nr to .nr_ and add accessor helpers
2026-07-01 10:48:35 -07:00
Junio C Hamano 1110eaaae6 Merge branch 'hn/branch-push-slip-advice' into jch
"git push origin/main" and "git branch origin main" could both be
an obvious typo, in which case offer the obvious typofix.

* hn/branch-push-slip-advice:
  push: suggest <remote> <branch> for a slash slip
  branch: suggest <remote>/<branch> on upstream slip
2026-07-01 10:48:35 -07:00
Junio C Hamano f4691f2bc0 Merge branch 'bl/t7412-use-test-path-helpers' into jch
t7412 that tests "git submodule absorbgitdirs" has been modernized to
use test_path_is_file, test_path_is_dir, and test_path_is_missing
helper functions instead of raw "test -[fde]" commands.

* bl/t7412-use-test-path-helpers:
  submodule absorbgitdirs tests: use test_* helper functions
2026-07-01 10:48:35 -07:00
Junio C Hamano 0a5a1fbaa3 Merge branch 'jk/format-patch-leakfix' into jch
A memory leak in the '--base' handling of 'git format-patch' has been
plugged, and the leak-reporting of the test suite when running under a
TAP harness has been improved.

* jk/format-patch-leakfix:
  format-patch: fix leak of rev_info in prepare_bases()
  t: move LSan errors from stdout to stderr
2026-07-01 10:48:34 -07:00
Junio C Hamano a560473ced Merge branch 'kk/commit-reach-find-all-fix' into jch
The early-exit optimization in paint_down_to_common() has been gated
on the queue being generation-ordered. This fixes a bug where git
merge-base (without --all) could return incorrect results on
repositories with v1 commit graphs and clock skew.

* kk/commit-reach-find-all-fix:
  commit-reach: guard !FIND_ALL early exit with generation ordering check
  t6600: add test for merge-base early exit with clock skew
2026-07-01 10:48:34 -07:00
Junio C Hamano d57e7cce85 Merge branch 'ps/odb-drop-whence' into jch
The whence field in struct object_info has been removed,
refactoring backend-specific object information retrieval into an
opt-in struct object_info_source structure.

* ps/odb-drop-whence:
  odb: document object info fields
  odb: drop `whence` field from object info
  treewide: convert users of `whence` to the new source field
  odb: add `source` field to struct object_info_source
  odb: make backend-specific fields optional
  packfile: thread odb_source_packed through packed_object_info()
2026-07-01 10:48:34 -07:00
Junio C Hamano 6b98d1a062 Merge branch 'ps/refs-writing-subcommands' into jch
The "git refs" toolbox has been extended with new "create", "delete",
"update", and "rename" subcommands to create, delete, update, and
rename references, respectively.

* ps/refs-writing-subcommands:
  builtin/refs: add "rename" subcommand
  builtin/refs: add "create" subcommand
  builtin/refs: add "update" subcommand
  builtin/refs: add "delete" subcommand
  builtin/refs: drop `the_repository`
2026-07-01 10:48:33 -07:00
Junio C Hamano 5ae55383c8 Merge branch 'jk/reftable-leakfix' into jch
Leakfix.

* jk/reftable-leakfix:
  reftable: fix unlikely leak on API error
2026-07-01 10:48:33 -07:00
Junio C Hamano a293ff5870 Merge branch 'ad/gpg-strip-cr-before-lf' into jch
The GPG and SSH signature parsing code has been corrected to strip
carriage return characters only when they immediately precede line
feeds, instead of unconditionally stripping all carriage returns.

* ad/gpg-strip-cr-before-lf:
  gpg-interface: fix strip_cr_before_lf to only remove CR before LF
2026-07-01 10:48:33 -07:00
Junio C Hamano 7f5d60a552 ### match next 2026-07-01 10:48:33 -07:00
Junio C Hamano be65fbdf63 Merge branch 'sg/t3420-do-not-grep-in-missing-file' into jch
Test fix.

* sg/t3420-do-not-grep-in-missing-file:
  t3420-rebase-autostash: don't try to grep non-existing files
2026-07-01 10:48:33 -07:00
Junio C Hamano d7e2722d94 Merge branch 'ps/connected-generic-promisor-checks' into jch
The connectivity check has been refactored to search for promisor
objects in a generic way using the object database interface,
rather than iterating packfiles directly. This allows connectivity
checks to work properly in repositories that do not use packfiles.

* ps/connected-generic-promisor-checks:
  connected: search promisor objects generically
  connected: split out promisor-based connectivity check
  odb/source-packed: support flags when iterating an object prefix
  odb/source-packed: extract logic to skip certain packs
2026-07-01 10:48:32 -07:00