gitlib-libgit2-3.1.2.1: Libgit2 backend for gitlib
Safe HaskellNone
LanguageHaskell98

Git.Libgit2

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 :: Type -> Type) where Source #

Instances

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

Defined in Git.Libgit2

data LgRepo Source #

Instances

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

Defined in Git.Libgit2

Associated Types

type Oid LgRepo 
Instance details

Defined in Git.Libgit2

data Tree LgRepo 
Instance details

Defined in Git.Libgit2

data Options LgRepo 
Instance details

Defined in Git.Libgit2

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

type Oid LgRepo Source # 
Instance details

Defined in Git.Libgit2

data Options LgRepo Source # 
Instance details

Defined in Git.Libgit2

data Tree LgRepo Source # 
Instance details

Defined in Git.Libgit2

type family Oid r #

Instances

Instances details
type Oid LgRepo Source # 
Instance details

Defined in Git.Libgit2

data OidPtr Source #

Constructors

OidPtr 

Instances

Instances details
Show OidPtr Source # 
Instance details

Defined in Git.Libgit2

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

IsOid OidPtr Source # 
Instance details

Defined in Git.Libgit2

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

lgCopyPackFile :: forall (m :: Type -> Type). MonadLg m => FilePath -> ReaderT LgRepo 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 
Instance details

Defined in Git.Libgit2

data Tree LgRepo 
Instance details

Defined in Git.Libgit2

data Options LgRepo 
Instance details

Defined in Git.Libgit2

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) #