From: Michael Albinus via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
To: "Jörg Sommer" <joerg@jo-so.de>
Cc: 74352@debbugs.gnu.org
Subject: bug#74352: 29.4; emerge-files with tramp + local file fails
Date: Sat, 16 Nov 2024 13:21:32 +0100 [thread overview]
Message-ID: <87ttc78j3n.fsf@gmx.de> (raw)
In-Reply-To: <w5zz6k6sizr36ypz4i74w2ynuujtda3oxkkhsykmllycgb4nkq@crohp7hnsmhb> ("Jörg Sommer"'s message of "Wed, 13 Nov 2024 20:11:10 +0100")
Jörg Sommer <joerg@jo-so.de> writes:
> Hi,
Hi Jörg,
> when running `emerge-files` with `/ssh:remote:file` and `~/local-file` I get
> the buffer `*emerge-diff-errors*` with:
>
> ```
> diff: /tmp/tramp.wlcRNL: No such file or directory
> diff: /home/joerg/local-file: No such file or directory
> ```
I can reproduce the problem if file-A is remote, and file-B is
local. Also, if both file-A and file-B are remote.
If both files are local, or file-A is local and file-B is remote, emerge
works as exptected.
The crucial point seems to be that file-A is a remote one.
> This change solves the problem:
>
> ```diff
> diff --git lisp/vc/emerge.el lisp/vc/emerge.el
> index ca48f2f3c7b..562041e4232 100644
> --- lisp/vc/emerge.el
> +++ lisp/vc/emerge.el
> @@ -581,6 +581,7 @@ emerge-make-diff-list
> (setq emerge-diff-buffer (get-buffer-create "*emerge-diff*"))
> (with-current-buffer
> emerge-diff-buffer
> + (setq default-directory (file-name-directory file-A))
> (erase-buffer)
> (shell-command
> (format "%s %s %s %s"
> ```
The point is, that emerge calls the 'diff' program for either the file
itself (if local), or a local copy of the file (if remote). A consistent
solution is therefore to set a local default directory, like
--8<---------------cut here---------------start------------->8---
(setq default-directory temporary-file-directory)
--8<---------------cut here---------------end--------------->8---
instead of your change. Would you like to check?
However, this won't be a complete solution. There are other places in
emerge.el, where the temporary buffer for calling 'diff' must have a
local default directory. I'm not an emerge aficionado (haven't used it
until now). Would you like to produce a complete patch, based on my
proposal above?
> Regards Jörg
Best regards, Michael.
next prev parent reply other threads:[~2024-11-16 12:21 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-13 19:11 bug#74352: 29.4; emerge-files with tramp + local file fails Jörg Sommer
2024-11-14 7:05 ` Eli Zaretskii
2024-11-14 17:27 ` Jörg Sommer
2024-11-14 8:10 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-16 12:21 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors [this message]
2024-11-17 10:10 ` Jörg Sommer
2024-11-17 10:32 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87ttc78j3n.fsf@gmx.de \
--to=bug-gnu-emacs@gnu.org \
--cc=74352@debbugs.gnu.org \
--cc=joerg@jo-so.de \
--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 public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).