This is not kernel.org. It is a demonstration of Varnish Edge Side Includes in front of cgit, run by Varnish Software. The real kernel git hosting is at git.kernel.org, and nothing here is affiliated with or endorsed by kernel.org or the Linux Foundation.
The repository names, owners and descriptions below are taken from
git.kernel.org's published manifest.js.gz. All 924 of them are served
from a single clone of
torvalds/linux.git,
so every fork here shows identical refs. Real forks on kernel.org carry their
maintainers' own branches; they do, however, genuinely share one object store the
same way, which is what the forkgroup field in that manifest records.
What it is demonstrating
Konstantin Ryabitsev's Creepy crawlies reports that 14 to 16 of git.kernel.org's 90 cores are permanently busy rendering commits as HTML for scrapers. linux.git has about 1.48 million commits and lives in over 900 forks on that host, and crawlers walk every commit in every fork, through every diff option cgit accepts.
The set of distinct diffs behind all that traffic is far smaller than the
set of URLs. A cache keyed on the URL stores one copy of a commit per fork. So cgit
here is patched to cut each commit page in two: a cheap per-repository frame, and an
<esi:include> of the rendered diff. The diff fragment carries no
repository or branch anywhere in its bytes, so Varnish hashes it on the object ids
alone and every fork shares one cached rendering.
Load any commit through two different fork names and compare. The pages differ in their header, breadcrumbs and clone URL; the diff below is byte-identical and was rendered once.
The code
- github.com/perbu/cgit — cgit with
enable-esi, theesi-diffpage, the Varnish VCL incontrib/varnish/, and two independent performance patches incontrib/perf/. - Upstream cgit: git.zx2c4.com/cgit
