From 56478e99acebb638121207bf48c06af1118544bc Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 21 Apr 2021 13:24:32 -0400 Subject: [PATCH] bug report --- doc/bugs/git-annex_branch_caching_bug.mdwn | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 doc/bugs/git-annex_branch_caching_bug.mdwn diff --git a/doc/bugs/git-annex_branch_caching_bug.mdwn b/doc/bugs/git-annex_branch_caching_bug.mdwn new file mode 100644 index 0000000000..5c099f6fe5 --- /dev/null +++ b/doc/bugs/git-annex_branch_caching_bug.mdwn @@ -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 precached location logs as an +optimisation. That streams info from the git-annex branch into the cache. +But it never checks for a journal file. + +One fix would be to just check the journal file too, but that would +probably slow down the optimisation and would not speed up anything. So I +think that the caching needs to note that it's got cached a value from the +git-annex branch, but that the journal file needs to be checked for before +using that cached data. + +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. + +(This is also a blocker for [[todo/hiding_a_repository]].) +--[[Joey]]