e955912ad0
assist: New command, which is the same as git-annex sync but with new files added and content transferred by default. (Also this fixes another reversion in git-annex sync, --commit --no-commit, and --message were not enabled, oops.) See added comment for why git-annex assist does commit staged changes elsewhere in the work tree, but only adds files under the cwd. Note that it does not support --no-commit, --no-push, --no-pull like sync does. My thinking is, why should it? If you want that level of control, use git commit, git annex push, git annex pull. Sync only got those options because pull and push were not split out. Sponsored-by: k0ld on Patreon
28 lines
735 B
Haskell
28 lines
735 B
Haskell
{- git-annex watch command
|
|
-
|
|
- Copyright 2012 Joey Hess <id@joeyh.name>
|
|
-
|
|
- Licensed under the GNU AGPL version 3 or higher.
|
|
-}
|
|
|
|
module Command.Watch where
|
|
|
|
import Command
|
|
import Assistant
|
|
import Utility.HumanTime
|
|
|
|
cmd :: Command
|
|
cmd = notBareRepo $
|
|
command "watch" SectionCommon
|
|
"daemon to watch for changes and autocommit"
|
|
paramNothing (seek <$$> const (parseDaemonOptions True))
|
|
|
|
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
|