RemoteLinux: Fix deployment to root directory

Skip mkdir in this case.

Fixes: QTCREATORBUG-29597
Change-Id: I716e2703e3599a71306a9126e0a627a519398937
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
Christian Kandeler
2023-09-11 16:40:43 +02:00
parent 40273101c6
commit fc79d938ef

View File

@@ -89,8 +89,13 @@ GroupItem RsyncDeployStep::mkdirTask()
{ {
const auto setupHandler = [this](Process &process) { const auto setupHandler = [this](Process &process) {
QStringList remoteDirs; QStringList remoteDirs;
for (const FileToTransfer &file : std::as_const(m_files)) for (const FileToTransfer &file : std::as_const(m_files)) {
remoteDirs << file.m_target.parentDir().path(); const QString parentDir = file.m_target.parentDir().path();
if (!parentDir.isEmpty())
remoteDirs << parentDir;
}
if (remoteDirs.isEmpty())
return SetupResult::StopWithDone;
remoteDirs.sort(); remoteDirs.sort();
remoteDirs.removeDuplicates(); remoteDirs.removeDuplicates();
process.setCommand({deviceConfiguration()->filePath("mkdir"), process.setCommand({deviceConfiguration()->filePath("mkdir"),
@@ -98,6 +103,7 @@ GroupItem RsyncDeployStep::mkdirTask()
connect(&process, &Process::readyReadStandardError, this, [this, proc = &process] { connect(&process, &Process::readyReadStandardError, this, [this, proc = &process] {
handleStdErrData(QString::fromLocal8Bit(proc->readAllRawStandardError())); handleStdErrData(QString::fromLocal8Bit(proc->readAllRawStandardError()));
}); });
return SetupResult::Continue;
}; };
const auto errorHandler = [this](const Process &process) { const auto errorHandler = [this](const Process &process) {
QString finalMessage = process.errorString(); QString finalMessage = process.errorString();