unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#51460: emacs-magit: path error during commit
@ 2021-10-28 14:24 Christopher Howard
  2022-02-26 22:54 ` Kyle Meyer
  2022-07-12 14:23 ` Maxim Cournoyer
  0 siblings, 2 replies; 4+ messages in thread
From: Christopher Howard @ 2021-10-28 14:24 UTC (permalink / raw)
  To: 51460

Hello, for a long time I've struggled with getting a path error when I
try to do a commit using emacs-magit. Here is an example log copied from
the magit-process buffer:

```
  0 git … add -u -- Genesis/gen_1.org
  1 git … commit --
hint: Waiting for your editor to close the file...
Waiting for Emacs...
*ERROR*: Searching for program: No such file or directory, git
error: There was a problem with the editor
'/gnu/store/dpky3z5844bclhswdk69z90vayy65b58-emacs-27.2/bin/emacsclient
--socket-name=/run/user/1000/emacs/server'.
Please supply the message using either -m or -F option.
```

I find this confusing because
- I can use magit to stage my commits
- In the Magit Group (M-x customize-group magit), the Magit Git
Executable is set to /home/christopher/.guix-profile/bin/git, and that
file does exist in my profile.
- /gnu/store/dpky3z5844bclhswdk69z90vayy65b58-emacs-27.2/bin/emacsclient 
also does exist
- Within emacs, I can run the shell command M-! git commit or M-! git
commit -m "..." and this works fine.

I suspect that emacs-magit might not be properly using the Magit Git
Executable path for this action, but haven't had a chance to look at the
source code yet. Probably this should be submitted as an issue or
support request to emacs-magit, but I have not done so since (on
principle) I do not have a github account, or use google groups.

Here is my system information;

```
christopher@nightshade ~$ neofetch --stdout
christopher@nightshade 
---------------------- 
OS: Guix System 9aaf402a379b9ac9e4c3eee5b16f7496d7606e91 x86_64 
Host: GA-880GM-UD2H 
Kernel: 5.14.9-gnu 
Uptime: 1 hour, 20 mins 
Packages: 61 (guix-system), 155 (guix-user) 
Shell: bash 5.0.16 
Resolution: 1920x1200 
DE: GNOME 3.34.5 
Theme: Adwaita [GTK2/3] 
Icons: Adwaita [GTK2/3] 
Terminal: .gnome-terminal 
CPU: AMD Athlon II X3 455 (3) @ 3.300GHz 
GPU: NVIDIA GeForce 8400 GS Rev. 3 
Memory: 1338MiB / 7893MiB 
```

-- 
Christopher Howard
Gemini capsule: gemini://gem.librehacker.com
Web version: https://portal.mozz.us/gemini/gem.librehacker.com






^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#51460: emacs-magit: path error during commit
  2021-10-28 14:24 bug#51460: emacs-magit: path error during commit Christopher Howard
@ 2022-02-26 22:54 ` Kyle Meyer
  2022-07-12 14:23 ` Maxim Cournoyer
  1 sibling, 0 replies; 4+ messages in thread
From: Kyle Meyer @ 2022-02-26 22:54 UTC (permalink / raw)
  To: Christopher Howard; +Cc: 51460

Hello,

I came across this bug report when searching for something else.  In
case it helps...

Christopher Howard writes:

> Hello, for a long time I've struggled with getting a path error when I
> try to do a commit using emacs-magit. Here is an example log copied from
> the magit-process buffer:
>
> ```
>   0 git … add -u -- Genesis/gen_1.org
>   1 git … commit --
> hint: Waiting for your editor to close the file...
> Waiting for Emacs...
> *ERROR*: Searching for program: No such file or directory, git
> error: There was a problem with the editor
> '/gnu/store/dpky3z5844bclhswdk69z90vayy65b58-emacs-27.2/bin/emacsclient
> --socket-name=/run/user/1000/emacs/server'.
> Please supply the message using either -m or -F option.
> ```

In Magit v3.3.0 and earlier, this error matches what you would see if
"git" isn't in $PATH for the editor that pops up.  This is true even
when magit-git-executable points to an executable.

In the development version of Magit, this should no longer happen as of
77255776 (git-commit: Use magit-git-executable function if available,
2022-02-21).  The issue that prompted that is
<https://github.com/magit/with-editor/issues/106>.  (I know that below
you say you don't use GitHub, but for others that may find that useful.)

(Based on what you say below, it sounds like "git" should be in $PATH,
so things aren't quite adding up still.)

> I find this confusing because
> - I can use magit to stage my commits
> - In the Magit Group (M-x customize-group magit), the Magit Git
> Executable is set to /home/christopher/.guix-profile/bin/git, and that
> file does exist in my profile.
> - /gnu/store/dpky3z5844bclhswdk69z90vayy65b58-emacs-27.2/bin/emacsclient 
> also does exist

Yes, staging and most of things in Magit respect magit-git-executable.
As I mention above and you suspect in the quoted text below, that value
wasn't consulted by the code path relevant for the error above (in
git-commit.el).

> - Within emacs, I can run the shell command M-! git commit or M-! git
> commit -m "..." and this works fine.

Hmm, so your main Emacs session has "git" on its exec-path.  Perhaps
there's something going on with the with-editor launched editor.  I'd
suggest looking at with-editor-debug and seeing if
/home/christopher/.guix-profile/bin is in the path it reports.

