29 lines
		
	
	
	
		
			624 B
			
		
	
	
	
		
			Haskell
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
	
		
			624 B
			
		
	
	
	
		
			Haskell
		
	
	
	
	
	
{- git-annex command
 | 
						|
 -
 | 
						|
 - Copyright 2010 Joey Hess <id@joeyh.name>
 | 
						|
 -
 | 
						|
 - Licensed under the GNU GPL version 3 or higher.
 | 
						|
 -}
 | 
						|
 | 
						|
module Command.InAnnex where
 | 
						|
 | 
						|
import Command
 | 
						|
import Annex.Content
 | 
						|
 | 
						|
cmd :: Command
 | 
						|
cmd = noCommit $ 
 | 
						|
	command "inannex" SectionPlumbing 
 | 
						|
		"checks if keys are present in the annex"
 | 
						|
		(paramRepeating paramKey)
 | 
						|
		(withParams seek)
 | 
						|
 | 
						|
seek :: CmdParams -> CommandSeek
 | 
						|
seek = withKeys start
 | 
						|
 | 
						|
start :: Key -> CommandStart
 | 
						|
start key = inAnnexSafe key >>= dispatch
 | 
						|
  where
 | 
						|
	dispatch (Just True) = stop
 | 
						|
	dispatch (Just False) = exit 1
 | 
						|
	dispatch Nothing = exit 100
 | 
						|
	exit n = liftIO $ exitWith $ ExitFailure n
 |