diff options
author | 2015-03-05 21:45:42 -0400 | |
---|---|---|
committer | 2015-03-05 21:45:42 -0400 | |
commit | 00fbe488dd30ead25b8fa9798b6a5ca5011e6fc1 (patch) | |
tree | 2f0e2fb665946466acb1ef92752be214281a515a | |
parent | f8652a2ceac987dad5350dab04a92f8d0114823d (diff) |
git-annex-shell: Improve error message when the specified repository doesn't exist or git config fails for some reason.
-rw-r--r-- | CmdLine/GitAnnexShell.hs | 10 | ||||
-rw-r--r-- | debian/changelog | 2 |
2 files changed, 10 insertions, 2 deletions
diff --git a/CmdLine/GitAnnexShell.hs b/CmdLine/GitAnnexShell.hs index b1b351e3b..adf6da04e 100644 --- a/CmdLine/GitAnnexShell.hs +++ b/CmdLine/GitAnnexShell.hs @@ -12,6 +12,7 @@ import System.Console.GetOpt import Common.Annex import qualified Git.Construct +import qualified Git.Config import CmdLine import Command import Annex.UUID @@ -101,11 +102,16 @@ builtin cmd dir params = do let (params', fieldparams, opts) = partitionParams params fields = filter checkField $ parseFields fieldparams cmds' = map (newcmd $ unwords opts) cmds - dispatch False (cmd : params') cmds' options fields header $ - Git.Construct.repoAbsPath dir >>= Git.Construct.fromAbsPath + dispatch False (cmd : params') cmds' options fields header mkrepo where addrsyncopts opts seek k = setField "RsyncOptions" opts >> seek k newcmd opts c = c { cmdseek = addrsyncopts opts (cmdseek c) } + mkrepo = do + r <- Git.Construct.repoAbsPath dir >>= Git.Construct.fromAbsPath + Git.Config.read r + `catchIO` \_ -> do + hn <- fromMaybe "unknown" <$> getHostname + error $ "failed to read git config of git repository in " ++ hn ++ " on " ++ dir ++ "; perhaps this repository is not set up correctly or has moved" external :: [String] -> IO () external params = do diff --git a/debian/changelog b/debian/changelog index a7deae107..5c501c2f3 100644 --- a/debian/changelog +++ b/debian/changelog @@ -33,6 +33,8 @@ git-annex (5.2015022) UNRELEASED; urgency=medium useful for things like ipfs that don't use regular urls. * addurl: Added --raw option, which bypasses special handling of quvi, bittorrent etc urls. + * git-annex-shell: Improve error message when the specified repository + doesn't exist or git config fails for some reason. -- Joey Hess <id@joeyh.name> Thu, 19 Feb 2015 14:16:03 -0400 |