Portability | unix |
---|---|
Stability | experimental |
Maintainer | Vincent Hanquez <vincent@snarc.org> |
Safe Haskell | Safe-Infered |
- data ObjectType
- = TypeTree
- | TypeBlob
- | TypeCommit
- | TypeTag
- | TypeDeltaOff
- | TypeDeltaRef
- data Tree = Tree {
- treeGetEnts :: [TreeEnt]
- data Commit = Commit {}
- data Blob = Blob {}
- data Tag = Tag {
- tagRef :: Ref
- tagObjectType :: ObjectType
- tagBlob :: ByteString
- tagName :: Name
- tagS :: ByteString
- data DeltaOfs = DeltaOfs Word64 Delta
- data DeltaRef = DeltaRef Ref Delta
- type TreeEnt = (Int, ByteString, Ref)
- type Name = (ByteString, ByteString, UTCTime, TimeZone)
Type of types
data ObjectType Source
type of a git object.
Enum ObjectType | the enum instance is useful when marshalling to pack file. |
Eq ObjectType | |
Show ObjectType |
Main git types
Represent a root tree with zero to many tree entries.
Tree | |
|
Represent a commit object.
Commit | |
|
Represent a binary blob.
Represent a signed tag.
Tag | |
|
Pack delta types
Delta pointing to an offset.
Delta pointing to a ref.
Basic types part of other bigger types
type TreeEnt = (Int, ByteString, Ref)Source
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.
type Name = (ByteString, ByteString, UTCTime, TimeZone)Source
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)