-- 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.0.1
module Git.Utils
treeOid :: Repository m => Tree 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
treeBlobEntries :: Repository m => Tree 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)
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