090898a138
Straightforward, except for the issue of how to reverse LockAdjustment. With --unlock, a commit that modifies/adds unlocked files gets reverse adjusted to use locked files. That's fairly reasonable, I think. But reversing --lock by unlocking all modified files feels wrong. Maybe that's just because repositories typically seem to still have mostly locked files in them (unless one is in an adjusted unlocked branch of course!) It may be that eventually how to reverse both will need to be configurable, I don't know.
55 lines
1.4 KiB
Haskell
55 lines
1.4 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)
|
|
|
|
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"
|
|
)
|
|
|
|
seek :: Adjustment -> CommandSeek
|
|
seek = commandAction . start
|
|
|
|
start :: Adjustment -> CommandStart
|
|
start adj = do
|
|
checkVersionSupported
|
|
starting "adjust" (ActionItemOther Nothing) $
|
|
next $ enterAdjustedBranch adj
|