> I suspect that emacs-magit might not be properly using the Magit Git
> Executable path for this action, but haven't had a chance to look at the
> source code yet.

Yep, that's it, and, as I mentioned above, should be fixed by 77255776
(git-commit: Use magit-git-executable function if available,
2022-02-21).




^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#51460: emacs-magit: path error during commit
  2021-10-28 14:24 bug#51460: emacs-magit: path error during commit Christopher Howard
  2022-02-26 22:54 ` Kyle Meyer
@ 2022-07-12 14:23 ` Maxim Cournoyer
  2023-10-04  3:24   ` Maxim Cournoyer
  1 sibling, 1 reply; 4+ messages in thread
From: Maxim Cournoyer @ 2022-07-12 14:23 UTC (permalink / raw)
  To: Christopher Howard; +Cc: 51460

Hi Christopher,

Christopher Howard <christopher@librehacker.com> writes:

> Hello, for a long time I've struggled with getting a path error when I
> try to do a commit using emacs-magit. Here is an example log copied from
> the magit-process buffer:
>
> ```
>   0 git … add -u -- Genesis/gen_1.org
>   1 git … commit --
> hint: Waiting for your editor to close the file...
> Waiting for Emacs...
> *ERROR*: Searching for program: No such file or directory, git
> error: There was a problem with the editor
> '/gnu/store/dpky3z5844bclhswdk69z90vayy65b58-emacs-27.2/bin/emacsclient
> --socket-name=/run/user/1000/emacs/server'.
> Please supply the message using either -m or -F option.
> ```

One thing I can think about is that emacs-magit doesn't refer to git
directly:

$ guix gc -R /gnu/store/xd1bvmac1p4gjxb90m875r15xna52jyr-emacs-magit-3.3.0
/gnu/store/720rj90bch716isd8z7lcwrnvz28ap4y-bash-static-5.1.8
/gnu/store/vqdsrvs9jbn0ix2a58s99jwkh74124y5-coreutils-minimal-8.32
/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33
/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8
/gnu/store/094bbaq6glba86h1d4cj16xhdi6fk2jl-gcc-10.3.0-lib
/gnu/store/hy6abswwv4d89zp464fw52z65fkzr7h5-perl-5.34.0
/gnu/store/xd1bvmac1p4gjxb90m875r15xna52jyr-emacs-magit-3.3.0

So it needs to be on your PATH.  For me, the value returned by 'C-h v
magit-git-executable' is "git".  One thing we could do is patch the
default value of this Elisp variable in our emacs-magit package to git,
so that users wouldn't need installing git manually.

Thanks,

Maxim




^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#51460: emacs-magit: path error during commit
  2022-07-12 14:23 ` Maxim Cournoyer
@ 2023-10-04  3:24   ` Maxim Cournoyer
  0 siblings, 0 replies; 4+ messages in thread
From: Maxim Cournoyer @ 2023-10-04  3:24 UTC (permalink / raw)
  To: Christopher Howard; +Cc: 51460-done

Hi,

Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:

> Hi Christopher,
>
> Christopher Howard <christopher@librehacker.com> writes:
>
>> Hello, for a long time I've struggled with getting a path error when I
>> try to do a commit using emacs-magit. Here is an example log copied from
>> the magit-process buffer:
>>
>> ```
>>   0 git … add -u -- Genesis/gen_1.org
>>   1 git … commit --
>> hint: Waiting for your editor to close the file...
>> Waiting for Emacs...
>> *ERROR*: Searching for program: No such file or directory, git
>> error: There was a problem with the editor
>> '/gnu/store/dpky3z5844bclhswdk69z90vayy65b58-emacs-27.2/bin/emacsclient
>> --socket-name=/run/user/1000/emacs/server'.
>> Please supply the message using either -m or -F option.
>> ```
>
> One thing I can think about is that emacs-magit doesn't refer to git
> directly:
>
> $ guix gc -R /gnu/store/xd1bvmac1p4gjxb90m875r15xna52jyr-emacs-magit-3.3.0
> /gnu/store/720rj90bch716isd8z7lcwrnvz28ap4y-bash-static-5.1.8
> /gnu/store/vqdsrvs9jbn0ix2a58s99jwkh74124y5-coreutils-minimal-8.32
> /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33
> /gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8
> /gnu/store/094bbaq6glba86h1d4cj16xhdi6fk2jl-gcc-10.3.0-lib
> /gnu/store/hy6abswwv4d89zp464fw52z65fkzr7h5-perl-5.34.0
> /gnu/store/xd1bvmac1p4gjxb90m875r15xna52jyr-emacs-magit-3.3.0
>
> So it needs to be on your PATH.  For me, the value returned by 'C-h v
> magit-git-executable' is "git".  One thing we could do is patch the
> default value of this Elisp variable in our emacs-magit package to git,
> so that users wouldn't need installing git manually.

Commit b59b033af3957e0de9a44733e26cbcc7114a4dfb ("gnu: emacs-magit:
Substitute git executable path.") should prevent such a situation from
occurring.

-- 
Thanks,
Maxim




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-10-04  3:25 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-28 14:24 bug#51460: emacs-magit: path error during commit Christopher Howard
2022-02-26 22:54 ` Kyle Meyer
2022-07-12 14:23 ` Maxim Cournoyer
2023-10-04  3:24   ` Maxim Cournoyer

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.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).