[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: tramp (; tramp does not do a direct copy when it should

From: Michael Albinus
Subject: Re: tramp (; tramp does not do a direct copy when it should
Date: Fri, 12 Jul 2019 12:56:08 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

Nicholas Gianniotis <address@hidden> writes:

Hi Nicholas,

> Steps to reproduce
> 1. visit a remote directory, (eg C-x C-f /scp:host:/some/folder)
> 2. You are now in `Dired by name' mode
> 3. Position the cursor on a test directory containing many subfiles
> (eg "test-A")
> 4. Type `R' (dired-do-rename)
> 5. Enter the new directory name (eg "test-B")
> 6. Tramp starts the rename, but does so by copying all files to local
> machine under new name, then copying back to remote host.
> 7. On a remote host over a slow connection the rename took 16 minutes.

I've tried to reproduce your scenario, in all my test cases Tramp
applies "mv -f ..." on the remote host. From your debug buffer, it is
not understandable why it calls "scp -p ..." twice.

So I need more information. Could you pls start Emacs like this:

--8<---------------cut here---------------start------------->8---
emacs -Q -l tramp -l tramp-sh
--8<---------------cut here---------------end--------------->8---

Then apply the following in the *scratch*  buffer:

--8<---------------cut here---------------start------------->8---
  (require 'trace)
  (dolist (elt (all-completions "tramp-" obarray 'functionp))
    (trace-function-background (intern elt)))
  (untrace-function 'tramp-read-passwd))
--8<---------------cut here---------------end--------------->8---

Rerun your test scenario. You can stop traces then with

--8<---------------cut here---------------start------------->8---
M-x untrace-all
--8<---------------cut here---------------end--------------->8---

Send the resulting *trace-output* buffer. It shouldn't contain passwords
in clear text, but better cross-check.

> Thank you.

Best regards, Michael.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]