aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/subversion
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2016-10-27 12:10:03 +0200
committerEike Ziller <eike.ziller@qt.io>2016-10-27 12:10:26 +0200
commitcf47f3e8074bcea183312bf3f31c43fe54bd7daa (patch)
tree84122eae55b8c6e0fe9f322c387490703fd37bb3 /src/plugins/subversion
parente0ee142f8d11f1fa068de6c32d1eff0a599ec336 (diff)
parentc777bd32bc9dd2d1129630b029111d0e2a50099f (diff)
Merge remote-tracking branch 'origin/4.2'
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 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