Subject: Re: bug#69085: 29.2; Tramp: Extend tramp-make-copy-program-file-name via tramp-methods

From: Michael Albinus <[email-masked]>
Date: Mon, 12 Feb 2024 22:14:43 +0100

Sean Devlin <[email-masked]> writes:

> Hi folks,

Hi Sean,

> This is a feature request.
>
> Tramp lets you define a method for out-of-band file copying with the
> tramp-methods keys tramp-copy-program, tramp-copy-args, and so on.
>
> Currently, there is no way to customize the format of remote file
> paths. The function tramp-make-copy-program-file-name is responsible for
> this job, and it is hard-coded to format files as USER@HOST:FILE.

No. USER@HOST:FILE is only taken if the remote file name contains a
user. Otherwise, it takes
HOST:FILE.

> I was working on a custom Tramp method, and I ran into problems setting
> up OOB copying due to this limitation.
>
> It would be great if there were a key you could set in tramp-methods to
> override this logic. For example, maybe something like:
>
> (tramp-copy-format-file-name my-tramp-make-copy-program-file-name)
>
> Where my-tramp-make-copy-program-file-name is a function taking a vector
> as input and returning a string of the formatted file name (similar to
> tramp-make-copy-program-file-name).
>
> Alternately, maybe a format string (or something similar to
> tramp-login-args/tramp-copy-args) would be sufficient. In my case, I
> just need to add a constant prefix to the remote file name, so a format
> string would be fine.

Could you pls show your custom method spec, and what
tramp-copy-format-file-name returns for it?

> Thanks!

Best regards, Michael.