gitlib-sample 2.2.0.0 → 3.0.0
raw patch · 2 files changed
+47/−77 lines, 2 filesdep +failuredep +mtldep ~gitlib
Dependencies added: failure, mtl
Dependency ranges changed: gitlib
Files
- Git/Sample.hs +40/−72
- gitlib-sample.cabal +7/−5
Git/Sample.hs view
@@ -1,5 +1,4 @@ {-# LANGUAGE ConstraintKinds #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE FlexibleContexts #-}@@ -11,22 +10,15 @@ -fno-warn-unused-binds -fno-warn-orphans #-} -module Git.Sample- ( SampleRepository(..), Repository(..)- , Git.Oid, BlobOid(), TreeOid(), CommitOid()- , Tree(), Commit()- , sampleFactory- , sampleGet- ) where+module Git.Sample ( SampleRepository(..), sampleFactory ) where import Control.Applicative-import Control.Monad.IO.Class-import Control.Monad.Trans.Class-import Control.Monad.Trans.Reader+import Control.Failure+import Control.Monad.Reader.Class+import Control.Monad.Trans.Reader (ReaderT, runReaderT) import qualified Git data Void-data VoidP p instance Show Void where show _ = undefined@@ -40,90 +32,66 @@ instance Git.IsOid Void where renderOid _ = undefined -instance Git.MonadGit m => Git.Repository (SampleRepository m) where- type Oid (SampleRepository m) = Void- data Tree (SampleRepository m) = Void- data Options (SampleRepository m) = Options+data SampleRepository = SampleRepository +class HasSampleRepository env where+ getSampleRepository :: env -> SampleRepository++instance HasSampleRepository SampleRepository where+ getSampleRepository = id++instance HasSampleRepository (e, SampleRepository) where+ getSampleRepository = snd++instance (Applicative m, Failure Git.GitException m,+ MonadReader env m, HasSampleRepository env)+ => Git.MonadGit SampleRepository m where+ type Oid SampleRepository = Void+ data Tree SampleRepository = Void+ data Options SampleRepository = Options+ facts = return Git.RepositoryFacts { Git.hasSymbolicReferences = True } + getRepository = getSampleRepository <$> ask+ closeRepository = undefined+ deleteRepository = undefined+ parseOid = undefined+ lookupReference = undefined createReference = undefined updateReference = undefined deleteReference = undefined- listReferences = undefined+ sourceReferences = undefined++ lookupObject = undefined+ existsObject = undefined+ sourceObjects = undefined+ lookupCommit = undefined lookupTree = undefined lookupBlob = undefined lookupTag = undefined- lookupObject = undefined- existsObject = undefined- sourceObjects = undefined+ newTreeBuilder = undefined treeOid = undefined treeEntry = undefined- listTreeEntries = undefined+ sourceTreeEntries = undefined+ hashContents = undefined createBlob = undefined createCommit = undefined createTag = undefined- deleteRepository = undefined- -- remoteFetch = undefined diffContentsWithTree = undefined---- type TreeEntry m = Git.TreeEntry (SampleRepository m) -data Repository = Repository Void--instance Eq Repository where- _x == _y = undefined--instance Show Repository where- show _x = undefined--newtype SampleRepository m a = SampleRepository- { sampleRepositoryReaderT :: ReaderT Repository m a }- deriving (Functor, Applicative, Monad, MonadIO, MonadTrans)--type BlobOid m = Git.BlobOid (SampleRepository m)-type TreeOid m = Git.TreeOid (SampleRepository m)-type CommitOid m = Git.CommitOid (SampleRepository m)-type TagOid m = Git.TagOid (SampleRepository m)--type Tree m = Git.Tree (SampleRepository m)-type Commit m = Git.Commit (SampleRepository m)-type RefTarget m = Git.RefTarget (SampleRepository m)--sampleGet :: Monad m => SampleRepository m Repository-sampleGet = SampleRepository ask--sampleFactory :: Git.MonadGit m- => Git.RepositoryFactory (SampleRepository m) m Repository+sampleFactory :: (MonadReader env m, HasSampleRepository env)+ => Git.RepositoryFactory (ReaderT SampleRepository m) m+ SampleRepository sampleFactory = Git.RepositoryFactory- { Git.openRepository = openSampleRepository- , Git.runRepository = runSampleRepository- , Git.closeRepository = closeSampleRepository- , Git.getRepository = sampleGet- , Git.defaultOptions = defaultSampleOptions- , Git.startupBackend = return ()- , Git.shutdownBackend = return ()+ { Git.openRepository = undefined+ , Git.runRepository = flip runReaderT }--openSampleRepository :: Git.MonadGit m => Git.RepositoryOptions -> m Repository-openSampleRepository _opts = undefined--runSampleRepository :: Git.MonadGit m- => Repository -> SampleRepository m a -> m a-runSampleRepository repo action =- runReaderT (sampleRepositoryReaderT action) repo--closeSampleRepository :: Git.MonadGit m => Repository -> m ()-closeSampleRepository = const (return ())--defaultSampleOptions :: Git.RepositoryOptions-defaultSampleOptions = Git.RepositoryOptions "" False False -- Sample.hs
gitlib-sample.cabal view
@@ -1,5 +1,5 @@ Name: gitlib-sample-Version: 2.2.0.0+Version: 3.0.0 Synopsis: Sample backend for gitlib showing the basic structure for any backend. License-file: LICENSE License: MIT@@ -22,9 +22,9 @@ -- Hs-source-dirs: test -- Build-depends: -- base >=3--- , gitlib >= 2.2.0.0--- , gitlib-test >= 2.2.0.0--- , gitlib-sample >= 2.2.0.0+-- , gitlib >= 3.0.0+-- , gitlib-test >= 3.0.0+-- , gitlib-sample >= 3.0.0 -- , HUnit >= 1.2.5 -- , hspec >= 1.4.4 -- , hspec-expectations >= 0.3@@ -34,7 +34,9 @@ ghc-options: -Wall build-depends: base >= 3 && < 5- , gitlib >= 2.2.0.0+ , failure >= 0.2.0+ , gitlib >= 3.0.0+ , mtl >= 2.1.2 , transformers >= 0.3.0.0 exposed-modules: Git.Sample