when run in uninitialized git repo, do firstrun

My $HOME is in git, let's make it work :)
This commit is contained in:
Joey Hess 2012-07-31 16:19:24 -04:00
parent c70496dc7f
commit bcf5c81593
2 changed files with 11 additions and 4 deletions

View file

@ -16,12 +16,13 @@ import Assistant.Threads.WebApp
import Utility.WebApp
import Utility.ThreadScheduler
import Utility.Daemon (checkDaemon)
import Init
import qualified Command.Watch
import Control.Concurrent.STM
def :: [Command]
def = [oneShot $ noRepo firstRun $
def = [oneShot $ noRepo firstRun $ dontCheck repoExists $
withOptions [Command.Watch.foregroundOption, Command.Watch.stopOption] $
command "webapp" paramNothing seek "launch webapp"]
@ -34,14 +35,15 @@ start :: Bool -> Bool -> CommandStart
start foreground stopdaemon = notBareRepo $ do
if stopdaemon
then stopDaemon
else do
else ifM (isInitialized) ( go , liftIO firstRun )
stop
where
go = do
f <- liftIO . absPath =<< fromRepo gitAnnexHtmlShim
ifM (checkpid <&&> checkshim f) $
( liftIO $ openBrowser f
, startDaemon True foreground $ Just openBrowser
)
stop
where
checkpid = do
pidfile <- fromRepo gitAnnexPidFile
liftIO $ isJust <$> checkDaemon pidfile

View file

@ -7,6 +7,7 @@
module Init (
ensureInitialized,
isInitialized,
initialize,
uninitialize
) where
@ -45,6 +46,10 @@ ensureInitialized = getVersion >>= maybe needsinit checkVersion
, error "First run: git-annex init"
)
{- Checks if a repository is initialized. Does not check version for ugrade. -}
isInitialized :: Annex Bool
isInitialized = maybe Annex.Branch.hasSibling (const $ return True) =<< getVersion
{- set up a git pre-commit hook, if one is not already present -}
gitPreCommitHookWrite :: Annex ()
gitPreCommitHookWrite = unlessBare $ do