public inbox for git@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/17] Fixes and improvements for ref consistency checks
@ 2026-01-09 12:39 Patrick Steinhardt
  2026-01-09 12:39 ` [PATCH 01/17] refs/files: simplify iterating through root refs Patrick Steinhardt
                   ` (18 more replies)
  0 siblings, 19 replies; 61+ messages in thread
From: Patrick Steinhardt @ 2026-01-09 12:39 UTC (permalink / raw)
  To: git; +Cc: shejialuo, Karthik Nayak

Hi,

this patch series contains a bunch of fixes and improvements for ref
consistency checks. It is structured as follows:

  - Patches 1 to 4 contain a couple of cleanups for the consistency
    checks done by the "files" backend.

  - Patches 5 to 7 introduce checks for root refs for the "files"
    backend.

  - Patches 9 to 14 introduce infrastructure for shared checks with the
    "files" and "reftable" backend.

  - Patches 15 to 17 move some ref consistency checks that were still
    driven by git-fsck(1) into `git refs verify`.

Thanks!

Patrick

---
Patrick Steinhardt (17):
      refs/files: simplify iterating through root refs
      refs/files: move fsck functions into global scope
      refs/files: remove `refs_check_dir` parameter
      refs/files: remove useless indirection
      refs/files: extract function to check single ref
      refs/files: improve error handling when verifying symrefs
      refs/files: perform consistency checks for root refs
      fsck: drop unused fields from `struct fsck_ref_report`
      refs/files: extract generic symref target checks
      refs/files: introduce function to perform normal ref checks
      refs/reftable: adapt includes to become consistent
      refs/reftable: extract function to retrieve backend for worktree
      refs/reftable: fix consistency checks with worktrees
      refs/reftable: introduce generic checks for refs
      builtin/fsck: move generic object ID checks into `refs_fsck()`
      builtin/fsck: move generic HEAD check into `refs_fsck()`
      builtin/fsck: drop `fsck_head_link()`

 Documentation/fsck-msgids.adoc |   6 ++
 builtin/fsck.c                 |  46 +--------
 fsck.c                         |   5 -
 fsck.h                         |   4 +-
 refs.c                         |  43 ++++++++
 refs.h                         |  18 ++++
 refs/files-backend.c           | 230 ++++++++++++++++++++++++-----------------
 refs/reftable-backend.c        | 167 ++++++++++++++++++++++--------
 t/t0602-reffiles-fsck.sh       |  30 ++++++
 t/t0614-reftable-fsck.sh       |  44 ++++++++
 t/t1450-fsck.sh                |  10 +-
 11 files changed, 416 insertions(+), 187 deletions(-)


---
base-commit: d529f3a197364881746f558e5652f0236131eb86
change-id: 20260109-pks-refs-verify-fixes-1e47872317cf


^ permalink raw reply	[flat|nested] 61+ messages in thread

end of thread, other threads:[~2026-01-16  6:48 UTC | newest]

