Fix nasty reversion in the last release that broke sync --content's handling of many preferred content expressions.
The type checker should have noticed this, but the changes to mapM that make it accept any Traversable hid the fact that it was not being passed a list at all. Thus, what should have returned an empty list most of the time instead returned [""] which was treated as the name of the associated file, with disasterout consequences. When I have time, I should add a test case checking what sync --content drops. I should also consider replacing mapM with one re-specialized to lists.
This commit is contained in:
parent
3ddfa7bf1d
commit
039e83ed5d
5 changed files with 20 additions and 2 deletions
|
@ -8,6 +8,7 @@
|
|||
module Annex.Drop where
|
||||
|
||||
import Annex.Common
|
||||
import qualified Annex
|
||||
import Logs.Trust
|
||||
import Annex.NumCopies
|
||||
import Types.Remote (uuid)
|
||||
|
@ -49,7 +50,9 @@ handleDropsFrom :: [UUID] -> [Remote] -> Reason -> Bool -> Key -> AssociatedFile
|
|||
handleDropsFrom locs rs reason fromhere key afile preverified runner = do
|
||||
l <- ifM isDirect
|
||||
( associatedFilesRelative key
|
||||
, mapM getTopFilePath <$> Database.Keys.getAssociatedFiles key
|
||||
, do
|
||||
g <- Annex.gitRepo
|
||||
map (`fromTopFilePath` g) <$> Database.Keys.getAssociatedFiles key
|
||||
)
|
||||
let fs = if null l then maybeToList afile else l
|
||||
n <- getcopies fs
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue