summaryrefslogtreecommitdiff
path: root/Annex.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2011-04-07 13:59:31 -0400
committerGravatar Joey Hess <joey@kitenet.net>2011-04-07 13:59:31 -0400
commitbc51387e6dd426f46f9ab0ef23e6e3eefe7a4417 (patch)
tree9627f60c81d1852b731ea57171f4b36887847e9b /Annex.hs
parent77f45e4e45d45a08bfe1bec210909345adb6f6d8 (diff)
Periodically flush git command queue, to avoid boating memory usage too much.
Since the queue is flushed in between subcommand actions being run, there should be no issues with actions that expect to queue up some stuff and have it run after they do other stuff. So I didn't have to audit for such assumptions.
Diffstat (limited to 'Annex.hs')
-rw-r--r--Annex.hs29
1 files changed, 1 insertions, 28 deletions
diff --git a/Annex.hs b/Annex.hs
index 2723c6a00..f4e5d599d 100644
--- a/Annex.hs
+++ b/Annex.hs
@@ -13,10 +13,7 @@ module Annex (
eval,
getState,
changeState,
- gitRepo,
- queue,
- queueRun,
- queueRunAt,
+ gitRepo
) where
import Control.Monad.State
@@ -25,7 +22,6 @@ import qualified GitRepo as Git
import qualified GitQueue
import qualified BackendClass
import qualified RemoteClass
-import Utility
-- git-annex's monad
type Annex = StateT AnnexState IO
@@ -93,26 +89,3 @@ changeState a = do
{- Returns the git repository being acted on -}
gitRepo :: Annex Git.Repo
gitRepo = getState repo
-
-{- Adds a git command to the queue. -}
-queue :: String -> [CommandParam] -> FilePath -> Annex ()
-queue command params file = do
- state <- get
- let q = repoqueue state
- put state { repoqueue = GitQueue.add q command params file }
-
-{- Runs (and empties) the queue. -}
-queueRun :: Annex ()
-queueRun = do
- state <- get
- let q = repoqueue state
- g <- gitRepo
- liftIO $ GitQueue.run g q
- put state { repoqueue = GitQueue.empty }
-
-{- Runs the queue if the specified number of items have been queued. -}
-queueRunAt :: Integer -> Annex ()
-queueRunAt n = do
- state <- get
- let q = repoqueue state
- when (GitQueue.size q >= n) queueRun