| License | BSD-style |
|---|---|
| Maintainer | Vincent Hanquez <vincent@snarc.org> |
| Stability | experimental |
| Portability | unix |
| Safe Haskell | None |
| Language | Haskell98 |
Data.Git.Storage.Object
Contents
Description
- data ObjectLocation hash
- data ObjectType
- type ObjectHeader hash = (ObjectType, Word64, Maybe (ObjectPtr hash))
- type ObjectData = ByteString
- data ObjectPtr hash
- data Object hash
- data ObjectInfo hash = ObjectInfo {
- oiHeader :: ObjectHeader hash
- oiData :: ObjectData
- oiChains :: [ObjectPtr hash]
- class Objectable a where
- objectToType :: Object hash -> ObjectType
- objectTypeMarshall :: ObjectType -> String
- objectTypeUnmarshall :: ByteString -> ObjectType
- objectTypeIsDelta :: ObjectType -> Bool
- objectIsDelta :: Object hash -> Bool
- objectToTree :: Object hash -> Maybe (Tree hash)
- objectToCommit :: Object hash -> Maybe (Commit hash)
- objectToTag :: Object hash -> Maybe (Tag hash)
- objectToBlob :: Object hash -> Maybe (Blob hash)
- treeParse :: HashAlgorithm hash => Parser (Tree hash)
- commitParse :: HashAlgorithm hash => Parser (Commit hash)
- tagParse :: HashAlgorithm hash => Parser (Tag hash)
- blobParse :: Parser (Blob hash)
- objectParseTree :: HashAlgorithm hash => Parser (Object hash)
- objectParseCommit :: HashAlgorithm hash => Parser (Object hash)
- objectParseTag :: HashAlgorithm hash => Parser (Object hash)
- objectParseBlob :: HashAlgorithm hash => Parser (Object hash)
- objectWriteHeader :: ObjectType -> Word64 -> ByteString
- objectWrite :: Object hash -> ByteString
- objectHash :: HashAlgorithm hash => ObjectType -> Word64 -> ByteString -> Ref hash
Documentation
data ObjectLocation hash Source #
location of an object in the database
Instances
| Eq (ObjectLocation hash) Source # | |
| Show (ObjectLocation hash) Source # | |
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 # | |
type ObjectHeader hash = (ObjectType, Word64, Maybe (ObjectPtr hash)) Source #
type ObjectData = ByteString Source #
Delta objects points to some others objects in the database either as offset in the pack or as a direct reference.
describe a git object, that could of 6 differents types: tree, blob, commit, tag and deltas (offset or ref). the deltas one are only available in packs.
data ObjectInfo hash Source #
Raw objects infos have an header (type, size, ptr), the data and a pointers chains to parents for resolved objects.
Constructors
| ObjectInfo | |
Fields
| |
Instances
| Eq (ObjectInfo hash) Source # | |
| Show (ObjectInfo hash) Source # | |
class Objectable a where Source #
objectToType :: Object hash -> ObjectType Source #
objectTypeIsDelta :: ObjectType -> Bool Source #
objectIsDelta :: Object hash -> Bool Source #
parsing function
treeParse :: HashAlgorithm hash => Parser (Tree hash) Source #
parse a tree content
commitParse :: HashAlgorithm hash => Parser (Commit hash) Source #
parse a commit content
tagParse :: HashAlgorithm hash => Parser (Tag hash) Source #
parse a tag content
objectParseTree :: HashAlgorithm hash => Parser (Object hash) Source #
objectParseCommit :: HashAlgorithm hash => Parser (Object hash) Source #
objectParseTag :: HashAlgorithm hash => Parser (Object hash) Source #
objectParseBlob :: HashAlgorithm hash => Parser (Object hash) Source #
writing function
objectWriteHeader :: ObjectType -> Word64 -> ByteString Source #
objectWrite :: Object hash -> ByteString Source #
objectHash :: HashAlgorithm hash => ObjectType -> Word64 -> ByteString -> Ref hash Source #