darcs-2.18.1: src/Darcs/Repository/Flags.hs
module Darcs.Repository.Flags
( RemoteDarcs (..)
, remoteDarcs
, Reorder (..)
, Verbosity (..)
, UpdatePending (..)
, UseCache (..)
, DryRun (..)
, UMask (..)
, LookForAdds (..)
, LookForReplaces (..)
, DiffAlgorithm (..)
, LookForMoves (..)
, DiffOpts (..)
, RunTest (..)
, SetScriptsExecutable (..)
, LeaveTestDir (..)
, SetDefault (..)
, InheritDefault (..)
, UseIndex (..)
, CloneKind (..)
, AllowConflicts (..)
, ResolveConflicts (..)
, WorkRepo (..)
, WantGuiPause (..)
, WithPatchIndex (..)
, WithWorkingDir (..)
, ForgetParent (..)
, PatchFormat (..)
, WithPrefsTemplates (..)
, OptimizeDeep (..)
) where
import Darcs.Prelude
import Darcs.Util.Diff ( DiffAlgorithm(..) )
import Darcs.Util.Global ( defaultRemoteDarcsCmd )
data Verbosity = Quiet | NormalVerbosity | Verbose
deriving ( Eq, Show )
data WithPatchIndex = YesPatchIndex | NoPatchIndex
deriving ( Eq, Show )
data RemoteDarcs = RemoteDarcs String
| DefaultRemoteDarcs
deriving ( Eq, Show )
remoteDarcs :: RemoteDarcs -> String
remoteDarcs DefaultRemoteDarcs = defaultRemoteDarcsCmd
remoteDarcs (RemoteDarcs x) = x
data Reorder = NoReorder | Reorder
deriving ( Eq )
data UpdatePending = YesUpdatePending | NoUpdatePending
deriving ( Eq, Show )
data UseCache = YesUseCache | NoUseCache
deriving ( Eq, Show )
data DryRun = YesDryRun | NoDryRun
deriving ( Eq, Show )
data UMask = YesUMask String | NoUMask
deriving ( Eq, Show )
data LookForAdds = NoLookForAdds | YesLookForAdds | EvenLookForBoring
deriving ( Eq, Show )
data LookForReplaces = YesLookForReplaces | NoLookForReplaces
deriving ( Eq, Show )
data LookForMoves = YesLookForMoves | NoLookForMoves
deriving ( Eq, Show )
data DiffOpts = DiffOpts
{ withIndex :: UseIndex
, lookForAdds :: LookForAdds
, lookForReplaces :: LookForReplaces
, lookForMoves :: LookForMoves
, diffAlg :: DiffAlgorithm
} deriving Show
data RunTest = YesRunTest | NoRunTest
deriving ( Eq, Show )
data SetScriptsExecutable = YesSetScriptsExecutable | NoSetScriptsExecutable
deriving ( Eq, Show )
data LeaveTestDir = YesLeaveTestDir | NoLeaveTestDir
deriving ( Eq, Show )
data SetDefault = YesSetDefault Bool | NoSetDefault Bool
deriving ( Eq, Show )
data InheritDefault = YesInheritDefault | NoInheritDefault
deriving ( Eq, Show )
data UseIndex = UseIndex | IgnoreIndex deriving ( Eq, Show )
-- Various kinds of getting repositories
data CloneKind = LazyClone -- ^Just copy pristine and inventories
| NormalClone -- ^First do a lazy clone then copy everything
| CompleteClone -- ^Same as Normal but omit telling user they can interrumpt
deriving ( Eq, Show )
data AllowConflicts = NoAllowConflicts | YesAllowConflicts ResolveConflicts
deriving ( Eq, Show )
data ResolveConflicts = NoResolveConflicts | MarkConflicts | ExternalMerge String
deriving ( Eq, Show )
data WorkRepo = WorkRepoDir String | WorkRepoPossibleURL String | WorkRepoCurrentDir
deriving ( Eq, Show )
data WantGuiPause = YesWantGuiPause | NoWantGuiPause
deriving ( Eq, Show )
data WithWorkingDir = WithWorkingDir | NoWorkingDir
deriving ( Eq, Show )
data ForgetParent = YesForgetParent | NoForgetParent
deriving ( Eq, Show )
data PatchFormat = PatchFormat1 | PatchFormat2 | PatchFormat3
deriving ( Eq, Show )
data WithPrefsTemplates = WithPrefsTemplates | NoPrefsTemplates
deriving ( Eq, Show )
data OptimizeDeep = OptimizeShallow | OptimizeDeep
deriving ( Eq, Show )