Subject: [PATCH v2 0/8] add more ref consistency checks

From: shejialuo <[email-masked]>
Date: Thu, 30 Jan 2025 12:04:54 +0800

Hi All:

This version handles the following things:

1. Remove code which checks the object where refs point to suggested by
   Patrick.
2. Use subshell for the shell script to fix the problem to make sure the
   current working directory consistent.
3. Optimize to avoid allocating too much memory.

This version is rebased to the latest master due to semantic conflict. I
don't provide range-diff here the mumber of commit is reduced. However,
it won't bring too much burdern for the reviewer due to small change.

Thanks,
Jialuo

shejialuo (8):
  t0602: use subshell to ensure working directory unchanged
  builtin/refs: get worktrees without reading head info
  packed-backend: check whether the "packed-refs" is regular
  packed-backend: add "packed-refs" header consistency check
  packed-backend: check whether the refname contains NUL characters
  packed-backend: add "packed-refs" entry consistency check
  packed-backend: check whether the "packed-refs" is sorted
  builtin/fsck: add `git refs verify` child process

 Documentation/fsck-msgids.txt |   22 +
 builtin/fsck.c                |   30 +
 builtin/refs.c                |    2 +-
 fsck.h                        |    6 +
 refs/packed-backend.c         |  343 +++++++++-
 t/t0602-reffiles-fsck.sh      | 1107 +++++++++++++++++++--------------
 worktree.c                    |    5 +
 worktree.h                    |    6 +
 8 files changed, 1040 insertions(+), 481 deletions(-)

-- 
2.48.1