gitlib-3.1.3: API library for working with Git repositories
Safe HaskellNone
LanguageHaskell98

Git.Types

Synopsis

Documentation

data RepositoryFacts Source #

Constructors

RepositoryFacts 

Instances

Instances details
Show RepositoryFacts Source # 
Instance details

Defined in Git.Types

class (Applicative m, Monad m, MonadThrow m, IsOid (Oid r), Show (Oid r), Eq (Oid r), Ord (Oid r)) => MonadGit r m | m -> r where Source #

Repository is the central point of contact between user code and Git data objects. Every object must belong to some repository.

Associated Types

type Oid r :: * Source #

data Tree r :: * Source #

data Options r :: * Source #

Methods

facts :: m RepositoryFacts Source #

parseOid :: Text -> m (Oid r) Source #

getRepository :: m r Source #

closeRepository :: m () Source #

deleteRepository :: m () Source #

createReference :: RefName -> RefTarget r -> m () Source #

lookupReference :: RefName -> m (Maybe (RefTarget r)) Source #

updateReference :: RefName -> RefTarget r -> m () Source #

deleteReference :: RefName -> m () Source #

sourceReferences :: ConduitT i RefName m () Source #

lookupObject :: Oid r -> m (Object r m) Source #

existsObject :: Oid r -> m Bool Source #

sourceObjects Source #

Arguments

:: Maybe (CommitOid r)

A commit we may already have

-> CommitOid r

The commit we need

-> Bool

Include commit trees also?

-> ConduitT i (ObjectOid r) m ()

All the objects in between

lookupCommit :: CommitOid r -> m (Commit r) Source #

lookupTree :: TreeOid r -> m (Tree r) Source #

lookupBlob :: BlobOid r -> m (Blob r m) Source #

lookupTag :: TagOid r -> m (Tag r) Source #

readIndex :: TreeT r m () Source #

writeIndex :: TreeT r m () Source #

newTreeBuilder :: Maybe (Tree r) -> m (TreeBuilder r m) Source #

treeOid :: Tree r -> m (TreeOid r) Source #

treeEntry :: Tree r -> TreeFilePath -> m (Maybe (TreeEntry r)) Source #

sourceTreeEntries :: Tree r -> ConduitT i (TreeFilePath, TreeEntry r) m () Source #

diffContentsWithTree :: ConduitT () (Either TreeFilePath ByteString) m () -> Tree r -> ConduitT i ByteString m () Source #

hashContents :: BlobContents m -> m (BlobOid r) Source #

createBlob :: BlobContents m -> m (BlobOid r) Source #

createCommit :: [CommitOid r] -> TreeOid r -> Signature -> Signature -> CommitMessage -> Maybe RefName -> m (Commit r) Source #

createTag :: CommitOid r -> Signature -> CommitMessage -> Text -> m (Tag r) Source #

data RepositoryFactory n m r Source #

Constructors

RepositoryFactory 

Fields

 

class IsOid o where Source #

Minimal complete definition

Nothing

Instances

Instances details
IsOid SHA Source # 
Instance details

Defined in Git.Types

type BlobOid r = Tagged r (Oid r) Source #

type TreeOid r = Tagged (Tree r) (Oid r) Source #

type CommitOid r = Tagged (Commit r) (Oid r) Source #

type TagOid r = Tagged (Tag r) (Oid r) Source #

parseObjOid :: MonadGit r m => forall o. Text -> m (Tagged o (Oid r)) Source #

copyOid :: (MonadGit r m, MonadGit s n) => Oid r -> n (Oid s) Source #

newtype SHA Source #

Constructors

SHA 

Fields

Instances

Instances details
Eq SHA Source # 
Instance details

Defined in Git.Types

Methods

(==) :: SHA -> SHA -> Bool #

(/=) :: SHA -> SHA -> Bool #

Ord SHA Source # 
Instance details

Defined in Git.Types

Methods

compare :: SHA -> SHA -> Ordering #

(<) :: SHA -> SHA -> Bool #

(<=) :: SHA -> SHA -> Bool #

(>) :: SHA -> SHA -> Bool #

(>=) :: SHA -> SHA -> Bool #

max :: SHA -> SHA -> SHA #

min :: SHA -> SHA -> SHA #

Read SHA Source # 
Instance details

Defined in Git.Types

Show SHA Source # 
Instance details

Defined in Git.Types

Methods

showsPrec :: Int -> SHA -> ShowS #

show :: SHA -> String #

showList :: [SHA] -> ShowS #

Hashable SHA Source # 
Instance details

Defined in Git.Types

