forked from qt-creator/qt-creator
SSH: Fix upload of symbolic links
This was broken in d7178b88c4
.
Fixes: QTCREATORBUG-22307
Change-Id: I75eef7767acd15d0a3cbef50ebe72ebf6987e8bb
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -157,6 +157,7 @@ void SftpTransfer::doStart()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (const FileToTransfer &f : d->files) {
|
for (const FileToTransfer &f : d->files) {
|
||||||
|
QString sourceFileOrLinkTarget;
|
||||||
bool link = false;
|
bool link = false;
|
||||||
if (d->transferType == Internal::FileTransferType::Upload) {
|
if (d->transferType == Internal::FileTransferType::Upload) {
|
||||||
QFileInfo fi(f.sourceFile);
|
QFileInfo fi(f.sourceFile);
|
||||||
@@ -164,10 +165,13 @@ void SftpTransfer::doStart()
|
|||||||
link = true;
|
link = true;
|
||||||
d->batchFile.write("-rm " + QtcProcess::quoteArgUnix(f.targetFile).toLocal8Bit()
|
d->batchFile.write("-rm " + QtcProcess::quoteArgUnix(f.targetFile).toLocal8Bit()
|
||||||
+ '\n');
|
+ '\n');
|
||||||
|
sourceFileOrLinkTarget = fi.dir().relativeFilePath(fi.symLinkTarget()); // see QTBUG-5817.
|
||||||
|
} else {
|
||||||
|
sourceFileOrLinkTarget = f.sourceFile;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
d->batchFile.write(d->transferCommand(link) + ' '
|
d->batchFile.write(d->transferCommand(link) + ' '
|
||||||
+ QtcProcess::quoteArgUnix(f.sourceFile).toLocal8Bit() + ' '
|
+ QtcProcess::quoteArgUnix(sourceFileOrLinkTarget).toLocal8Bit() + ' '
|
||||||
+ QtcProcess::quoteArgUnix(f.targetFile).toLocal8Bit() + '\n');
|
+ QtcProcess::quoteArgUnix(f.targetFile).toLocal8Bit() + '\n');
|
||||||
}
|
}
|
||||||
d->batchFile.flush();
|
d->batchFile.flush();
|
||||||
|
Reference in New Issue
Block a user