git-annex/Command/Adjust.hs

52 lines
1.3 KiB
Haskell
Raw Normal View History

{- git-annex command
-
- Copyright 2016-2018 Joey Hess <id@joeyh.name>
-
- Licensed under the GNU AGPL version 3 or higher.
-}
module Command.Adjust where
import Command
import Annex.AdjustedBranch
cmd :: Command
cmd = notBareRepo $ notDirect $ noDaemonRunning $
2016-03-29 15:54:18 +00:00
command "adjust" SectionSetup "enter adjusted branch"
paramNothing (seek <$$> optParser)
2016-03-29 15:54:18 +00:00
optParser :: CmdParamsDesc -> Parser Adjustment
optParser _ =
(LinkAdjustment <$> linkAdjustmentParser)
<|> (PresenceAdjustment <$> presenceAdjustmentParser <*> maybeLinkAdjustmentParser)
linkAdjustmentParser :: Parser LinkAdjustment
linkAdjustmentParser =
flag' UnlockAdjustment
2016-03-29 15:54:18 +00:00
( long "unlock"
<> help "unlock annexed files"
)
<|> flag' FixAdjustment
( long "fix"
<> help "fix symlinks to annnexed files"
)
maybeLinkAdjustmentParser :: Parser (Maybe LinkAdjustment)
maybeLinkAdjustmentParser = Just <$> linkAdjustmentParser <|> pure Nothing
presenceAdjustmentParser :: Parser PresenceAdjustment
presenceAdjustmentParser =
flag' HideMissingAdjustment
2016-03-29 15:54:18 +00:00
( long "hide-missing"
<> help "hide annexed files whose content is not present"
2016-03-29 15:54:18 +00:00
)
2016-03-29 15:54:18 +00:00
seek :: Adjustment -> CommandSeek
seek = commandAction . start
start :: Adjustment -> CommandStart
start adj = do
checkVersionSupported
showStart' "adjust" Nothing
next $ next $ enterAdjustedBranch adj