From 8f7000056b43c8221f96378f2c5c63ef9217d320 Mon Sep 17 00:00:00 2001 From: "Mr. Outis" Date: Fri, 1 Nov 2019 13:26:03 -0600 Subject: [PATCH] sftp: move -> fallback to copy when sftp.rename fails --- dvc/remote/ssh/connection.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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)