Merge branch 'master' into hiddenannex

This commit is contained in:
Joey Hess 2021-04-21 15:45:12 -04:00
commit 0bb57702e1
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
5 changed files with 113 additions and 36 deletions

View file

@ -0,0 +1,22 @@
If the journal contains a newer version of a log file than the git-annex
branch, and annex.alwayscommit=false so the branch is not getting updated,
the value from the journal can be ignored when reading that log file.
In CmdLine.Seek, there is some code that precaches location logs as an
optimisation (when using eg --copies). That streams info from the
git-annex branch into the cache. But it never checks for a journal file
with newer information.
> fixed this
Also in Cmdline.Seek, there is a LsTreeRecursive over the branch to handle
`--all`, and I think again that would mean it doesn't notice location
logs that are only in the journal.
Before that optimisation, it was using Logs.Location.loggedKeys,
which does look at the journal.
> fixed
(This is also a blocker for [[todo/hiding_a_repository]].)
[[done]] --[[Joey]]

View file

@ -151,19 +151,9 @@ later write.
> 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
>
> * [[bugs/git-annex_branch_caching_bug]] was a problem, now fixed.
> * Any other similar 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.