mirror of
https://github.com/commercialhaskell/stackage.git
synced 2026-02-19 01:35:50 +01:00
New gitlib patches
This commit is contained in:
parent
59ab7c4d50
commit
44be73a24b
@ -1,22 +0,0 @@
|
|||||||
diff -ru orig/Git/Repository.hs new/Git/Repository.hs
|
|
||||||
--- orig/Git/Repository.hs 2014-04-03 09:46:22.102281090 +0300
|
|
||||||
+++ new/Git/Repository.hs 2014-04-03 09:46:21.000000000 +0300
|
|
||||||
@@ -3,6 +3,7 @@
|
|
||||||
import Control.Exception.Lifted
|
|
||||||
import Control.Monad
|
|
||||||
import Control.Monad.IO.Class
|
|
||||||
+import Control.Monad.Trans.Control (MonadBaseControl)
|
|
||||||
import Data.Conduit
|
|
||||||
import Git.Types
|
|
||||||
import System.Directory
|
|
||||||
diff -ru orig/gitlib.cabal new/gitlib.cabal
|
|
||||||
--- orig/gitlib.cabal 2014-04-03 09:46:22.102281090 +0300
|
|
||||||
+++ new/gitlib.cabal 2014-04-03 09:46:21.000000000 +0300
|
|
||||||
@@ -43,6 +43,7 @@
|
|
||||||
, base16-bytestring >= 0.1.1.5
|
|
||||||
, bytestring >= 0.9.2.1
|
|
||||||
, conduit >= 1.0.0
|
|
||||||
+ , conduit-extra >= 1.0.0
|
|
||||||
, containers >= 0.4.2.1
|
|
||||||
, directory >= 1.1.0.2
|
|
||||||
, failure >= 0.2.0.1
|
|
||||||
191
patching/patches/gitlib-3.0.2.patch
Normal file
191
patching/patches/gitlib-3.0.2.patch
Normal file
@ -0,0 +1,191 @@
|
|||||||
|
diff -ru orig/Git/Commit/Push.hs new/Git/Commit/Push.hs
|
||||||
|
--- orig/Git/Commit/Push.hs 2014-04-06 09:02:45.571789820 +0300
|
||||||
|
+++ new/Git/Commit/Push.hs 2014-04-06 09:02:45.000000000 +0300
|
||||||
|
@@ -1,11 +1,11 @@
|
||||||
|
module Git.Commit.Push where
|
||||||
|
|
||||||
|
import Control.Applicative
|
||||||
|
-import Control.Failure
|
||||||
|
import Control.Monad
|
||||||
|
import Control.Monad.IO.Class
|
||||||
|
import Control.Monad.Trans.Class
|
||||||
|
import Control.Monad.Trans.Control
|
||||||
|
+import Control.Monad.Trans.Resource
|
||||||
|
import Data.Function
|
||||||
|
import qualified Data.HashSet as HashSet
|
||||||
|
import Data.List
|
||||||
|
@@ -33,14 +33,14 @@
|
||||||
|
mrref' <- for mrref $ \rref ->
|
||||||
|
if rref `elem` commits
|
||||||
|
then lift $ copyCommitOid rref
|
||||||
|
- else failure $ PushNotFastForward
|
||||||
|
+ else throwM $ PushNotFastForward
|
||||||
|
$ "SHA " <> renderObjOid rref
|
||||||
|
<> " not found in remote"
|
||||||
|
objs <- lift $ listAllObjects mrref' coid
|
||||||
|
let shas = HashSet.fromList $ map (renderOid . untagObjOid) objs
|
||||||
|
(cref,_) <- copyCommit coid Nothing shas
|
||||||
|
unless (renderObjOid coid == renderObjOid cref) $
|
||||||
|
- failure $ BackendError $ "Error copying commit: "
|
||||||
|
+ throwM $ BackendError $ "Error copying commit: "
|
||||||
|
<> renderObjOid coid <> " /= " <> renderObjOid cref
|
||||||
|
-- jww (2013-04-18): This is something the user must decide to do
|
||||||
|
-- updateReference_ remoteRefName (RefObj cref)
|
||||||
|
@@ -79,6 +79,6 @@
|
||||||
|
|
||||||
|
mref <- fmap renderOid <$> resolveReference refName
|
||||||
|
unless (maybe False (renderObjOid coid ==) mref) $
|
||||||
|
- failure (BackendError $
|
||||||
|
+ throwM (BackendError $
|
||||||
|
"Could not resolve destination reference '"
|
||||||
|
<> refName <> "'in project")
|
||||||
|
diff -ru orig/Git/Commit.hs new/Git/Commit.hs
|
||||||
|
--- orig/Git/Commit.hs 2014-04-06 09:02:45.571789820 +0300
|
||||||
|
+++ new/Git/Commit.hs 2014-04-06 09:02:45.000000000 +0300
|
||||||
|
@@ -1,8 +1,8 @@
|
||||||
|
module Git.Commit where
|
||||||
|
|
||||||
|
-import Control.Failure
|
||||||
|
import Control.Monad
|
||||||
|
import Control.Monad.Trans.Class
|
||||||
|
+import Control.Monad.Trans.Resource
|
||||||
|
import Data.Conduit
|
||||||
|
import qualified Data.Conduit.List as CL
|
||||||
|
import Data.Function
|
||||||
|
@@ -41,7 +41,7 @@
|
||||||
|
(parentRefs,needed') <- foldM copyParent ([],needed) parents
|
||||||
|
(tr,needed'') <- copyTree (commitTree commit) needed'
|
||||||
|
unless (renderObjOid (commitTree commit) == renderObjOid tr) $
|
||||||
|
- failure $ BackendError $ "Error copying tree: "
|
||||||
|
+ throwM $ BackendError $ "Error copying tree: "
|
||||||
|
<> renderObjOid (commitTree commit)
|
||||||
|
<> " /= " <> renderObjOid tr
|
||||||
|
|
||||||
|
@@ -60,7 +60,7 @@
|
||||||
|
copyParent (prefs,needed') cref = do
|
||||||
|
(cref2,needed'') <- copyCommit cref Nothing needed'
|
||||||
|
unless (renderObjOid cref == renderObjOid cref2) $
|
||||||
|
- failure $ BackendError $ "Error copying commit: "
|
||||||
|
+ throwM $ BackendError $ "Error copying commit: "
|
||||||
|
<> renderObjOid cref <> " /= " <> renderObjOid cref2
|
||||||
|
let x = cref2 `seq` (cref2:prefs)
|
||||||
|
return $ x `seq` needed'' `seq` (x,needed'')
|
||||||
|
diff -ru orig/Git/Repository.hs new/Git/Repository.hs
|
||||||
|
--- orig/Git/Repository.hs 2014-04-06 09:02:45.571789820 +0300
|
||||||
|
+++ new/Git/Repository.hs 2014-04-06 09:02:45.000000000 +0300
|
||||||
|
@@ -6,6 +6,7 @@
|
||||||
|
import Data.Conduit
|
||||||
|
import Git.Types
|
||||||
|
import System.Directory
|
||||||
|
+import Control.Monad.Trans.Control (MonadBaseControl)
|
||||||
|
|
||||||
|
withNewRepository :: (MonadGit r n, MonadBaseControl IO n, MonadIO m)
|
||||||
|
=> RepositoryFactory n m r
|
||||||
|
diff -ru orig/Git/Tree/Builder.hs new/Git/Tree/Builder.hs
|
||||||
|
--- orig/Git/Tree/Builder.hs 2014-04-06 09:02:45.571789820 +0300
|
||||||
|
+++ new/Git/Tree/Builder.hs 2014-04-06 09:02:45.000000000 +0300
|
||||||
|
@@ -25,12 +25,12 @@
|
||||||
|
) where
|
||||||
|
|
||||||
|
import Control.Applicative
|
||||||
|
-import Control.Failure
|
||||||
|
import Control.Monad
|
||||||
|
import Control.Monad.Fix
|
||||||
|
import Control.Monad.Logger
|
||||||
|
import Control.Monad.IO.Class
|
||||||
|
import Control.Monad.Trans.Class
|
||||||
|
+import Control.Monad.Trans.Resource
|
||||||
|
import Control.Monad.Trans.State
|
||||||
|
import qualified Data.ByteString as B
|
||||||
|
import Data.Char
|
||||||
|
@@ -143,9 +143,9 @@
|
||||||
|
|
||||||
|
update bm _ _ (Right Nothing) = return (bm, TreeEntryNotFound)
|
||||||
|
update _ _ _ (Right (Just BlobEntry {})) =
|
||||||
|
- failure TreeCannotTraverseBlob
|
||||||
|
+ throwM TreeCannotTraverseBlob
|
||||||
|
update _ _ _ (Right (Just CommitEntry {})) =
|
||||||
|
- failure TreeCannotTraverseCommit
|
||||||
|
+ throwM TreeCannotTraverseCommit
|
||||||
|
|
||||||
|
update bm name names arg = do
|
||||||
|
sbm <- case arg of
|
||||||
|
diff -ru orig/Git/Tree.hs new/Git/Tree.hs
|
||||||
|
--- orig/Git/Tree.hs 2014-04-06 09:02:45.571789820 +0300
|
||||||
|
+++ new/Git/Tree.hs 2014-04-06 09:02:45.000000000 +0300
|
||||||
|
@@ -1,8 +1,8 @@
|
||||||
|
module Git.Tree where
|
||||||
|
|
||||||
|
-import Control.Failure
|
||||||
|
import Control.Monad
|
||||||
|
import Control.Monad.Trans.Class
|
||||||
|
+import Control.Monad.Trans.Resource
|
||||||
|
import Data.Conduit
|
||||||
|
import qualified Data.Conduit.List as CL
|
||||||
|
import Data.HashSet (HashSet)
|
||||||
|
@@ -22,7 +22,7 @@
|
||||||
|
copyTreeEntry (BlobEntry oid kind) needed = do
|
||||||
|
(b,needed') <- copyBlob oid needed
|
||||||
|
unless (renderObjOid oid == renderObjOid b) $
|
||||||
|
- failure $ BackendError $ "Error copying blob: "
|
||||||
|
+ throwM $ BackendError $ "Error copying blob: "
|
||||||
|
<> renderObjOid oid <> " /= " <> renderObjOid b
|
||||||
|
return (BlobEntry b kind, needed')
|
||||||
|
copyTreeEntry (CommitEntry oid) needed = do
|
||||||
|
diff -ru orig/Git/Types.hs new/Git/Types.hs
|
||||||
|
--- orig/Git/Types.hs 2014-04-06 09:02:45.571789820 +0300
|
||||||
|
+++ new/Git/Types.hs 2014-04-06 09:02:45.000000000 +0300
|
||||||
|
@@ -2,9 +2,9 @@
|
||||||
|
|
||||||
|
import Control.Applicative
|
||||||
|
import qualified Control.Exception.Lifted as Exc
|
||||||
|
-import Control.Failure
|
||||||
|
import Control.Monad
|
||||||
|
import Control.Monad.Trans.Class
|
||||||
|
+import Control.Monad.Trans.Resource
|
||||||
|
import Data.ByteString (ByteString)
|
||||||
|
import qualified Data.ByteString.Base16 as B16
|
||||||
|
import qualified Data.ByteString.Lazy as BL
|
||||||
|
@@ -35,7 +35,7 @@
|
||||||
|
|
||||||
|
-- | 'Repository' is the central point of contact between user code and Git
|
||||||
|
-- data objects. Every object must belong to some repository.
|
||||||
|
-class (Applicative m, Monad m, Failure GitException m,
|
||||||
|
+class (Applicative m, Monad m, MonadThrow m,
|
||||||
|
IsOid (Oid r), Show (Oid r), Eq (Oid r), Ord (Oid r))
|
||||||
|
=> MonadGit r m | m -> r where
|
||||||
|
type Oid r :: *
|
||||||
|
diff -ru orig/Git/Working.hs new/Git/Working.hs
|
||||||
|
--- orig/Git/Working.hs 2014-04-06 09:02:45.571789820 +0300
|
||||||
|
+++ new/Git/Working.hs 2014-04-06 09:02:45.000000000 +0300
|
||||||
|
@@ -3,7 +3,6 @@
|
||||||
|
module Git.Working where
|
||||||
|
|
||||||
|
import Control.Applicative
|
||||||
|
-import Control.Failure
|
||||||
|
import Control.Monad.IO.Class
|
||||||
|
import Control.Monad.Trans.Resource
|
||||||
|
import Data.Conduit
|
||||||
|
@@ -39,7 +38,7 @@
|
||||||
|
| cloneSubmodules -> cloneSubmodule oid fullPath
|
||||||
|
| otherwise -> liftIO $ createDirectory fullPath
|
||||||
|
where
|
||||||
|
- decodeError path e = failure $ PathEncodingError $
|
||||||
|
+ decodeError path e = throwM $ PathEncodingError $
|
||||||
|
"Could not decode path " <> T.pack (show path) <> ":" <> T.pack e
|
||||||
|
|
||||||
|
checkoutBlob oid kind fullPath = do
|
||||||
|
diff -ru orig/gitlib.cabal new/gitlib.cabal
|
||||||
|
--- orig/gitlib.cabal 2014-04-06 09:02:45.575789820 +0300
|
||||||
|
+++ new/gitlib.cabal 2014-04-06 09:02:45.000000000 +0300
|
||||||
|
@@ -43,9 +43,9 @@
|
||||||
|
, base16-bytestring >= 0.1.1.5
|
||||||
|
, bytestring >= 0.9.2.1
|
||||||
|
, conduit >= 1.0.0
|
||||||
|
+ , conduit-extra >= 1.0.0
|
||||||
|
, containers >= 0.4.2.1
|
||||||
|
, directory >= 1.1.0.2
|
||||||
|
- , failure >= 0.2.0.1
|
||||||
|
, filepath >= 1.3.0.0
|
||||||
|
, hashable >= 1.1.2.5
|
||||||
|
, lifted-base >= 0.2
|
||||||
@ -1,12 +0,0 @@
|
|||||||
diff -ru orig/Git/CmdLine.hs new/Git/CmdLine.hs
|
|
||||||
--- orig/Git/CmdLine.hs 2014-04-04 10:18:25.564401057 +0300
|
|
||||||
+++ new/Git/CmdLine.hs 2014-04-04 10:18:25.000000000 +0300
|
|
||||||
@@ -24,7 +24,7 @@
|
|
||||||
import Control.Monad.Trans.Class
|
|
||||||
import Control.Monad.Trans.Reader (ReaderT, runReaderT)
|
|
||||||
import qualified Data.ByteString as B
|
|
||||||
-import Data.Conduit hiding (MonadBaseControl)
|
|
||||||
+import Data.Conduit
|
|
||||||
import qualified Data.Conduit.List as CL
|
|
||||||
import Data.Foldable (for_)
|
|
||||||
import Data.Function
|
|
||||||
40
patching/patches/gitlib-cmdline-3.0.1.patch
Normal file
40
patching/patches/gitlib-cmdline-3.0.1.patch
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
diff -ru orig/Git/CmdLine.hs new/Git/CmdLine.hs
|
||||||
|
--- orig/Git/CmdLine.hs 2014-04-06 09:02:46.027789820 +0300
|
||||||
|
+++ new/Git/CmdLine.hs 2014-04-06 09:02:45.000000000 +0300
|
||||||
|
@@ -23,6 +23,7 @@
|
||||||
|
import Control.Monad.Reader.Class
|
||||||
|
import Control.Monad.Trans.Class
|
||||||
|
import Control.Monad.Trans.Reader (ReaderT, runReaderT)
|
||||||
|
+import Control.Monad.Trans.Resource (MonadThrow (..))
|
||||||
|
import qualified Data.ByteString as B
|
||||||
|
import Data.Conduit hiding (MonadBaseControl)
|
||||||
|
import qualified Data.Conduit.List as CL
|
||||||
|
@@ -88,7 +89,7 @@
|
||||||
|
-- instance HasCliRepo (env, CliRepo) where
|
||||||
|
-- getCliRepo = snd
|
||||||
|
|
||||||
|
-instance (Applicative m, Failure GitException m, MonadIO m)
|
||||||
|
+instance (Applicative m, Failure GitException m, MonadIO m, MonadThrow m)
|
||||||
|
=> MonadGit CliRepo (ReaderT CliRepo m) where
|
||||||
|
type Oid CliRepo = SHA
|
||||||
|
data Tree CliRepo = CmdLineTree (TreeOid CliRepo)
|
||||||
|
@@ -127,7 +128,7 @@
|
||||||
|
|
||||||
|
diffContentsWithTree = error "Not defined cliDiffContentsWithTree"
|
||||||
|
|
||||||
|
-type MonadCli m = (Applicative m, Failure GitException m, MonadIO m)
|
||||||
|
+type MonadCli m = (Applicative m, Failure GitException m, MonadIO m, MonadThrow m)
|
||||||
|
|
||||||
|
mkOid :: MonadCli m => forall o. TL.Text -> ReaderT CliRepo m (Tagged o SHA)
|
||||||
|
mkOid = fmap Tagged <$> textToSha . toStrict
|
||||||
|
diff -ru orig/gitlib-cmdline.cabal new/gitlib-cmdline.cabal
|
||||||
|
--- orig/gitlib-cmdline.cabal 2014-04-06 09:02:46.031789820 +0300
|
||||||
|
+++ new/gitlib-cmdline.cabal 2014-04-06 09:02:45.000000000 +0300
|
||||||
|
@@ -39,6 +39,7 @@
|
||||||
|
, transformers >= 0.2.2
|
||||||
|
, transformers-base >= 0.4.1
|
||||||
|
, unordered-containers >= 0.2.3.0
|
||||||
|
+ , resourcet
|
||||||
|
exposed-modules:
|
||||||
|
Git.CmdLine
|
||||||
|
|
||||||
@ -1,30 +0,0 @@
|
|||||||
diff -ru orig/Git/Libgit2.hs new/Git/Libgit2.hs
|
|
||||||
--- orig/Git/Libgit2.hs 2014-04-03 19:25:38.109541281 +0300
|
|
||||||
+++ new/Git/Libgit2.hs 2014-04-03 19:25:37.000000000 +0300
|
|
||||||
@@ -1341,7 +1341,7 @@
|
|
||||||
|
|
||||||
lgLoadPackFileInMemory
|
|
||||||
:: (MonadBaseControl IO m, MonadIO m, Failure Git.GitException m,
|
|
||||||
- MonadUnsafeIO m, MonadThrow m, MonadLogger m)
|
|
||||||
+ MonadThrow m, MonadLogger m)
|
|
||||||
=> FilePath
|
|
||||||
-> Ptr (Ptr C'git_odb_backend)
|
|
||||||
-> Ptr (Ptr C'git_odb)
|
|
||||||
@@ -1373,7 +1373,7 @@
|
|
||||||
return odbPtr
|
|
||||||
|
|
||||||
lgWithPackFile :: (MonadBaseControl IO m, MonadIO m, Failure Git.GitException m,
|
|
||||||
- MonadUnsafeIO m, MonadThrow m, MonadLogger m)
|
|
||||||
+ MonadThrow m, MonadLogger m)
|
|
||||||
=> FilePath -> (Ptr C'git_odb -> ResourceT m a) -> m a
|
|
||||||
lgWithPackFile idxPath f = control $ \run ->
|
|
||||||
alloca $ \odbPtrPtr ->
|
|
||||||
@@ -1381,7 +1381,7 @@
|
|
||||||
f =<< lgLoadPackFileInMemory idxPath backendPtrPtr odbPtrPtr
|
|
||||||
|
|
||||||
lgReadFromPack :: (MonadBaseControl IO m, MonadIO m, Failure Git.GitException m,
|
|
||||||
- MonadUnsafeIO m, MonadThrow m, MonadLogger m)
|
|
||||||
+ MonadThrow m, MonadLogger m)
|
|
||||||
=> FilePath -> Git.SHA -> Bool
|
|
||||||
-> m (Maybe (C'git_otype, CSize, ByteString))
|
|
||||||
lgReadFromPack idxPath sha metadataOnly =
|
|
||||||
280
patching/patches/gitlib-libgit2-3.0.1.patch
Normal file
280
patching/patches/gitlib-libgit2-3.0.1.patch
Normal file
@ -0,0 +1,280 @@
|
|||||||
|
diff -ru orig/Git/Libgit2/Internal.hs new/Git/Libgit2/Internal.hs
|
||||||
|
--- orig/Git/Libgit2/Internal.hs 2014-04-06 09:02:46.523789820 +0300
|
||||||
|
+++ new/Git/Libgit2/Internal.hs 2014-04-06 09:02:46.000000000 +0300
|
||||||
|
@@ -8,9 +8,9 @@
|
||||||
|
|
||||||
|
import Bindings.Libgit2
|
||||||
|
import Control.Applicative
|
||||||
|
-import Control.Failure
|
||||||
|
import Control.Monad
|
||||||
|
import Control.Monad.Trans.Control
|
||||||
|
+import Control.Monad.Trans.Resource
|
||||||
|
import Data.ByteString
|
||||||
|
import qualified Data.Text as T
|
||||||
|
import qualified Data.Text.ICU.Convert as U
|
||||||
|
@@ -85,7 +85,7 @@
|
||||||
|
let p = castPtr ptr'
|
||||||
|
fptr <- FC.newForeignPtr p (c'git_object_free p)
|
||||||
|
run $ Right <$> createFn coidCopy (castForeignPtr fptr) ptr'
|
||||||
|
- either (failure . Git.BackendError) return result
|
||||||
|
+ either (throwM . Git.BackendError) return result
|
||||||
|
|
||||||
|
-- lgLookupObject :: Text -> LgRepository Dynamic
|
||||||
|
-- lgLookupObject str
|
||||||
|
diff -ru orig/Git/Libgit2/Types.hs new/Git/Libgit2/Types.hs
|
||||||
|
--- orig/Git/Libgit2/Types.hs 2014-04-06 09:02:46.523789820 +0300
|
||||||
|
+++ new/Git/Libgit2/Types.hs 2014-04-06 09:02:46.000000000 +0300
|
||||||
|
@@ -10,10 +10,10 @@
|
||||||
|
|
||||||
|
import Bindings.Libgit2
|
||||||
|
import Control.Applicative
|
||||||
|
-import Control.Failure
|
||||||
|
import Control.Monad.IO.Class
|
||||||
|
import Control.Monad.Logger
|
||||||
|
import Control.Monad.Trans.Control
|
||||||
|
+import Control.Monad.Trans.Resource
|
||||||
|
import Data.IORef
|
||||||
|
import Foreign.ForeignPtr
|
||||||
|
import qualified Git
|
||||||
|
@@ -52,7 +52,7 @@
|
||||||
|
type TreeBuilder = Git.TreeBuilder LgRepo
|
||||||
|
type Options = Git.Options LgRepo
|
||||||
|
|
||||||
|
-type MonadLg m = (Applicative m, Failure Git.GitException m,
|
||||||
|
+type MonadLg m = (Applicative m, MonadThrow m,
|
||||||
|
MonadIO m, MonadBaseControl IO m, MonadLogger m)
|
||||||
|
|
||||||
|
-- Types.hs
|
||||||
|
diff -ru orig/Git/Libgit2.hs new/Git/Libgit2.hs
|
||||||
|
--- orig/Git/Libgit2.hs 2014-04-06 09:02:46.523789820 +0300
|
||||||
|
+++ new/Git/Libgit2.hs 2014-04-06 09:02:46.000000000 +0300
|
||||||
|
@@ -60,7 +60,6 @@
|
||||||
|
import Control.Concurrent.Async.Lifted
|
||||||
|
import Control.Concurrent.STM
|
||||||
|
import Control.Exception.Lifted
|
||||||
|
-import Control.Failure
|
||||||
|
import Control.Monad hiding (forM, forM_, mapM, mapM_, sequence)
|
||||||
|
import Control.Monad.IO.Class
|
||||||
|
import Control.Monad.Logger
|
||||||
|
@@ -154,11 +153,11 @@
|
||||||
|
|
||||||
|
lgParseOid :: MonadLg m => Text -> m Oid
|
||||||
|
lgParseOid str
|
||||||
|
- | len > 40 = failure (Git.OidParseFailed str)
|
||||||
|
+ | len > 40 = throwM (Git.OidParseFailed str)
|
||||||
|
| otherwise = do
|
||||||
|
moid <- liftIO $ lgParseOidIO str len
|
||||||
|
case moid of
|
||||||
|
- Nothing -> failure (Git.OidParseFailed str)
|
||||||
|
+ Nothing -> throwM (Git.OidParseFailed str)
|
||||||
|
Just oid -> return oid
|
||||||
|
where
|
||||||
|
len = T.length str
|
||||||
|
@@ -179,7 +178,7 @@
|
||||||
|
instance Eq OidPtr where
|
||||||
|
oid1 == oid2 = oid1 `compare` oid2 == EQ
|
||||||
|
|
||||||
|
-instance (Applicative m, Failure Git.GitException m,
|
||||||
|
+instance (Applicative m, MonadThrow m,
|
||||||
|
MonadBaseControl IO m, MonadIO m, MonadLogger m)
|
||||||
|
=> Git.MonadGit LgRepo (ReaderT LgRepo m) where
|
||||||
|
type Oid LgRepo = OidPtr
|
||||||
|
@@ -427,7 +426,7 @@
|
||||||
|
return $ Just fptr
|
||||||
|
case mfptr of
|
||||||
|
Nothing ->
|
||||||
|
- failure (Git.TreeCreateFailed "Failed to create new tree builder")
|
||||||
|
+ throwM (Git.TreeCreateFailed "Failed to create new tree builder")
|
||||||
|
Just fptr -> do
|
||||||
|
toid <- mapM Git.treeOid mtree
|
||||||
|
return (lgMakeBuilder fptr) { Git.mtbBaseTreeOid = toid }
|
||||||
|
@@ -441,7 +440,7 @@
|
||||||
|
withFilePath key $ \name ->
|
||||||
|
c'git_treebuilder_insert nullPtr ptr name coid
|
||||||
|
(fromIntegral mode)
|
||||||
|
- when (r2 < 0) $ failure (Git.TreeBuilderInsertFailed key)
|
||||||
|
+ when (r2 < 0) $ throwM (Git.TreeBuilderInsertFailed key)
|
||||||
|
|
||||||
|
treeEntryToOid :: TreeEntry -> (Oid, CUInt)
|
||||||
|
treeEntryToOid (Git.BlobEntry oid kind) =
|
||||||
|
@@ -503,7 +502,7 @@
|
||||||
|
liftIO $ withForeignPtr fptr $ \builder -> alloca $ \pptr -> do
|
||||||
|
r <- c'git_treebuilder_create pptr nullPtr
|
||||||
|
when (r < 0) $
|
||||||
|
- failure (Git.BackendError "Could not create new treebuilder")
|
||||||
|
+ throwM (Git.BackendError "Could not create new treebuilder")
|
||||||
|
builder' <- peek pptr
|
||||||
|
bracket
|
||||||
|
(mk'git_treebuilder_filter_cb (callback builder'))
|
||||||
|
@@ -522,7 +521,7 @@
|
||||||
|
coid
|
||||||
|
fmode
|
||||||
|
when (r < 0) $
|
||||||
|
- failure (Git.BackendError "Could not insert entry in treebuilder")
|
||||||
|
+ throwM (Git.BackendError "Could not insert entry in treebuilder")
|
||||||
|
return 0
|
||||||
|
|
||||||
|
lgLookupTree :: MonadLg m => TreeOid -> ReaderT LgRepo m Tree
|
||||||
|
@@ -547,7 +546,7 @@
|
||||||
|
0o100644 -> return Git.PlainBlob
|
||||||
|
0o100755 -> return Git.ExecutableBlob
|
||||||
|
0o120000 -> return Git.SymlinkBlob
|
||||||
|
- _ -> failure $ Git.BackendError $
|
||||||
|
+ _ -> throwM $ Git.BackendError $
|
||||||
|
"Unknown blob mode: " <> T.pack (show mode)
|
||||||
|
| typ == c'GIT_OBJ_TREE ->
|
||||||
|
return $ Git.TreeEntry (Tagged (mkOid oid))
|
||||||
|
@@ -642,7 +641,7 @@
|
||||||
|
r1 <- c'git_odb_exists ptr coid 0
|
||||||
|
c'git_odb_free ptr
|
||||||
|
return (Just (r1 == 0))
|
||||||
|
- maybe (failure Git.RepositoryInvalid) return result
|
||||||
|
+ maybe (throwM Git.RepositoryInvalid) return result
|
||||||
|
|
||||||
|
lgForEachObject :: Ptr C'git_odb
|
||||||
|
-> (Ptr C'git_oid -> Ptr () -> IO CInt)
|
||||||
|
@@ -663,7 +662,7 @@
|
||||||
|
r <- withForeignPtr (repoObj repo) $ \repoPtr ->
|
||||||
|
c'git_revwalk_new pptr repoPtr
|
||||||
|
when (r < 0) $
|
||||||
|
- failure (Git.BackendError "Could not create revwalker")
|
||||||
|
+ throwM (Git.BackendError "Could not create revwalker")
|
||||||
|
ptr <- peek pptr
|
||||||
|
FC.newForeignPtr ptr (c'git_revwalk_free ptr)
|
||||||
|
|
||||||
|
@@ -673,7 +672,7 @@
|
||||||
|
liftIO $ withForeignPtr (getOid oid) $ \coid -> do
|
||||||
|
r2 <- withForeignPtr walker $ flip c'git_revwalk_push coid
|
||||||
|
when (r2 < 0) $
|
||||||
|
- failure (Git.BackendError $ "Could not push oid "
|
||||||
|
+ throwM (Git.BackendError $ "Could not push oid "
|
||||||
|
<> pack (show oid) <> " onto revwalker")
|
||||||
|
|
||||||
|
case mhave of
|
||||||
|
@@ -681,7 +680,7 @@
|
||||||
|
Just have -> liftIO $ withForeignPtr (getOid (untag have)) $ \coid -> do
|
||||||
|
r2 <- withForeignPtr walker $ flip c'git_revwalk_hide coid
|
||||||
|
when (r2 < 0) $
|
||||||
|
- failure (Git.BackendError $ "Could not hide commit "
|
||||||
|
+ throwM (Git.BackendError $ "Could not hide commit "
|
||||||
|
<> pack (show (untag have)) <> " from revwalker")
|
||||||
|
|
||||||
|
liftIO $ withForeignPtr walker $ flip c'git_revwalk_sorting
|
||||||
|
@@ -831,7 +830,7 @@
|
||||||
|
else do
|
||||||
|
ref <- peek ptr
|
||||||
|
c'git_reference_delete ref
|
||||||
|
- when (r < 0) $ failure (Git.ReferenceDeleteFailed name)
|
||||||
|
+ when (r < 0) $ throwM (Git.ReferenceDeleteFailed name)
|
||||||
|
|
||||||
|
-- int git_reference_packall(git_repository *repo)
|
||||||
|
|
||||||
|
@@ -957,7 +956,7 @@
|
||||||
|
|
||||||
|
--compareRef = c'git_reference_cmp
|
||||||
|
|
||||||
|
-lgThrow :: (MonadIO m, Failure e m) => (Text -> e) -> m ()
|
||||||
|
+lgThrow :: (Exception e, MonadIO m, MonadThrow m) => (Text -> e) -> m ()
|
||||||
|
lgThrow f = do
|
||||||
|
errStr <- liftIO $ do
|
||||||
|
errPtr <- c'giterr_last
|
||||||
|
@@ -966,7 +965,7 @@
|
||||||
|
else do
|
||||||
|
err <- peek errPtr
|
||||||
|
peekCString (c'git_error'message err)
|
||||||
|
- failure (f (pack errStr))
|
||||||
|
+ throwM (f (pack errStr))
|
||||||
|
|
||||||
|
-- withLgTempRepo :: MonadLg m => ReaderT LgRepo m a -> m a
|
||||||
|
-- withLgTempRepo f = withTempDir $ \dir -> do
|
||||||
|
@@ -1048,13 +1047,13 @@
|
||||||
|
-- (Either Git.SHA ByteString)) m
|
||||||
|
-- (Git.TreeFilePath, Either Git.SHA ByteString)
|
||||||
|
handlePath (Right _) =
|
||||||
|
- lift $ failure $ Git.DiffTreeToIndexFailed
|
||||||
|
+ lift $ throwM $ Git.DiffTreeToIndexFailed
|
||||||
|
"Received a Right value when a Left RawFilePath was expected"
|
||||||
|
handlePath (Left path) = do
|
||||||
|
mcontent <- await
|
||||||
|
case mcontent of
|
||||||
|
Nothing ->
|
||||||
|
- lift $ failure $ Git.DiffTreeToIndexFailed $
|
||||||
|
+ lift $ throwM $ Git.DiffTreeToIndexFailed $
|
||||||
|
"Content not provided for " <> T.pack (show path)
|
||||||
|
Just x -> handleContent path x
|
||||||
|
|
||||||
|
@@ -1064,11 +1063,11 @@
|
||||||
|
-- (Either Git.SHA ByteString)) m
|
||||||
|
-- (Git.TreeFilePath, Either Git.SHA ByteString)
|
||||||
|
handleContent _path (Left _) =
|
||||||
|
- lift $ failure $ Git.DiffTreeToIndexFailed
|
||||||
|
+ lift $ throwM $ Git.DiffTreeToIndexFailed
|
||||||
|
"Received a Left value when a Right ByteString was expected"
|
||||||
|
handleContent path (Right content) = return (path, content)
|
||||||
|
|
||||||
|
- -- diffBlob :: Failure Git.GitException m
|
||||||
|
+ -- diffBlob :: MonadThrow m
|
||||||
|
-- => Git.TreeFilePath
|
||||||
|
-- -> Maybe (Either Git.SHA ByteString)
|
||||||
|
-- -> Maybe (ForeignPtr C'git_oid)
|
||||||
|
@@ -1183,8 +1182,8 @@
|
||||||
|
B.cons (fromIntegral lineOrigin) bs
|
||||||
|
return 0
|
||||||
|
|
||||||
|
-checkResult :: (Eq a, Num a, Failure Git.GitException m) => a -> Text -> m ()
|
||||||
|
-checkResult r why = when (r /= 0) $ failure (Git.BackendError why)
|
||||||
|
+checkResult :: (Eq a, Num a, MonadThrow m) => a -> Text -> m ()
|
||||||
|
+checkResult r why = when (r /= 0) $ throwM (Git.BackendError why)
|
||||||
|
|
||||||
|
lgBuildPackFile :: MonadLg m
|
||||||
|
=> FilePath -> [Either CommitOid TreeOid]
|
||||||
|
@@ -1353,7 +1352,7 @@
|
||||||
|
|
||||||
|
lgLoadPackFileInMemory
|
||||||
|
:: (MonadBaseControl IO m, MonadIO m, MonadLogger m,
|
||||||
|
- Failure Git.GitException m)
|
||||||
|
+ MonadThrow m)
|
||||||
|
=> FilePath
|
||||||
|
-> Ptr (Ptr C'git_odb_backend)
|
||||||
|
-> Ptr (Ptr C'git_odb)
|
||||||
|
@@ -1385,7 +1384,7 @@
|
||||||
|
return odbPtr
|
||||||
|
|
||||||
|
lgOpenPackFile :: (MonadBaseControl IO m, MonadIO m, MonadLogger m,
|
||||||
|
- Failure Git.GitException m)
|
||||||
|
+ MonadThrow m)
|
||||||
|
=> FilePath -> m (Ptr C'git_odb)
|
||||||
|
lgOpenPackFile idxPath = control $ \run ->
|
||||||
|
alloca $ \odbPtrPtr ->
|
||||||
|
@@ -1393,17 +1392,17 @@
|
||||||
|
lgLoadPackFileInMemory idxPath backendPtrPtr odbPtrPtr
|
||||||
|
|
||||||
|
lgClosePackFile :: (MonadBaseControl IO m, MonadIO m, MonadLogger m,
|
||||||
|
- Failure Git.GitException m)
|
||||||
|
+ MonadThrow m)
|
||||||
|
=> Ptr C'git_odb -> m ()
|
||||||
|
lgClosePackFile = liftIO . c'git_odb_free
|
||||||
|
|
||||||
|
lgWithPackFile :: (MonadBaseControl IO m, MonadIO m, MonadLogger m,
|
||||||
|
- Failure Git.GitException m)
|
||||||
|
+ MonadThrow m)
|
||||||
|
=> FilePath -> (Ptr C'git_odb -> m a) -> m a
|
||||||
|
lgWithPackFile idxPath = bracket (lgOpenPackFile idxPath) lgClosePackFile
|
||||||
|
|
||||||
|
lgReadFromPack :: (MonadBaseControl IO m, MonadIO m, MonadLogger m,
|
||||||
|
- Failure Git.GitException m)
|
||||||
|
+ MonadThrow m)
|
||||||
|
=> Ptr C'git_odb -> Git.SHA -> Bool
|
||||||
|
-> m (Maybe (C'git_otype, CSize, ByteString))
|
||||||
|
lgReadFromPack odbPtr sha metadataOnly = liftIO $ do
|
||||||
|
diff -ru orig/gitlib-libgit2.cabal new/gitlib-libgit2.cabal
|
||||||
|
--- orig/gitlib-libgit2.cabal 2014-04-06 09:02:46.527789820 +0300
|
||||||
|
+++ new/gitlib-libgit2.cabal 2014-04-06 09:02:46.000000000 +0300
|
||||||
|
@@ -42,7 +42,6 @@
|
||||||
|
, conduit >= 0.5.5
|
||||||
|
, containers >= 0.4.2.1
|
||||||
|
, directory >= 1.1.0.2
|
||||||
|
- , failure >= 0.2.0.1
|
||||||
|
, fast-logger
|
||||||
|
, filepath >= 1.3.0
|
||||||
|
, lifted-async >= 0.1.0
|
||||||
@ -1,7 +1,24 @@
|
|||||||
diff -ru orig/Git/S3.hs new/Git/S3.hs
|
diff -ru orig/Git/S3.hs new/Git/S3.hs
|
||||||
--- orig/Git/S3.hs 2014-04-04 10:00:47.080423588 +0300
|
--- orig/Git/S3.hs 2014-04-06 09:02:47.247789820 +0300
|
||||||
+++ new/Git/S3.hs 2014-04-04 10:00:46.000000000 +0300
|
+++ new/Git/S3.hs 2014-04-06 09:02:47.000000000 +0300
|
||||||
@@ -467,7 +467,10 @@
|
@@ -42,7 +42,6 @@
|
||||||
|
import Control.Monad.Trans.Resource
|
||||||
|
import Control.Retry
|
||||||
|
import Data.Aeson as A
|
||||||
|
-import Data.Attempt
|
||||||
|
import Data.Bifunctor
|
||||||
|
import Data.Binary as Bin
|
||||||
|
import Data.ByteString (ByteString)
|
||||||
|
@@ -141,7 +140,7 @@
|
||||||
|
}
|
||||||
|
deriving (Eq, Show, Generic)
|
||||||
|
|
||||||
|
-type MonadS3 m = (Failure Git.GitException m,
|
||||||
|
+type MonadS3 m = (MonadThrow m,
|
||||||
|
MonadIO m, MonadBaseControl IO m, MonadLogger m)
|
||||||
|
|
||||||
|
data BackendCallbacks = BackendCallbacks
|
||||||
|
@@ -478,7 +477,10 @@
|
||||||
-> ResourceT m (Response (ResponseMetadata a) a)
|
-> ResourceT m (Response (ResponseMetadata a) a)
|
||||||
awsRetry cfg svcfg mgr r =
|
awsRetry cfg svcfg mgr r =
|
||||||
transResourceT liftIO $
|
transResourceT liftIO $
|
||||||
@ -13,7 +30,16 @@ diff -ru orig/Git/S3.hs new/Git/S3.hs
|
|||||||
|
|
||||||
listBucketS3 :: MonadS3 m => OdbS3Details -> ResourceT m [Text]
|
listBucketS3 :: MonadS3 m => OdbS3Details -> ResourceT m [Text]
|
||||||
listBucketS3 dets = do
|
listBucketS3 dets = do
|
||||||
@@ -623,7 +626,7 @@
|
@@ -622,7 +624,7 @@
|
||||||
|
sha <- oidToSha oid
|
||||||
|
modifyIORef mshas (sha:)
|
||||||
|
return c'GIT_OK
|
||||||
|
- checkResult r "lgForEachObject failed"
|
||||||
|
+ either throwM return $ checkResult r "lgForEachObject failed"
|
||||||
|
|
||||||
|
-- Update the known objects map with the fact that we've got a local cache
|
||||||
|
-- of the pack file.
|
||||||
|
@@ -637,7 +639,7 @@
|
||||||
++ show (Prelude.length shas) ++ " objects"
|
++ show (Prelude.length shas) ++ " objects"
|
||||||
return shas
|
return shas
|
||||||
|
|
||||||
@ -22,7 +48,7 @@ diff -ru orig/Git/S3.hs new/Git/S3.hs
|
|||||||
=> OdbS3Details -> Text -> FilePath -> m [SHA]
|
=> OdbS3Details -> Text -> FilePath -> m [SHA]
|
||||||
catalogPackFile dets packSha idxPath = do
|
catalogPackFile dets packSha idxPath = do
|
||||||
-- Load the pack file, and iterate over the objects within it to determine
|
-- Load the pack file, and iterate over the objects within it to determine
|
||||||
@@ -687,7 +690,7 @@
|
@@ -710,7 +712,7 @@
|
||||||
lgDebug $ "cacheUpdateEntry " ++ show (shaToText sha) ++ " " ++ show ce
|
lgDebug $ "cacheUpdateEntry " ++ show (shaToText sha) ++ " " ++ show ce
|
||||||
liftIO $ atomically $ modifyTVar (knownObjects dets) $ M.insert sha ce
|
liftIO $ atomically $ modifyTVar (knownObjects dets) $ M.insert sha ce
|
||||||
|
|
||||||
@ -31,7 +57,7 @@ diff -ru orig/Git/S3.hs new/Git/S3.hs
|
|||||||
=> OdbS3Details -> SHA -> CacheEntry -> Bool
|
=> OdbS3Details -> SHA -> CacheEntry -> Bool
|
||||||
-> m (Maybe ObjectInfo)
|
-> m (Maybe ObjectInfo)
|
||||||
cacheLoadObject dets sha ce metadataOnly = do
|
cacheLoadObject dets sha ce metadataOnly = do
|
||||||
@@ -931,7 +934,7 @@
|
@@ -958,7 +960,7 @@
|
||||||
remoteStoreObject _ _ _ =
|
remoteStoreObject _ _ _ =
|
||||||
throw (Git.BackendError "remoteStoreObject was not given any data")
|
throw (Git.BackendError "remoteStoreObject was not given any data")
|
||||||
|
|
||||||
@ -40,7 +66,7 @@ diff -ru orig/Git/S3.hs new/Git/S3.hs
|
|||||||
=> OdbS3Details -> ResourceT m ()
|
=> OdbS3Details -> ResourceT m ()
|
||||||
remoteCatalogContents dets = do
|
remoteCatalogContents dets = do
|
||||||
lgDebug "remoteCatalogContents"
|
lgDebug "remoteCatalogContents"
|
||||||
@@ -955,7 +958,7 @@
|
@@ -982,7 +984,7 @@
|
||||||
|
|
||||||
| otherwise -> return ()
|
| otherwise -> return ()
|
||||||
|
|
||||||
@ -49,7 +75,7 @@ diff -ru orig/Git/S3.hs new/Git/S3.hs
|
|||||||
=> OdbS3Details -> SHA -> Bool -> m (Maybe CacheEntry)
|
=> OdbS3Details -> SHA -> Bool -> m (Maybe CacheEntry)
|
||||||
accessObject dets sha checkRemote = do
|
accessObject dets sha checkRemote = do
|
||||||
mentry <- cacheLookupEntry dets sha
|
mentry <- cacheLookupEntry dets sha
|
||||||
@@ -1000,19 +1003,19 @@
|
@@ -1032,19 +1034,19 @@
|
||||||
-- cache and with the callback interface. This is to avoid recataloging
|
-- cache and with the callback interface. This is to avoid recataloging
|
||||||
-- in the future.
|
-- in the future.
|
||||||
|
|
||||||
@ -72,7 +98,7 @@ diff -ru orig/Git/S3.hs new/Git/S3.hs
|
|||||||
=> OdbS3Details -> SHA -> m (Maybe ObjectInfo)
|
=> OdbS3Details -> SHA -> m (Maybe ObjectInfo)
|
||||||
readObjectMetadata dets sha = readObject dets sha True
|
readObjectMetadata dets sha = readObject dets sha True
|
||||||
|
|
||||||
@@ -1022,7 +1025,7 @@
|
@@ -1054,7 +1056,7 @@
|
||||||
callbackRegisterObject dets sha info
|
callbackRegisterObject dets sha info
|
||||||
cacheStoreObject dets sha info
|
cacheStoreObject dets sha info
|
||||||
|
|
||||||
@ -81,7 +107,7 @@ diff -ru orig/Git/S3.hs new/Git/S3.hs
|
|||||||
=> OdbS3Details -> BL.ByteString -> m ()
|
=> OdbS3Details -> BL.ByteString -> m ()
|
||||||
writePackFile dets bytes = do
|
writePackFile dets bytes = do
|
||||||
let dir = tempDirectory dets
|
let dir = tempDirectory dets
|
||||||
@@ -1041,7 +1044,7 @@
|
@@ -1073,7 +1075,7 @@
|
||||||
shas <- catalogPackFile dets packSha idxPath
|
shas <- catalogPackFile dets packSha idxPath
|
||||||
callbackRegisterPackFile dets packSha shas
|
callbackRegisterPackFile dets packSha shas
|
||||||
|
|
||||||
@ -90,7 +116,7 @@ diff -ru orig/Git/S3.hs new/Git/S3.hs
|
|||||||
=> Ptr (Ptr ())
|
=> Ptr (Ptr ())
|
||||||
-> Ptr CSize
|
-> Ptr CSize
|
||||||
-> Ptr C'git_otype
|
-> Ptr C'git_otype
|
||||||
@@ -1072,7 +1075,7 @@
|
@@ -1104,7 +1106,7 @@
|
||||||
BU.unsafeUseAsCString chunk $ copyBytes p ?? len
|
BU.unsafeUseAsCString chunk $ copyBytes p ?? len
|
||||||
return $ p `plusPtr` len
|
return $ p `plusPtr` len
|
||||||
|
|
||||||
@ -99,7 +125,7 @@ diff -ru orig/Git/S3.hs new/Git/S3.hs
|
|||||||
=> Ptr C'git_oid
|
=> Ptr C'git_oid
|
||||||
-> Ptr (Ptr ())
|
-> Ptr (Ptr ())
|
||||||
-> Ptr CSize
|
-> Ptr CSize
|
||||||
@@ -1108,7 +1111,7 @@
|
@@ -1140,7 +1142,7 @@
|
||||||
go dets sha False
|
go dets sha False
|
||||||
| otherwise = return Nothing
|
| otherwise = return Nothing
|
||||||
|
|
||||||
@ -108,7 +134,7 @@ diff -ru orig/Git/S3.hs new/Git/S3.hs
|
|||||||
=> Ptr CSize
|
=> Ptr CSize
|
||||||
-> Ptr C'git_otype
|
-> Ptr C'git_otype
|
||||||
-> Ptr C'git_odb_backend
|
-> Ptr C'git_odb_backend
|
||||||
@@ -1126,7 +1129,7 @@
|
@@ -1158,7 +1160,7 @@
|
||||||
poke len_p (toLength len)
|
poke len_p (toLength len)
|
||||||
poke type_p (toType typ)
|
poke type_p (toType typ)
|
||||||
|
|
||||||
@ -117,7 +143,7 @@ diff -ru orig/Git/S3.hs new/Git/S3.hs
|
|||||||
=> Ptr C'git_oid
|
=> Ptr C'git_oid
|
||||||
-> Ptr C'git_odb_backend
|
-> Ptr C'git_odb_backend
|
||||||
-> Ptr ()
|
-> Ptr ()
|
||||||
@@ -1152,7 +1155,7 @@
|
@@ -1184,7 +1186,7 @@
|
||||||
(ObjectInfo (fromLength len) (fromType obj_type)
|
(ObjectInfo (fromLength len) (fromType obj_type)
|
||||||
Nothing (Just (BL.fromChunks [bytes])))
|
Nothing (Just (BL.fromChunks [bytes])))
|
||||||
|
|
||||||
@ -126,7 +152,7 @@ diff -ru orig/Git/S3.hs new/Git/S3.hs
|
|||||||
=> Ptr C'git_odb_backend -> Ptr C'git_oid -> CInt -> m CInt
|
=> Ptr C'git_odb_backend -> Ptr C'git_oid -> CInt -> m CInt
|
||||||
existsCallback be oid confirmNotExists = do
|
existsCallback be oid confirmNotExists = do
|
||||||
(dets, sha) <- liftIO $ unpackDetails be oid
|
(dets, sha) <- liftIO $ unpackDetails be oid
|
||||||
@@ -1162,18 +1165,18 @@
|
@@ -1194,18 +1196,18 @@
|
||||||
return $ if ce == DoesNotExist then 0 else 1)
|
return $ if ce == DoesNotExist then 0 else 1)
|
||||||
(return c'GIT_ERROR)
|
(return c'GIT_ERROR)
|
||||||
|
|
||||||
@ -148,7 +174,7 @@ diff -ru orig/Git/S3.hs new/Git/S3.hs
|
|||||||
=> Ptr (Ptr C'git_odb_writepack)
|
=> Ptr (Ptr C'git_odb_writepack)
|
||||||
-> Ptr C'git_odb_backend
|
-> Ptr C'git_odb_backend
|
||||||
-> C'git_transfer_progress_callback
|
-> C'git_transfer_progress_callback
|
||||||
@@ -1214,7 +1217,7 @@
|
@@ -1248,7 +1250,7 @@
|
||||||
foreign import ccall "&freeCallback"
|
foreign import ccall "&freeCallback"
|
||||||
freeCallbackPtr :: FunPtr F'git_odb_backend_free_callback
|
freeCallbackPtr :: FunPtr F'git_odb_backend_free_callback
|
||||||
|
|
||||||
@ -157,7 +183,7 @@ diff -ru orig/Git/S3.hs new/Git/S3.hs
|
|||||||
=> Ptr C'git_odb_writepack
|
=> Ptr C'git_odb_writepack
|
||||||
-> Ptr ()
|
-> Ptr ()
|
||||||
-> CSize
|
-> CSize
|
||||||
@@ -1233,7 +1236,7 @@
|
@@ -1267,7 +1269,7 @@
|
||||||
(castPtr dataPtr) (fromIntegral len)
|
(castPtr dataPtr) (fromIntegral len)
|
||||||
writePackFile dets (BL.fromChunks [bytes])
|
writePackFile dets (BL.fromChunks [bytes])
|
||||||
|
|
||||||
@ -166,7 +192,7 @@ diff -ru orig/Git/S3.hs new/Git/S3.hs
|
|||||||
=> Ptr C'git_odb_writepack -> Ptr C'git_transfer_progress
|
=> Ptr C'git_odb_writepack -> Ptr C'git_transfer_progress
|
||||||
-> m CInt
|
-> m CInt
|
||||||
packCommitCallback _wp _progress =
|
packCommitCallback _wp _progress =
|
||||||
@@ -1346,7 +1349,7 @@
|
@@ -1380,7 +1382,7 @@
|
||||||
liftIO $ writeIORef result res
|
liftIO $ writeIORef result res
|
||||||
readIORef result
|
readIORef result
|
||||||
|
|
||||||
@ -175,7 +201,7 @@ diff -ru orig/Git/S3.hs new/Git/S3.hs
|
|||||||
=> Aws.S3Configuration NormalQuery
|
=> Aws.S3Configuration NormalQuery
|
||||||
-> Configuration
|
-> Configuration
|
||||||
-> Manager
|
-> Manager
|
||||||
@@ -1439,7 +1442,7 @@
|
@@ -1475,7 +1477,7 @@
|
||||||
|
|
||||||
-- | Given a repository object obtained from Libgit2, add an S3 backend to it,
|
-- | Given a repository object obtained from Libgit2, add an S3 backend to it,
|
||||||
-- making it the primary store for objects associated with that repository.
|
-- making it the primary store for objects associated with that repository.
|
||||||
@ -184,7 +210,7 @@ diff -ru orig/Git/S3.hs new/Git/S3.hs
|
|||||||
=> LgRepo
|
=> LgRepo
|
||||||
-> Text -- ^ bucket
|
-> Text -- ^ bucket
|
||||||
-> Text -- ^ prefix
|
-> Text -- ^ prefix
|
||||||
@@ -1469,7 +1472,7 @@
|
@@ -1505,7 +1507,7 @@
|
||||||
void $ liftIO $ odbBackendAdd repo odbS3 100
|
void $ liftIO $ odbBackendAdd repo odbS3 100
|
||||||
return repo
|
return repo
|
||||||
|
|
||||||
@ -193,7 +219,7 @@ diff -ru orig/Git/S3.hs new/Git/S3.hs
|
|||||||
=> Maybe Text -> Text -> Text -> FilePath -> BackendCallbacks
|
=> Maybe Text -> Text -> Text -> FilePath -> BackendCallbacks
|
||||||
-> Git.RepositoryFactory (ReaderT LgRepo (NoLoggingT m)) m LgRepo
|
-> Git.RepositoryFactory (ReaderT LgRepo (NoLoggingT m)) m LgRepo
|
||||||
s3Factory bucket accessKey secretKey dir callbacks = lgFactory
|
s3Factory bucket accessKey secretKey dir callbacks = lgFactory
|
||||||
@@ -1492,7 +1495,7 @@
|
@@ -1528,7 +1530,7 @@
|
||||||
dir
|
dir
|
||||||
callbacks
|
callbacks
|
||||||
|
|
||||||
@ -203,9 +229,23 @@ diff -ru orig/Git/S3.hs new/Git/S3.hs
|
|||||||
-> Git.RepositoryFactory (ReaderT LgRepo m) m LgRepo
|
-> Git.RepositoryFactory (ReaderT LgRepo m) m LgRepo
|
||||||
s3FactoryLogger bucket accessKey secretKey dir callbacks = lgFactoryLogger
|
s3FactoryLogger bucket accessKey secretKey dir callbacks = lgFactoryLogger
|
||||||
diff -ru orig/gitlib-s3.cabal new/gitlib-s3.cabal
|
diff -ru orig/gitlib-s3.cabal new/gitlib-s3.cabal
|
||||||
--- orig/gitlib-s3.cabal 2014-04-04 10:00:47.084423588 +0300
|
--- orig/gitlib-s3.cabal 2014-04-06 09:02:47.247789820 +0300
|
||||||
+++ new/gitlib-s3.cabal 2014-04-04 10:00:46.000000000 +0300
|
+++ new/gitlib-s3.cabal 2014-04-06 09:02:47.000000000 +0300
|
||||||
@@ -58,6 +58,7 @@
|
@@ -33,7 +33,6 @@
|
||||||
|
, hspec-expectations >= 0.3
|
||||||
|
, data-default >= 0.5.1
|
||||||
|
, directory >= 1.1.0.2
|
||||||
|
- , failure >= 0.2.0.1
|
||||||
|
, filepath >= 1.3.0
|
||||||
|
, monad-logger >= 0.3.1.1
|
||||||
|
, resourcet >= 0.4.6
|
||||||
|
@@ -52,12 +51,12 @@
|
||||||
|
, ghc-prim
|
||||||
|
, hlibgit2 >= 0.18.0.11
|
||||||
|
, aeson >= 0.6.1.0
|
||||||
|
- , attempt >= 0.4.0
|
||||||
|
, aws >= 0.7.5
|
||||||
|
, bifunctors >= 3.2.0.1
|
||||||
, binary >= 0.5.1.0
|
, binary >= 0.5.1.0
|
||||||
, bytestring >= 0.9.2.1
|
, bytestring >= 0.9.2.1
|
||||||
, conduit >= 0.5.5
|
, conduit >= 0.5.5
|
||||||
@ -214,14 +254,23 @@ diff -ru orig/gitlib-s3.cabal new/gitlib-s3.cabal
|
|||||||
, directory >= 1.1.0.2
|
, directory >= 1.1.0.2
|
||||||
, filepath >= 1.3.0
|
, filepath >= 1.3.0
|
||||||
diff -ru orig/test/Smoke.hs new/test/Smoke.hs
|
diff -ru orig/test/Smoke.hs new/test/Smoke.hs
|
||||||
--- orig/test/Smoke.hs 2014-04-04 10:00:47.080423588 +0300
|
--- orig/test/Smoke.hs 2014-04-06 09:02:47.247789820 +0300
|
||||||
+++ new/test/Smoke.hs 2014-04-04 10:00:46.000000000 +0300
|
+++ new/test/Smoke.hs 2014-04-06 09:02:47.000000000 +0300
|
||||||
@@ -31,7 +31,7 @@
|
@@ -11,7 +11,6 @@
|
||||||
|
|
||||||
|
import Aws
|
||||||
|
import Control.Applicative
|
||||||
|
-import Control.Failure
|
||||||
|
import Control.Monad.IO.Class
|
||||||
|
import Control.Monad.Logger
|
||||||
|
import Control.Monad.Trans.Reader
|
||||||
|
@@ -30,8 +29,7 @@
|
||||||
|
import Test.Hspec.Runner
|
||||||
|
|
||||||
s3Factory
|
s3Factory
|
||||||
:: (Failure Git.GitException m, MonadIO m, MonadBaseControl IO m,
|
- :: (Failure Git.GitException m, MonadIO m, MonadBaseControl IO m,
|
||||||
- MonadUnsafeIO m, MonadThrow m)
|
- MonadUnsafeIO m, MonadThrow m)
|
||||||
+ MonadThrow m)
|
+ :: (MonadThrow m, MonadIO m, MonadBaseControl IO m)
|
||||||
=> Git.RepositoryFactory (ReaderT Lg.LgRepo (NoLoggingT m)) m Lg.LgRepo
|
=> Git.RepositoryFactory (ReaderT Lg.LgRepo (NoLoggingT m)) m Lg.LgRepo
|
||||||
s3Factory = Lg.lgFactory
|
s3Factory = Lg.lgFactory
|
||||||
{ Git.runRepository = \ctxt m ->
|
{ Git.runRepository = \ctxt m ->
|
||||||
@ -1,6 +1,6 @@
|
|||||||
diff -ru orig/gitlib-test.cabal new/gitlib-test.cabal
|
diff -ru orig/gitlib-test.cabal new/gitlib-test.cabal
|
||||||
--- orig/gitlib-test.cabal 2014-04-04 06:49:19.204668116 +0300
|
--- orig/gitlib-test.cabal 2014-04-06 09:02:47.671789820 +0300
|
||||||
+++ new/gitlib-test.cabal 2014-04-04 06:49:19.000000000 +0300
|
+++ new/gitlib-test.cabal 2014-04-06 09:02:47.000000000 +0300
|
||||||
@@ -28,6 +28,7 @@
|
@@ -28,6 +28,7 @@
|
||||||
, bytestring
|
, bytestring
|
||||||
, failure >= 0.2.0
|
, failure >= 0.2.0
|
||||||
Loading…
Reference in New Issue
Block a user