git-annex p2phttp should be able to serve multiple git repositories, eg all the ones in a directory.
- Add a --directory option.
- When a request is received for a uuid that is not one it already knows about, it can rescan the directories to find new repositories that have been added.
- Removing a repository that it is serving should be ok, git-annex doesn't mkdir recursively down to the git repository level. So any running threads that are serving the removed repository will not recreate it, and will fail out.
- Removing a repository and then re-creating it with a different UUID though would be problimatic and probably the documentation would need to say to not do that, restart git-annex p2phttp after deletion in that case.
I asked matrss if this would be useful for forgejo-aneksajo and he said "Serving more than one repository per p2phttp instance would probably be very useful, although I think I can work with the limitation [of only 1]."
I have some early work toward implementing this in the
p2phttp-multi
branch.