wrolpi/modules/repos
Roland d0ea6ab313
repos: a clone is owned by a random token, not its URL
The ownership marker held the Repo's URL key, which anyone can write, so
a copied clone, an extracted archive or a hand-made `.git` passed the
check and was reset and cleaned.  Each Repo now has a random clone_token
(repository column and repos.yaml, so a Repo restored from the config
still owns its clone); the marker holds it, and only a clone holding the
Repo's token is updated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 18:58:18 -06:00
..
test repos: a clone is owned by a random token, not its URL 2026-10-06 18:58:18 -06:00
__init__.py Add a Repos module that mirrors git repositories (backend) 2026-10-06 16:56:09 -06:00
api.py repos: import an existing git clone as a Repo 2026-10-06 18:09:52 -06:00
conftest.py repos: pin the repo's host once, and only exempt its own host and port 2026-10-06 17:38:45 -06:00
downloader.py repos: a clone is owned by a random token, not its URL 2026-10-06 18:58:18 -06:00
errors.py Add a Repos module that mirrors git repositories (backend) 2026-10-06 16:56:09 -06:00
lib.py repos: a clone is owned by a random token, not its URL 2026-10-06 18:58:18 -06:00
models.py repos: a clone is owned by a random token, not its URL 2026-10-06 18:58:18 -06:00
schema.py repos: import an existing git clone as a Repo 2026-10-06 18:09:52 -06:00