Information about the source revision control system for a package.
When specifying a repo it is useful to know the meaning or intention of the
information as doing so enables automation. There are two obvious common
purposes: one is to find the repo for the latest development version, the
other is to find the repo for this specific release. The ReopKind
specifies which one we mean (or another custom one).
A package can specify one or the other kind or both. Most will specify just a head repo but some may want to specify a repo to reconstruct the sources for this package release.
The required information is the RepoType which tells us if it's using Darcs, Git for example. The repoLocation and other details are interpreted according to the repo type.
Constructors
SourceReporepoKind :: RepoKindThe kind of repo. This field is required.
repoType :: Maybe RepoTyperepoLocation :: Maybe StringThe location of the repository. For most RepoTypes this is a URL. This field is required.
repoModule :: Maybe StringrepoBranch :: Maybe StringThe name or identifier of the branch, if any. Many source control systems have the notion of multiple branches in a repo that exist in the same location. For example Git and CVS use this while systems like Darcs use different locations for different branches. This field is optional but should be used if necessary to identify the sources, especially for the RepoThis repo kind.
repoTag :: Maybe StringrepoSubdir :: Maybe FilePathSome repositories contain multiple projects in different subdirectories This field specifies the subdirectory where this packages sources can be found, eg the subdirectory containing the
.cabalfile. It is interpreted relative to the root of the repository. This field is optional. If not given the default is "." ie no subdirectory.
Instances10Eq, Data, Ord, Read, Show, Generic, …
Eq SourceRepoDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.SourceRepoData SourceRepoDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.SourceRepoOrd SourceRepoDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.SourceRepoRead SourceRepoDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.SourceRepoShow SourceRepoDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.SourceRepoGeneric SourceRepoDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.SourceRepoNFData SourceRepoDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.SourceRepoBinary SourceRepoDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.SourceRepoStructured SourceRepoDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.SourceRepotype Rep SourceRepo = D1 ('MetaDataDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.SourceRepo"SourceRepo"
"Distribution.Types.SourceRepo"
"Cabal-syntax-3.12.1.0-3adc"
'False) (C1 ('MetaCons"SourceRepo"
'PrefixI 'True) ((S1 ('MetaSel ('Just"repoKind"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RepoKind) :*: (S1 ('MetaSel ('Just"repoType"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe RepoType)) :*: S1 ('MetaSel ('Just"repoLocation"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)))) :*: ((S1 ('MetaSel ('Just"repoModule"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)) :*: S1 ('MetaSel ('Just"repoBranch"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String))) :*: (S1 ('MetaSel ('Just"repoTag"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)) :*: S1 ('MetaSel ('Just"repoSubdir"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe FilePath))))))