Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> writes: > Add optional "extra" checks to fsck, these are needed to eventually > replace the custom not-quite-fsck code in mktag.c. > > The mktag checks differ from fsck_tag() in several ways, one of those > is that fsck doesn't know how to refuse an object with custom headers, > and isn't strict about header and body newline separation. You say "there must be only one blank line between the header and the body", but viewing from the way we parse header and body, I think that such a rule actually forbids a leading blank line in the body and steps into checking whitespace errors---makes readers wonder if we should be also detecting trailing whitespaces on lines, etc. Is there actually such a check enforced in the original? Or is this a new rule that appeared out of thin air? We'd have to inspect the lines deleted from builtin/mktag.c in the next step, I gues. > By adding an "extra" category and only reporting it based on a flag in > fsck_options callers can opt-in to these "extra" messages, which > they'll then need to deal with in their own "error_func". Makes sense.