From 7c8e45b1b5e2effb97138bdf855e2b545028b4e0 Mon Sep 17 00:00:00 2001 From: irengrig Date: Thu, 25 Oct 2012 16:51:33 +0400 Subject: [PATCH] IDEA-93538 SVN "Lock": Fail error message is (almost) invisible --- .../src/org/jetbrains/idea/svn/SvnBundle.properties | 1 + plugins/svn4idea/src/org/jetbrains/idea/svn/SvnUtil.java | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnBundle.properties b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnBundle.properties index ba6e615f19ff..d75e4899d1d6 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnBundle.properties +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnBundle.properties @@ -262,6 +262,7 @@ progress.text2.processing.file=Processing file {0} progress.title.lock.files=Lock Files exception.text.locking.file.failed=Failed to lock file: {0} message.title.lock.failures=Lock Failures +message.text.files.lock.failed={0,choice, 0#Failed to lock file.|1#Failed to lock files.} message.text.files.locked={0,choice, 0#Failed to lock files.|1#1 file locked|2#{0,number} files locked} progress.text.unlocking.files=Unlocking files in repository... progress.title.unlock.files=Unlock Files diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnUtil.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnUtil.java index d574e6117faa..90d04f74f42d 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnUtil.java +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnUtil.java @@ -196,11 +196,16 @@ public class SvnUtil { if (!failedLocks.isEmpty()) { String[] failedFiles = ArrayUtil.toStringArray(failedLocks); List exceptions = new ArrayList(); - for (String file : failedFiles) { exceptions.add(new VcsException(SvnBundle.message("exception.text.locking.file.failed", file))); } + final StringBuilder sb = new StringBuilder(SvnBundle.message("message.text.files.lock.failed", failedFiles.length == 1 ? 0 : 1)); + for (VcsException vcsException : exceptions) { + if (sb.length() > 0) sb.append('\n'); + sb.append(vcsException.getMessage()); + } AbstractVcsHelper.getInstance(project).showErrors(exceptions, SvnBundle.message("message.title.lock.failures")); + throw new VcsException(sb.toString()); } StatusBarUtil.setStatusBarInfo(project, SvnBundle.message("message.text.files.locked", count[0]));