-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Gitlib repository backend that uses the git command-line tool. -- -- Gitlib repository backend that uses the git command-line tool. @package gitlib-cmdline @version 1.3.1 module Git.CmdLine toStrict :: Text -> Text fromStrict :: Text -> Text type BlobOid m = BlobOid (CmdLineRepository m) type TreeOid m = TreeOid (CmdLineRepository m) type CommitOid m = CommitOid (CmdLineRepository m) type TagOid m = TagOid (CmdLineRepository m) type Blob m = Blob (CmdLineRepository m) type Tree m = Tree (CmdLineRepository m) type TreeEntry m = TreeEntry (CmdLineRepository m) type Commit m = Commit (CmdLineRepository m) type Tag m = Tag (CmdLineRepository m) type TreeRef m = TreeRef (CmdLineRepository m) type CommitRef m = CommitRef (CmdLineRepository m) type CommitName m = CommitName (CmdLineRepository m) type Reference m = Reference (CmdLineRepository m) (Commit m) type Object m = Object (CmdLineRepository m) type TreeBuilder m = TreeBuilder (CmdLineRepository m) type ModifiedBuilder m = ModifiedBuilder (CmdLineRepository m) git :: [Text] -> Sh Text git_ :: [Text] -> Sh () doRunGit :: MonadGit m => (FilePath -> [Text] -> Sh a) -> [Text] -> Sh () -> CmdLineRepository m a runGit :: MonadGit m => [Text] -> CmdLineRepository m Text runGit_ :: MonadGit m => [Text] -> CmdLineRepository m () cliRepoDoesExist :: Text -> Sh (Either GitException ()) cliFilePathToURI :: MonadGit m => FilePath -> m Text cliPushCommitDirectly :: MonadGit m => CommitName m -> Text -> Text -> Maybe FilePath -> CmdLineRepository m (CommitRef m) cliResetHard :: MonadGit m => Text -> CmdLineRepository m () cliPullCommitDirectly :: MonadGit m => Text -> Text -> Text -> Text -> Maybe FilePath -> CmdLineRepository m (MergeResult (CmdLineRepository m)) mkOid :: Monad m => Text -> m SHA getOid :: SHA -> Text cliLookupBlob :: MonadGit m => BlobOid m -> CmdLineRepository m (Blob m) cliDoCreateBlob :: MonadGit m => BlobContents (CmdLineRepository m) -> Bool -> CmdLineRepository m (BlobOid m) cliHashContents :: MonadGit m => BlobContents (CmdLineRepository m) -> CmdLineRepository m (BlobOid m) cliCreateBlob :: MonadGit m => BlobContents (CmdLineRepository m) -> CmdLineRepository m (BlobOid m) cliExistsObject :: MonadGit m => SHA -> CmdLineRepository m Bool cliTraverseCommits :: MonadGit m => (CommitRef m -> CmdLineRepository m a) -> CommitName m -> CmdLineRepository m [a] cliMissingObjects :: MonadGit m => Maybe (CommitName m) -> CommitName m -> CmdLineRepository m [Object m] type EntryHashMap m = HashMap Text (TreeEntry m) cliMakeTree :: MonadGit m => EntryHashMap m -> TreeBuilder m -- | Create a new, empty tree. -- -- Since empty trees cannot exist in Git, attempting to write out an -- empty tree is a no-op. cliNewTreeBuilder :: MonadGit m => Maybe (Tree m) -> CmdLineRepository m (TreeBuilder m) cliParseLsTree :: MonadGit m => Text -> CmdLineRepository m (Text, TreeEntry m) cliPutEntry :: MonadGit m => TreeBuilder m -> EntryHashMap m -> Text -> TreeEntry m -> CmdLineRepository m (ModifiedBuilder m) cliDropEntry :: MonadGit m => TreeBuilder m -> EntryHashMap m -> Text -> CmdLineRepository m (ModifiedBuilder m) cliLookupBuilderEntry :: MonadGit m => EntryHashMap m -> Text -> CmdLineRepository m (Maybe (TreeEntry m)) cliBuilderEntryCount :: MonadGit m => EntryHashMap m -> CmdLineRepository m Int cliTreeEntryCount :: MonadGit m => Tree m -> CmdLineRepository m Int cliWriteBuilder :: MonadGit m => EntryHashMap m -> CmdLineRepository m (TreeRef m) cliLookupTree :: MonadGit m => TreeOid m -> CmdLineRepository m (Tree m) cliTreeEntry :: MonadGit m => Tree m -> FilePath -> CmdLineRepository m (Maybe (TreeEntry m)) cliTraverseEntries :: MonadGit m => (FilePath -> TreeEntry m -> CmdLineRepository m b) -> Tree m -> CmdLineRepository m [b] parseCliTime :: String -> ZonedTime formatCliTime :: ZonedTime -> Text lexer :: TokenParser u cliLookupCommit :: MonadGit m => CommitOid m -> CmdLineRepository m (Commit m) cliCreateCommit :: MonadGit m => [CommitRef m] -> TreeRef m -> Signature -> Signature -> Text -> Maybe Text -> CmdLineRepository m (Commit m) data CliObjectRef CliObjectRef :: Text -> Text -> CliObjectRef objectRefType :: CliObjectRef -> Text objectRefSha :: CliObjectRef -> Text data CliReference CliReference :: Text -> CliObjectRef -> CliReference referenceRef :: CliReference -> Text referenceObject :: CliReference -> CliObjectRef cliShowRef :: MonadGit m => Maybe Text -> CmdLineRepository m (Maybe [(Text, Text)]) nameAndShaToRef :: MonadGit m => Text -> Text -> CmdLineRepository m (Reference m) cliLookupRef :: MonadGit m => Text -> CmdLineRepository m (Maybe (Reference m)) cliUpdateRef :: MonadGit m => Text -> RefTarget (CmdLineRepository m) (Commit m) -> CmdLineRepository m (Reference m) cliDeleteRef :: MonadGit m => Text -> CmdLineRepository m () cliAllRefs :: MonadGit m => CmdLineRepository m [Reference m] cliResolveRef :: MonadGit m => Text -> CmdLineRepository m (Maybe (CommitRef m)) cliCreateTag :: MonadGit m => CommitOid m -> Signature -> Text -> Text -> CmdLineRepository m (Tag m) data Repository Repository :: RepositoryOptions -> Repository repoOptions :: Repository -> RepositoryOptions repoPath :: Repository -> Text newtype CmdLineRepository m a CmdLineRepository :: ReaderT Repository m a -> CmdLineRepository m a cmdLineRepositoryReaderT :: CmdLineRepository m a -> ReaderT Repository m a cliGet :: Monad m => CmdLineRepository m Repository cliFactory :: MonadGit m => RepositoryFactory CmdLineRepository m Repository openCliRepository :: MonadGit m => RepositoryOptions -> m Repository runCliRepository :: MonadGit m => Repository -> CmdLineRepository m a -> m a closeCliRepository :: MonadGit m => Repository -> m () defaultCliOptions :: RepositoryOptions instance Show CliObjectRef instance Show CliReference instance (MonadIO m, MonadBaseControl IO m) => MonadBaseControl IO (CmdLineRepository m) instance MonadTransControl CmdLineRepository instance MonadTrans CmdLineRepository instance Monad m => MonadThrow (CmdLineRepository m) instance Monad m => MonadUnsafeIO (CmdLineRepository m) instance (Monad m, MonadIO m, Applicative m) => MonadBase IO (CmdLineRepository m) instance MonadIO m => MonadIO (CmdLineRepository m) instance Monad m => Monad (CmdLineRepository m) instance Applicative m => Applicative (CmdLineRepository m) instance Functor m => Functor (CmdLineRepository m) instance (MonadGit m) => Repository (CmdLineRepository m)