git@cosmocr.at/gitweb.git @ main · summary refs log
main / web / index.html /
web/index.html · 1.8 KiB · raw
view: SourceMarkdown ☑ force

<!doctype html>

git.cosmocr.at

Browses git repositories stored in upspin. The URL path is the upspin path to a bare repository:

https://git.cosmocr.at/<user@domain>/path/to/repo.git/

Publishing a repository

Store a bare git repo in upspin (e.g. git init --bare then git push --all into a copy under your tree) and grant the browser read access in an upspin Access file in the repo directory:

read,list: git@cosmocr.at
*: you@example.com

Then anyone with the link can browse the repository: summary and README, branches and tags, commit log and diffs, the file tree, and individual files.

Cloning and pushing

Browsing and cloning a public repository needs no credentials. Reaching a private one, and pushing to any of them, needs a passkey login through the git-credential-cosmocr helper. Setting it up is described under Authenticating (clients), which also covers the personal access token alternative for CI.

Demo

A sample repository lives at /git@cosmocr.at/demo.git/.

Source

gitweb serves its own source at /git@cosmocr.at/gitweb.git/. The architecture notes describe how browsing, clone, push, and passkey auth fit together.