adjust --hide-missing

* At long last there's a way to hide annexed files whose content
  is missing from the working tree: git-annex adjust --hide-missing
* When already in an adjusted branch, running git-annex adjust
  again will update the branch as needed. This is mostly
  useful with --hide-missing to hide/unhide files after their content
  has been dropped or received.

Still needs integration with sync and the assistant, and not as fast as it
could be, but already usable.

This commit was sponsored by Ethan Aubin.
This commit is contained in:
Joey Hess 2018-10-18 15:32:42 -04:00
parent a6c8de84b6
commit 24838547e2
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
7 changed files with 148 additions and 23 deletions

View file

@ -1,6 +1,6 @@
{- git-annex command
-
- Copyright 2016 Joey Hess <id@joeyh.name>
- Copyright 2016-2018 Joey Hess <id@joeyh.name>
-
- Licensed under the GNU GPL version 3 or higher.
-}
@ -16,21 +16,30 @@ cmd = notBareRepo $ notDirect $ noDaemonRunning $
paramNothing (seek <$$> optParser)
optParser :: CmdParamsDesc -> Parser Adjustment
optParser _ =
flag' (LinkAdjustment UnlockAdjustment)
optParser _ =
(LinkAdjustment <$> linkAdjustmentParser)
<|> (PresenceAdjustment <$> presenceAdjustmentParser <*> maybeLinkAdjustmentParser)
linkAdjustmentParser :: Parser LinkAdjustment
linkAdjustmentParser =
flag' UnlockAdjustment
( long "unlock"
<> help "unlock annexed files"
)
<|> flag' (LinkAdjustment FixAdjustment)
<|> flag' FixAdjustment
( long "fix"
<> help "fix symlinks to annnexed files"
)
{- Not ready yet
<|> flag' (PresenseAdjustment HideMissingAdjustment)
maybeLinkAdjustmentParser :: Parser (Maybe LinkAdjustment)
maybeLinkAdjustmentParser = Just <$> linkAdjustmentParser <|> pure Nothing
presenceAdjustmentParser :: Parser PresenceAdjustment
presenceAdjustmentParser =
flag' HideMissingAdjustment
( long "hide-missing"
<> help "omit annexed files whose content is not present"
<> help "hide annexed files whose content is not present"
)
-}
seek :: Adjustment -> CommandSeek
seek = commandAction . start