update
authorJoey Hess <joeyh@joeyh.name>
Tue, 20 Apr 2021 19:18:18 +0000 (15:18 -0400)
committerJoey Hess <joeyh@joeyh.name>
Tue, 20 Apr 2021 19:18:18 +0000 (15:18 -0400)
doc/todo/hiding_a_repository.mdwn

index 3dcd632aa619706e0f68667bf2851cc78a7a0293..38d0e6e200863ff9e6fa56b511ef59f48ea76bc4 100644 (file)
@@ -145,6 +145,29 @@ all reads followed by writes do go via Annex.Branch.change, so Annex.Branch.get
 can just concacenate the two without worrying about it leaking back out in a
 later write.
 
+> Implementing this is in progress, in the `hiddenannex` branch.
+> 
+> Got the separate journal mostly working. No separate index yet.
+> No way to configure what repo is hidden yet. --[[Joey]]
+> 
+> Implementation notes:
+> 
+> * CmdLine.Seek precaches git-annex branch
+>   location logs, but that does not include private ones. Since they're
+>   cached, the private ones don't get read. Result is eg, whereis finds no
+>   copies. Either need to disable CmdLine.Seek precaching when there's
+>   hidden repos, or could make the cache indicate it's only of public
+>   info, so private info still gets read.
+> * CmdLine.Seek contains a LsTreeRecursive over the branch to handle
+>   --all, and again that won't see private information, including even
+>   annexed files that are only present in the hidden repo.
+> * (And I wonder, don't both the caches above already miss things in
+>   the journal?)
+> * Any other direct accesses of the branch, not going through
+>   Annex.Branch, also need to be fixed (and may be missing journal files
+>   already?) Command.ImportFeed.knownItems is one. Command.Log behavior
+>   needs to be investigated, may be ok. And Logs.Web.withKnownUrls is another.
+
 ## networks of hidden repos
 
 There are a lot of complications involving using hidden repos as remotes.