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