Portability | unix |
---|---|
Stability | experimental |
Maintainer | Vincent Hanquez <vincent@snarc.org> |
Safe Haskell | None |
- data ObjectType
- = TypeTree
- | TypeBlob
- | TypeCommit
- | TypeTag
- | TypeDeltaOff
- | TypeDeltaRef
- data Tree = Tree {
- treeGetEnts :: [TreeEnt]
- data Commit = Commit {}
- data CommitExtra = CommitExtra {}
- data Blob = Blob {}
- data Tag = Tag {
- tagRef :: Ref
- tagObjectType :: ObjectType
- tagBlob :: ByteString
- tagName :: Person
- tagS :: ByteString
- data Person = Person {}
- data GitTime = GitTime Integer Int
- toUTCTime :: GitTime -> UTCTime
- toPOSIXTime :: GitTime -> POSIXTime
- data DeltaOfs = DeltaOfs Word64 Delta
- data DeltaRef = DeltaRef Ref Delta
- type TreeEnt = (Int, ByteString, Ref)
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 | |
Data ObjectType | |
Show ObjectType | |
Typeable ObjectType |
Main git types
Represent a root tree with zero to many tree entries.
Tree | |
|
Represent a commit object.
Commit | |
|
data CommitExtra Source
Represent a binary blob.
Represent a signed tag.
Tag | |
|
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)
time type
Git time is number of seconds since unix epoch
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.