git-annex/Command/Describe.hs
Joey Hess f97c783283 clean up check selection code
This new approach allows filtering out checks from the default set that are
not appropriate for a command, rather than having to list every check
that is appropriate. It also reduces some boilerplate.

Haskell does not define Eq for functions, so I had to go a long way around
with each check having a unique id. Meh.
2011-10-29 15:19:05 -04:00

36 lines
786 B
Haskell

{- git-annex command
-
- Copyright 2011 Joey Hess <joey@kitenet.net>
-
- Licensed under the GNU GPL version 3 or higher.
-}
module Command.Describe where
import Common.Annex
import Command
import qualified Remote
import Logs.UUID
def :: [Command]
def = [command "describe" (paramPair paramRemote paramDesc) seek
"change description of a repository"]
seek :: [CommandSeek]
seek = [withWords start]
start :: [String] -> CommandStart
start ws = do
let (name, description) =
case ws of
(n:d) -> (n,unwords d)
_ -> error "Specify a repository and a description."
showStart "describe" name
u <- Remote.nameToUUID name
next $ perform u description
perform :: UUID -> String -> CommandPerform
perform u description = do
describeUUID u description
next $ return True