RemoteLinux: Check remote files when deploying

We discern between local and remote timestamps, and if the local
timestamp matches, we still query the remote file via SSH to see if that
one differs. If so, we still upload the file. After uploading a file we
always query its remote timestamp and save it along with the local one.

Fixes: QTCREATORBUG-21225
Change-Id: Ieeae1c3e61907beb7ad0fe9b03772af6ae351be7
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
Ulf Hermann
2018-10-11 11:08:50 +02:00
parent d6c605d84c
commit f4a12d488c
8 changed files with 327 additions and 154 deletions

View File

@@ -197,7 +197,7 @@ void TarPackageCreationStep::addNeededDeploymentFiles(
{
const QFileInfo fileInfo = deployable.localFilePath().toFileInfo();
if (!fileInfo.isDir()) {
if (m_deployTimes.hasChangedSinceLastDeployment(deployable, kit))
if (m_deployTimes.hasLocalFileChanged(deployable, kit))
m_files << deployable;
return;
}
@@ -400,7 +400,7 @@ void TarPackageCreationStep::deployFinished(bool success)
// Store files that have been tar'd and successfully deployed
const auto files = m_files;
for (const DeployableFile &file : files)
m_deployTimes.saveDeploymentTimeStamp(file, kit);
m_deployTimes.saveDeploymentTimeStamp(file, kit, QDateTime());
}
QString TarPackageCreationStep::packageFileName() const