-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Libgit2 backend for gitlib
--
-- Libgit2 (http://libgit2.github.com) backend for
-- gitlib.
@package gitlib-libgit2
@version 3.1.0.5
module Git.Libgit2.Types
data LgRepo
LgRepo :: RepositoryOptions -> ForeignPtr C'git_repository -> IORef (Maybe GitException) -> LgRepo
[repoOptions] :: LgRepo -> RepositoryOptions
[repoObj] :: LgRepo -> ForeignPtr C'git_repository
[repoExcTrap] :: LgRepo -> IORef (Maybe GitException)
lgRepoPath :: LgRepo -> FilePath
type BlobOid = BlobOid LgRepo
type TreeOid = TreeOid LgRepo
type CommitOid = CommitOid LgRepo
type Tree = Tree LgRepo
type TreeEntry = TreeEntry LgRepo
type Commit = Commit LgRepo
type Tag = Tag LgRepo
type Object = Object LgRepo
type ObjectOid = ObjectOid LgRepo
type RefTarget = RefTarget LgRepo
type TreeBuilder = TreeBuilder LgRepo
type Options = Options LgRepo
type MonadExcept m = (MonadThrow m, MonadCatch m, MonadMask m)
type MonadLg m = (Applicative m, MonadExcept m, MonadIO m, MonadBaseControl IO m, MonadLogger m)
module Git.Libgit2.Backend
odbBackendAdd :: LgRepo -> Ptr C'git_odb_backend -> Int -> IO (Either String LgRepo)
type F'git_odb_backend_read_callback = Ptr (Ptr ()) -> Ptr CSize -> Ptr C'git_otype -> Ptr C'git_odb_backend -> Ptr C'git_oid -> IO CInt
type F'git_odb_backend_read_prefix_callback = Ptr C'git_oid -> Ptr (Ptr ()) -> Ptr CSize -> Ptr C'git_otype -> Ptr C'git_odb_backend -> Ptr C'git_oid -> CSize -> IO CInt
type F'git_odb_backend_readstream_callback = Ptr (Ptr C'git_odb_stream) -> Ptr C'git_odb_backend -> Ptr C'git_oid -> IO CInt
type F'git_odb_backend_read_header_callback = Ptr CSize -> Ptr C'git_otype -> Ptr C'git_odb_backend -> Ptr C'git_oid -> IO CInt
type F'git_odb_backend_write_callback = Ptr C'git_oid -> Ptr C'git_odb_backend -> Ptr () -> CSize -> C'git_otype -> IO CInt
type F'git_odb_backend_writestream_callback = Ptr (Ptr C'git_odb_stream) -> Ptr C'git_odb_backend -> CSize -> C'git_otype -> IO CInt
type F'git_odb_backend_exists_callback = Ptr C'git_odb_backend -> Ptr C'git_oid -> CInt -> IO CInt
type F'git_odb_backend_refresh_callback = Ptr C'git_odb_backend -> IO CInt
type F'git_odb_backend_foreach_callback = Ptr C'git_odb_backend -> C'git_odb_foreach_cb -> Ptr () -> IO CInt
type F'git_odb_backend_writepack_callback = Ptr (Ptr C'git_odb_writepack) -> Ptr C'git_odb_backend -> C'git_transfer_progress_callback -> Ptr () -> IO CInt
type F'git_odb_backend_free_callback = Ptr C'git_odb_backend -> IO ()
type F'git_odb_writepack_add_callback = Ptr C'git_odb_writepack -> Ptr () -> CSize -> Ptr C'git_transfer_progress -> IO CInt
type F'git_odb_writepack_commit_callback = Ptr C'git_odb_writepack -> Ptr C'git_transfer_progress -> IO CInt
type F'git_odb_writepack_free_callback = Ptr C'git_odb_writepack -> IO ()
module Git.Libgit2.Trace
data TraceBackend
TraceBackend :: C'git_odb_backend -> Ptr C'git_odb_backend -> TraceBackend
[traceParent] :: TraceBackend -> C'git_odb_backend
[traceNext] :: TraceBackend -> Ptr C'git_odb_backend
oidToStr :: Ptr C'git_oid -> Int -> IO String
traceBackendReadCallback :: F'git_odb_backend_read_callback
traceBackendReadPrefixCallback :: F'git_odb_backend_read_prefix_callback
traceBackendReadHeaderCallback :: F'git_odb_backend_read_header_callback
traceBackendWriteCallback :: F'git_odb_backend_write_callback
traceBackendExistsCallback :: F'git_odb_backend_exists_callback
traceBackendFreeCallback :: F'git_odb_backend_free_callback
traceBackendFreeCallbackPtr :: FunPtr F'git_odb_backend_free_callback
traceBackend :: Ptr C'git_odb_backend -> IO (Ptr C'git_odb_backend)
instance Foreign.Storable.Storable Git.Libgit2.Trace.TraceBackend
module Git.Libgit2.Internal
addTracingBackend :: LgRepo -> IO ()
coidPtrToOid :: Ptr C'git_oid -> IO (ForeignPtr C'git_oid)
lookupObject' :: (MonadGit LgRepo m, MonadBaseControl IO m) => ForeignPtr C'git_oid -> Int -> (Ptr (Ptr a) -> Ptr C'git_repository -> Ptr C'git_oid -> IO CInt) -> (Ptr (Ptr a) -> Ptr C'git_repository -> Ptr C'git_oid -> CSize -> IO CInt) -> (ForeignPtr C'git_oid -> ForeignPtr a -> Ptr a -> m b) -> m b
peekGitTime :: Ptr C'git_time -> IO ZonedTime
packGitTime :: ZonedTime -> C'git_time
packSignature :: Converter -> Ptr C'git_signature -> IO Signature
withSignature :: Converter -> Signature -> (Ptr C'git_signature -> IO a) -> IO a
oidToStr :: Ptr C'git_oid -> Int -> IO String
-- | 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.
module Git.Libgit2
type MonadLg m = (Applicative m, MonadExcept m, MonadIO m, MonadBaseControl IO m, MonadLogger m)
data LgRepo
LgRepo :: RepositoryOptions -> ForeignPtr C'git_repository -> IORef (Maybe GitException) -> LgRepo
[repoOptions] :: LgRepo -> RepositoryOptions
[repoObj] :: LgRepo -> ForeignPtr C'git_repository
[repoExcTrap] :: LgRepo -> IORef (Maybe GitException)
type BlobOid = BlobOid LgRepo
type Commit = Commit LgRepo
type CommitOid = CommitOid LgRepo
data OidPtr
OidPtr :: ForeignPtr C'git_oid -> Int -> OidPtr
[getOid] :: OidPtr -> ForeignPtr C'git_oid
[getOidLen] :: OidPtr -> Int
mkOid :: ForeignPtr C'git_oid -> OidPtr
type Tree = Tree LgRepo
type TreeOid = TreeOid LgRepo
lgRepoPath :: LgRepo -> FilePath
addTracingBackend :: LgRepo -> IO ()
checkResult :: (Eq a, Num a, MonadExcept m) => a -> Text -> m ()
lgBuildPackIndex :: (MonadIO m, MonadBaseControl IO m, MonadLogger m) => FilePath -> ByteString -> m (Text, FilePath, FilePath)
lgFactory :: MonadIO m => RepositoryFactory (ReaderT LgRepo (NoLoggingT m)) m LgRepo
lgFactoryLogger :: (MonadIO m, MonadLogger m) => RepositoryFactory (ReaderT LgRepo m) m LgRepo
lgForEachObject :: Ptr C'git_odb -> (Ptr C'git_oid -> Ptr () -> IO CInt) -> Ptr () -> IO CInt
lgExcTrap :: MonadLg m => ReaderT LgRepo m (IORef (Maybe GitException))
lgBuildPackFile :: MonadLg m => FilePath -> [Either CommitOid TreeOid] -> ReaderT LgRepo m FilePath
lgReadFromPack :: (MonadBaseControl IO m, MonadIO m, MonadLogger m, MonadExcept m) => Ptr C'git_odb -> SHA -> Bool -> m (Maybe (C'git_otype, CSize, ByteString))
lgOpenPackFile :: (MonadBaseControl IO m, MonadIO m, MonadLogger m, MonadExcept m) => FilePath -> m (Ptr C'git_odb)
lgClosePackFile :: (MonadBaseControl IO m, MonadIO m, MonadLogger m, MonadExcept m) => Ptr C'git_odb -> m ()
lgWithPackFile :: (MonadBaseControl IO m, MonadIO m, MonadLogger m, MonadExcept m) => FilePath -> (Ptr C'git_odb -> m a) -> m a
lgCopyPackFile :: MonadLg m => FilePath -> ReaderT LgRepo m ()
lgDiffContentsWithTree :: MonadLg m => Source (ReaderT LgRepo m) (Either TreeFilePath (Either SHA ByteString)) -> Tree -> Producer (ReaderT LgRepo m) ByteString
lgWrap :: MonadLg m => ReaderT LgRepo m a -> ReaderT LgRepo m a
oidToSha :: Ptr C'git_oid -> IO SHA
shaToCOid :: SHA -> IO (ForeignPtr C'git_oid)
shaToOid :: SHA -> IO OidPtr
openLgRepository :: MonadIO m => RepositoryOptions -> m LgRepo
runLgRepository :: LgRepo -> ReaderT LgRepo m a -> m a
lgDebug :: MonadLogger m => String -> m ()
lgWarn :: MonadLogger m => String -> m ()
instance GHC.Classes.Eq Git.Libgit2.ListFlags
instance GHC.Show.Show Git.Libgit2.ListFlags
instance Git.Types.IsOid Git.Libgit2.OidPtr
instance GHC.Show.Show Git.Libgit2.OidPtr
instance GHC.Classes.Ord Git.Libgit2.OidPtr
instance GHC.Classes.Eq Git.Libgit2.OidPtr
instance (GHC.Base.Applicative m, Git.Libgit2.Types.MonadExcept m, Control.Monad.Trans.Control.MonadBaseControl GHC.Types.IO m, Control.Monad.IO.Class.MonadIO m, Control.Monad.Logger.MonadLogger m) => Git.Types.MonadGit Git.Libgit2.Types.LgRepo (Control.Monad.Trans.Reader.ReaderT Git.Libgit2.Types.LgRepo m)