-- 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