summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Command/WebApp.hs10
-rw-r--r--Init.hs5
2 files changed, 11 insertions, 4 deletions
diff --git a/Command/WebApp.hs b/Command/WebApp.hs
index a3294911f..e2442c37e 100644
--- a/Command/WebApp.hs
+++ b/Command/WebApp.hs
@@ -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
diff --git a/Init.hs b/Init.hs
index bddcc696e..8c000cc41 100644
--- a/Init.hs
+++ b/Init.hs
@@ -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