hit-0.6.3: Git operations in haskell

LicenseBSD-style
MaintainerVincent Hanquez <vincent@snarc.org>
Stabilityexperimental
Portabilityunix
Safe HaskellNone
LanguageHaskell98

Data.Git.Types

Contents

Description

 

Synopsis

Type of types

data ObjectType #

type of a git object.

Instances

Enum ObjectType #

the enum instance is useful when marshalling to pack file.

Eq ObjectType # 
Data ObjectType # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ObjectType -> c ObjectType #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ObjectType #

toConstr :: ObjectType -> Constr #

dataTypeOf :: ObjectType -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c ObjectType) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ObjectType) #

gmapT :: (forall b. Data b => b -> b) -> ObjectType -> ObjectType #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ObjectType -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ObjectType -> r #

gmapQ :: (forall d. Data d => d -> u) -> ObjectType -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ObjectType -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ObjectType -> m ObjectType #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ObjectType -> m ObjectType #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ObjectType -> m ObjectType #

Show ObjectType # 

Main git types

data Tree #

Represent a root tree with zero to many tree entries.

Constructors

Tree 

Fields

Instances

Eq Tree # 

Methods

(==) :: Tree -> Tree -> Bool #

(/=) :: Tree -> Tree -> Bool #

Show Tree # 

Methods

showsPrec :: Int -> Tree -> ShowS #

show :: Tree -> String #

showList :: [Tree] -> ShowS #

Monoid Tree # 

Methods

mempty :: Tree #

mappend :: Tree -> Tree -> Tree #

mconcat :: [Tree] -> Tree #

Objectable Tree # 

data Blob #

Represent a binary blob.

Constructors

Blob 

Instances

data Tag #

Represent a signed tag.

Instances

Eq Tag # 

Methods

(==) :: Tag -> Tag -> Bool #

(/=) :: Tag -> Tag -> Bool #

Show Tag # 

Methods

showsPrec :: Int -> Tag -> ShowS #

show :: Tag -> String #

showList :: [Tag] -> ShowS #

Objectable Tag # 

data Person #

an author or committer line has the format: name email time timezone FIXME: should be a string, but I don't know if the data is stored consistantly in one encoding (UTF8)

Instances

Eq Person # 

Methods

(==) :: Person -> Person -> Bool #

(/=) :: Person -> Person -> Bool #

Show Person # 

type EntPath = [EntName] #

modeperm type

newtype ModePerm #

Constructors

ModePerm Word32 

data FilePermissions #

traditional unix permission for owner, group and permissions

Constructors

FilePermissions 

Fields

time type

data GitTime #

Git time is number of seconds since unix epoch in the UTC zone with the current timezone associated

Pack delta types

data DeltaOfs #

Delta pointing to an offset.

Constructors

DeltaOfs Word64 Delta 

data DeltaRef #

Delta pointing to a ref.

Constructors

DeltaRef Ref Delta 

Basic types part of other bigger types

type TreeEnt = (ModePerm, EntName, Ref) #

represent one entry in the tree (permission,file or directory name,blob or tree ref) name should maybe a filepath, but not sure about the encoding.