-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Generic utility functions for working with Git repositories
--
-- gitlib is a high-level, lazy and conduit-aware set of
-- abstractions for programming with Git types.
@package gitlib-utils
@version 1.2.0
module Git.Utils
data OidBytestring
OidBytestring :: ByteString -> OidBytestring
getOidBS :: OidBytestring -> ByteString
parseOidBytestring :: Monad m => Text -> m OidBytestring
data OidText
OidText :: Text -> OidText
getOidT :: OidText -> Text
parseOidText :: Monad m => Text -> m OidText
data OidTextL
OidTextL :: Text -> OidTextL
getOidTL :: OidTextL -> Text
parseOidTextL :: Monad m => Text -> m OidTextL
treeOid :: Repository m => Tree m (TreeKind m) -> m Text
createBlobUtf8 :: Repository m => Text -> m (BlobOid m)
catBlob :: Repository m => Text -> m ByteString
catBlobUtf8 :: Repository m => Text -> m Text
blobContentsToByteString :: Repository m => BlobContents m -> m ByteString
blobToByteString :: Repository m => Blob m -> m ByteString
splitPath :: FilePath -> [Text]
treeBlobEntries :: Repository m => Tree m (TreeKind m) -> m [(FilePath, TreeEntry m)]
commitTreeEntry :: Repository m => Commit m -> FilePath -> m (Maybe (TreeEntry m))
copyOid :: (Repository m, Repository (t m), MonadTrans t) => Oid m -> t m (Oid (t m))
copyBlob :: (Repository m, Repository (t m), MonadTrans t) => BlobRef m -> HashSet Text -> t m (BlobOid (t m), HashSet Text)
copyTreeEntry :: (Repository m, Repository (t m), MonadTrans t) => TreeEntry m -> HashSet Text -> t m (TreeEntry (t m), HashSet Text)
copyTree :: (Repository m, Repository (t m), MonadTrans t) => TreeRef m -> HashSet Text -> t m (TreeRef (t m), HashSet Text)
copyCommit :: (Repository m, Repository (t m), MonadTrans t) => CommitRef m -> Maybe Text -> HashSet Text -> t m (CommitRef (t m), HashSet Text)
-- | Given a list of objects (commit and top-level trees) return by
-- missingObjects, expand it to include all subtrees and blobs as
-- well. Ordering is preserved.
allMissingObjects :: Repository m => [Object m] -> m [Object m]
-- | Fast-forward push a reference between repositories using a recursive
-- copy. This can be extremely slow, but always works.
genericPushCommit :: (Repository m, Repository (t m), MonadTrans t, MonadIO (t m)) => CommitName m -> Text -> t m (CommitRef (t m))
commitHistoryFirstParent :: Repository m => Commit m -> m [Commit m]
data PinnedEntry m
PinnedEntry :: Oid m -> Commit m -> TreeEntry m -> PinnedEntry m
pinnedOid :: PinnedEntry m -> Oid m
pinnedCommit :: PinnedEntry m -> Commit m
pinnedEntry :: PinnedEntry m -> TreeEntry m
identifyEntry :: Repository m => Commit m -> TreeEntry m -> m (PinnedEntry m)
commitEntryHistory :: Repository m => Commit m -> FilePath -> m [PinnedEntry m]
getCommitParents :: Repository m => Commit m -> m [Commit m]
resolveRefTree :: Repository m => Text -> m (Tree m (TreeKind m))
withNewRepository :: (Repository (t m), MonadGit (t m), MonadBaseControl IO m, MonadIO m, MonadTrans t) => RepositoryFactory t m c -> FilePath -> t m a -> m a
withNewRepository' :: (Repository (t m), MonadGit (t m), MonadBaseControl IO m, MonadIO m, MonadTrans t) => RepositoryFactory t m c -> FilePath -> t m a -> m a
instance Eq OidBytestring
instance Ord OidBytestring
instance Show OidBytestring
instance Eq OidText
instance Ord OidText
instance Show OidText
instance Eq OidTextL
instance Ord OidTextL
instance Show OidTextL
instance IsOid OidTextL
instance IsOid OidText
instance IsOid OidBytestring