Methods

hashWithSalt :: Int -> SHA -> Int #

hash :: SHA -> Int #

IsOid SHA Source # 
Instance details

Defined in Git.Types

 

data Blob r m Source #

Constructors

Blob 

Fields

data BlobContents m Source #

Instances

Instances details
Eq (BlobContents m) Source # 
Instance details

Defined in Git.Types

data BlobKind Source #

Instances

Instances details
Enum BlobKind Source # 
Instance details

Defined in Git.Types

Eq BlobKind Source # 
Instance details

Defined in Git.Types

Show BlobKind Source # 
Instance details

Defined in Git.Types

 

newtype TreeT r m a Source #

Constructors

TreeT 

Fields

Instances

Instances details
MonadTrans (TreeT r) Source # 
Instance details

Defined in Git.Tree.Builder

Methods

lift :: Monad m => m a -> TreeT r m a #

Monad m => Monad (TreeT r m) Source # 
Instance details

Defined in Git.Tree.Builder

Methods

(>>=) :: TreeT r m a -> (a -> TreeT r m b) -> TreeT r m b #

(>>) :: TreeT r m a -> TreeT r m b -> TreeT r m b #

return :: a -> TreeT r m a #

Functor m => Functor (TreeT r m) Source # 
Instance details

Defined in Git.Tree.Builder

Methods

fmap :: (a -> b) -> TreeT r m a -> TreeT r m b #

(<$) :: a -> TreeT r m b -> TreeT r m a #

MonadFix m => MonadFix (TreeT r m) Source # 
Instance details

Defined in Git.Tree.Builder

Methods

mfix :: (a -> TreeT r m a) -> TreeT r m a #

(Functor m, Monad m) => Applicative (TreeT r m) Source # 
Instance details

Defined in Git.Tree.Builder

Methods

pure :: a -> TreeT r m a #

(<*>) :: TreeT r m (a -> b) -> TreeT r m a -> TreeT r m b #

liftA2 :: (a -> b -> c) -> TreeT r m a -> TreeT r m b -> TreeT r m c #

(*>) :: TreeT r m a -> TreeT r m b -> TreeT r m b #

(<*) :: TreeT r m a -> TreeT r m b -> TreeT r m a #

MonadIO m => MonadIO (TreeT r m) Source # 
Instance details

Defined in Git.Tree.Builder

Methods

liftIO :: IO a -> TreeT r m a #

(Functor m, MonadPlus m) => Alternative (TreeT r m) Source # 
Instance details

Defined in Git.Tree.Builder

Methods

empty :: TreeT r m a #

(<|>) :: TreeT r m a -> TreeT r m a -> TreeT r m a #

some :: TreeT r m a -> TreeT r m [a] #

many :: TreeT r m a -> TreeT r m [a] #

MonadPlus m => MonadPlus (TreeT r m) Source # 
Instance details

Defined in Git.Tree.Builder

Methods

mzero :: TreeT r m a #

mplus :: TreeT r m a -> TreeT r m a -> TreeT r m a #

data TreeEntry r Source #

Constructors

BlobEntry 
TreeEntry 

Fields

CommitEntry 

Fields

data ModifiedBuilder r m Source #

Instances

Instances details
Semigroup (ModifiedBuilder r m) Source # 
Instance details

Defined in Git.Types

Monoid (ModifiedBuilder r m) Source # 
Instance details

Defined in Git.Types

 

data Signature Source #

Instances

Instances details
Show Signature Source # 
Instance details

Defined in Git.Types

 

data Tag r Source #

Constructors

Tag 

Fields

 

data Object r m Source #

Constructors

BlobObj !(Blob r m) 
TreeObj !(Tree r) 
CommitObj !(Commit r) 
TagObj !(Tag r) 

objectOid :: MonadGit r m => Object r m -> m (Oid r) Source #

loadObject :: MonadGit r m => ObjectOid r -> m (Object r m) Source #

 

data RefTarget (r :: *) Source #

Constructors

RefObj !(Oid r) 
RefSymbolic !RefName 
 

data ModificationKind Source #

Instances

Instances details
Enum ModificationKind Source # 
Instance details

Defined in Git.Types

Eq ModificationKind Source # 
Instance details

Defined in Git.Types

Ord ModificationKind Source # 
Instance details

Defined in Git.Types

Read ModificationKind Source # 
Instance details

Defined in Git.Types

Show ModificationKind Source # 
Instance details

Defined in Git.Types

data MergeStatus Source #

 

data GitException Source #

There is a separate GitException for each possible failure when interacting with the Git repository.