]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix last change in tramp-sh.el
authorMichael Albinus <michael.albinus@gmx.de>
Mon, 25 Jun 2018 14:25:41 +0000 (16:25 +0200)
committerMichael Albinus <michael.albinus@gmx.de>
Mon, 25 Jun 2018 14:25:41 +0000 (16:25 +0200)
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-directly):
Use "-R" rather than "-r" for recursive copy of directories.

lisp/net/tramp-sh.el

index 3e99ab567f0522f517343b9d9d5cc7e6c39fb348..1a31596bf9b58a982f652e97433a134287cc904a 100644 (file)
@@ -2189,8 +2189,8 @@ the uid and gid from FILENAME."
                     (file-attributes filename)))
        (file-modes (tramp-default-file-modes filename)))
     (with-parsed-tramp-file-name (if t1 filename newname) nil
-      (let* ((cmd (cond ((and (eq op 'copy) preserve-uid-gid) "cp -f -r -p")
-                       ((eq op 'copy) "cp -f -r")
+      (let* ((cmd (cond ((and (eq op 'copy) preserve-uid-gid) "cp -f -p")
+                       ((eq op 'copy) "cp -f")
                        ((eq op 'rename) "mv -f")
                        (t (tramp-error
                            v 'file-error
@@ -2200,6 +2200,8 @@ the uid and gid from FILENAME."
             (localname2 (if t2 (file-remote-p newname 'localname) newname))
             (prefix (file-remote-p (if t1 filename newname)))
              cmd-result)
+       (when (and (eq op 'copy) (file-directory-p filename))
+         (setq cmd (concat cmd " -R")))
 
        (cond
         ;; Both files are on a remote host, with same user.