-- 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 1.2.2
module Git.Libgit2.Types
data Repository
Repository :: RepositoryOptions -> ForeignPtr C'git_repository -> IORef (Maybe GitException) -> Repository
repoOptions :: Repository -> RepositoryOptions
repoObj :: Repository -> ForeignPtr C'git_repository
repoExcTrap :: Repository -> IORef (Maybe GitException)
repoPath :: Repository -> FilePath
pathText :: FilePath -> Text
pathStr :: FilePath -> String
newtype LgRepository m a
LgRepository :: ReaderT Repository m a -> LgRepository m a
lgRepositoryReaderT :: LgRepository m a -> ReaderT Repository m a
type BlobOid m = BlobOid (LgRepository m)
type TreeOid m = TreeOid (LgRepository m)
type CommitOid m = CommitOid (LgRepository m)
type Tree m = Tree (LgRepository m)
type Commit m = Commit (LgRepository m)
type Tag m = Tag (LgRepository m)
type TreeRef m = TreeRef (LgRepository m)
type CommitRef m = CommitRef (LgRepository m)
type CommitName m = CommitName (LgRepository m)
type Reference m = Reference (LgRepository m) (Commit m)
type Object m = Object (LgRepository m)
type Options m = Options (LgRepository m)
lgGet :: Monad m => LgRepository m Repository
lgExcTrap :: Monad m => LgRepository m (IORef (Maybe GitException))
instance Functor m => Functor (LgRepository m)
instance Applicative m => Applicative (LgRepository m)
instance Monad m => Monad (LgRepository m)
instance MonadIO m => MonadIO (LgRepository m)
instance (MonadIO m, MonadBaseControl IO m) => MonadBaseControl IO (LgRepository m)
instance MonadTransControl LgRepository
instance MonadTrans LgRepository
instance Monad m => MonadThrow (LgRepository m)
instance Monad m => MonadUnsafeIO (LgRepository m)
instance (Monad m, MonadIO m, Applicative m) => MonadBase IO (LgRepository m)
instance Show Repository
instance Eq Repository
module Git.Libgit2.Backend
odbBackendAdd :: Repository -> Ptr C'git_odb_backend -> Int -> IO (Either String Repository)
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 -> 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 Storable TraceBackend
module Git.Libgit2.Internal
type ObjPtr a = Maybe (ForeignPtr a)
data Base m a b
Base :: Maybe (Tagged a (Oid (LgRepository m))) -> ObjPtr b -> Base m a b
gitId :: Base m a b -> Maybe (Tagged a (Oid (LgRepository m)))
gitObj :: Base m a b -> ObjPtr b
addTracingBackend :: MonadGit m => LgRepository m ()
coidPtrToOid :: Ptr C'git_oid -> IO (ForeignPtr C'git_oid)
lookupObject' :: MonadGit 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 -> IO b) -> LgRepository 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 -> 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
newtype LgRepository m a
LgRepository :: ReaderT Repository m a -> LgRepository m a
lgRepositoryReaderT :: LgRepository m a -> ReaderT Repository m a
type BlobOid m = BlobOid (LgRepository m)
type Commit m = Commit (LgRepository m)
type CommitOid m = CommitOid (LgRepository m)
type CommitRef m = CommitRef (LgRepository m)
data OidPtr
OidPtr :: ForeignPtr C'git_oid -> OidPtr
getOid :: OidPtr -> ForeignPtr C'git_oid
mkOid :: ForeignPtr C'git_oid -> OidPtr
type Reference m = Reference (LgRepository m) (Commit m)
data Repository
Repository :: RepositoryOptions -> ForeignPtr C'git_repository -> IORef (Maybe GitException) -> Repository
repoOptions :: Repository -> RepositoryOptions
repoObj :: Repository -> ForeignPtr C'git_repository
repoExcTrap :: Repository -> IORef (Maybe GitException)
type Tree m = Tree (LgRepository m)
type TreeOid m = TreeOid (LgRepository m)
type TreeRef m = TreeRef (LgRepository m)
addTracingBackend :: MonadGit m => LgRepository m ()
checkResult :: (Eq a, Num a, Failure GitException m) => a -> Text -> m ()
closeLgRepository :: MonadGit m => Repository -> m ()
defaultLgOptions :: RepositoryOptions
lgBuildPackIndex :: FilePath -> ByteString -> IO (Text, FilePath, FilePath)
lgFactory :: MonadGit m => RepositoryFactory LgRepository m Repository
lgForEachObject :: Ptr C'git_odb -> (Ptr C'git_oid -> Ptr () -> IO CInt) -> Ptr () -> IO CInt
lgGet :: Monad m => LgRepository m Repository
lgExcTrap :: Monad m => LgRepository m (IORef (Maybe GitException))
lgLoadPackFileInMemory :: FilePath -> Ptr (Ptr C'git_odb_backend) -> Ptr (Ptr C'git_odb) -> ResourceT IO (Ptr C'git_odb)
lgReadFromPack :: FilePath -> SHA -> Bool -> IO (Maybe (C'git_otype, CSize, ByteString))
lgWithPackFile :: FilePath -> (Ptr C'git_odb -> ResourceT IO a) -> IO a
newtype SHA
SHA :: ByteString -> SHA
oidToSha :: Ptr C'git_oid -> IO SHA
shaToOid :: SHA -> IO (ForeignPtr C'git_oid)
shaToText :: SHA -> Text
textToSha :: Monad m => Text -> m SHA
openLgRepository :: MonadGit m => RepositoryOptions -> m Repository
runLgRepository :: Repository -> LgRepository m a -> m a
strToOid :: String -> IO (ForeignPtr C'git_oid)
withLibGitDo :: IO a -> IO a
instance Show ListFlags
instance Eq ListFlags
instance Eq SHA
instance Ord SHA
instance Read SHA
instance Show SHA
instance Hashable SHA
instance Binary SHA
instance (MonadGit m) => Repository (LgRepository m)
instance Eq OidPtr
instance Ord OidPtr
instance Show OidPtr
instance IsOid OidPtr