diff options
author | Tobias Hunger <tobias.hunger@qt.io> | 2016-10-25 14:00:18 +0200 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@qt.io> | 2016-10-26 11:01:04 +0000 |
commit | ca6f37f3bde21cd5b5061fb969eb468bd6315ddb (patch) | |
tree | 5db7c0d7fa44241c3e37beebece3ebbf09d138fc /src/plugins/subversion | |
parent | e07b495b709c8229c1b10141039d4fea4c9ef612 (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.cpp | 21 |
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 |