diff options
-rw-r--r-- | Config/Files.hs | 11 | ||||
-rw-r--r-- | debian/changelog | 1 |
2 files changed, 10 insertions, 2 deletions
diff --git a/Config/Files.hs b/Config/Files.hs index 6504d1f6d..23564c2df 100644 --- a/Config/Files.hs +++ b/Config/Files.hs @@ -46,7 +46,7 @@ removeAutoStartFile path = modifyAutoStartFile $ filter (not . equalFilePath path) {- The path to git-annex is written here; which is useful when cabal - - has installed it to some aweful non-PATH location. -} + - has installed it to some awful non-PATH location. -} programFile :: IO FilePath programFile = userConfigFile "program" @@ -54,7 +54,14 @@ programFile = userConfigFile "program" readProgramFile :: IO FilePath readProgramFile = do programfile <- programFile - catchDefaultIO cmd $ + p <- catchDefaultIO cmd $ fromMaybe cmd . headMaybe . lines <$> readFile programfile + ifM (inPath p) + ( return p + , ifM (inPath cmd) + ( return cmd + , error $ "cannot find git-annex program in PATH or in the location listed in " ++ programfile + ) + ) where cmd = "git-annex" diff --git a/debian/changelog b/debian/changelog index 2f4917c91..58bbfc545 100644 --- a/debian/changelog +++ b/debian/changelog @@ -18,6 +18,7 @@ git-annex (4.20130517) UNRELEASED; urgency=low * Fix a bug in the git-annex branch handling code that could cause info from a remote to not be merged and take effect immediately. * Direct mode is now fully tested by the test suite. + * Detect bad content in ~/.config/git-annex/program and look in PATH instead. -- Joey Hess <joeyh@debian.org> Fri, 17 May 2013 11:17:03 -0400 |