Re: why is "allow move on remote side" not recommended?
I believe I did :-)
You have quoted wrong part of the post. What should interest you is:
First of all, you should note, that basic Windows drag&drop mechanics works in way that target application controls drag&drop. The source application does not know where the files are dropped.
OK, so example:
You move by drag&drop 100Mb file from WinSCP to Explorer (drive C: ). WinSCP does not know, where the file was dropped and Explorer does not know SCP/SFTP. My solution is that WinSCP pretends the file to be in temporary folder. When you drop file, the moment before Explorer starts to read file from the temp folder, WinSCP downloads the file there. This is also the last moment WinSCP has any control over drag&drop, so it is also the last moment it can delete file from remote folder (it is "move" operation). So it does it. After this, Explorer is finally allowed to start moving file from temp folder. It is long operation (100Mb file), so progress window (with cancel button) is displayed. Now imagine that either user clicks "cancel" or there is not enough space on target drive or any other problem occurs. The explorer fails to deliver file to target directory. The file is already deleted on remote host. If you're lucky, the file is still in temp folder at least. But it does not have to be.
Well, is it understandable?
You have quoted wrong part of the post. What should interest you is:
But if you drop it outside of WinSCP and target application fails to store dropped file, it can be lost.
First of all, you should note, that basic Windows drag&drop mechanics works in way that target application controls drag&drop. The source application does not know where the files are dropped.
OK, so example:
You move by drag&drop 100Mb file from WinSCP to Explorer (drive C: ). WinSCP does not know, where the file was dropped and Explorer does not know SCP/SFTP. My solution is that WinSCP pretends the file to be in temporary folder. When you drop file, the moment before Explorer starts to read file from the temp folder, WinSCP downloads the file there. This is also the last moment WinSCP has any control over drag&drop, so it is also the last moment it can delete file from remote folder (it is "move" operation). So it does it. After this, Explorer is finally allowed to start moving file from temp folder. It is long operation (100Mb file), so progress window (with cancel button) is displayed. Now imagine that either user clicks "cancel" or there is not enough space on target drive or any other problem occurs. The explorer fails to deliver file to target directory. The file is already deleted on remote host. If you're lucky, the file is still in temp folder at least. But it does not have to be.
Well, is it understandable?