License | BSD-style |
---|---|
Maintainer | Vincent Hanquez <vincent@snarc.org> |
Stability | experimental |
Portability | unix |
Safe Haskell | None |
Language | Haskell98 |
Data.Git.Types
Contents
Description
- data ObjectType
- data Tree hash = Tree {
- treeGetEnts :: [TreeEnt hash]
- data Commit hash = Commit {
- commitTreeish :: Ref hash
- commitParents :: [Ref hash]
- commitAuthor :: Person
- commitCommitter :: Person
- commitEncoding :: Maybe ByteString
- commitExtras :: [CommitExtra]
- commitMessage :: ByteString
- data CommitExtra = CommitExtra {}
- data Blob hash = Blob {}
- data Tag hash = Tag {
- tagRef :: Ref hash
- tagObjectType :: ObjectType
- tagBlob :: ByteString
- tagName :: Person
- tagS :: ByteString
- data Person = Person {}
- data EntName
- entName :: ByteString -> EntName
- type EntPath = [EntName]
- entPathAppend :: EntPath -> EntName -> EntPath
- newtype ModePerm = ModePerm Word32
- data FilePermissions = FilePermissions {
- getOwnerPerm :: !Perm
- getGroupPerm :: !Perm
- getOtherPerm :: !Perm
- data ObjectFileType
- getPermission :: ModePerm -> FilePermissions
- getFiletype :: ModePerm -> ObjectFileType
- data GitTime = GitTime {}
- gitTime :: Integer -> Int -> GitTime
- gitTimeToLocal :: GitTime -> LocalTime Elapsed
- data DeltaOfs hash = DeltaOfs Word64 Delta
- data DeltaRef hash = DeltaRef (Ref hash) Delta
- type TreeEnt hash = (ModePerm, EntName, Ref hash)
Type of types
data ObjectType Source #
type of a git object.
Constructors
TypeTree | |
TypeBlob | |
TypeCommit | |
TypeTag | |
TypeDeltaOff | |
TypeDeltaRef |
Instances
Enum ObjectType Source # | the enum instance is useful when marshalling to pack file. |
Eq ObjectType Source # | |
Data ObjectType Source # | |
Show ObjectType Source # | |
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 |
Entity name
entName :: ByteString -> EntName Source #
modeperm type
data FilePermissions Source #
traditional unix permission for owner, group and permissions
Constructors
FilePermissions | |
Fields
|
Instances
getFiletype :: ModePerm -> ObjectFileType Source #
time type
Git time is number of seconds since unix epoch in the UTC zone with the current timezone associated
Constructors
GitTime | |
Fields |
Pack delta types
Delta pointing to an offset.
Delta pointing to a ref.