break out todo item
authorJoey Hess <joeyh@joeyh.name>
Wed, 30 Oct 2024 12:13:33 +0000 (08:13 -0400)
committerJoey Hess <joeyh@joeyh.name>
Wed, 30 Oct 2024 12:13:33 +0000 (08:13 -0400)
doc/todo/git-annex_proxies.mdwn
doc/todo/p2phttp_serve_multiple_repositories.mdwn [new file with mode: 0644]

index b355dd67556a77ac42f510b537c524779fae9453..1c5e70d04cecdf5805800b1dbc31d656eade57c4 100644 (file)
@@ -65,10 +65,6 @@ Planned schedule of work:
 
 ## items deferred until later for p2p protocol over http
 
-* `git-annex p2phttp` should support serving several repositories at the same
-  time (not as proxied remotes), so that eg, every git-annex repository
-  on a server can be served on the same port.
-
 * Support proxying to git remotes that use annex+http urls. This needs a
   translation from P2P protocol to servant-client to P2P protocol.
 
diff --git a/doc/todo/p2phttp_serve_multiple_repositories.mdwn b/doc/todo/p2phttp_serve_multiple_repositories.mdwn
new file mode 100644 (file)
index 0000000..f2ad9c7
--- /dev/null
@@ -0,0 +1,21 @@
+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]."
+
+[[!tag projects/INM7]]