git-annex/Command/Semitrust.hs
Joey Hess b88637fff1 prevent trust commands from trying to do things in a bare repo
Since they need to stage changes, they would actually, if allowed to run,
succeed, but wipe out existing trust.log content.
2011-03-03 16:22:53 -04:00

35 lines
752 B
Haskell

{- git-annex command
-
- Copyright 2010 Joey Hess <joey@kitenet.net>
-
- Licensed under the GNU GPL version 3 or higher.
-}
module Command.Semitrust where
import Command
import qualified GitRepo as Git
import qualified Remotes
import UUID
import Trust
import Messages
command :: [Command]
command = [Command "semitrust" (paramRepeating paramRemote) seek
"return repository to default trust level"]
seek :: [CommandSeek]
seek = [withString start]
start :: CommandStartString
start name = notBareRepo $ do
showStart "semitrust" name
Remotes.readConfigs
r <- Remotes.byName name
return $ Just $ perform r
perform :: Git.Repo -> CommandPerform
perform repo = do
uuid <- getUUID repo
trustSet uuid SemiTrusted
return $ Just $ return True