RemoteLinux: Add an rsync deploy step

Using rsync enables proper incremental deployment and is particularly
helpful when larger files are involved.
We check whether rsync works as part of the device test. If it does, it
becomes the default deploy step, otherwise we fall back to SFTP.

Change-Id: I6ab938ccd5acd7e0cbe07b90b6938dccad19bba5
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Christian Kandeler
2018-12-14 15:41:59 +01:00
parent e6a71fb43d
commit 1dfa7279d4
19 changed files with 421 additions and 15 deletions

View File

@@ -111,7 +111,7 @@ struct SshConnection::SshConnectionPrivate
return masterSocketDir->path() + "/control_socket";
}
QStringList connectionArgs() const
QStringList connectionOptions() const
{
QString hostKeyCheckingString;
switch (connParams.hostKeyCheckingMode) {
@@ -137,7 +137,12 @@ struct SshConnection::SshConnectionPrivate
args << "-o" << ("ControlPath=" + socketFilePath());
if (connParams.timeout != 0)
args << "-o" << ("ConnectTimeout=" + QString::number(connParams.timeout));
return args << connParams.host();
return args;
}
QStringList connectionArgs() const
{
return connectionOptions() << connParams.host();
}
SshConnectionParameters connParams;
@@ -289,6 +294,11 @@ SshConnectionInfo SshConnection::connectionInfo() const
return d->connInfo;
}
QStringList SshConnection::connectionOptions() const
{
return d->connectionOptions();
}
bool SshConnection::sharingEnabled() const
{
return d->sharingEnabled;