import qualified Annex
import Logs.Trust
import Annex.NumCopies
-import Types.Remote (uuid, appendonly, config)
+import Types.Remote (uuid, appendonly, config, remotetype, thirdPartyPopulated)
import qualified Remote
import qualified Command.Drop
import Command
| appendonly r = go fs rest n
| exportTree (config r) = go fs rest n
| importTree (config r) = go fs rest n
+ | thirdPartyPopulated (remotetype r) = go fs rest n
| checkcopies n (Just $ Remote.uuid r) =
dropr fs r n >>= go fs rest
| otherwise = pure n
contentremotes <- filterM (not <$$> liftIO . getDynamicConfig . remoteAnnexIgnore . Remote.gitconfig) $
filter (\r -> Remote.uuid r /= NoUUID) syncable
let (exportremotes, nonexportremotes) = partition (exportTree . Remote.config) contentremotes
- let dataremotes = filter (not . importTree . Remote.config) nonexportremotes
+ let isimport r = importTree (Remote.config r) || Remote.thirdPartyPopulated (Remote.remotetype r)
+ let dataremotes = filter (not . isimport) nonexportremotes
return $ \dstatus -> dstatus
{ syncRemotes = syncable
dataremotes <- filter (\r -> Remote.uuid r /= NoUUID)
<$> filterM (not <$$> liftIO . getDynamicConfig . remoteAnnexIgnore . Remote.gitconfig) remotes
let (exportremotes, nonexportremotes) = partition (exportTree . Remote.config) dataremotes
- let importremotes = filter (importTree . Remote.config) dataremotes
- let keyvalueremotes = filter (not . importTree . Remote.config) nonexportremotes
+ let isimport r = importTree (Remote.config r) || Remote.thirdPartyPopulated (Remote.remotetype r)
+ let importremotes = filter isimport dataremotes
+ let keyvalueremotes = filter (not . isimport) nonexportremotes
if cleanupOption o
then do