git-annex/Command/Dead.hs
Joey Hess bf72760af2 dead: Remove dead repository from all groups.
This is less expensive than having inallgroup weed out dead repositories.
2012-10-10 15:39:13 -04:00

36 lines
699 B
Haskell

{- git-annex command
-
- Copyright 2011 Joey Hess <joey@kitenet.net>
-
- Licensed under the GNU GPL version 3 or higher.
-}
module Command.Dead where
import Common.Annex
import Command
import qualified Remote
import Logs.Trust
import Logs.Group
import qualified Data.Set as S
def :: [Command]
def = [command "dead" (paramRepeating paramRemote) seek
"hide a lost repository"]
seek :: [CommandSeek]
seek = [withWords start]
start :: [String] -> CommandStart
start ws = do
let name = unwords ws
showStart "dead " name
u <- Remote.nameToUUID name
next $ perform u
perform :: UUID -> CommandPerform
perform uuid = do
trustSet uuid DeadTrusted
groupSet uuid S.empty
next $ return True