| Portability | unix |
|---|---|
| Stability | experimental |
| Maintainer | Vincent Hanquez <vincent@snarc.org> |
| Safe Haskell | None |
Data.Git.Types
Contents
Description
- 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
- toZonedTime :: GitTime -> ZonedTime
- 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.
Constructors
| TypeTree | |
| TypeBlob | |
| TypeCommit | |
| TypeTag | |
| TypeDeltaOff | |
| TypeDeltaRef |
Instances
| 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.
Constructors
| Tree | |
Fields
| |
Represent a commit object.
Constructors
| Commit | |
Fields
| |
Represent a binary blob.
Constructors
| Blob | |
Fields | |
Represent a signed tag.
Constructors
| Tag | |
Fields
| |
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)
Constructors
| Person | |
Fields | |
time type
Git time is number of seconds since unix epoch with a timezone
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.