diff options
author | Joey Hess <joey@kitenet.net> | 2010-10-14 23:52:45 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2010-10-14 23:52:45 -0400 |
commit | bbbe9858fe2e83767661282f7ab8ed3470ec6568 (patch) | |
tree | bbf3eb89e7021e51a3e8aa8f7cc976ec2f8385a3 /Annex.hs | |
parent | c977b6b1f3833ed1ead9212d956d8f83a4ca9028 (diff) |
avoid empty commits
Diffstat (limited to 'Annex.hs')
-rw-r--r-- | Annex.hs | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -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 () |