unused: Bug fix when a new file was added to the annex, and then removed (but not git rmed). git still has the add staged in this case, so the content should not be unused and was wrongly treated as such.
So, we need to look at both the file on disk to see if it's a annex link, and the file in the index too. lookupFile doesn't look in the index if the file is not present on disk.
This commit is contained in:
parent
f263316c16
commit
03cb2c8ece
3 changed files with 17 additions and 10 deletions
|
@ -26,6 +26,7 @@ import qualified Git.LsFiles as LsFiles
|
|||
import qualified Git.DiffTree as DiffTree
|
||||
import qualified Remote
|
||||
import qualified Annex.Branch
|
||||
import Annex.Link
|
||||
import Annex.CatFile
|
||||
import Types.Key
|
||||
import Types.RefSpec
|
||||
|
@ -214,8 +215,12 @@ withKeysReferenced' mdir initial a = do
|
|||
Just dir -> inRepo $ LsFiles.inRepo [dir]
|
||||
go v [] = return v
|
||||
go v (f:fs) = do
|
||||
x <- lookupFile f
|
||||
case x of
|
||||
mk <- getM id
|
||||
[ isAnnexLink f
|
||||
, liftIO (isPointerFile f)
|
||||
, catKeyFile f
|
||||
]
|
||||
case mk of
|
||||
Nothing -> go v fs
|
||||
Just k -> do
|
||||
!v' <- a k f v
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue