mirror of https://github.com/voidlizard/hbs2
34 lines
746 B
Haskell
34 lines
746 B
Haskell
module HBS2.Git.Data.RepoHead where
|
|
|
|
import HBS2.Prelude.Plated
|
|
import HBS2.Data.Types.Refs
|
|
|
|
import HBS2.Git.Local
|
|
|
|
import Data.Word
|
|
import Codec.Serialise
|
|
|
|
data RepoHeadType = RepoHeadType1
|
|
deriving stock (Enum,Generic)
|
|
|
|
data RepoHeadExt = RepoHeadExt
|
|
deriving stock Generic
|
|
|
|
data RepoHead =
|
|
RepoHeadSimple
|
|
{ _repoHeadType :: RepoHeadType
|
|
, _repoHeadTime :: Word64
|
|
, _repoHeadGK0 :: Maybe HashRef
|
|
, _repoHeadName :: Text
|
|
, _repoHeadBrief :: Text
|
|
, _repoManifest :: Maybe Text
|
|
, _repoHeadRefs :: [(GitRef, GitHash)]
|
|
, _repoHeadExt :: [RepoHeadExt]
|
|
}
|
|
deriving stock (Generic)
|
|
|
|
|
|
instance Serialise RepoHeadType
|
|
instance Serialise RepoHeadExt
|
|
instance Serialise RepoHead
|