all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Sean Devlin <spd@toadstyle.org>
To: Michael Albinus <michael.albinus@gmx.de>
Cc: 69085@debbugs.gnu.org
Subject: bug#69085: 29.2; Tramp: Extend tramp-make-copy-program-file-name via tramp-methods
Date: Mon, 12 Feb 2024 16:51:35 -0500	[thread overview]
Message-ID: <76B2D222-939F-4096-AFA5-2B0AA92A9A03@toadstyle.org> (raw)
In-Reply-To: <875xytjsfw.fsf@gmx.de>

[-- Attachment #1: Type: text/plain, Size: 2641 bytes --]

Hi Michael,

> On Feb 12, 2024, at 4:14 PM, Michael Albinus <michael.albinus@gmx.de> wrote:
> 
> Sean Devlin <spd@toadstyle.org <mailto:spd@toadstyle.org>> 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.

You’re correct, my mistake.

> 
>> 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?

Tramp-copy-format-file-name was just a proposal for how this feature might
work; it doesn’t exist in my own custom method spec.

The copy parameters for my method look like so:

(defconst tramp-mymethod
  '("mymethod"
    ...

    (tramp-copy-program “my-copy-program")
    (tramp-copy-args
     ((“-id" "%h")))))

Invocations of the copy program look like:

my-copy-program -id HOST SRC-FILE DEST-FILE

The HOST is not a DNS name in this case; instead, it’s an identifier for a sort of
abstract container.

For SRC-FILE and DEST-FILE, “remote” file paths just have a fixed prefix string,
i.e. it’s not dependent on the “host” name or the user.

So all I really need is a way to format “remote” file paths like:

(format "myprefix:%s" localname)

The current hack I use to implement this is to advise tramp-make-copy-file-name
as described in my other message.

Thanks for your help!

> 
>> Thanks!
> 
> Best regards, Michael.


[-- Attachment #2: Type: text/html, Size: 13458 bytes --]

  reply	other threads:[~2024-02-12 21:51 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-12 20:08 bug#69085: 29.2; Tramp: Extend tramp-make-copy-program-file-name via tramp-methods Sean Devlin
     [not found] ` <handler.69085.B.17077686248331.ack@debbugs.gnu.org>
2024-02-12 20:14   ` bug#69085: Acknowledgement (29.2; Tramp: Extend tramp-make-copy-program-file-name via tramp-methods) Sean Devlin
2024-02-12 21:16     ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-02-12 21:14 ` bug#69085: 29.2; Tramp: Extend tramp-make-copy-program-file-name via tramp-methods Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-02-12 21:51   ` Sean Devlin [this message]
2024-02-13 12:18     ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-02-13 20:18       ` Sean Devlin
2024-02-14  6:59         ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-02-15  0:57           ` Sean Devlin
2024-02-16 14:54             ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-02-16 17:51               ` Sean Devlin
2024-02-17 17:57                 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-02-19 19:19                   ` Sean Devlin
2024-02-20 12:04                     ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-02-20 16:15                       ` Sean Devlin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=76B2D222-939F-4096-AFA5-2B0AA92A9A03@toadstyle.org \
    --to=spd@toadstyle.org \
    --cc=69085@debbugs.gnu.org \
    --cc=michael.albinus@gmx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.