29 lines
		
	
	
	
		
			737 B
			
		
	
	
	
		
			Haskell
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
	
		
			737 B
			
		
	
	
	
		
			Haskell
		
	
	
	
	
	
| {- git-annex watch command
 | |
|  -
 | |
|  - Copyright 2012 Joey Hess <id@joeyh.name>
 | |
|  -
 | |
|  - Licensed under the GNU GPL version 3 or higher.
 | |
|  -}
 | |
| 
 | |
| module Command.Watch where
 | |
| 
 | |
| import Common.Annex
 | |
| import Assistant
 | |
| import Command
 | |
| import Utility.HumanTime
 | |
| 
 | |
| cmd :: Command
 | |
| cmd = notBareRepo $
 | |
| 	command "watch" SectionCommon 
 | |
| 		"watch for changes and autocommit"
 | |
| 		paramNothing (seek <$$> const parseDaemonOptions)
 | |
| 
 | |
| seek :: DaemonOptions -> CommandSeek
 | |
| seek o = commandAction $ start False o Nothing
 | |
| 
 | |
| start :: Bool -> DaemonOptions -> Maybe Duration -> CommandStart
 | |
| start assistant o startdelay = do
 | |
| 	if stopDaemonOption o
 | |
| 		then stopDaemon
 | |
| 		else startDaemon assistant (foregroundDaemonOption o) startdelay Nothing Nothing Nothing -- does not return
 | |
| 	stop
 | 
