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 hiding a repository.)

done --Joey