gitlib-libgit2-3.1.2: Libgit2 backend for gitlib

Safe HaskellNone
LanguageHaskell98

Git.Libgit2

Contents

Description

Interface for opening and creating repositories. Repository objects are immutable, and serve only to refer to the given repository. Any data associated with the repository — such as the list of branches — is queried as needed.

Documentation

class HasLgRepo m where Source #

Minimal complete definition

getRepository

Instances
Monad m => HasLgRepo (ReaderT LgRepo m) Source # 
Instance details

Defined in Git.Libgit2

data LgRepo Source #

Instances
(Applicative m, MonadExcept m, MonadUnliftIO m, HasLgRepo m) => MonadGit LgRepo m # 
Instance details

Defined in Git.Libgit2

Associated Types

type Oid LgRepo :: * #

data Tree LgRepo :: * #

data Options LgRepo :: * #

Methods

facts :: m RepositoryFacts #

parseOid :: Text -> m (Oid LgRepo) #

getRepository :: m LgRepo #

closeRepository :: m () #

deleteRepository :: m () #

createReference :: RefName -> RefTarget LgRepo -> m () #

lookupReference :: RefName -> m (Maybe (RefTarget LgRepo)) #

updateReference :: RefName -> RefTarget LgRepo -> m () #

deleteReference :: RefName -> m () #

sourceReferences :: ConduitT i RefName m () #

lookupObject :: Oid LgRepo -> m (Object LgRepo m) #

existsObject :: Oid LgRepo -> m Bool #

sourceObjects :: Maybe (CommitOid LgRepo) -> CommitOid LgRepo -> Bool -> ConduitT i (ObjectOid LgRepo) m () #

lookupCommit :: CommitOid LgRepo -> m (Commit LgRepo) #

lookupTree :: TreeOid LgRepo -> m (Tree LgRepo) #

lookupBlob :: BlobOid LgRepo -> m (Blob LgRepo m) #

lookupTag :: TagOid LgRepo -> m (Tag LgRepo) #

readIndex :: TreeT LgRepo m () #

writeIndex :: TreeT LgRepo m () #

newTreeBuilder :: Maybe (Tree LgRepo) -> m (TreeBuilder LgRepo m) #

treeOid :: Tree LgRepo -> m (TreeOid LgRepo) #

treeEntry :: Tree LgRepo -> TreeFilePath -> m (Maybe (TreeEntry LgRepo)) #

sourceTreeEntries :: Tree LgRepo -> ConduitT i (TreeFilePath, TreeEntry LgRepo) m () #

diffContentsWithTree :: ConduitT () (Either TreeFilePath ByteString) m () -> Tree LgRepo -> ConduitT i ByteString m () #

hashContents :: BlobContents m -> m (BlobOid LgRepo) #

createBlob :: BlobContents m -> m (BlobOid LgRepo) #

createCommit :: [CommitOid LgRepo] -> TreeOid LgRepo -> Signature -> Signature -> CommitMessage -> Maybe RefName -> m (Commit LgRepo) #

createTag :: CommitOid LgRepo -> Signature -> CommitMessage -> Text -> m (Tag LgRepo) #

Monad m => HasLgRepo (ReaderT LgRepo m) Source # 
Instance details

Defined in Git.Libgit2

data Options LgRepo # 
Instance details

Defined in Git.Libgit2

data Tree LgRepo # 
Instance details

Defined in Git.Libgit2

type Oid LgRepo # 
Instance details

Defined in Git.Libgit2

type family Oid r :: * #

Instances
type Oid LgRepo # 
Instance details

Defined in Git.Libgit2

data OidPtr Source #

Constructors

OidPtr 
Instances
Eq OidPtr Source # 
Instance details

Defined in Git.Libgit2

Methods

(==) :: OidPtr -> OidPtr -> Bool #

(/=) :: OidPtr -> OidPtr -> Bool #

Ord OidPtr Source # 
Instance details

Defined in Git.Libgit2

Show OidPtr Source # 
Instance details

Defined in Git.Libgit2

IsOid OidPtr Source # 
Instance details

Defined in Git.Libgit2

checkResult :: (Eq a, Num a, MonadExcept m) => a -> Text -> m () Source #

lgWrap :: (MonadLg m, HasLgRepo m) => m a -> m a Source #

lgDebug :: MonadIO m => String -> m () Source #

lgWarn :: MonadIO m => String -> m () Source #

Orphan instances

(Applicative m, MonadExcept m, MonadUnliftIO m, HasLgRepo m) => MonadGit LgRepo m Source # 
Instance details

Associated Types

type Oid LgRepo :: * #

data Tree LgRepo :: * #

data Options LgRepo :: * #

Methods

facts :: m RepositoryFacts #

parseOid :: Text -> m (Oid LgRepo) #

getRepository :: m LgRepo #

closeRepository :: m () #

deleteRepository :: m () #

createReference :: RefName -> RefTarget LgRepo -> m () #

lookupReference :: RefName -> m (Maybe (RefTarget LgRepo)) #

updateReference :: RefName -> RefTarget LgRepo -> m () #

deleteReference :: RefName -> m () #

sourceReferences :: ConduitT i RefName m () #

lookupObject :: Oid LgRepo -> m (Object LgRepo m) #

existsObject :: Oid LgRepo -> m Bool #

sourceObjects :: Maybe (CommitOid LgRepo) -> CommitOid LgRepo -> Bool -> ConduitT i (ObjectOid LgRepo) m () #

lookupCommit :: CommitOid LgRepo -> m (Commit LgRepo) #

lookupTree :: TreeOid LgRepo -> m (Tree LgRepo) #

lookupBlob :: BlobOid LgRepo -> m (Blob LgRepo m) #

lookupTag :: TagOid LgRepo -> m (Tag LgRepo) #

readIndex :: TreeT LgRepo m () #

writeIndex :: TreeT LgRepo m () #

newTreeBuilder :: Maybe (Tree LgRepo) -> m (TreeBuilder LgRepo m) #

treeOid :: Tree LgRepo -> m (TreeOid LgRepo) #

treeEntry :: Tree LgRepo -> TreeFilePath -> m (Maybe (TreeEntry LgRepo)) #

sourceTreeEntries :: Tree LgRepo -> ConduitT i (TreeFilePath, TreeEntry LgRepo) m () #

diffContentsWithTree :: ConduitT () (Either TreeFilePath ByteString) m () -> Tree LgRepo -> ConduitT i ByteString m () #

hashContents :: BlobContents m -> m (BlobOid LgRepo) #

createBlob :: BlobContents m -> m (BlobOid LgRepo) #

createCommit :: [CommitOid LgRepo] -> TreeOid LgRepo -> Signature -> Signature -> CommitMessage -> Maybe RefName -> m (Commit LgRepo) #

createTag :: CommitOid LgRepo -> Signature -> CommitMessage -> Text -> m (Tag LgRepo) #