From 1e51952fec2d4d675edd613a668657af44c8bc0d Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Tue, 7 Feb 2012 16:46:41 +0400 Subject: [PATCH] SSHMain. Remember and report the cause in case of underlying exception. --- plugins/git4idea/src/org/jetbrains/git4idea/ssh/SSHMain.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/git4idea/src/org/jetbrains/git4idea/ssh/SSHMain.java b/plugins/git4idea/src/org/jetbrains/git4idea/ssh/SSHMain.java index 565468558c08..5a3af1dd5d4f 100644 --- a/plugins/git4idea/src/org/jetbrains/git4idea/ssh/SSHMain.java +++ b/plugins/git4idea/src/org/jetbrains/git4idea/ssh/SSHMain.java @@ -63,6 +63,7 @@ public class SSHMain { * The last error */ private String myLastError = ""; + private Exception myErrorCause; /** * Path to known hosts file */ @@ -277,7 +278,7 @@ public class SSHMain { } } myXmlRpcClient.setLastSuccessful(myHandlerNo, getUserHostString(), "", myLastError); - throw new IOException("Authentication failed: " + myLastError); + throw new IOException("Authentication failed: " + myLastError, myErrorCause); } /** @@ -319,6 +320,7 @@ public class SSHMain { catch (IOException e) { // decoding failed myLastError = SSHMainBundle.message("sshmain.invalidpassphrase", keyPath); + myErrorCause = e; continue; } break; @@ -348,6 +350,7 @@ public class SSHMain { return false; } catch (Exception e) { + myErrorCause = e; return false; } }