diff options
Diffstat (limited to 'src/Expression.hs')
| -rw-r--r-- | src/Expression.hs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/Expression.hs b/src/Expression.hs index 29b6ea0..3897ede 100644 --- a/src/Expression.hs +++ b/src/Expression.hs @@ -9,6 +9,7 @@ module Expression ( CommitRange(..), evaluateDeclaredRevision, evaluateDeclaredRange, evaluateRevision, evaluateRange, + getCommitFromRef, getRangeCommits, getAddedRangeCommits, isRangeExpressionDynamic, @@ -207,8 +208,11 @@ evaluateRange = \case WatchedTagsExpression wt -> do CommitSet . map (CommitRef "" . commitId . tagObject) <$> updateWatchedTags wt +getCommitFromRef :: MonadIO m => Repo -> CommitRef -> m (Maybe Commit) +getCommitFromRef repo = liftIO . tryReadCommit repo . textCommitRef + getCommitIdFromRef :: MonadIO m => Repo -> CommitRef -> m (Maybe CommitId) -getCommitIdFromRef repo = liftIO . fmap (fmap commitId) . tryReadCommit repo . textCommitRef +getCommitIdFromRef repo = fmap (fmap commitId) . getCommitFromRef repo getRangeCommits :: MonadIO m => Repo -> CommitRange -> m [ Commit ] getRangeCommits repo = \case |