summaryrefslogtreecommitdiff
path: root/Annex.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2010-10-14 23:52:45 -0400
committerGravatar Joey Hess <joey@kitenet.net>2010-10-14 23:52:45 -0400
commitbbbe9858fe2e83767661282f7ab8ed3470ec6568 (patch)
treebbf3eb89e7021e51a3e8aa8f7cc976ec2f8385a3 /Annex.hs
parentc977b6b1f3833ed1ead9212d956d8f83a4ca9028 (diff)
avoid empty commits
Diffstat (limited to 'Annex.hs')
-rw-r--r--Annex.hs11
1 files changed, 7 insertions, 4 deletions
diff --git a/Annex.hs b/Annex.hs
index 9e76b9b04..08607cafa 100644
--- a/Annex.hs
+++ b/Annex.hs
@@ -8,7 +8,7 @@ module Annex (
backends,
backendsChange,
flagIsSet,
- flagsChange,
+ flagChange,
Flag(..)
) where
@@ -60,8 +60,11 @@ flagIsSet :: Flag -> Annex Bool
flagIsSet flag = do
state <- get
return $ elem flag $ Backend.flags state
-flagsChange :: [Flag] -> Annex ()
-flagsChange b = do
+flagChange :: Flag -> Bool -> Annex ()
+flagChange flag set = do
state <- get
- put state { Backend.flags = b }
+ let f = filter (/= flag) $ Backend.flags state
+ if (set)
+ then put state { Backend.flags = (flag:f) }
+ else put state { Backend.flags = f }
return ()