summaryrefslogtreecommitdiff
path: root/Git
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2016-11-15 21:29:54 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2016-11-15 21:29:54 -0400
commit381766efcdddb4c8706408a90c515470a6aa43a7 (patch)
treedda693b36724839ff2daff0e0766b7bdd883ea2c /Git
parent27fafd61c39f8436e19e8fd449b5851ead10bbd1 (diff)
Avoid backtraces on expected failures when built with ghc 8; only use backtraces for unexpected errors.
ghc 8 added backtraces on uncaught errors. This is great, but git-annex was using error in many places for a error message targeted at the user, in some known problem case. A backtrace only confuses such a message, so omit it. Notably, commands like git annex drop that failed due to eg, numcopies, used to use error, so had a backtrace. This commit was sponsored by Ethan Aubin.
Diffstat (limited to 'Git')
-rw-r--r--Git/AutoCorrect.hs2
-rw-r--r--Git/CurrentRepo.hs2
-rw-r--r--Git/GCrypt.hs2
3 files changed, 3 insertions, 3 deletions
diff --git a/Git/AutoCorrect.hs b/Git/AutoCorrect.hs
index 7a9d78851..ae7cc91a8 100644
--- a/Git/AutoCorrect.hs
+++ b/Git/AutoCorrect.hs
@@ -50,7 +50,7 @@ prepare input showmatch matches r =
| otherwise -> sleep n
Nothing -> list
where
- list = error $ unlines $
+ list = giveup $ unlines $
[ "Unknown command '" ++ input ++ "'"
, ""
, "Did you mean one of these?"
diff --git a/Git/CurrentRepo.hs b/Git/CurrentRepo.hs
index dab4ad21b..69a679ee3 100644
--- a/Git/CurrentRepo.hs
+++ b/Git/CurrentRepo.hs
@@ -52,7 +52,7 @@ get = do
curr <- getCurrentDirectory
Git.Config.read $ newFrom $
Local { gitdir = absd, worktree = Just curr }
- configure Nothing Nothing = error "Not in a git repository."
+ configure Nothing Nothing = giveup "Not in a git repository."
addworktree w r = changelocation r $
Local { gitdir = gitdir (location r), worktree = w }
diff --git a/Git/GCrypt.hs b/Git/GCrypt.hs
index 2a2f7dfe1..e61b76358 100644
--- a/Git/GCrypt.hs
+++ b/Git/GCrypt.hs
@@ -46,7 +46,7 @@ encryptedRemote baserepo = go
u = show url
plen = length urlPrefix
go _ = notencrypted
- notencrypted = error "not a gcrypt encrypted repository"
+ notencrypted = giveup "not a gcrypt encrypted repository"
data ProbeResult = Decryptable | NotDecryptable | NotEncrypted