diff options
author | Joey Hess <joey@kitenet.net> | 2013-11-18 13:06:58 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2013-11-18 13:06:58 -0400 |
commit | 471aa27bf0a0e4c698303acb7fdf9cea6a75634b (patch) | |
tree | 8934b0b32c315922f00cb82d772df885301a2582 /git-repair.hs | |
download | git-repair-471aa27bf0a0e4c698303acb7fdf9cea6a75634b.tar.gz |
copied from git-annex
Diffstat (limited to 'git-repair.hs')
-rw-r--r-- | git-repair.hs | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/git-repair.hs b/git-repair.hs new file mode 100644 index 0000000..f726893 --- /dev/null +++ b/git-repair.hs @@ -0,0 +1,38 @@ +{- git-repair program + - + - Copyright 2013 Joey Hess <joey@kitenet.net> + - + - Licensed under the GNU GPL version 3 or higher. + -} + +import System.Environment +import Data.Tuple.Utils + +import Common +import qualified Git.CurrentRepo +import qualified Git.Repair +import qualified Git.Config + +header :: String +header = "Usage: git-repair" + +usage :: a +usage = error $ "bad parameters\n\n" ++ header + +parseArgs :: IO Bool +parseArgs = do + args <- getArgs + return $ or $ map parse args + where + parse "--force" = True + parse _ = usage + +main :: IO () +main = do + forced <- parseArgs + + g <- Git.Config.read =<< Git.CurrentRepo.get + ifM (fst3 <$> Git.Repair.runRepair forced g) + ( exitSuccess + , exitFailure + ) |