reorganize some files and imports

This commit is contained in:
Joey Hess 2014-01-26 16:25:55 -04:00
parent 3149a62a35
commit 86ffeb73d1
34 changed files with 92 additions and 120 deletions

View file

@ -21,7 +21,6 @@ import qualified Annex.Url as Url
import qualified Backend.URL
import Annex.Content
import Logs.Web
import qualified Option
import Types.Key
import Types.KeySource
import Config
@ -39,13 +38,13 @@ def = [notBareRepo $ withOptions [fileOption, pathdepthOption, relaxedOption] $
SectionCommon "add urls to annex"]
fileOption :: Option
fileOption = Option.field [] "file" paramFile "specify what file the url is added to"
fileOption = fieldOption [] "file" paramFile "specify what file the url is added to"
pathdepthOption :: Option
pathdepthOption = Option.field [] "pathdepth" paramNumber "path components to use in filename"
pathdepthOption = fieldOption [] "pathdepth" paramNumber "path components to use in filename"
relaxedOption :: Option
relaxedOption = Option.flag [] "relaxed" "skip size check"
relaxedOption = flagOption [] "relaxed" "skip size check"
seek :: CommandSeek
seek ps = do

View file

@ -9,7 +9,6 @@ module Command.Assistant where
import Common.Annex
import Command
import qualified Option
import qualified Command.Watch
import Init
import Config.Files
@ -32,10 +31,10 @@ options =
]
autoStartOption :: Option
autoStartOption = Option.flag [] "autostart" "start in known repositories"
autoStartOption = flagOption [] "autostart" "start in known repositories"
startDelayOption :: Option
startDelayOption = Option.field [] "startdelay" paramNumber "delay before running startup scan"
startDelayOption = fieldOption [] "startdelay" paramNumber "delay before running startup scan"
seek :: CommandSeek
seek ps = do

View file

@ -9,7 +9,6 @@ module Command.Copy where
import Common.Annex
import Command
import GitAnnex.Options
import qualified Command.Move
import qualified Remote
import Annex.Wanted

View file

