webapp: detect on first run if git is not installed, and tell the user, rather than crashing non-informatively

Mostly for Windows, which has no sane package management..
This commit is contained in:
Joey Hess 2014-03-05 13:43:56 -04:00
parent ba4df0f112
commit d626a784f3
2 changed files with 4 additions and 1 deletions

View file

@ -160,6 +160,8 @@ getFirstRepositoryR :: Handler Html
getFirstRepositoryR = postFirstRepositoryR
postFirstRepositoryR :: Handler Html
postFirstRepositoryR = page "Getting started" (Just Configuration) $ do
unlessM (liftIO $ inPath "git") $
error "You need to install git in order to use git-annex!"
#ifdef __ANDROID__
androidspecial <- liftIO $ doesDirectoryExist "/sdcard/DCIM"
let path = "/sdcard/annex"

View file

@ -163,7 +163,8 @@ firstRun listenhost = do
hFlush stdout
go
| otherwise = do
browser <- maybe Nothing webBrowser <$> Git.Config.global
browser <- maybe Nothing webBrowser
<$> catchDefaultIO Nothing Git.Config.global
openBrowser browser htmlshim url Nothing Nothing
go
where