e66b7d2e1b
An --unlock-present branch reverses back to a branch where all files that get modified or renamed become locked, even if they were originally unlocked. This is the same that reversing a --unlock branch works, and the new name makes that commonality more clear.
63 lines
1.7 KiB
Haskell
63 lines
1.7 KiB
Haskell
{- 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 $ noDaemonRunning $
|
|
command "adjust" SectionSetup "enter adjusted branch"
|
|
paramNothing (seek <$$> optParser)
|
|
|
|
optParser :: CmdParamsDesc -> Parser Adjustment
|
|
optParser _ =
|
|
(LinkAdjustment <$> linkAdjustmentParser)
|
|
<|> (PresenceAdjustment <$> presenceAdjustmentParser <*> maybeLinkAdjustmentParser)
|
|
<|> (LinkPresentAdjustment <$> linkPresentAdjustmentParser)
|
|
|
|
linkAdjustmentParser :: Parser LinkAdjustment
|
|
linkAdjustmentParser =
|
|
flag' UnlockAdjustment
|
|
( long "unlock"
|
|
<> help "unlock annexed files"
|
|
)
|
|
<|> flag' LockAdjustment
|
|
( long "lock"
|
|
<> help "lock 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
|
|
( long "hide-missing"
|
|
<> help "hide annexed files whose content is not present"
|
|
)
|
|
|
|
linkPresentAdjustmentParser :: Parser LinkPresentAdjustment
|
|
linkPresentAdjustmentParser =
|
|
flag' UnlockPresentAdjustment
|
|
( long "unlock-present"
|
|
<> help "unlock files whose content is present; lock rest"
|
|
)
|
|
|
|
seek :: Adjustment -> CommandSeek
|
|
seek = commandAction . start
|
|
|
|
start :: Adjustment -> CommandStart
|
|
start adj = do
|
|
checkVersionSupported
|
|
starting "adjust" (ActionItemOther Nothing) (SeekInput []) $
|
|
next $ enterAdjustedBranch adj
|