summaryrefslogtreecommitdiff
path: root/Command
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 /Command
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 'Command')
-rw-r--r--Command/Add.hs4
-rw-r--r--Command/Fix.hs4
-rw-r--r--Command/FromKey.hs4
-rw-r--r--Command/Move.hs3
-rw-r--r--Command/PreCommit.hs3
-rw-r--r--Command/Unannex.hs3
6 files changed, 12 insertions, 9 deletions
diff --git a/Command/Add.hs b/Command/Add.hs
index da98bffa4..b532ab045 100644
--- a/Command/Add.hs
+++ b/Command/Add.hs
@@ -11,7 +11,7 @@ import Control.Monad.State (liftIO)
import System.Posix.Files
import Command
-import qualified Annex
+import qualified AnnexQueue
import qualified Backend
import LocationLog
import Types
@@ -60,5 +60,5 @@ cleanup file key = do
let mtime = modificationTime s
liftIO $ touch file (TimeSpec mtime) False
- Annex.queue "add" [Param "--"] file
+ AnnexQueue.add "add" [Param "--"] file
return True
diff --git a/Command/Fix.hs b/Command/Fix.hs
index 513e07a31..d898ce517 100644
--- a/Command/Fix.hs
+++ b/Command/Fix.hs
@@ -12,7 +12,7 @@ import System.Posix.Files
import System.Directory
import Command
-import qualified Annex
+import qualified AnnexQueue
import Utility
import Content
import Messages
@@ -44,5 +44,5 @@ perform file link = do
cleanup :: FilePath -> CommandCleanup
cleanup file = do
- Annex.queue "add" [Param "--"] file
+ AnnexQueue.add "add" [Param "--"] file
return True
diff --git a/Command/FromKey.hs b/Command/FromKey.hs
index 8c1a1028f..eadaa13e1 100644
--- a/Command/FromKey.hs
+++ b/Command/FromKey.hs
@@ -13,7 +13,7 @@ import System.Directory
import Control.Monad (unless)
import Command
-import qualified Annex
+import qualified AnnexQueue
import Utility
import qualified Backend
import Content
@@ -46,5 +46,5 @@ perform file = do
cleanup :: FilePath -> CommandCleanup
cleanup file = do
- Annex.queue "add" [Param "--"] file
+ AnnexQueue.add "add" [Param "--"] file
return True
diff --git a/Command/Move.hs b/Command/Move.hs
index 951695d66..e5e78d249 100644
--- a/Command/Move.hs
+++ b/Command/Move.hs
@@ -12,6 +12,7 @@ import Control.Monad.State (liftIO)
import Command
import qualified Command.Drop
import qualified Annex
+import qualified AnnexQueue
import LocationLog
import Types
import Content
@@ -59,7 +60,7 @@ remoteHasKey remote key present = do
g <- Annex.gitRepo
let remoteuuid = Remote.uuid remote
logfile <- liftIO $ logChange g key remoteuuid status
- Annex.queue "add" [Param "--"] logfile
+ AnnexQueue.add "add" [Param "--"] logfile
where
status = if present then ValuePresent else ValueMissing
diff --git a/Command/PreCommit.hs b/Command/PreCommit.hs
index 727a63728..1db40f75f 100644
--- a/Command/PreCommit.hs
+++ b/Command/PreCommit.hs
@@ -11,6 +11,7 @@ import Control.Monad.State (liftIO)
import Command
import qualified Annex
+import qualified AnnexQueue
import qualified GitRepo as Git
import qualified Command.Add
import qualified Command.Fix
@@ -42,5 +43,5 @@ cleanup file = do
-- stage the symlink
g <- Annex.gitRepo
liftIO $ Git.run g "reset" [Params "-q --", File file]
- Annex.queueRun
+ AnnexQueue.flush True
return True
diff --git a/Command/Unannex.hs b/Command/Unannex.hs
index b0ce31cee..94db500c6 100644
--- a/Command/Unannex.hs
+++ b/Command/Unannex.hs
@@ -13,6 +13,7 @@ import System.Directory
import Command
import qualified Annex
+import qualified AnnexQueue
import Utility
import qualified Backend
import LocationLog
@@ -68,6 +69,6 @@ cleanup file key = do
-- Commit staged changes at end to avoid confusing the
-- pre-commit hook if this file is later added back to
-- git as a normal, non-annexed file.
- Annex.queue "commit" [Params "-a -m", Param "content removed from git annex"] "-a"
+ AnnexQueue.add "commit" [Params "-a -m", Param "content removed from git annex"] "-a"
return True