prevent trust commands from trying to do things in a bare repo

Since they need to stage changes, they would actually, if allowed to run,
succeed, but wipe out existing trust.log content.
This commit is contained in:
Joey Hess 2011-03-03 16:22:53 -04:00
parent a9d0538da5
commit b88637fff1
5 changed files with 11 additions and 7 deletions

View file

@ -10,7 +10,7 @@ module Command where
import Control.Monad.State (liftIO)
import System.Directory
import System.Posix.Files
import Control.Monad (filterM, liftM)
import Control.Monad (filterM, liftM, when)
import System.Path.WildMatch
import Text.Regex.PCRE.Light.Char8
import Data.List
@ -104,6 +104,13 @@ isAnnexed file a = do
Just v -> a v
Nothing -> return Nothing
notBareRepo :: Annex a -> Annex a
notBareRepo a = do
g <- Annex.gitRepo
when (Git.repoIsLocalBare g) $ do
error "You cannot run this subcommand in a bare repository."
a
{- These functions find appropriate files or other things based on a
user's parameters, and run a specified action on them. -}
withFilesInGit :: CommandSeekStrings