Merge branch 'sj/ref-contents-check'

"git fsck" learned to issue warnings on "curiously formatted" ref
contents that have always been taken valid but something Git
wouldn't have written itself (e.g., missing terminating end-of-line
after the full object name).

* sj/ref-contents-check:
  ref: add symlink ref content check for files backend
  ref: check whether the target of the symref is a ref
  ref: add basic symref content check for files backend
  ref: add more strict checks for regular refs
  ref: port git-fsck(1) regular refs check for files backend
  ref: support multiple worktrees check for refs
  ref: initialize ref name outside of check functions
  ref: check the full refname instead of basename
  ref: initialize "fsck_ref_report" with zero
This commit is contained in:
Junio C Hamano
2024-12-04 10:14:42 +09:00
11 changed files with 793 additions and 65 deletions

View File

@ -13,6 +13,7 @@
#include "../lockfile.h"
#include "../chdir-notify.h"
#include "../statinfo.h"
#include "../worktree.h"
#include "../wrapper.h"
#include "../write-or-die.h"
#include "../trace2.h"
@ -1747,8 +1748,13 @@ static struct ref_iterator *packed_reflog_iterator_begin(struct ref_store *ref_s
}
static int packed_fsck(struct ref_store *ref_store UNUSED,
struct fsck_options *o UNUSED)
struct fsck_options *o UNUSED,
struct worktree *wt)
{
if (!is_main_worktree(wt))
return 0;
return 0;
}