forked from qt-creator/qt-creator
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>
This commit is contained in:
@@ -39,6 +39,8 @@
|
|||||||
#include <diffeditor/diffutils.h>
|
#include <diffeditor/diffutils.h>
|
||||||
#include <coreplugin/editormanager/editormanager.h>
|
#include <coreplugin/editormanager/editormanager.h>
|
||||||
|
|
||||||
|
#include <utils/hostosinfo.h>
|
||||||
|
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QFileInfo>
|
#include <QFileInfo>
|
||||||
#include <QTextStream>
|
#include <QTextStream>
|
||||||
@@ -136,19 +138,20 @@ QStringList SubversionClient::addAuthenticationOptions(const VcsBaseClientSettin
|
|||||||
QString SubversionClient::synchronousTopic(const QString &repository)
|
QString SubversionClient::synchronousTopic(const QString &repository)
|
||||||
{
|
{
|
||||||
QStringList args;
|
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)
|
if (result.result != SynchronousProcessResponse::Finished)
|
||||||
return QString();
|
return QString();
|
||||||
|
|
||||||
const QString revisionString = QLatin1String("Revision: ");
|
return result.stdOut().trimmed();
|
||||||
// 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();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class DiffController : public DiffEditorController
|
class DiffController : public DiffEditorController
|
||||||
|
Reference in New Issue
Block a user