wrolpi/modules/repos
Roland a1d4c42eee
repos: find submodule git directories the way git does
A submodule git directory which borrows another (commondir) has no
objects of its own, and was skipped instead of refused, because
"has objects/" decided what a git directory was.  The walk now follows
git's layout: under .git/modules every directory holding HEAD is a git
directory (whatever the submodule's name, even `refs`), which must not
borrow, must have its own objects and a regular config, and is
sanitized; nested submodules are found in its own `modules`, and its
refs and logs are never mistaken for git directories.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 18:28:31 -06:00
..
test repos: find submodule git directories the way git does 2026-10-06 18:28:31 -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: never write through links in a clone's .git 2026-10-06 18:13:21 -06:00
errors.py Add a Repos module that mirrors git repositories (backend) 2026-10-06 16:56:09 -06:00
lib.py repos: find submodule git directories the way git does 2026-10-06 18:28:31 -06:00
models.py repos: history, Download ZIP, and submodules 2026-10-06 16:56:09 -06:00
schema.py repos: import an existing git clone as a Repo 2026-10-06 18:09:52 -06:00