Thread overview: 61+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-09 12:39 [PATCH 00/17] Fixes and improvements for ref consistency checks Patrick Steinhardt
2026-01-09 12:39 ` [PATCH 01/17] refs/files: simplify iterating through root refs Patrick Steinhardt
2026-01-10 12:28   ` shejialuo
2026-01-09 12:39 ` [PATCH 02/17] refs/files: move fsck functions into global scope Patrick Steinhardt
2026-01-09 12:39 ` [PATCH 03/17] refs/files: remove `refs_check_dir` parameter Patrick Steinhardt
2026-01-09 12:39 ` [PATCH 04/17] refs/files: remove useless indirection Patrick Steinhardt
2026-01-09 12:39 ` [PATCH 05/17] refs/files: extract function to check single ref Patrick Steinhardt
2026-01-09 12:39 ` [PATCH 06/17] refs/files: improve error handling when verifying symrefs Patrick Steinhardt
2026-01-10 12:34   ` shejialuo
2026-01-09 12:39 ` [PATCH 07/17] refs/files: perform consistency checks for root refs Patrick Steinhardt
2026-01-10 12:47   ` shejialuo
2026-01-12  8:17     ` Patrick Steinhardt
2026-01-09 12:39 ` [PATCH 08/17] fsck: drop unused fields from `struct fsck_ref_report` Patrick Steinhardt
2026-01-09 12:39 ` [PATCH 09/17] refs/files: extract generic symref target checks Patrick Steinhardt
2026-01-10 12:59   ` shejialuo
2026-01-12  8:17     ` Patrick Steinhardt
2026-01-09 12:39 ` [PATCH 10/17] refs/files: introduce function to perform normal ref checks Patrick Steinhardt
2026-01-10 13:12   ` shejialuo
2026-01-12  8:17     ` Patrick Steinhardt
2026-01-09 12:39 ` [PATCH 11/17] refs/reftable: adapt includes to become consistent Patrick Steinhardt
2026-01-09 12:39 ` [PATCH 12/17] refs/reftable: extract function to retrieve backend for worktree Patrick Steinhardt
2026-01-09 12:39 ` [PATCH 13/17] refs/reftable: fix consistency checks with worktrees Patrick Steinhardt
2026-01-09 12:39 ` [PATCH 14/17] refs/reftable: introduce generic checks for refs Patrick Steinhardt
2026-01-09 12:39 ` [PATCH 15/17] builtin/fsck: move generic object ID checks into `refs_fsck()` Patrick Steinhardt
2026-01-09 12:39 ` [PATCH 16/17] builtin/fsck: move generic HEAD check " Patrick Steinhardt
2026-01-10 13:31   ` shejialuo
2026-01-12  8:18     ` Patrick Steinhardt
2026-01-15 12:52       ` shejialuo
2026-01-09 12:39 ` [PATCH 17/17] builtin/fsck: drop `fsck_head_link()` Patrick Steinhardt
2026-01-10 13:37 ` [PATCH 00/17] Fixes and improvements for ref consistency checks shejialuo
2026-01-12  8:18   ` Patrick Steinhardt
2026-01-12  9:02 ` [PATCH v2 " Patrick Steinhardt
2026-01-12  9:02   ` [PATCH v2 01/17] refs/files: simplify iterating through root refs Patrick Steinhardt
2026-01-12  9:56     ` Karthik Nayak
2026-01-12  9:02   ` [PATCH v2 02/17] refs/files: move fsck functions into global scope Patrick Steinhardt
2026-01-12  9:02   ` [PATCH v2 03/17] refs/files: remove `refs_check_dir` parameter Patrick Steinhardt
2026-01-12  9:02   ` [PATCH v2 04/17] refs/files: remove useless indirection Patrick Steinhardt
2026-01-12 10:01     ` Karthik Nayak
2026-01-12  9:02   ` [PATCH v2 05/17] refs/files: extract function to check single ref Patrick Steinhardt
2026-01-12  9:02   ` [PATCH v2 06/17] refs/files: improve error handling when verifying symrefs Patrick Steinhardt
2026-01-12  9:02   ` [PATCH v2 07/17] refs/files: perform consistency checks for root refs Patrick Steinhardt
2026-01-12  9:02   ` [PATCH v2 08/17] fsck: drop unused fields from `struct fsck_ref_report` Patrick Steinhardt
2026-01-12  9:02   ` [PATCH v2 09/17] refs/files: extract generic symref target checks Patrick Steinhardt
2026-01-12  9:02   ` [PATCH v2 10/17] refs/files: introduce function to perform normal ref checks Patrick Steinhardt
2026-01-12 11:42     ` Karthik Nayak
2026-01-12 13:08       ` Patrick Steinhardt
2026-01-12 14:19         ` Junio C Hamano
2026-01-12 14:37           ` Junio C Hamano
2026-01-12 15:02             ` Patrick Steinhardt
2026-01-12  9:03   ` [PATCH v2 11/17] refs/reftable: adapt includes to become consistent Patrick Steinhardt
2026-01-12  9:03   ` [PATCH v2 12/17] refs/reftable: extract function to retrieve backend for worktree Patrick Steinhardt
2026-01-12  9:03   ` [PATCH v2 13/17] refs/reftable: fix consistency checks with worktrees Patrick Steinhardt
2026-01-12 11:45     ` Karthik Nayak
2026-01-12  9:03   ` [PATCH v2 14/17] refs/reftable: introduce generic checks for refs Patrick Steinhardt
2026-01-12  9:03   ` [PATCH v2 15/17] builtin/fsck: move generic object ID checks into `refs_fsck()` Patrick Steinhardt
2026-01-12  9:03   ` [PATCH v2 16/17] builtin/fsck: move generic HEAD check " Patrick Steinhardt
2026-01-12  9:03   ` [PATCH v2 17/17] builtin/fsck: drop `fsck_head_link()` Patrick Steinhardt
2026-01-12 11:50   ` [PATCH v2 00/17] Fixes and improvements for ref consistency checks Karthik Nayak
2026-01-12 13:09     ` Patrick Steinhardt
2026-01-15 12:56   ` shejialuo
2026-01-16  6:48     ` Patrick Steinhardt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox