diff options
author | Eike Ziller <eike.ziller@qt.io> | 2016-10-27 12:10:03 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2016-10-27 12:10:26 +0200 |
commit | cf47f3e8074bcea183312bf3f31c43fe54bd7daa (patch) | |
tree | 84122eae55b8c6e0fe9f322c387490703fd37bb3 /src/plugins/subversion | |
parent | e0ee142f8d11f1fa068de6c32d1eff0a599ec336 (diff) | |
parent | c777bd32bc9dd2d1129630b029111d0e2a50099f (diff) |
Merge remote-tracking branch 'origin/4.2'
Change-Id: Ia346d86ad5fabe9d91454ea642cbeac5ec862699
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 8bb53738dc..85331d0a4d 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> @@ -138,19 +140,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 |