webapp: Start even if the current directory is listed in ~/.config/git-annex/autostart but no longer has a git repository in it.
This commit is contained in:
parent
66e806ce2e
commit
4ce64ff998
2 changed files with 15 additions and 8 deletions
|
@ -65,7 +65,7 @@ start' allowauto listenhost = do
|
||||||
stop
|
stop
|
||||||
where
|
where
|
||||||
go = do
|
go = do
|
||||||
cannotrun <- needsUpgrade . fromMaybe (error "no version") =<< getVersion
|
cannotrun <- needsUpgrade . fromMaybe (error "annex.version is not set.. seems this repository has not been initialized by git-annex") =<< getVersion
|
||||||
browser <- fromRepo webBrowser
|
browser <- fromRepo webBrowser
|
||||||
f <- liftIO . absPath =<< fromRepo gitAnnexHtmlShim
|
f <- liftIO . absPath =<< fromRepo gitAnnexHtmlShim
|
||||||
listenhost' <- if isJust listenhost
|
listenhost' <- if isJust listenhost
|
||||||
|
@ -98,7 +98,7 @@ start' allowauto listenhost = do
|
||||||
checkshim f = liftIO $ doesFileExist f
|
checkshim f = liftIO $ doesFileExist f
|
||||||
|
|
||||||
{- When run without a repo, start the first available listed repository in
|
{- When run without a repo, start the first available listed repository in
|
||||||
- the autostart file. If not, it's our first time being run! -}
|
- the autostart file. If none, it's our first time being run! -}
|
||||||
startNoRepo :: CmdParams -> IO ()
|
startNoRepo :: CmdParams -> IO ()
|
||||||
startNoRepo _ = do
|
startNoRepo _ = do
|
||||||
-- FIXME should be able to reuse regular getopt, but
|
-- FIXME should be able to reuse regular getopt, but
|
||||||
|
@ -107,13 +107,18 @@ startNoRepo _ = do
|
||||||
let listenhost = headMaybe $ map (snd . separate (== '=')) $
|
let listenhost = headMaybe $ map (snd . separate (== '=')) $
|
||||||
filter ("--listen=" `isPrefixOf`) args
|
filter ("--listen=" `isPrefixOf`) args
|
||||||
|
|
||||||
dirs <- liftIO $ filterM doesDirectoryExist =<< readAutoStartFile
|
go listenhost =<< liftIO (filterM doesDirectoryExist =<< readAutoStartFile)
|
||||||
case dirs of
|
where
|
||||||
[] -> firstRun listenhost
|
go listenhost [] = firstRun listenhost
|
||||||
(d:_) -> do
|
go listenhost (d:ds) = do
|
||||||
|
v <- tryNonAsync $ do
|
||||||
setCurrentDirectory d
|
setCurrentDirectory d
|
||||||
state <- Annex.new =<< Git.CurrentRepo.get
|
Annex.new =<< Git.CurrentRepo.get
|
||||||
void $ Annex.eval state $ do
|
case v of
|
||||||
|
Left e -> do
|
||||||
|
warningIO $ "unable to start webapp in " ++ d ++ ": " ++ show e
|
||||||
|
go listenhost ds
|
||||||
|
Right state -> void $ Annex.eval state $ do
|
||||||
whenM (fromRepo Git.repoIsLocalBare) $
|
whenM (fromRepo Git.repoIsLocalBare) $
|
||||||
error $ d ++ " is a bare git repository, cannot run the webapp in it"
|
error $ d ++ " is a bare git repository, cannot run the webapp in it"
|
||||||
callCommandAction $
|
callCommandAction $
|
||||||
|
|
2
debian/changelog
vendored
2
debian/changelog
vendored
|
@ -26,6 +26,8 @@ git-annex (5.20140413) UNRELEASED; urgency=medium
|
||||||
* Bring back rsync -p, but only when git-annex is running on a non-crippled
|
* Bring back rsync -p, but only when git-annex is running on a non-crippled
|
||||||
file system. This is a better approach to fix #700282 while not
|
file system. This is a better approach to fix #700282 while not
|
||||||
unncessarily losing file permissions on non-crippled systems.
|
unncessarily losing file permissions on non-crippled systems.
|
||||||
|
* webapp: Start even if the current directory is listed in
|
||||||
|
~/.config/git-annex/autostart but no longer has a git repository in it.
|
||||||
|
|
||||||
-- Joey Hess <joeyh@debian.org> Fri, 11 Apr 2014 21:33:35 -0400
|
-- Joey Hess <joeyh@debian.org> Fri, 11 Apr 2014 21:33:35 -0400
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue