-- 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.1.0 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 -> Text -> Bool -> IO (Maybe (C'git_otype, CSize, ByteString)) lgWithPackFile :: FilePath -> (Ptr C'git_odb -> ResourceT IO a) -> IO a oidToSha :: Ptr C'git_oid -> IO Text 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 (MonadGit m) => Repository (LgRepository m) instance Eq OidPtr instance Ord OidPtr instance Show OidPtr instance IsOid OidPtr