Correct git-annex info to include unlocked files in v6 repository.

An unlocked present file does not have a pointer file in the worktree, so
info skipped counting it.

It may be that unused was also affected by the problem, but it seemed not
to be in my tests. I think because of the use of the associatedFilesFilter.

This fix slows down both info and unused a little bit, since they have to
query the contents of files from git, but only when handling unlocked files.
This commit is contained in:
Joey Hess 2016-03-14 13:13:56 -04:00
parent 8f362565a8
commit 1df49506c4
Failed to extract signature
3 changed files with 6 additions and 5 deletions

View file

@ -27,6 +27,7 @@ import qualified Remote
import qualified Annex.Branch
import Annex.Link
import Annex.CatFile
import Annex.WorkTree
import Types.RefSpec
import Git.Types
import Git.Sha
@ -215,10 +216,7 @@ withKeysReferenced' mdir initial a = do
Just dir -> inRepo $ LsFiles.inRepo [dir]
go v [] = return v
go v (f:fs) = do
mk <- getM id
[ isAnnexLink f
, liftIO (isPointerFile f)
]
mk <- lookupFile f
case mk of
Nothing -> go v fs
Just k -> do