convert Unused, and remove some dead code for old style option parsing
This commit is contained in:
parent
4064dd4c82
commit
160d4b9fe0
4 changed files with 26 additions and 54 deletions
|
@ -1,6 +1,6 @@
|
|||
{- git-annex command
|
||||
-
|
||||
- Copyright 2010-2012 Joey Hess <id@joeyh.name>
|
||||
- Copyright 2010-2015 Joey Hess <id@joeyh.name>
|
||||
-
|
||||
- Licensed under the GNU GPL version 3 or higher.
|
||||
-}
|
||||
|
@ -31,6 +31,7 @@ import Annex.CatFile
|
|||
import Types.Key
|
||||
import Types.RefSpec
|
||||
import Git.FilePath
|
||||
import Git.Types
|
||||
import Logs.View (is_branchView)
|
||||
import Annex.BloomFilter
|
||||
|
||||
|
@ -38,26 +39,33 @@ cmd :: Command
|
|||
cmd = -- withGlobalOptions [unusedFromOption, refSpecOption] $
|
||||
command "unused" SectionMaintenance
|
||||
"look for unused file content"
|
||||
paramNothing (withParams seek)
|
||||
paramNothing (seek <$$> optParser)
|
||||
|
||||
unusedFromOption :: Option
|
||||
unusedFromOption = fieldOption ['f'] "from" paramRemote "remote to check for unused content"
|
||||
data UnusedOptions = UnusedOptions
|
||||
{ fromRemote :: Maybe RemoteName
|
||||
, refSpecOption :: Maybe RefSpec
|
||||
}
|
||||
|
||||
refSpecOption :: Option
|
||||
refSpecOption = fieldOption [] "used-refspec" paramRefSpec "refs to consider used (default: all refs)"
|
||||
optParser :: CmdParamsDesc -> Parser UnusedOptions
|
||||
optParser _ = UnusedOptions
|
||||
<$> optional (strOption
|
||||
( long "from" <> short 'f' <> metavar paramRemote
|
||||
<> help "remote to check for unused content"
|
||||
))
|
||||
<*> optional (option (eitherReader parseRefSpec)
|
||||
( long "unused-refspec" <> metavar paramRefSpec
|
||||
<> help "refs to consider used (default: all branches)"
|
||||
))
|
||||
|
||||
seek :: CmdParams -> CommandSeek
|
||||
seek = withNothing start
|
||||
seek :: UnusedOptions -> CommandSeek
|
||||
seek = commandAction . start
|
||||
|
||||
{- Finds unused content in the annex. -}
|
||||
start :: CommandStart
|
||||
start = do
|
||||
start :: UnusedOptions -> CommandStart
|
||||
start o = do
|
||||
cfgrefspec <- fromMaybe allRefSpec . annexUsedRefSpec
|
||||
<$> Annex.getGitConfig
|
||||
!refspec <- maybe cfgrefspec (either error id . parseRefSpec)
|
||||
<$> Annex.getField (optionName refSpecOption)
|
||||
from <- Annex.getField (optionName unusedFromOption)
|
||||
let (name, perform) = case from of
|
||||
let refspec = fromMaybe cfgrefspec (refSpecOption o)
|
||||
let (name, perform) = case fromRemote o of
|
||||
Nothing -> (".", checkUnused refspec)
|
||||
Just "." -> (".", checkUnused refspec)
|
||||
Just "here" -> (".", checkUnused refspec)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue