gitlib-3.0.0: Git/Reference.hs
module Git.Reference where
import Git.Types
import Data.Conduit
import Data.Conduit.List as CL
listReferences :: MonadGit r m => m [RefName]
listReferences = sourceReferences $$ CL.consume
resolveReference :: MonadGit r m => RefName -> m (Maybe (Oid r))
resolveReference name = do
mref <- lookupReference name
maybe (return Nothing) referenceToOid mref
referenceToOid :: MonadGit r m => RefTarget r -> m (Maybe (Oid r))
referenceToOid (RefObj oid) = return $ Just oid
referenceToOid (RefSymbolic name) = resolveReference name