wrolpi/modules/repos
Roland deba43366a
repos.yaml imports by diffing
repos.yaml declares one section, its Repos keyed by repo_url_key (another
URL of the same Repo is that Repo), comparing name, description,
directory, Tag, mode, branch, submodules, frequency and clone token (a
missing directory or clone token keeps the database's).  An unchanged
import writes nothing (every import rewrote every Repo and its
Download).

An invalid entry is skipped and counted, and its Repo is kept; before,
a Repo whose entry failed validation was deleted.  New Repos are created
inside the import's one write: recurring_download (via
get_or_create_download and _set_repository_download) takes commit=False,
and the URL is not looked up again for each new Repo (O(N^2)).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 09:54:53 -06:00
..
test repos.yaml imports by diffing 2026-10-25 09:54:53 -06:00
__init__.py Add a Repos module that mirrors git repositories (#783) 2026-10-07 15:16:58 -06:00
api.py Repo changes wait for a concurrent writer (#853) 2026-10-21 16:50:09 -06:00
conftest.py Add a Repos module that mirrors git repositories (#783) 2026-10-07 15:16:58 -06:00
downloader.py Add a Repos module that mirrors git repositories (#783) 2026-10-07 15:16:58 -06:00
errors.py Add a Repos module that mirrors git repositories (#783) 2026-10-07 15:16:58 -06:00
lib.py repos.yaml imports by diffing 2026-10-25 09:54:53 -06:00
models.py Model reprs read only loaded state (#819) 2026-10-11 16:47:32 -06:00
schema.py Add a Repos module that mirrors git repositories (#783) 2026-10-07 15:16:58 -06:00