@ -16,19 +16,18 @@ import Logs.Location
import Logs.Trust
import Config.NumCopies
import Annex.Content
import qualified Option
import Annex.Wanted
def :: [Command]
def = [withOptions [fromOption] $ command "drop" paramPaths seek
def = [withOptions [dropFromOption] $ command "drop" paramPaths seek
SectionCommon "indicate content of files not currently wanted"]
fromOption :: Option
fromOption = Option.field ['f'] "from" paramRemote "drop content from a remote"
dropFromOption :: Option
dropFromOption = fieldOption ['f'] "from" paramRemote "drop content from a remote"
seek :: CommandSeek
seek ps = do
from <- getOptionField fromOption Remote.byNameWithUUID
from <- getOptionField dropFromOption Remote.byNameWithUUID
withFilesInGit (whenAnnexed $ start from) ps
start :: Maybe Remote -> FilePath -> (Key, Backend) -> CommandStart

View file

@ -13,12 +13,11 @@ import qualified Annex
import qualified Command.Drop
import qualified Remote
import qualified Git
import qualified Option
import Command.Unused (withUnusedMaps, UnusedMaps(..), startUnused)
import Config.NumCopies
def :: [Command]
def = [withOptions [Command.Drop.fromOption] $
def = [withOptions [Command.Drop.dropFromOption] $
command "dropunused" (paramRepeating paramNumRange)
seek SectionMaintenance "drop unused file content"]
@ -37,7 +36,7 @@ perform numcopies key = maybe droplocal dropremote =<< Remote.byNameWithUUID =<<
showAction $ "from " ++ Remote.name r
Command.Drop.performRemote key numcopies r
droplocal = Command.Drop.performLocal key numcopies Nothing
from = Annex.getField $ Option.name Command.Drop.fromOption
from = Annex.getField $ optionName Command.Drop.dropFromOption
performOther :: (Key -> Git.Repo -> FilePath) -> Key -> CommandPerform
performOther filespec key = do

View file

@ -12,7 +12,6 @@ import Command
import qualified Utility.Format
import Command.Find (formatOption, getFormat, showFormatted, keyVars)
import Types.Key
import GitAnnex.Options
def :: [Command]
def = [noCommit $ noMessages $ withOptions [formatOption, jsonOption] $

View file

@ -17,24 +17,22 @@ import qualified Annex
import qualified Utility.Format
import Utility.DataUnits
import Types.Key
import qualified Option
import GitAnnex.Options
def :: [Command]
def = [noCommit $ noMessages $ withOptions [formatOption, print0Option, jsonOption] $
command "find" paramPaths seek SectionQuery "lists available files"]
formatOption :: Option
formatOption = Option.field [] "format" paramFormat "control format of output"
formatOption = fieldOption [] "format" paramFormat "control format of output"
getFormat :: Annex (Maybe Utility.Format.Format)
getFormat = getOptionField formatOption $ return . fmap Utility.Format.gen
print0Option :: Option
print0Option = Option.Option [] ["print0"] (Option.NoArg set)
print0Option = Option [] ["print0"] (NoArg set)
"terminate output with null"
where
set = Annex.setField (Option.name formatOption) "${file}\0"
set = Annex.setField (optionName formatOption) "${file}\0"
seek :: CommandSeek
seek ps = do

View file

@ -12,7 +12,6 @@ import Command
import qualified Annex.Branch as Branch
import Logs.Transitions
import qualified Annex
import qualified Option
import Data.Time.Clock.POSIX
@ -24,7 +23,7 @@ forgetOptions :: [Option]
forgetOptions = [dropDeadOption]
dropDeadOption :: Option
dropDeadOption = Option.flag [] "drop-dead" "drop references to dead repositories"
dropDeadOption = flagOption [] "drop-dead" "drop references to dead repositories"
seek :: CommandSeek
seek ps = do

View file

@ -30,11 +30,9 @@ import Annex.UUID
import Utility.DataUnits
import Utility.FileMode
import Config
import qualified Option
import Types.Key
import Utility.HumanTime
import Git.FilePath
import GitAnnex.Options hiding (fromOption)
#ifndef mingw32_HOST_OS
import System.Posix.Process (getProcessID)
@ -50,22 +48,22 @@ def :: [Command]
def = [withOptions fsckOptions $ command "fsck" paramPaths seek
SectionMaintenance "check for problems"]
fromOption :: Option
fromOption = Option.field ['f'] "from" paramRemote "check remote"
fsckFromOption :: Option
fsckFromOption = fieldOption ['f'] "from" paramRemote "check remote"
startIncrementalOption :: Option
startIncrementalOption = Option.flag ['S'] "incremental" "start an incremental fsck"
startIncrementalOption = flagOption ['S'] "incremental" "start an incremental fsck"
moreIncrementalOption :: Option
moreIncrementalOption = Option.flag ['m'] "more" "continue an incremental fsck"
moreIncrementalOption = flagOption ['m'] "more" "continue an incremental fsck"
incrementalScheduleOption :: Option
incrementalScheduleOption = Option.field [] "incremental-schedule" paramTime
incrementalScheduleOption = fieldOption [] "incremental-schedule" paramTime
"schedule incremental fscking"
fsckOptions :: [Option]
fsckOptions =
[ fromOption
[ fsckFromOption
, startIncrementalOption
, moreIncrementalOption
, incrementalScheduleOption
@ -73,7 +71,7 @@ fsckOptions =
seek :: CommandSeek
seek ps = do
from <- getOptionField fromOption Remote.byNameWithUUID
from <- getOptionField fsckFromOption Remote.byNameWithUUID
i <- getIncremental
withKeyOptions
(startKey i)
@ -83,9 +81,9 @@ seek ps = do
getIncremental :: Annex Incremental
getIncremental = do
i <- maybe (return False) (checkschedule . parseDuration)
=<< Annex.getField (Option.name incrementalScheduleOption)
starti <- Annex.getFlag (Option.name startIncrementalOption)
morei <- Annex.getFlag (Option.name moreIncrementalOption)
=<< Annex.getField (optionName incrementalScheduleOption)
starti <- Annex.getFlag (optionName startIncrementalOption)
morei <- Annex.getFlag (optionName moreIncrementalOption)
case (i, starti, morei) of
(False, False, False) -> return NonIncremental
(False, True, _) -> startIncremental

View file

@ -14,7 +14,6 @@ import Annex.Content
import Logs.Transfer
import Config.NumCopies
import Annex.Wanted
import GitAnnex.Options
import qualified Command.Move
def :: [Command]

View file

@ -18,7 +18,6 @@ import qualified Command.Copy
import qualified Command.Sync
import qualified Command.Whereis
import qualified Command.Fsck
import GitAnnex.Options
import System.Console.GetOpt
@ -42,7 +41,7 @@ start' ["options"] = showCommonOptions
start' _ = showGeneralHelp
showCommonOptions :: IO ()
showCommonOptions = putStrLn $ usageInfo "Common options:" options
showCommonOptions = putStrLn $ usageInfo "Common options:" gitAnnexOptions
showGeneralHelp :: IO ()
showGeneralHelp = putStrLn $ unlines

View file

@ -13,7 +13,6 @@ import Common.Annex
import Command
import qualified Annex
import qualified Command.Add
import qualified Option
import Utility.CopyFile
import Backend
import Remote
@ -32,16 +31,16 @@ opts =
]
duplicateOption :: Option
duplicateOption = Option.flag [] "duplicate" "do not delete source files"
duplicateOption = flagOption [] "duplicate" "do not delete source files"
deduplicateOption :: Option
deduplicateOption = Option.flag [] "deduplicate" "delete source files whose content was imported before"
deduplicateOption = flagOption [] "deduplicate" "delete source files whose content was imported before"
cleanDuplicatesOption :: Option
cleanDuplicatesOption = Option.flag [] "clean-duplicates" "delete duplicate source files (import nothing)"
cleanDuplicatesOption = flagOption [] "clean-duplicates" "delete duplicate source files (import nothing)"
skipDuplicatesOption :: Option
skipDuplicatesOption = Option.flag [] "skip-duplicates" "import only new files"
skipDuplicatesOption = flagOption [] "skip-duplicates" "import only new files"
data DuplicateMode = Default | Duplicate | DeDuplicate | CleanDuplicates | SkipDuplicates
deriving (Eq)
@ -53,7 +52,7 @@ getDuplicateMode = gen
<*> getflag cleanDuplicatesOption
<*> getflag skipDuplicatesOption
where
getflag = Annex.getFlag . Option.name
getflag = Annex.getFlag . optionName
gen False False False False = Default
gen True False False False = Duplicate
gen False True False False = DeDuplicate

View file

@ -21,7 +21,6 @@ import qualified Annex
import Command
import qualified Annex.Url as Url
import Logs.Web
import qualified Option
import qualified Utility.Format
import Utility.Tmp
import Command.AddUrl (addUrlFile, relaxedOption)
@ -39,7 +38,7 @@ def = [notBareRepo $ withOptions [templateOption, relaxedOption] $
SectionCommon "import files from podcast feeds"]
templateOption :: Option
templateOption = Option.field [] "template" paramFormat "template for filenames"
templateOption = fieldOption [] "template" paramFormat "template for filenames"
seek :: CommandSeek
seek ps = do

View file

@ -21,7 +21,6 @@ import qualified Remote
import qualified Command.Unused
import qualified Git
import qualified Annex
import GitAnnex.Options
import Command
import Utility.DataUnits
import Utility.DiskFree

View file

@ -20,7 +20,6 @@ import Remote
import Logs.Trust
import Logs.UUID
import Annex.UUID
import qualified Option
import qualified Annex
import Git.Types (RemoteName)
@ -29,7 +28,7 @@ def = [noCommit $ withOptions [allrepos] $ command "list" paramPaths seek
SectionQuery "show which remotes contain files"]
allrepos :: Option
allrepos = Option.flag [] "allrepos" "show all repositories, not only remotes"
allrepos = flagOption [] "allrepos" "show all repositories, not only remotes"
seek :: CommandSeek
seek ps = do
@ -38,7 +37,7 @@ seek ps = do
withFilesInGit (whenAnnexed $ start list) ps
getList :: Annex [(UUID, RemoteName, TrustLevel)]
getList = ifM (Annex.getFlag $ Option.name allrepos)
getList = ifM (Annex.getFlag $ optionName allrepos)
( nubBy ((==) `on` fst3) <$> ((++) <$> getRemotes <*> getAll)
, getRemotes
)

View file

@ -24,7 +24,6 @@ import qualified Annex.Branch
import qualified Git
import Git.Command
import qualified Remote
import qualified Option
import qualified Annex
data RefChange = RefChange
@ -44,14 +43,14 @@ options = passthruOptions ++ [gourceOption]
passthruOptions :: [Option]
passthruOptions = map odate ["since", "after", "until", "before"] ++
[ Option.field ['n'] "max-count" paramNumber
[ fieldOption ['n'] "max-count" paramNumber
"limit number of logs displayed"
]
where
odate n = Option.field [] n paramDate $ "show log " ++ n ++ " date"
odate n = fieldOption [] n paramDate $ "show log " ++ n ++ " date"
gourceOption :: Option
gourceOption = Option.flag [] "gource" "format output for gource"
gourceOption = flagOption [] "gource" "format output for gource"
seek :: CommandSeek
seek ps = do
@ -62,8 +61,8 @@ seek ps = do
withFilesInGit (whenAnnexed $ start m zone os gource) ps
where
getoption o = maybe [] (use o) <$>
Annex.getField (Option.name o)
use o v = [Param ("--" ++ Option.name o), Param v]
Annex.getField (optionName o)
use o v = [Param ("--" ++ optionName o), Param v]
start :: M.Map UUID String -> TimeZone -> [CommandParam] -> Bool ->
FilePath -> (Key, Backend) -> CommandStart

View file

@ -9,7 +9,6 @@ module Command.Mirror where
import Common.Annex
import Command
import GitAnnex.Options
import qualified Command.Move
import qualified Command.Drop
import qualified Command.Get

View file

@ -16,7 +16,6 @@ import qualified Remote
import Annex.UUID
import Logs.Presence
import Logs.Transfer
import GitAnnex.Options
def :: [Command]
def = [withOptions moveOptions $ command "move" paramPaths seek

View file

@ -15,7 +15,6 @@ import Config
import qualified Git.LsFiles as LsFiles
import qualified Git.Ref
import qualified Git
import GitAnnex.Options
def :: [Command]
def = [notBareRepo $ noCommit $ noMessages $ withOptions [jsonOption] $

View file

@ -27,7 +27,6 @@ import qualified Git
import Git.Types (BlobType(..))
import qualified Types.Remote
import qualified Remote.Git
import qualified Option
import Types.Key
import Config
import Annex.ReplaceFile
@ -53,7 +52,7 @@ syncOptions :: [Option]
syncOptions = [ contentOption ]
contentOption :: Option
contentOption = Option.flag [] "content" "also transfer file contents"
contentOption = flagOption [] "content" "also transfer file contents"
seek :: CommandSeek
seek rs = do
@ -85,7 +84,7 @@ seek rs = do
, map (withbranch . pullRemote) gitremotes
, [ mergeAnnex ]
]
whenM (Annex.getFlag $ Option.name contentOption) $
whenM (Annex.getFlag $ optionName contentOption) $
seekSyncContent remotes
seekActions $ return $ concat
[ [ withbranch pushLocal ]

View file

@ -14,8 +14,6 @@ import Logs.Location
import Logs.Transfer
import qualified Remote
import Types.Remote
import GitAnnex.Options
import qualified Option
def :: [Command]
def = [withOptions transferKeyOptions $
@ -26,7 +24,7 @@ transferKeyOptions :: [Option]
transferKeyOptions = fileOption : fromToOptions
fileOption :: Option
fileOption = Option.field [] "file" paramFile "the associated file"
fileOption = fieldOption [] "file" paramFile "the associated file"
seek :: CommandSeek
seek ps = do

View file

@ -33,17 +33,16 @@ import qualified Git.DiffTree as DiffTree
import qualified Backend
import qualified Remote
import qualified Annex.Branch
import qualified Option
import Annex.CatFile
import Types.Key
import Git.FilePath
def :: [Command]
def = [withOptions [fromOption] $ command "unused" paramNothing seek
def = [withOptions [unusedFromOption] $ command "unused" paramNothing seek
SectionMaintenance "look for unused file content"]
fromOption :: Option
fromOption = Option.field ['f'] "from" paramRemote "remote to check for unused content"
unusedFromOption :: Option
unusedFromOption = fieldOption ['f'] "from" paramRemote "remote to check for unused content"
seek :: CommandSeek
seek = withNothing start
@ -51,7 +50,7 @@ seek = withNothing start
{- Finds unused content in the annex. -}
start :: CommandStart
start = do
from <- Annex.getField $ Option.name fromOption
from <- Annex.getField $ optionName unusedFromOption
let (name, action) = case from of
Nothing -> (".", checkUnused)
Just "." -> (".", checkUnused)

View file

@ -10,7 +10,6 @@ module Command.Watch where
import Common.Annex
import Assistant
import Command
import Option
import Utility.HumanTime
def :: [Command]
@ -24,10 +23,10 @@ seek ps = do
withNothing (start False foreground stopdaemon Nothing) ps
foregroundOption :: Option
foregroundOption = Option.flag [] "foreground" "do not daemonize"
foregroundOption = flagOption [] "foreground" "do not daemonize"
stopOption :: Option
stopOption = Option.flag [] "stop" "stop daemon"
stopOption = flagOption [] "stop" "stop daemon"
start :: Bool -> Bool -> Bool -> Maybe Duration -> CommandStart
start assistant foreground stopdaemon startdelay = do

View file

@ -29,7 +29,6 @@ import qualified Git.Config
import qualified Git.CurrentRepo
import qualified Annex
import Config.Files
import qualified Option
import Upgrade
import Annex.Version
@ -45,7 +44,7 @@ def = [ withOptions [listenOption] $
command "webapp" paramNothing seek SectionCommon "launch webapp"]
listenOption :: Option
listenOption = Option.field [] "listen" paramAddress
listenOption = fieldOption [] "listen" paramAddress
"accept connections to this address"
seek :: CommandSeek

View file

@ -13,7 +13,6 @@ import Common.Annex
import Command
import Remote
import Logs.Trust
import GitAnnex.Options
def :: [Command]
def = [noCommit $ withOptions (jsonOption : keyOptions) $