This commit is contained in:
Joey Hess 2014-02-20 15:12:35 -04:00
parent 73ed2f8ec1
commit ae1e9f921b
4 changed files with 27 additions and 69 deletions

View file

@ -7,34 +7,13 @@
module Command.Dead where
import Common.Annex
import Command
import qualified Remote
import Logs.Trust
import Logs.Group
import qualified Data.Set as S
import Types.TrustLevel
import Command.Trust (trustCommand)
def :: [Command]
def = [command "dead" (paramRepeating paramRemote) seek
SectionSetup "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
markDead uuid
next $ return True
markDead :: UUID -> Annex ()
markDead uuid = do
trustSet uuid DeadTrusted
groupSet uuid S.empty
seek = trustCommand "dead" DeadTrusted

View file

@ -7,26 +7,13 @@
module Command.Semitrust where
import Common.Annex
import Command
import qualified Remote
import Logs.Trust
import Types.TrustLevel
import Command.Trust (trustCommand)
def :: [Command]
def = [command "semitrust" (paramRepeating paramRemote) seek
SectionSetup "return repository to default trust level"]
seek :: CommandSeek
seek = withWords start
start :: [String] -> CommandStart
start ws = do
let name = unwords ws
showStart "semitrust" name
u <- Remote.nameToUUID name
next $ perform u
perform :: UUID -> CommandPerform
perform uuid = do
trustSet uuid SemiTrusted
next $ return True
seek = trustCommand "semitrust" SemiTrusted

View file

@ -1,6 +1,6 @@
{- git-annex command
-
- Copyright 2010 Joey Hess <joey@kitenet.net>
- Copyright 2010, 2014 Joey Hess <joey@kitenet.net>
-
- Licensed under the GNU GPL version 3 or higher.
-}
@ -11,22 +11,27 @@ import Common.Annex
import Command
import qualified Remote
import Logs.Trust
import Logs.Group
import qualified Data.Set as S
def :: [Command]
def = [command "trust" (paramRepeating paramRemote) seek
SectionSetup "trust a repository"]
seek :: CommandSeek
seek = withWords start
seek = trustCommand "trust" Trusted
start :: [String] -> CommandStart
start ws = do
let name = unwords ws
showStart "trust" name
u <- Remote.nameToUUID name
next $ perform u
perform :: UUID -> CommandPerform
perform uuid = do
trustSet uuid Trusted
next $ return True
trustCommand :: String -> TrustLevel -> CommandSeek
trustCommand cmd level = withWords start
where
start ws = do
let name = unwords ws
showStart cmd name
u <- Remote.nameToUUID name
next $ perform u
perform uuid = do
trustSet uuid level
when (level == DeadTrusted) $
groupSet uuid S.empty
next $ return True

View file

@ -7,26 +7,13 @@
module Command.Untrust where
import Common.Annex
import Command
import qualified Remote
import Logs.Trust
import Types.TrustLevel
import Command.Trust (trustCommand)
def :: [Command]
def = [command "untrust" (paramRepeating paramRemote) seek
SectionSetup "do not trust a repository"]
seek :: CommandSeek
seek = withWords start
start :: [String] -> CommandStart
start ws = do
let name = unwords ws
showStart "untrust" name
u <- Remote.nameToUUID name
next $ perform u
perform :: UUID -> CommandPerform
perform uuid = do
trustSet uuid UnTrusted
next $ return True
seek = trustCommand "untrust" UnTrusted