Re: [PATCH v5 4/9] ref: add more strict checks for regular refs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Sep 29, 2024 at 03:16:00PM +0800, shejialuo wrote:
> diff --git a/Documentation/fsck-msgids.txt b/Documentation/fsck-msgids.txt
> index 22c385ea22..e310b5bce9 100644
> --- a/Documentation/fsck-msgids.txt
> +++ b/Documentation/fsck-msgids.txt
> @@ -179,6 +179,14 @@
>  `unknownType`::
>  	(ERROR) Found an unknown object type.
>  
> +`unofficialFormattedRef`::
> +	(INFO) The content of a loose ref file is not in the official
> +	format such as not having a LF at the end or having trailing
> +	garbage. As valid implementations of Git never created such a
> +	loose ref file, it may become an error in the future. Report
> +	to the git@xxxxxxxxxxxxxxx mailing list if you see this error,
> +	as we need to know what tools created such a file.
> +

I find "unofficial" to be a tad weird. Do we rather want to say
something like "badRefTrailingGarbage"?

> @@ -3541,6 +3546,21 @@ static int files_fsck_refs_content(struct ref_store *ref_store,
>  		goto cleanup;
>  	}
>  
> +	if (!(type & REF_ISSYMREF)) {
> +		if (!*trailing) {
> +			ret = fsck_report_ref(o, &report,
> +					      FSCK_MSG_UNOFFICIAL_FORMATTED_REF,
> +					      "misses LF at the end");
> +			goto cleanup;
> +		}
> +		if (*trailing != '\n' || *(trailing + 1)) {
> +			ret = fsck_report_ref(o, &report,
> +					      FSCK_MSG_UNOFFICIAL_FORMATTED_REF,
> +					      "has trailing garbage: '%s'", trailing);
> +			goto cleanup;
> +		}
> +	}
> +

I think we should discern these two error cases and provide different
message IDs.

Patrick




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux