diff --git a/dvc/remote/ssh/connection.py b/dvc/remote/ssh/connection.py index f8a38a0eb..fa2e8a5ee 100644 --- a/dvc/remote/ssh/connection.py +++ b/dvc/remote/ssh/connection.py @@ -194,7 +194,12 @@ class SSHConnection: self.makedirs(posixpath.dirname(dst)) tmp = tmp_fname(dst) - self.copy(src, tmp) + + try: + self.sftp.rename(src, tmp) + except OSError: + self.copy(src, tmp) + self.sftp.rename(tmp, dst) self.remove(src)