1.8 KiB
vcs-test
We run a version control server for testing at vcs-test.golang.org
.
Repositories
The server can serve Bazaar, Fossil, Git, Mercurial, and Subversion repositories.
The root of each repository is https://vcs-test.golang.org/VCS/REPONAME
,
where VCS
is the version control system's command name (bzr
for Bazaar, and so on),
and REPONAME
is the repository name.
To serve a particular repository, the server downloads
gs://vcs-test/VCS/REPONAME.zip
from Google Cloud Storage and unzips it
into an empty directory.
The result should be a valid repository directory for the given version control system.
If the needed format of the zip file is unclear, download and inspect gs://vcs-test/VCS/hello.zip
from https://vcs-test.storage.googleapis.com/VCS/hello.zip
.
Google Cloud Storage imposes a default Cache-Control
policy of 3600 seconds for
publicly-readable objects; for instructions to disable caching per object, see
gsutil setmeta
.
vcweb
itself may serve stale data for up to five minutes after a zip file is updated.
To force a rescan of Google Cloud Storage, fetch
https://vcs-test.golang.org/VCS/REPONAME?vcweb-force-reload=1
.
Static files
The URL space https://vcs-test.golang.org/go/NAME
is served by static files,
fetched from gs://vcs-test/go/NAME.zip
.
The main use for static files is to write redirect HTML.
See gs://vcs-test/go/hello.zip
for examples.
Note that because the server uses http.DetectContentType
to deduce
the content type from file data, it is not necessary to
name HTML files with a .html
suffix.
HTTPS
The server fetches an HTTPS certificate on demand from Let's Encrypt,
using golang.org/x/crypto/acme/autocert
.
It caches the certificates in gs://vcs-test-autocert
using
golang.org/x/build/autocertcache
.