Merge remote-tracking branch 'origin/4.9'

Conflicts:
	src/plugins/cmakeprojectmanager/cmakebuildsettingswidget.cpp
	src/plugins/qmldesigner/qmldesignerextension/timelineeditor/preseteditor.cpp
	src/plugins/qmldesigner/qmldesignerextension/timelineeditor/timelinesettingsmodel.cpp
	src/shared/qbs

Change-Id: I369368de9b9c682b03e224d489589043e1f6782b
This commit is contained in:
Eike Ziller
2019-05-28 14:01:01 +02:00
26 changed files with 846 additions and 299 deletions

View File

@@ -175,6 +175,17 @@ static inline QString clientRootFromOutput(const QString &in)
return QString();
}
// When p4 port and p4 user is set a preconfigured Root: is given, which doesn't relate with
// the current mapped project. In this case "Client:" has the same value as "Host:", which is an
// invalid case.
static inline bool clientAndHostAreEqual(const QString &in)
{
QString client = findTerm(in, QLatin1String("Client:"));
QString host = findTerm(in, QLatin1String("Host:"));
return client == host;
}
void PerforceChecker::parseOutput(const QString &response)
{
if (!response.contains(QLatin1String("View:")) && !response.contains(QLatin1String("//depot/"))) {
@@ -182,6 +193,12 @@ void PerforceChecker::parseOutput(const QString &response)
return;
}
if (clientAndHostAreEqual(response)) {
// Is an invalid case. But not an error. QtC checks cmake install directories for
// p4 repositories, or the %temp% directory.
return;
}
const QString repositoryRoot = clientRootFromOutput(response);
if (repositoryRoot.isEmpty()) {
//: Unable to determine root of the p4 client installation