diff options
author | Joey Hess <joeyh@joeyh.name> | 2015-07-08 17:59:06 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2015-07-08 17:59:06 -0400 |
commit | e5fadb1bbcd0bafc9d2e9c5ded2e644e532baafc (patch) | |
tree | 9c616f65306c3eb49cd616bb213002ca4811963d /Command/Fsck.hs | |
parent | 249e0861520a2904f70bf4b79a4ebddc009c3683 (diff) |
wip
Diffstat (limited to 'Command/Fsck.hs')
-rw-r--r-- | Command/Fsck.hs | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/Command/Fsck.hs b/Command/Fsck.hs index c2a819e9d..486b686d5 100644 --- a/Command/Fsck.hs +++ b/Command/Fsck.hs @@ -34,6 +34,7 @@ import Types.CleanupActions import Utility.HumanTime import Utility.CopyFile import Git.FilePath +import Git.Types (RemoteName) import Utility.PID import qualified Database.Fsck as FsckDb @@ -42,15 +43,17 @@ import System.Posix.Types (EpochTime) import Options.Applicative hiding (command) cmd :: Command -cmd = command "fsck" SectionMaintenance "check for problems" +cmd = command "fsck" SectionMaintenance + "find and fix problems" paramPaths (seek <$$> optParser) data FsckOptions = FsckOptions { fsckFiles :: CmdParams - , fsckFromOption :: Maybe String + , fsckFromOption :: Maybe RemoteName , startIncrementalOption :: Bool , moreIncrementalOption :: Bool , incrementalScheduleOption :: Maybe Duration + , keyOptions :: KeyOptions } optParser :: CmdParamsDesc -> Parser FsckOptions @@ -77,15 +80,16 @@ optParser desc = FsckOptions <> metavar paramTime <> help "schedule incremental fscking" )) + <*> parseKeyOptions False --- TODO: keyOptions, annexedMatchingOptions +-- TODO: annexedMatchingOptions seek :: FsckOptions -> CommandSeek seek o = do from <- Remote.byNameWithUUID (fsckFromOption o) u <- maybe getUUID (pure . Remote.uuid) from i <- getIncremental u o - withKeyOptions False + withKeyOptions (keyOptions o) False (\k -> startKey i k =<< getNumCopies) (withFilesInGit $ whenAnnexed $ start from i) (fsckFiles o) |