I think this should either be propagated as `e.message` or `e.errorCode` here, not toString().

Also, instead of `true`, you probably want e.errorCode == GitException.GIT_AUTH_FAILURE. Passing true into the scm exception class will cause callers to re-try authentication, which is I assume what we want here? I.e. 'auth needed' is not the same as 'auth failure' - we may want to display an auth dialog for one, and display an error dialog for the other.