aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/subversion
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@qt.io>2016-10-25 14:00:18 +0200
committerTobias Hunger <tobias.hunger@qt.io>2016-10-26 11:01:04 +0000
commitca6f37f3bde21cd5b5061fb969eb468bd6315ddb (patch)
tree5db7c0d7fa44241c3e37beebece3ebbf09d138fc /src/plugins/subversion
parente07b495b709c8229c1b10141039d4fea4c9ef612 (diff)
SVN: Fix topic
Use svnversion in favor of svn info to report the topic for SVN versions. Task-number: QTCREATORBUG-13611 Change-Id: Ia1f61c0d3b9bfb871d42449478029835c7b2796f Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Diffstat (limited to 'src/plugins/subversion')
-rw-r--r--src/plugins/subversion/subversionclient.cpp21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/plugins/subversion/subversionclient.cpp b/src/plugins/subversion/subversionclient.cpp
index 93b4dcf5f4..f263669eb2 100644
--- a/src/plugins/subversion/subversionclient.cpp
+++ b/src/plugins/subversion/subversionclient.cpp
@@ -39,6 +39,8 @@
#include <diffeditor/diffutils.h>
#include <coreplugin/editormanager/editormanager.h>
+#include <utils/hostosinfo.h>
+
#include <QDir>
#include <QFileInfo>
#include <QTextStream>
@@ -136,19 +138,20 @@ QStringList SubversionClient::addAuthenticationOptions(const VcsBaseClientSettin
QString SubversionClient::synchronousTopic(const QString &repository)
{
QStringList args;
- args << QLatin1String("info");
- const SynchronousProcessResponse result = vcsFullySynchronousExec(repository, args);
+ QString svnVersionBinary = vcsBinary().toString();
+ int pos = svnVersionBinary.lastIndexOf('/');
+ if (pos < 0)
+ svnVersionBinary.clear();
+ else
+ svnVersionBinary = svnVersionBinary.left(pos + 1);
+ svnVersionBinary.append(HostOsInfo::withExecutableSuffix("svnversion"));
+ const SynchronousProcessResponse result
+ = vcsFullySynchronousExec(repository, FileName::fromString(svnVersionBinary), args);
if (result.result != SynchronousProcessResponse::Finished)
return QString();
- const QString revisionString = QLatin1String("Revision: ");
- // stdOut is ASCII only (at least in those areas we care about).
- foreach (const QString &line, result.stdOut().split(QLatin1Char('\n'))) {
- if (line.startsWith(revisionString))
- return QString::fromLatin1("r") + line.mid(revisionString.count());
- }
- return QString();
+ return result.stdOut().trimmed();
}
class DiffController : public DiffEditorController