-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Simple Git Wrapper -- -- Simple git wrapper to access common git functions in a simple haskell -- way. @package libgit @version 0.1.0 module Lib.Git.Type runGit :: Config -> GitCtx t -> IO t type GitFailure = (Int, String, String, String, [String]) gitExec :: String -> [String] -> [(String, String)] -> GitCtx (Either GitFailure String) gitError :: GitFailure -> String -> b data GitCtx a makeConfig :: FilePath -> Maybe FilePath -> Config data Object Commit :: CommitID -> Object Blob :: BlobID -> Object Tree :: TreeID -> Object Tag :: TagID -> Object data Config Config :: FilePath -> Maybe FilePath -> Config configCwd :: Config -> FilePath configGitPath :: Config -> Maybe FilePath data Commitent Commitent :: [CommitID] -> TreeID -> Person -> String -> Person -> String -> String -> Commitent ceParents :: Commitent -> [CommitID] ceTree :: Commitent -> TreeID ceAuthor :: Commitent -> Person ceAuthorTime :: Commitent -> String ceCommitter :: Commitent -> Person ceCommitterTime :: Commitent -> String ceCommitMsg :: Commitent -> String data Person Person :: String -> String -> Person personName :: Person -> String personEmail :: Person -> String type ID = String type CommitID = ID type BlobID = ID type TreeID = ID type TagID = ID toID :: String -> ID objToID :: Object -> ID objOfString :: String -> ID -> Maybe Object instance Show Object instance Monad GitCtx instance MonadIO GitCtx instance MonadReader Config GitCtx instance Show Person instance Show Commitent module Lib.Git.Tree treeList :: Maybe CommitID -> GitCtx Treeent type Perms = (Int, Int, Int, Int, Int, Int) permsOfString :: String -> Perms type Treeent = [(Perms, Object, FilePath)] module Lib.Git.Index indexUpdate :: [FilePath] -> GitCtx () indexCheckoutAll :: Bool -> GitCtx () indexCheckout :: [FilePath] -> Bool -> GitCtx () indexList :: GitCtx (FilePath) module Lib.Git.Lowlevel revlist :: Maybe Int -> Maybe CommitID -> [FilePath] -> GitCtx [CommitID] revparse :: String -> GitCtx (Maybe CommitID) catBlob :: BlobID -> GitCtx String catTag :: TagID -> GitCtx String catTree :: TreeID -> GitCtx Treeent catCommit :: CommitID -> GitCtx Commitent -- | Portabily : haven't tested -- -- This module provide Git functionality exec'ing the git binary. -- -- give simple access to commit, tree, tag, blob objects. module Lib.Git taglist :: GitCtx [TagID] initDB :: GitCtx () add :: [FilePath] -> GitCtx () rm :: [FilePath] -> GitCtx () commit :: [FilePath] -> String -> String -> String -> GitCtx () checkout :: Maybe CommitID -> Maybe String -> GitCtx () hasDiff :: GitCtx Bool resolveFilePath :: Commitent -> FilePath -> GitCtx [(FilePath, Object)]