90f7c4b6a2
There should be no behavior changes in this commit, it just adds a more expressive data type and adjusts code that had been passing around a [UUID] or sometimes a Maybe Remote to instead use [VerifiedCopy]. Although, since some functions were taking two different [UUID] lists, there's some potential for me to have gotten it horribly wrong.
26 lines
810 B
Haskell
26 lines
810 B
Haskell
{- git-annex assistant dropping of unwanted content
|
|
-
|
|
- Copyright 2012 Joey Hess <id@joeyh.name>
|
|
-
|
|
- Licensed under the GNU GPL version 3 or higher.
|
|
-}
|
|
|
|
module Assistant.Drop (
|
|
handleDrops,
|
|
handleDropsFrom,
|
|
) where
|
|
|
|
import Assistant.Common
|
|
import Assistant.DaemonStatus
|
|
import Annex.Drop (handleDropsFrom, Reason)
|
|
import Logs.Location
|
|
import CmdLine.Action
|
|
import Types.NumCopies
|
|
|
|
{- Drop from local and/or remote when allowed by the preferred content and
|
|
- numcopies settings. -}
|
|
handleDrops :: Reason -> Bool -> Key -> AssociatedFile -> [VerifiedCopy] -> Assistant ()
|
|
handleDrops reason fromhere key f preverified = do
|
|
syncrs <- syncDataRemotes <$> getDaemonStatus
|
|
locs <- liftAnnex $ loggedLocations key
|
|
liftAnnex $ handleDropsFrom locs syncrs reason fromhere key f preverified callCommandAction
|