hmgit-1.0.0: The subset of awesome content tracker Git
Safe HaskellNone
LanguageHaskell2010

HMGit.Internal.Core.Runner.API

Synopsis

Documentation

hmGitDBPath :: Monad m => HMGitT m (Path Abs Dir) Source #

Get an abstract path to the HMGit database directory

hmGitDBName :: Monad m => HMGitT m String Source #

Get the HMGit database name

hmGitLoadMasterHash :: (MonadIO m, MonadThrow m) => HMGitT m (Maybe String) Source #

Read refs/heads/master. If it does not exist, look for refs/heads/main as a fallback. The Nothing will be returned if neither exists.

hmGitRoot :: Monad m => HMGitT m (Path Abs Dir) Source #

Get an abstract path to the HMGit project directory

hmGitTreeLim :: Monad m => HMGitT m Int Source #

Get a loop limit of the tree

hmGitIndexPath :: Monad m => HMGitT m (Path Abs File) Source #

The index file path

hmGitBRPath :: MonadIO m => HMGitT m (Either (Path Abs File) (Path Abs File)) Source #

If refs/heads/master or refs/heads/main exists, return Right, if they are not exist, the candidate path is wrapped in Left returned.

hmGitBRPath' :: MonadIO m => HMGitT m (Path Abs File) Source #

Get the path, ignoring whether it is an actual path or a candidate path.

hmGitBRName :: MonadIO m => HMGitT m (Either String String) Source #

If refs/heads/master or refs/heads/main exists, return Right, if they are not exist, the candidate name is wrapped in Left returned.

hmGitBRName' :: MonadIO m => HMGitT m String Source #

Get the name, ignoring whether it is a real name or a candidate name.

getCurrentDirFromHMGit :: (MonadThrow m, MonadIO m) => HMGitT m (Path Rel Dir) Source #

Returns the current path relative to the hmgit database directory

runHMGit :: HMGitT m a -> HMGitConfig -> m a Source #

HMGit runner