better fsck file handling
This commit is contained in:
parent
7293ba2940
commit
19ee56559a
3 changed files with 9 additions and 12 deletions
|
@ -44,6 +44,7 @@ type SubCmdStartString = String -> SubCmdStart
|
|||
type SubCmdSeekBackendFiles = SubCmdStartBackendFile -> SubCmdSeek
|
||||
type SubCmdStartBackendFile = (FilePath, Maybe Backend) -> SubCmdStart
|
||||
type SubCmdSeekNothing = SubCmdStart -> SubCmdSeek
|
||||
type SubCmdStartNothing = SubCmdStart
|
||||
|
||||
data SubCommand = SubCommand {
|
||||
subcmdname :: String,
|
||||
|
@ -143,6 +144,9 @@ withKeys :: SubCmdSeekStrings
|
|||
withKeys a params = return $ map a params
|
||||
withTempFile :: SubCmdSeekStrings
|
||||
withTempFile a params = return $ map a params
|
||||
withNothing :: SubCmdSeekNothing
|
||||
withNothing a [] = return [a]
|
||||
withNothing _ _ = return []
|
||||
|
||||
{- Default to acting on all files matching the seek action if
|
||||
- none are specified. -}
|
||||
|
|
|
@ -16,20 +16,14 @@ import Messages
|
|||
import qualified Command.FsckFile
|
||||
|
||||
seek :: [SubCmdSeek]
|
||||
seek = [withString start, withAll withFilesInGit Command.FsckFile.start]
|
||||
seek = [withNothing start, withAll withFilesInGit Command.FsckFile.start]
|
||||
|
||||
{- Checks the whole annex for problems, only if specific files were not
|
||||
- specified. -}
|
||||
start :: SubCmdStartString
|
||||
start whatspecified = do
|
||||
if (null whatspecified)
|
||||
then do
|
||||
showStart "fsck" ""
|
||||
return $ Just perform
|
||||
else do
|
||||
showStart "fsck" ""
|
||||
showNote "only checking specified files"
|
||||
return $ Just $ return $ Just $ return True
|
||||
start :: SubCmdStartNothing
|
||||
start = do
|
||||
showStart "fsck" ""
|
||||
return $ Just perform
|
||||
|
||||
perform :: SubCmdPerform
|
||||
perform = do
|
||||
|
|
|
@ -295,7 +295,6 @@ You can also specifiy the files to check. This is particularly useful if
|
|||
you're using sha1 and don't want to spend a long time checksumming everything.
|
||||
|
||||
# git annex fsck my_cool_big_file
|
||||
fsck (only checking specified files) ok
|
||||
fsck my_cool_big_file (checksum...) ok
|
||||
|
||||
## fsck: When things go wrong
|
||||
|
|
Loading…
Reference in a new issue