Re: [PATCH v6 5/9] ref: port git-fsck(1) regular refs check for files backend
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Nov 5, 2024, 07:11 UTC
- Message-ID
- <ZynFOUSUXAtTtWTk@pks.im>
- In-Reply-To
- <ZxZYd1qL6LxAc9-Y@ArchLinux>
On Mon, Oct 21, 2024 at 09:34:47PM +0800, shejialuo wrote:
Show 33 quoted lines
> diff --git a/refs/files-backend.c b/refs/files-backend.c
> index 24ad73faba..2861980bdd 100644
> --- a/refs/files-backend.c
> +++ b/refs/files-backend.c
> @@ -3505,6 +3505,48 @@ typedef int (*files_fsck_refs_fn)(struct ref_store *ref_store,
> const char *target_name,
> struct dir_iterator *iter);
>
> +static int files_fsck_refs_content(struct ref_store *ref_store,
> + struct fsck_options *o,
> + const char *target_name,
> + struct dir_iterator *iter)
> +{
> + struct strbuf ref_content = STRBUF_INIT;
> + struct strbuf referent = STRBUF_INIT;
> + struct fsck_ref_report report = { 0 };
> + unsigned int type = 0;
> + int failure_errno = 0;
> + struct object_id oid;
> + int ret = 0;
> +
> + report.path = target_name;
> +
> + if (S_ISLNK(iter->st.st_mode))
> + goto cleanup;
> +
> + if (strbuf_read_file(&ref_content, iter->path.buf, 0) < 0) {
> + ret = fsck_report_ref(o, &report,
> + FSCK_MSG_BAD_REF_CONTENT,
> + "cannot read ref file '%s': (%s)",
> + iter->path.buf, strerror(errno));
> + goto cleanup;
> + }Let's drop the braces around `(%s)`, we don't print such braces in `warning_errno()` or `die_errno()`, either.
Patrick