Subject: Re: [PATCH v2] gitweb: switch to an XHTML5 DOCTYPE

From: Junio C Hamano <[email-masked]>
Date: Thu, 02 Jun 2022 11:50:55 -0700

Jason Yundt <[email-masked]> writes:

> Subject: Re: [PATCH v2] gitweb: switch to an XHTML5 DOCTYPE
>
> According to the HTML Standard FAQ:
>
> 	“What is the DOCTYPE for modern HTML documents?
> ...
> Compared to the first version of this patch, this version:
> 1. makes it clear that XML parsers may used the linked DTD like brian
>    mentioned.
> 2. mentions HTML5 like Bagas suggested.

So, is it XHTML5, or HTML5, we want to see on the title?

> +proper_doctype() {
> +	gitweb_run "$@" &&
> +	grep -F "<!DOCTYPE html [" gitweb.body &&
> +	grep "<!ENTITY nbsp" gitweb.body &&
> +	grep "<!ENTITY sdot" gitweb.body
> +}

Hmph, this test does not care what other cruft appears in the file,
does not care in what order the three lines that match the patterns
appear, and the second and third patterns are even allowed to match
the same line.  I think that is OK (we do not even mind if the two
ENTITY definitions get squashed on the same line).

> +test_expect_success 'Proper DOCTYPE with entity declarations' '
> +	proper_doctype &&
> +	proper_doctype "p=.git" &&
> +	proper_doctype "p=.git;a=log" &&
> +	proper_doctype "p=.git;a=tree"
> +'

As far as I can tell, git_header_html() is the only helper that
deals with DOCTYPE, and responses to any request must call
git_header_html() to produce the header (or the handler for a
particular request type is buggy), but I do not think it is part of
this topic's job to ensure that all request handlers call the
git_header_html().  So we _could_ do with just a single test without
trying different request types if we wanted to, as long as there are
existing tests that make sure everybody uses git_header_html().

Was there a particular reason why these four requests were chosen?
Do they have different entry points and show the doctype from
different codepath?

Thanks.